ここ2年半ほど、仕事や旅行の合間を縫って Human-in-the-Loop Machine Learning という技術書を日本語に翻訳していたのだが、この本が本日ようやく出版される運びとなったので久々にブログを書く。 書籍のAmazonページはこちら。
なお、共同翻訳者のhurutoriyaさんがすでに詳細な翻訳体験記を書かれているので、興味のある方はそちらも参照していただければと思う。
書籍の内容について
Human-in-the-Loop(HITL)機械学習とは、機械学習モデルを構築するプロセスに人間が関与することでモデルの精度を向上させるアプローチのことであり、本書ではこのHITLにまつわる様々なトピックや技術を扱っている。 本書の目次を以下に示す。
【第I部 概要】
第1章 Human-in-the-Loop機械学習の概要
1.1 Human-in-the-Loop機械学習の基本原則
1.2 アノテーションとは?
1.3 能動学習の導入:学習データ作成の高速化とコスト削減
1.4 機械学習とヒューマン-コンピュータインタラクション
1.5 機械学習に支援される人間vs.人間に支援される機械学習
1.6 転移学習によってモデルを作成する
1.7 本書が解説する内容
まとめ
第2章 Human-in-the-Loop機械学習を始める
2.1 能動学習“もどき”を超えて:最初の能動学習アルゴリズム
2.2 最初のシステムのアーキテクチャ
2.3 能動学習を支援するために,モデルの予測値とデータを解釈する
2.4 効率的にラベル付けするためのインターフェースを構築する
2.5 最初のHuman-in-the-Loop機械学習システムをデプロイする
まとめ
【第II部 能動学習】
第3章 不確実性サンプリング
3.1 機械学習モデルの不確実性を解釈する
3.2 不確実性サンプリングのアルゴリズム
3.3 さまざまなモデルが混乱している部分を特定する
3.4 複数の予測を用いて不確実性を計算する
3.5 適切なアノテーション数を選択する
3.6 能動学習の評価方法
3.7 不確実性サンプリングのチートシート
3.8 関連文献
まとめ
第4章 多様性サンプリング
4.1 何を知らないかを知る:モデルの知識のギャップを特定する
4.2 モデルベースの外れ値サンプリング
4.3 クラスタベースのサンプリング
4.4 代表点サンプリング
4.5 実世界の多様性を考慮したサンプリング
4.6 さまざまなモデルにおける多様性サンプリング
4.7 多様性サンプリングのチートシート
4.8 関連文献
まとめ
第5章 高度な能動学習
5.1 不確実性サンプリングと多様性サンプリングの組み合わせ
5.2 能動的転移学習のための不確実性サンプリング
5.3 代表点サンプリングに能動的転移学習を適用する
5.4 適応型サンプリングの能動的転移学習
5.5 高度な能動学習のチートシート
5.6 関連文献
まとめ
第6章 能動学習をさまざまな機械学習タスクに適用する
6.1 能動学習を物体検出に応用する
6.2 能動学習をセマンティックセグメンテーションに応用する
6.3 能動学習を系列ラベリングに応用する
6.4 能動学習を言語生成に応用する
6.5 能動学習を他の機械学習タスクに応用する
6.6 アノテーションに適したデータ件数を決定する
6.7 関連文献
まとめ
【第III部 アノテーション】
第7章 アノテーターとの協働
7.1 アノテーションとは?
7.2 社内ワーカー
7.3 アウトソーシングワーカー
7.4 クラウドワーカー
7.5 その他のワーカー
7.6 必要なアノテーション量を見積もる
まとめ
第8章 アノテーションの品質管理
8.1 アノテーションと真値を比較する
8.2 アノテーター間の一致度
8.3 複数のアノテーション結果の集約により学習データを作成する
8.4 専門家のレビューによる品質管理
8.5 複数ステップのワークフローとレビュータスク
8.6 関連文献
まとめ
第9章 高度なアノテーションとデータ拡張
9.1 主観的なタスクのためのアノテーション品質
9.2 機械学習によるアノテーションの品質管理
9.3 モデルの予測をアノテーションとして活用する
9.4 埋め込み表現と文脈を考慮した埋め込み表現
9.5 検索ベースシステムとルールベースシステム
9.6 教師なしモデルを用いた弱教師あり学習
9.7 合成データ,データ作成,データ拡張
9.8 機械学習モデルでアノテーション情報を活用する
9.9 関連文献
まとめ
第10章 さまざまな機械学習タスクにおけるアノテーション品質
10.1 連続値を扱うタスクにおけるアノテーション品質
10.2 物体検出におけるアノテーション品質
10.3 セマンティックセグメンテーションにおけるアノテーション品質
10.4 系列ラベリングにおけるアノテーション品質
10.5 言語生成におけるアノテーション品質
10.6 その他の機械学習タスクにおけるアノテーション品質
10.7 関連文献
まとめ
【第IV部 機械学習のためのヒューマン-コンピュータインタラクション】
第11章 データアノテーションのためのインターフェース
11.1 ヒューマン-コンピュータインタラクションの基本原理
11.2 効果的な慣例の破り方
11.3 アノテーションインターフェースにおけるプライミング効果
11.4 人間と機械の知能を融合する
11.5 人間の知性を最大限に引き出すスマートインターフェース
11.6 人間の作業を支援する機械学習
11.7 関連文献
まとめ
第12章 Human-in-the-Loop機械学習を組み込んだアプリケーション
12.1 Human-in-the-Loop機械学習プロダクトを定義する
12.2 例1:ニュースの見出しの探索的データ分析
12.3 例2:食品衛生に関する事件のデータ収集
12.4 例3:画像中の自転車の識別
12.5 関連文献
まとめ
付録A 機械学習のおさらい
A.1 モデルの予測を解釈する
A.2 ソフトマックス関数を理解する
A.3 Human-in-the-Loop機械学習システムの性能測定
索引
昨今ではData Centric AIという言葉も流行しているが、HITLも考え方としては近しいものがある。機械学習関連の書籍や論文はアルゴリズムに焦点を当てたものが多いが、実務においてパフォーマンスを出すためにはアルゴリズムだけではなく質の良いデータを作成することも重要であり、本書でも機械学習におけるデータ作成に関連した様々トピックを取り扱っている。
本書は2021年6月に英語版の原著が出版されており、上述の目次を見ればわかる通り、昨今の生成AIに関する話題については焦点を当てていない。 とはいえ、2023年現在において本書が役に立たないというわけでは全くない。 アノテーションや学習データ作成に関連するプロセスの一部をLLM等の生成AIが担えるようになりつつあるが、代替できるのはあくまでデータ作成全体の一部のプロセスに留まる。例えば、評価データをどのように形成すべきか・サンプリング戦略をどのように設計すべきかといったトピックは、機械学習プロジェクトを推進していく上で重要である一方、これらの設計を生成AIが代替できるわけではない。また、人間によるアノテーションが必要なプロジェクトにおいては、アノテーターのマネジメントやアノテーションの品質管理といったトピックも依然として重要である。
生成AIが流行している現代においても、実務で機械学習に取り組まれる方には一読の価値ある一冊になっていると思われるので、興味のある方はぜひ手にとってみていただきたい。
翻訳に関する所感と謝辞
まず、今日無事に出版までこぎつけることができて本当に良かった。 書籍の翻訳というのは思っていた以上に大変な作業で、本書のボリュームが多いというのもあるが、企画から出版まで2年半もかかってしまった。
hurutoriyaさんのブログによると彼は合計で325時間をこのプロジェクトに費やしていたとの記載があり、恐らく私も同程度の時間を費やしていると思われる。
本業(仕事や旅行)がある中で、出版をしなくても特に食うに困るわけでもない書籍翻訳プロジェクトに対してそれだけの時間を投じるというのは意志が弱い人間には中々難しく、編集や共同翻訳者の方々チームで翻訳していなければ未だに出版に至っていなかったと思う。 企画から出版まで、辛抱強く付き合ってくださった編集の山内さん、共同翻訳者の上田さんと伊藤さんには本当に感謝の言葉しかない。2年半、本当にありがとうございました!
また、翻訳に際してはレビュワーの方々にも大変お世話になった。書籍翻訳のレビューというのは本当に大変な作業で、通常の技術書のレビューであれば内容が妥当であるか・日本語の文章として問題ないかを確認すればよいが、翻訳の場合はこれに加えて原文と乖離した内容になっていないかを確認する必要があり、その分労力も増える。 にもかかわらず、レビュワーの皆様には本当に丁寧にコメントをいただき、レビューを経て本書の内容を大きくブラッシュアップすることができた。レビュワーの皆様にも、この場で改めて御礼を申し上げたい。貴重なお時間をレビューに割いていただき、ありがとうございました!
書籍翻訳の詳細な体験記についてはまた気が向いたら書こうと思うが、今回の記事はこれで終わりにしようと思う。本書が、少しでも業務で機械学習に取り組まれている方々の役に立てば幸いである。