機械学習は広く使用されており、チュートリアル、記事、オープンソース コードが至る所にあります。機械学習アルゴリズムを実際にうまく適用するには、そのアルゴリズムを少し理解するだけで十分な場合もあります。 しかし、機械学習はまだ非常に困難です。
機械学習の適切な実装には高度な数学的基礎は必要ないため、難しさは数学から生じるものではありません。困難は次のようなことから生じます: 1. どのような機械学習ツールを選択するか これには、各アルゴリズムとモデルの長所と短所を徹底的に理解することが必要であり、このスキルはこれらのモデルを学習することで習得できます (コース、チュートリアル、論文など)。もちろん、このような知識を構築することの難しさは、機械学習だけでなく、コンピュータサイエンスのあらゆる分野に存在します。 2. 機械学習はデバッグが難しい この困難は、次の 2 つの側面で現れます。 1) アルゴリズムが機能しない。 2) アルゴリズムは機能しますが、十分ではありません。 機械学習のユニークな特徴は、上記の問題の原因を見つけることが指数関数的に難しいことです。通常、機械学習アルゴリズムのデバッグには長い時間がかかります。多くのバグは少量のデータでは再現が難しく、反復の後の段階でのみ現れることがよくあります。最初の試行で成功するアルゴリズムはほとんどないため、モデルの調整に多くの時間がかかります。 デバッグが指数関数的に困難 標準的なソフトウェア エンジニアリングの用語では、ソリューションが期待どおりに機能しない場合、通常はアルゴリズムと実装の 2 つの点に問題があると考えられます。 次の単純な再帰アルゴリズムを例に挙げます。
アルゴリズムが期待どおりに動作しない場合は、失敗したケースをすべて列挙できます。この例のグリッド検索を下の図に示します。 横軸はアルゴリズムの設計で問題が発生する可能性があるケースを示し、縦軸はアルゴリズムの実装で問題が発生する可能性があるケースを示します。次のデバッグ プロセスは、コンパイラ エラー、プログラム出力、直感的な理解など、バグに関して収集したシグナルを組み合わせることです。これらのシグナルと事前の知識は、上記のグラフの剪定に役立ちます。 機械学習の分野では、実際に適用可能なモデルとデータという 2 つの追加の次元が存在します。これら 2 つの次元を説明する最も単純な例は、確率的勾配降下法 (SGD) を使用してロジスティック回帰 (LR) をトレーニングすることです。
デバッグ プロセスは、2 次元グリッドから 4 次元ハイパーキューブに拡張されました (わかりやすくするために、上の図では 3 つの次元のうち 3 つだけが表示されています)。4 番目のデータ次元は、次の 3 次元シーケンスとして視覚化できます (注: 正しいソリューションにはキューブが 1 つだけあります)。 指数関数的難易度のステートメントは、2D 空間では、可能性のある間違った方法の数が であるのに対し、4D 空間では であることを意味します。したがって、利用可能な情報に基づいて何が間違っていたかを分析する直感は、機械学習の基本的なスキルです。幸いなことに、トレーニング セットとテスト セットの損失分析、アプリケーション データの実際の出力、アルゴリズムの中間出力の統計分析など、機械学習アルゴリズムに関するさらに多くの情報が利用可能です。 遅延デバッグサイクル 機械学習のデバッグを困難にする 2 番目の要因は、デバッグ サイクルが非常に長いことです。潜在的なバグ修正を実装し、実際の出力を通じてそれが成功したかどうかを判断するには、通常、数十時間、場合によっては数日かかります。機械学習の分野では、特にディープラーニング モデルの場合、トレーニング セットの実行に長い時間がかかることから、自動更新は実用的ではないことがよくあります。デバッグ サイクルが長いため、機械学習では並列モードを採用せざるを得なくなり、ソフトウェア開発者が慣れていない命令の並列処理に触れる必要が生じます。 機械学習の最終的な目標は、多くの場合、直感を構築することです。つまり、既存の情報に基づいて、何が間違っていたのか、どのように改善すればよいのかを迅速に判断できるようになります。これは、機械学習プロジェクトの実践に参加し続けるにつれて蓄積される最も重要なスキルです。つまり、デバッグ領域で疑わしい問題といくつかの情報を関連付け始めます。 オリジナルの研究には、そのような例がたくさんあります。たとえば、ニューラル ネットワークをトレーニングするときに遭遇した初期の問題は、Loss 関数に定期的に反映されていました。Loss は減少するはずでしたが、毎回高い値に戻ってしまいました。実験を繰り返した後、最終的に、これはデータセットが適切にランダム化されていなかったためであることがわかりました。これは、小さなバッチ SGD を使用する場合の問題です。 つまり、高速かつ効果的なデバッグは、現代の機械学習に不可欠なスキルです。 |
>>: 機械学習がソーシャルメディアのプロフィールから明らかにする5つの秘密
人工知能の発展に伴い、ロボット教育は全国の運転訓練業界で徐々に登場してきました。新しい時代の要求に適...
[[185884]]飼い犬用のロボットを設計した人や、独身者向けのバーチャルガールフレンドを作った人...
過去数か月間にネットユーザーを最も怖がらせたものは何かと問われれば、それは以下のウイルス攻撃だろう。...
人間のようになることが AI 開発の究極の目標のようです。しかし、周知のとおり、人間には知恵と愚かさ...
IT Homeは1月10日、ChatGPTの開発元であるOpenAIが最近、ChatGPTのようなA...
人工知能とモノのインターネットは、ビジネスの運営方法に革命をもたらしています。一方、AI は、リアル...
独自のコードを書くことができるマシンを構築することは、コンピューターサイエンスと人工知能の先駆者たち...
大規模言語モデル(ChatGPT や GPT-4 など)に関する最近の評価作業は、主に基本的な自然言...