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

 

講義 25. 確率的勾配降下法



25. 確率的勾配降下法

このビデオでは、確率的勾配降下法 (SGD) の概念が、有限和問題の形で提示されることが多い大規模な機械学習の問題を解決するための最適化手法として紹介されています。講演者は、SGD がランダムなデータ ポイントを選択して勾配を計算し、計算を高速化する方法と、方法の変動性のために最適値に近づくにつれて、バッチ勾配降下法とは異なる動作をする方法について説明します。 SGD の重要な特性は、確率的勾配推定が期待値の真の勾配の偏りのないバージョンであり、ノイズを減らすために確率的勾配の分散を制御する必要があることです。ミニバッチの使用は、ディープ ラーニング GPU トレーニングにおける安価な並列処理の手段として議論されていますが、適切なミニバッチ サイズを選択することは未解決の問題であり、目に見えないデータが存在する場合のソリューションの堅牢性に影響を与える可能性があります。 SGD を最適化する際の課題には、ミニバッチ サイズの決定と確率的勾配の計算が含まれますが、研究者は一般化の理論を開発することで、ニューラル ネットワークにおける SGD の有効性を理解しようとしています。

  • 00:00:00 このセクションでは、講演者は、大規模な機械学習システムのトレーニングに今でも使用されている古代の最適化手法として、確率的勾配降下の概念を紹介します。彼らは、最適化問題を解決することはデータ サイエンスにおいて非常に重要であり、これらの問題はしばしば非常に大きいと説明しています。スピーカーは、MATLAB での勾配降下の実装を提供し、深層学習ツールボックスと大規模な機械学習のすべてを駆動するために変更する必要があるのは 1 行のみであることを示しています。次にスピーカーは、機械学習における最適化問題について説明します。これには、和として書かれたコスト関数上の x を見つけることが含まれます。これらは有限和問題と呼ばれ、通常は確率的最適化手法を使用して解決されます。

  • 00:05:00 このセクションでは、スピーカーは大規模な機械学習について説明します。つまり、トレーニング データ ポイントの数 (n) とベクトルの次元数 (d) の両方が大きくなる可能性があります。大きな n は数百万または数十億に達する可能性があり、大きな d は最大 10 億の特徴で構成される可能性があります。これにより、大規模な機械学習の最適化方法に関する多くの研究が促進されます。これには、データ構造における準線形時間アルゴリズムの検索や、そのようなビッグ データを処理するためのハッシュ トリックが含まれます。スピーカーは、線形代数の最も古典的な問題、最小二乗回帰問題、および la sol と呼ばれる別の広く使用されている方法の例を示します。これらは両方とも、有限和形式のトレーニング データの損失に関して記述されています。最後に、講演者は、深層ニューラル ネットワークが、n 個のトレーニング データ ポイントを使用するこの有限和問題のさらに別の例であることに注意します。

  • 00:10:00 このセクションでは、スピーカーは、機械学習と統計で発生する有限和問題を解決するために最適化手順がどのように必要であるかについて説明します。これは、この分野のほとんどの問題が有限和問題として表現できるためであり、それらを解決するには特殊な最適化手順が必要です。講演者は勾配降下法を紹介しますが、大きなデータ セット内の 1 点の勾配を計算するには数時間または数日かかることがあり、これが大きな欠点であることに注意してください。講演者は、この欠点に対抗するための提案を聴衆に求めます。提示されたいくつかのアイデアには、確率的勾配降下法を使用し、完全なデータ セットのサブセットをサンプリングすることが含まれます。

  • 00:15:00 このセクションでは、スピーカーは確率的勾配降下の概念について説明します。確率的勾配降下では、反復ごとにいくつかのデータ ポイントをランダムに選択し、単一のポイントの勾配を計算して、プロセスを大幅に高速化します。しかし、スピーカーは、重要な問題は、このアイデアが数学的に意味があるかどうかであると述べています。確率的勾配降下法は、1951 年に Monroe で Robbins によって最初に提案され、勾配降下法と比較されます。スピーカーは、確率的勾配降下法はステップ サイズにより敏感であることに注意し、線がどのように変動するかを説明するためにおもちゃの問題のシミュレーションを示します。この方法は、変動はあるものの、依然として最適に向かって進んでいるように見えます。

  • 00:20:00 このセクションでは、確率的勾配降下法 (SGD) の概念について説明します。SGD は、ランダムに選択されたデータ ポイントにアルファ値 (ステップ サイズ) を掛けた勾配を計算して、解に近づきます。このプロセスは、ステップ サイズ パラメーターに非常に敏感であり、勾配降下法よりも敏感です。パラメータを変化させながら、スピーカーは解に向けた進行状況を観察し、SGD の典型的な動作を説明します。彼は、SGD が大規模なデータセットで最初に急速に進歩し、オーバーフィッティングを回避しながら迅速かつ汚い進歩を遂げることができるため、人々が SGD を好む理由を説明しています。ただし、解に近づくと変動が大きくなり、カオス的な動作のために最適な最適解を見つけることが困難になる場合があります。

  • 00:25:00 このセクションでは、スピーカーは、二次関数が使用される単純な 1 次元最適化問題で確率的勾配法がどのように機能するかについて説明します。目標はこれらの二次関数を最小化することであり、スピーカーは個々のコンポーネントの勾配を使用してこれを行う方法を実演します。彼らは、この方法は完全な勾配を使用するため、最初はうまく機能しますが、最適に近づくと、何でも起こり、混乱するようになると説明しています。また、スピーカーは、閉形式の解を見つける方法と、個々の最小値と最大値の特定の範囲内で真の最小値を見つけることができる場所も示します。

  • 00:30:00 このセクションでは、スピーカーは、スカラー X が混同領域の外にある場合の確率的勾配降下法 (SGD) の動作について説明します。この遠く離れた領域では、一部の成分の確率的勾配は完全な勾配とまったく同じ符号を持ちます。これは、損失関数を減少させるために進むべき方向です。講演者はこれを使用して、SGD が遠く離れた場所で堅実な進歩を遂げる理由と、バッチ勾配降下法を 1 回反復するのにかかる時間で何百万もの確率的ステップを可能にする素晴らしい初期速度を提供する方法を説明します。混乱の領域に入ると、確率的勾配降下法は最適化の効果が低くなりますが、機械学習では、変動によってメソッドがよりロバストになり、一般化に適したものになります。講演者は、これが機械学習、理論的コンピューター サイエンス、および統計学で一般的なアイデアであり、高価な量の計算を高速化するためにランダム化が使用されていることを指摘しています。

  • 00:35:00 このセクションでは、スピーカーは確率的勾配降下 (SGD) の重要な特性について説明します。 SGD の背後にある主なアイデアは、ランダムに推定された勾配を使用して計算を節約することです。 SGD の重要な特性は、期待される確率的勾配推定が真の勾配の偏りのないバージョンであることです。この不偏性を超えて、確率勾配の分散が減少するように、ノイズの量または確率の量が制御されます。分散が小さいほど、確率的勾配が真の勾配の代わりとして優れており、収束が速くなります。

  • 00:40:00 このセクションでは、スピーカーは確率的勾配降下法と、凸面問題と非凸面問題の両方に対するその動作について説明します。講演者は、この方法の 2 つの変形についても言及しています。1 つは制約なしでランダムなベクトルが選択され、もう 1 つは制約があり、トレーニング データ ポイントが置換の有無にかかわらずランダムに選択されます。講演者は、この方法は 1951 年から存在し、ディープ ラーニング ツールキットで広く使用されていますが、理論的なアプリケーションと実際のアプリケーションの間にはまだギャップがあると説明しています。ツールキットは、分析方法を知っているバージョンが確率的勾配の分野で未解決の問題である一様ランダム バージョンであるにもかかわらず、置換なしバージョンを使用します。スピーカーは、ポイントのバッチを使用して分散を減らし、ノイズを減らすミニバッチのアイデアについても言及しています。

  • 00:45:00 ビデオのこのセクションでは、ミニバッチの概念と、ディープ ラーニング GPU スタイルのトレーニングで安価なバージョンの並列処理を実現するためにミニバッチがどのように利用されているかについて説明します。ミニバッチが大きいほど、より多くのことを並行して実行できます。ただし、非常に大きなミニバッチを使用すると、確率的勾配がバッチ勾配降下のように見え始め、混同領域が縮小しすぎるポイントまでノイズが減少するという難問もあります。これは、ニューラル ネットワークの過剰適合を引き起こし、目に見えないデータの予測を困難にする可能性があるため、機械学習にとって有害です。したがって、適切なミニバッチ サイズを選択することは、ディープ ニューラル ネットワークの最適化プロセスにおける未解決の問題です。

  • 00:50:00 このセクションでは、スピーカーは、使用するミニバッチの決定や確率的勾配の計算方法など、確率的勾配降下 (SGD) の最適化に関連する課題について説明します。逆伝播アルゴリズムは、単一の確率的勾配を計算する一般的な方法として導入されており、機械学習ツールキットには、勾配の計算を自動化するさまざまな方法がある場合があります。 SGD の有効性を証明する上での理論上の課題について説明します。これには、最適ではないはずの品質にもかかわらず、なぜ SGD がニューラル ネットワークでうまく機能するのかという問題が含まれます。研究者は現在、一般化の理論を開発することで、この謎を理解しようとしています。
25. Stochastic Gradient Descent
25. Stochastic Gradient Descent
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Suvrit SraView the complete course: https://ocw.m...
 

Lecture 26. 深層学習のためのニューラルネットの構造



26. 深層学習用ニューラルネットの構造

このビデオでは、ディープ ラーニング用のニューラル ネットワークの構造について説明します。目標は、m 個の特徴を持つ特徴ベクトルを使用してニューラル ネットワークを構築し、データを 2 つのカテゴリのいずれかに分類できる学習関数を作成することによって、データをバイナリで分類することです。線形分類器は非線形データを分離できないため、これらの関数を作成するには非線形性が不可欠です。ビデオでは、ニューラル ネットワークの重みとレイヤーの数の重要性についても説明し、ユーザーが関数の作成を練習するための TensorFlow プレイグラウンドなどのリソースを提供します。最後に、このビデオでは、ケーキを切ることによって得られる平らな部分の数の公式を証明するために使用される再帰と、深層学習における総損失を最小化する最適化問題との関係について説明します。

  • 00:00:00 このセクションでは、教授はディープ ニューラル ネットワークの中心的な構造を紹介します。これは、トレーニング データを学習し、テスト データに適用できる学習関数 f の構築です。目標は、m 個の特徴を持つ特徴ベクトルを使用してニューラル ネットワークを構築することにより、バイナリ方式でデータを分類することです。ネットワークは、データを男の子か女の子、猫か犬、トラックか車などの 2 つのカテゴリのいずれかに分類できる学習関数を作成します。教授はまた、この構造がマスコット mit.edu/learning from data サイトで数か月間利用可能であり、Stellar プラットフォームに追加されることにも言及しています。

  • 00:05:00 このセクションでは、講師が 2 クラス分類の正解を返す X の関数 f の作成方法を説明します。講師は、関数は、分類マイナス 1 に対して負であり、分類プラス 1 に対して正である必要があると述べています。ただし、過剰適合が発生する可能性があるため、すべてのサンプルを正しく取得する必要はなく、発見したルールはほとんどすべてのケースをカバーする必要があるが、すべての「奇妙な」ケースをカバーする必要はないことを講師は認めています。次に講師は、サイトparkground.tensorflow.orgにアクセスすることをお勧めします。ここでは、単純なモデルの問題が、個人が深層学習について学ぶのに役立ちます。プレイグラウンドには 4 つの例があり、そのうちの 1 つは、いくつかの点で正であり、他の点で負である関数を見つけることです。

  • 00:10:00 このセクションでは、スピーカーはニューラル ネットワークにおける非線形性の重要性について説明し、サポート ベクター マシンのような線形分類器が使用された場合、非線形関数を作成することは不可能であることを指摘します。データを分離します。次に、システムが一方のスパイラルで正で、もう一方のスパイラルで負である関数を見つけようとするスパイラルの 2D 分類問題の例を示します。これにはかなりの時間がかかり、多くのエポックがかかります。講演者はまた、エポックとは何かを説明し、確率的勾配降下法における置換を伴うミニバッチと置換を伴わないミニバッチの違いについて言及します。

  • 00:15:00 このセクションでは、スピーカーは TensorFlow のプレイグラウンドと呼ばれる Web サイトについて説明します。これにより、ユーザーは非線形関数を使用して X の関数 f を作成できます。 Web サイトでは、正のセットと負のセットを分離する関数のゼロ セットをプロットし、その間にゼロを配置します。この Web サイトでは、データを学習する関数 f を見つけるのに不可欠なレイヤーと各レイヤーのニューロンの数をユーザーが決定できます。講演者は、このプロセスにおける線形関数の重要性についても言及し、練習に適した畳み込みニューラル ネット Web サイトの推奨事項を求めています。関数 f は、5 つのコンポーネントを持つ X のベクトル、6 つのニューロンを持つ層 1、および 1 つの数値の出力層の形式を持ちます。

  • 00:20:00 このセクションでは、講演者は深層学習用のニューラル ネットワークの構造について説明します。彼らは、ニューラルネットの基本構造を説明することから始めます。これには、出力 Y を計算するための重みの行列が含まれます。しかし、深層学習のために複数の層を追加すると、プロセスはより複雑になります。各レイヤーは、データについてより多くを学習することになっています。最初のレイヤーは基本的な事実を学習し、後続の各レイヤーはより詳細を学習します。最後に、スピーカーは、ニューラル ネットワークがどのように詳細なマップを含み、各コンポーネントに関数を適用して最終的な出力を取得するかについて説明します。

  • 00:25:00 このセクションでは、講演者は深層学習におけるニューラル ネットワークの構造について説明します。彼らは、ニューラルネットは重みと入力に依存する学習関数で構成され、関数のチェーンまたは関数の合成によって作成され、それぞれが線形またはアフィンマップとそれに続く非線形関数で構成されると説明しています。これにより、連続的で区分線形の複雑な関数が得られます。講演者は、そのような関数は、作成される行列とベクトルに依存し、モデル内の重みの数に依存することに注意します。

  • 00:30:00 このセクションでは、ディープ ラーニング用のニューラル ネットワークの構造、具体的には線形関数の「チェーン」とそれに続く ReLu 関数のアイデアについて話します。彼らは、この方法で何らかの関数が得られるかどうかについて議論し、連続する区分的線形関数のみが可能であると結論付けています。また、スピーカーは折り紙の概念を使用して、2 つの変数の区分線形関数のグラフを視覚化します。この関数は、直線の辺に沿って接続された平らな部分で構成されます。ピースの数を数える問題は、視覚化の補助として提起されます。

  • 00:35:00 このセクションでは、話者は平面を n 回折り曲げることによっていくつの平らなピースが得られるかという問題について説明します。この問題は、関数 f の自由度と、十分な倍数を取ることで任意の連続関数を近似できるかどうかを理解する上で不可欠です。話者は、答えはイエスであり、このクラスの機能は普遍的であることに注意します。さらに、このセクションでは、コンピュータ サイエンスのより広い分野、特にニューラル ネットワークにおいて、この概念を理解することの重要性についても触れています。

  • 00:40:00 このセクションでは、スピーカーは、折りたたまれた紙片の平らな部分の数に関する数学的な問題について説明します。彼らは、紙をもっと折ると何枚になるかを尋ね、問題を解くための再帰式を作成しようとします。発表者は、これまでに見つけた数を提示し、m 次元の面を持つ n 折りの紙の平面部分の数の式を考え出す必要があることを説明します。再帰式が見つかったら、再帰式に追加する予定です。

  • 00:45:00 このセクションでは、話者は視覚的な例を使用して、高次元空間でカットを行うことによって作成されるピースの数の公式を説明します。二項数を使用すると、任意の M 次元と N 次元に式を適用できます。スピーカーは、式の使用方法を示すために、N が 3 に等しく、M が 2 に等しい例を提供します。最後に、この式は、0 から M までの二項数に等しい M 次元のエンフォールドを持つ R として表されます。

  • 00:50:00 このセクションでは、スピーカーは、ケーキを切ることから生じる平らな部分の公式を証明するために使用される再帰について説明します.彼らが探している数は、以前の平らな部分の数にカットされた部分の数を加えたものであると説明しています。再帰の規則は、クラインバーグらによる論文のセクション 7.1 で証明されています。この関数ファミリーを見つけた後の次のステップは、A と重みを選択することです。これにより、総損失を最小化するという問題が生じますが、これは勾配降下と逆伝播を使用して解決できます。
26. Structure of Neural Nets for Deep Learning
26. Structure of Neural Nets for Deep Learning
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

講義 27. バックプロパゲーション: 偏微分を求める



27. バックプロパゲーション: 偏導関数を見つける

このビデオでは、バックプロパゲーションと偏導関数の検出に関連するいくつかのトピックについて説明します。講演者は、偏導関数に対する連鎖律の使用を実演し、行列の乗算における計算順序の重要性を強調します。バックプロパゲーションは、勾配を計算するための効率的なアルゴリズムとして強調されており、その有効性を実証するためにさまざまな例が示されています。確率的勾配降下法における損失関数サンプルのランダムな順序の使用に関連するプロジェクトのアイデアとともに、確率的勾配降下法の収束について簡単に説明します。全体として、ビデオは逆伝播とそのアプリケーションの包括的な概要を提供します。

  • 00:00:00 このセクションでは、スピーカーは 2 つの興味深いトピックについて説明します。最初に、確率的勾配降下法の収束が議論され、証明自体よりもアルゴリズムの論理と仮定に重点が置かれます。次に、スピーカーは、確率的勾配降下法における損失関数サンプルのランダムな順序の使用に関連するプロジェクトのアイデアを提案します。具体的には、このプロジェクトでは、置換方法と置換方法を使用しない方法の両方を使用して、100 個の乱数のリストの平均を計算し、アプローチの違いを判断します。

  • 00:05:00 このセクションでは、スピーカーは、最急降下アルゴリズムで勾配を計算する方法として逆伝播について説明します。バック プロパゲーションは、ニューラル ネットを普及させた重要な計算であり、リバース モードで自動微分を使用して勾配と導関数をすばやく計算する必要があります。講演者はまた、置換が行われるときの平均の収束の例と、確率的勾配降下法の良い開始と悪い終了の例を調査することを提案します。計算の魔法の言葉は早期停止です。

  • 00:10:00 このセクションでは、スピーカーはバックプロパゲーションと、偏導関数を見つけるためのその使用について説明します。バックプロパゲーションは、以前は自動微分という名前で研究されていました。スピーカーは、その有効性を実現するためにディープ ニューラル ネットワークを開発したリーダーの功績を称えています。スピーカーは、関数の簡単な例を提供して、f(x) と導関数の計算を説明し、偏導関数を見つけるための連鎖律の使用を強調します。このセクションでは、このトピックについて明確な説明を提供している Christopher Olah のブログにも言及しています。

  • 00:15:00 このセクションでは、プレゼンターが連鎖律を使用した偏導関数の計算について説明します。 2 変数関数の例を使用して、関数の偏導関数を計算する方法を示します。まず F を見つけて、計算グラフを作成します。彼らは、連鎖律を使用するには、F の計算で見つかった各要因を微分し、適切に評価する必要があると説明しています。この計算グラフは、多くの変数が評価される深層学習の偏導関数の計算を示すために使用されます。

  • 00:20:00 このセクションでは、スピーカーは順方向モードの自動微分を使用して偏導関数を見つけるプロセスについて説明します。 F DX の偏導関数を計算することから始め、計算を単純な部分に分解し、中間ステップを導関数に置き換えます。彼らは、X に関して X を 3 乗した導関数が 3X の 2 乗であるという事実を利用しています。これは、X が 2 に等しい場合に 12 の値を与えます。その後、Y 導関数に対して別のグラフを作成する必要があるため、フォワード法は無駄であると認識しています。同じように。話者は、積の偏導関数を見つける際にも積規則を使用します。このプロセスには少し整理が必要ですが、要点は、計算を単純な部分に分解して導関数を単純化することです。

  • 00:25:00 このセクションでは、スピーカーは積則を使用して、計算グラフを使用して偏導関数を見つける方法を説明します。スピーカーは、製品の X 導関数を見つける例を使用し、製品の 2 つの用語に名前を割り当てます。次に、積則に必要な値を計算し、それらを使用して導関数を計算します。しかし、彼は最終的な答えを見つけるのに苦労しており、FD を見つけたい場合は計算をやり直す必要があることを認めています。講演者は、リバース モードを使用すると、両方の偏導関数を一度に計算できるため、より効率的であると示唆しています。

  • 00:30:00 このセクションでは、バックプロパゲーション手法を使用して、すべてのパスを逆方向にたどることで勾配を効率的に計算する方法について話します。この手法は、すでに詳細に解決されている少数のものに適用される連鎖規則を通じて、すべての導関数を見つけるのに役立ちます。話者は、実際に行われたことを振り返ると、微積分は単純に見える傾向があることに注意します。リバース モード アド アプローチを使用して n 1 次導関数を計算すると、わずか 4 倍または 5 倍のコストがかかります。スピーカーによると、これは驚くべきことです。講演者はまた、例として 2 つの行列の乗算を使用して、計算が実行される順序が効率の点でどのように違いを生むかの例を示します。

  • 00:35:00 ビデオのこのセクションでは、スピーカーは行列乗算における計算の順序の重要性について説明します。これは、計算の速度に大きく影響する可能性があるためです。次に、バックプロパゲーションの例 1 に移り、連鎖則やその他のさまざまな導関数規則を使用して、計算グラフを逆方向にたどりながら偏導関数を見つける方法を示します。彼は、チェーンの断片を再利用することで、大きなコストをかけずにより広いチェーンを作成できるという事実を強調しています。これにより、関数が数百の変数に依存する場合でも計算が高速化されます。

  • 00:40:00 ビデオのこのセクションでは、話者は、バックプロパゲーションを使用して偏導関数を見つける方法を説明します。彼らは、連鎖則を使用して X と Y に関する偏導関数を見つける例を示し、逆伝播により、変数ごとに個別の連鎖ではなく、1 つの連鎖からすべての導関数を見つけることができることを強調しています。講演者は、このプロセスは任意のサイズのシステムに適用できることを指摘し、確率的勾配降下法の収束について簡単に言及します。これについては、今後の講義で取り上げます。

  • 00:45:00 このセクションでは、スピーカーは 3 つの行列 (A、B、C) を乗算する 2 つの異なる方法と、そのために必要な演算の数について説明します。最初の方法では、A を BC で乗算します。これには、M x N x PQ の操作が必要です。ここで、P と Q は、それぞれ B と C の行と列の数です。 2 番目の方法では、AB に C を掛けます。これには、M x P x Q の操作が必要です。講演者は、特に C が列ベクトルの場合、行列を乗算するときに必要な演算の数に注意することが重要であることを強調しています。これは、処理が困難な非常に大きな行列につながる可能性があるためです。

  • 00:50:00 このセクションでは、スピーカーは偏導関数と逆伝播について説明します。スピーカーは、バックプロパゲーションがどのように偏導関数の正しい順序であるかを示します。これにより、2 つの大きな行列を乗算して列ベクトルを取得できるため、列ベクトルに行列を掛けて新しい列ベクトルを取得し、それを乗算するよりもはるかに高速です。別の行列によって別の列ベクトルを取得します。バックプロパゲーションはプロセスを簡素化し、桁違いに高速な計算を可能にします。
27. Backpropagation: Find Partial Derivatives
27. Backpropagation: Find Partial Derivatives
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

第30話 ランク1のマトリックス完成、サーキュラント!



第30話 ランク1のマトリックス完成、サーキュラント!

講義 30 では、講師はランク 1 行列と巡回行列の完成について説明します。彼らは 2x2 の行列式から始め、これを使用して行列に入力できる値を絞り込み、ランク 1 にします。次に、講師は 4x4 行列の組み合わせ問題に移り、与えられた 4 つの数のみで作成できる循環パターンを特徴とする巡回行列を紹介します。また、信号処理で重要な巡回行列の巡回畳み込み、固有値、固有ベクトルについても講義します。

  • 00:00:00 このセクションでは、講師は、マトリックスをランク 1 のマトリックスに完成させることについて、前のラボ セッションからの質問の例を示します。問題は、ランク 1 のマトリックスを達成するために、どの位置を埋めることができ、どの位置を埋めることができないかに焦点を当てています。講師はゼロ以外の数の選び方を説明し、5 つのゼロ以外の数を含む行列をランク 1 の行列に完成させることができるかどうかについて質問します。

  • 00:05:00 このセクションでは、講師がランク 1 行列とサーキュラントの完成について説明します。彼らはまず、2x2 の行列式を調べることから始めます。ここで、任意の 2 x 2 はランク 1 でなければならないため、行列式は 0 になります。彼らはこの考えを使用して、行列の欠落数が何であるか、および残りをどのように埋めるかを絞り込みます。値の。次に、講師は 4x4 の例に移り、組み合わせ問題を導入して、どの 5 つの位置が機能し、どの位置が機能しないかを判断します。最後に、各行が 1 要素だけ右にシフトされた前の行になる行列の周期的なパターンを特徴とするサーキュラントについて話します。彼らは、対角化を含む巡回行列とそのプロパティを作成する方法を説明しています。

  • 00:10:00 このセクションでは、講師がランク 1 行列と 2 部グラフの完成について説明します。まず、4x4 のマトリックスにいくつかの数値を規定し、数値間の関係を表す行と列を含む 2 部グラフを描画します。講師は、マトリックスを完成させて 1 位にするには、3 つのエントリが指定されている 2x2 の正方形を避ける必要があると説明しています。 4 つのエントリがすべて与えられた場合、ゼロの行列式を作成することはできず、行列のランクは 1 になりません。講師は 2 部グラフを行列表現に変換して、ランク 1 行列を作成するためにどのエントリを埋めることができるかを判断する方法を説明します。

  • 00:15:00 このセクションでは、教授がランク 1 の行列を完成させる方法について説明します。具体的には、途中で 2x2 がない場合に常に完成できるかどうかについて説明します。彼は例を挙げて、2 つずつ行うことが常に問題であるとは限らず、完了を妨げるより長いサイクルが存在する可能性があることを示しています。重要なポイントは、対応する二部グラフで識別できるサイクルがない場合にのみ、行列をランク 1 に完成させることができるということです。

  • 00:20:00 このセクションでは、講師が 6 つのエッジでサイクルを完成させる方法と、それが行列のサイクルの概念とどのように関連するかについて説明します。彼は、描かれた循環図を行列に変換し、特定の要件が非ゼロ値によって満たされなければならないことを行列内の循環がどのように示すかを説明します。彼はランク 2 行列の完成について質問し、機械学習における畳み込みの重要性について説明しています。

  • 00:25:00 このセクションでは、講師が巡回行列の概念を紹介します。これは、一定の対角線が一周して完成する特別なタイプの畳み込み行列です。巡回行列は信号処理の重要な部分であり、その代数的性質により一連の重みを接続する効率的な方法になります。これは、このキー行列が巡回シフト行列であり、P と P² から巡回行列を生成するのに役立つためです。たとえば、巡回行列の最初の列を指定することで、MATLAB は他のすべての列を巡回的にシフトできます。つまり、4 行 4 列の巡回行列を定義するのに必要な数値は 4 つだけです。

  • 00:30:00 講義のこのセクションでは、巡回行列の概念が紹介されています。すべての巡回行列は P の多項式であることが示されています。ここで、P は 1 つのシフトを表します。また、2 つの行列が循環行列である場合、それらを乗算すると、別の循環行列が得られることも証明されています。さらに、恒等行列は巡回行列であり、巡回行列が 2 乗される場合、結果の行列も巡回行列になります。巡回行列を乗算するときの目標は、多項式の次数が目的の項数を超えないようにすることです。

  • 00:35:00 このセクションでは、講師がランク 1 行列とサーキュラントについて説明します。 4x4 巡回シフト行列を次数 3 で乗算する場合、なぜ積が次数 6 でないのかという疑問があります。重要なのは、第 4 項への P は実際には 0 項への P であるため、積は巡回畳み込みです。次に講師は、畳み込みと巡回畳み込みの違いを、2 つのベクトル間の畳み込み計算の例を挙げて説明します。彼はまた、巡回畳み込みでは円記号を使用するのに対し、非巡回畳み込みでは円記号を使用しないことを視聴者に思い出させます。

  • 00:40:00 このセクションでは、講師が巡回畳み込みと、巡回行列の乗算に対応する多項式の巡回乗算に使用する方法について説明します。 1 つの因子の桁数の合計に、もう 1 つの因子の桁数の合計を乗算して、畳み込みの桁数の合計を求めます。講師は、これらの行列の固有値と固有ベクトルについても簡単に触れます。すべてが 1 のベクトルは固有値を持つ固有ベクトルであり、これは P のべき乗の多項式和を持ちます。講義は、この分野のより高度なトピックの議論で締めくくられます。

  • 00:45:00 講義のこのセクションでは、スピーカーは行列 C の固有ベクトルが行列 P の固有ベクトルと同じであることを説明します。行列 P の固有ベクトルは 1 と -1、および i と -i です。サーキュラントの世界では、サーキュラントごとに複数の固有値と固有ベクトルがあり、これらは信号処理における重要なルールです。
Lecture 30: Completing a Rank-One Matrix, Circulants!
Lecture 30: Completing a Rank-One Matrix, Circulants!
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

講義 31. 巡回行列の固有ベクトル: フーリエ行列



31. 巡回行列の固有ベクトル: フーリエ行列

巡回行列の固有ベクトルに関するこのビデオでは、講演者は、巡回行列が画像処理と機械学習にどのように関係しているか、またフーリエ行列との関係について説明しています。スピーカーは、離散フーリエ変換 (DFT) とフーリエ変換に関連して、畳み込みと巡回行列を理解することの重要性を強調します。講演者は、巡回行列、特にフーリエ行列の固有ベクトルと、固有値でもある 8 つの数値の同じセットからすべてがどのように構成されるかについて説明します。講演者はまた、フーリエ行列の特性についても説明します。これには、列が直交しているが直交していないことや、巡回行列の対称性により固有ベクトルが加算されてゼロになり、互いに直交することなどが含まれます。最後に、講演者はフーリエ行列の固有ベクトルとしてのアルガン ベクトルの概念を例を挙げて説明します。

  • 00:00:00 このセクションでは、教授が巡回行列のトピックを紹介し、プロジェクトの締め切りと評価に関する最新情報を提供します。彼はまた、エンジニアリングと数学の重要なアルゴリズムである離散フーリエ変換への巡回行列の接続についても言及しています。 n 行 n 列のサイズの行列を定義するのに n 個のエントリしか必要としない特別な形式の巡回行列は、画像の機械学習を含む多くのアプリケーションで役立ちます。

  • 00:05:00 このセクションでは、スピーカーは、画像は通常、ピクセルによって記述され、何百万ものコンポーネントを含む特徴ベクトルを持つことができるため、勾配降下法による深層学習に必要な重みを計算することが不可能になることを説明しています。ただし、深層学習で使用される行列は特別であり、周期的な特徴を持つ巡回行列と同様に、特徴の数に依存しません。これらの行列は、線形シフト不変または線形時不変、畳み込み行列、トリプレット行列、または定数対角行列と呼ばれ、機械学習や画像処理で使用されます。基本的に、ディープ ネットワークの各レイヤーに必要な重み計算のサイズを減らすことで、ディープ ラーニングを最適化するのに役立ちます。

  • 00:10:00 このセクションでは、スピーカーは画像処理と機械学習における循環行列の使用について説明します。彼は、多数のピクセルを含む大きな画像を操作するために、最大プーリングを使用してシステムのサイズを縮小できると説明しています。ただし、畳み込み演算では、重要なポイントを強調するために重みを選択する必要があります。そのため、ローパス フィルターなどのフィルターを使用して画像を単純化します。スピーカーは、一定の対角行列を使用する方が自然で効率的であるため、画像サンプルを処理するときに機械学習のより広いニューラル ネットワークが使用されることに注意します。

  • 00:15:00 このセクションでは、プレゼンターは巡回行列、特に循環シフト効果を持つ置換行列の固有値と固有ベクトルについて話します。順列行列の特異値はすべて 1 であり、固有値は、P からラムダ I を引いて、行列式を 0 に設定することで求めることができます。これにより、ラムダの 4 乗が得られます。発表者はまた、DFT およびフーリエ変換に関連する畳み込みおよび循環行列を理解することの重要性を強調しています。

  • 00:20:00 このセクションでは、スピーカーは巡回行列の固有ベクトル、特にフーリエ行列に焦点を当てて説明します。フーリエ行列の固有値は、行列式をゼロに設定することで求められます。これにより、1 の 4 乗根が得られます。 8x8 巡回行列の固有値についても説明しました。これは、ラムダの 8 乗が 1 に等しいという方程式の 8 つの解です。これらの解は、1、負の 1、および 1 の 4 乗根と 8 乗根の形で現れ、固有ベクトルとして機能するため重要です。直交行列の固有ベクトルも、直交固有ベクトルを持つ行列のファミリとして導入されました。

  • 00:25:00 このセクションでは、スピーカーは直交固有ベクトルを持つ行列のさまざまなファミリについて説明します。対称行列には直交固有ベクトルと実固有値がありますが、対角行列には単位行列に入る固有ベクトルがあります。直交行列には大きさが 1 の固有値があり、置換行列の固有ベクトルは直交しています。反対称行列の固有値は複素数でしかなく、実固有値を持つことはできません。

  • 00:30:00 このセクションでは、スピーカーは直交固有ベクトルを持つ行列と、それらが通常の行列にどのように関係しているかについて話します。直交固有ベクトルを持つ行列は複雑な固有値を持ち、スピーカーは任意の固有値を含む対角行列を書き出します。次に、実際には非常にまれな正規行列を認識する方法を示す行列方程式を設定します。それらを認識するために、行列がその共役転置に等しいかどうかをテストする必要があります。

  • 00:35:00 このセクションでは、スピーカーは巡回行列、特にフーリエ行列の固有ベクトルについて説明します。順列 P は直交であるため、その固有ベクトルは直交しますが、これらの巡回行列も交換され、正規行列になります。これは、P の固有ベクトルを見つけると、任意の巡回行列の固有ベクトルが見つかったことを意味し、フーリエに接続されているため、それらはすべて特別です。固有ベクトルは、1、-1、i、および -i であるラムダを含む、さまざまな固有値に対して検出されます。

  • 00:40:00 このセクションでは、スピーカーは巡回行列の固有ベクトルについて説明し、すべての固有ベクトルが固有値でもある 8 つの数値の同じセットから構成されることを強調します。サイズ n のすべての巡回行列の固有ベクトル行列はフーリエ行列であり、高速フーリエ変換を可能にする重要な複素行列です。行列のすべてのエントリは、その 8 つの点の 1 つで、単位円上の複素数 W の累乗です。最初の固有ベクトルはすべて 1 ですが、残りは W の累乗であり、行列のサイズは 8x8 です。全体として、循環行列は共通の固有ベクトル行列のおかげで同様の特性を持っています。

  • 00:45:00 ビデオのこのセクションでは、スピーカーはフーリエ行列の特性を説明します。フーリエ行列は、1 の 8 乗根の累乗である固有ベクトルで構成される循環行列です。行列の列は直交していますが、正規直交ではありません。つまり、正規直交にするためには、8 の平方根で割る必要があります。行列は正規行列であり、循環行列の対称性によりその固有ベクトルの合計はゼロになり、互いに直交します。スピーカーは、固有ベクトルの合計がゼロになる 3 行 3 列の行列を使用してこの特性を示し、固有ベクトルを直交させます。

  • 00:50:00 このセクションでは、スピーカーはアルガン ベクトルがフーリエ行列の固有ベクトルである方法について説明します。彼は、アルガン ベクトルのコンポーネントのドット積が追加されると、結果が 1 になる方法を示します。次に、アルガン ベクトルに e を掛けて (2π/3) 乗すると、結果のベクトルのコンポーネントの合計がどのようになるかを示します。 0. これらのデモは、巡回行列の固有ベクトルが直交しているという概念を示しています。講演者は、次の講義でフーリエ行列の話題を引き続き議論する予定であり、1806 年の授業は 1 週間半しか残っていないことを述べて締めくくります。
31. Eigenvectors of Circulant Matrices: Fourier Matrix
31. Eigenvectors of Circulant Matrices: Fourier Matrix
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

講義 32: ImageNet は畳み込みニューラル ネットワーク (CNN) であり、畳み込み規則



講義 32: ImageNet は畳み込みニューラル ネットワーク (CNN) であり、畳み込み規則

ディープ ラーニング コースのレクチャー 32 では、イメージ分類における畳み込みニューラル ネットワーク (CNN) の能力について説明します。畳み込みレイヤー、ノーマル レイヤー、および最大プーリング レイヤーを備えた大規模なディープ CNN が ImageNet の競争に勝利した例を取り上げます。また、乗算と畳み込みを結び付ける畳み込み規則、2 次元畳み込みの例、2 次元フーリエ変換と信号処理におけるクロネッカー積の使用、周期的と非周期的の違いに焦点を当てます。畳み込みに関するケース。講師は、巡回行列の固有ベクトルと固有値、およびクロネッカー和演算についても説明します。

  • 00:00:00 ビデオのこのセクションでは、深層学習と画像分類に関連して畳み込みニューラル ネットワーク (CNN) の重要性について説明します。 ImageNet で 120 万の高解像度画像を分類するために大規模なディープ CNN をトレーニングした Hinton と Skipper による論文が言及されています。上位 5 つのテスト エラー率が 15% であったのに対し、2 位チームのエラー率は 26% でした。 CNN には、畳み込み層、通常の層、および最大プーリング層があり、サンプルの半分が 1 つの GPU に、残りの半分が別の GPU に送られました。オーバーフィッティングを減らすために、完全に接続されたレイヤーでもドロップアウトが使用されました。これは、画像を分類するという膨大な計算問題を処理する際の CNN の威力を示しています。

  • 00:05:00 ビデオのこのセクションでは、講演者は畳み込みニューラル ネットワーク (CNN) の重要な側面である畳み込み規則について説明します。彼は、畳み込みが多項式の乗算から生じること、および畳み込みのコンテンツ C*D の係数の式を別の方法で記述して、畳み込みがどのように機能するかを確認できることを説明しています。次に、2 つの関数の畳み込みの例を挙げ、この概念が CNN の 2 つのベクトルの畳み込みに関連していることを説明します。畳み込みを理解することは、6000 万のパラメーターを持ち、画像認識タスクに使用されるニューラル ネットワークの一種である CNN の内部動作を理解するために不可欠です。

  • 00:10:00 このセクションでは、講師が関数の畳み込み規則と、それが 2 つの関数のフーリエ変換にどのように接続するかについて説明します。彼は、F が 2 pi の周期的で G が 2 pi の周期的である場合、周期的な畳み込みを実行して 2 pi の周期を持つ答えを得たいと思うかもしれないと述べています。彼は、畳み込みを巡回にすることが乗算にどのように影響するか、および巡回 X には X の代わりに W が使用されることについて話します。

  • 00:15:00 ビデオのこのセクションでは、講師が畳み込みに関する周期的ケースと非周期的ケースの違いについて説明します。周期的な場合、係数 W は、N に対する W が 1 であるというプロパティを持つように定義され、n より大きいベクトルは長さ n のベクトルに折り返すことができます。巡回の場合は、K が 0 から n-1 になることだけを考慮し、合計は 0 から n-1 になるだけです。非周期的なケースでは、畳み込みには P プラス Q マイナス 1 のコンポーネントがあり、この数は最初のラボで計算されます。

  • 00:20:00 このセクションでは、講師は巡回行列、特に順列行列の固有ベクトルと固有値について説明します。固有ベクトルは固有ベクトル行列の列で、「F」で表され、F と C の乗算から派生した 4 つの固有値があります。講師はこの式を実演し、C が P の組み合わせである場合、固有ベクトルの同じ組み合わせにより、行列 C の固有値が得られます。

  • 00:25:00 このセクションでは、講師は乗算と畳み込みの接続である畳み込み規則について説明します。畳み込み規則は、行列の乗算と行列の畳み込みを結び付けます。巡回畳み込みにより、講師が行列 C に行列 D を掛けると、別の巡回行列が得られます。畳み込み C および D の係数は、C × D 行列の対角係数を表します。講師は、C と D は交換して同じ固有ベクトルを持つため、CD の固有値は C の固有値に D の固有値を掛けた値に等しいと結論付けています。固有値は成分ごとに乗算され、畳み込み規則の関係が得られます。

  • 00:30:00 ビデオのこのセクションでは、講師が畳み込み規則について説明します。この規則では、画像を畳み込んでフーリエ変換 (FT) を適用するか、FT を個別の画像に適用してから点を掛けることができます。 -賢い。このルールは、非常に効率的な高速フーリエ変換 (FFT) を可能にするので便利です。次に、講師は各方法のコストを検討します。畳み込み方法には N^2 ステップが必要ですが、個別の変換方法には 2NlogN ステップしか必要ありません。

  • 00:35:00 このセクションでは、スピーカーは 2 次元の畳み込みと、2 つの関数を 2 次元で畳み込むために実行する必要がある操作について説明します。彼らは、MATLAB でこの操作を実行するために必要なコマンドが "cron" である方法と、2 つの 1 次元行列 A と B を乗算することによって N 平方ピクセルの 2 次元行列を作成するためにそれを使用する方法について説明しています。暗号化で 2 つの long 整数を乗算したい場合、畳み込み規則を使用すると、より高速で効率的な方法になる可能性があるという考え。

  • 00:40:00 このセクションでは、クロネッカー積を使用して 2 次元フーリエ変換の大きな行列を生成する方法について説明します。クロネッカー積は、1 次元の N 行 n 列の行列を取り、N の 2 乗 x N の 2 乗行列を生成する演算です。クロネッカー積を使用して 2 つの行列を適切に乗算することにより、2 次元フーリエ変換用の大きな行列を作成できます。微分方程式で一般的に使用されるラプラシアンについても説明します。ここでは、クロネッカー積を使用して、各点に 5 つの重みを持つ 5 点スキームを取る 2 次元行列を作成できます。

  • 00:45:00 このセクションでは、スピーカーがクロネッカー積と、それを信号処理に使用する方法について説明します。彼は、クロネッカー積を使用してデータに 2 次元効果を追加し、次に垂直微分を追加したいと説明しています。これは合わせてクロネッカー和と呼ばれ、信号処理における重要な操作です。彼はまた、学んだことについて話し合い、聴衆からフィードバックを得ることができるプロジェクトに参加したい場合は、学生に彼に電子メールを送ることを勧めています.
Lecture 32: ImageNet is a Convolutional Neural Network (CNN), The Convolution Rule
Lecture 32: ImageNet is a Convolutional Neural Network (CNN), The Convolution Rule
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

講義 33. ニューラルネットと学習機能



33. ニューラルネットと学習機能

このビデオでは、勾配降下法または確率的勾配降下法によって最適化され、損失を最小限に抑えるためにトレーニング データに適用される、ニューラル ネットワークの学習関数 f の構築について講演者が説明します。彼は、手描きの絵を使用して、ニューラル ネットワークの概念と学習関数、およびクロス エントロピー損失を含む機械学習で使用されるさまざまな損失関数を説明しています。講演者は、与えられた距離から点の位置を見つける問題についても話します。これは、核磁気共鳴を使用して分子の形状を決定する場合など、さまざまなアプリケーションの古典的な問題です。彼は、ニューラル ネットワークの構造を得るための最終ステップである X の構築について議論することで締めくくり、金曜日にプロジェクトについて議論するボランティアの募集について言及しています。

  • 00:00:00 このセクションでは、勾配降下法または確率的勾配降下法によって最適化され、損失を最小限に抑えるためにトレーニング データに適用される、ニューラル ネットワークの学習関数 f の構築について説明します。学習関数は、変数 X と V の 2 つのセットの関数です。ここで、X は重みで、V はトレーニング データからの特徴ベクトルです。ニューラル ネットの構造には、重みとサンプル ベクトルのセットから f を取得し、非線形ステップを生成し、目的の出力に到達するまでプロセスを繰り返すことが含まれます。線形ステップでは、入力 V0 を取得し、それを行列 AK で乗算し、バイアス ベクトル BK を加算して原点をシフトします。

  • 00:05:00 このセクションでは、スピーカーはニューラル ネットワークがどのように機能し、一連の入力を取得し、重み (第 6 章で勾配降下を使用して選択されます) を適用し、非線形ステップを実行して新しい出力を生成するかについて説明します。このプロセスは、入力に対するニューラル ネットワークの予測である最終出力まで、多くの層で繰り返されます。多くの場合、重みの数が入力内の特徴の数を大幅に超え、未決定の状況が発生する可能性があります。

  • 00:10:00 このセクションでは、スピーカーは手描きの絵を使用して、ニューラル ネットワークと学習機能の概念を説明します。彼は、v1 を乗算したトレーニング サンプル コンポーネントがある図を描きます。これは、最初の層で異なる数のニューロンを持つことができる最初の層であり、それぞれが eze by から取得されます。損失関数は、すべての As と B である x2 を選択して最小化したい関数です。多くの場合、損失関数はすべての F の有限和であり、すべての I について計算できますが、代わりに確率的勾配を使用してそれらの 1 つまたは少数のみを選択します。損失関数は、サンプル I の真の結果を引いたものになります。これを二乗すると、すべてのサンプルで二乗された誤差の二乗和が得られます。

  • 00:15:00 このセクションでは、スピーカーは機械学習、特にニューラル ネットワークで使用されるさまざまな損失関数について説明します。損失関数は、ニューラル ネットの予測が真の値とどの程度一致しているかを示す尺度です。スピーカーは、二乗損失、L1 損失、ヒンジ損失、およびクロスエントロピー損失を含む 4 つの一般的な損失関数を提供します。クロスエントロピー損失は、ニューラル ネットワークにとって最も重要であり、最も一般的に使用される損失関数です。また、スピーカーは、距離行列と、それらの間の測定距離を使用して空間内の点の位置を決定するプロセスについても簡単に触れます。

  • 00:20:00 このセクションでは、スピーカーは、与えられた点間の距離から空間内の位置を見つけることを含む数学の問題を紹介します。質問は簡単で、さまざまな分野に応用できます。このセクションは本の 2 ページしか占めていませんが、ソリューションは詳細で完全です。講演者はまた、生徒たちに自分のプロジェクトについて質問するよう促し、直接メールを送ることを提案しています。彼はまた、このコースの後にどのコースを受講するかについての質問に言及し、この分野でさらにコースを受講する予定があるかどうかを学生に尋ねます。講演者は、他の学科にもコースがあることを認めていますが、コース 6 のリストしか見つけられませんでした。

  • 00:25:00 このセクションでは、講演者は MIT オペレーションズ リサーチ センターと、最適化、データ分析、統計、オペレーションズ リサーチを含むコースの提供について話します。講演者はまた、World Wide Web の作成者である Tim Berners-Lee 卿による講演と、URL の過剰な文字に対する彼の責任についても言及しています。次に、スピーカーは、距離行列と、与えられた距離から位置行列を見つける問題について説明します。講演者は、センサー間の距離を測定できるワイヤレス センサー ネットワークや、同様の原理を使用して位置を計算できる GPS システムなど、いくつかのアプリケーションについて言及しています。

  • 00:30:00 このセクションでは、スピーカーは、距離が与えられた点の位置を見つける問題について説明します。これは、きちんとした解決策を持つ古典的な問題です。位置は並進と回転を行うことができるため、一意ではありませんが、話者は重心を原点に合わせて並進を削除することを提案しています。位置を見つける問題は、核磁気共鳴を使用して分子の形状を決定するなど、さまざまな状況に適用できます。機械学習は、高次元空間で低次元の面を見つけることとしても説明できます。これは、数学的には、与えられた点に最もよく適合する湾曲した多様体を見つけることと同等です。このプロセスには、問題の次元を発見し、それを線形化することが含まれます。これにより、次元が元の高次元空間から問題の真の次元に縮小されます。

  • 00:35:00 このセクションでは、スピーカーは内積行列 G が与えられたときに行列 X を見つける方法を説明します。まず、行のみに依存する行列と列のみに依存する行列の 2 つのランク 1 行列を分析し、説明します。これらの行列は、内積行列の重要な部分のほとんどを生成します。次に、XI の内積を対角に持つ対角行列を導入し、この行列が与えられた D 行列に関連していることに注意します。そこから、内積行列の方程式を導出する方法を示し、G があれば X を見つけることができると説明します。ただし、内積を変更せずに回転できるため、X は一意ではないため、次のステップは次のとおりです。回転を因数分解する方法を見つけます。

  • 00:40:00 このセクションでは、スピーカーは、ニューラル ネットで恒等行列と X 転置行列の外積を見つけるために使用できる内積行列に関連する方程式について説明します。内積行列は、対角 D 行列、すべての行が同じ定数行列、およびすべての列が同じ定数行列の組み合わせです。スピーカーは方程式を段階的に調べ、各コンポーネントを分解して、X 転置 X 行列がこれらのランク 1 の場所とこれらの外積から来ていることを明らかにします。次に、方程式の半分の意味を調べますが、最終的には、正しい結果を得る必要があると結論付けます。

  • 00:45:00 このセクションでは、スピーカーは行列言語で与えられた方程式を記述する方法と、X を転置した X を与えられた行列 X を最終的に見つける方法について説明します。彼らは線形代数を使用して解を見つけ、X を見つけることができることに注意します直交変換に。議論されている 2 つの主要な方法は、固有値を使用する方法と、X 転置 X で消去を使用する方法です。講演者は、ニューラル ネットワークと機械学習の分野におけるこれらの方法の重要性を強調しています。

  • 00:50:00 このセクションでは、スピーカーは X の構成について説明します。X は対称で半正定値であり、それを見つける 2 つの方法があります。最初のアプローチは固有値構築で、X 転置 X の固有値と固有ベクトルを計算し、固有値の平方根を取得しながら固有ベクトルを保持します。 2 番目のアプローチはコレスキー分解です。コレスキー分解では、対称正定行列に対して消去を実行し、結果の下三角行列 L と対角行列 D を使用して、L の平方根 DL 転置の積として X を計算します。コレスキー分解は、固有値構築よりも高速で計算が簡単なため、より実用的なオプションになります。

  • 00:55:00 このセクションでは、スピーカーは距離行列に関する議論を締めくくります。これは、ニューラル ネットワークの構造を取得するための最終ステップであり、サンプル ベクトルを重みから分離します。講演者は、線形代数の 2 つの部分についても言及しています。それらを三角形の形に減らすか、それらを対称行列に接続するものを見つけることです。最後に、講演者は、金曜日にプロジェクトについて話し合うボランティアの募集について言及しています。
33. Neural Nets and the Learning Function
33. Neural Nets and the Learning Function
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

講義 34. 距離行列、Procrustes 問題



34. 距離行列、Procrustes 問題

講演者は、あるベクトルのセットを別のベクトルのセットにできるだけ近づける最適な直交変換を見つけることを含むプロクラステス問題について説明します。彼らは、距離行列のフロベニウス ノルムを計算するためのさまざまな式と、そのプロクラステス問題への接続について説明しています。スピーカーはまた、行列のトレースの概念を紹介し、Procrustes 問題で正しい Q を見つけます。さらに、深層学習が実際に機能するかどうかという問題に対処し、2 つの行列の内積の SVD を計算し、SVD から直交行列を使用することを含む、最適な直交行列を見つけることを含む行列問題の解決策を提示します。

  • 00:00:00 のセクションでは、スピーカーは、与えられた距離行列を満たす点を見つけること、および三角形の不等式の失敗を解決する方法についての以前の議論で提起された質問に対処します.話者は、距離行列から直接得られるドット積の行列は半正定値であると説明しますが、三角不等式が成立しない場合、ドット積の行列は正定値になりません。この問題は、次元に関係なく三角形の不等式が依然として保持されるため、次元を変更しても解決できません。

  • 00:05:00 このセクションでは、講師がプロクルステス問題について話します。この問題は、プロクラステスが特定の長さのベッドを持っていて、ベッドに合わせて訪問者の長さを調整したというギリシア神話にちなんで名付けられました。この問題は、2 つのデータ セットを組み合わせる方法を見つけることであり、講師は、距離行列の数によって三角形の不等式が満たされる場合、方程式から得られる行列は半正定値であると説明します。ただし、三角形の不等式に違反すると、行列は半正定行列ではなく、固有値が負になり、点を見つけることができなくなります。講師はまた、深層学習が実際に機能するかどうかという大きな問題を示唆していますが、これについては後で説明します。

  • 00:10:00 このセクションでは、プロクラステス問題について説明します。これには、あるベクトルのセットを別のベクトルのセットにできるだけ近づける最適な直交変換を見つけることが含まれます。ベクトルの 2 つのセットが両方とも直交基底である場合、直交行列 Q を使用して一方を他方に取り込むのは簡単ですが、常にそうであるとは限りません。したがって、問題は、フロベニウス ノルム 2 乗ですべての直交行列 Q を最小化し、行列を長いベクトルのように扱うことです。これを行う 1 つの方法は、転置 a を見て、そのトレースを取得し、すべての平方和を求めて行列のフロベニウス ノルムを取得することです。

  • 00:15:00 このセクションでは、講師が距離行列のフロベニウス ノルムを計算するためのさまざまな式について説明します。彼らは、二乗フロベニウス ノルムがすべての特異値の二乗和として、行列とその転置の積のトレース、または行列とその転置の積のトレースとして表現できることを示しています。 .次に、これらの式がどのように相互に関連しているかを説明し、この問題を解決するには、行列のすべての列に Q を掛けてもフロベニウス ノルムは変わらず、行列に Q を掛けても変化しないなど、さまざまな重要な事実が必要であると述べています。 t は特異値に影響します。

  • 00:20:00 このセクションでは、スピーカーはフロベニウス ノルムの特性について説明します。これには、直交因子を掛けても、反対側で同じまたは別の因子を掛けても変化しないという事実が含まれます。スピーカーはまた、行列のトレースの概念を紹介し、行列の順序が逆になってもトレースは変わらないという事実を強調します。次にスピーカーは、Procrustes 問題で正しい Q を取得する手順を説明します。

  • 00:25:00 このセクションでは、講演者は、ディープ ラーニングが実際に機能するかどうかという問題について議論し、対処すべき重要な問題であることを示唆しています。彼らは、ディープ ラーニングとニューラル ネットワークに関して多くの宣伝と誇大宣伝が行われている一方で、ネットワークの構造が多層であっても成功するとは限らないと述べています。次に、スピーカーは、2 つの行列の内積の SVD を計算し、SVD から直交行列を使用することを含む、最適な直交行列を見つけることを含む行列問題の解決策を提示します。
34. Distance Matrices, Procrustes Problem
34. Distance Matrices, Procrustes Problem
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

Lecture 35. グラフでクラスタを見つける



35. グラフでクラスターを見つける

このビデオでは、グラフのクラスタリングと、K 平均法やスペクトル クラスタリングなどのさまざまなアルゴリズムを使用してクラスターを見つける方法について説明します。ラプラシアン行列はスペクトル クラスタリングで使用され、その固有ベクトルを通じてグラフ内のクラスターに関する情報を提供できます。最小の正の固有値の固有ベクトルであるフィードラー固有ベクトルは、クラスタリングに重要です。講演者はまた、異なるクラスターを識別する上で直交する固有ベクトルの重要性を強調しています。さらに、線形代数で Julia を使用した逆伝播について説明する次の講義の簡単なプレビューもあります。学生は、プロジェクトをオンラインまたは講師のオフィスの外で提出することをお勧めします。

  • 00:00:00 このセクションでは、講演者はグラフのクラスタリングについて説明します。これは、大きなグラフをより小さく管理しやすいクラスタに分割するプロセスです。問題は、サイズが適度に等しい 2 つのクラスターを見つけることです。これを行うには、アルゴリズムを使用して、中心点 X と Y の位置を決定する必要があります。目的は、中心点と中心点の間の距離の合計を最小化することです。各クラスター内のノード数が適度に近いことを確認しながら、グラフ内のノード。これを達成するために使用できるいくつかのアルゴリズムがあり、グラフに関連付けられた行列を使用するものも含まれます。

  • 00:05:00 このセクションでは、スピーカーは、A とラベル付けされた点と B とラベル付けされた点のセットをクラスターまたはグループに分割するための K-means クラスタリング アルゴリズムについて説明します。アルゴリズムは、まず A グループと B グループの中間点である重心を特定し、次にそれらの重心に基づいて最適なクラスターを形成しようとします。このプロセスは、アルゴリズムがデータの最適なクラスターに収束するまで繰り返されます。話者は、グループ内のすべての点と重心との間の距離の合計を最小化する点である、重心の概念も紹介します。

  • 00:10:00 このセクションでは、講師がグラフ内のクラスターを見つける問題を解決する 2 つの方法について説明します。最初の方法は K-means と呼ばれ、各ポイントの最も近いクラスター重心を見つけ、ポイントをそれぞれのクラスターに再割り当てし、収束するまでプロセスを繰り返します。 2 番目の方法はスペクトル クラスタリングと呼ばれ、行列の固有値を使用して類似のポイントをグループ化します。 「スペクトル」という用語は、行列の固有値と線形代数のスペクトル定理を指します。インストラクターは、スペクトル定理が対称行列に適用されることを強調し、固有値は実数であり、固有ベクトルは直交していると述べています。

  • 00:15:00 このセクションでは、スピーカーは、線形代数とグラフ理論の間の重要な接続であるグラフ ラプラシアン行列について説明します。彼らは、この行列を対称的な正の半正定行列として説明し、任意のグラフに関連付けられた 4 つの行列があります: 入射行列、次数行列、隣接行列、およびラプラシアン行列です。スピーカーは、これらの各マトリックスを説明するために、単純なグラフを使用して例を実行します。ラプラシアン行列は、スペクトル クラスタリングで使用され、スペクトル定理として知られている固有値の多重度に対応する直交固有ベクトルを持つことができます。

  • 00:20:00 このセクションでは、スピーカーは、ラプラシアン行列を使用して特定のグラフ内のクラスターを見つけることによって、グラフ クラスタリングの概念を説明します。ラプラシアン行列は、次数行列から入射行列を差し引くことによって得られます。結果の行列は正の半正定行列であり、その固有ベクトルはグラフ内のクラスターに関する情報を提供します。最初の固有値は常にゼロであり、次の固有値はクラスタリングにとって重要です。スピーカーは、最小の正の固有値の固有ベクトルであるフィードラー ベクトルの重要性を強調し、グラフ クラスタリングにおけるその重要性を説明します。

  • 00:25:00 このセクションでは、スピーカーは、グラフでクラスターを見つけるときにラプラシアン行列がそのように命名される理由を説明します。ラプラシアン行列の対角線は 4 次であり、固有ベクトルからクラスターを見つけることができます。具体的には、フィードラー固有ベクトルは、グラフを 2 つのクラスターに分割する正と負の成分を決定できます。このアプローチは、グラフ ラプラシアンを使用して、どのノードがどのクラスターに属するかを決定する方法を提供します。

  • 00:30:00 このセクションでは、スピーカーはグラフでのクラスタリングと、k-means やスペクトル クラスタリングなどのさまざまなアルゴリズムを使用してクラスタを見つける方法について説明します。彼は、対称行列の固有ベクトルは直交していると説明しています。つまり、合計するとゼロになり、さまざまなクラスターを識別するために使用できます。彼はまた、同じ問題に対して提案された他のアルゴリズムがあることにも言及し、線形代数で Julia を使用した逆伝播をカバーする次の講義の簡単なプレビューを提供します。講演者は、学生にプロジェクトをオンラインまたはオフィスの外で提出するように勧めています。
35. Finding Clusters in Graphs
35. Finding Clusters in Graphs
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Gilbert StrangView the complete course: https://o...
 

講義 36: アラン・エデルマンとジュリア・ランゲージ



講義 36: アラン・エデルマンとジュリア・ランゲージ

このビデオでは、Alan Edelman が、機械学習におけるプログラミング言語の威力と、数学におけるその重要性について説明しています。彼は、Julia 言語の最近の開発を強調しています。その技術的メリットと機械学習での使いやすさが Google によって認められています。 Edelman は、Julia での自動微分がどのように機能するかを説明し、バビロニア アルゴリズムによる数値有限差分を使用せずに x の平方根を計算する例を示します。また、効率的な計算のための Julia での型の使用と、ブロック行列を使用した逆伝播プロセスの簡素化についても説明しています。全体として、Edelman は、数学的計算における線形代数の重要性と、複雑な現象を理解する上でのその役割を強調しています。

  • 00:00:00 このセクションでは、Alan Edelman が Strang 教授による行のランクが列のランクに等しいというデモンストレーションと、この概念がゼロ行列にどのように適用されるかについて説明します。次に、機械学習で勢いを増しているプログラミング言語である Julia の最近の開発と、Google がこの分野でその力をどのように認識しているかについて話します。 Google は最近、機械学習に十分なほど強力な言語は 2 つしかなく、Julia はその 1 つであることを示すブログ投稿を公開しました。 Edelman は、この点を説明するための例を提供し、学生にブログ投稿をチェックして詳細情報を確認するよう勧めています。

  • 00:05:00 このセクションでは、Alan Edelman が、数学的な意味でのプログラミング言語の重要性と、アルゴリズムを実装するだけでなく、それ以上のことを行う能力について説明します。 Julia、Swift、C++、Rust の 4 つは、技術的なメリットと使いやすさに基づいて機械学習に適していると見なされるプログラミング言語であると彼は説明しています。 Edelman は、エンジニアリングのすべてのコースの基礎としての線形代数の重要性と、その不幸な歴史の遅れを強調しています。次に、自動微分とそれが微積分にどのように関係するか、それに対する彼の最初の懐疑論、およびフォワード モード自動微分に関するノートブックで調査した技術的な詳細について詳しく説明します。

  • 00:10:00 このセクションでは、Alan Edelman が自動微分についての彼の最初の考えと、彼が学校でコンピューターを使って学んだ微積分のようなものだとどのように考えたかについて説明します。しかし、彼はすぐに、有限差分でも連鎖律でもない第 3 の方法があることに気付き、彼を魅了しました。次に、Julia のバビロニア アルゴリズムを使用して x の平方根を計算した例と、Julia の自動微分機能のおかげで、微分式を明示的に入力せずに平方根の導関数を取得できた例を共有します。

  • 00:15:00 このセクションでは、スピーカーは Julia コードを使用して、有限差分計算を使用せずに数値の平方根を計算する方法について説明します。このコードは、数値関数とその導関数を表す浮動小数点数のペアである「二重数」と呼ばれる変数の型を作成します。次に、スピーカーはプラス演算と除算演算をオーバーロードして商の規則を実装し、バビロニア アルゴリズムを使用して平方根を計算できるようにします。コードは数値的な有限差分を使用せずに機能し、スピーカーは、ジュリアが新しいコンテキストで既存のコードを再利用して「魔法」を実行できることを指摘しています。

  • 00:20:00 このセクションでは、Alan Edelman が、Julia プログラミング言語がアセンブラー コードの双対数でバビロニア アルゴリズムを使用して導関数を効率的に計算する方法について説明します。彼は、Python のシンボリック計算パッケージで実行された同じコードが、非常に非効率的な大きな係数でシンボリック計算を行う方法を示しています。次に、彼は SVD を明らかにします。これは、バビロニアのアルゴリズムがどのように機能するかを彼に確信させた別のアルゴリズムです。コードのすべての行の導関数を取得することにより、アルゴリズムは平方根と平方根の導関数に収束できます。得られた導関数は記号的でも数値的でもありませんが、すべてのステップで商規則と加算規則を使用して答えを取得します。

  • 00:25:00 このセクションでは、Julia 言語の作成者である Alan Edelman が、この言語で自動微分がどのように機能するかについて説明します。 Edelman は、各行の導関数を手動で取得する代わりに、JIT コンパイラーに処理させることで、ソフトウェアがこれを自動的に実行できることを示唆しています。これにより、翻訳者や手書きの文字を書く必要がなくなり、コーディングがはるかに合理化されます。 Edelman は、機械学習が最適化問題に大きく依存していることに注目しています。最適化問題は微分の取得に関するものであり、自動微分がプロセスの重要な要素となっています。最後に、型を使用することで、データを格納するための構造化されたマトリックスの作成を簡素化する方法について説明します。

  • 00:30:00 このセクションでは、Alan Edelman が Julia で型を使用して、計算を実行するときに必要なものだけを効率的に格納する方法について説明します。これにより、オーバーヘッドが大きい Python や MATLAB などの言語とは一線を画しています。次に、スカラーの例から始めて行列とベクトルに一般化する、ニューラル ネットワークにおける没入モード微分のアイデアに簡単に触れます。彼はこのプロセスに関係する線形代数を書き出しましたが、完全に説明する前に時間がなくなりました。

  • 00:35:00 このセクションでは、微分を手動で計算することなく、Julia でブロック行列を使用して逆伝播を実行する方法を Edelman が説明しています。彼は、対角行列と下三角行列を使用することで逆伝播プロセスを簡素化し、Julia の組み込み関数を利用する方法を示しています。彼は、線形代数を使用して、バックスラッシュを使用して下三角行列を解く方法を示し、微分を計算するタスクをはるかに簡単にします。エデルマンは、線形代数は多くの数学的計算に不可欠であり、多くの複雑な現象を理解するための秘訣であると強調しています。
Lecture 36: Alan Edelman and Julia Language
Lecture 36: Alan Edelman and Julia Language
  • 2019.05.16
  • www.youtube.com
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, Spring 2018Instructor: Alan Edelman, Gilbert StrangView the complete cou...