機械学習が難しいのはなぜでしょうか?

機械学習が難しいのはなぜでしょうか?

[[187791]]

機械学習は広く使用されており、チュートリアル、記事、オープンソース コードが至る所にあります。機械学習アルゴリズムを実際にうまく適用するには、そのアルゴリズムを少し理解するだけで十分な場合もあります。

しかし、機械学習はまだ非常に困難です。

  • 機械学習研究の進歩を推進する科学は本質的に困難であり、革新、実験、粘り強さを必要とします。
  • 既知の機械学習モデルを実際の作業に適用することも困難です。
  • 市場における機械学習エンジニアの費用も、通常のソフトウェアエンジニアよりも高額です。

機械学習の適切な実装には高度な数学的基礎は必要ないため、難しさは数学から生じるものではありません。困難は次のようなことから生じます:

1. どのような機械学習ツールを選択するか

これには、各アルゴリズムとモデルの長所と短所を徹底的に理解することが必要であり、このスキルはこれらのモデルを学習することで習得できます (コース、チュートリアル、論文など)。もちろん、このような知識を構築することの難しさは、機械学習だけでなく、コンピュータサイエンスのあらゆる分野に存在します。

2. 機械学習はデバッグが難しい

この困難は、次の 2 つの側面で現れます。

1) アルゴリズムが機能しない。

2) アルゴリズムは機能しますが、十分ではありません。

機械学習のユニークな特徴は、上記の問題の原因を見つけることが指数関数的に難しいことです。通常、機械学習アルゴリズムのデバッグには長い時間がかかります。多くのバグは少量のデータでは再現が難しく、反復の後の段階でのみ現れることがよくあります。最初の試行で成功するアルゴリズムはほとんどないため、モデルの調整に多くの時間がかかります。

デバッグが指数関数的に困難

標準的なソフトウェア エンジニアリングの用語では、ソリューションが期待どおりに機能しない場合、通常はアルゴリズムと実装の 2 つの点に問題があると考えられます。

次の単純な再帰アルゴリズムを例に挙げます。

  1. def recursion(入力):
  2. 入力endCaseの場合:
  3. 変換を返す(入力)
  4. それ以外
  5. 再帰を返す(変換(入力))

アルゴリズムが期待どおりに動作しない場合は、失敗したケースをすべて列挙できます。この例のグリッド検索を下の図に示します。

横軸はアルゴリズムの設計で問題が発生する可能性があるケースを示し、縦軸はアルゴリズムの実装で問題が発生する可能性があるケースを示します。次のデバッグ プロセスは、コンパイラ エラー、プログラム出力、直感的な理解など、バグに関して収集したシグナルを組み合わせることです。これらのシグナルと事前の知識は、上記のグラフの剪定に役立ちます。

機械学習の分野では、実際に適用可能なモデルとデータという 2 つの追加の次元が存在します。これら 2 つの次元を説明する最も単純な例は、確率的勾配降下法 (SGD) を使用してロジスティック回帰 (LR) をトレーニングすることです。

  1. アルゴリズムの正確さには、勾配降下法の更新方程式が含まれます。
  2. 実装の正確さには、機能とパラメータの更新の正しい計算が含まれます。
  3. データ内のバグには、ノイズの多い注釈、前処理のエラー、適切な機能の選択の不備、データが不十分であることなどがあります。
  4. モデルのバグは、モデルの記述能力が不十分であることに起因している可能性があります。たとえば、非線形の問題に対処するために線形分類器を選択した場合などです。

デバッグ プロセスは、2 次元グリッドから 4 次元ハイパーキューブに拡張されました (わかりやすくするために、上の図では 3 つの次元のうち 3 つだけが表示されています)。4 番目のデータ次元は、次の 3 次元シーケンスとして視覚化できます (注: 正しいソリューションにはキューブが 1 つだけあります)。

指数関数的難易度のステートメントは、2D 空間では、可能性のある間違った方法の数が であるのに対し、4D 空間では であることを意味します。したがって、利用可能な情報に基づいて何が間違っていたかを分析する直感は、機械学習の基本的なスキルです。幸いなことに、トレーニング セットとテスト セットの損失分析、アプリケーション データの実際の出力、アルゴリズムの中間出力の統計分析など、機械学習アルゴリズムに関するさらに多くの情報が利用可能です。

遅延デバッグサイクル

機械学習のデバッグを困難にする 2 番目の要因は、デバッグ サイクルが非常に長いことです。潜在的なバグ修正を実装し、実際の出力を通じてそれが成功したかどうかを判断するには、通常、数十時間、場合によっては数日かかります。機械学習の分野では、特にディープラーニング モデルの場合、トレーニング セットの実行に長い時間がかかることから、自動更新は実用的ではないことがよくあります。デバッグ サイクルが長いため、機械学習では並列モードを採用せざるを得なくなり、ソフトウェア開発者が慣れていない命令の並列処理に触れる必要が生じます。

機械学習の最終的な目標は、多くの場合、直感を構築することです。つまり、既存の情報に基づいて、何が間違っていたのか、どのように改善すればよいのかを迅速に判断できるようになります。これは、機械学習プロジェクトの実践に参加し続けるにつれて蓄積される最も重要なスキルです。つまり、デバッグ領域で疑わしい問題といくつかの情報を関連付け始めます。

オリジナルの研究には、そのような例がたくさんあります。たとえば、ニューラル ネットワークをトレーニングするときに遭遇した初期の問題は、Loss 関数に定期的に反映されていました。Loss は減少するはずでしたが、毎回高い値に戻ってしまいました。実験を繰り返した後、最終的に、これはデータセットが適切にランダム化されていなかったためであることがわかりました。これは、小さなバッチ SGD を使用する場合の問題です。

つまり、高速かつ効果的なデバッグは、現代の機械学習に不可欠なスキルです。

<<:  スマートカーのブラックテクノロジーとは何ですか?

>>:  機械学習がソーシャルメディアのプロフィールから明らかにする5つの秘密

ブログ    

推薦する

「アルゴリズム」の混乱にどう向き合うか?

「アルゴリズム」の問題について困惑している人から手紙を受け取りました:私はネットワーク専攻なのでソ...

北京大学のチームは、ChatGPTにとって頭痛の種であったアルゴリズムの最適化を解決し、普通のラップトップでも実行できるようにした。

ChatGPT ですら首をかしげたアルゴリズムの最適化は、北京大学のチームによって達成されました。...

Nvidia は、実物大、数千ポンドを持ち上げることができるロボットなど 6 台のロボットを披露します...

近年、黄氏はグラフィックカードに加え、AIやロボットにもますます注目している。来月開催されるGTC ...

Photoshop の新しい AI 機能により、数回クリックするだけで空を置き換えることができます

海外メディアの報道によると、 AdobeはPhotoshopにAIを搭載した空の置き換えツールを追加...

...

人工知能は世界を支配するのでしょうか?

技術が急速に進歩する時代において、人工知能 (AI) が最終的に世界を支配するかどうかという差し迫っ...

...

ドローンの墜落を防ぐにはどうすればいいですか?

「墜落」とは模型飛行機の用語です。簡単に言うと、模型飛行機が不適切な操作や機械の故障により異常に地...

人工知能企業が大規模なデータ漏洩事件に見舞われ、250万人以上のデータが流出

[[258473]]最近、セキュリティ分野に注力する国内の人工知能企業で大規模なデータ漏洩事件が発生...

人工知能の時代:どの業界が大きな変化を遂げているのでしょうか?

近年、人工知能技術はコンピューティング能力、ビッグデータ、アルゴリズムの飛躍的進歩により急速に発展し...

確かな情報です! AIテクノロジーアーキテクチャソリューションの実現可能性を判断するのに役立つ3つの重要な要素

近年、人工知能は急速に発展しており、コンピュータービジョンや自然言語処理の分野で画期的な変化をもたら...

初心者向けガイド: 自然言語処理のためのニューラル ネットワーク

この記事を読むと、次のことがわかります。自然言語処理の分野に最も大きな影響を与えたニューラル ネット...

Baidu の計算生物学研究が Nature のサブジャーナルに掲載されました!スタンフォード大学やMITを上回る成果、製薬分野に進出

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

ザッカーバーグがAlpaca 2をベースにしたChatGPTのMetaバージョンを正式にリリース。Appleに先駆けて初のMRヘッドセットをリリース、価格は1/7以下

ChatGPT ネットワーキング モードが正式に復活しました。そして、この波は有料ユーザーだけでなく...

...