人間中心の使いやすい機械学習フレームワークの設計(1/2)

入門/解説

1.人間中心の使いやすい機械学習フレームワークの設計(1/2)まとめ

・モデルの振る舞いをAPIに抽象化することで機械学習を学びやすくする多くの努力が行われている
・非MLソフトウェア開発者がMLを日常業務に使うために必要なものについては調査されていない
・開発者がMLフレームワークを使用するときに経験するハードルと必要とされているものを調査した

2.入門者にとって使いやすい機械学習フレームワークとは?

以下、ai.googleblog.comより「Toward Human-Centered Design for ML Frameworks」の意訳です。元記事の投稿は2020年3月3日、Carrie J. CaiさんとPhilip J. Guoさんによる投稿です。PAIRのお話と思いますが、こういう一見地味な研究にも力を入れる事が出来るのがGoogleの強さなのだろうな、と思います。人間中心=使いやすい=リラックスの連想ゲームで非常に気持ちよさそうな温泉シーンのアイキャッチ画像のクレジットはPhoto by Robson Hatsukami Morgan on Unsplash。ちなみにカリフォルニア州のMammoth Lakesという場所だそうです。いつか行きたい。

機械学習(ML)が多様な利害関係者や社会グループにますます影響を与えているため、順序立てて機械学習を学んでいない開発者も含め、より広範な開発者がMLを彼等自身の問題に適応できるようになる事が必要になっています。

近年、複雑なモデルの振る舞いを高レベルのAPIに抽象化することにより、機械学習を学ぶ際の障壁を下げる多くの努力がなされてきました。

例えば、GoogleはTensorFlow.jsを開発してきました。これは、開発者がJavaScriptでMLコードを記述してWebブラウザで直接実行できるようにするオープンソースフレームワークです。

APIの改善に向けた豊富なエンジニアリング作業にもかかわらず、非MLソフトウェア開発者がMLを日常業務にうまく採用するために実際に必要なものについてはほとんど知られていません。

具体的には「最新のMLフレームワークを試す際に彼らは何に苦労していますか?」
そして「彼らはこれらのフレームワークに何を提供して欲しいのでしょうか?」

論文「Software Developers Learning Machine Learning: Motivations, Hurdles, and Desires」は、IEEEのカンファレンスVL/HCC(Visual Languages and Human-Centric Computing:ビジュアル言語および人間中心コンピューティング会議)でBest Paper Awardを受賞しました。

本論文の中で私達はこれらの質問に関する調査を共有し、TensorFlow.jsを使用した645人の開発者に関する大規模調査の結果を報告しました。

回答者の大半はソフトウェア開発者またはWeb開発者であり、機械学習は彼らにとって新しい技術で、通常は主要な業務の一部としてMLを使用していません。開発者がMLフレームワークを使用するときに経験するハードルを調べ、これらのフレームワークをプログラミングワークフローに採用するのに最も役立つと思われる機能とツールを調査しました。

開発者がMLフレームワークを使用するときに最も苦労するものは何ですか?
興味深いことに、開発者によって報告された最も一般的な課題は、明確なAPIの欠如ではなく、MLの概念的な理解の欠如であり、これがMLフレームワークを使いこなす事を妨げていました。

これらのハードルは、TensorFlow.jsを適用できる適切な問題を選択する初期段階から始まっていました。

調査の回答者は、以下のような問題を述べました。
例:「MLを何に適用するべきか、MLが適している場所、逆に適していない場所は何処か知らない」

更に、ニューラルネットのアーキテクチャを作成についてのハードルがありました。
例:「モデルにレイヤーを追加するときにユニットは幾つにするべきですか?」

そして、モデルのトレーニング中にパラメーターを設定および調整する方法についてでした。
例:「どのようにして使用するオプティマイザー、損失関数を決定すれば良いですか?」

十分な概念的サポートがなければ、開発者は、「hello world」APIチュートリアルから学んだ教訓を自分たちの現実の問題に適用するのも難しいと感じました。

APIチュートリアルは、特定のモデル(MNIST数字の分類など)を実装するための構文を提供しますが、通常、その特定の問題を超えて一般化するために必要な基本的な足場となる概念を提供しません。

開発者は多くの場合、これらの課題は高度な数学の経験不足に起因すると考えています。

皮肉なことに、今日ではMLフレームワークに取り組んでいる機械学習の非専門家が沢山いるにもかかわらず、MLフレームワークは線形代数や微積分に関する高度なトレーニングを受けたスペシャリストである事を前提としており、従って、一般的なソフトウェア開発者やプロダクトマネージャーを対象としていません 。

この見せかけの対象読者詐称シンドロームは、APIドキュメント内に難解な数学用語が頻出する事によって促進される可能性があり、MLをソフトウェアプロジェクトに実際に統合するためにも高度な数学が必要であるという印象を意図せずに与える可能性があります。数学のトレーニングは確かに有益ですが、実用的な概念(モデルの学習率など)を把握して実際の問題に適用する能力は、高度な数学の学位を必要としません。

3.人間中心の使いやすい機械学習フレームワークの設計(1/2)関連リンク

1)ai.googleblog.com
Toward Human-Centered Design for ML Frameworks

2)drive.google.com
Software Developers Learning Machine Learning:Motivations, Hurdles, and Desires(PDF)

3)whimsysoul.com
Mammoth Lakes Hot Springs (Complete Guide + Map!)

コメント

タイトルとURLをコピーしました