ここでは、機械学習の問題を 2 種類の統計学習に簡略化します。 教師なし学習には明確な定義がないと思うので、最も一般的な教師あり/教師なしの分類は使用しません。
1. 生成モデル トレーニング セットはいくつかのデータ {x_1、x_2、…、x_n} であり、これらのデータの確率分布 p(x) を表すことが目標です。 たとえば、たくさんの猫の写真が与えられた場合、私たちの目標は、これらの猫の写真のパターンを見つけて、猫のように見える写真を生成できる生成関数を取得することです。 猫の描き方。 同様に、私たちは人間が作成した例を使用して、機械に話し方、書き方、エッセイの書き方を教えたいと考えています。 2. 判別モデル トレーニング セットは、データとラベルのペア {(x_1, y_1), (x_2, y_2), …, (x_n, y_n)} です。ここで、x_i はデータ、y_i はラベルであり、その目的は、データが与えられた場合のラベルの条件付き確率、つまり p(y|x) を表現することです。 たとえば、たくさんの写真 x_i があり、それぞれに、その写真が猫の写真か犬の写真かを示すラベルが付いています。 この場合、y_i には y_i = cat または y_i = dog の 2 つの値があります。 機械に猫と犬を区別する方法を学習させ、新しい写真 x が与えられたときに、機械が p(y = cat | x) と p(y = dog | x *) を計算することで、それが猫か犬かを計算できるようにしたいと考えています。 これらの問題は、画像認識、音声認識、医療診断などにも広く使用されています。 両方のモデルを含めることができない場合もありますが、通常は、わずかな変更を加えることで含めることができます。 ここではこれらの小さな問題については議論しません。 通常、私たちの目標は、望ましい確率分布 p(x) または p(y|x) を表すデータセットから適切な関数を見つけることです。 しかし、多くの問題が未解決のまま残っています。 確率分布は無限に存在します。 どの関数を選択すればよいでしょうか。関数空間は無限次元ですが、これらの関数を有限に表現するにはどうすればよいでしょうか。2 つの候補の確率分布が与えられた場合、どのように判断すればよいでしょうか。これらの関数の中で最適なものを見つけるにはどうすればよいでしょうか。 これらの質問は以下で一つずつ回答されます。 機械学習の問題を解決するプロセスを次の部分にまとめます。 3. データセット 研究したいオブジェクト。過剰適合の現象を回避するために、判別問題の場合、データセットは通常、トレーニング セット (テスト セット) とテスト セット (テスト セット) に分割されます。モデルはトレーニング プロセス中にのみトレーニング セットに公開され、トレーニング後のテスト セットはモデルの有効性をテストするために使用されます。例えば、大学入試問題と模擬試験の問題は似ているものの全く同じではないと想定し、模擬試験トレーニングの後、大学入試問題を使って最終的な学習レベルをテストします。聞き逃しの問題があっても、大学入試の本番の問題を理解せずに無理やり覚えることができれば、大学入試で良い成績を取ることができます。オーバーフィッティングでは、この現象を「類推ではなく暗記による学習」と表現します。実際には、トレーニング セットも検証セットに分割する必要がありますが、問題を単純化するために、ここでは説明しません。 4. モデル空間 すべての可能な確率分布関数は巨大な集合です。ここで最高の機能を探すのは、干し草の山から針を探すようなものです。そのため、候補となる関数をいくつか選択し、その中から検索することがよくあります。この選択は非常に重要です。なぜなら、不適切な選択肢を選択した場合、その中から最善の解決策が見つかっても、問題はうまく解決されないからです。モデル空間の選択によって、機械学習アルゴリズムの性質がほぼ決まります。線形回帰、さまざまなツリーベースの方法、または隠れマルコフモデルによって表されるグラフィカルモデルのいずれであっても、最大の違いの 1 つはモデル空間の選択にあります。一般的に、機械学習アルゴリズムとは、以下に説明するモデル空間とモデル表現を指します。 VC 次元理論は、各問題を最もよく解決できる最適なモデル (空間) を明らかにします。モデル空間が大きすぎると、簡単に過剰適合が発生する可能性があります。逆もまた同様です。 )。ディープラーニングについて話すときに、この質問に戻ります。 5. モデル表現(パラメータ化/アーキテクチャ) これは比較的漠然とした概念ですが、個人的にはディープラーニングと従来の機械学習の違いを説明する上で重要だと考えています。まず、モデル空間を比較的小さい程度に制限したとしても、空間内のすべての関数を表現する方法を見つけるか、代替関数に名前を付ける必要があります。たとえば、モデル空間をすべて 2 次関数として選択した場合、つまり S = {p(x) = a_1 x² + b_1 x + c_1、任意の a_1、b_1、c_1 について} を選択した場合、長さ 3 のベクトル (a_1、b_1、c_1) を介して S の各インスタンスの関数を参照できます。ただし、S は別の方法で記述することもできます。たとえば、任意の a_2、b_2、c_2、d_2} に対して、S は S = {p(x) = (a_2 * x + b_2)(c_2 x + d_2)} と表すこともできます。このように、各候補関数をベクトル (a_2、b_2、c_2、d_2) で表すこともできます。セットとして、2 つの関数空間はまったく同じですが、最適な関数を見つけるためのガイドとしては、異なる表現が大きく異なる場合があります。 kNN (k 最近傍) など、このケースに還元できない非パラメトリック モデル (ノンパラメトリック) のクラスもありますが、この記事ではそれらに焦点を当てていません。 6. 目的関数(オブジェクト/損失関数) どの関数が優れているかを判断するには、通常は目的関数、一般的には損失関数と呼ばれる定量化可能な基準を導入する必要があります。なのでLと表記します。各候補関数 p(x) に対して、L は評価 L(p) を返し、L(p) が小さいほど p(x) が優れていることを意味します。通常、L はトレーニング セットに関連付けられます。これは、L が p(x) にトレーニング セットに含まれる情報が含まれているかどうかを反映するためです。識別問題の場合、最も単純な選択肢の 1 つは、トレーニング セットにおける p(y | x) の精度です。精度が高くなるほど、トレーニング セットに含まれる情報 p(y | x) が多くなります。しかし、ここでは過剰適合の危険性もあります。トレーニング セットでの高精度は必ずしもテスト セットでの高精度を意味するわけではないため、p(y|x) はサンプル内の大多数の例を単純に捕捉する可能性があります。トレーニングセット(メモリ)、それだけです。モデル空間を制限することに加えて、目的関数に正規化を追加して、このような事態の発生を制限することもできます。簡単に言えば、一般的な用語はさまざまなモデルに対する私たちの好みを表しています。同様のパフォーマンスを持つ 2 つの異なるモデルについては、正規化項のサイズに基づいて選択します。たとえば、オッカムの剃刀を使用すると、ある意味で可能な限り単純なモデルを選択できるように一般項を設計できます。最後に、精度に加えて、一般的な目的関数には、平均二乗推定値 (L2)、平均絶対推定値 (L1)、ヒンジ損失、負の対数尤度、クロスエントロピーが含まれます。その中で、交差エントロピーは通常、KL ダイバージェンスから導き出されます。 7. 最適化アルゴリズム 最初の 4 つの準備ステップを終えると、機械学習の問題を厳密に最適化問題、つまり最大値/最小値を見つける問題として定義できます。データセットが与えられた場合、データセットに関連する目的関数 L を選択し、モデル空間 S を定義し、それを S = {p_w: T 内の任意の w について} というパラメータ化によって表現します。ここで、T は通常、多次元ユークリッド空間のサブセットです。つまり、w は特定の条件を満たすベクトルです。次に、解決する必要がある最適化問題は、min_{w in T} L(p_w)、つまり、L(p_w)の値を最小化するT内のwを見つけることです。 異なる機械学習の問題では、この最適化問題は非常に異なる特性を持つ可能性があり、最も適切な最適化アルゴリズムも当然異なります。多くの機械学習モデルには、サポートベクターマシン (SMO) アルゴリズムや混合モデル (EM) アルゴリズムなどの特定の最適化アルゴリズムがあります。さらに、最適化の結果に影響を与える要因は初期化です。多くの最適化アルゴリズムは、ドメイン内の特定のパスに沿った一連の検索として考えることができます。複雑な最適化問題の場合、検索の開始点が非常に重要になることがよくあります。初期選択方法は、最適化アルゴリズムの一部と見なすことができます。最適化アルゴリズム自体も良い研究方向です。後ほど、最適化アルゴリズムとディープラーニングの相互作用についてのトピックを続けます。 上記の 5 つのステップは、基本的に、機械学習の問題を解決したり、機械学習アルゴリズムを適用したりするプロセス全体を要約したものです。 その中で、最適化アルゴリズムを通じて問題を解決するプロセスは、いわゆるトレーニングプロセスと呼ばれます。 トレーニング時間はデータセットとモデルのサイズによって異なります。 このプロセスはラップトップでは数秒で完了しますが、コンピューティング クラスターでは数日かかる場合があります。 |
<<: モデル圧縮率95%、MIT Han Songらが新しいLite Transformerを提案
MWC 2024カンファレンスで、Nvidiaは、ARM、ServiceNow、SoftBankと...
[[281197]] [はじめに] 顔認識はコンピュータビジョンにおける最大の研究分野の一つです。...
[[341606]]ある調査では、2025年までに中国の教育用ロボット市場は3000億ドルに達し、...
手術室で外科医をサポートするロボットや、X 線や MRI 画像の評価を支援するソフトウェアが登場して...
[[182792]]協調フィルタリング推奨アルゴリズムにおける行列分解の応用では、推奨アルゴリズムに...
コード共有サービス GitHub は、ソフトウェア開発者向けの人工知能アシスタント「GitHub C...
[51CTO.com からのオリジナル記事] テクノロジーが国の基盤であるならば、人工知能は将来の技...
ウィンドウの長さが 4k でも、大きなモデルで大きなテキストを読み取ることができます。プリンストン大...
AlphaGoとイ・セドルの戦いの後、ディープラーニング技術は国内で非常に人気が高まった。多くの技術...
国内企業におけるAI導入の現状アクセンチュアが世界各国の企業幹部を対象に実施した「中国企業はどのよう...
Copilot、Codex、AlphaCode: プログラミングを自動化するコンピュータ プログラム...