機械学習は広く使用されており、チュートリアル、記事、オープンソース コードが至る所にあります。機械学習アルゴリズムを実際にうまく適用するには、そのアルゴリズムを少し理解するだけで十分な場合もあります。 しかし、機械学習はまだ非常に困難です。
機械学習の適切な実装には高度な数学的基礎は必要ないため、難しさは数学から生じるものではありません。困難は次のようなことから生じます: 1. どのような機械学習ツールを選択するか これには、各アルゴリズムとモデルの長所と短所を徹底的に理解することが必要であり、このスキルはこれらのモデルを学習することで習得できます (コース、チュートリアル、論文など)。もちろん、このような知識を構築することの難しさは、機械学習だけでなく、コンピュータサイエンスのあらゆる分野に存在します。 2. 機械学習はデバッグが難しい この困難は、次の 2 つの側面で現れます。 1) アルゴリズムが機能しない。 2) アルゴリズムは機能しますが、十分ではありません。 機械学習のユニークな特徴は、上記の問題の原因を見つけることが指数関数的に難しいことです。通常、機械学習アルゴリズムのデバッグには長い時間がかかります。多くのバグは少量のデータでは再現が難しく、反復の後の段階でのみ現れることがよくあります。最初の試行で成功するアルゴリズムはほとんどないため、モデルの調整に多くの時間がかかります。 デバッグが指数関数的に困難 標準的なソフトウェア エンジニアリングの用語では、ソリューションが期待どおりに機能しない場合、通常はアルゴリズムと実装の 2 つの点に問題があると考えられます。 次の単純な再帰アルゴリズムを例に挙げます。
アルゴリズムが期待どおりに動作しない場合は、失敗したケースをすべて列挙できます。この例のグリッド検索を下の図に示します。 横軸はアルゴリズムの設計で問題が発生する可能性があるケースを示し、縦軸はアルゴリズムの実装で問題が発生する可能性があるケースを示します。次のデバッグ プロセスは、コンパイラ エラー、プログラム出力、直感的な理解など、バグに関して収集したシグナルを組み合わせることです。これらのシグナルと事前の知識は、上記のグラフの剪定に役立ちます。 機械学習の分野では、実際に適用可能なモデルとデータという 2 つの追加の次元が存在します。これら 2 つの次元を説明する最も単純な例は、確率的勾配降下法 (SGD) を使用してロジスティック回帰 (LR) をトレーニングすることです。
デバッグ プロセスは、2 次元グリッドから 4 次元ハイパーキューブに拡張されました (わかりやすくするために、上の図では 3 つの次元のうち 3 つだけが表示されています)。4 番目のデータ次元は、次の 3 次元シーケンスとして視覚化できます (注: 正しいソリューションにはキューブが 1 つだけあります)。 指数関数的難易度のステートメントは、2D 空間では、可能性のある間違った方法の数が であるのに対し、4D 空間では であることを意味します。したがって、利用可能な情報に基づいて何が間違っていたかを分析する直感は、機械学習の基本的なスキルです。幸いなことに、トレーニング セットとテスト セットの損失分析、アプリケーション データの実際の出力、アルゴリズムの中間出力の統計分析など、機械学習アルゴリズムに関するさらに多くの情報が利用可能です。 遅延デバッグサイクル 機械学習のデバッグを困難にする 2 番目の要因は、デバッグ サイクルが非常に長いことです。潜在的なバグ修正を実装し、実際の出力を通じてそれが成功したかどうかを判断するには、通常、数十時間、場合によっては数日かかります。機械学習の分野では、特にディープラーニング モデルの場合、トレーニング セットの実行に長い時間がかかることから、自動更新は実用的ではないことがよくあります。デバッグ サイクルが長いため、機械学習では並列モードを採用せざるを得なくなり、ソフトウェア開発者が慣れていない命令の並列処理に触れる必要が生じます。 機械学習の最終的な目標は、多くの場合、直感を構築することです。つまり、既存の情報に基づいて、何が間違っていたのか、どのように改善すればよいのかを迅速に判断できるようになります。これは、機械学習プロジェクトの実践に参加し続けるにつれて蓄積される最も重要なスキルです。つまり、デバッグ領域で疑わしい問題といくつかの情報を関連付け始めます。 オリジナルの研究には、そのような例がたくさんあります。たとえば、ニューラル ネットワークをトレーニングするときに遭遇した初期の問題は、Loss 関数に定期的に反映されていました。Loss は減少するはずでしたが、毎回高い値に戻ってしまいました。実験を繰り返した後、最終的に、これはデータセットが適切にランダム化されていなかったためであることがわかりました。これは、小さなバッチ SGD を使用する場合の問題です。 つまり、高速かつ効果的なデバッグは、現代の機械学習に不可欠なスキルです。 |
>>: 機械学習がソーシャルメディアのプロフィールから明らかにする5つの秘密
「アルゴリズム」の問題について困惑している人から手紙を受け取りました:私はネットワーク専攻なのでソ...
ChatGPT ですら首をかしげたアルゴリズムの最適化は、北京大学のチームによって達成されました。...
近年、黄氏はグラフィックカードに加え、AIやロボットにもますます注目している。来月開催されるGTC ...
海外メディアの報道によると、 AdobeはPhotoshopにAIを搭載した空の置き換えツールを追加...
技術が急速に進歩する時代において、人工知能 (AI) が最終的に世界を支配するかどうかという差し迫っ...
「墜落」とは模型飛行機の用語です。簡単に言うと、模型飛行機が不適切な操作や機械の故障により異常に地...
[[258473]]最近、セキュリティ分野に注力する国内の人工知能企業で大規模なデータ漏洩事件が発生...
近年、人工知能技術はコンピューティング能力、ビッグデータ、アルゴリズムの飛躍的進歩により急速に発展し...
近年、人工知能は急速に発展しており、コンピュータービジョンや自然言語処理の分野で画期的な変化をもたら...
この記事を読むと、次のことがわかります。自然言語処理の分野に最も大きな影響を与えたニューラル ネット...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
ChatGPT ネットワーキング モードが正式に復活しました。そして、この波は有料ユーザーだけでなく...