機械学習とニューラルネットワーク - ページ 51

 

消滅 (または爆発) グラデーション (DL 11)



消滅 (または爆発) グラデーション (DL 11)

より大きな問題を解決するためにニューラル ネットワークのスケールアップを掘り下げると、さらに多くの層を追加することが必要になります。ただし、より深いネットワークでは、勾配の消失または爆発によって引き起こされるトレーニング中に問題が発生する可能性があります。隠れ層のシグモイド活性化を備えたディープ ニューラル ネットワークを考えてみましょう。多数のノードと層を含むこのようなネットワークを視覚化することは非現実的になります。代わりに、各列が層を表し、活性化関数が各ブロック内に示されるブロック図で表すことができます。

ネットワークを視覚化するもう 1 つの方法は、データの各バッチに適用される操作のシーケンスを示す計算グラフを使用することです。入力行列から始めて、行列の乗算、バイアスの加算を実行し、各層で活性化関数を適用します。このプロセスは、出力層に到達するまで隠れ層を通過し、そこで活性化関数がソフトマックスに変わります。損失はアクティベーションとターゲットから計算されます。

計算を数学的に表現すると、重み行列と入力行列を乗算し、バイアスを追加し、活性化関数を適用します。式は隠れ層を介して続行され、最終的にはソフトマックス アクティベーションが適用される出力層に到達します。出力のアクティベーションとターゲットは、損失の計算に使用されます。

勾配降下法更新の導関数を計算するとき、連鎖規則が繰り返し適用されます。出力層から始めて、重み行列の転置を乗算し、活性化関数の導関数を要素ごとに乗算することによってデルタを計算します。このプロセスは、隠れ層を介してデルタを逆方向に伝播します。

勾配消失の問題は、隠れ層にシグモイド活性化関数を使用するときに発生します。シグモイドの微分値は小さい値になる傾向があり、逆方向伝播のたびにデルタが減少します。その結果、勾配がますます小さくなり、特に初期の層で重みを効果的に更新することが困難になります。

ディープ ラーニングは、勾配消失の問題により、ディープ ニューラル ネットワークをトレーニングする際に困難に直面しました。しかし、約 10 年前、この課題を克服するためのアプローチが考案されました。 1 つの方法は、重み行列の初期化を変更し、より大きな初期ランダム重みを生成して、シグモイド微分によって引き起こされるデルタの減少に対抗することです。

最も重要な進歩は、活性化関数として整流線形単位 (ReLU) を採用したことによってもたらされました。シグモイド導関数とは異なり、ReLU 導関数はデルタを大幅に削減しない傾向があります。この特性により、ディープ ニューラル ネットワークのトレーニングが容易になるため、ReLU アクティベーションの人気が高まりました。

ただし、ReLU アクティベーションを使用すると、勾配が爆発するリスクが生じ、逆方向に伝播するにつれてデルタが大きくなる可能性があります。これを軽減するには、シグモイド アクティベーションと比較して小さい初期重みを選択することをお勧めします。

ReLU ニューロンは、トレーニングの容易さと計算効率のため、隠れ層に好まれます。重みの初期化は、使用されるアクティベーション関数に依存しており、深層学習コミュニティは、さまざまなアクティベーション タイプに適切な重み初期化方法を決定する点で大幅な進歩を遂げています。最新の深層学習ライブラリでは、多くの場合、指定されたアクティベーションに基づいて重みの初期化が自動的に処理されます。

Vanishing (or Exploding) Gradients (DL 11)
Vanishing (or Exploding) Gradients (DL 11)
  • 2022.09.30
  • www.youtube.com
Davidson CSC 381: Deep Learning, Fall 2022
 

ニューラル ネットワークの過学習の回避 (DL 12)



ニューラル ネットワークの過学習の回避 (DL 12)

深層学習のために大規模なニューラル ネットワークを扱うと、過学習のリスクが大幅に増加します。過剰適合の原因と、それを検出して防止する方法を理解することが重要です。過剰適合は、機械学習モデルがトレーニング セットに限定されすぎて、新しいデータに一般化できないときに発生します。主な原因は、トレーニング データの量に比べてモデルのパラメーターの自由度が高すぎるため、自由度が高いモデルやトレーニング セットが小さいモデルが影響を受けやすくなることです。

たとえば、多項式回帰では、多項式の次数を増やすと、より多くのパラメータを微調整できるようになり、モデルがトレーニング データをより正確に適合できるようになります。ただし、これにより、トレーニング セットを超えた例に一般化する能力が妨げられる可能性があります。

ニューラル ネットワークのコンテキストでは、重みとバイアスがパラメーターとして機能します。ニューラル ネットワークが大きくなり、重みが増えると、パラメーターを選択する際の自由度が高まります。したがって、大規模なニューラル ネットワークをトレーニングする場合は、検証セットを監視することを識別の主な方法として、潜在的な過剰適合に注意することが重要です。

データセットをトレーニング、検証、テストのセットに分割すると、ネットワークの一般化を評価するのに役立ちます。過剰適合が発生すると、トレーニング セットと検証セットの間で損失または精度に顕著な差異が生じます。理想的には、トレーニング セットの損失はエポックの経過とともに減少するはずですが、増加し始めた場合は問題があることを示しています。同様に、検証セットの損失はトレーニング セットの損失に応じて減少するはずであり、トレーニング セットの損失が減少し続ける一方で検証セットの損失が増加し始めた場合、それは強い過学習を意味します。両方のセットのモデルの精度によって、分類問題の過学習が明らかになることもあります。

過剰適合に対処する 1 つのアプローチは、その原因に直接取り組むことです。膨大なデータセットを使用した大規模な深層学習の成功に見られるように、データ不足はより多くのデータを取得することで軽減できます。ただし、より多くのデータを取得することが不可能な場合は、モデルをスケールダウンすると、過剰適合に対処し、効率を向上させることができます。一般的なガイドラインは、当面の特定の問題に対して適切なサイズのニューラル ネットワーク アーキテクチャを選択することです。

過剰適合の懸念が続く場合は、高度なテクニックを考慮する必要があります。このような手法の 1 つは早期停止です。これは、エポックの最大数に達する前であっても、トレーニング セットと検証セットの間の分離が観察されたときにトレーニングを停止します。さらに、ドロップアウトや重みの正則化などの方法を使用して、過学習を防ぐことができます。

ドロップアウトでは、特定のニューロンが過剰な影響を与えるのを防ぐために、トレーニング中にネットワーク内の一部の活性化をランダムにゼロにすることが含まれます。ニューロンをドロップアウトすることにより、ネットワークの後続の層はそれらのニューロンに過度に依存しない機能を学習することを強制され、それによって過剰適合が軽減されます。ドロップアウトがないことを考慮して、テスト中に調整が行われます。

重みの正則化は、重みが大きくなりすぎるのを防ぐことでオーバーフィッティングと闘います。これは、大きな重み付けを妨げるペナルティ項を損失関数に組み込むことで実現されます。重み正則化の一般的な形式の 1 つは L2 正則化であり、すべての重みの二乗の合計が二次ペナルティ項として追加されます。この正則化項はハイパーパラメータによって制御され、正則化と元の損失関数の重点のバランスをとります。

ニューラル ネットワークをトレーニングする際には、過学習を監視することが重要です。モデルのサイズと利用可能なデータを考慮し、必要に応じて早期停止、ドロップアウト、正則化などの手法を使用して過学習に対処します。

Avoiding Neural Network Overfitting (DL 12)
Avoiding Neural Network Overfitting (DL 12)
  • 2022.10.01
  • www.youtube.com
Davidson CSC 381: Deep Learning, Fall 2022
 

畳み込み層 (DL 13)



畳み込み層 (DL 13)

私たちがこれまで考えてきたニューラル ネットワークは、各層が次の層に接続されている密に接続されています。高密度ネットワークは一般的で多用途であるため、出発点として適しています。ただし、特定のアプリケーションについては、より効果的な代替アーキテクチャを選択できます。このビデオでは、畳み込み層と呼ばれる最初の代替アーキテクチャを検討します。

畳み込みネットワークは画像処理タスクに適しています。入力画像を平面ベクトルとして扱う代わりに、畳み込み層は画像の空間情報を保存します。畳み込み層の各ニューロンは画像の小さな領域にのみ接続されており、ピクセルの空間的近接性をキャプチャします。このアーキテクチャを使用することにより、ネットワークは画像処理タスクの学習において有利になります。

畳み込み層には、ローカル接続と重み付けという 2 つの重要なアイデアがあります。ローカル接続とは、ニューロンが画像の小さなサブ領域に接続され、特定の特徴を学習できるようにすることを意味します。重み付けを行うことで、同じ関数が画像の異なる領域に確実に適用されます。重みを共有することで、ネットワークは複数の領域に同じ関数を適用する方法を学習できます。

畳み込み層には、考慮すべき新しいハイパーパラメータが導入されています。これらには、カーネル サイズ (サブ領域のサイズを決定する)、ストライド (ウィンドウがどれだけスライドするか)、出力チャネルの数 (各ウィンドウに適用される関数の数)、パディング (画像のエッジの処理)、プーリング (ニューロンの結果の集約) が含まれます。次元を減らすため)。

プーリングは、領域内のニューロンの結果を集約することで、ネットワーク内のパラメーターの数を減らすのに役立ちます。これは、平均するか最大値を取ることで実行できます。プーリングは、フィーチャの正確な位置特定が必要ではなく、領域内のフィーチャの全体的な存在が必要な場合に役立ちます。

畳み込みネットワークは、高密度ネットワークと比較して、画像をより効率的に処理する方法を提供します。空間情報を利用してパラメータの数を減らし、トレーニングを容易にします。

プーリングは、特徴マップの次元数と後続のレイヤーのパラメーターの数を減らすのに役立ちます。隣接するニューロンの結果を集約することにより、プーリングは、一部の空間的詳細を破棄しながら、最も重要な情報を保持します。

最大プーリングや平均プーリングなど、さまざまなタイプのプーリング操作があります。最大プーリングでは、各プーリング ウィンドウ内の最大値がその領域の代表値として選択されます。これは、ウィンドウ内に存在する最も顕著な特徴をキャプチャするのに役立ちます。一方、平均プーリングはウィンドウの平均値を取得し、特徴をより滑らかに表現します。

プーリング後、追加の畳み込み層をさらにスタックして、前の層の出力からより複雑で抽象的な機能を学習できます。後続の各層は、複数の小さな受容野からの情報を組み合わせることによって、より高いレベルの特徴を捕捉します。

要約すると、畳み込み層とプーリング層を備えた畳み込みニューラル ネットワーク (CNN) は、画像処理タスクに適しています。畳み込み層は空間的近接性を捕捉し、重み共有を利用して、ネットワークが局所的な特徴を効率的に学習できるようにします。プーリングにより次元が削減され、重要な情報が抽出されるため、後続の層はより抽象的な表現を学習できるようになります。この階層的な特徴学習により、CNN は画像分類、物体検出、画像セグメンテーションなどのさまざまなコンピューター ビジョン アプリケーションに対して強力になります。

 

少ないデータで大規模ネットワークをトレーニング: 転移学習とデータ拡張 (DL 14)



少ないデータで大規模ネットワークをトレーニング: 転移学習とデータ拡張 (DL 14)

ディープ ラーニングでは、ディープ ラーニングの力を活用したいが、ディープ モデルを効果的にトレーニングするための十分なデータが不足しているという問題に遭遇することがよくあります。この問題は、さまざまなドメインおよびニューラル ネットワーク アーキテクチャにわたって発生します。小さな画像データセットを使用した畳み込みネットワークを使用した画像処理タスクのシナリオに焦点を当ててみましょう。ただし、ここで説明する概念は他のドメインにも適用できます。

深層畳み込みネットワークは、画像処理における有効性で知られています。ただし、小さな画像データセットで深い畳み込みネットワークをトレーニングすると、通常、ネットワークが入力データを記憶するだけの極端な過学習が発生します。このような場合、データをより有効に活用する方法を見つけるか、代替データ ソースを探索する必要があります。

データ不足の問題を克服するアプローチの 1 つは、データ拡張と転移学習です。転移学習は現代の深層学習の基本概念であり、説明するのは驚くほど簡単です。このアイデアは、関連する、より一般的な問題でディープ ニューラル ネットワークをトレーニングし、問題を解決するために特定のデータセットで追加のトレーニングを行ってその事前トレーニングされたネットワークを再利用することです。

画像処理タスクの場合、Web または機械学習コンテストから収集された大規模な画像データセットでネットワークをトレーニングできます。事前トレーニングされたネットワークには、これらのデータセットからの画像の分類専用の最後の層があります。個別の出力層を使用して別の画像処理タスクに取り組む場合、事前にトレーニングされたネットワークの出力層を破棄し、問題の要件に一致する独自の出力層を追加できます。これには、新しい出力層を事前トレーニングされたネットワークの最後の層に接続する新しい重みを追加することが含まれます。これは、小さなデータセットを使用してトレーニングできます。

転移学習の有効性の背後にある期待は、事前トレーニングの問題が特定の問題に十分類似している場合、事前トレーニングされたネットワークによって学習された機能が転送され、問題に利益をもたらすという仮定にあります。事前トレーニングされたネットワークは一般的な画像処理関数を学習したものと考えることができ、小規模なデータセットでネットワークをトレーニングするときにこの学習された変換を利用できます。

転移学習を適用する場合、事前トレーニングされたモデルを利用するためのオプションがいくつかあります。問題に合わせて出力層を破棄する必要がありますが、有用な前処理がすでに実行されていると思われる場合は、他の層を削除することもできます。さらに、複数のレイヤーを追加して、特定の問題に対してより高度な処理を実行できます。初期の層によって行われた有用な処理を保持するために、特に事前トレーニングされたモデルが大規模なデータセットでトレーニングされ、問題のデータセットが小さい場合、再トレーニング中に重みをフリーズできます。

深層学習ライブラリでは、多くの場合、さまざまな問題タイプに対応する事前トレーニングされたモデルのコレクションであるモデル ズーが提供されます。これらのモデルは転移学習の開始点として機能し、幅広い問題を解決するために深層学習にアクセスできるようになります。

ただし、転移学習を利用したとしても、最後の数層であっても、データセットが小さすぎてネットワークを効果的にトレーニングできない可能性があります。このような場合、データセットからできるだけ多くの情報を抽出する必要があり、データ拡張というアイデアが生まれます。

データ拡張には、ニューラル ネットワークにとっては異なって見えるが、学習されたモデルを利用する人間や他のシステムにとっては同じ意味を保持するデータセットへの変換の適用が含まれます。画像処理の場合、表現された画像に対する人間の認識を変えることなく、さまざまな変換を適用できます。たとえば、画像を回転したり拡大したりしても、その基礎となるコンテンツは変更されません。これらの変換により、ニューラル ネットワークが認識する入力データに大きな違いが生じ、ネットワークが特定の例を記憶したり、入力の詳細に依存したりすることが困難になります。

ただし、変換によってデータの意味が変更されず、ネットワークの観点からは区別して見えるようにする必要があります。たとえば、固有の変換不変性を考慮すると、画像の変換は畳み込みネットワークの一般化能力にほとんど影響を与えない可能性があります。

データ拡張技術には、ランダム ノイズの追加、わずかなぼかし、および人間の画像認識を歪めないその他の修正が含まれます。これらの変換は簡単に計算でき、トレーニング中にデータの各バッチにランダムに適用できます。拡張されたデータセット上で複数のエポックに対してネットワークをトレーニングすることにより、ネットワークが正確な入力例を単に記憶することを防ぎ、より適切に一般化することを促します。

データ拡張手法は、事前トレーニング用の関連データなど、トレーニング対象のデータを増やすほど効果的ではないことに注意することが重要です。ただし、データ拡張を転移学習と組み合わせると、ディープ ニューラル ネットワークを使用してより広範囲の問題に取り組むことができます。

要約すると、ディープラーニングが必要だが十分なデータが不足している問題に直面した場合、転移学習とデータ拡張は貴重な戦略となります。転移学習には、関連する問題についてネットワークをトレーニングし、特定の問題に対して追加のトレーニングを加えてネットワークを再利用することが含まれます。データの拡張には、より一般化を図るためのバリエーションを導入しながら、その意味を保持するデータセットへの変換の適用が伴います。これらの手法は、より多くのデータに代わるものではありませんが、利用可能なデータが限られているシナリオでディープ ラーニングを活用するための実用的なソリューションを提供します。

Training large networks with little data: transfer learning and data augmentation (DL 14)
Training large networks with little data: transfer learning and data augmentation (DL 14)
  • 2022.10.21
  • www.youtube.com
Davidson CSC 381: Deep Learning, Fall 2022
 

残留ネットワークとスキップ接続 (DL 15)



残留ネットワークとスキップ接続 (DL 15)

ディープ ニューラル ネットワークは強力ですが、パラメーターの数が増えるとより多くのデータが必要になるため、トレーニングが困難になります。深いネットワークをトレーニングすると、浅いネットワークに比べて損失の減少がゆっくりと進むことがよくあります。これは、ランダムに初期化された重みを持つ複数のレイヤーを通過する入力データがランダム ノイズに混ざってしまい、意味のある勾配の伝播が困難になるためです。

この問題に対処するために、スキップ接続が導入されました。スキップ接続には、レイヤーをブロックにグループ化し、各ブロック内および各ブロックの周囲のデータ フローに 2 つのパスを提供することが含まれます。ブロックの出力は加算または連結を使用してその入力と結合され、入力がパススルーできるようになり、入力と更新がより意味のあるものになります。

スキップ接続を組み込んだ残留ブロックには、いくつかの利点があります。まず、入力に関するすべてを理解するのではなく、既存のデータを増強することに重点を置くことで、各ブロックの学習タスクを簡素化します。第 2 に、ネットワーク内の各層を更新するためのより短いパスを提供することで、勾配の流れが容易になります。これらの利点により、浅いネットワークと比較してトレーニングの進行が速くなり、パフォーマンスが向上します。

残差ブロックを使用する場合、特に畳み込み層を使用する場合には、入力テンソルと出力テンソルの間の形状の互換性に対処することが重要です。特に連結を使用する場合は、形状を一致させ、パラメータ数の爆発を避けるために特別な考慮を払う必要があります。通常、大規模な残余ネットワークのほとんどのスキップ接続では、連結よりも加算が優先されます。

1 つずつの畳み込みを使用して、畳み込みブロックの高さ、幅、チャネルの寸法を保存できます。畳み込み層のフィルターの数を指定することで、出力層の深さを調整できます。

残差ネットワークにはさまざまなバリエーションやアーキテクチャがありますが、スキップ接続と残差ブロックを活用してディープ ニューラル ネットワークのトレーニングを改善するという重要な考え方は一貫しています。これらの手法により、情報の流れが改善され、トレーニングが高速化され、モデルのパフォーマンスが向上します。さらなる理解と応用のために、さまざまな残差アーキテクチャとその特定の実装を調べることをお勧めします。

さらに、残余ネットワークを設定する際には、いくつかの実際的な懸念事項を考慮することが重要です。このような懸念の 1 つは、スキップ接続を使用する場合の入力テンソルと出力テンソルの間の形状の互換性を管理することです。畳み込み層が関与する場合、高さ、幅、チャネルの寸法を適切に揃える必要があるため、これはより複雑になります。

畳み込みブロックを簡素化するには、1 つずつのストライドと適切なパディングを使用して、入力イメージの高さと幅を維持します。これにより、ブロックの入力テンソルと出力テンソルを追加するときに、少なくとも空間次元が一致することが保証されます。チャネル次元に対処するために、1 つずつの畳み込みを使用できます。これらの畳み込みは単一のピクセルから入力を受け取るため、簡単に見えるかもしれませんが、出力層の深さを効果的に調整できるようになります。 1 つずつ畳み込みでフィルターの数を指定することで、出力テンソルの深さを増減して、形状に互換性を持たせることができます。

大規模な残留ネットワークを扱う場合、スキップ接続の数とパラメータの爆発的な増加の間のバランスを取ることが重要です。連結を過度に使用すると、活性化テンソルのサイズとパラメーターの数が大幅に増加する可能性があります。したがって、連結ベースのスキップ接続の数を制限し、それらのほとんどで加算を優先することをお勧めします。

モジュール性は、残余ネットワークによってもたらされるもう 1 つの利点です。残りのブロックの均一な構造と、ブロックを簡単に追加できる機能により、より深く、より強力なネットワークの構築が容易になります。ブロックの数を段階的に増やすことで、計算リソースとモデルの容量の間の望ましいトレードオフに適合するネットワークを作成できます。

残差ネットワークは非常に効果的であることが証明されていますが、ブロック内に正規化層や複数のパスを組み込むなど、設計上の選択肢が異なるさまざまなタイプの残差アーキテクチャがあることは注目に値します。これらのバリエーションを調査すると、ディープ ニューラル ネットワークのトレーニングを改善するためのさらなる洞察と可能性が得られます。

全体として、残差ネットワークは、スキップ接続と残差ブロックを活用して、ディープ ニューラル ネットワークをトレーニングするための有益なアプローチを提供します。これらは学習タスクを簡素化し、勾配伝播を加速し、強力なネットワーク アーキテクチャを構築するためのモジュール性を提供します。残差ネットワークの背後にある概念と考慮事項を理解することは、深層学習の研究と実際の応用の進歩に貢献します。

Residual Networks and Skip Connections (DL 15)
Residual Networks and Skip Connections (DL 15)
  • 2022.10.23
  • www.youtube.com
Davidson CSC 381: Deep Learning, Fall 2022
 

単語の埋め込み (DL 16)



単語の埋め込み (DL 16)

私たちがニューラル ネットワークで扱ってきたデータの大部分は画像データでした。ただし、テキスト データなど、他のタイプの問題にもニューラル ネットワークを使用できます。テキスト データをニューラル ネットワークへの入力として表現することは、画像ほど単純ではありません。

画像データでは、画像を赤、緑、青のピクセルの配列として表す標準的なデジタル保存形式を使用できます。この表現は、ピクセルと関連する色の強度の間の空間的関係を捉えるため便利です。

テキスト データの場合、文字が ASCII またはその他のデジタル値に変換される標準的なデジタル表現は、ニューラル ネットワークの学習方法には直接関係しません。 ASCII 値をニューラル ネットワークの有効な入力に変換するには、ASCII 値のバイナリ表現を使用したり、文字の範囲を 0 から 1 の間に正規化するなど、さまざまな方法が考えられます。ただし、これらの表現は、配列が画像を表すのと同じ方法で単語を表現します。

1 つのアプローチは、語彙全体のワンホット エンコーディングを使用して巨大なベクトルを作成することです。各単語には独自のベクトル表現があり、これにより、似た単語が異なる意味を持つという問題が解決されます。ただし、これにより次元が大幅に拡大し、単語の類似性と次元性のバランスが崩れます。

これに対処するために、私たちはいくつかの目標を達成するテキスト データの表現を目指しています。まず、過度に高次元ではない単語ごとの表現が必要です。次に、類似した単語が類似したベクトル表現を持つような、意味論的な情報を表現に含めたいと考えています。これは自然言語処理における困難な問題でした。

近年、ニューラル ネットワークを使用して、テキスト データの適切な入力表現を生成することに成功しています。 1 つのアプローチには、n 単語のシーケンスである n グラムをテキスト データから抽出することが含まれます。これらの N グラムは、文または文書内の特定の点のコンテキスト情報を提供します。

このアイデアは、ワンホット辞書表現を入力として使用してネットワークをトレーニングし、周囲の n-gram のワンホット エンコーディングを予測することです。たとえば、5 グラムの入力を使用して、N グラム内の他の 4 つの単語を予測できます。 N グラムを使用して近くの単語でネットワークをトレーニングすることにより、意味的に類似した単語は同様の表現を持ち、トレーニング中に同様の勾配フィードバックを受け取ることが期待されます。

ネットワークの出力層を破棄することで、最後の隠れ層の活性化のベクトルを入力単語の数値エンコードとして使用できます。この表現は単語埋め込みとして知られており、実際のテキスト内の単語のコンテキストをキャプチャします。 Word2Vec など、単語埋め込みを作成するにはさまざまなアプローチが存在します。

独自の単語埋め込みをトレーニングするのではなく、より多くのデータと計算リソースを備えた他者によって生成された、事前にトレーニングされた埋め込みを利用できます。任意のテキスト文書を単語埋め込みに変換するためのルックアップ テーブルを簡単に生成できます。このアプローチにより、テキスト データの機械学習のためのニューラル ネットワークへの入力として単語埋め込みを使用できるようになります。

テキスト データの機械学習のためにニューラル ネットワークへの入力として単語埋め込みを使用すると、いくつかの利点があります。これらの事前トレーニングされた埋め込みは、広範なデータと計算リソースを備えたモデルによって生成され、その結果、単語の豊かで意味のある表現が得られます。

既存の単語埋め込みにドキュメントを渡すことで、テキストのベクトル化された表現を取得できます。このベクトル表現は単語のコンテキスト情報をキャプチャし、ニューラル ネットワークへの入力として使用できます。

単語埋め込みを使用すると転移学習が可能になり、あるタスク (単語埋め込みモデルのトレーニングなど) から得た知識を別の関連タスク (テキスト データを使用した特定の機械学習問題など) に適用できます。独自のエンベディングを最初からトレーニングする代わりに、既存のエンベディングを利用して、その汎化機能の恩恵を受けることができます。

テキストの単語埋め込み表現を取得したら、ニューラル ネットワークのトレーニングに進むことができます。ニューラル ネットワークは、単語埋め込みベクトルを入力として受け取り、埋め込みにエンコードされた意味情報に基づいて予測を行うことを学習できます。

ニューラル ネットワークの具体的なアーキテクチャは、当面のタスクによって異なります。テキストの逐次的な性質を考慮するリカレント ニューラル ネットワーク (RNN)、局所的なパターンを捕捉する畳み込みニューラル ネットワーク (CNN)、またはその両方の組み合わせが考えられます。ネットワークは、感情分析、テキスト分類、言語生成、機械翻訳などのタスクを実行するように設計できます。

トレーニング プロセス中に、ニューラル ネットワークはパターンを認識し、入力された単語の埋め込みに基づいて予測を行う方法を学習します。ネットワークを通じて伝播される勾配によって重みが更新され、正確な予測を行うネットワークの能力が最適化されます。

単語埋め込みを利用することで、ニューラル ネットワークにとって意味のある方法でテキスト データを表現するという課題に対処します。これらの埋め込みは単語間の意味的関係をキャプチャし、ネットワークがコンテキストから学習し、情報に基づいた予測を行うことを可能にします。さらに、事前トレーニングされた埋め込みを活用することで、計算リソースが節約され、機械学習パイプラインの効率が向上します。

ニューラル ネットワークへの入力として単語の埋め込みを使用することで、転移学習と意味表現の力を活用できます。このアプローチにより、ニューラル ネットワークのテキスト データの処理と理解能力が大幅に強化され、さまざまな自然言語処理タスクやアプリケーションへの扉が開かれます。

Word Embeddings (DL 16)
Word Embeddings (DL 16)
  • 2020.10.20
  • www.youtube.com
Davidson CSC 381: Deep Learning, F'20, F'22
 

リカレント ニューラル ネットワーク (DL 17)



リカレント ニューラル ネットワーク (DL 17)

前回の講義では、適度な次元数のベクトルとして単語をトレーニング可能な表現である単語埋め込みの使用について説明しました。これらの埋め込みは、テキスト データを操作する機械学習システムを構築するための基盤として機能します。製品レビューの感情分類などの単純なタスクの場合は、文書を単語に分割し、各単語を埋め込み、埋め込みのシーケンスを入力としてニューラル ネットワークに渡すだけで十分です。ただし、会話型の返信や機械翻訳など、より複雑なタスクの場合は、より洗練されたアプローチが必要です。

これを説明するために、文内の次の単語を予測する例を使用しました。このタスクは感情分類よりも困難ですが、機械翻訳よりは簡単です。テキスト データを操作するニューラル ネットワークを設定する場合、大きく 2 つのアプローチに直面します。 1 つの極端な方法は、ドキュメント全体を入力としてネットワークに提供することですが、もう 1 つの極端な方法は、単一の単語を入力として提供することです。ただし、どちらのアプローチにも欠点があります。文書全体を操作すると、トレーニング例が制限され、さまざまな文書サイズに対応しますが、一度に 1 つの単語を操作すると、単語の意味を理解し、単語に直接マッピングされない概念を表現するために必要な周囲のコンテキストが無視されます。 。

これらの両極端の間の妥協点を見つけるために、一度に 1 つの単語を処理し、重要なコンテキストを保持するために以前の入力のネットワークの記憶を組み込む方法を導入しました。基本的なアイデアは、ネットワークの出力を入力にフィードバックし、以前のアクティブ化をこれまでに見た単語の要約として使用できるようにすることです。このアプローチによりリカレント ニューラル ネットワーク (RNN) が生成され、時間の経過とともに展開することで視覚化でき、単語が入力され、ネットワークの出力がフィードバックされるときのさまざまな時点でのネットワークを表現できます。

次の単語予測タスクの場合、RNN の隠れ層の出力は、文内の前の単語の要約として機能します。 RNN は、このコンテキストに基づいて次の単語を予測することを学習します。 RNN への入力は埋め込みベクトルですが、出力はワンホット辞書エンコーディングであり、考えられるさまざまな出力に対する不確実性を表現できます。

RNN のトレーニングには、ネットワークの重みを更新するための勾配の計算が含まれます。この課題は、重みが現在の入力への適用だけでなく、前のタイム ステップからの入力への影響によっても損失に影響を与えるという事実から生じます。特定のタイム ステップでの損失に対する重みの影響を計算するには、現在の入力に対する重みの影響と、以前のタイム ステップへの影響および現在のタイム ステップでの誤差への寄与の両方を考慮する必要があります。

リカレント ニューラル ネットワークでは、勾配消失問題が発生しやすいため、シグモイドまたは Tanh 活性化関数がよく使用されます。この問題は、勾配がネットワーク内で後方に伝播できず、長期的な依存関係を取得する能力が制限される場合に発生します。したがって、単純な RNN は、広範なコンテキストと長期記憶を必要とするタスクには効果的ではありません。そのため、ドキュメントではなく文に焦点を当てました。

次の講義では、長期記憶の問題に対処し、テキストおよび言語処理タスクのパフォーマンスを向上させるために特別に設計されたリカレント ニューラル ネットワークの変形について説明します。

Recurrent Neural Networks (DL 17)
Recurrent Neural Networks (DL 17)
  • 2020.10.22
  • www.youtube.com
Davidson CSC 381: Deep Learning, F'20, F'22
 

LSTM (DL 18)



LSTM (DL 18)

この講義の目的は、言語モデリングにおけるリカレント ニューラル ネットワーク (RNN) の実際の使用法を実証することです。以前、RNN を使用して文内の次の単語を予測することについて説明しました。これは、RNN の一般的な事前トレーニング タスクとして機能します。質問応答や機械翻訳などのより複雑なタスクの場合は、転移学習アプローチを採用できます。まず、次の単語予測タスクで RNN を事前トレーニングし、次に、関心のある特定のタスクに合わせて RNN を微調整します。

RNN からより意味のある出力を取得するために、ネットワークを順方向または逆方向に渡される隠れたアクティベーションまたは状態に焦点を当てます。これらの非表示の状態は、テキスト入力全体を表します。たとえば、文を翻訳する場合、各単語が RNN に順番に入力され、最後のタイム ステップで生成された隠れた状態がテキスト全体の表現になります。次に、この隠れた状態を追加のニューラル ネットワーク層に渡して、分類やテキスト生成などの目的のタスクを解決できます。

テキストを RNN にフィードして隠れ層状態にエンコードし、別の RNN をデコーダーとして使用するこのプロセスにより、出力テキストを生成できます。この RNN のペアを入出力ペアでトレーニングすることにより、文を翻訳したり、応答を生成したりできます。

ただし、10 時間のアクティベーションを持つ通常の RNN は、より長いシーケンスを扱う場合、勾配が消えるため困難に直面します。この問題に対処するために、Long Short-Term Memory (LSTM) と呼ばれるアーキテクチャを採用できます。 LSTM は、アクティベーションが流れるための複数のパスを提供し、勾配がネットワークを通じてより効率的に伝播できるようにします。

LSTM 層は入力と出力で構成されます。これらを使用して、次の単語を予測するなどのタスクでネットワークをトレーニングできます。入力は前の隠れ状態と連結され、追加の隠れ状態 (c) が各タイム ステップでネットワークからネットワーク自体に渡されます。この c 状態により、10 時間の活性化による制限を受けることなく勾配伝播が可能になります。シグモイド活性化関数は、以前の状態からどの情報を保持するか忘れるかを制御するために使用され、これらのゲートはトレーニング中に学習されます。

LSTM には h パスと c パスの両方が組み込まれているため、各タイム ステップ内でより複雑な計算が可能になり、LSTM ネットワークの複数のアプリケーションを通じて迅速な勾配伝播が容易になります。各コンポーネントによって学習される特定の機能について完全な知識はありませんが、LSTM アーキテクチャは他のタイプの RNN と比較して実際に効果的であることが証明されています。

LSTM アーキテクチャの実際的な有効性は、勾配消失問題に対処し、シーケンシャル データの長期依存関係をキャプチャできる能力にあります。 LSTM は、ゲート機構と情報フローの複数のパスを組み込むことにより、さまざまな自然言語処理タスクにおいて従来の RNN に比べて大幅な改善を示しました。

LSTM のゲートされた性質により、前のタイム ステップからの情報を選択的に記憶したり忘れたりすることができるため、シーケンスのモデリングと生成に適しています。 LSTM ゲートのシグモイド アクティベーションは情報の流れを制御し、何を保持し、何を破棄するかを決定します。これらのゲートはトレーニング データから学習し、以前の隠れ状態と現在の入力のどの部分が現在のタイム ステップに関連するかを適応的に決定します。

長期的な依存関係を記憶する LSTM の機能は、言語モデリングにおいて特に重要です。たとえば、言語翻訳では、文のコンテキストを理解するには、入力シーケンス全体を考慮する必要があります。 LSTM エンコードの最後のタイム ステップでの隠れた状態は、文の全体的な意味を捉え、正確な翻訳やその他の下流タスクを可能にします。

さらに、LSTM は、前方パスと後方パスの両方で効率的な勾配伝播を促進します。 LSTM は、関連情報を保存し、勾配消失の影響を軽減することにより、長いシーケンスでの深いリカレント ネットワークの効果的なトレーニングを可能にします。これは、勾配が中断されずに流れることを可能にし、勾配がネットワークを通過するときに消滅したり爆発したりするのを防ぐ、並列パスの使用によって実現されます。

言語モデリングにおける LSTM の成功により、LSTM は多くの最先端モデルの基本的な構成要素になりました。研究者や実践者は、アテンション メカニズム、マルチヘッド アテンション、トランスフォーマー ベースのモデルなどの追加機能を使用して LSTM アーキテクチャを拡張しました。これらの進歩により、LSTM のモデリング機能がさらに強化され、文書の要約、感情分析、対話の生成など、さらに複雑なタスクを処理できるようになります。

要約すると、LSTM は従来の RNN の制限に対処することで、言語モデリングに革命をもたらしました。長期的な依存関係を捕捉し、消失する勾配を処理し、関連情報を選択的に保持する能力により、自然言語処理において不可欠なツールとなっています。 LSTM アーキテクチャを活用することで、研究者や開発者はさまざまな言語関連タスクで大幅な進歩を達成し、機械翻訳、質問応答システム、テキスト生成モデルの改善につながりました。

LSTMs (DL 18)
LSTMs (DL 18)
  • 2020.10.25
  • www.youtube.com
Davidson CSC 381: Deep Learning, F'20, F'22
 

トランスフォーマーとセルフアテンション (DL 19)



トランスフォーマーとセルフアテンション (DL 19)

ニューラル ネットワークに基づいた Transformer アーキテクチャは、言語モデリングやその他のさまざまなタスクにおいて最先端のパフォーマンスを実現しました。セルフアテンション ブロックからの構築やリカレント ネットワーク機能と残留ネットワーク機能の統合など、トランスフォーマーの背後にある中心となるアイデアを探ってみましょう。

リカレント ニューラル ネットワーク (RNN) は、ドキュメントの情報コンテンツを表す隠れた状態を徐々に構築することにより、テキスト処理に優れています。単語の埋め込みを入力として受け取り、文内の次の単語を予測するなどの教師なしタスクでトレーニングできます。ただし、LSTM バリアントを含む RNN は、レイヤーを介して繰り返し処理する必要があるため、長い入力に苦労します。

一方、残差ネットワークは、残差接続を利用することで、多くの層を持つ深いモデルを処理するのに効果的です。これらの接続により、各ブロックが入力を強化し、勾配をより効率的に伝播できるようにすることでトレーニングが簡素化されます。

残差ネットワークには、画像関連関数とよく連携する残差ブロック内の畳み込みを利用するなど、画像処理において追加の利点があります。テキスト処理用のリカレント ネットワークと深いモデルを学習するための残差ネットワークの長所を組み合わせるために、Transformer が導入されました。

RNN と同様に、Transformer は単語の埋め込みを操作します。ただし、一度に 1 つずつ単語を受け取るのではなく、マトリックスに連結された文書全体のすべての埋め込みを処理します。トランスフォーマーは、欠落単語を予測する教師なしタスクでトレーニングでき、その結果、さまざまな自然言語処理タスクに使用できる文書のエンコードが得られます。

トランスフォーマーは残差ネットワークからスキップ接続を継承し、各ブロックがその先行ブロックを拡張できるようにし、大規模なネットワークでもトレーニングを簡素化します。テキスト処理を容易にするために、ブロック内のアーキテクチャにはセルフアテンションと呼ばれる重要なアイデアが組み込まれています。

自己注意は、特定の単語の意味を理解するために文中の離れた単語に注意を払う必要性に対処します。 Transformer のアーキテクチャは、アテンション関数を明示的に設計するのではなく、そのような関数の学習を容易にするように設計されています。

セルフ アテンション エンコーダ ブロック内で、各単語の埋め込みは、クエリ (q)、キー (k)、および値 (v) の 3 つの密な層を経ます。これらのレイヤーはすべての単語にわたって重みを共有しますが、入力文のさまざまな要素に適用されます。クエリ ベクトルとキー ベクトルの間のドット積を計算することにより、モデルは類似性を評価できます。

同じ単語のクエリ ベクトルとキー ベクトルの間の内積は、自己類似性を示します。さらに、特定の単語のクエリ ベクトルと他のすべての単語のキー ベクトルの間でドット積が計算されます。 Softmax を適用して類似性スコアを 0 と 1 の間の重みに変換し、最も類似したベクトルを強調します。

ソフトマックスの重みを各単語の値ベクトルと乗算することにより、文書のさまざまな部分に注意が適用されます。この加重合計により、ドキュメント全体から計算された出力ベクトルが生成されます。このプロセスはすべての単語に対して並行して実行され、その結果、注意に基づいて文書をエンコードするマトリックスが生成されます。

元の単語の埋め込みは、文書全体から得られた情報で強化され、注意によって重み付けされます。次に、一致する形状の規則的な緻密層が適用されます。エンコーダ ブロック内で複数のアテンション ヘッドを利用して、さまざまなアテンション パターンを学習できます。すべてのアテンション ヘッドの出力が合計され、スキップ接続と結合されて、ブロックの出力が得られます。

セルフ アテンション メカニズムにより、ネットワークは各アテンション ヘッドで何に注意を払うべきかを学習できます。複数のアテンション ヘッドにより、モデルはさまざまな状況下でさまざまな側面に焦点を当てることができ、入力表現を強化してテキスト ドキュメントの有用なエンコードを実現します。

このエンコードは、分類のためにさらに処理したり、機械翻訳などのタスクのための別のニューラル ネットワークへの入力として使用したりできます。 Training Transformers は当初、ある言語での言語エンコードと別の言語でのデコードに焦点を当てていました。 RNN と同様に、教師なしトレーニングは、ランダムに単語が削除されたドキュメントを提供し、欠落している単語を予測するようにモデルをトレーニングすることによって実行することもできます。

トランスフォーマーは、さまざまな自然言語処理タスクに革命をもたらし、言語モデリングやその他の多くのアプリケーションの最先端のアーキテクチャになりました。 Transformers の中核となる概念をさらに深く掘り下げ、リカレント ネットワークと残差ネットワークの最良の側面を Transformers がどのように組み合わせているのかを探ってみましょう。

LSTM などのリカレント ニューラル ネットワーク (RNN) は、単語の埋め込みを順番に処理し、ドキュメントの情報コンテンツを表す隠れた状態を構築するため、テキスト処理に効果的です。 RNN は、すぐに利用できるデータを使用して文内の次の単語を予測するなどの教師なしタスクでトレーニングできます。ただし、RNN は複数のレイヤーにデータを繰り返し渡す必要があるため、長い入力に苦労する傾向があります。

一方、残差ネットワークは、残差接続を利用して深いモデルを処理することに優れており、これによりトレーニングが簡素化され、勾配が効率的に伝播することが可能になります。画像処理では、残差ネットワークは残差ブロック内の畳み込みを活用し、画像解析に関連する機能に利点をもたらします。目標は、テキスト処理におけるリカレント ネットワークの利点と、残差ネットワークからディープ モデルを学習する利点を組み合わせることです。

ここで、Transformer アーキテクチャについて説明します。リカレント ネットワークと同様に、Transformer は単語の埋め込みを操作します。ただし、一度に 1 つずつ単語を処理するリカレント ネットワークとは異なり、Transformer は、各行が異なる単語の埋め込みを表す、行列に連結されたドキュメント全体の埋め込みを受け取ります。トランスフォーマーは、欠落単語の予測などの教師なしタスクでトレーニングして、さまざまな自然言語処理タスク用の文書エンコーディングを生成できます。

トランスフォーマーは残差ネットワークからスキップ接続を継承し、各ブロックがその先行ブロックを拡張するだけで済むようにし、大規模なネットワークでも勾配が効果的に伝播できるようにします。テキスト処理を容易にするために、Transformers はブロック内にセルフ アテンションとして知られる別個のアーキテクチャを採用しています。

自己注意とは、文内の 1 つの単語を理解するには、文内で遠くにある他の単語に注意を払う必要があるという考えです。このアーキテクチャは、特定のアテンション機能を使用して明示的に設計されていません。代わりに、そのような関数の学習を容易にするように設計されています。

セルフ アテンション エンコーダ ブロックでは、各単語の埋め込みは、クエリ、キー、および値と呼ばれる 3 つの高密度の層を経ます。これらのレイヤーはすべての単語にわたって共有されますが、入力文のさまざまな要素に適用されます。クエリベクトルとキーベクトルの間のドット積を取ることで、類似性を評価できます。より大きな内積は同様の方向を指すベクトルを示し、より小さな内積は異なる方向を指すベクトルを示します。

特定の単語について、そのクエリ ベクトルと他のすべての単語のキー ベクトルの間の内積を計算します。これにより、クエリ ベクトルが各キー ベクトルにどの程度類似しているかを表す類似性スコアのベクトルが生成されます。これらのスコアにソフトマックスを適用すると、スコアが 0 と 1 の間の値に変換され、最も類似したベクトルが強調されます。結果として得られるソフトマックスの重みは、ドキュメント内のすべての単語の値ベクトルの乗数として機能します。

各値ベクトルは要素ごとに対応するソフトマックス重みと乗算され、他の単語に対する単語の注目を表す重み付き合計が作成されます。このプロセスは単語ごとに並行して適用され、ドキュメント全体から計算され、各単語に与えられた注意に従って重み付けされた出力ベクトルが生成されます。この情報は、元の単語の埋め込みに追加されます。

1 つのアテンション ヘッドの出力を生成するには、一致する形状の規則的な高密度レイヤーが適用されます。エンコーダ ブロック内で複数のアテンション ヘッドを使用できるため、ネットワークはさまざまなコンテキストでさまざまなアテンション パターンを学習できます。すべてのアテンション ヘッドの出力が結合されてスキップ接続に追加され、ブロックの出力になります。

複数のチャネルを使用する畳み込み層と同様に、Transformer は多くの場合、エンコーダー ブロック内で複数のアテンション ヘッドを使用して、さまざまなアテンション パターンをキャプチャします。これにより、ネットワークはさまざまなアテンション計算を学習して組み合わせることができ、入力表現をテキスト ドキュメントの有用なエンコーディングに拡張できます。

エンコーディングが生成されると、さまざまなタスクに利用できます。たとえば、追加のレイヤーを分類に適用したり、エンコーディングを機械翻訳などのタスク用の別のニューラル ネットワークへの入力として使用したりできます。当初、Transformer のトレーニングは、ある言語でのエンコードと別の言語でのデコードに焦点を当てていました。教師なしトレーニングは、ドキュメント内の単語をランダムに空白にし、欠落している単語を予測するようにモデルをトレーニングすることによっても実行できます。

単語の順序と近接性を考慮して、Transformers には位置エンコーディングが組み込まれています。この追加情報は単語の埋め込みに追加され、モデルが文書内の単語の相対位置を理解できるようになります。

トランスフォーマーは、自然言語処理タスクのための強力なアーキテクチャです。リカレント ネットワークと残余ネットワークの長所を組み合わせることで、さまざまなアプリケーションで最先端の結果を達成しました。自己注意メカニズムにより、モデルはどの単語に注意を払うべきかを学習することができ、複数の注意ヘッドがさまざまな注意パターンを捕捉します。トランスフォーマーは言語モデリングの分野を大幅に進歩させ、引き続き研究開発の活発な分野です。

Transformers and Self-Attention (DL 19)
Transformers and Self-Attention (DL 19)
  • 2022.11.05
  • www.youtube.com
Davidson CSC 381: Deep Learning, Fall 2022
 

その他の指標と ROC 曲線 (DL 20)



その他の指標と ROC 曲線 (DL 20)

これは、ニューラル ネットワークを使用する場合のバイナリ分類タスクの成功を測定するための代替メトリクスに関する短い講義です。

バイナリ分類タスクでは、通常、ニューラル ネットワークに 2 つの出力ノードがあり、ターゲット ベクトルは [1, 0] または [0, 1] です。ネットワークの出力をカテゴリ ラベルにデコードすると、次の 4 つの結果が考えられます。

  1. True Positive: ターゲットは [1, 0] であり、デコードされた出力は一致します。
  2. False Negative: ターゲットは [1, 0] ですが、デコードされた出力では誤って [0, 1] とラベル付けされます。
  3. True Negative: ターゲットは [0, 1] であり、デコードされた出力は一致します。
  4. 誤検知: ターゲットは [0, 1] ですが、デコードされた出力では誤って [1, 0] とラベル付けされます。

これらの結果は、二項分類におけるモデルのパフォーマンスを評価するためのさまざまな指標を計算するために使用できます。考慮すべき代替指標をいくつか示します。

  1. 精度: 正とラベル付けされたすべてのデータ ポイントのうち、モデルが正と正しくラベル付けしたデータ ポイントの割合。
  2. 感度または再現率: モデルが最初のカテゴリとして正しく識別する、最初のカテゴリとしてラベル付けされるべきデータ ポイントの割合。
  3. 特異性: モデルが正しく識別した 2 番目またはネガティブ カテゴリとしてラベル付けされるべきデータ ポイントの割合。

正しいラベルの全体的な割合を測定する精度は、常に最も有益な指標であるとは限りません。偽陽性や偽陰性の重要性など、状況によっては、特定の指標に注目する必要がある場合があります。さらに、データセット内の陽性ラベルと陰性ラベルの分布は、精度に大きな影響を与える可能性があります。

メトリクス間のトレードオフを理解するには、受信者動作特性 (ROC) 曲線などの手法を使用してメトリクスを視覚化するのが一般的です。 ROC 曲線は、さまざまな分類しきい値の真陽性率に対する偽陽性率をプロットします。

偽陽性と偽陰性の間のトレードオフを考慮し、ROC 曲線を分析することで、問題の特定の要件に基づいて最適なモデルと評価指標を選択できます。

精度のみに依存するのではなく、偽陽性と偽陰性の相対的な重要性と、この点でさまざまなモデルがどのように機能するかを考慮することが重要です。したがって、プロジェクトに取り組むときは、全体的な精度のみに依存するのではなく、メトリクス間のトレードオフを評価し、特定の問題への影響を考慮することをお勧めします。

機械学習モデルを評価する場合、さまざまな指標間のトレードオフを理解することが重要です。特定のシナリオでは、特に偽陽性と偽陰性の重要度が異なる場合、精度によってモデルのパフォーマンスの包括的な全体像が得られない場合があります。代替メトリクスがより適切であるいくつかのケースを検討してみましょう。

  1. 偽陽性と偽陰性の重要性: 医療診断などの分野では、偽陽性と偽陰性の結果は大きく異なる可能性があります。たとえば、がんの検出では、偽陰性 (陽性症例の見逃し) は重大な影響を及ぼす可能性があり、一方、偽陽性 (陰性症例の誤った診断) は不必要な治療につながる可能性があります。このような場合、精度や再現率/感度などの指標は、モデルのパフォーマンスに関する貴重な洞察を提供する可能性があります。

  2. 不均衡なデータ: 正のラベルと負のラベルがデータセット内で不均等に分布している場合、精度が誤解を招く可能性があります。データ ポイントの 95% がポジティブ クラスに属しているとします。その場合、実際に基礎となるパターンを学習しなくても、単純にすべてを肯定的であると予測するモデルは 95% という高い精度を達成します。精度や再現率などのメトリクスは、バイアスに対処し、各クラスでのモデルのパフォーマンスに焦点を当てるのに役立ちます。

  3. 精度と再現率のトレードオフ: 機械学習モデルは、多くの場合、精度と再現率の間でトレードオフを示します。精度は肯定的な例を正確に識別する能力を測定し、再現率はすべての肯定的な例を捕捉する能力を測定します。モデルのしきい値または決定境界を調整することで、精度または再現率を優先できます。ただし、一方の指標を改善するためにしきい値を変更すると、多くの場合、もう一方の指標が犠牲になります。特定の問題に対して適切なメトリックを選択する場合、このトレードオフを理解することが重要です。

  4. 受信者動作特性 (ROC) 曲線: ROC 曲線は、さまざまな分類しきい値での真陽性率に対する偽陽性率をプロットすることにより、バイナリ分類モデルのパフォーマンスをグラフで表現します。低い偽陽性率で高い真陽性率を達成するモデルは、曲線が左上隅に近くなり、パフォーマンスが向上していることを示します。 ROC 曲線下面積 (AUC-ROC) は一般に概要メトリックとして使用され、値が 1 に近いほどパフォーマンスが優れていることを示します。

機械学習モデルが異なれば、感度と特異性、または精度と再現率の間のトレードオフが異なる場合があります。問題の特定の要件と、さまざまな指標の相対的な重要性を考慮することが重要です。これらのトレードオフを評価し、さまざまなメトリックにわたってモデルがどのように機能するかを理解することで、より多くの情報に基づいた意思決定を行い、アプリケーションに最適なモデルを選択できるようになります。

プロジェクトでは、誤検知と誤検知の間のトレードオフを考慮し、問題の目的に合ったメトリクスを選択します。精度のみに依存するのではなく、タスクの特定のニーズと影響を考慮して、さまざまなモデルのパフォーマンスを正確に評価および比較します。

Other Metrics and the ROC Curve (DL 20)
Other Metrics and the ROC Curve (DL 20)
  • 2020.10.12
  • www.youtube.com
Davidson CSC 381: Deep Learning, F'20, F'22