機械学習による実用アプリケーション構築③ 第2章 計画の作成②

機械学習による実用アプリケーション構築では、 StackOver FlowなどのQAサイトに投稿する質問文を入力に対して より解答を得られる質問文を生成するシステム(MLエディタ)を例にして、MLプロジェクトの進め方を説明

2.3 MLエディタの計画

2.3.1 エディタの初期計画

まず、ヒューリスティックを実装することから始める。(機械学習を用いずに人手でやるとしたら) 完璧なデータセットは質問とその品質の評価。まずは類似したデータセットからより簡単に見つけられるものを探す。 QAコミュニティのひとつであるStackExchangeは匿名化されたデータダンプもあるため、最適。 これを利用して、初期モデルを構築し、質問から質問の賛成スコアを予測するモデルを作れる。 また、データセットを調べることでラベル付けのパターンも見つけられる。 テキスト分類のための多くのオープンソースモデルが存在する。⇒ https://oreil.ly/y6Qdp

2.3.2 常にシンプルなモデルから始める

完璧なモデルを最初にゼロから作るのはお勧めしない。 ⇒なぜなら、MLシステムは反復プロセスでモデルがなぜ失敗したかから掘り下げていくのが最も早く進歩する方法だから。  最初から複雑なモデルで始めるとそれが見えにくい。 モデルが失敗するのが速ければ速いほど反復のサイクルが早くなるからいい ⇒ 3部で説明

特定のモデリングアプローチがどの程度成功するかを事前に知ることは困難 ⇒ 着実に進めるためのヒントを次以降で示す。

2.4 定常的な進歩のために:シンプルに始める

多くのMLプロジェクトは初期のデータ収集とモデル構築の計画に依存して、定期的に更新を掛けていないので失敗する。 要件に対応できる最もシンプルなモデルから初めてEtoEのプロトタイプを構築して製品目標の観点から パフォーマンスを判断することが重要。

2.4.1 シンプルなパイプラインから始める

最初のデータセットで単純なモデルのパフォーマンスを確認することが取り組むべき作業を決定する最良の方法。 そのためにはデータを取り込んで結果を返すパイプラインを構築する必要がある。 ML問題では学習と推論の独立した2つのパイプラインが存在する。

f:id:gramp:20210604010027p:plain

このパイプラインは各ステップでモデルにより色々な懸念事項を考慮して作られるが全体的な構造には 基本的にあまり大きな違いが生じない。そのため、パイプラインを最初にEtoEで作成することに価値がある。

パイプライン構造には大きな違いはないが、データセットの構造によって機能自体に共通点がないことはよくある。

2.4.2 MLエディタのパイプライン

省略

2.5 まとめ

省略

<まとめ元:オライリー機械学習による実用アプリケーション構築>