For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
クロスエントロピー コスト関数のこの特性により、答えが著しく間違っている場合に急峻な導関数が保証され、入力の変化に応じた出力の変化の平坦性のバランスが保たれます。これらの係数を掛け合わせると、出力ユニット i に入るロジットに関するクロスエントロピー コスト関数の導関数が得られます。この計算には連鎖則が使用されます。
ユニットの出力に関するコスト関数の導関数に、ロジット zi に関する出力の導関数を乗算すると、実際の出力からターゲット出力を引いた値が得られます。出力とターゲットが大きく異なる場合、この差の傾きは 1 またはマイナス 1 になります。傾きが 0 に近づくのは、それらがほぼ同じである場合のみであり、正しい答えが生成されていることを示します。
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
講義 3.5 — 逆伝播からの導関数の使用
講義 3.5 — バックプロパゲーションからの導関数の使用 [機械学習のためのニューラル ネットワーク]
多層ニューラル ネットワークで効率的に学習するには、すべての重みに対する誤差導関数を取得することが重要です。ただし、学習手順を完全に指定するには、他にもいくつかの考慮事項に対処する必要があります。
これらの考慮事項の 1 つは、重み更新の頻度を決定し、大規模なネットワークを使用する場合のオーバーフィッティングを防止することです。バックプロパゲーション アルゴリズムは、単一のトレーニング ケースに基づいて各重みの導関数を効率的に計算しますが、完全な学習アルゴリズムではありません。適切な学習手順を開発するには、追加の要素を指定する必要があります。
最適化の問題は、重みの導関数を利用して最適な重みのセットを見つけるときに発生します。 1 つの問題は、重みをどのくらいの頻度で更新する必要があるかということです。 1 つのアプローチは、各トレーニング ケースの後に重みを更新することですが、その結果、誤差導関数が変化するためジグザグが発生します。ただし、平均すると、体重の小さな変化が正しい方向に向かう可能性があります。あるいは、完全なバッチ トレーニングでは、トレーニング データ全体を調べ、個々のケースからの誤差導関数を合計し、その方向に小さな一歩を踏み出します。ただし、このアプローチは、特に初期の重みが貧弱な場合、計算コストが高くなる可能性があります。ミニバッチ学習は、重みを更新するためにトレーニング ケースの小さなサンプルをランダムに選択することで妥協策を提供します。これにより、計算効率を維持しながらジグザグが軽減されるため、大規模なデータセットで大規模なニューラル ネットワークをトレーニングする場合によく使用されます。
重みの更新の大きさを決定することも最適化の問題です。多くの場合、固定学習率を手動で選択するよりも、学習率を調整する方が賢明です。たとえば、誤差が変動すると学習率が低下する可能性がありますが、着実に進歩した場合は学習率が向上する可能性があります。ネットワーク内の異なる接続に異なる学習率を割り当てて、一部の重みを他の重みよりも迅速に学習できるようにすることも可能です。さらに、最も急な降下の方向に厳密に従うのではなく、より良い収束につながる別の方向を探索することが有益な場合があります。ただし、これらの代替方向を見つけるのは困難な場合があります。
2 番目の問題セットは、学習された重みが未確認のケースに対してどの程度一般化されるかに関係します。トレーニング データには、規則性に関する情報と 2 種類のノイズの両方が含まれています。 1 つ目のタイプは信頼性の低い目標値ですが、これは通常はあまり問題ではありません。 2 番目のタイプはサンプリング エラーで、選択した特定のトレーニング ケースが原因で偶発的な規則性が生じる可能性があります。モデルは、偶然の規則性と、よく一般化された真の規則性を区別できません。したがって、モデルは両方のタイプの規則性に適合する傾向があり、モデルが複雑すぎると一般化が不十分になります。
過学習に対処するために、ニューラル ネットワークやその他のモデル向けにさまざまな技術が開発されてきました。これらの手法には、モデルを単純化するために重みを小さくまたはゼロに保つ重み減衰と、複雑さを軽減するために多くの重みが同じ値を持つ重み共有が含まれます。早期停止には、トレーニング中に偽のテスト セットを監視し、偽のテスト セットのパフォーマンスが低下し始めたときに停止することが含まれます。モデルの平均化には、複数のニューラル ネットワークをトレーニングし、それらの予測を平均してエラーを削減することが含まれます。ニューラル ネットワークのベイジアン フィッティングは、ベイジアンの原理を組み込んだモデル平均化の一種です。ドロップアウトは、トレーニング中に隠れたユニットをランダムに省略することでモデルの堅牢性を高める手法です。より高度なアプローチである生成的事前トレーニングについては、コースの後半で説明します。
多層ネットワーク内のすべての重みに対する誤差導関数を取得することは、効率的な学習には不可欠です。ただし、完全な学習手順を開発するには、重みの更新頻度、過学習の防止、最適化手法、未確認のケースへの一般化などの他の要素を考慮し、対処する必要があります。
講義 4.1 — 次の単語を予測する方法を学ぶ
講義 4.1 — 次の単語を予測する方法を学ぶ [機械学習のためのニューラル ネットワーク]
今後のビデオでは、バックプロパゲーション アルゴリズムを利用して、特徴表現を通じて単語の意味を学習することに焦点を当てます。この導入では、1980 年代の単純なケースから始めて、バックプロパゲーションを使用してリレーショナル情報を特徴ベクトルに変換する方法を説明します。
この事件には、類似した構造を持つ 2 つの家系図 (1 つはイギリス人、もう 1 つはイタリア人) が含まれています。これらの家系図の情報を特定の関係 (息子、娘、父親、母親など) を使用した命題として表現することにより、この関係情報を学習するタスクを、トリプルのセット内の規則性を見つけることとみなすことができます。
記号ルールを検索する代わりに、ニューラル ネットワークを使用して、最初の 2 つの項からトリプルの 3 番目の項を予測することで、この情報を取得できます。ネットワークのアーキテクチャは、興味深い表現を学習するために設計された複数の層で構成されています。私たちは中立的な表現を使用して情報をエンコードし、すべての人が別個の存在として扱われるようにします。
ネットワークは、逆伝播を使用して重みを徐々に調整しながら、一連の命題についてトレーニングすることによって学習します。学習された表現を理解するために、人物 1 のエンコードを担当する隠れ層を調べることができます。この層のさまざまな単位により、その人の国籍、世代、家系図の枝などの特徴が明らかになります。
これらの特徴は、ドメイン内の規則性を捉えるため、出力される人物を予測するのに役立ちます。ネットワークは、明示的なガイダンスなしでこれらの機能を自律的に検出します。ネットワークの中間層は、入力者の特徴と関係の特徴を組み合わせて、出力者の特徴を予測します。
ネットワークのパフォーマンスは、不完全なトリプルでテストし、それがどの程度一般化されるかを観察することによって評価できます。トレーニング データが限られているため、24 通りの選択肢に対して良好な精度が得られます。より大きなデータセットでトレーニングした場合、データのより小さな部分から一般化できます。
ここで示した例はおもちゃのケースですが、実際には、何百万ものリレーショナル ファクトを含むデータベースに同様の手法を適用できます。エンティティと関係の特徴ベクトル表現を検出するようにネットワークをトレーニングすることで、データベースを効果的にクリーンアップして検証できます。
最初の 2 つの項から 3 番目の項を予測するのではなく、複数の項を使用して事実の正しさの確率を推定することもできます。このアプローチでは、トレーニングのために正しい事実と誤った事実の両方の例が必要です。
バックプロパゲーションとニューラル ネットワークを採用することで、関係情報から意味のある表現を学習し、予測を行ったり、データベース内の事実の妥当性を評価したりできます。
事実の正しさの確率を推定するためにニューラル ネットワークをトレーニングするには、さまざまな正しい事実と、不正確な事実の信頼できるソースを含むデータセットが必要です。ネットワークに正しい例を提示して高い出力を奨励することと、ネットワークを間違った例にさらして低い出力を奨励することにより、ネットワークは、もっともらしい事実とありえない事実を区別することを学習できます。
このアプローチは、データベースをクリーニングするための強力なツールを提供します。ネットワークは潜在的に不正確または疑わしい事実にフラグを立てることができるため、さらなる調査と検証が可能になります。たとえば、データベースにバッハが 1902 年生まれと記載されている場合、ネットワークは、学習した関係やその他の関連事実に基づいて、これが非常にありそうもないものであると特定する可能性があります。
コンピューターの能力が進歩し、何百万ものリレーショナル ファクトを含む膨大なデータベースが利用できるようになったことで、特徴ベクトル表現を発見するためのニューラル ネットワークの応用がより実用的になりました。ニューラル ネットワークの機能を活用して複雑なパターンと関係を学習することで、貴重な洞察を取得し、学習した表現に基づいて予測を行うことができます。
ここで説明する例は、バックプロパゲーションとニューラル ネットワークの機能のデモンストレーションとして 1980 年代に実施されたものであることは注目に値します。それ以来、この分野は大きな進歩を遂げ、研究者たちは同様の技術を自然言語処理、コンピューター ビジョン、推奨システムなどのさまざまな分野に適用してきました。
結論として、バックプロパゲーション アルゴリズムとニューラル ネットワークを利用してリレーショナル情報から特徴表現を学習することは、複雑なデータセットを理解し、それに基づいて予測を行うための強力なアプローチを提供します。正しい事実と誤った事実の例に基づいてネットワークをトレーニングすることで、その機能を利用してデータベースの品質を検証および改善し、データベースの信頼性を高め、さまざまなアプリケーションにとって有用なものにすることができます。
講義 4.2 — 認知科学への簡単な脱線
講義 4.2 — 認知科学への簡単な脱線 [機械学習のためのニューラル ネットワーク]
認知科学では、特徴ベクトル表現と概念の関係表現との関係について長年議論が行われてきました。この議論はエンジニアにとってはあまり興味のないことなので、この議論は飛ばしても構いません。
特徴理論では、概念は一連の意味論的特徴によって定義されると仮定しており、これは概念間の類似性の説明や機械学習に役立ちます。一方、構造主義理論は、概念の意味は他の概念との関係にあると主張し、関係グラフ表現を支持します。
1970 年代、マービン ミンスキーはパーセプトロンの限界を利用して関係グラフ表現の支持を主張しました。しかし、議論の両陣営は、実際に統合できる理論をライバルとみなしているため、間違っていると考えられています。
ニューラル ネットワークは、意味論的な特徴のベクトルを使用してリレーショナル グラフを実装できます。家系図を学習する場合、ニューラル ネットワークは明示的な推論規則を使用せずに情報を転送します。確率的なマイクロ特徴とその相互作用の影響により、ネットワークにとって答えは直感的に明らかです。
明示的なルールは意識的な推論に使用されますが、私たちの常識や類推の多くは、意識的な介入手順を行わずに答えを「見るだけ」です。意識的な推論においても、無限後退を避けるために適用可能なルールを迅速に特定する方法が必要です。
ニューラル ネットワークでリレーショナル グラフを実装することは、ニューロンをグラフ ノードに割り当て、接続をバイナリ関係に割り当てるほど単純ではありません。さまざまな種類の関係や三項関係が課題を引き起こします。ニューラル ネットワークでリレーショナル知識を実装するための正確な方法はまだ不明ですが、各概念の表現に複数のニューロンが関与し、概念とニューロンの間に多対多のマッピングが存在する分散表現を形成する可能性があります。
分散表現では、各概念を表すために複数のニューロンが使用される可能性があり、各ニューロンが複数の概念の表現に関与する可能性があります。分散表現として知られるこのアプローチにより、ニューラル ネットワークにおける概念的知識のより柔軟かつ効率的なエンコードが可能になります。
ただし、ニューラル ネットワークでリレーショナル知識を表現する方法の具体的な実装の詳細はまだ調査中です。 1 つのニューロンが関係グラフ内のノードに対応し、接続が二項関係を表すという仮定だけでは十分ではありません。人間関係にはさまざまなタイプや特徴があり、神経接続には強さだけがあり、多様な関係タイプを捉える能力がありません。
さらに、「A は B と C の間にある」といった三項関係も考慮する必要があります。リレーショナル知識をニューラル ネットワークに統合するための最適なアプローチはまだ不確実であり、進行中の研究はこの課題に対処することを目的としています。
それにもかかわらず、分散表現がニューラル ネットワークの概念の表現に関与していることを示す証拠があります。このアプローチにより、さまざまな概念とその関係を処理する柔軟性と能力が可能になり、認知科学の分野におけるより洗練された認知モデリングと理解への道が開かれます。
講義 4.3 — ソフトマックス出力関数 [機械学習のためのニューラル ネットワーク]
講義 4.3 — ソフトマックス出力関数 [機械学習のためのニューラル ネットワーク]
ここで、softmax 出力関数のトピックを掘り下げてみましょう。ソフトマックス関数は、ニューラル ネットワークの出力の合計が 1 になるようにするために使用される手法で、相互に排他的な選択肢にわたる確率分布を表すことができます。
特徴ベクトルが単語を表すためにどのように学習されるかを議論し続ける前に、技術的な脱線をしてみましょう。これまで、線形ニューロンに適したニューラル ネットワークのトレーニング基準として二乗誤差測定を使用してきました。ただし、二乗誤差の測定には限界があります。
たとえば、必要な出力が 1 であるが、ニューロンの実際の出力がゼロに非常に近い場合、重みの更新を容易にするために利用できる勾配はほとんどありません。これは、ニューロンの出力の傾きがほぼ水平であるため、大きな誤差があるにもかかわらず重みの調整が遅くなるからです。
さらに、相互に排他的なクラス ラベルに確率を割り当てる場合、出力の合計が 1 になることが重要です。クラス A とクラス B の両方に 4 分の 3 の確率を割り当てるなどの答えはナンセンスです。したがって、これらの代替手段は相互に排他的であるという知識をネットワークに提供する必要があります。
これらの問題に対処するには、相互に排他的なクラスを適切に処理できる別のコスト関数が必要です。ソフトマックス関数を使用すると、この目標を達成できます。これは最大関数の連続バージョンであり、ソフトマックス グループの出力が確率分布を表すことを保証します。
ソフトマックス グループでは、各ユニットは、ロジットと呼ばれる蓄積された入力を下の層から受け取ります。 yi で示される各ユニットの出力は、それ自体のロジットだけでなく、ソフトマックス グループ内の他のユニットによって蓄積されたロジットにも依存します。数学的には、i 番目のニューロンの出力は、ソフトマックス グループ内のすべてのニューロンの同じ量の合計で割った方程式 e^zi を使用して計算されます。
このソフトマックス方程式は、すべての yi の合計が 1 に等しいことを保証し、確率分布を表します。さらに、yi の値は 0 と 1 の間にあり、相互に排他的な選択肢を確率分布として表現することが強制されます。
ソフトマックス関数の導関数はロジスティック単位に似た単純な形式を持ち、計算に便利です。ソフトマックス グループ内の個々のニューロンの入力に対する出力の導関数は、yi 倍 (1 - yi) で与えられます。
出力にソフトマックス グループを使用する場合、適切なコスト関数を決定することが重要です。クロスエントロピーコスト関数とも呼ばれる、正解の負の対数確率が一般的に使用されます。このコスト関数は、正しい答えが得られる対数確率を最大化することを目的としています。
クロスエントロピーコスト関数を計算するには、考えられるすべての答えを合計し、間違った答えには値 0 を割り当て、正しい答えには値 1 を割り当てます。負の対数確率を計算することで、正解に関連するコストが得られます。
クロスエントロピー コスト関数の主な利点の 1 つは、ターゲット値が 1 で、出力がゼロに近い場合の勾配が大きいことです。出力の小さな変化であっても、コスト関数の値は大幅に向上します。たとえば、その差はわずかであっても、100 万分の 1 の値は 10 億分の 1 の値よりもかなり優れています。
この点をさらに説明するには、答えが 100 万分の 1 または 10 億分の 1 であるという信念に基づいて賭けをすることを想像してください。 100 万分の 1 のオッズで賭けて外れると、100 万ドルを失うことになります。逆に、答えが 10 億分の 1 だった場合、同じ賭けで 10 億ドルを失うことになります。
クロスエントロピー コスト関数のこの特性により、答えが著しく間違っている場合に急峻な導関数が保証され、入力の変化に応じた出力の変化の平坦性のバランスが保たれます。これらの係数を掛け合わせると、出力ユニット i に入るロジットに関するクロスエントロピー コスト関数の導関数が得られます。この計算には連鎖則が使用されます。
ユニットの出力に関するコスト関数の導関数に、ロジット zi に関する出力の導関数を乗算すると、実際の出力からターゲット出力を引いた値が得られます。出力とターゲットが大きく異なる場合、この差の傾きは 1 またはマイナス 1 になります。傾きが 0 に近づくのは、それらがほぼ同じである場合のみであり、正しい答えが生成されていることを示します。
ソフトマックス出力関数は、ニューラル ネットワークの出力が相互に排他的な選択肢にわたる確率分布を表すようにするために利用されます。ソフトマックス方程式を使用することにより、出力は合計が 1 になるように制約され、さまざまなクラスの確率が示されます。
ただし、ニューラル ネットワークをトレーニングするためのコスト関数として二乗誤差測定を使用すると、目的の出力が実際の出力からかけ離れている場合に重みの調整が遅くなるなどの欠点があります。この問題に対処するために、クロスエントロピー コスト関数が導入されています。正解の負の対数確率を計算し、ターゲット値が 1 で出力が 0 に近い場合に、より大きな勾配を生成します。この特性により、より効率的な学習が可能になり、相互に排他的な選択肢に等しい確率を割り当てることが回避されます。
ソフトマックス関数とクロスエントロピー コスト関数は、ニューラル ネットワークをトレーニングして確率的出力を生成するための強力な組み合わせを提供します。バックプロパゲーションと確率的勾配降下法によって重みとバイアスを調整することで、ネットワークは正確な予測を行い、データ間の複雑な関係を表現する方法を学習できます。
これらの概念と技術はニューラル ネットワーク トレーニングの基礎を形成し、自然言語処理、コンピューター ビジョン、パターン認識などのさまざまな領域に適用できることに注意することが重要です。これらの分野における継続的な研究と進歩は、現実世界の問題を解決する際のニューラル ネットワークのパフォーマンスと機能の向上に貢献します。
講義 4.4 — 神経確率的言語モデル
講義 4.4 — 神経確率的言語モデル [機械学習のためのニューラル ネットワーク]
このビデオでは、特に音声認識システムにおける、単語を表す特徴ベクトルの実際的な応用を検討します。誰かが次に何を言うかをよく理解することは、その人が発する音を正確に認識するために非常に重要です。
音声認識は、音素を正確に識別するという課題に直面しています。特に、音響入力があいまいであることが多く、複数の単語が信号に同等に適合する可能性がある雑音の多い音声ではそうです。しかし、私たちは正しい言葉を聞くために発話の意味に依存しているため、通常はこの曖昧さに気づきません。この無意識の音声認識プロセスは、音声認識装置が次に起こりそうな単語を予測する必要性を浮き彫りにしています。
幸いなことに、話された内容を完全に理解していなくても、単語を効果的に予測することができます。トライグラム法は、後に続く可能性のあるさまざまな単語の確率を予測するための標準的なアプローチです。これには、大規模なテキスト コーパス内の単語のトリプルの頻度を数え、これらの頻度を使用して、前の 2 つの単語を考慮した次の単語の相対確率を推定することが含まれます。
トライグラム法は、先行する 2 つの単語に基づいて確率を提供するため、最近まで最先端のアプローチでした。より大きなコンテキストを使用すると、可能性が爆発的に増加し、カウントがほとんどゼロになります。 「恐竜のピザ」など、コンテキストが見えない場合、モデルは個々の単語の予測に頼ります。これまでに例に遭遇したことがないからといって、確率をゼロにしないことが重要です。
ただし、トライグラム モデルは、次の単語の予測に役立つ貴重な情報を見落としています。たとえば、「猫」と「犬」、「潰れた」と「平らになった」などの単語の類似点を理解すると、予測の精度を高めることができます。この制限を克服するには、単語をその意味的および構文的特徴を捕捉する特徴ベクトルに変換する必要があります。前の単語の特徴を使用することにより、より大きなコンテキスト (たとえば、前の 10 単語) を予測に利用できます。
Joshua Bengio はニューラル ネットワークを使用したこのアプローチの先駆者であり、彼の最初のモデルは家系図ネットワークに似ていますが、より複雑な言語モデリングに適用されています。単語のインデックスを入力し、隠れ層を通じてアクティビティを伝播することにより、ネットワークは単語の分散表現を特徴ベクトルとして学習できます。これらのベクトルは、ソフトマックス出力層を使用してさまざまな単語の確率を予測するために使用されます。
さらなる改良点は、入力単語を出力単語に直接接続するスキップ層接続の使用です。個々の入力単語には、潜在的な出力単語に関する貴重な情報が含まれています。 Bengio のモデルは当初、trigram よりもわずかにパフォーマンスが悪かったものの、trigram と組み合わせることで有望性を示しました。
Bengio の研究以来、単語の特徴ベクトルを使用する言語モデルは大幅に改善され、トライグラム モデルを超えました。ただし、ソフトマックス出力層にはかなりの数の重み (たとえば、数十万) が必要になる可能性があるため、多数の出力ワードを処理するときに問題が発生します。最後の隠れ層が大きすぎると過学習が発生する可能性がありますが、そのサイズを小さくすることで膨大な数の確率を正確に予測できます。
次のビデオでは、音声認識システムには確率の大小両方が関係することを考慮して、大量の出力単語を処理するための代替アプローチを検討します。
講義 4.5 — 多くの可能な出力の処理
講義 4.5 — 多くの可能な出力の処理 [機械学習のためのニューラル ネットワーク]
このビデオでは、大きな語彙を扱うときにソフトマックスで過剰な数の出力ユニットが必要になるのを避けるためのさまざまなアプローチを検討します。単語の確率を取得するために何十万もの出力ユニットを用意する代わりに、代替アーキテクチャを使用できます。
1 つのアプローチは、文脈単語と候補単語を入力するシリアル アーキテクチャです。ネットワークを横断することにより、そのコンテキストにおける候補単語の適合性を示すスコアを生成します。このアプローチではネットワークを複数回実行する必要がありますが、ほとんどの計算は 1 回行うだけで済みます。コンテキストからの同じ入力をさまざまな候補単語に対して再利用でき、再計算が必要な部分は候補単語の特定の入力と最終スコア出力だけです。
このシリアル アーキテクチャで学習するには、各候補単語のスコアを計算し、ソフトマックス関数を適用して単語の確率を取得します。単語の確率をそのターゲットの確率 (通常、正しい単語の場合は 1、その他の単語の場合は 0) と比較することにより、クロスエントロピー領域導関数を導き出すことができます。これらの導関数は、正しい候補単語のスコアを増やし、上位のライバルのスコアを減らすように重みを調整します。効率を最適化するために、考えられるすべての候補を評価するのではなく、別の予測子によって提案される候補単語のより小さなセットを考慮することができます。
大きなソフトマックスを回避するもう 1 つの方法は、単語をバイナリ ツリー構造に編成することです。これには、すべての単語をツリー内の葉として配置し、前の単語のコンテキストを使用して予測ベクトルを生成することが含まれます。このベクトルをツリー内の各ノードの学習済みベクトルと比較することで、右または左の分岐を取る確率を決定できます。ツリーを再帰的にたどることで、目的の単語に到達します。学習中は、正しいパスに沿ったノードのみを考慮する必要があるため、計算負荷が大幅に軽減されます。
単語特徴ベクトル学習の別のアプローチは、過去と未来のコンテキストを活用することです。単語のウィンドウを使用して、正しい単語またはランダムな単語をウィンドウの中央に配置します。正しい単語には高いスコアを出力し、ランダムな単語には低いスコアを出力するようにニューラル ネットワークをトレーニングすることで、意味上の区別を捉える特徴ベクトルを学習できます。これらの特徴ベクトルは、さまざまな自然言語処理タスクに役立ちます。
学習された特徴ベクトルを視覚化するには、t-SNE などの手法を使用して 2 次元マップに表示できます。この視覚化は、類似した単語やクラスターを識別するのに役立ち、ニューラル ネットワークによる単語の意味の理解に関する洞察を提供します。学習されたベクトルは意味関係と区別を明らかにし、単語の意味を決定する際の文脈情報の力を実証します。
以下は、学習された特徴ベクトルの 2 次元マップ表現の別の例です。マップのこのセクションでは、ゲームに関連する単語のクラスターが観察できます。試合、ゲーム、レース、選手、チーム、クラブなどの単語がグループ化され、意味の類似性が示されます。さらに、賞品、カップ、ボウル、メダル、その他の報酬など、ゲームに関連する要素も識別します。これらの意味関係を捉えるニューラル ネットワークの機能により、ある単語が特定のコンテキストに適している場合、同じクラスター内の他の単語も同様に適切である可能性が高いと推測できます。
マップの別の部分に移動すると、場所専用のクラスターが見つかります。一番上には米国のさまざまな州があり、その後に主に北米にある都市が続きます。さらに、地図には他の都市や国も表示されており、ニューラル ネットワークによる地理的関係の理解が示されています。たとえば、ケンブリッジと、すべて英語圏のカナダに属するトロント、デトロイト、オンタリオを結び、ケベック州をベルリンおよびパリとグループ化し、フランス語圏のカナダと関連付けます。同様に、イラクとベトナムの類似性を示唆しています。
マップ上の別の例を見てみましょう。このセクションでは副詞に焦点を当て、同様の意味を共有するおそらく、おそらく、おそらく、おそらくなどの単語を紹介します。同様に、完全に、完全に、完全に、および大幅に意味上の類似性を識別します。さらに、どれとあれ、誰と何を、どのように、かどうか、そしてなぜなど、他の類似パターンも認識します。
これらの学習された特徴ベクトルの興味深い点は、明示的なガイダンスなしで、Wikipedia の単語シーケンスのみを分析することによって、微妙な意味のニュアンスを捕捉できることです。この文脈情報は、単語の意味を理解する上で重要な役割を果たします。実際、いくつかの理論は、これが私たちが単語の意味を獲得する主要なメカニズムの 1 つであることを示唆しています。
結論として、大規模な語彙を処理し、単語表現を学習するためのこれらのさまざまなアプローチは、従来のソフトマックス アーキテクチャに代わる効率的な方法を提供します。シリアル アーキテクチャ、ツリー構造、またはコンテキスト情報を活用することで、ニューラル ネットワークは意味のある類似した単語表現を生成できます。これらの表現は、さまざまな自然言語処理タスクで価値があることが証明されており、単語間の意味関係と区別を捕捉するネットワークの能力を示しています。
講義 5.1 — 物体認識が難しい理由
講義 5.1 — 物体認識が難しい理由 [機械学習のためのニューラル ネットワーク]
実際のシーンでオブジェクトを認識するには、このタスクにおける人間の生来の熟練のために見落とされがちないくつかの課題が生じます。ピクセル強度をオブジェクト ラベルに変換することは、さまざまな困難を伴う複雑なプロセスです。大きな障害の 1 つは、現実世界で利用できる動きやステレオの手がかりが不足しているため、オブジェクトをその周囲からセグメント化することです。この欠如により、どの部分が同じオブジェクトに属しているかを判断することが困難になります。さらに、オブジェクトが他のオブジェクトによって部分的に隠れることもあり、認識プロセスがさらに複雑になります。興味深いことに、私たちの優れた視覚能力は、これらの問題を覆い隠してしまうことがよくあります。
物体認識におけるもう 1 つの大きな課題は、ピクセル強度に対する照明の影響に起因します。ピクセルの強度は、オブジェクト自体だけでなく、照明条件にも依存します。たとえば、明るい照明の下で黒い表面は、薄暗い照明の下で白い表面と比較して、より強いピクセルを生成します。オブジェクトを認識するには、これらのさまざまなピクセル強度をクラス ラベルに変換する必要がありますが、これらの変動は、オブジェクトの性質やアイデンティティとは関係のない要因によって発生する可能性があります。
オブジェクトは変形することもあるため、認識がさらに複雑になります。手書きの数字のような比較的単純なオブジェクトであっても、同じ名前に関連付けられたさまざまな形状が存在します。たとえば、数字の「2」は尖った斜体で表示されたり、より大きなループとより丸みを帯びた形状になったりすることがあります。さらに、オブジェクトのクラスは、多くの場合、見た目ではなく機能によって定義されます。アームチェアから木製の背もたれを備えたモダンなスチールフレームのデザインまで、無数のバリエーションが存在する椅子について考えてみましょう。視覚的な特徴だけではクラスを決定するのに十分ではない場合があります。
視点の変化により、物体認識の困難がさらに複雑になります。複数の視点から 3 次元オブジェクトを認識する機能により、従来の機械学習手法では処理が困難な画像変化が生じます。私たちの視線が固定されている間にオブジェクトが移動すると、オブジェクトに関する情報が異なるピクセル間で移動する可能性があります。通常、視覚タスクのピクセルに対応する入力次元間でのこの情報の転送は、機械学習では一般的には発生しません。 「次元ホッピング」と呼ばれることが多いこの問題に対処することは、認識精度を向上させるために非常に重要です。この問題を解決するための体系的なアプローチが非常に望まれています。
要約すると、実際のシーンでオブジェクトを認識するには、多くの課題が伴います。これらの問題を克服するには、セグメンテーション、照明の変化、オクルージョン、変形、視点の変更、オブジェクトの意味定義に関連する問題に対処する必要があります。これらの要因を考慮した堅牢かつ体系的な方法を開発することで、物体認識システムの精度と信頼性が向上します。
講義 5.2 — 視点の不変性の達成
講義 5.2 — 視点不変性の実現 [機械学習のためのニューラル ネットワーク]
このビデオでは、視点不変性の概念を詳しく掘り下げ、物体認識におけるこの課題に対処するためのさまざまなアプローチを検討します。視点の変動は、物体を見るたびに異なるピクセルに表示されるため、物体認識がほとんどの機械学習タスクとは異なるため、重大な障害となります。この課題に対する私たちの生来の適性にもかかわらず、工学や心理学において広く受け入れられている解決策はまだ見つかっていません。
最初のアプローチは、冗長な不変特徴の使用を提案します。これらの機能は、移動、回転、スケーリングなどの変換に耐えることができる必要があります。たとえば、間に赤い点があるほぼ平行な一対の線は、セグロカモメの赤ちゃんが餌をつつく場所を識別するために使用する不変特徴として提案されています。不変の特徴の大規模なセットを採用することで、特徴間の関係を明示的に表すことなく、それらをオブジェクトまたは画像に一意に組み立てることができます。
ただし、認識タスクを扱うときに問題が発生します。複数のオブジェクトから特徴を抽出すると、異なるオブジェクトの一部で構成された特徴が得られ、認識に誤解を招く情報が生じる可能性があります。したがって、異なるオブジェクトの一部からフィーチャを形成することを避けることが重要になります。
「賢明な正規化」と呼ばれる別のアプローチでは、オブジェクトの周囲にボックスを配置します。このボックス内で基準フレームを定義することにより、オブジェクトの特徴をそれに相対的に記述し、不変性を実現できます。オブジェクトが剛体形状であると仮定すると、このアプローチは視点変更の影響を効果的に排除し、次元ホッピングの問題を軽減します。ボックスは必ずしも長方形である必要はありません。平行移動、回転、スケール、せん断、ストレッチを考慮できます。ただし、適切なボックスを選択すると、セグメンテーション エラー、オクルージョン、異常な方向の可能性があるため、課題が生じます。正しい箱を決定するにはオブジェクトの形状に関する知識が必要であり、鶏が先か卵が先かという問題が生じます。箱を正しく判断するには形状を認識する必要がありますが、形状を認識するには正しい箱が必要です。
ブルートフォース正規化アプローチでは、トレーニング中に適切にセグメント化された直立画像を使用して、オブジェクトの周囲のボックスを慎重に定義します。テスト中、乱雑な画像を扱う場合、さまざまな位置とスケールで考えられるすべてのボックスが調査されます。このアプローチは、セグメント化されていない画像から顔や番地を検出するなどのタスクのためにコンピューター ビジョンで一般的に使用されます。ただし、認識エンジンが位置とスケールの変動を処理でき、異なるボックスを試すために粗いグリッドを使用できる場合は、より効率的です。
視点の不変性は、物体認識における重要な課題です。不変特徴の使用、境界ボックスを使用した賢明な正規化、強引な正規化などのアプローチは、視点の変動の影響を軽減するのに役立ちます。ただし、適切な特徴の選択、正しいボックスの決定、さまざまな位置とスケールの処理については、コンピューター ビジョンの分野で引き続き研究が続けられています。
講義 5.3 — 数字認識のための畳み込みネット
講義 5.3 — 数字認識のための畳み込みネット [機械学習のためのニューラル ネットワーク]
このビデオでは、畳み込みニューラル ネットワーク (CNN) と手書き数字認識におけるその応用について説明します。 CNN は 1980 年代に大きな成功を収め、特にヤン・ルカンの深層畳み込みネットは手書き認識に優れ、実際に実装されました。これらのネットワークは、利用可能なコンピューター上でトレーニングでき、非常に優れたパフォーマンスを発揮できる、当時の数少ないディープ ニューラル ネットワークの 1 つでした。
CNN は、複製された特徴の概念に基づいて構築されています。オブジェクトは画像内のさまざまな位置に現れる可能性があるため、ある場所で役立つ特徴検出器は他の場所でも役立つ可能性があります。このアイデアを活用するために、同じ特徴検出器の複数のコピーが画像内の異なる位置に作成されます。これらの複製された特徴検出器は重みを共有するため、学習する必要があるパラメーターの数が大幅に減少します。たとえば、27 ピクセルを持つ 3 つの複製された検出器には、9 つの異なる重みだけが必要です。
CNN では、それぞれが複製された特徴で構成される複数の特徴マップが使用されます。これらの複製されたフィーチャはさまざまな場所で同一であるように制約されますが、異なるマップは異なるフィーチャを検出するように学習します。このアプローチにより、さまざまなタイプの特徴で各画像パッチを表現できるようになり、認識機能が強化されます。このアルゴリズムを使用してトレーニングするのが簡単であるため、レプリケートされた特徴はバックプロパゲーションとよく連携します。バックプロパゲーションを変更して重み間の線形制約を組み込むことができ、複製された特徴検出器が効果的に学習されるようにすることができます。
複製された特徴検出器の成果に関しては、しばしば混乱が生じます。翻訳の不変性を達成すると主張する人もいますが、これは完全に正確ではありません。複製された特徴は、ニューロンの活動において不変性ではなく等価性を達成します。たとえば、画像が変換されると、活性化されたニューロンもそれに応じてシフトします。ただし、複製されたフィーチャによって取得される知識は不変です。ある特徴が 1 つの場所で検出されることがわかっている場合、それは別の場所でも検出される可能性があります。何らかの並進不変性を導入するには、複製された特徴検出器の出力を、平均化するか、隣接する検出器の最大値を取ることによってプールすることができます。ただし、このプーリング プロセスによって正確な空間情報が失われる可能性があり、正確な空間関係に依存するタスクに影響を与えます。
Jan Lecun と彼の共同研究者は、手書き数字認識における CNN の力を実証し、LeNet-5 アーキテクチャで印象的な結果を達成しました。 LeNet-5 は、複数の隠れ層と特徴マップ、および層間のプーリングで構成されていました。重複する文字を処理でき、入力前に分割する必要がありませんでした。トレーニング方法論では、入力ピクセルからの出力として郵便番号を生成する完全なシステム アプローチが採用されました。トレーニングは、正式な導入前から、最大マージンと同様の方法を使用して実施されました。 LeNet-5 は、北米全土の小切手の読み取りにおいて非常に価値があることが証明されました。
機械学習、特にニューラル ネットワークへの事前知識の注入は、ネットワーク設計、ローカル接続、重み制約、または適切なニューラル アクティビティを通じて行うことができます。このアプローチは、ネットワークを特定の問題解決アプローチに偏らせます。もう 1 つの方法は、事前知識に基づいて合成トレーニング データを生成することで、ネットワークに学習するためのより多くの例を提供します。コンピューターが高速になるにつれて、後者のアプローチがますます現実的になってきます。これにより、最適化により多層ネットワークを活用する効果的な方法を発見でき、基礎となるメカニズムを完全に理解していなくても優れたソリューションを実現できる可能性があります。
合成データを使用することで、手書き数字認識がいくつかの進歩を遂げました。合成データの生成、グラフィックス プロセッシング ユニット (GPU) での大規模ネットワークのトレーニング、コンセンサス モデルの作成などのトリックを組み合わせることで、大幅な改善が達成されました。たとえば、スイスのユルゲン・シュミットフーバー氏率いるグループは、エラー率を約 25 件まで削減し、おそらく人為的エラー率に近づいたと考えられます。さまざまなモデルのパフォーマンスを評価するには、数値メトリクスだけに依存するのではなく、モデルがどのようなエラーを起こすかを考慮する必要があります。マクネマー テストのような統計テストでは、特定のエラーを分析することで感度が向上し、モデルの優位性をより適切に評価できるようになります。
したがって、エラー率に基づいてモデルを比較する場合は、モデルが起こす特定のエラーを考慮し、マクネマー検定などの統計検定を実行して、差が統計的に有意かどうかを判断することが重要です。全体的なエラー率を見るだけでは、自信を持って判断するのに十分な情報が得られない可能性があります。
スイスのユルゲン・シュミットフーバー氏のグループが行った研究は、合成データを通じて知識を注入することの有効性を示した。彼らは、実際のトレーニング ケースを変換して追加のトレーニング サンプルを作成することにより、有益な合成データを生成することに多大な労力を費やしました。レイヤーごとに多くのユニットを備え、グラフィックス プロセッシング ユニット (GPU) 上で多くのレイヤーを備えた大規模なネットワークをトレーニングすることで、計算能力を活用し、過剰適合を回避することができました。
彼らのアプローチは、合成データの生成、GPU での大規模ネットワークのトレーニング、および最終予測を決定するための複数のモデルによるコンセンサス手法の使用という 3 つの主要な手法を組み合わせたものです。このアプローチにより、エラー率を約 25 エラーに削減するという素晴らしい結果を達成しました。これは、人的エラー率に匹敵します。
異なるエラー率のモデルを比較するときに、興味深い疑問が生じます。エラーが 30 個のモデルがエラーが 40 個のモデルよりも大幅に優れているかどうかをどのように判断すればよいでしょうか。驚くべきことに、それは各モデルによって発生する特定のエラーに依存します。単に数字を見るだけでは十分ではありません。マクネマー テストは、特定のエラーに焦点を当てた統計テストであり、モデルを比較する際の感度が高くなります。
たとえば、2x2 テーブルを考慮すると、一方のモデルが正しく判断し、もう一方のモデルが誤って判断するケースを調べることができます。これらのケースの比率を分析することで、モデル間の差異の重要性を判断できます。場合によっては、モデルのエラー率は低いものの、他のモデルが成功する特定のインスタンスではパフォーマンスが低下するため、比較の重要性が低くなります。
したがって、モデルを評価および比較するときは、エラー率と発生した特定のエラーの両方を考慮することが重要です。マクネマー テストのような統計テストを使用すると、モデル間のパフォーマンスの違いについてより正確な洞察が得られます。これは、モデルの選択と改善について情報に基づいた意思決定を行うのに役立ちます。
エラー率と特定のエラーを考慮することに加えて、モデルを評価および比較するときに考慮すべき要素が他にもあります。
データの質と量: トレーニング データの質と量は、モデルのパフォーマンスに大きな影響を与える可能性があります。大規模で多様な代表的なデータセットでトレーニングされたモデルは、より一般化される傾向があります。トレーニングと評価に使用されるデータが、モデルが遭遇する現実のシナリオを正確に反映していることを確認することが重要です。
計算リソース: モデルのトレーニングとデプロイに必要な計算リソースは、重要な考慮事項です。一部のモデルでは、高性能 GPU や特殊なハードウェアなどの膨大な計算能力が必要となる場合があり、これが実用性やスケーラビリティに影響を与える可能性があります。
解釈可能性: アプリケーションによっては、モデルの予測の解釈可能性が重要な場合があります。ディープ ニューラル ネットワークなどの一部のモデルはブラック ボックスとみなされることが多く、その決定の背後にある理由を理解することが困難になります。対照的に、デシジョン ツリーや線形モデルなどの他のモデルは、より解釈しやすくなります。モデルの選択は、問題と関係者の要件に合わせて行う必要があります。
ロバスト性と一般化: モデルのパフォーマンスをトレーニング データだけでなく、一般化能力を評価するために目に見えないデータでも評価する必要があります。堅牢なモデルは、多様なデータ サンプルで適切に機能し、ノイズ、異常値、敵対的攻撃に耐性がある必要があります。
スケーラビリティと効率: アプリケーションの要件に応じて、モデルのスケーラビリティと効率が重要な考慮事項になります。特定のシナリオでは、大量のデータを効率的に処理したり、リアルタイムの予測を実行したりできるモデルが好まれる場合があります。
倫理的考慮事項: モデルを選択して導入する際には、倫理的影響を考慮することが不可欠です。 AI システムの責任ある公平な使用を確保するには、データまたはモデルの予測のバイアス、公平性、プライバシー、セキュリティ上の懸念を考慮する必要があります。
ユーザーのフィードバックとドメインの専門知識: エンドユーザーとドメインの専門家からのフィードバックを収集すると、モデルのパフォーマンスと適合性についての貴重な洞察が得られます。彼らの意見は、改善すべき特定の領域を特定したり、自動化された評価指標では捉えられない可能性のある制限を明らかにしたりするのに役立ちます。
エラー率や特定のエラーに加えてこれらの要素を考慮することで、モデルを評価および比較する際に、より包括的で情報に基づいた意思決定を行うことができます。
講義 5.4 — 物体認識のための畳み込みネット
講義 5.4 — 物体認識のための畳み込みネット [機械学習のためのニューラル ネットワーク]
手書きの数字を認識するために開発されたネットを、高解像度のカラー画像内のオブジェクトを認識できるように拡張できるかどうかという問題は、常に推測の話題となってきました。乱雑なシーン、セグメンテーション、3D 視点、複数のオブジェクト、照明の変化への対応など、さまざまな要因により、これは困難な作業であると考えられていました。これまで研究者たちは、手書きの数字を認識するネットワークの能力を向上させることに重点を置いていたため、研究結果が実際のカラー画像に適用できるかどうかを疑問視する人もいました。
この問題に対処するために、ImageNet と呼ばれる最近のコンテストが開催され、120 万の高解像度カラー画像のサブセットでコンピューター ビジョン システムがテストされました。課題は、画像に 1,000 の異なるクラスを正しくラベル付けすることでした。システムには 5 つの予測を行うことが許可され、予測の 1 つが人によって割り当てられたラベルと一致する場合、それらは正しいと見なされます。さらに、システムが認識されたオブジェクトの周囲にボックスを配置する必要がある位置特定タスクもありました。
さまざまな機関からの主要なコンピューター ビジョン グループがコンテストに参加し、手動で調整された初期段階と最上位段階の学習アルゴリズムを組み合わせた複雑な多段階システムを採用しました。ただし、このタスクは非常に困難であることが判明し、最良のシステムでもエラー率は 26% ~ 27% でした。対照的に、Alex Krizhevsky のディープ ニューラル ネットワークは、16% という大幅に低いエラー率を達成しました。
Alex Krizhevsky のネットワークは、深層畳み込みニューラル ネットワークに基づいており、7 つの隠れ層を利用し、活性化関数として線形単位を修正しました。ネットワークは、強度の変動を処理するために層内で競合正規化を採用しました。一般化を改善するために、ダウンサンプリングやリフレクションなどの変換によるデータ拡張や、最上位層でのドロップアウト正則化の使用など、いくつかの手法が使用されました。このネットワークは、強力なハードウェア、特に Nvidia GTX 580 グラフィックス プロセッサでトレーニングされました。
コンテストの結果は、Alex Krizhevsky のネットワークが他のコンピュータ ビジョン システムを大幅に上回っていることを示しました。その成功は、リアルカラー画像における物体認識におけるディープ ニューラル ネットワークの可能性を実証しました。これらのネットワークは、事前の知識を活用して、大規模なデータ セットと計算を処理できます。効率的なハードウェアの使用と複数のコアにネットワークを分散できる可能性により、その機能がさらに強化されます。したがって、ディープ ニューラル ネットワークは今後も進歩し、静止画像における物体認識の標準的なアプローチになることが予想されます。
同様に、ディープ ニューラル ネットワークは、他のさまざまなドメインでも優れたパフォーマンスを示しています。たとえば、言語翻訳、感情分析、質問応答などの自然言語処理タスクで成功を収めています。これらのタスクでは、ネットワークはテキストのセマンティクスとコンテキストを理解することを学習し、正確で意味のある応答を生成できるようにします。
さらに、ディープ ニューラル ネットワークは音声認識にも適用されており、従来の方法よりも優れた性能を発揮しています。これらのネットワークは、大量のラベル付き音声データから学習することにより、話された単語を高精度で効果的に認識し、書き写すことができます。
ヘルスケアの分野では、ディープ ニューラル ネットワークは医療画像分析において優れた能力を実証しています。 X 線、MRI、CT スキャンなどの医療画像から病気の診断を支援します。これらのネットワークは、ラベル付けされた医療画像の膨大なコレクションから学習することで、人間の専門家に匹敵する精度で異常、腫瘍、その他の病状を検出できます。
ディープ ニューラル ネットワークの成功は、データの階層表現を自動的に学習する能力に起因すると考えられます。これらのネットワークは、複数の抽象レベルで特徴を段階的に抽出することで、データ内の複雑なパターンと関係をキャプチャできます。この特徴学習プロセスは、大規模なデータセットと強力な計算リソースの利用可能性と組み合わされて、さまざまな領域で大幅な進歩への道を切り開きました。
結論として、ディープ ニューラル ネットワークは、物体認識、自然言語処理、音声認識、医療画像分析などの幅広いタスクにおいて非常に効果的であることが証明されています。大規模なデータセットから学習し、意味のある表現を自動的に抽出する能力は、多くの分野に革命をもたらしました。計算リソースが向上し続けるにつれて、ディープ ニューラル ネットワークの機能におけるさらに素晴らしい成果とさらなる進歩が期待できます。