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

 

CS480/680 講義 6: NLP のモデル圧縮 (Ashutosh Adhikari)



CS480/680 講義 6: NLP のモデル圧縮 (Ashutosh Adhikari)

このビデオでは、発表者が NLP のモデル圧縮の概念と、ディープ ニューラル ネットワークの数と深さが増加するにつれての処理時間とメモリ要件の課題について説明します。モデル圧縮技術を分類し、最も古い方法であるパラメーターの枝刈りと共有を紹介します。講演者はさらに、NLP におけるモデル圧縮のための生徒と教師のシステムの概念と、精度を維持しながらより大きなモデルをより小さな生徒モデルに圧縮するために目的関数がどのように使用されるかについて詳しく説明します。最後に、大規模な NLP モデルの開発に関する最近の研究に関連して、モデルを圧縮することの潜在的な重要性が強調されています。

  • 00:00:00このセクションでは、ビデオ プレゼンターが、ディープ ニューラル ネットワークの数と深さが増加し、その処理時間とメモリ要件が増加するにつれて、モデル圧縮の問題について説明します。その目的は、精度と知識を維持しながら、ニューラル ネットワークに必要なパラメーターの数を減らし、オンライン アプリケーションでのより迅速かつ効率的な展開を可能にすることです。モデル圧縮技術は分類されており、発表者は、1990 年に Yann LeCun によって開発された最も古い方法であるパラメータ プルーニングと共有を詳しく掘り下げます。プレゼンテーションでは、コンピュータ ビジョンの畳み込みニューラル ネットワークで成功を収めたチャネル プルーニング技術についても触れていますが、それほど成功していません。 NLP モデルを使用して調査しました。最後に、発表者は、NLP タスク用の大規模モデルの開発に関する最近の作業との関連で、モデルを圧縮することの潜在的な重要性を強調しました。

  • 00:05:00このセクションでは、講演者は NLP におけるモデル圧縮のための生徒と教師のシステムの概念を紹介します。教師モデルは、より小さな生徒モデルから表現を抽出して圧縮するために使用されるより大きなモデルです。目的関数は、分類目標とともに教師ネットワークによって学習されたすべての表現を生徒ネットワークが捕捉するのに役立ちます。プルーニングと共有の方法については詳しく検討されていませんが、アテンションのメカニズムとトランスフォーマーについては今後の講義で取り上げる予定です。講演者は、これらの巨大なモデルは基本的にコアがトランスであり、繰り返し適用されていると述べています。
 

CS480/680 講義 7: ガウスの混合



CS480/680 講義 7: ガウスの混合

ガウスの混合に関するこの講義では、講演者は、クラスごとに事前分布を構築することでモデルを分類にどのように使用できるかを説明します。これにより、ベイズの定理を使用して、特定のクラスの確率を推定する確率モデルを構築できるようになります。データポイント。この講義では、データ ポイントが特定のクラスに属する可能性を計算するプロセスと、これを使用してクラス予測を決定する方法についても説明します。講義ノートでは、ソフトマックス関数とアーク マックス分布の関係と、ガウスの形状と境界が共分散行列によってどのように決定されるかについて説明します。最後に、最尤学習のプロセスと、それを使用して混合ガウス モデルの平均および共分散行列を推定する方法について詳しく説明します。

  • 00:00:00このセクションでは、講師は分類にガウスの混合を使用することについて説明します。これは、生成モデルのファミリーの統計モデルです。ガウス分布を使用してデータの不正確さとノイズをモデル化し、テキストや画像生成などのアプリケーション用のデータセットの作成をシミュレートするために使用できる方法について説明します。この講義では、線形回帰の例と、それをガウス分布を使用して生成モデルに変換する方法について説明します。

  • 00:05:00このセクションでは、講師は、トレーニング セットと同様のデータを生成できるモデルを通じて、人物の同様の画像を生成する可能性について説明します。講師は線形回帰を例として使用し、次に分類に進み、各クラスの事前分布を構築します。この考えに基づいて、ベイズの定理を使用して確率モデルを構築し、特定のデータ ポイントのクラスの確率を推定できます。講義では、これはベイズ学習ではなくベイズ推論であることを強調しています。

  • 00:10:00このセクションでは、インストラクターがガウス混合モデルで行われた仮定と、ベイズ推論を使用してクラスの事後確率を計算する方法について説明します。このモデルは、多項分布を使用して表すことができる有限数のカテゴリ クラスが存在することを前提としています。クラス条件付き分布は、各クラスの同じ共分散行列を持つガウス分布であると想定されます。尤度は事前分布とクラス条件付き分布の積であり、クラスに依存しない最初の項をキャンセルすることで単純化できます。この単純化は、すべてのクラスで同じ共分散行列を仮定しているため可能ですが、一般に常に当てはまるとは限りません。

  • 00:15:00このセクションでは、スピーカーは事後関数をロジスティック シグモイド関数としてどのように表現できるかを説明します。ロジスティック シグモイド関数は、任意の実数を受け取り、0 と 1 の間の出力を生成するため、ニューラル ネットワークで特によく使用されます。彼らは次の式を導き出します。事後関数については、W(転置)X + W_0 として表現できることを示します。ここで、W は x の係数、W_0 は X に依存しない定数部分です。ロジスティック関数には特別な定義があり、次の計算に使用されます。確率として解釈できる出力。

  • 00:20:00このセクションでは、講師はガウスの混合のコンテキストにおけるロジスティック関数の使用について説明します。ロジスティック関数は出力を 0 と 1 の間で圧縮するために使用され、その特定の定義は、X の係数をパラメータとして扱い、定数部分を W なしとして扱うことによって取得できます。平均行列と共分散行列、およびクラス確率を組み合わせて、必要なパラメータを得ることができます。これは、特定のクラスに属するデータ ポイントの事後確率を計算するのに役立ちます。講師は、データ ポイントのクラス確率を求める際の、ガウス分布で表されるクラス条件の使用法についても説明します。これらのクラス条件は異なるベル形状を持つ可能性があり、データ ポイントに一致するクラスの事後確率が高くなります。

  • 00:25:00ビデオのこのセクションでは、講師が、混合ガウス モデルに対して特定のクラスに属するデータ ポイントの尤度を計算する方法を説明します。 2 つのガウス分布の平均が異なり、それらが同じ共分散行列を持つと仮定した場合、点の位置に応じて、ガウス分布の平均値が点に近いクラスに属する可能性が自然に高くなります。クラスの条件付き分布には式が与えられ、事後分布が計算されると、そのクラスが 0.5 より大きい確率に基づいてクラスの予測を行うことができます。講師は 2 つのクラス間の境界も示します。これは、予測を行う際に興味深いものです。

  • 00:30:00このセクションでは、講義では、ガウスの混合を使用するクラス境界と、2 つのガウスがあり、それらが同じ共分散行列を持つと仮定して、その境界がどのように見えるかを検討します。境界は、各クラスが同じになる確率 (0.5) で発生します。これは、W transpose X bar = 0 に単純化されます。これは、セパレーターが線形であることを意味します。これは単純なモデルと線形セパレーターであり、クラスが 2 つある場合に使用されます。 3 つ以上のクラスがある場合、同じ計算が実行され、その結果がソフトマックス関数になります。これもニューラル ネットワークで一般的に使用され、そのルーツはガウス計算の混合にあります。

  • 00:35:00このセクションでは、ソフトマックス関数とアークマックス分布の関係と、それがソフトマックスと呼ばれる理由について講師が説明します。アーク マックス分布は、最高値を持つ分類器に確率 1 を割り当て、他のすべてのクラスに確率 0 を割り当てますが、softmax 関数は、すべてのクラスにゼロ以外の確率を割り当てることで、これのよりソフトなバージョンを与えます。指数関数は、ガウス分布の混合を考慮し、複数のクラスの事後分布を計算するときに発生します。さまざまなクラスの境界も事後分布で示すことができます。講義ノートでは、ソフトマックス関数が出力クラスを決定するためにニューラル ネットワークで広く使用されていることが説明されています。

  • 00:40:00このセクションでは、ガウスの形状と境界が共分散行列によってどのように決定されるか、またそれがクラスの分離にどのように影響するかを講師が説明します。異なる共分散行列を使用すると非線形境界が作成される可能性がありますが、同じ共分散行列を使用すると線形境界が作成されます。講師はまた、混合ガウス モデル、つまり各クラスの確率、ガウスの平均、ノイズ共分散行列をそれぞれ表す pi、mu 1、mu 2、および Sigma の累乗を推定する方法についても説明します。この目的には最尤法が使用されます。

  • 00:45:00このセクションでは、講師が最尤学習のプロセスについて説明します。ここでの主な問題は、データの尤度を最大化するモデルの検出力を見つけることです。この最適化問題を解決するために、講師は式のログを取得して式を簡略化します。結果として得られる式は複雑に見えますが、実際には優れており、単一のグローバル最適値を持つ凹型の形式になっています。このメソッドでは、0 と 1 のクラスに便利なラベルを使用して、2 つのクラスのクラス条件を 1 つの式に組み合わせることができます。

  • 00:50:00講義のこのセクションでは、講演者は、対数尤度関数の最大化が凹関数にどのように対応するかについて説明します。凹関数は、クラス内のデータのサンプル平均と経験平均を取得するために最適化できます。ガウスモデルの混合。各クラスの確率は、そのクラスに属するデータの一部を取得することによって推定できます。これは、最尤の原理によって確認される直観的なアプローチです。同様に、各クラスの入力の平均は、すべてのデータ ポイントの合計を取得し、それをそのクラス内のポイント数で割ることによって推定できます。これらの推定は、これらのパラメーターを推定するための直感的なアプローチの正式な正当化を提供します。

  • 00:55:00このセクションでは、講演者が最尤学習を使用して混合ガウス モデルの平均および共分散行列を推定するプロセスについて説明します。ターゲット出力データが指定され、尤度関数が最大化されて、平均行列と共分散行列の正しい値が決定されます。共分散行列を推定する場合、各クラスの経験的な共分散行列の線形結合が取得され、各クラスに属するデータ ポイントの数で重み付けされます。講演者は、このプロセスではベイズ推論と最尤学習の両方が使用されていますが、議論の最初の部分は学習ではなく、ベイズの定理を使用した推論であったことを明らかにしました。

  • 01:00:00このセクションでは、ガウスの混合の機械学習部分には、ガウス モデルの各特徴に必要な検出力の決定が含まれると講演者が説明します。これを行うために最尤学習が使用されますが、ベイズ学習も可能です。ただし、この講義では最尤学習のみを取り上げます。次に、スピーカーはセクションを締めくくり、次のクラスでは分類のためにこのトピックの拡張を取り上げることを述べます。
 

CS480/680 講義 7: ガウスの混合



CS480/680 講義 7: ガウスの混合

ガウスの混合に関するこの講義では、講演者は、クラスごとに事前分布を構築することでモデルを分類にどのように使用できるかを説明します。これにより、ベイズの定理を使用して、特定のクラスの確率を推定する確率モデルを構築できるようになります。データポイント。この講義では、データ ポイントが特定のクラスに属する可能性を計算するプロセスと、これを使用してクラス予測を決定する方法についても説明します。講義ノートでは、ソフトマックス関数とアーク マックス分布の関係と、ガウスの形状と境界が共分散行列によってどのように決定されるかについて説明します。最後に、最尤学習のプロセスと、それを使用して混合ガウス モデルの平均および共分散行列を推定する方法について詳しく説明します。

  • 00:00:00このセクションでは、講師は分類にガウスの混合を使用することについて説明します。これは、生成モデルのファミリーの統計モデルです。ガウス分布を使用してデータの不正確さとノイズをモデル化し、テキストや画像生成などのアプリケーション用のデータセットの作成をシミュレートするために使用できる方法について説明します。この講義では、線形回帰の例と、それをガウス分布を使用して生成モデルに変換する方法について説明します。

  • 00:05:00このセクションでは、講師は、トレーニング セットと同様のデータを生成できるモデルを通じて、人物の同様の画像を生成する可能性について説明します。講師は線形回帰を例として使用し、次に分類に進み、各クラスの事前分布を構築します。この考えに基づいて、ベイズの定理を使用して確率モデルを構築し、特定のデータ ポイントのクラスの確率を推定できます。講義では、これはベイズ学習ではなくベイズ推論であることを強調しています。

  • 00:10:00このセクションでは、インストラクターがガウス混合モデルで行われた仮定と、ベイズ推論を使用してクラスの事後確率を計算する方法について説明します。このモデルは、多項分布を使用して表すことができる有限数のカテゴリ クラスが存在することを前提としています。クラス条件付き分布は、各クラスの同じ共分散行列を持つガウス分布であると想定されます。尤度は事前分布とクラス条件付き分布の積であり、クラスに依存しない最初の項をキャンセルすることで単純化できます。この単純化は、すべてのクラスで同じ共分散行列を仮定しているため可能ですが、一般に常に当てはまるとは限りません。

  • 00:15:00このセクションでは、スピーカーは事後関数をロジスティック シグモイド関数としてどのように表現できるかを説明します。ロジスティック シグモイド関数は、任意の実数を受け取り、0 と 1 の間の出力を生成するため、ニューラル ネットワークで特によく使用されます。彼らは次の式を導き出します。事後関数については、W(転置)X + W_0 として表現できることを示します。ここで、W は x の係数、W_0 は X に依存しない定数部分です。ロジスティック関数には特別な定義があり、次の計算に使用されます。確率として解釈できる出力。

  • 00:20:00このセクションでは、講師はガウスの混合のコンテキストにおけるロジスティック関数の使用について説明します。ロジスティック関数は出力を 0 と 1 の間で圧縮するために使用され、その特定の定義は、X の係数をパラメータとして扱い、定数部分を W なしとして扱うことによって取得できます。平均行列と共分散行列、およびクラス確率を組み合わせて、必要なパラメータを得ることができます。これは、特定のクラスに属するデータ ポイントの事後確率を計算するのに役立ちます。講師は、データ ポイントのクラス確率を求める際の、ガウス分布で表されるクラス条件の使用法についても説明します。これらのクラス条件は異なるベル形状を持つ可能性があり、データ ポイントに一致するクラスの事後確率が高くなります。

  • 00:25:00ビデオのこのセクションでは、講師が、混合ガウス モデルに対して特定のクラスに属するデータ ポイントの尤度を計算する方法を説明します。 2 つのガウス分布の平均が異なり、それらが同じ共分散行列を持つと仮定した場合、点の位置に応じて、ガウス分布の平均値が点に近いクラスに属する可能性が自然に高くなります。クラスの条件付き分布には式が与えられ、事後分布が計算されると、そのクラスが 0.5 より大きい確率に基づいてクラスの予測を行うことができます。講師は 2 つのクラス間の境界も示します。これは、予測を行う際に興味深いものです。

  • 00:30:00このセクションでは、講義では、ガウスの混合を使用するクラス境界と、2 つのガウスがあり、それらが同じ共分散行列を持つと仮定して、その境界がどのように見えるかを検討します。境界は、各クラスが同じになる確率 (0.5) で発生します。これは、W transpose X bar = 0 に単純化されます。これは、セパレーターが線形であることを意味します。これは単純なモデルと線形セパレーターであり、クラスが 2 つある場合に使用されます。 3 つ以上のクラスがある場合、同じ計算が実行され、その結果がソフトマックス関数になります。これもニューラル ネットワークで一般的に使用され、そのルーツはガウス計算の混合にあります。

  • 00:35:00このセクションでは、ソフトマックス関数とアークマックス分布の関係と、それがソフトマックスと呼ばれる理由について講師が説明します。アーク マックス分布は、最高値を持つ分類器に確率 1 を割り当て、他のすべてのクラスに確率 0 を割り当てますが、softmax 関数は、すべてのクラスにゼロ以外の確率を割り当てることで、これのよりソフトなバージョンを与えます。指数関数は、ガウス分布の混合を考慮し、複数のクラスの事後分布を計算するときに発生します。さまざまなクラスの境界も事後分布で示すことができます。講義ノートでは、ソフトマックス関数が出力クラスを決定するためにニューラル ネットワークで広く使用されていることが説明されています。

  • 00:40:00このセクションでは、ガウスの形状と境界が共分散行列によってどのように決定されるか、またそれがクラスの分離にどのように影響するかを講師が説明します。異なる共分散行列を使用すると非線形境界が作成される可能性がありますが、同じ共分散行列を使用すると線形境界が作成されます。講師はまた、混合ガウス モデル、つまり各クラスの確率、ガウスの平均、ノイズ共分散行列をそれぞれ表す pi、mu 1、mu 2、および Sigma の累乗を推定する方法についても説明します。この目的には最尤法が使用されます。

  • 00:45:00このセクションでは、講師が最尤学習のプロセスについて説明します。ここでの主な問題は、データの尤度を最大化するモデルの検出力を見つけることです。この最適化問題を解決するために、講師は式のログを取得して式を簡略化します。結果として得られる式は複雑に見えますが、実際には優れており、単一のグローバル最適値を持つ凹型の形式になっています。このメソッドでは、0 と 1 のクラスに便利なラベルを使用して、2 つのクラスのクラス条件を 1 つの式に組み合わせることができます。

  • 00:50:00講義のこのセクションでは、講演者は、対数尤度関数の最大化が凹関数にどのように対応するかについて説明します。凹関数は、クラス内のデータのサンプル平均と経験平均を取得するために最適化できます。ガウスモデルの混合。各クラスの確率は、そのクラスに属するデータの一部を取得することによって推定できます。これは、最尤の原理によって確認される直観的なアプローチです。同様に、各クラスの入力の平均は、すべてのデータ ポイントの合計を取得し、それをそのクラス内のポイント数で割ることによって推定できます。これらの推定は、これらのパラメーターを推定するための直感的なアプローチの正式な正当化を提供します。

  • 00:55:00このセクションでは、講演者が最尤学習を使用して混合ガウス モデルの平均および共分散行列を推定するプロセスについて説明します。ターゲット出力データが指定され、尤度関数が最大化されて、平均行列と共分散行列の正しい値が決定されます。共分散行列を推定する場合、各クラスの経験的な共分散行列の線形結合が取得され、各クラスに属するデータ ポイントの数で重み付けされます。講演者は、このプロセスではベイズ推論と最尤学習の両方が使用されていますが、議論の最初の部分は学習ではなく、ベイズの定理を使用した推論であったことを明らかにしました。

  • 01:00:00このセクションでは、ガウスの混合の機械学習部分には、ガウス モデルの各特徴に必要な検出力の決定が含まれると講演者が説明します。これを行うために最尤学習が使用されますが、ベイズ学習も可能です。ただし、この講義では最尤学習のみを取り上げます。次に、スピーカーはセクションを締めくくり、次のクラスでは分類のためにこのトピックの拡張を取り上げることを述べます。
 

CS480/680 講義 8: ロジスティック回帰と一般化線形モデル



CS480/680 講義 8: ロジスティック回帰と一般化線形モデル

「CS480/680: ロジスティック回帰と一般化線形モデル」に関する講義のこの最初の部分では、指数分布族の考え方と、分類問題に使用される強力な手法であるロジスティック回帰との関係を紹介します。この講義では、ロジスティック回帰は、特定のデータセットの事後をモデル化する最適なロジスティック関数を適合させることを目的としており、少数の次元と重みの問題については、ニュートン法を使用して目的関数 (凸) の最小値を見つけることができることを説明します。関数。講師はまた、レコメンダー システムと広告掲載におけるロジスティック回帰の重要性についても強調しています。この手法はシンプルで効率的であるため、ユーザーの特性や行動に基づいてパーソナライズされた推奨を行うのに最適です。

この講義では、ロジスティック回帰と一般化線形モデルのトピックも取り上げます。講師は、任意の大きな重みによって引き起こされる過剰適合の問題やヘッセ行列の特異点の問題など、ロジスティック回帰に対するニュートン法の限界について説明します。過学習を防ぐために、正則化が推奨されます。インストラクターは、非線形セパレーターを効率的に操作するために使用できる一般化線形モデル (GLM) を紹介します。 GLM には、マッピングが非線形である限り、線形回帰と分類を非線形方法で実行できる新しい空間への入力のマッピングが含まれます。この講義では、非線形回帰と分類を実行するために使用できる基底関数とその型についても説明します。

  • 00:00:00ビデオのこのセクションでは、講義では、ガウス分布を前提とするガウスの混合に基づく分類の統計モデルの制限について説明します。この制限に対処するために、彼らは指数関数族として知られる幅広いクラスの分布を導入し、ロジスティック回帰と呼ばれる強力で柔軟な手法の開発につながりました。講義では、ガウス分布の混合を黒板に描いて図解し、データが特定の形状のクラスターを形成する場合にこの方法が適していることを説明します。ただし、データがこの形状でない場合は、ガウス分布の仮定を緩和する必要があります。この講義では、指数分布族の考え方を紹介し、ロジスティック回帰の発展におけるその重要性を説明します。

  • このセクションの00:05:00では、講演者は、ベルヌーイ、ポアソン、ガンマなどの多くの有名な分布を含む指数関数族について説明します。このファミリは、積密度関数が指数関数を持ち、指数がシータの線形項、X の一部の項、およびシータと X の他の項を持つため、指数関数と呼ばれます。ファミリ内のさまざまな分布の鍵は、正確な関数です。 X の T、シータの a、および X の B。この族の利点は、その中の分布をシグモイド ロジスティック関数の形式で書き換えられることです。この特性により、話者は確率的識別モデルを導入することができます。このモデルでは、ノイズによって摂動されたデータを仮定して、関連する分布のパラメータを推定するのではなく、ロジスティック関数のパラメータを直接推定することが目的です。

  • 00:10:00このセクションでは、ロジスティック回帰について学びます。これは、特定のデータセットの事後をモデル化する最適なロジスティック関数を適合または見つけるために使用される手法です。複数のクラスがある場合、事後分布はソフトマックス分布に従います。与えられたデータから事後関数を最大化する W を見つけたいと考えています。この最適化問題は、負の符号を導入することによって最小化問題に変換されます。目標は、ほとんどのデータ ポイントで正しいクラス Y の確率ができるだけ高くなるようにする最適な W を見つけることです。

  • 00:15:00このセクションでは、インストラクターがロジスティック回帰と、それを分類問題に使用する方法について説明します。目標は、主観を最小化する W を見つけることですが、この手法はロジスティック回帰と呼ばれていますが、実際には分類問題であることに注意することが重要です。ただし、数値である X が与えられたクラスの事後確率を推定しようとしているため、ロジスティック回帰は回帰の一種であるという考え方です。講師は続けて、閉形式の式内の変数を分離する方法がないため、この最適化問題を解決するには反復手法が必要であると説明しました。

  • 00:20:00講義のこのセクションでは、講師はロジスティック回帰における非線形方程式の扱い方について説明します。ロジスティック回帰の目的関数は凸関数であることが示されており、大域的最適値を見つけることが容易になります。インストラクターは、勾配降下法やニュートン法などの反復法を使用して目的関数の最小値を見つけることができると説明します。勾配降下法も使用できますが、効率的ではなく、適切なステップ サイズを決定するのが困難です。 Newton の方法ははるかに高速で、必要な手順が少ないため、最適化の一般的な選択肢となっています。

  • 00:25:00講義のこのセクションでは、講演者はロジスティック回帰のニュートン法と呼ばれる方法について説明します。これは、勾配降下法を改良したものです。ニュートン法では、W の初期推定値から開始し、ヘッセ行列の逆数と最後の関数の勾配を乗算した値を W から減算します。この方法は基本的に 3 つの重み付き最小二乗法を反復し、直線ではなく二次関数で目標を近似するため、より適切な曲線の近似とより高速な収束が可能になります。この方法の利点は、二次関数を近似するたびに最小値を閉じた形で最適に解くことができ、ステップ長を計算する必要がなくなることです。

  • 00:30:00このセクションでは、講演者がニュートン法を紹介します。これは、関数を各ステップで二次関数で近似し、その二次曲線の最小値を見つけて、関数を再適合する二次最適化手法です。これは、二次関数の最小化を伴う勾配降下法とは異なります。ニュートン法は、二次関数が一般的な線形回帰よりもよく曲線に適合するため、はるかに高速かつ正確になりますが、すべての 2 次導関数を含むヘッセ行列の計算が必要となり、高次元の問題ではコストがかかる可能性があります。したがって、次元と重みが少ない問題に適しています。

  • 00:35:00このセクションでは、ロジスティック回帰の複雑な非線形関数をニュートン法を使用して二次関数で近似する背後にある理論的根拠を講師が説明します。勾配降下法は安価ですが、二次関数で近似する方がより適切であり、より適切なステップが可能になります。二次関数の最小値を見つけることも計算で実行可能です。 Newton 法では、非凸目的に対する大域的最適値を見つけることが保証されませんが、ロジスティック回帰関数は凸であるため、大域的最適値は 1 つ存在し、Newton 法はどこからでも開始できます。ニュートン法を適用するために計算する必要がある主なものはヘシアンです。ヘッセ行列は、1 の行とシグマの対角行列を含むデータ セットを含む式を導出することで取得できます。

  • 00:40:00このセクションでは、インストラクターがロジスティック回帰と、特にレコメンダー システムと広告の配置における機械学習手法としてのその重要性について説明します。ロジスティック回帰は、製品の推奨や広告の推奨など、ユーザーに推奨を行うために使用されます。アイデアは、ユーザーがクリックする可能性が高い広告を表示することであり、これは分類問題としてモデル化できます。講師はまた、ヘッセ行列の構造と、ロジスティック回帰のプログラミングとニュートン法の適用に重要な公式を使用してヘッセ行列を取得する方法についても説明します。数学が圧倒されると感じる学生もいるかもしれませんが、これらの方法がどのように発生し、なぜ機能するのかを理解するには、これらの方法を理解することが不可欠です。

  • 00:45:00このセクションでは、製品やアプリなどをユーザーの特性や行動に基づいて推奨する方法として、ロジスティック回帰の概念について説明します。ロジスティック回帰は、ドット積の計算に基づいて予測を行うため、実装が簡単で柔軟かつ効率的であるため、この種の問題によく使用されます。推奨を行うために考慮できる機能の例には、特定のアプリが既にダウンロードおよびインストールされているかどうか、年齢、性別、場所、および企業またはスマートフォンがユーザーに関して保持しているその他の関連情報が含まれます。

  • 00:50:00このセクションでは、イベントの発生確率が 0.5 以上である 2 つのクラスの分類問題にロジスティック回帰をどのように使用できるかを講師が説明します。複数のクラスがある場合は、クラス K ごとにベクトル W を使用してソフトマックス分布を使用できます。講師は、ロジスティック回帰ではドット積の計算のみが含まれるため予測が簡単になり、これはスパース性を利用することで効率化できることを強調しています。そして一部の計算を麻痺させます。

  • 00:55:00このセクションでは、講演者はロジスティック回帰の効率性と、スパース性を利用して計算を並列化することにより、ロジスティック回帰を低リソースのデバイス上で実行する方法について説明します。ドット積の計算ではゼロのエントリを無視できるため、数百万のエントリを含む長いベクトルの計算が高速になります。学習モデルは GPU で並列化することもできるため、迅速かつスケーラブルな予測を必要とするレコメンダー システムなどのシステムに最適です。さらに、機能の拡張は簡単で、すべてを再設計するのではなく、拡張するだけで済みます。

  • 01:00:00このセクションでは、教授はロジスティック回帰に対するニュートン法の限界と過剰適合の問題について説明します。 Newton の方法は高速な最適化手法ですが、大規模なデータセットや数百万の特徴に対しては拡張性がありません。ロジスティック回帰は、データにあまりにもよく適合する全体的な最適値を見つける凸最適化のため、簡単に過適合する傾向があります。過学習によりヘッセ行列に特異点が発生し、ニュートン法を適用できなくなる可能性があります。ロジスティック回帰のシグモイド関数は 0 から 1 に変化しますが、漸近的に 1 に到達することはありません。そのため、1 に近い確率を達成するには、W transpose X bar を任意に大きくする必要があり、その結果、過学習が発生します。

  • 01:05:00このセクションでは、講師がロジスティック回帰モデルの過学習の問題について説明します。彼らは、W transpose X bar が無限大になると、W の大きさも無限大になり、その結果、重みが任意に大きくなる可能性があると説明しています。さらに、ヘッセ行列はシグモイド関数によりゼロになる傾向があり、ヘッセ行列の逆関数を数値的に計算することができないため、ニュートン法の適用が困難になります。講師は、過学習を防ぐために、重みの大きさを最小限に抑えるためにペナルティ項を追加する正則化を使用することを提案しています。これは特異点の問題を防ぐのにも役立ちます。

  • 01:10:00ビデオのこのセクションでは、インストラクターが、ニュートン法を使用してペナルティ項を追加することにより、ロジスティック回帰および一般化線形モデルの過学習を防ぐ方法について説明します。ただし、ロジスティック回帰の制限は、クラス間の境界が常に線形であることです。この制限を克服し、非線形セパレータを使用するために、インストラクターは一般化線形モデルを導入します。これには、マッピングが非線形である限り、線形回帰と分類を非線形方法で実行できる新しい空間への入力のマッピングが含まれます。線形。このシンプルなアプローチにより、線形モデルの一般化が非線形設定でも機能することが可能になり、コースの後半で説明するカーネル メソッドの基礎として機能します。

  • 01:15:00このセクションでは、講演者が非線形回帰と一般化線形モデルを使用して関数を近似する方法について説明します。このアイデアは、各入力 X を新しい特徴にマッピングする Phi で示されるマッピング関数を使用して、元の空間から新しい空間にデータをマッピングすることです。マッピング関数は、ユーザーが元の空間から新しい空間に移動して非線形にすることを可能にするマッピングを定義することによって、非線形性を捉えることができる基底関数を指します。目標は、最適な関数とその仮説空間を取得するための重みなどの係数を見つけることです。最終的に、この手法を使用することで、元の空間の非線形性を暗黙的に捉えながら、線形回帰または分類を実行できます。

  • 01:20:00このセクションでは、インストラクターがロジスティック回帰と一般化線形モデルを使用してデータ ポイントを分類する方法を説明します。このプロセスには、基底関数を使用して入力空間を高次元空間にマッピングし、その後、この高次元でデータを分離するための最適な超平面を検索することが含まれます。講師は、適切な基底関数を選択するには関数の可能な空間についての事前知識が必要であるが、基底関数を学習するために利用できるテクニックがあることを強調しています。さらに、インストラクターは、モデルの重みが超平面に垂直なベクトルをどのように定義するかについて説明します。

  • 01:25:00このセクションでは、ロジスティック回帰と一般化線形モデルに使用できる基底関数とその型について講師が説明します。講師はまず、多項式基底関数を紹介します。多項式基底関数は、X のすべてのべき乗をある程度まで取得することで、多項式関数にまたがるのに使用できるからです。次に、講師は非線形基底関数の 2 つの例、ガウス関数とシグモイド関数を紹介します。ガウス基底関数は、mu と s を変更することで使用できます。ここで、mu は x 軸上のバンプの位置を示し、s はバンプの幅を示します。シグモイド関数は非線形関数ですが、確率分布ではないため、基底関数として X マイナス mu J を s で割った値に適用されるシグマ ハットとともに使用できます。基底関数として使用できる他の非線形関数には、ウェーブレット、サイン、コサインなどがあります。

  • 01:30:00講義のこのセクションでは、講演者は非線形回帰と分類を暗黙的に実行するために線形モデルを一般化する方法について説明します。入力変数 X を新しい空間への入力である X のファイに置き換えることで、さまざまな非線形関数を利用することができます。ファイ関数は、元の入力 X のさまざまな部分に適用でき、多項式やガウス関数などの基底関数のセットを使用して基礎となる関数を取得するために使用できます。これでこのトピックは終了し、非線形ロジスティック回帰と一般化線形モデルの基本的な理解を提供します。
 

CS480/680 講義 9: パーセプトロンと単層ニューラルネット



CS480/680 講義 9: パーセプトロンと単層ニューラルネット

この講義では、分類用の線形分離器を生成する基本タイプであるパーセプトロンに焦点を当ててニューラル ネットワークを紹介します。この講義では、アクティベーション関数を通過して出力を生成する入力の線形結合を計算するために重みを使用する方法と、AND、OR、NOT ゲートなどの論理ゲートを近似するためにさまざまな重みを使用する方法について説明します。講師は、フィードフォワード ニューラル ネットワーク、パーセプトロン学習アルゴリズムをバイナリ分類に使用する方法、勾配降下法で重みを最適化する方法について説明します。データを分離するための線の使用の制限について説明し、ロジスティック シグモイド アクティベーション関数を使用して重みをトレーニングする方法に焦点を当てて、ロジスティック シグモイド アクティベーション関数を可能な解決策として紹介します。

パーセプトロンと単層ニューラル ネットに関するこの講義では、二乗誤差を最小限に抑えるためのロジスティック シグモイド活性化関数の使用と、逐次勾配降下法における重要なパラメーターとしての学習率の導入について説明します。また、講師は、ゴミ保持関数を使用して任意の関数に任意に近似するために複数の層を持つニューラル ネットワークを構成する方法と、任意の関数を学習するためにネットワークをトレーニングするためにバックプロパゲーションを使用する方法を示します。講師はニューラル ネットワークの多用途性と効率性を強調し、音声認識、コンピューター ビジョン、機械翻訳、単語の埋め込みなどのさまざまな問題の解決にニューラル ネットワークが広く使用されていると述べています。

  • 00:00:00講義のこのセクションでは、ニューラル ネットワークの簡単な紹介に焦点を当て、特に隠れ層を持たない初歩的なタイプのニューラル ネットワークであるパーセプトロンに重点を置きます。これは分類用の線形セパレーターを生成し、ニューラル ネットワークの歴史において重要な役割を果たします。その後、より複雑な形式のニューラル ネットワークがより一般化されます。この講義では、脳がどのように機能するのか、そしてそれが計算によってどのようにエミュレートできるのかについても触れられています。脳はニューロンで構成されていますが、コンピューターは電気信号を通じて通信する論理ゲートを使用して機能し、計算を逐次的に実行します。ただし、脳の信号は並行して伝播するため、より堅牢になります。

  • 00:05:00このセクションでは、講演者は人間の脳と比較したコンピューターの脆弱性と、ニューラル ネットワークがどのように脳の組織をエミュレートしようとしているかについて説明します。ニューラル ネットワークは、実際のニューラル ネットワークのニューロンに相当するユニットと呼ばれるノードと、シナプスに相当するリンクで構成されます。計算は、ユニット間で送信される数値信号を通じて行われます。目標は、正しいパターンが入力されたときにニューロンをアクティブ化し、正則化の手法を使用して一部のニューロンの削除を処理できるより堅牢な計算を可能にすることです。ニューラル ネットワークのインスピレーションは、実際の生物学的ニューラル ネットワークにおける化学信号の組織化と伝播から得られます。

  • 00:10:00このセクションでは、ニューラル ネットワークで重みを使用して入力の線形結合を計算し、新しい信号を生成する方法について講師が説明します。次に、この新しい信号はアクティベーション関数を通過し、非線形性を適用して出力を生成します。ネットワーク内の各ノードは入力を受け取り、それらを重みで再スケーリングし、活性化関数を適用して出力を生成し、その出力がネットワーク内の次のノードに渡されます。講師は、重みはネットワークの動作にとって重要であり、学習プロセス中に調整してパフォーマンスを向上させることができることを強調しました。

  • 00:15:00このセクションでは、ニューラル ネットワーク内のユニットが各入力に割り当てられた重みに基づいて入力の線形結合の非線形関数を計算する方法について講師が説明します。入力自体は、非線形活性化関数を通過した以前のノードである可能性があります。ニューラル ネットワークでは、入力を新しい空間にマッピングするための基底関数を作成するのではなく、ネットワークの一部が入力を新しい空間に再マッピングする方法を学習できるようになります。非線形活性化関数はネットワークの表現力を高めるために必要であり、講師はそのような関数の 2 つの一般的な例、閾値活性化関数とシグモイド関数について説明します。

  • 00:20:00講義のこのセクションでは、教授はニューラル ネットワークにおける活性化関数、特にゴミ保持関数とシグモイド関数の使用について説明します。同氏は、ゴミ箱保持機能は 0 と 1 を出力するのに便利ですが、滑らかで連続的ではないため、グラデーション ベースの方法で使用することが困難になる可能性があると説明しています。シグモイド関数はゴミ押さえ関数の滑らかなバージョンで、同じ形状ですが傾きを調整できます。次に教授は、AND、OR、NOT ゲートなどの基本的なゲートをエミュレートできるニューラル ネットワークのユニットの設計を検討します。彼は、NAND ゲートをエミュレートできるゴミ保持アクティベーション関数を備えたユニットの例を示し、入力の終わりに対応する出力を可能にするいくつかの重みを考え出すことが可能かどうかを質問しています。

  • 00:25:00このセクションでは、講師は、パーセプトロン ニューラル ネットワークでさまざまな重みを使用して、エンド ゲート、またはゲート、ノット ゲートなどの論理ゲートをエミュレートする方法について説明します。パーセプトロンで使用される重みを微調整することにより、これらのゲートのそれぞれに必要な真理値表出力を生成するようにニューラル ネットワークを設計できます。講師は、ゲートではなくエンド ゲート、またはゲートの重みを含む、各論理ゲートをエミュレートするために使用できるさまざまな重みの例を提供します。

  • 00:30:00このセクションでは、講師はネットワークの 2 つの広範なクラスについて説明します。フィードフォワード ニューラル ネットワークは、一方向に流れるノードの有向グラフで構成されます。リカレント ニューラル ネットワークは、本質的に周期的であり、さまざまな長さの入力を処理するのに役立つため、自然言語処理で人気があります。講師はフィードフォワード ニューラル ネットワークに焦点を当て、2 つの入力ユニット、2 つのユニットを備えた 1 つの隠れ層、および 1 つの出力ユニットを備えた簡単な例を描きます。層間の接続の重みを変更することにより、端またはノット単位をエミュレートして、任意のブール関数の近似が可能になると説明しています。

  • 00:35:00このセクションでは、講師がパーセプトロンの概念を説明します。パーセプトロンは、本質的には二項分類に使用される単純な単層フィードフォワード ニューラル ネットワークです。パーセプトロンをトレーニングするためのアルゴリズムについて説明します。各出力ユニットは、各 XY ペアのデータセットをループし、生成された出力が正しいかどうかに基づいて重みを調整することによって個別にトレーニングされます。この講義では、ニューラル ネットワークにおける重みの行列表現の使用についても説明します。

  • 00:40:00このセクションでは、教師は、しきい値関数を通過するユニットを処理するために使用されるパーセプトロン学習アルゴリズムを説明します。このアルゴリズムは、ネットワークの計算が正しければ重みを同じに保つことができるという非常に単純なルールを適用しますが、出力が正しくない場合は、単に入力 X を重みに加算するか減算することによって調整を行う必要があります。 、出力に応じて。目標は、出力が正であると想定される場合は入力と重みの線形結合を増加し、負であると想定される場合は入力と重みの線形結合を減少させて、パーセプトロンが出力を計算して正解に近づけることです。重要なのは、ゴミ箱保持関数は線形結合が正の場合は 1 を返し、負の場合は 0 を返すという事実を利用することです。

  • 00:45:00このセクションでは、スピーカーはパーセプトロン アルゴリズムの重みを最適化するための勾配降下の使用について説明します。損失関数は誤分類誤差として定義され、すべてのデータ ポイント X および Y について、YW 転置 X の積が負である場合に誤分類とみなされます。ポイントは、クラス 1 に属している場合は正、クラス -1 に属している場合は負であることが期待されます。誤って分類されたポイントが合計されて、最小化できる目標が得られます。次に、最適化のために勾配の反対方向にステップを実行するために、目的に関して勾配が計算されます。

  • 00:50:00パーセプトロンと単層ニューラル ネットワークに関する講義のこのセクションでは、教授はパーセプトロン アルゴリズムの重みを更新するための逐次処理による勾配降下法の使用について説明します。このアルゴリズムは、線形分離可能なデータに依存して、最終的にすべてのトレーニング インスタンスを正しく分類します。データが線形分離可能な場合にのみ、閾値パーセプトロン学習アルゴリズムが収束するという定理が提示されています。このセクションは、線形分離可能なデータと非線形分離可能なデータの説明と視覚化で終わります。

  • 00:55:00講義のこのセクションでは、教授はデータセットを線で分離しようとする試みの限界について議論し、しきい値活性化関数の代わりにロジスティック シグモイド活性化関数を使用する可能性を紹介します。ロジスティック シグモイドは非線形である可能性がありますが、それでも各クラスの確率が 0.5 である点で線形セパレータを生成します。したがって、ロジスティック シグモイドを使用しても、ロジスティック回帰と同じ線形セパレーターと仮説空間が得られます。次に教授は、ロジスティック シグモイド活性化関数を使用してパーセプトロンの重みをトレーニングする方法の問題に取り組みます。

  • 01:00:00このセクションでは、講演者は、ロジスティック シグモイド活性化関数を使用して目的を定義し、パーセプトロンの二乗誤差を最小限に抑えるためのアプローチについて説明します。彼らは、最尤法のアルゴリズムは本質的にロジスティック回帰と同じですが、二乗誤差を最小限にするには勾配を見つけてその方向に進む必要があると説明しています。彼らはまた、学習率を使用して逐次勾配降下法におけるステップ サイズを定義するというアイデアを紹介し、それが多くの場合調整が必要となる重要なパラメーターであると述べています。講演者は、実際にはデータ ポイントのミニバッチまたは 1 つのデータ ポイントに対して措置を講じることが一般的であると示唆しています。

  • 01:05:00このセクションでは、複数の層を持つニューラル ネットワークが任意の関数にどのように近似できるかを講師が説明します。彼は、異なるニューロンを一緒に構成することによって、反対の傾きを持つ 2 つの平行なシグモイド ユニットを追加することによって 2D リッジを作成することを示し、次に 2 つのリッジを構成して垂直に交差したときにバンプを形成する方法を示します。この手法を使用すると、1 つの小さな領域内の 1 つのクラスにポイントを割り当て、その他の場所にある他のクラスにポイントを割り当てることができる分類器を作成できます。講師は、4 つのシグモイド ユニットとアイデンティティ アクティベーション関数を備えたリッジを含む、対応するネットワークを説明します。

  • 01:10:00パーセプトロンと単層ニューラルネットに関する講義のこのセクションでは、教授は、ゴミ保持関数またはシグモイドを使用したバンプの構築と、それらをタイリングして加算して任意の曲線に任意に近づけることができる方法について説明します。 。同氏は、このアプローチは回帰に使用でき、バックプロパゲーションなどのアルゴリズムを使用して任意の関数を学習するようにニューラル ネットワークをトレーニングすることが可能であると説明しています。バックプロパゲーションは本質的に、ネットワークの構造を利用してすべての偏導関数を同時に計算する勾配降下法の一種です。

  • 01:15:00このセクションでは、インストラクターは、バックプロパゲーションアルゴリズムを使用して、ニューラルネットワーク内のすべての重みの偏導関数をネットワークを一定数のパスで同時に取得する方法を説明します。講師は、ニューラル ネットワークはその多用途性と、音声認識やコンピューター ビジョンなどのさまざまな問題を解決する能力により、広く普及していると強調します。最先端の機械翻訳や単語埋め込みでもニューラル ネットワークが使用されており、その人気の理由の 1 つはその効率性によるものです。
 

CS480/680 講義 10: 多層ニューラル ネットワークとバックプロパゲーション



CS480/680 講義 10: 多層ニューラル ネットワークとバックプロパゲーション

多層ニューラル ネットワークとバックプロパゲーションに関するこの講義では、線形モデルの限界と、多層ニューラル ネットワークなどの非線形モデルの必要性について説明します。講師は、ニューラル ネットワークで使用できるさまざまな活性化関数と、それらの関数によって非線形基底関数がどのように可能になるかについて説明します。講義では、バックプロパゲーション アルゴリズムを使用して、ニューラル ネットワークのすべての重みに対する誤差の勾配を計算する方法について説明します。自動微分ツールは、ニューラル ネットワークでデルタと勾配を効率的に計算する方法としても説明されています。全体として、この講義では、幅広い機能を近似する際のニューラル ネットワークの柔軟性と能力を強調します。

このビデオの講師は、収束の遅さ、局所最適化、非凸最適化、過学習など、ニューラル ネットワークの最適化の問題について説明します。収束の遅さを克服するには、正則化やドロップアウトなどの手法を使用できます。さらに、講演者は最適化のための勾配降下の動作について説明し、効率を向上させるためにステップ サイズを最適化する必要性を強調します。 DES グラント アルゴリズムは、各次元の学習率を個別に調整するソリューションとして提案されています。講演者は、以前の勾配の加重移動平均である RMSProp も紹介します。最後に、講演者は Adam について説明します。これには、勾配自体の加重移動平均を取得することが含まれており、これが SGD Nesterov などの他の手法よりも優れていることが示されています。

  • 00:00:00このセクションでは、講師が線形回帰と線形分類の 3 つのモデルについて簡単に説明します。ただし、これらのモデルの問題は、依然として線形セパレータが得られることです。したがって、講義では議論を非線形モデルに移し、多層ニューラル ネットワークの必要性を紹介します。

  • 00:05:00このセクションでは、インストラクターは、パーセプトロンとその閾値活性化関数、シグモイド活性化関数を含む線形モデルをレビューします。インストラクターは、直線ではなく曲線である関数に対応するために、線形モデルを非線形モデルに拡張できると説明します。これを達成するために、マッピング関数 Phi of X を使用してデータを新しい空間にシフトする非線形回帰が導入されます。講師はまた、非線形回帰の適応基底関数を提供する多層ニューラル ネットワークについても紹介し、これらを一般化線形回帰モデルに関連付けます。最後に、インストラクターは一般化された非線形分類について説明します。

  • 00:10:00講義のこのセクションでは、講演者は制限のない非線形モデルを扱う方法について説明します。これまで見てきた基底関数を含む線形モデルの問題は、基底関数をアプリオリに選択する必要があり、それを行うための十分な領域知識がない可能性があることです。解決策は、データに依存し、コストを支払うことなく非常に多くの、または無限の数の基底関数を使用できる基底関数を選択することです。この考え方は当初カーネル メソッドのアプローチであり、2010 年頃までは主要な一連のテクニックでした。

  • 00:15:00このセクションでは、ビデオでは、今日のディープ ラーニングで見られる多くの成功につながった、ディープ ラーニングにおける多層ニューラル ネットワークの導入について説明します。具体的には、このビデオは完全に接続されたノードを備えた 2 層のニューラル ネットワークに焦点を当てており、各接続には行列で表現できる重みがあります。隠れユニットと出力ユニットは、活性化関数と線形結合を使用して計算され、各層は独自の重みセットを持ちます。基底関数内のべき乗を調整することで、基底関数を適応させ、トレーニング セットに基づいて変化させることができ、より効果的な深層学習モデルを実現できます。

  • 00:20:00講義のこのセクションでは、教授は、ニューラル ネットワークが本質的に複数の層と重みで構成される数学関数であることを説明します。シグモイドや双曲線正接などの活性化関数を使用して、非線形性を追加します。これらの活性化関数は、次の層の基底関数として機能し、非線形回帰で使用できます。最初の層で非線形活性化関数を使用し、出力層で恒等関数を使用することにより、ニューラル ネットワークを非線形基底関数の線形結合として表すことができます。

  • 00:25:00このセクションでは、講演者は非線形回帰と分類のための 2 層ニューラル ネットワークについて説明します。 2 層ニューラル ネットワークの数式には、シグモイド活性化関数を備えた隠れユニットと恒等活性化関数を備えた出力ユニットが含まれます。シグマは、いくつかの重みによってパラメータ化される非線形基底関数として機能し、モデルのトレーニングに応じて基底関数が適応できるようにします。このアプローチは、非線形回帰と線形回帰の主な違いです。同様に、分類の場合、講演者は、最初の層を介して非線形の基底関数を計算することによって、同じ式がどのように適用されるかを示します。

  • 00:30:00このセクションでは、講師は、同様の解釈にもかかわらず、多層ニューラル ネットワークがロジスティック回帰とどのように異なるかを説明します。ニューラル ネットワークでは、トレーニング中に更新される重みを使用することで、より適応的な基底関数が可能になります。非線形性はシグマ関数の使用によって生じますが、これはガウス関数や 10h 関数などの他の関数で置き換えることができます。ニューラル ネットワークは、活性化関数を調整することで分類と回帰の両方に使用できます。講師は、シグマ関数を別の適切な関数に置き換えることによって、ネットワーク内で複数のクラスを使用できることにも言及しました。

  • 00:35:00このセクションでは、多層ニューラル ネットワークの重みの最適化について説明します。これには、線形結合の重みと、非線形基底関数を定義する重みの両方が含まれます。最適化のための最も一般的なアルゴリズムは誤差最小化です。これは、ニューラル ネットワークの出力をターゲットと比較し、その差を計算します。バックプロパゲーションは、誤差を計算してネットワーク経由でバックプロパゲーションし、すべての重みに関する勾配を計算できる一般的なアルゴリズムです。勾配は、重みを最適化するための更新アルゴリズムを計算するために使用されます。逆伝播アルゴリズムは手作業で計算されますが、Tensor Flow や PyTorch などのパッケージには自動微分ツールが用意されています。

  • 00:40:00このセクションでは、スピーカーは、ニューラル ネットワーク内のすべての重みに関する誤差の勾配または偏導関数を計算するために使用される逆伝播アルゴリズムについて説明します。アルゴリズムは 2 つのフェーズに分かれています。1 つはネットワークの出力が入力に基づいて計算される順方向フェーズ、もう 1 つは逆方向フェーズで、誤差の尺度であるデルタが逆伝播され、すべてのデータに関する誤差の偏導関数を計算します。重さ。偏導関数は、偏導関数の連鎖則とデルタ J および Zi を使用して 2 つのステップで計算されます。講演者は、2 つの入力、2 つの隠れユニット、および 2 つの出力ユニットで構成される完全に接続されたネットワークを使用したアルゴリズムを示し、アルゴリズムが各ユニットの出力を計算して誤差を逆伝播する方法を示します。

  • 00:45:00ビデオのこのセクションでは、講演者がバックプロパゲーション アルゴリズムを使用して多層ニューラル ネットワークで偏導関数を取得する方法について説明します。講演者は、出力層から始めて、出力ユニットのデルタに依存する再帰式を使用して、すべての出力ユニット J に関する誤差の偏導関数を計算できると説明します。次に、講演者は、順方向フェーズと逆方向フェーズを使用して、ニューラル ネットワーク内の隠れユニットと出力ユニットの出力を計算する簡単な例を示します。

  • 00:50:00このセクションでは、スピーカーはニューラル ネットワークでデルタと勾配を計算する方法と、自動微分ツールがこれを効率的に行うのにどのように役立つかを説明します。これらは、隠れ層と出力層のデルタを計算するための方程式を提供し、これらを使用して勾配を計算する方法を示します。講演者は、自動微分ツールを使用すると、さまざまなアーキテクチャや機能を使用する場合に手動で勾配を計算する時間と労力を節約できることを強調しました。このセクションは、たった 3 つの隠れユニットを使用して、ニューラル ネットワークが x の二乗、x の絶対値、x のサインなどの任意の関数をどのように近似できるかを示す例で締めくくられています。

  • 00:55:00このセクションでは、講師がさまざまな関数を近似するニューラル ネットワークの機能について説明します。ネットワークは、二次関数や正弦関数などの滑らかな関数を非常によく近似できる非線形基底関数に収束できます。ただし、絶対関数のような非滑らかな関数の場合、ニューラル ネットワークは十分な隠れユニットがないと関数を近似するのに苦労します。それにもかかわらず、ステップ関数のような不連続関数の場合でも、ネットワークは依然として合理的な近似値を提供できます。次に、講師はニューラル ネットワークの最適化についての議論に移ります。これには、自動微分を使用した勾配の計算と確率的勾配降下法の実行が含まれます。これは一般的な最適化手法ですが、最適化手法を追加しないと収束が遅くなる可能性があります。

  • 01:00:00このセクションでは、講師が、収束の遅さ、局所最適化、非凸最適化、過学習など、ニューラル ネットワークの最適化で発生する可能性のある問題について説明します。収束の遅さは、正則化やドロップアウトなどの技術によって克服できます。遅い収束の概念を説明するために、講師は誤差関数を表すボール状の表面の絵を描きます。勾配降下法は、グローバル ミニマムの外側から開始すると収束が遅くなる可能性がありますが、運動量や適応学習率などの最新の技術により収束を加速できます。

  • 01:05:00このセクションでは、講師が最適化のための勾配降下法の動作について説明します。勾配の方向は一般に等高線に対して垂直であり、その方向に 1 歩進むと最小値をオーバーシュートする可能性があるという問題があります。一方、勾配が小さい場合は、最小値に到達するまでに多くの小さなステップを踏む必要がある場合があります。したがって、より大きなステップを実行する必要がある領域と、より小さなステップの方が適切な領域が存在します。この動作は、勾配降下の効率を向上させるためにステップのサイズを最適化する必要性を強調しています。

  • 01:10:00このセクションでは、講演者は、ニューラル ネットワークのステップ サイズを決定するために勾配のサイズに依存する場合の潜在的な問題について説明します。勾配のサイズは異なる次元間で一貫していない可能性があるため、DES 許可アルゴリズムによって提案される 1 つの解決策は、これまでに確認された勾配の 2 乗の合計を取得し、ステップ サイズを分割することによって、各次元の学習率を個別に調整することです。その値の平方根によって計算されます。これにより、各次元の勾配の大きさに応じてステップ サイズを調整できます。ただし、一部のアプリケーションでは学習速度の減衰が早すぎて、進歩が妨げられる場合があります。

  • 01:15:00このセクションでは、講演者がニューラル ネットワークにおける勾配降下の問題と、学習率の調整が確率的勾配降下法を行う際にどのように役立つかについて説明します。講演者は、重みごとに 1 つの次元が存在する、ニューラル ネットワークの「次元」の概念を紹介します。彼らは、多額の金額の蓄積に関する問題と、それらのステップのサイズを削減する必要性を説明しています。講演者は、rmsprop の導入によるこの問題の解決策を提案します。rmsprop は、古い勾配を忘れて指数関数的に減衰する以前の勾配の加重移動平均です。ただし、この方法は完璧ではなく、講演者もその限界を認めています。

  • 01:20:00このセクションでは、講師は、勾配が安定している領域では勢いが不足しているため、方向が同じ場合にステップ サイズを大きくする方法の必要性が生じる問題について説明します。これは、勾配自体の加重移動平均を取得し、それを sT に保存することを含む、Adam として知られるヒューリスティックのバージョンにつながります。更新を行うときは、アクションと勾配でステップを実行するのではなく、移動平均のアクションでステップを実行します。この手法は 2015 年に ICLR で公開されたヒューリスティックであり、以前の手法との主な違いは、その特性に関するいくつかの理論と収束の証明が付属していることです。しかし、それが出版されたとき、いくつかの証明に問題があったため、より原則的なものを考案するために、より多くの証明で修正が行われました。

  • 01:25:00このセクションでは、スピーカーは、いくつかの良いステップを実行することと各ステップに高い代償を払うこと、またはあまり良いステップではないが、全体的には依然として最終的に結果的に良いステップとなる小さなステップを素早くたくさん行うことの間のトレードオフについて説明します。最小値に近づきます。また、ニュートン手法のような 2 次最適化手法など、十分に拡張できない最適化手法についても説明します。実際には、適切な理論がないにもかかわらず、ヒューリスティックはうまく機能する傾向があります。次に講演者は、Adam と SGD Nesterov などの他のテクニックとの経験的な比較を行い、Adam が非常に優れたパフォーマンスを発揮する傾向があることを示します。
 

CS480/680 講義 11: カーネルメソッド



CS480/680 講義 11: カーネルメソッド

この講義では、非線形関数を使用して 1 つの空間から新しい空間にデータをマッピングすることにより、一般化線形モデルをスケールアップする方法としてカーネル法の概念を紹介します。デュアル トリックまたはカーネル トリックは、追加コストを支払わずに高次元空間での作業を可能にする手法として説明されており、新しい空間内の点のペアの内積を計算するカーネル関数の使用につながります。多項式カーネルやガウス カーネルなど、カーネルを構築するためのさまざまな方法について説明します。これらの方法は、データ ポイント間の類似性の測定に使用でき、分類タスクに役立ちます。複雑さを制御できる新しいカーネルを構築するために、カーネルを構成するためのルールも導入されています。この講義では、グラム行列は正の半定値であり、ゼロ以上の固有値を持つ必要があるため、ファイ転置ファイと対応する関数を選択することの重要性を強調しています。

カーネル法に関するこの講義では、講演者はカーネルを、行列とその転置を掛けた行列に分解できる正の半定値関数として定義します。文字列、セット、グラフなどのさまざまなタイプのデータを比較するための、多項式やガウスなどのさまざまなタイプのカーネルとそのアプリケーションについて説明します。講演者はまた、部分文字列の長さを増やし、動的プログラミングを使用することで、部分文字列カーネルが単語間の類似性を迅速に計算する方法についても説明します。さらに、サポート ベクター マシンは、ロイターのニュース記事を使用した文書分類の実行に効果的であることが示されています。

  • 00:00:00このセクションでは、講演者は、一般化線形モデルをスケールアップするのに役立つカーネル メソッドを紹介します。一般化線形モデルとニューラル ネットワークの類似点と相違点を簡単に要約します。線形モデルでは固定の非線形基底関数が使用され、最適化がより容易で通常凸型になる傾向があるのに対し、ニューラル ネットワークでは適応基底関数が使用されることを強調します。 、最適化はより困難になる傾向があります。カーネルの導入は、非線形マッピングを含むモデルを扱うときに、より大きなスペースに対する代償を払うことを避けるトリックにつながります。

  • 00:05:00このセクションでは、講師が機械学習パラダイムの進化について説明し、データ量が十分ではない場合に限られた仮説空間がどのように重大な問題ではなかったかを強調します。しかし、2009 年から始まったニューラル ネットワークの時代では、大量のデータと計算能力が生み出され、より豊富な仮説空間を持つことが不可欠になりました。講師は、非線形関数を使用してデータを新しい空間にマッピングすることにより、追加コストを支払うことなく高次元空間での作業を可能にする計算技術であるデュアル トリックまたはカーネル トリックを紹介します。彼は、このトリックとカーネル関数を併用することで、明示的に計算することなく、大量または無限の数の基底関数を考慮できるようにする方法を説明しています。

  • 00:10:00このセクションでは、講師はカーネル手法に焦点を当てます。カーネル手法は、新しい空間内の点のペア間のドット積を計算し、それらのドット積を計算するコストを大幅に安くして、より良いスケーリングを実現する方法を見つけることを目的としています。アルゴリズム。したがって、ドット積はカーネル関数として名前変更され、すべての点のペアについてこれらのカーネルの出力を決定できれば、カーネルを定義するためのキーである X のファイによって定義される基礎となる特徴空間を計算する必要がなくなります。これは評価が速く、X のファイに関して計算を必要としません。一例として線形回帰が使用され、講師は、W が実際にはデータ ポイントの線形結合であることを示しました。データ ポイントは、X n の係数とファイの積です。 W を別の式、Phi と A の積で置き換えます。ここで、Phi は、新しい空間へのすべての点の行列です。

  • 00:15:00このセクションでは、講演者は、マッピング関数を使用して 1 つの空間から新しい空間にデータをマッピングすることを含むカーネル メソッドの概念を紹介します。彼は、重み行列 (W) ではなく、マッピングされた点の線形結合の係数 (a) を使用して、新しい空間での線形回帰問題の最適化をどのように行うことができるかを示します。これにより、グラム行列として定義される、新しい空間内の点のペアの内積を計算するカーネル関数が使用されます。その結果、カーネル関数を使用して係数を最適化することで、回帰問題の解を見つける別の方法が得られます。

  • 00:20:00このセクションでは、講師は双対空間での解を使用して予測を行う方法について説明します。これにより、計算の複雑さが主空間での場合とは異なります。主空間では、複雑さは基底関数の数に依存しますが、双対空間ではデータ量に依存するため、複雑さを増加させることなく高次元空間を実現できます。重要なのは、新しい空間内の点を参照せずにカーネル関数を計算することです。暗黙的にドット積に対応するカーネル関数を定義するにはさまざまな方法があります。グラム行列は正の半定値であり、0 以上の固有値を持つ必要があるため、Phi transpose Phi に対応する関数を選択することが重要です。講師は、カーネルを直接定義し、対応するマッピングを理解する方法の例を示します。

  • 00:25:00このセクションでは、講師はカーネル関数を元の空間の 2 乗における 2 つのベクトルの内積として定義します。これは、空間変換関数であるファイを参照せずに計算できる有効なカーネル関数であるかどうかという疑問が生じます。関数を拡張することで、講師は明示的に計算せずにファイのマッピングを定義でき、基底関数を備えた有効なカーネル関数に到達します。通常、カーネル関数は最初にファイを定義し、次にドット積を実行することによって計算されますが、この方法では元の空間でカーネル関数を直接計算できます。

  • 00:30:00このセクションでは、カーネルの構築方法について講師が説明します。アイデアは、複雑さを制御できる新しいカーネルを構築し、それが新しい空間に依存しないようにすることです。講師は、有効な新しいカーネルを作成するためのカーネルを構成するための 10 のルールを説明します。また、関数が有効なカーネルでない場合は、それらを組み合わせてより複雑なカーネルを取得するのに役立つ基本的な構成要素があります。講義ではさらに、元の空間の内積をいくら乗して、X のエントリのすべての M 次積として特徴空間を生成する多項式カーネルなど、実際に使用される一般的なカーネルを紹介します。講義は続きます。次のクラスでガウス カーネルについて説明します。

  • 00:35:00このセクションでは、計算コストを支払わずに回帰または分類モデルの柔軟性を実現するには、高次元性が必要であり、それが問題になる可能性があると講師が説明します。この問題を回避するには、新しい空間内の点のペア間のドット積を示す関数を指定するカーネルが使用されます。次に、多項式カーネルが共通カーネルとして導入され、元の空間の内積を M 乗したものになります。講師は、カーネルの具体例を 2D 空間に示し、それを拡張して、対応する内積を 2D 空間に示します。 3D空間。

  • 00:40:00このセクションでは、入力空間を、元の空間にないクラスであっても線形分離可能な高次元空間に暗黙的に変換するために使用されるカーネル メソッドについて説明します。この講義では、この方法がどのようにして任意の高乗 M に一般化され、本質的に M 個の可能な特徴のすべての組み合わせである新しい特徴が作成されるかについて説明します。ただし、これにより、指数関数的に大きな需要スペースが発生し、画像では計算上不可能になります。これを回避するには、定数 C をカーネルに追加して、M までの次数のすべての特徴を考慮することができます。

  • 00:45:00このセクションでは、多項式カーネルとガウス カーネルの概念について説明しました。多項式カーネルは 2 つのベクトルの内積を計算するために使用され、2 つのデータ ポイント間の類似性を次数 2 まで測定できます。一方、ガウス カーネルは 2 つのデータ点間の類似性を計算する式で表され、機械学習で使用される人気のあるカーネルです。カーネルは本質的に、新しい空間でドット積を計算するための近道であり、分類タスクに役立つデータ ポイント間の類似性の尺度として解釈できます。

  • 00:50:00このセクションでは、講師は、ガウス カーネルが 2 つの点間の類似性の尺度としてどのようにみなされるかを説明します。点が同一であれば高い値が得られ、離れている場合には低い値が得られます。ただし、特徴空間が無限であるため、ガウス カーネルが有効なカーネルであることを証明することは困難です。代わりに、講師は前の講義のルールを使用してカーネルの妥当性を正当化します。特にルール 4 は、カーネルの指数を取ると別の有効なカーネルが得られることを示し、ガウス カーネルを表現するために他のルールをさらに調査します。有効なカーネルの組み合わせとして。

  • 00:55:00ビデオのこのセクションでは、講師はさまざまなルールを使用して、X から X を引いた素数を引いたものを 2 シグマの 2 乗で割った e に等しい XX 素数の K が有効なカーネルであることを示します。 。講師は、ルール 1、2、4、および 8 を使用して、それが有効なカーネルであることを示す前に、X マイナス X 素数を展開し、項をさまざまな指数に分割します。使用されるルールには、a を恒等行列で置き換えること、X 転置 X 素数をシグマ二乗で割ったもの、および e を X 転置 X 素数をシグマ二乗で割ったものが有効なカーネルであることを示すことが含まれます。

  • 01:00:00このセクションでは、スピーカーはカーネルが正の半定値関数であり、転置を掛けた行列に分解できると説明しています。彼はまた、たとえば多項式カーネルを使用すると、すべての単項式をある程度まで構築する必要があり、結果として指数関数的な次元になることも説明しています。ただし、カーネルを直接操作することにより、必要なのはデータ ポイントの各ペア間の類似性を計算することだけであり、計算効率が向上します。ガウス カーネルについても説明します。ガウス カーネルは無限の特徴空間を持ち、任意の関数を表現するのに強力です。さらに、講演者は、カーネルはベクトルに関して定義されていますが、セット、文字列、グラフなどの他のタイプのオブジェクトにも適用できると述べています。

  • 01:05:00このセクションでは、講師がカーネル メソッドを使用して文字列とドキュメントをマッピングするというアイデアについて説明します。この手法には、2 つのドキュメントまたは文字列間の類似性を、両方のドキュメントに出現するすべての不連続部分文字列の加重合計として測定するカーネルの定義が含まれます。ただし、これらすべての機能を列挙すると時間がかかり、リソースが大量に消費される可能性があるため、非ベクトル カーネルが登場します。これらのカーネルは、新しい単語や造語が含まれる可能性のあるドキュメントを比較する場合に役立ち、文字列に特定の部分文字列が含まれるかどうかに応じて、すべての文字列またはドキュメントを新しい特徴空間にマッピングできます。

  • 01:10:00このセクションでは、スピーカーは、2 つの単語間の類似性を判断するために使用される部分文字列カーネルの概念を説明します。部分文字列カーネルは、部分文字列の長さを表すべき乗された値ラムダを受け取ります。この値は、重要な一致の場合は小さくなり、重要でない一致の場合は大きくなります。カーネルは、2 つのワードに存在するさまざまな長さの部分文字列で構成される特徴空間内のドット積を効率的に計算できます。これらのカーネルを効率的に計算するために、この論文では動的プログラミングを使用して部分文字列の長さを徐々に増やすことを提案しています。これにより、そうでなければ指数関数的となるカーネルの線形時間計算が可能になります。

  • 01:15:00このセクションでは、講演者は、より豊かな空間で動作するために、カーネルでサポート ベクター マシンを使用する方法について説明します。講演者は、ロイターのニュース記事を使用して文書分類を実行し、この手法を使用した結果を示した論文を引用しました。このアプローチは非常に強力である可能性があり、次のクラスでさらに詳しく説明します。
 

CS480/680 講義 13: サポート ベクター マシン



CS480/680 講義 13: サポート ベクター マシン

この講義では、分類に使用されるカーネル手法の一種であるサポート ベクター マシン (SVM) について説明します。 SVM は、データ量が少ない場合の問題に対して依然としてよく使用されており、データのサブセットを処理し、残りを無視できるため、スパースであると考えられています。講演者は、決定境界に最も近いデータ ポイントであるサポート ベクトルの概念と、マージンを最大化しながらクラスを分離するための線形分離器を見つける SVM の視覚的な例について説明します。 SVM とパーセプトロンの違いについて説明します。SVM は独自の最大マージン線形セパレータを採用しており、過剰適合が起こりにくいです。 SVM の最適化問題は、ラグランジアンを使用して書き直すことができ、制約のない同等の問題が得られます。ラグランジアンから得られた解を代入して戻すと、カーネル関数を含む式が得られ、二重問題の最適化が可能になります。データ ポイントのペア間の類似性を計算するカーネル関数を使用して二重空間で作業する利点についても説明します。 SVM は、クエリ ポイントとすべてのサポート ベクターの間の類似度を計算して、最も類似したものを決定します。議論は、サポート ベクターの数とそれがポイントの分類に与える影響についても展開します。

このビデオでは、ドキュメントが単語数のベクトルとして表現される、テキスト分類におけるサポート ベクター マシン (SVM) の概念について説明します。 SVM は最悪の場合の損失を最小限に抑えるのに効果的で、異なるデータセットであっても分類器をあらゆるサンプルに適したものにします。研究者は、二重表現とカーネル マッピングを備えた SVM を使用して、精度を失ったりスケーラビリティを犠牲にしたりすることなく、データをさらに高次元の空間にマッピングしました。この講義では、データセットから関連ドキュメントを取得し、精度と再現率のバランスをとるための SVM の使用法についても説明します。このビデオは、データの線形または非線形分離器を提供する SVM の機能と、マルチクラス分類および非線形分離可能データに関連する課題についてのディスカッションで終わります。

  • 00:00:00このセクションでは、分類に使用されるカーネル手法の一種であるサポート ベクター マシン (SVM) について講演者が紹介します。歴史的には、2010 年以降にニューラル ネットワークが引き継ぐまで、SVM は機械学習において最も重要で一般的な分類手法でした。しかし、SVM は依然としてデータ量が少ない問題に対して良好なパフォーマンスを発揮し、データのサブセットを処理し、データを無視できるため、スパースであると考えられています。休み。次に講演者は、2 つのクラスのデータの視覚的な例と、SVM がマージン (各クラスの最も近い点までの最小距離) を最大化しながらこれらのクラスを分離するための線形セパレーターを見つける方法を説明します。\

  • 00:05:00このセクションでは、サポート ベクター マシン (SVM) のサポート ベクターの概念について説明します。サポート ベクターは、決定境界に最も近い重要なデータ ポイントであり、基本的に線形セパレーターがどこに行くかを決定します。 SVM の最終的な線形セパレータは、最も近いデータ ポイントまでの距離、別名マージンを最大化するもので、最適化問題を解くことで得られます。マージンを最大化する背後にある直感は、ノイズの多いデータ ポイントが決定境界によって誤って分類されないようにすることです。

  • 00:10:00このセクションでは、より適切な分類を実現するために、サポート ベクター マシン (SVM) の最大マージンの概念について説明します。マージンを最大にすると、分類がノイズに対してより堅牢になり、将来の例に対してより適切に一般化できるようになります。セパレータまでのポイントの距離は、そのデータ ポイントの重みベクトルと特徴ベクトルの間の内積を使用して計算され、最大マージンを与えるように正規化されます。セパレータまでの任意の点の距離を計算する公式も示され、SVM で最適化されている目的についても説明されます。最大マージンを持つ固有のラインが存在するため、マージンが等しい 2 つのラインは最大マージン ラインではないことが強調表示されます。

  • 00:15:00このセクションでは、サポート ベクター マシン (SVM) とパーセプトロンの違いについて説明します。パーセプトロンは線形セパレーターを見つけますが、このセパレーターは重みの初期化に使用される開始値に依存します。また、パーセプトロンはトレーニングに単純な更新ルールを使用し、ラベル反転に依存して線形セパレーターとデータ ポイント間の距離を測定します。対照的に、SVM は二次最適化問題を使用して、初期化への依存度が低い最大マージン線形分離器を見つけます。 SVM はまた、ソフト マージン分類を可能にするスラックの概念を導入し、非線形分類のためのカーネル トリックを備えています。全体として、SVM はパーセプトロンと比較して分類精度が高くなります。

  • 00:20:00このセクションでは、講師は標準パーセプトロンとサポート ベクター マシン (SVM) を対比します。前者は堅牢性に欠けており、すぐにオーバーフィットする可能性がありますが、後者は独自の最大マージン線形セパレータを使用するため、オーバーフィットの傾向が低くなります。 SVM は、すべてのデータ ポイントが線形セパレーターから少なくとも 1 単位の距離離れているという制約の下で、重みを最小限に抑えるために凸二次最適化を通じて最適化されます。この最適化は複雑に見えるかもしれませんが、実際には、利用可能な多くの最適化パッケージを使用して計算的に実行するのは非常に簡単です。

  • 00:25:00このセクションでは、講演者はサポート ベクター マシンのより便利な最適化問題を紹介します。この問題では、点間の距離が少なくとも 1 に固定され、W のスケールが最小化されます。講演者は、この問題が前の最適化問題と同等であることを実証しました。この新しい定式化では双対表現が可能になり、新しい特徴空間での計算は、ガウス プロセスで行われたのと同様に、カーネル関数で置き換えることができるドット積の観点から実行できます。

  • 00:30:00このセクションでは、サポート ベクター マシンの最適化問題をラグランジアンを使用して書き換えて、制約のない同等の問題を生成する方法を講演者が説明します。この新しい目標には、違反した制約ごとにペナルティ項が含まれます。これは、違反が発生したときに必ず正でゼロより大きい新しい変数 a に依存します。ラグランジアンの最小値を最大化するようにこの変数 a を設定すると、新しい問題は制約のある元の問題と数学的に等価になります。この手法は、最適化プロセスを簡素化し、より効率的にするのに役立ちます。

  • 00:35:00このセクションでは、講師はサポート ベクター マシンの最適化問題におけるペナルティ項と制約の使用について説明します。彼らは、点間の距離を制限する制約をペナルティ項に置き換えることができ、係数を選択することで最適化できると説明しています。ただし、この最適化問題は、解決が容易ではない最大の問題をもたらします。これを解決するために、講師は、閉じた形式で内部最小化問題を計算し、W が新しい特徴空間内のデータ点の線形結合である解に到達する方法を説明します。ゼロとは異なる係数 (サポート ベクター) が W の値を決定します。

  • 00:40:00このセクションでは、ラグランジアンから得られた解を代入してカーネル関数を含む式を得る方法を講師が説明します。このカーネル関数を使用すると、すべての点のペア間でカーネル関数を直接計算できるため、次元を気にすることなく高次元空間で作業できるようになります。これは、係数を取得するために別の変数セットを最適化する二重問題の最適化につながります。これらの係数の大部分は最終的にゼロになるため、最適化問題が疎になり、計算の複雑さが軽減されます。係数を取得したら、その係数を使用して、特徴と係数の内積を取得することでデータ ポイントを分類し、さまざまなクラスに対応する正または負の結果を得ることができます。

  • 00:45:00このセクションでは、インストラクターが線形分離可能なケースにおけるサポート ベクター マシン (SVM) の概念を説明します。彼らは、2 次元空間の線形セパレーターが法線ベクトルと入力フィーチャの内積によって表現できることを示しています。線形セパレーター上の点は、内積が 0 に等しいことに対応します。次に、データ ポイントのペア間の類似性を計算するカーネル関数で重みを置き換えることを含む、双対空間で作業する利点について説明します。結果の合計はサポート ベクターの数にのみ依存し、クエリ ポイントとデータ セット内のすべてのポイントの間のカーネルの線形結合の正弦に基づいて分類が可能になります。

  • 00:50:00このセクションでは、講師は、SVM アルゴリズムがクエリ ポイントとすべてのサポート ベクトルの間の類似度を計算して、最も類似したものを決定することを説明します。これらの最も類似したサポート ベクターのクラスが、クエリ ポイントの予測クラスに「投票」します。これは、カーネル関数によって重みが決定される重み付き最近傍アプローチに似ています。ただし、サポート ベクターの数はクラスごとに必ずしも等しいとは限らず、空間の次元に基づいて変化する場合があります。

  • 00:55:00このセクションでは、サポート ベクターの数とそれがポイントの分類にどのような影響を与えるかを中心に説明します。 1 つのクラス内により多くのサポート ベクターがあるにもかかわらず、サポート ベクターの数はそのクラス内のポイントを分類する傾向には影響しません。その理由は、すべてのサポート ベクターが正か負かに関係なく合計に寄与し、ポイントがサポート ベクターと同じクラスに属しているかどうかを示すためです。さらに、サポート ベクター マシンは、マージンを最大化することは、基礎となる入力分布の最悪の場合の損失の上限を最小化することと同等であるため、適切に一般化され、過学習の傾向が少ないことが知られています。

  • 01:00:00講義のこのセクションでは、サポート ベクター マシンの概念と、サポート ベクター マシンがテキスト分類でどのように機能するかを説明します。サポート ベクター マシンは、最悪の場合の損失を最小限に抑え、さまざまなデータセットに対応する可能性のあるあらゆるサンプルに関して分類器が適切であることを保証するのに効果的です。この講義では、すでに分類されたニュース記事のアーカイブを使用して分類子をトレーニングするテキスト分類のケース スタディを提供します。一般的なアプローチは、ベクトル空間モデルを使用してすべての文書を単語数のベクトルに変換することでした。この場合、単語の順序は無視され、辞書の長さのベクトルが作成されます。このアプローチは、記事の分類を自動化し、スケーラビリティを向上させるのに役立ちました。

  • 01:05:00講義のこのセクションでは、教授は、各特徴が文書の辞書内の単語に対応する高次元ベクトルとして文書を表現する方法を説明します。特徴抽出を通じてこれらのベクトルの次元を削減しようとするのは自然なことですが、ほとんどの単語にはある程度の関連性があるため、情報の損失につながる可能性があります。この問題に対処するために、研究者らは二重表現とカーネル マッピングを備えたサポート ベクター マシンを使用して、データをさらに高次元の空間にマッピングしました。このアプローチは次元数に応じて適切に拡張できるため、高次元データを分析するのに便利なツールになります。

  • 01:10:00このセクションでは、講演者はデータセットからドキュメントを取得する際のサポート ベクター マシンの使用について説明します。適合率と再現率は、それぞれ、取得された関連ドキュメントの割合とデータセット内の関連ドキュメントの割合を推定するために使用される尺度です。目標は精度と再現率のバランスをとることであり、サポート ベクター マシンがこの目的に最適なアルゴリズムであることがわかりました。彼らは、精度を失ったりスケーラビリティを犠牲にしたりすることなく、すべての特徴を維持し、それらを高次元の空間にマッピングすることができました。高次元空間で必要なサポート ベクターの数は増加する可能性がありますが、その空間での作業に追加のコストはかかりません。

  • 01:15:00このセクションでは、サポート ベクター マシン (SVM) について、およびサポート ベクター マシン (SVM) がデータに線形または非線形のセパレーターを提供する方法について学びます。 SVM は独自の超平面を使用して適切な一般化のためのマージンを最大化し、凸二次最適化を使用して全体的な最適性を確保できます。ただし、対処すべき重要な問題が 2 つあります。それは、複数クラス分類を行うことができるのか、もう 1 つはデータが線形分離可能でない場合はどうするのかということです。次の一連のスライドでは、これらの問題について説明します。
 

CS480/680 講義 14: サポート ベクター マシン (続き)



CS480/680 講義 14: サポート ベクター マシン (続き)

講義のこのセクションでは、サポート ベクター マシン (SVM) を使用する際に、スラック変数を導入し、ソフト マージンを考慮することで、非線形分離可能なデータと重複するクラスを処理することに焦点を当てます。講演者は、スラック変数を使用すると、分類エラーを引き起こすことなくマージン内の点を分類できる方法について説明します。ペナルティ項が最適化問題に追加され、スラック変数の使用を規制します。重み C によって制御され、誤差の最小化とモデルの複雑さの間のトレードオフが調整されます。講演者は、1 対すべて、ペアごとの比較、連続ランキングなど、マルチクラス分類問題に SVM を使用するさまざまなアプローチについても説明します。後者は、複数のクラスを持つ SVM に対する事実上のアプローチです。さらに、マルチクラス マージンの概念が導入されます。これには、クラスの各ペアの重みベクトルの差によって定義される、線形セパレータの周囲のバッファが含まれます。

  • 00:00:00このセクションでは、サポート ベクター マシン (SVM) を使用するときに、非線形分離可能データと重複するクラスを処理する方法について講師が説明します。解決策は、スラック変数を導入し、ソフト マージンとして知られるものを考慮することです。これにより、すべての点がセパレータから少なくとも 1 単位離れている必要があるという仮定が緩和されます。スラック変数を使用するとマージンを 1 未満にすることができるため、マージン内の点でも分類エラーを引き起こすことなく分類できます。

  • 00:05:00このセクションでは、スラック変数を導入することで、誤って分類されたポイントやマージン内のポイントを許容する方法として、ソフト マージンの概念が導入されています。スラック変数の使用を規制し、スラック変数ペナルティが確実に最小化されるようにするために、ペナルティ項も最適化問題に追加されます。これは重み C によって制御され、誤差の最小化とモデルの複雑さの間のトレードオフも制御されます。通常、スラック変数の合計が誤分類数の上限となります。重み C は、誤差の最小化とモデルの複雑さの間のトレードオフを調整する正則化係数と考えることができ、C が無限大になると、元のハード マージン分類器が回復されます。

  • 00:10:00このセクションでは、講演者は引き続きサポート ベクター マシンと、誤分類と外れ値の処理方法について説明します。ソフト マージンは軽度の誤分類に対処できますが、それでも外れ値には敏感です。サポート ベクターは等価性を持つアクティブな制約に対応しますが、距離がすでに 1 より大きい場合、つまりすべてのスラック変数が 0 になる場合、不等号を持つ制約はアクティブではありません。講演者はまた、複数のクラスで動作するようにサポート ベクター マシンを拡張する方法についても触れています。歴史的には 3 つのアプローチが検討されており、そのうちの 1 つは「1 対すべて」であり、各サポート ベクター マシンはあるクラスと他のすべてのクラスを区別します。

  • 00:15:00講義のこのセクションでは、サポート ベクター マシンを使用してデータを複数のクラスに分類するためのさまざまなアプローチについて講演者が説明します。最初のアプローチである 1 対すべてでは、各クラスと残りのクラスのサポート ベクター マシンをトレーニングする必要がありますが、分類で競合が発生する可能性があります。 2 番目のアプローチであるペアごとの比較では、クラスのペアごとにサポート ベクター マシンをトレーニングする必要があり、計算コストが高くなる可能性があります。 3 番目のアプローチである連続ランキングでは、単一のサポート ベクター マシンをトレーニングして、それらの値に基づいてクラスをランク付けするための連続値を返します。講演者は、例を使用してこれらのアプローチを説明し、ペアごとの比較は計算コストの点で理想的ではなく、複数のクラスを持つサポート ベクター マシンを使用するための事実上のアプローチとして、1 対すべてを最も不利で継続的なランキングとして残しておくと結論付けています。

  • 00:20:00このセクションでは、講師は、マルチクラス分類問題にサポート ベクター マシンを使用するさまざまなアプローチについて説明します。彼らは、異なるクラスを区別するために複数の線形セパレーターを使用することがどのようにして曖昧な点につながるかを説明し、代替アプローチである連続ランキングについて説明します。このアプローチの背後にある考え方は、クラスごとに個別の重みベクトルを使用し、入力データの内積の大きさを各クラスの重みベクトルと比較して、内積が最も大きいクラスを選択することです。このアプローチは、さまざまなクラスの内積を比較するマージンの概念を一般化し、正しいクラスの内積がすべての不正確なクラスより少なくとも 1 大きいことを保証します。

  • 00:25:00講義のこのセクションでは、発表者がサポート ベクター マシン (SVM) におけるマルチクラス マージンの概念を説明します。マルチクラス マージンは、線形セパレータの周囲にバッファを持つことに対応し、クラスの各ペアの重みベクトルの差によって定義されます。最適化の問題はバイナリ SVM の問題と同じままで、制約のみが置き換えられます。重複するクラスや複数のクラスでは、スラック変数とペナルティ項を導入して、ソフト マージンで複数クラスの分類を処理できます。マルチクラス SVM は、複数のクラスおよび重複するクラスで機能する一般的な定式化になりました。
 

CS480/680 講義 15: ディープ ニューラル ネットワーク



CS480/680 講義 15: ディープ ニューラル ネットワーク

このビデオでは、ディープ ニューラル ネットワークの概念、勾配消失問題、画像認識タスクにおけるディープ ニューラル ネットワークの進化など、ディープ ラーニングの基本について説明します。講師は、ディープ ニューラル ネットワークを使用して関数をより簡潔に表現する方法と、ネットワークが深くなるにつれてより高レベルになる特徴をどのように計算するかについて説明します。勾配消失問題の解決策には、修正線形単位 (ReLU) やバッチ正規化の使用が含まれます。この講義では、最大出力ユニットと、複数の線形部分を可能にする ReLU の一般化としてのその利点についても説明します。

ディープ ニューラル ネットワークに関する講義では、効果的なディープ ラーニングのために解決が必要な 2 つの問題、つまり、多層ネットワークの表現力による過学習の問題と、複雑なネットワークをトレーニングするための高い計算能力の要件について説明します。講師は、トレーニング中の正則化やドロップアウト、計算中の並列コンピューティングなどのソリューションを提案します。この講義では、入力ユニットと隠れユニットの大きさをスケーリングすることによって、テスト中にドロップアウトを使用する方法についても詳しく説明します。最後に、音声認識、画像認識、機械翻訳におけるディープ ニューラル ネットワークの画期的なアプリケーションをいくつか紹介して講義を終了します。

  • 00:00:00このセクションでは、ディープ ラーニングの基本、特にディープ ニューラル ネットワークとは何か、通常のニューラル ネットワークとの違いについて学びます。多数の隠れ層を持つニューラル ネットワークの概念が 1980 年代に初めて提案されたため、「ディープ ラーニング」という用語は主にマーケティング目的で使用されていることがわかりました。ただし、ディープ ニューラル ネットワークを使用する利点は、表現力が高い傾向があり、データに適切に適合できることです。課題は、彼らを効果的に訓練することにあり、ここで「消え去る大きな問題」が発生します。

  • 00:05:00このセクションでは、講師が大規模なニューラル ネットワークのトレーニングの問題と、重みとパラメーターの数が多いことによる過学習の問題について説明します。研究者は、十分な隠れユニットを使用すればあらゆる関数を近似できるため、単一隠れ層ニューラル ネットワークに偏っていました。ただし、複数の隠れ層ニューラル ネットワークには、パリティ関数の例で示されているように、ネットワーク全体のサイズを指数関数的に縮小できるという利点があります。講師はパリティ関数をエンコードするニューラル ネットワーク アーキテクチャを示します。隠れ層は論理「and」関数をエンコードする閾値パーセプトロンであり、出力ユニットは論理「or」関数です。

  • 00:10:00このセクションでは、オンになった入力の数が奇数か偶数かを検出するためにニューラル ネットワークを設定する方法を講師が説明します。完全に接続されたネットワーク内の各隠れユニットは、入力が奇数で出力ユニットが隠れユニットの単なる OR である 1 つの特定のパターンをチェックする責任があります。奇数の 4 つの入力を持つ 8 つのパターンがあり、各隠れユニットがそれらのパターンの 1 つを担当します。ただし、講師は、一般に n 個の入力があると、指数関数的に多くの隠れユニットが発生するため、このアプローチはスケーラブルではなくなり、代替アプローチを提案すると指摘しています。

  • 00:15:00このセクションでは、講師がディープ ニューラル ネットワークの概念について説明します。ディープ ニューラル ネットワークには複数の層が含まれており、機能をより簡潔に表現するために使用できます。この講義では、パリティ関数という関数の例を示します。パリティ関数は、1 つの隠れ層のみを備えた指数関数的に大規模なネットワーク、または複数の隠れ層を備えた線形サイズのネットワークによってのみ表現できます。次に講師は、ディープ ニューラル ネットワークが顔認識などのコンピュータ ビジョン タスクに実際にどのように使用できるかについて説明します。このタスクでは、入力 (ピクセル強度など) がネットワークに入力され、出力で分類を生成するために中間値が計算されます。

  • 00:20:00このセクションでは、ディープ ニューラル ネットワークがネットワークの最初は単純な特徴を計算し、深くなるにつれて徐々に高レベルになる特徴を計算するビデオについて説明します。コンピューター ビジョンでは、深層学習以前は、実務者がタスクの機能を手動で設計していました。ただし、ディープ ラーニングを使用すると、特徴をネットワークの一部として学習できるため、生データを操作できるようになります。この画期的な発見は、2006 年にジェフ ヒントンによって先駆的に行われ、彼は最初の効果的なディープ ニューラル ネットワークを設計しました。

  • 00:25:00このセクションでは、ディープ ニューラル ネットワークの歴史と、音声認識と画像分類におけるその画期的な進歩について説明します。最初のブレークスルーは 2009 年に起こり、Geoff Hinton が制限されたボルツマン マシンを使用してディープ ニューラル ネットワークを層ごとにトレーニングする方法を開発し、音声認識ベンチマークの大幅な改善につながりました。その後、2013 年頃に制限付きボルツマン マシンがリカレント ニューラル ネットワークに置き換えられ、さらに良い結果が得られました。 2 番目のブレークスルーは、2010 年に ImageNet 大規模視覚認識チャレンジが提案されたときに画像分類で起こりました。長年の研究にもかかわらず、コンピューターは 1000 のカテゴリ間で画像を正確に分類できませんでした。しかし、2012 年までに深層学習アルゴリズムによりエラー率が 26% から 15% に減少し、2016 年までに Microsoft は人間のパフォーマンスを上回るエラー率 3.1% を達成しました。

  • 00:30:00このセクションでは、講演者が、特に画像認識タスクにおけるディープ ニューラル ネットワークの歴史と進化について説明します。画像分類タスクのエラー率は、ジェフ ヒントンのグループによる AlexNet と呼ばれる畳み込みニューラル ネットワークの導入により 2012 年に大幅に減少しました。これにより、ニューラル ネットワークが顕著な結果を達成できることが理解され、エラー率をさらに改善するために、より洗練されたアーキテクチャが設計されました。時間の経過とともにネットワークの深さが増し、より深いネットワークへ向かう明らかな傾向が見られました。画像認識タスクにディープ ニューラル ネットワークを適用して使用できるようになったのは、トレーニング技術の向上や過剰学習の防止など、さまざまなイノベーションの結果です。

  • 00:35:00このセクションでは、ディープ ニューラル ネットワークにおける勾配消失の問題について説明します。この問題は、前の層のエッジに関連付けられた重みの偏導関数の大きさが小さく、ネットワークが深くなるにつれて値が無視できる場合に発生します。このため、最下層がトレーニングされておらず、ネットワークの予測を改善するための有意義な出力が提供されないため、研究者が複数の層でニューラル ネットワークをトレーニングすることが困難になりました。これは、勾配が常に 1 未満であるシグモイド関数や双曲線正接関数など、使用されている活性化関数が原因の 1 つであり、重みの最適化と初期計算の調整が困難でした。

  • 00:40:00このセクションでは、ディープ ニューラル ネットワークにおける勾配消失の問題について講師が説明します。彼は、シグモイド アクティベーション ユニットを備えたおもちゃのニューラル ネットワークを作成し、勾配が因子の積である偏導関数でどのように構成されているかを示します。各因子はシグモイドの偏導関数または重みのいずれかです。シグモイドの偏導関数は常に 1 未満であり、重みは 1 未満の大きさに初期化されるため、これらの係数を乗算すると、偏導関数はますます小さくなる傾向があります。その結果、レイヤーに戻るにつれて重みの影響が小さくなり、勾配消失の問題が発生します。次に講師は、事前トレーニング、さまざまな活性化関数、スキップ接続、バッチ正規化などのいくつかの一般的なソリューションを紹介し、考えられるソリューションとして修正された線形ユニットと最大アウト ユニットに焦点を当てます。

  • 00:45:00このセクションでは、講師は、問題のある活性化関数によって発生する勾配消失の問題の解決策について説明します。考えられる解決策の 1 つは、入力またはゼロの線形結合を返す整流線形単位 (ReLU) など、ゼロより大きい導関数を持つアクティベーション関数を使用することです。もう 1 つの解決策はバッチ正規化です。これにより、勾配が 1 に近づく傾向がある範囲にデータが効果的に収まるようになります。これらのソリューションでは、十分なパスの勾配が 1 である限り、一部のパスで勾配が消えることが許可され、勾配がニューラル ネットワークを通じて伝播されます。

  • 00:50:00このセクションでは、講師が整流線形単位 (ReLU) とその利点と欠点について説明します。 ReLU は当初、ゼロの不連続性があり、勾配降下法を使用した勾配の計算で問題が発生するため批判されました。ただし、数値が正確にゼロになることはほとんどないため、この問題は実際には重要ではありません。対照的に、ReLU を近似するソフト損失関数は滑らかで連続的ですが、その勾配はどこでも 1 未満です。したがって、ReLU を滑らかにしても、勾配消失の問題を解決することはできません。 ReLU には無視できる部分があるにもかかわらず、線形部分で各ユニットが何かを生成する入力があるため、それでも役に立ちます。

  • 00:55:00このセクションでは、講演者が整流線形単位 (ReLU) の利点について説明し、最大出力単位の概念を紹介します。 ReLU が普及したのは、勾配が消失しない場合に、より速く学習でき、必要な勾配降下が少なくなるからだと彼は説明します。次に講演者は、ゼロ部分と線形部分だけではなく、複数の線形部分を許容する ReLU の一般化としてマックスアウト ユニットを紹介し、さまざまな線形結合の最大値を取得することによってそれらがどのように構築されるかを示します。マックスアウト ユニットの形状は、それぞれが線に対応する複数の線形結合を持つことが示されており、マックス ユニットを備えたアイデンティティ ユニットの隠れ層の集合体になります。

  • 01:00:00講義のこのセクションでは、深層学習を効果的に行うために解決する必要がある 2 つの問題について教授が議論します。 1 つ目の問題は、多層ネットワークの高い表現力によって生じる過学習の問題です。正則化は、重みの大きさを最小限に抑えて重みを小さく制限した状態に保つことを含む解決策の 1 つです。もう 1 つの解決策はドロップアウトです。ドロップアウトでは、ネットワークを強制的に堅牢にして過剰適合を防ぐために、トレーニング中に一部のネットワーク ユニットがランダムにドロップされます。 2 番目の問題は、複雑なネットワークをトレーニングするために高い計算能力が必要であることです。これは、GPU を使用した並列コンピューティングまたは分散コンピューティングによって実現できます。

  • 01:05:00このセクションでは、講演者がディープ ニューラル ネットワークのテスト時のドロップアウトの使用について説明します。ドロップアウトは、トレーニング中に、過学習を防ぐために入力ユニットまたは隠れユニットの一部をネットワークからランダムにドロップする手法です。ただし、テスト中はネットワーク全体が使用されるため、線形結合の大きさが大きくなる可能性があります。この問題を解決するには、入力ユニットに 1 からドロップされる確率を引いた値を乗算して入力ユニットを再スケールし、隠れユニットに対しても同じことが行われます。講演者は、3 つの入力、4 つの隠れユニット、および 1 つの出力を持つ完全に接続されたネットワークの例を示し、トレーニング中に入力ユニットと隠れユニットの一部を削除するための乱数発生器の使用について説明します。

  • 01:10:00このセクションでは、インストラクターが、ニューラル ネットワークですべての入力ユニットまたは隠れユニットが削除された場合に何が起こるか、およびドロップアウト正則化がこの問題にどのように対処できるかを説明します。すべてのユニットが削除される可能性は低いですが、削除された場合は精度に影響を与える可能性があります。ドロップアウトの正則化は、過剰適合を防止し、ドロップアウトされた機能に対してネットワークを堅牢にするのに役立ちます。ドロップアウト正則化のアルゴリズムには、ベルヌーイ変数をサンプリングして一部のユニットがドロップされる切断されたネットワークを作成し、残りのユニットの大きさに 1 からドロップされる確率を引いた値を乗算することが含まれます。トレーニング中に、切断されたネットワークに関して勾配が計算されます。

  • 01:15:00このセクションでは、プレゼンターは、ネットワークを堅牢にし、過剰学習を防ぐためにディープ ニューラル ネットワークで使用されるドロップアウト手法について説明します。ドロップアウトは近似学習とサンプル学習の形式であり、各反復で特定のノードをドロップアウトすることによって切断されたネットワークを計算し、その結果、学習内容をエンコードできる 1 つの仮説または関数が得られます。ネットワーク全体は、計算される内容が調整された、すべての切断されたネットワークの平均であると考えることができます。この方法はベイズ学習に似ており、ディープ ガウス プロセスに関して一部の計算を近似することが証明されています。これは、ドロップアウトが実際にうまく機能する理由を正当化するのに役立ちます。発表者は最後に、音声認識、画像認識、機械翻訳など、ディープ ニューラル ネットワークが画期的な進歩を遂げたいくつかのアプリケーションを紹介します。

  • 01:20:00このセクションでは、講演者は、ガウスの混合を使用する隠れマルコフ モデルであった音声認識の歴史的な最先端の方法について説明します。しかし、2009 年に、ジェフ ヒントンと彼の研究グループは、ガウス混合を、積層型制限ボルツマン マシンを使用するディープ ニューラル ネットワークに置き換えることを提案しました。確率モデルとディープ ニューラル ネットワーク間のこのハイブリッド モデルにより、エラー率が大幅に減少し、これはいくつかのベンチマークで観察されました。この画期的な進歩により、Google や Microsoft を含むいくつかの企業がディープ ニューラル ネットワークの活用を開始し、最終的にディープ ラーニングの分野の復活につながりました。

  • 01:25:00このセクションでは、講師が、2012 年に起こった画像認識のブレークスルーから始まるニューラル ネットワークのブレークスルーについて説明します。ブレークスルーは、ピクセル強度の 2D 配列を入力として受け取る畳み込みニューラル ネットワークの開発によるものでした。さまざまな粒度で特徴を計算する畳み込み層と、完全に接続された高密度層があります。データ拡張は、回転やその他の要因に対して不変にすることで認識を向上させるためにも使用されました。その結果、コンテストのトップエントリーのエラー率は 26.2% から 16.4% に大幅に減少しました。 16% はまだ比較的高い値ですが、数千のクラス間で画像を正確に分類することは困難であり、予測精度は上位 1 つではなく上位 5 つが測定されました。

  • 01:30:00このセクションでは、講師が、例として馬の画像を使用して、ディープ ニューラル ネットワーク アルゴリズムのパフォーマンスについて説明します。アルゴリズムは 5 つの潜在的なクラスを返し、それぞれに信頼スコアを割り当てて、それが正しいクラスである確率を決定します。このネットワークは一般に良好に機能し、コンテナ船やスクーターなどの物体を高い信頼性で正確に認識しますが、物体を誤って分類する場合があります。