機械学習は広く使用されており、チュートリアル、記事、オープンソース コードが至る所にあります。機械学習アルゴリズムを実際にうまく適用するには、そのアルゴリズムを少し理解するだけで十分な場合もあります。 しかし、機械学習はまだ非常に困難です。
機械学習の適切な実装には高度な数学的基礎は必要ないため、難しさは数学から生じるものではありません。困難は次のようなことから生じます: 1. どのような機械学習ツールを選択するか これには、各アルゴリズムとモデルの長所と短所を徹底的に理解することが必要であり、このスキルはこれらのモデルを学習することで習得できます (コース、チュートリアル、論文など)。もちろん、このような知識を構築することの難しさは、機械学習だけでなく、コンピュータサイエンスのあらゆる分野に存在します。 2. 機械学習はデバッグが難しい この困難は、次の 2 つの側面で現れます。 1) アルゴリズムが機能しない。 2) アルゴリズムは機能しますが、十分ではありません。 機械学習のユニークな特徴は、上記の問題の原因を見つけることが指数関数的に難しいことです。通常、機械学習アルゴリズムのデバッグには長い時間がかかります。多くのバグは少量のデータでは再現が難しく、反復の後の段階でのみ現れることがよくあります。最初の試行で成功するアルゴリズムはほとんどないため、モデルの調整に多くの時間がかかります。 デバッグが指数関数的に困難 標準的なソフトウェア エンジニアリングの用語では、ソリューションが期待どおりに機能しない場合、通常はアルゴリズムと実装の 2 つの点に問題があると考えられます。 次の単純な再帰アルゴリズムを例に挙げます。
アルゴリズムが期待どおりに動作しない場合は、失敗したケースをすべて列挙できます。この例のグリッド検索を下の図に示します。 横軸はアルゴリズムの設計で問題が発生する可能性があるケースを示し、縦軸はアルゴリズムの実装で問題が発生する可能性があるケースを示します。次のデバッグ プロセスは、コンパイラ エラー、プログラム出力、直感的な理解など、バグに関して収集したシグナルを組み合わせることです。これらのシグナルと事前の知識は、上記のグラフの剪定に役立ちます。 機械学習の分野では、実際に適用可能なモデルとデータという 2 つの追加の次元が存在します。これら 2 つの次元を説明する最も単純な例は、確率的勾配降下法 (SGD) を使用してロジスティック回帰 (LR) をトレーニングすることです。
デバッグ プロセスは、2 次元グリッドから 4 次元ハイパーキューブに拡張されました (わかりやすくするために、上の図では 3 つの次元のうち 3 つだけが表示されています)。4 番目のデータ次元は、次の 3 次元シーケンスとして視覚化できます (注: 正しいソリューションにはキューブが 1 つだけあります)。 指数関数的難易度のステートメントは、2D 空間では、可能性のある間違った方法の数が であるのに対し、4D 空間では であることを意味します。したがって、利用可能な情報に基づいて何が間違っていたかを分析する直感は、機械学習の基本的なスキルです。幸いなことに、トレーニング セットとテスト セットの損失分析、アプリケーション データの実際の出力、アルゴリズムの中間出力の統計分析など、機械学習アルゴリズムに関するさらに多くの情報が利用可能です。 遅延デバッグサイクル 機械学習のデバッグを困難にする 2 番目の要因は、デバッグ サイクルが非常に長いことです。潜在的なバグ修正を実装し、実際の出力を通じてそれが成功したかどうかを判断するには、通常、数十時間、場合によっては数日かかります。機械学習の分野では、特にディープラーニング モデルの場合、トレーニング セットの実行に長い時間がかかることから、自動更新は実用的ではないことがよくあります。デバッグ サイクルが長いため、機械学習では並列モードを採用せざるを得なくなり、ソフトウェア開発者が慣れていない命令の並列処理に触れる必要が生じます。 機械学習の最終的な目標は、多くの場合、直感を構築することです。つまり、既存の情報に基づいて、何が間違っていたのか、どのように改善すればよいのかを迅速に判断できるようになります。これは、機械学習プロジェクトの実践に参加し続けるにつれて蓄積される最も重要なスキルです。つまり、デバッグ領域で疑わしい問題といくつかの情報を関連付け始めます。 オリジナルの研究には、そのような例がたくさんあります。たとえば、ニューラル ネットワークをトレーニングするときに遭遇した初期の問題は、Loss 関数に定期的に反映されていました。Loss は減少するはずでしたが、毎回高い値に戻ってしまいました。実験を繰り返した後、最終的に、これはデータセットが適切にランダム化されていなかったためであることがわかりました。これは、小さなバッチ SGD を使用する場合の問題です。 つまり、高速かつ効果的なデバッグは、現代の機械学習に不可欠なスキルです。 |
>>: 機械学習がソーシャルメディアのプロフィールから明らかにする5つの秘密
この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...
世界は、スーパーヒーローのマントを身につけていない強力な世界的勢力のような人工知能 (AI) が支配...
事情に詳しい関係者によると、10月28日、Googleはこれまでの投資に加え、OpenAIの競合企業...
[[248236]]皆さんは、イ・セドルと柯潔を破った Google の「Alpha Go」をまだ覚...
[51CTO.com からのオリジナル記事] テクノロジーが国の基盤であるならば、人工知能は将来の技...
[[412196]]トランスフォーマーはさまざまな自然言語タスクに急速な進歩をもたらし、最近ではコ...
米国の人工知能スタートアップOpenAIのサム・アルトマンCEOは現地時間1月17日火曜日、人間のレ...
[[202148]]レベル2初心者になる仕事で機械学習の実際の応用に遭遇したのはこれが初めてでした。...
この熱光起電力セルは、太陽電池パネルに似ており、白熱熱源から高エネルギー光子を受動的に捕捉し、電気に...
序文現在インターンシップをしており、仕事量はそれほど多くないので、空き時間を利用してPATのウェブサ...
ロボティック・プロセス・オートメーション (RPA) は、単調で反復的なタスクを排除するのでしょうか...
新型コロナウイルス感染症のパンデミックは、がんとの戦いにおいて医療界に重要な教訓を浮き彫りにした。そ...
クラウド コンピューティング サービス チームに機械学習機能を備えたシステムを提供することは間違いで...