機械学習アルゴリズムは、例から一般化することで重要なタスクを実行する方法を理解できます。これを手動プログラミングで実現するのは難しいため、多くの場合、機械学習が実現可能でコスト効率も高くなります。より多くのデータが利用可能になるにつれて、より野心的な質問に取り組むことができるようになります。そのため、機械学習はコンピュータサイエンスなどの分野で広く利用されています。しかし、成功する機械学習アプリケーションを開発するには、教科書では見つけるのが難しい多くの「黒魔術」が必要です。 1. 学習 = 表現 + 評価 + 最適化 すべての機械学習アルゴリズムは、通常、次の 3 つのコンポーネントで構成されます。
2. 「一般化能力」が重要であり、「テストデータ」の検証が重要です。 機械学習の主な目的は、トレーニング セット外の例に一般化することです。なぜなら、どれだけ多くのデータを持っていても、テストでまったく同じ例が再び表示される可能性は低いからです。トレーニング セットで優れたパフォーマンスを発揮するのは簡単です。機械学習の初心者が犯す最も一般的な間違いは、トレーニング データでモデルをテストし、誤った成功感を与えてしまうことです。選択した分類器を新しいデータでテストすると、結果は通常、ランダムな推測とそれほど変わりません。したがって、分類器の構築を誰かに依頼する場合は、提供された分類器をテストできるように、必ず自分用のデータも保存しておいてください。逆に、誰かが分類器の構築を依頼してきた場合は、分類器の最終テスト用にデータの一部を予約しておきます。 3. データだけでは不十分です。知識を組み合わせるとさらに効果的です。 一般化を目標にすると、別の結果が生じます。つまり、どれだけ多くのデータを持っていても、データだけでは不十分なのです。これはイライラします。では、機械学習が何かを学習するとはどういうことでしょうか。実は、現実世界で学習したいすべての関数が、数学的に可能な関数から導き出せるわけではありません。実際、滑らかさ、類似の例は類似の分類、依存関係の制限、複雑さの制限などの一般的な仮定を使用すると、十分な結果が得られることが多く、これが機械学習がこれほど成功した大きな理由です。演繹と同様に、帰納法(トレーニング モデルが行うもの)は知識のてこであり、少量の知識入力を大量の知識出力に変換します。帰納法は演繹法よりも強力な手段であり、有用な結果を生み出すのに必要な知識が少なくて済みます。ただし、動作させるには、依然としてゼロより大きい知識入力が必要です。どのレバーでもそうですが、投入する量が増えるほど、得られるものも増えます。 振り返ってみると、トレーニング中に知識が必要になるのは驚くことではありません。機械学習は魔法ではありません。何もないところから何かを生み出すことはできません。機械学習が行うことは、学習した内容から推論を導き出すことです。すべてのエンジニアリングと同様に、プログラミングには多くの作業が必要です。すべてをゼロから構築する必要があります。トレーニングのプロセスは、ほとんどの作業が自然に行われる農業に似ています。農家は種子と栄養素を組み合わせて作物を育てます。トレーニング モデルでは、知識とデータを組み合わせてプログラムを作成します。 4. 「オーバーフィッティング」は機械学習の結果に幻想を生み出します。 私たちが持っている知識とデータが、正しい分類器を完全に決定するのに十分でない場合、分類器 (またはその一部) は「錯覚」を生み出す可能性があります。得られた分類器は現実に基づくものではなく、単にデータのランダム性をエンコードするだけです。この問題はオーバーフィッティングと呼ばれ、機械学習における厄介な問題です。トレーニングされたモデルが、トレーニング データに対しては 100% の精度を持つ分類器を出力するが、テスト データに対しては 50% の精度しかない場合、実際には、両方のセットに対する分類器の出力精度は全体で約 75% になる可能性があり、過剰適合していることになります。 機械学習の分野では、誰もが過剰適合について知っています。しかし、過剰適合にはさまざまな形があり、人々はすぐにはそれに気づかないことがよくあります。過剰適合を理解する 1 つの方法は、一般化誤差をバイアスと分散に分解することです。バイアスとは、モデルが同じ間違いを何度も繰り返し学習する傾向のことです。分散とは、モデルが真の信号に関係なくランダムな信号を学習する傾向を指します。線形モデルは、2 つのクラス間の境界が超平面でない場合に調整できないため、バイアスが高くなります。決定木は任意のブール関数を表現できるため、この問題は発生しません。一方、決定木は大きなばらつきを持つ可能性があります。異なるトレーニング セットでトレーニングした場合、結果の決定木は実際には同一であるはずなのに、非常に異なるものになることがよくあります。 クロス検証は、たとえば、クロス検証を使用してトレーニングに最適なサイズの決定木を選択することで、過剰適合の防止に役立ちます。しかし、これは万能薬ではありません。なぜなら、クロス検証を使用してパラメータの選択肢を多く生成しすぎると、それ自体が過剰適合し始めるからです。 クロス検証に加えて、過剰適合問題を解決する方法は数多くあります。最も一般的な方法は、評価関数に正規化項を追加することです。たとえば、これにより、より多くの用語を持つ分類器にペナルティが課され、より単純なパラメータ構造を持つ分類器が優先され、過剰適合の余地が減ります。別のアプローチとしては、新しい構造を追加する前にカイ二乗検定などの統計的有意性検定を実行して、新しい構造を追加する前と後でクラスの分布が実際に異なるかどうかを判断することです。これらの手法は、データが非常に少ない場合に特に役立ちます。そうは言っても、特定の方法が過剰適合の問題を完全に解決するという主張には懐疑的であるべきです。過剰適合 (分散) を減らすと、分類器が対応する不足適合エラー (バイアス) に陥りやすくなります。これら両方の状況を同時に回避したい場合は、完璧な分類器をトレーニングする必要があります。事前の情報がない場合、常に最善のアプローチは 1 つだけではありません (ただで得られるものはありません)。 5. 機械学習における最大の問題は「次元の呪い」です。 過剰適合の他に、機械学習における最大の問題は次元の呪いです。この用語は、低次元では適切に機能する多くのアルゴリズムが、入力次元が高い場合には適切に機能しないという事実を指すために、1961 年にベルマンによって造られました。しかし、機械学習では、それははるかに広い意味を持ちます。サンプルの次元数 (特徴の数) が増加すると、固定サイズのトレーニング セットがカバーする入力空間がますます少なくなるため、正しく一般化することがますます困難になります。 高次元の一般的な問題は、3D 世界から得られる人間の直感が、通常、高次元空間には当てはまらないことです。高次元では、多変量ガウス分布のデータのほとんどは平均に近いものではなく、平均の周りの「シェル」内にあり、どんどん遠ざかっています。さらに、高次元分布のボリュームのほとんどは、バルクではなく表面にあります。一定数のサンプルが高次元ハイパーキューブ内に均一に分布している場合、特定の次元数を超えると、ほとんどのサンプルは、最も近い隣接面よりもハイパーキューブの面の 1 つに近くなります。さらに、超立方体を埋め込むことで超球を近似すると、高次元では超立方体の体積のほぼすべてが超球の外側に現れます。これは機械学習にとっては悪いニュースです。なぜなら、あるタイプの形状は別のタイプの形状で近似できることが多いのですが、高次元空間ではこれが崩れてしまうからです。 2D または 3D 分類器の構築は簡単です。視覚的な検査だけで、異なるクラスのサンプル間の適切な境界を見つけることができます。しかし、高次元では、データの分布構造を理解することは困難です。これにより、適切な分類器を設計することが難しくなります。つまり、より多くの特徴を収集することは、せいぜい分類に関する新しい情報を提供しないので、悪いことではないと考える人もいるかもしれません。しかし実際には、次元の呪いの影響が機能追加の利点を上回る可能性があります。 6. 「理論上の保証」と「実際の差異」の関係 機械学習の論文には理論的な保証が満載です。最も一般的な保証は、モデルの優れた一般化能力を維持するためのトレーニング サンプルの数に対する制約に関するものです。まず、問題は明らかに証明可能です。帰納法は演繹法と対比されることが多いです。演繹法では結論が正しいと確信できますが、帰納法ではすべての推測が排除されます。おそらくこれは、世代から世代へと受け継がれてきた古代の知恵なのでしょう。過去 10 年間の大きな進歩は、特に確率的な保証を与える意思がある場合、帰納法の結果は証明可能であるという認識でした。 このような制約が何を意味するのかを検討することが重要です。これは、ネットワークが特定のトレーニング セットと一致する仮説を返す場合、その仮説が適切に一般化される可能性が高いことを意味するものではありません。むしろ、十分に大きなトレーニング セットが与えられれば、ネットワークは適切に一般化された仮説を返すか、一貫した仮説に到達できない可能性が高くなります。このような制約は、適切な仮説空間を選択する方法も教えてくれません。これは、仮説空間に優れた分類器が含まれている場合、トレーニング セットが増加するにつれて、ネットワークが弱い分類器をトレーニングする確率が低下することを示しているだけです。仮説空間が縮小されると制約は強くなりますが、強力な分類器をトレーニングする確率は低下します。 もう 1 つの一般的な理論的保証は漸近的なパフォーマンスです。入力データのサイズが無限大の場合、ネットワークは確実に強力な分類器を出力します。もっともらしいように聞こえますが、漸近的な保証があるため、あるネットワークを別のネットワークよりも選択するのは簡単です。実際には、漸近状態になることはほとんどありません。上で説明したバイアスと分散のトレードオフから、大量のデータがある場合にネットワーク A がネットワーク B よりも優れている場合、データが限られている場合はネットワーク B が A よりも優れていることが多いことがわかります。 機械学習における理論的な保証の重要性は、実用的な決定を判断する基準として機能するだけでなく、理解の方法やアルゴリズムを設計するための原動力としても機能します。このため、非常に便利です。実際、長年にわたる機械学習の飛躍的な進歩を促進してきたのは、理論と実践の組み合わせです。注: 学習は複雑な現象であり、理論上は理にかなっていて実際に機能するからといって、前者が後者を引き起こすというわけではありません。 7. 「特徴エンジニアリング」が機械学習の鍵 結局、機械学習プロジェクトの中には大成功するものもあれば、失敗するものもあります。何が原因でしょうか? 最も重要な影響要因は、使用されている機能です。クラスに関連する独立した機能が多数ある場合、学習は簡単です。逆に、クラスが極めて複雑な機能である場合、モデルはその機能を学習できない可能性があります。一般的に言えば、生データ形式は学習には適していませんが、それに基づいて特徴を構築することは可能です。これは機械学習プロジェクトの最も重要な部分であり、直感、創造性、「魔法」、テクノロジーが同等に重要となる、最も楽しい部分であることが多いです。 機械学習プロジェクトの初心者は、機械学習に実際に費やす時間がいかに少ないかに驚くことがよくあります。しかし、データの収集、統合、クリーニング、前処理といった作業や、データを特徴に再形成するプロセスにおけるエラーの解決にかかる時間を考慮すると、これは驚くことではありません。さらに、機械学習はデータセットを構築してモデルを一度実行するだけではありません。通常は、モデルを実行し、結果を分析し、データセット/モデルを変更するという反復的なプロセスです。学習は最も速い部分ですが、それは私たちがそれをうまく実行できるかどうかにかかっています。特徴エンジニアリングはドメイン固有であるため実行が困難ですが、モデル アーキテクチャははるかに適用可能です。ただし、両者の間には明確な境界がないため、ドメイン知識を組み込んだモデルの方がパフォーマンスが優れていることがよくあります。 8. 覚えておいてください: データの量はアルゴリズムよりも重要です! コンピュータサイエンスのほとんどの分野において、時間とメモリは希少なリソースです。しかし、機械学習では、データセットは 3 番目に希少なリソースです。ボトルネックの戦いは時間とともに変化しています。 1980 年代には、データがボトルネックになることがよくありました。今は時間がさらに貴重です。現在、利用可能なデータは膨大ですが、それを処理する時間が足りないため、データは使用されないままになっています。これにより、矛盾が生じます。原理的には、データが多いほど、より複雑な分類器を学習できることになりますが、複雑な分類器のトレーニングには時間がかかるため、実際にはより単純な分類器を使用することが多いのです。解決策の一部は、複雑な分類子を素早く学習できる方法を考え出すことであり、今日、この方向では確かに大きな進歩が見られます。 よりスマートなアルゴリズムを使用しても期待したほどのメリットが得られない理由の 1 つは、最初に近似値を計算するときは他のアルゴリズムとまったく同じであるためです。表現の違いがルールとニューラル ネットワークの違いに似ていると考えると、これは驚くべきことです。しかし、実際には、命題規則はニューラル ネットワークに簡単にエンコードでき、他の表現間にも同様の関係が存在します。モデルは基本的に、近隣のサンプルを同じカテゴリに分類することによって実装されます。主な違いは、「近隣」の意味にあります。不均一に分布したデータの場合、モデルは重要な領域 (トレーニング例の数が多く、テキスト例が最も多く出現する可能性が高い領域) では同一の予測を生成しながら、大きく異なる境界を生成することがあります。これは、強力なモデルが不安定でありながらも正確である理由も説明できます。 一般的に、最も単純なモデルを最初に検討します (たとえば、ロジスティック回帰の前に単純ベイズ、サポート ベクター マシンの前に K 近傍法)。複雑なモデルは魅力的ですが、良い結果を得るために多くのノードを微調整する必要があり、内部構造が非常に不透明であるため、扱いが難しいことがよくあります。 モデルは、線形分類器などのサイズが固定されているモデルと、決定木などのデータセットに応じて表現力が増大するモデルの 2 つの主なタイプに分けられます。固定サイズのモデルでは、限られたデータしか活用できません。理論的には、スケーラブルなモデルは、十分な大きさのデータセットがある限り、あらゆる関数に適合できますが、現実には、アルゴリズムの制限や計算コストが常に存在します。さらに、次元の呪いにより、既存のデータセットでは不十分な場合があります。これらの理由から、データとコンピューティング リソースを最大限に活用するよりスマートなアルゴリズムは、デバッグに労力を費やす意思があれば、最終的には良い結果につながります。モデルの設計と分類器の学習の間に明確な境界線はありませんが、任意の知識をモデルにエンコードしたり、データから学習したりすることは可能です。したがって、モデル設計は機械学習プロジェクトの重要な部分であることが多く、設計者は関連する専門的背景を持っていることが最適となります。 9. 単一モデルで最適性を達成するのは困難です。マルチモデル統合が解決策です。 機械学習の初期の頃は、誰もが自分のお気に入りのモデルを持ち、そのモデルが優れている理由を説明するために何らかの先験的な理由を使用していました。研究者たちはモデルの多数のバリエーションを開発し、その中から最良のものを選択しました。その後、体系的な経験的比較により、最適なモデルはアプリケーションによって変化し、多くの異なるモデルを含むシステムが登場し始めたことが示されました。現在の研究では、複数のモデルのさまざまなバリエーションをデバッグし、最もパフォーマンスのよいモデルを選択するという試みが始まっています。しかし研究者たちは、発見した最良の変異体を選択するのではなく、複数の変異体を組み合わせることで、追加の作業なしでより良い結果が得られることに気づき始めました(多くの場合、大幅に)。 モデルアンサンブルは現在では標準的なアプローチとなっています。最も単純な手法はバギングと呼ばれ、単純に再サンプリングすることでトレーニング データセットのランダムなバリアントを生成し、これらのバリアントに基づいて分類器を学習し、投票によってこれらの分類器の結果を組み合わせます。このアプローチは、分散を大幅に削減し、バイアスをわずかに増加させるだけなので機能します。ブースティング アルゴリズムでは、トレーニング例に重みがあり、これらの重みは変化するため、新しい分類器はそれぞれ、以前のモデルが間違えた例に重点を置きます。スタッキング アルゴリズムでは、各分類器の出力が「上位レベル」のモデルへの入力として使用され、モデルが最適な方法で結合されます。 他にも多くの方法があり、一つ一つ挙げることはしませんが、全体的な傾向としては、統合学習がますます大規模化しています。 Netflix の助成金の支援を受けて、世界中のチームが最高のビデオ推奨システムの構築に取り組んでいます。競争が進むにつれて、競争チームは他のチームのモデルを組み合わせることで最良の結果を達成できることを発見し、チームの合併も促進されました。優勝モデルと準優勝モデルはどちらも 100 個以上の小さなモデルで構成された統合モデルです。2 つの統合モデルを組み合わせることで、結果がさらに向上します。今後さらに大規模な統合モデルが登場することは間違いありません。 10. 「シンプル」は「正確」を意味するものではありません。 オッカムの剃刀によれば、必要な場合を除いてエンティティを追加すべきではないとされています。機械学習では、これは通常、同じトレーニング エラーを持つ 2 つの分類器がある場合、2 つのうちのより単純な方が評価エラーが最も低くなる可能性が高いことを意味します。この主張の証拠は文献のいたるところにありますが、実際にはそれを反証する反例が多数あり、「ただ飯はない」という定理はその真実性に疑問を投げかけています。 前回の記事では、反例として統合モデルについても説明しました。トレーニング エラーがゼロに達した場合でも、分類器を追加することで、強化されたアンサンブル モデルの一般化エラーは引き続き減少します。したがって、直感に反して、モデル内のパラメータの数と過剰適合の傾向の間には必ずしも相関関係はありません。 賢いアイデアとしては、モデルの複雑さを仮説空間のサイズと等しくすることです。空間が小さいほど、仮説をより短いコードで表現できるためです。理論的保証セクションにおける同様の境界は、より優れた一般化機能を持つより短い仮説エンコーディングとして解釈される可能性があります。事前の好みの空間で仮説をより短くエンコードすることで、これをさらに改良することができます。しかし、これを正確さと単純さのトレードオフの実証と見なすのは循環論法です。つまり、私たちは意図的に好ましい仮説を単純化しており、それが正確であるとしても、それは好ましい仮説が正しいからであり、特定の表現を与えられた場合に仮説が「単純」だからではありません。 11. 「表現可能」は「学習可能」を意味しません。 非固定スケールで使用されるすべてのモデル表現には、実際には「この表現を使用して任意の関数を表現したり、無限に近似したりできる」などの関連する定理があります。このため、特定の表現方法を好む人は、他の要素を無視してしまうことがよくあります。ただし、表現可能性だけでは、モデルが学習できることを意味するわけではありません。たとえば、トレーニング例よりも多くのリーフノードを持つ決定木モデルは学習しません。連続空間では、固定されたプリミティブのセットを使用して単純な関数を表現する場合でも、通常は無限のコンポーネントが必要になります。
さらに、評価関数が仮説空間内に多くの局所最小値を持つ場合(これはよくあることです)、モデルは、たとえそれが表現可能であっても、最適な関数を見つけることができない可能性があります。データ、時間、およびストレージ スペースが限られているため、標準モデルではすべての可能な関数の小さなサブセットしか学習できず、このサブセットは選択された表現方法によって異なります。したがって、重要な問題は「モデルが表現可能かどうか」ではなく「モデルが学習可能かどうか」であり、さまざまなモデル(統合モデルも含む)を試すことが重要です。 12. 「相関関係」は「因果関係」を意味するものではありません。 相関関係が因果関係を意味するわけではないという指摘は、これまで何度もなされてきたため、批判に値することはほとんどない。ただし、ここで説明するモデルの一部のクラスは相関関係のみを学習しますが、その結果は因果関係を表すものとして見られることがよくあります。問題があるのでしょうか? もしそうなら、なぜ人々はまだこれをするのでしょうか? これは一般的には真実ではありません。予測モデルを学習する目的は、それを行動のガイドとして使用することです。ビールを買うときにおむつも買うということがわかったら、おむつの横にビールを置くと売り上げが伸びるかもしれません。しかし、実際に実験を行わずに検証することは困難です。機械学習は、実験データ(制御可能)とは対照的に、予測変数がモデルの制御下にない観測データを処理するためによく使用されます。一部の学習アルゴリズムは、観察データから潜在的な因果関係を掘り出すことができるかもしれませんが、その実用性は低いです。一方、相関関係は、さらなる研究を導くために使用できる潜在的な因果関係の単なるマーカーです。 |
>>: 5Gベアラネットワークの運用は難しいが、機械学習技術で解決できる
近年、OpenAI の GPT-3 などの大規模言語モデル (LLM) は、人工知能の分野で大きな進...
[[376661]]人間は知識を獲得する過程で、物事の本質にますます注意を払うようになります。人工知...
[[392372]] 4月9日、注目されていた「初の顔認証事件」の最終判決が下された。被告杭州野生動...
最近、世界最速のエンタープライズ レベルのグラフ分析プラットフォームである TigerGraph は...
1. DNNの一般化能力に関する問題この論文では主に、過剰パラメータ化されたニューラル ネットワー...
アレックス・ガーランド監督の2015年大ヒット作『エクス・マキナ』では、監督が意図したように、機械の...
高度なサイバー攻撃が増加していることから、サイバーセキュリティは今日マイクロソフトにとって最優先事項...
2023年6月16日、「共に立ち上がって無限のイノベーションを」をテーマにした人工知能フレームワーク...
今日、健康は精神的、社会的、政治的、経済的、都市的健康など、さまざまな分野に関連しています。今日、都...
[[194511]]序文テキスト分類は、自動記事分類、自動メール分類、スパム識別、ユーザー感情分類な...