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

 

講義 11 -- 深層学習の最適化 -- フランク シュナイダー



Numerics of ML 11 -- 深層学習の最適化 -- Frank Schneider

Frank Schneider が、ディープ ラーニングの最適化の課題について説明し、ニューラル ネットワークのトレーニングの複雑さと、適切な最適化方法とアルゴリズムを選択することの重要性を強調します。彼は、利用可能な方法の圧倒的な数と、異なるアルゴリズムの比較とベンチマークの難しさを指摘しています。 Schneider は、大規模な言語モデルのトレーニングが成功した実例と、モデルを正常にトレーニングするためのデフォルト以外の学習率スケジュールと飛行中の変更の必要性を示しています。 Schneider 氏は、これらのメソッドの使用方法やハイパーパラメータがトレーニング プロセスに与える影響について、より多くの洞察をユーザーに提供することの重要性を強調しています。また、実践者が特定のユース ケースに最適なメソッドを選択するのに役立つベンチマーク演習を作成することも重要です。また、Alpha などの新しい方法と、それを活用してニューラル ネットワークのトレーニング プロセスを制御する方法についても説明しています。

ディープ ラーニングの最適化の数値に関するビデオの第 2 部では、Frank Schneider が "Deep Debugger" ツールの Cockpit を紹介します。これは、データ バグやモデル ブロックなど、トレーニング プロセスの問題を検出して修正するための追加の手段を提供します。彼は、最適なハイパーパラメーターのためにデータを正規化することの重要性、学習率とテスト精度の関係、確率論を使用してニューラル ネットワークをトレーニングする際の課題について説明しています。 Schneider は、勾配を分布と見なし、長期的にはより優れた自律的な方法を開発することで、ニューラル ネットワークのトレーニングの改善に向けて取り組むことを学生に奨励しています。

  • 00:00:00 このセクションでは、Frank Schneider がディープ ラーニングの最適化のトピックを紹介し、ニューラル ネットワークのトレーニングに伴う課題の概要を説明します。彼は、ニューラル ネットワークをどのようにトレーニングするかという単純な質問のように思えるかもしれませんが、ハードウェアとソフトウェアの考慮事項を含め、実際には複数の答え方があると説明しています。ただし、講義の主な焦点は、ニューラル ネットワークのトレーニングに使用される方法とアルゴリズムにあり、Schneider は万能のソリューションは存在しないことを強調しています。彼は、Midi のグループが大規模な言語モデルをトレーニングする実際の例を提供し、モデルを正常にトレーニングするには、デフォルト以外の学習率スケジュールと学習率の飛行中の変更が必要であることを示しています。全体として、Schneider の講義では、ニューラル ネットワークのトレーニングの複雑さと、適切な最適化手法とアルゴリズムを慎重に選択することの重要性が強調されています。

  • 00:05:00 このセクションでは、スピーカーは、大規模な言語モデルのトレーニングの苦労に特化した OpenAI によって提供されたログブックの例を引用して、ニューラル ネットワークを効率的にトレーニングすることの課題について説明します。講演者は、現在、ニューラル ネットワークをトレーニングするための効率的な方法はないと述べていますが、利用可能なガイドラインと直感はいくつかあります。この講義では、ニューラル ネットワークのトレーニングが非常に難しい理由と、状況を改善するために何ができるかを理解することに焦点を当てます。講演者は、現在の最先端の方法が多数あり、これらの方法のどれが最も効率的であるかが不明であるため、これは通常の講義構造とは異なることに注意します。

  • 00:10:00 このセクションでは、スピーカーは、主に最適化である機械学習に関する誤解について説明します。最適化には損失状況の最小値の検索が含まれますが、機械学習の目標は、トレーニング データに最適で、新しいデータに適切に一般化する関数を見つけることです。これは、モデルの予測と実際の出力との差を定量化する損失関数を使用することで実現されます。多くの場合、真のデータ分布は不明であるため、モデルはデータの有限サンプルでトレーニングされ、最適化プロセスは経験的損失に基づいて実行されます。講演者は、より高次元のランドスケープと表現力豊かな仮説により、深層学習がより複雑になることを強調します。

  • 00:15:00 このセクションでは、Frank Schneider が機械学習は単なる最適化ではないと説明しています。なぜなら、最適化される量 (経験的損失) は、アルゴリズムが実際に気にかけている量 (真の損失) と同じではないからです。オーバーフィッティングと一般化は、モデルが交差エントロピー損失でトレーニングされ、翻訳の品質で評価される翻訳タスクのように、実際にはトレーニングからテストに進むよりも複雑です。その結果、以前の勾配を考慮し、将来どのように振る舞うべきかを理解するために、確率的勾配降下、運動量分散、RMS プロップ、アトムなどのさまざまな方法が開発されました。合計で、ディープ ラーニングのアルゴリズムの最適化とトレーニングに使用できるメソッドは 150 を超えます。

  • 00:20:00 このセクションでは、100 以上の方法から選択できる、ニューラル ネットワークのトレーニングに使用できる圧倒的な数の最適化方法についてスピーカーが説明します。問題は、方法を選ぶだけでなく、それを効果的に使用する方法です。たとえば、SGD や Adam などの最適化手法を選択したとしても、学習率やイプシロンなどのハイパーパラメータを決定する必要があり、調整が難しい場合があります。スピーカーは、どの方法が必要で改善されているかを理解するために適切なベンチマークが必要であり、現在の課題はディープラーニングのコンテキストで「より良い」とは何かを定義することであると示唆しています.全体として、これらのメソッドの使用方法と、ハイパーパラメータがトレーニング プロセスに与える影響について、より多くの洞察をユーザーに提供することに重点を置く必要があります。

  • 00:25:00 このセクションでは、Frank Schneider が、強化問題、GAN、大規模言語モデルの最適化など、ディープ ラーニング トレーニング アルゴリズムを比較する際に生じる課題について説明します。確率論を説明するためにこれらのメソッドを数回実行する必要がある場合があるため、パフォーマンスの違いが重要かどうかを判断するのが難しくなります。すべてのケースをテストすると、すべての汎用メソッドに対してトレーニングを複数回繰り返す必要があるため、費用と時間がかかる可能性があります。複数の問題をテストする場合、トレーニングに使用される方法を分析する必要があり、ハイパーパラメーターの変更が必要になるため、さらにコストがかかります。さらに、Schneider は、SGD と Adam は一連の正確なパラメーターを指定しないと直接比較できないアルゴリズムのファミリーであることを強調しています。

  • 00:30:00 このセクションでは、フランク シュナイダーがディープ ラーニングの最先端のトレーニング方法を特定するプロセスについて説明します。利用可能な最適化手法が多数あるため、単純な二次問題から大規模な画像分類および再帰型ニューラル ネットワーク モデルに至るまで、8 種類の問題に対して 15 の最適化手法のみをテストすることに制限する必要がありました。さまざまなシナリオをシミュレートするために、デフォルトの高いパラメーターを使用したワン ショット チューニングから、より多くのリソースを利用できる業界関係者向けのより大きな予算まで、ハイパーパラメーター チューニングの予算が異なる 4 つの異なる設定でこれらの最適化手法をテストしました。目標は、さまざまなシナリオでどの最適化方法が最も効果的かを判断し、実践者が特定のユース ケースに最適な方法を選択できるようにすることでした。
     
  • 00:35:00 このセクションでは、Frank Schneider が深層学習モデルの最適化プロセスについて説明します。彼は、15 の最適化方法と 4 つの学習率スケジュールがあったため、最適な最適化方法を見つけるために、50,000 回以上の実行を個別に実行する必要があったと説明しています。シュナイダーは、いくつかの方法がさまざまなテスト問題でうまく機能したため、深層学習の明確な最先端のトレーニング方法はなかったと述べています。ただし、Adam は一貫して良好な結果を示し、Adam から派生した他の方法ではパフォーマンスが大幅に向上しませんでした。全体として、ベンチマークの実施により、現在、すべての深層学習モデルに有効な明確な最適化方法がないことが示されました。

  • 00:40:00 このセクションでは、スピーカーは、さまざまな方法が利用可能であり、明確なトレーニング プロトコルがないために、ニューラル ネットワークをトレーニングするための最も効果的な方法を決定することの難しさについて説明します。講演者は、アルゴリズム ワーキング グループによる ml Commons Benchmark の作成について説明します。これは、アルゴリズムの変更のみによるニューラル ネットワーク トレーニングのスピードアップを測定するための競争です。その目的は、ニューラル ネットワークのトレーニングを高速化するためのより効率的なアルゴリズムを構築することです。講演者はまた、これらの方法の使用方法に関する利用可能な情報が不足していることについても説明し、最終的にすべてを自動的に実行できるより優れた方法を構築することを期待して、その間にユーザーを支援するデバッグ ツールを作成するために追加情報を使用できることを提案します。

  • 00:45:00 このセクションでは、スピーカーは、ステップを実行する前にトレーニング データセットの個々のサンプルを選択することによって、ほとんどの機械学習モデルが経験的勾配をどのように近似するかについて説明します。ミニバッチ勾配または経験的勾配は真の勾配からのサンプルであり、個々の勾配を平均すると真の勾配の推定値が得られますが、推定量の分散は PyTorch では利用できません。ただし、バックパックのようなパッケージを使用することで、ユーザーは個々の勾配とその分散にアクセスできます。この追加情報を活用して、学習率を増減するかどうかを決定するなど、ニューラル ネットワークのトレーニング プロセスを進めることができます。スピーカーは、2 つの損失曲線が同じように見える例を提供しますが、損失状況の最適化は、2 つのまったく異なることが起こっていることを示しています。

  • 00:50:00 このセクションでは、スピーカーは損失曲線がニューラル ネットワークがトレーニングされているかどうかを示す方法について説明しますが、その理由やそれを改善するために何をすべきかについては説明しません。損失の状況には数千万の次元があり、調べることはほとんど不可能です。ただし、スピーカーは、アルファと呼ばれる、ニューラル ネットワークの最適化手順を特徴付けるのに役立つ量を紹介します。アルファ値は、ネットワークがステップしている方向の勾配を観察することによって、ネットワークがアンダーステップ、最小化、またはオーバーシュートしているかどうかを判断します。これは、損失状況が上昇しているか下降しているかを示します。

  • 00:55:00 このセクションでは、フランク シュナイダーが、ニューラル ネットワークを最適化しながらアルファを計算する方法について説明します。アルファは、ニューラル ネットワークを最適化するためにモデルが移動する方向として前のセクションで説明したスカラー値です。 Schneider は、アルファ スカラー量は、その方向で観測された損失と比較したステップのサイズに基づいていると説明しています。負のアルファ値はアンダーステッピングを意味し、正の値はオーバーステッピングを意味し、1 つは谷の反対側に直接切り替えることを意味します。 Schneider はまた、情報を意味のあるレポートに凝縮することで、開発者が従来のプログラミングと同様のディープ ラーニング用のデバッグ ツールを作成できる方法についても説明しています。

  • 01:00:00 このセクションでは、Frank Schneider が「コックピット」ツールを使用した「ディープ デバッガー」の概念を紹介します。このツールは、飛行機のパイロットのように、視聴者のトレーニング プロセスを追加の機器で補強します。 Schneider は、Cockpit がニューラル ネットワークのトレーニングに新しい視点 (ステップ サイズ、距離、勾配ノルム、勾配テストなど) をどのように提供できるかを示し、トレーニング プロセスでのデータ バグなどの問題を検出して修正するのに役立ちます。追加の機器を使用すると、Cockpit はユーザーに関連情報を提供し、重要なパフォーマンス プロットを補完することができます。

  • 01:05:00 このセクションでは、深層学習で正規化されたデータと生データを使用すると、ニューラル ネットワークのパフォーマンスと最適なハイパーパラメーターにどのように影響するかについて講演者が説明します。ピクセル値が 0 ~ 255 の範囲の生データは、勾配要素ヒストグラムの動作が低下し、ハイパーパラメータが最適化されない可能性があります。ただし、視覚的にデータが同じに見えるため、データの正規化は簡単に見逃されます。トレーニングに影響を与える可能性のある別の問題は、勾配要素のヒストグラムが類似しているにもかかわらず、あるネットワークでは適切にトレーニングされ、別のネットワークでは適切にトレーニングされないモデル ブロックです。 Cockpit を使用すると、ネットワークの各レイヤーのヒストグラムを確認して、モデル全体の縮退を明らかにすることができます。これは、試行錯誤では見つけにくいモデルのバグを特定するのに役立ちます。最後に、ハイパーパラメータの調整にコックピットを使用すると、新しい研究と方法の理解が深まる可能性があります。

  • 01:10:00 このセクションでは、Frank Schneider が深層学習の最適化と、学習率、アルファ値、およびテスト精度の関係について説明します。彼は、学習率が大きくなるとアルファ値が大きくなる傾向があり、これはオーバーシュートを起こし、ステップが大きくなりすぎる可能性があることを意味しますが、通常、最高のパフォーマンスを発揮する実行は正のアルファ領域にあると説明しています。これは、ニューラル ネットワークのトレーニングでは、各ステップで最小化することが常に最善であるとは限らず、最高のパフォーマンスを得るにはオーバーシュートが必要であることを示しています。シュナイダーはまた、最適な結果を達成するためにローカルとグローバルのステップのバランスを見つけることの重要性を説明するトロント大学の論文の例を共有しています.

  • 01:15:00 このセクションで、Frank Schneider は、ニューラル ネットワークのトレーニングは、従うべき明確なプロトコルがない難しいタスクであることを認めています。さらに、深層学習の確率論がこの課題の主な原因であり、トレーニングと最適化が 2 つの異なるものになると彼は考えています。しかし、勾配を分布として考え、標準偏差、分散、および信頼度を考慮することで、長期的にはより優れたツールを構築し、より優れた自律的手法を開発できる可能性があると彼は示唆しています。 Schneider は、関心のある学生に、ニューラル ネットワークのトレーニングの改善に協力するよう勧めています。
Numerics of ML 11 --Optimization for Deep Learning -- Frank Schneider
Numerics of ML 11 --Optimization for Deep Learning -- Frank Schneider
  • 2023.02.06
  • www.youtube.com
The eleventh lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses bo...
 

講義 12 -- 深層学習の二次最適化 -- ルーカス・タッツェル



Numerics of ML 12 -- 深層学習のための二次最適化 -- Lukas Tatzel

このビデオでは、Lukas Tatzel が、ディープ ラーニングの 2 次最適化手法とその潜在的な利点について説明しています。彼は、2D のローゼンバーグ関数の例を使用して、SGD、Adam、LBFGS の 3 つの最適化手法の軌跡と収束率を比較します。 Tatzel は、SGD のびくびくした動作は、LBFGS の十分な情報に基づいたステップと比較して、収束が遅くなると述べています。彼は最適化のための高速な方法としてニュートン ステップを紹介し、条件数への依存など、その制限について説明します。 Tatzel は、悪条件の問題を処理するためのヘッセ行列の近似として、一般化ガウス ニュートン行列 (GGN) の概念についても説明しています。さらに、信頼領域の問題、非凸目的関数の処理方法、二次関数の最小化に CG を使用する Hessian-free アプローチについても説明しています。

このビデオの 2 番目の部分では、BFGS と LBFGS、ヘッセ行列を使用しない最適化、KFC など、深層学習の 2 次最適化手法について説明します。講演者は、KFC は公式の情報メトリックに基づくおおよその曲率であるのに対し、Hessian-free アプローチはヤコビ ベクトル積を使用してモデルを線形化すると説明しています。ただし、これらの方法では確率論とバイアスが発生する可能性があるため、これらの問題に対処するにはダンピングをお勧めします。講演者は、分布などのより豊富な量を使用して更新を行うことができる特殊なアルゴリズムの使用を提案し、確率論の基本的な問題が未解決のままであることを指摘します。全体として、二次最適化手法は、深層学習の課題に対する部分的な解決策を提供します。

  • 00:00:00 このセクションでは、Lukas Tatzel が、費用がかかり面倒なディープ ラーニングの最適化プロセスの潜在的な解決策として、2 次最適化手法を紹介します。彼は、2D のローゼンバーグ関数の例を使用して、SGD、Adam、LBFGS の 3 つのオプティマイザーの軌跡と収束率を比較しています。彼は、SGD のびくびくした動作は、LBFGS の十分な情報に基づいたステップと比較して収束が遅くなると述べています。LBFGS は、10^-8 の許容値に到達するのに 10 ステップ未満しか必要とせず、ステップの点だけでなく実行時間も高速にします。 Adam と SGD と比較して。 Tatzel は、これらの手法がディープ ラーニングに適用できるかどうかという問題を提起し、その仕組みとその可能性を探ります。

  • 00:05:00 このセクションでは、Lukas Tatzel が深層学習最適化の基本について説明します。これには、次元 C のベクトルを予測し、それを実際のラベルと比較して損失関数を計算することが含まれます。深層学習の目標は、経験的リスクを最小化するネットワーク パラメーター ベクトル Theta の構成を見つけることです。これに使用される数値的手法には、モンテカルロ推定器を使用して有限データの勾配の推定値を計算する確率的勾配降下法 (SGD) が含まれます。ただし、勾配ベースの方法は、最大方向曲率と最小方向曲率の比率である条件数に敏感です。

  • 00:10:00 このセクションでは、Lukas Tatzel が、勾配ベースの手法がディープ ラーニングの悪条件問題にどのように影響するかについて説明します。彼は、条件数が大きい場合、勾配ベースの方法では問題になり、変換が遅くなる可能性があると説明しています。勾配ベースの方法で更新を改善するために、Tatzel は、それぞれの逆曲率を使用して、大きな曲率方向と小さな曲率方向の両方で勾配を再スケーリングすることを提案しています。これを行うことで、条件数への依存を軽減または排除するために 2 次メソッドを導入できます。

  • 00:15:00 このセクションでは、Lukas Tatzel が深層学習における 2 次最適化について説明し、ニュートン ステップの概念を紹介します。この方法では、現在の反復での損失関数を二次関数で近似します。ここで、ヘッセ行列は正定であると想定されます。その勾配を計算してゼロに設定することで、ニュートン ステップを導き出し、最小化の目的で使用できます。この方法は、特定の状況では勾配ベースの方法よりもはるかに高速であり、ターゲット関数が 2 回微分可能であり、ヘッセ行列がリプシッツ連続である場合、局所二次収束を達成します。タッツェルは線形収束と二次収束を視覚的に比較し、悪条件の問題に対してロバストであるため、特定の状況ではニュートン法が非常に高速になることを示しています。

  • 00:20:00 このセクションでは、Lukas Tatzel がディープ ラーニングの二次最適化手法と、それらが一般的に使用されない理由について説明します。 2 次法は勾配ベースの方法よりも高速ですが、ヘッセ行列にアクセスする必要があるため、大規模な非凸問題の計算と保存が困難になる場合があります。さらに、ヘッシアンの計算で確率論を処理すると、これらのメソッドのパフォーマンスに影響を与える可能性があります。 Tatzel は、これらの課題に対処する方法を説明し、さまざまな方法の背後にある概念の概要を説明します。

  • 00:25:00 このセクションでは、Lukas Tatzel が深層学習の二次最適化とニュートン更新法の限界について説明しています。彼は、Tau に関する関数の 2 次導関数の計算を示します。これは、曲率 Lambda が一定の 2 次関数です。固有ベクトルに沿った曲率は固有値であり、曲率が負の場合、二次は下から無制限になり、ニュートン更新メソッドは無意味になります。この問題に対処するために、Tatzel は一般化ガウス ニュートン行列 (GGN) を導入しました。これは、ヘッセ行列の正の半正定近似であり、その代わりとして使用できます。彼は、パラメーター ベクトルとモデル結果の間の分割に変更規則を適用することにより、損失関数から GGN を導き出します。

  • 00:30:00 このセクションでは、Lukas Tatzel が深層学習モデルの二次最適化の概念について説明します。彼は積則とその仕組み、連鎖則を適用しながら行列の導関数を計算する方法を説明しています。次に、Tatzel は、モデルの曲率を無視する正定値行列である GGN と、シータに関するモデルの 2 次導関数を含むヘッセ行列について話します。彼は GGN と Hessian を比較し、GGN が正定で対称であることを示しており、深層学習モデルの最適化に役立つツールになっています。

  • 00:35:00 このセクションでは、Lukas Tatzel が Hessian と、GGN (Generalized Gauss-Newton) アルゴリズムが半正定かどうかをヘッセ行列がどのように判断するかについて説明します。関連するすべての損失関数について、ヘッセ行列は半正定です。モデルの出力と真のラベルの間の二乗ノルムとして損失が計算されるような損失関数の場合、ヘッセ行列は単位行列のスカラー倍であり、正定値になります。 Lukas は、明確に定義された GGN ステップを定義するために使用できるフィッシャー情報行列についても説明しています。この場合、GGN アルゴリズムは分布空間の最急降下法であり、パラメーター空間は 2 つの分布間の距離によって測定されます。

  • 00:40:00 このセクションでは、Lukas Tatzel が深層学習の二次最適化における信頼領域の問題について説明します。凸ケースでは、二次モデルが恣意的に悪いという問題が依然としてあり、ダンピングの必要性につながり、反復更新が信頼できる半径内に収まるように制限します。デルタ時間単位を曲率行列に追加することにより、修正されたニュートン ステップが作成され、ダンピングを使用して、更新がどれほど保守的であるかを制御できます。半径を選択するときは、予想される損失の減少と実際の損失の減少との間の減少率に基づいて、L-BFGS ヒューリスティックを使用してダンピングを直接操作する方が簡単です。

  • 00:45:00 ビデオのこのセクションでは、Lukas Tatzel が、ggn や裂け目などの正の半正定曲率行列を計算することによって、深層学習で非凸の目的関数を処理する方法について説明しています。これらの行列を解釈し、有限データで偏りのない推定量を提供することができます。リヴィング バック マークなどのダンピング ヒューリスティックを使用して、保守的な更新を制御できます。ただし、これらの巨大な曲率行列を逆にすることは、ストレージの制限により問題になります。この問題を解決するために、低ランク近似、反復法、構造化近似などの数値代数のアイデアを借りることができます。次に Tatzel は、勾配観測から逆ヘッシアンがどのように見えるかを推定することを目標に、勾配観測から逆ヘッシアンの近似を徐々に学習する BFGS の核となるアイデアについて説明します。

  • 00:50:00 このセクションでは、Lukas Tatzel が、ディープ ラーニングに 2 次最適化を使用するアイデアについて説明しています。二次導関数は、勾配の差分近似をとることによって得られ、これは正割方程式を使用して多次元の場合に転送されます。目標は逆ヘッセ行列を近似することであるため、実際の逆ヘッセ行列からのプロパティが取得され、近似が同じプロパティを持つために必要です。更新には、前の近似とベクトル SK および yk のみが含まれます。近似値は、固定サイズ l の固定ウィンドウを使用して保存されます。これにより、適切な曲率推定値を取得できます。

  • 00:55:00 このセクションでは、Lukas Tatzel が深層学習の二次最適化手法を紹介し、特に Hessian-free アプローチに焦点を当てています。このアプローチでは、CG を使用して 2 次関数を最小化し、行列とベクトルの積のみを必要とするため、曲率行列を明示的に格納しなくても効率的な計算が可能になります。 GGn は曲率メトリックとして使用され、モンテカルロ推定を使用することで、特定の入出力ペアの行列を計算できます。ヤコビアンにベクトルを効率的に乗算するための中心的なアイデアは、ヤコビアン ベクトル積を方向導関数に置き換えることです。これにより、行列を明示的に構築せずに積を計算する効率的な方法が可能になります。

  • 01:00:00 このセクションでは、講演者は深層学習の二次最適化、特に Hessian-Free 最適化と KFC 手法について説明します。 Hessian-Free 最適化では、theta と Delta Theta での F を theta の F と Delta Theta のヤコビアン時間で近似し、ヤコビ ベクトル積を使用してモデルを線形化します。ただし、このアプローチは数値的に不安定であるため、代わりにヤコビ ベクトル積の近似値が使用されます。一方、KFC は、ブロック対角近似と期待値の交換とクロニカ製品の操作の 2 つの近似を含む、公式の情報メトリックに基づく近似曲率です。ブロック対角構造により行列の逆変換が簡単になり、期待値の近似は妥当なものになります。これは、2 つのベクトルの経時積を計算するのが難しいためです。

  • 01:05:00 このセクションでは、Lukas Tatzel が、ディープ ラーニングの二次最適化で使用される曲率行列にアクセスして反転する 3 つの方法について説明します。最初の方法は BFGS と LBFGS で、ヘッセ行列の動的下降近似を使用し、小さな決定論的問題の既定の選択です。 2 番目の方法は Hessian-free オプティマイザです。これはニュートン ステップに似ていますが、必要なメモリが少なく、より順次的な作業が必要です。ただし、バッチ ノルム レイヤーを使用する大きなミニバッチ サイズでは問題があります。最後の方法は KFC です。これは、ヘッセ行列情報メトリックの軽量な表現であり、不確実性の定量化で広く使用されています。 K-Fik オプティマイザーは、メモリが限られている場合に推奨されます。これは、ブロックの小さなコンポーネントを格納して反転させる方が、行列全体で同じことを行うよりも簡単で高速であるためです。

  • 01:10:00 このセクションでは、Lukas Tatzel がニュートン ステップを計算する際の確率論の問題について説明します。これには、ヘッセ行列を逆にして勾配に適用することが含まれます。ヘッセ行列と勾配の推定値しかないため、偏りがなくても、ニュートン ステップには偏りがあります。 Tatzel は、1/H ハットに対する期待値が 1/H と同じではない 1D の直感的な例を提供し、曲率の推定値があっても、反転関数を介してマッピングするときにまだ不確実性があることを示しています。これは、深層学習の二次最適化で確率論を扱うという課題を強調しています。

  • 01:15:00 このセクションでは、深層学習の二次最適化で発生する可能性のあるバイアスと不安定性について講演者が説明します。逆曲率を推定すると、重いテールが生成される可能性があり、その結果、期待値が平均以上に移動します。これにより、全体的なニュートン ステップが予想よりも大きくなります。さらに、サンプルがゼロに近い場合、確率的推定または偶然により、偏りや不安定性が存在する可能性があります。これらの問題は、ダンピングを適用することで解決できます。ダンピングは、分布をゼロから遠ざけ、潜在的なバイアスと不安定性を軽減します。

  • 01:20:00 このセクションでは、Lukas Tatzel が、ダンピングを外側のループの最適化プロセスとして使用する際の課題について説明します。これは、すべての方向を同等に扱い、トレーニング プロセスの複雑さに対処する適切な方法ではない可能性があります。彼は、分布などのより豊富な量を使用して更新を行うことができる特殊なアルゴリズムの使用を提案し、確率論の基本的な問題が未解決のままであることを指摘しています。全体として、Tatzel は、BFGS、LBFJS、Heston フリー オプティマイザー、KFC などの 2 次最適化手法が、ヒル条件付けの問題を含むディープ ラーニングの課題に対する部分的な解決策を提供することを示唆しています。
Numerics of ML 12 -- Second-Order Optimization for Deep Learning -- Lukas Tatzel
Numerics of ML 12 -- Second-Order Optimization for Deep Learning -- Lukas Tatzel
  • 2023.02.06
  • www.youtube.com
The twelfth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses bot...
 

講義 13 -- 深層学習における不確実性 -- アグスティヌス・クリスティアディ



Numerics of ML 13 -- 深層学習における不確実性 -- Agustinus Kristiadi

このビデオでは、深層学習における不確実性、特にニューラル ネットワークの重みの不確実性と、漸近過信の問題による不確実性を組み込むことの重要性について説明しています。確実。このビデオでは、ガウス分布を使用して最後の層の重みを近似し、ヘッセ行列を使用してニューラル ネットワークの曲率を推定することにより、2 次量、特に曲率推定を使用して深層ニューラル ネットワークに不確実性を取り込む方法についての洞察を提供します。このビデオでは、ニューラル ネットワークのモデルとパラメーターを選択するためのベイジアン形式とラプラス近似についても説明します。

講義の第 2 部では、Agustinus Kristiadi がこのビデオでディープ ラーニング モデルに不確実性を導入するさまざまな方法について説明しています。 1 つの手法では、線形化されたラプラス近似を使用して、ニューラル ネットワークをガウス モデルに変換します。もう 1 つのアプローチは、元のトレーニング セットでカバーされていない領域に不確実性が追加される、分布外トレーニングです。 Kristiadi は、モデルの過信を防ぐために不確実性を追加することの重要性を強調し、理想的な事後分布を見つけるコストを回避するために確率論的手段を使用することを提案しています。これらの手法については、確率的機械学習に関する今後のコースでさらに詳しく説明します。

  • 00:00:00 このセクションでは、スピーカーが講義のトピックを説明します。これは、不確実性を機械学習に取り入れ、それを達成するために計算を行う方法についてです。この講義では、特に積分を解き、ベイズ深層学習を使用して不確実性を取得する際に、以前の講義からの洞察を使用します。次にスピーカーは、深層ニューラル ネットワークにおける不確実性の重要性と漸近的過信の問題について説明します。ニューラル ネットワークは、そのような確実性で分類されるべきではない分布外の例に対して高い信頼度の予測を提供します。講義の目的は、2 次量、特に曲率推定を使用して深層ニューラル ネットワークに不確実性を取り込む方法についての洞察を提供することです。

  • 00:05:00 このセクションでは、Agustinus Kristiadi が深層学習、特に ReLU 非線形性を使用する分類ネットワークにおける不確実性について説明します。彼は、実際の分類器の基本的な特性を示しています。ロジット層が前の層と ReLU 非線形性との線形結合である場合、ネットワークの出力は、前の層の結合によって定義される区分線形関数のままです。この空間でトレーニング データから離れると、分類器がソフトマックス出力への線形入力を持つ領域につながり、確率 1 で、各線形出力関数のゲインが異なります。その結果、これらの領域で十分に移動すると、1 つのクラスの信頼性が任意に高くなり、赤色の 3 つの線形出力フィーチャのプロットで視覚的に確認できます。

  • 00:10:00 このセクションでは、Agustinus Kristiadi が、特定のクラスに高い信頼性をもたらす実際の分類器の基本的な特性と、重みを再トレーニングするだけでは修正できない理由について説明します。解決策は、ニューラル ネットワークの重みに不確実性を追加することです。そのためには、ニューラル ネットワークのベイジアン解釈が必要です。これは、トレーニング中に最小化される関数の指数関数を最大化することで実現できます。これは、深層学習が既にベイジアン推論を行っていることを意味しますが、事後モードのみが計算されているため、問題が発生する可能性があります。連続出力を伴う教師あり問題の一般的な設定は、2 次損失および重み減衰正則化です。これは、重みに事前ガウス分布を適用し、データにガウス尤度を適用することと同じです。

  • 00:15:00 このセクションでは、スピーカーは深層学習における不確実性と深層ニューラル ネットワークのベイズ解釈について説明します。話者は、予測に必要な完全な事後分布は扱いにくいことに注意します。モンテカルロ法は理論的には十分な根拠がありますが、時間がかかり、患者の推論を行う人にとって不利になる可能性があります。したがって、スピーカーは積分を行うための可能な限り安価な方法を主張します: 自動微分と線形代数の組み合わせです。講演者は、定理で示されているように、ネットワークの最後の層の重みだけでさえも、ガウス近似測定が過信の問題をすでに部分的に解決しているという驚くべき結果を共有しています。話者は、重みの確率分布が正しいかどうかは問題ではなく、重みに確率測定を追加することで信頼性の問題を解決できることを強調しています。

  • 00:20:00 このセクションでは、深層ニューラル ネットワークの分類層の最後の層の重みにガウス分布を適用して、分類の不確実性の問題を解決する方法についてスピーカーが説明します。話者は、ガウス分布の任意の共分散を使用できると想定しています。これは問題ではなく、分布の平均はディープ ニューラル ネットワークのトレーニング済みの重みによって与えられるためです。次に、スピーカーはガウス分布を使用して、X スターでのシータの F に対するソフト マックスの積分を近似することにより、前のスライドの問題を解決します。 David Makai 近似を使用して、導出された変数のソフト マックスを計算します。この変数は、ネットワークが本来持つであろう出力の平均予測を持っています。この近似を表すビジュアライゼーションの青い線は、分類の不確実性に対する解決策を提供する 1 つから離れています。

  • 00:25:00 このセクションでは、Agustinus Kristiadi が深層学習における不確実性の重要性、特にニューラル ネットワークの重みについて説明しています。彼は、問題を引き起こす可能性があるため、重みをよく知らないことを考慮に入れることが重要であり、知らない場合でも何かを知っていると仮定しないようにすることが重要であると主張しています.線形化や重みのガウス分布の使用などの数学的近似を行うことができ、わずかな不確実性がある限り問題ないことが証明されています。シグマの選択は、曲率推定による自動微分で行うことができます。これは、最も高速で安価な方法です。

  • 00:30:00 このセクションでは、Agustinus Kristiadi が、深層学習を通じて損失関数のモードを見つけた後、ヘッセ行列を使用してガウス近似を形成する方法を説明しています。損失関数の 2 次導関数を含むヘッセ行列は、近似値の作成に使用されます。ガウス近似は局所的で完全ではありませんが、完全に解析的であるため、適切な近似になります。この近似を利用するには、トレーニング済みのニューラル ネットワークが必要です。ネットワークがトレーニングされると、AutoDiff を使用してその時点でヘッセ行列を取得できます。これは、適切に機能する閉形式のプロセスです。

  • 00:35:00 このセクションでは、スピーカーはディープ ラーニングにおける不確実性の概念と、ヘッセ行列を使用してそれを評価する方法について説明します。ヘッセ行列は、ディープ ニューラル ネットワークのトレーニング後に計算でき、ネットワークの取引にコストを追加することなく不確実性を推定する方法を提供します。講演者はまた、このアプローチにより、実際のアプリケーションに役立つ可能性のあるポイント推定値を維持できることにも注目しています。ただし、ヘッシアンの計算コストが高いなどの欠点があり、扱いやすくするには近似が必要です。一般化されたガウス-ニュートン行列は、実際に使用できる近似の 1 つです。

  • 00:40:00 このセクションでは、Agustinus Kristiadi がディープ ラーニングの不確実性と、ガウス ニュートン ヘッシアン (GNG) を使用してニューラル ネットワークの曲率を推定する方法について説明します。彼は、GNG は正の半正定値であり、線形化と適切に関連しているため、ラプラス近似と組み合わせると扱いやすいモデルになる可能性があると説明しています。このモデルは回帰に使用でき、ニューラル ネットワークの出力によって与えられる平均関数を使用してガウス過程を生成します。

  • 00:45:00 このセクションでは、スピーカーは深層学習、特にニューラル ネットワークにおける不確実性について説明します。彼らは、コア分散関数は、ネットワークのヤコビアンで損失関数のモードを見つけ、ヘッセ行列の逆関数で内積をとることによって与えられることに注目しています。講演者は、このプロセスは、David Pinkai によって開発された単純な近似の形で分類に使用できると述べています。このプロセスには、損失関数の定義、損失関数のヘッシアンの計算、および重みに関するトレーニング済みネットワークのヤコビアンの計算が含まれます。最後に、この 2 つを積で結合すると、x スターの f の予測関数が得られます。この関数は、x ではまだ非線形ですが、重み空間では線形です。スピーカーは、このプロセスが、特に分類の場合に、過信を避けるのに役立つことを強調しています。

  • 00:50:00 このセクションでは、Agustinus Kristiadi がベイジアン形式と、それが深層学習でどのように役立つかについて説明します。ネットワークをその重みで線形化し、ラプラス近似を使用することにより、事後上の扱いにくい積分を事後と損失関数の簡略化された形式に減らすことができます。このプロセスにより、モデルがデータにどの程度適合しているかを測定できます。これは、モデルのパラメーターや側面を適応させるのに役立ちます。データの証拠を計算することにより、証拠が最も高いモデルを選択し、データに近いモデルを選択できます。

  • 00:55:00 このセクションでは、スピーカーはラプラス近似を使用してニューラル ネットワークのモデルとパラメーターを選択する方法について説明します。話者は、ヘッセ行列は損失関数の形状に依存し、レイヤーを追加すると損失関数がより狭くなり、適合性が向上する可能性があると説明しています。講演者は、2 ~ 4 層程度がおそらく最良の選択であることを示すプロットを示しています。講演者はまた、オッカム因子がガウス過程の場合ほど単純ではないことについても説明します。これは、ヘッセ行列がモデルがデータをどれだけうまく説明できるかに自明ではない影響を与えるためです。次にスピーカーは、分類問題の線形化ラプラス近似を使用したディープ ニューラル ネットワークの視覚化を示し、事前精度パラメーターを使用してモデルの信頼性に影響を与える方法を説明します。最後に、スピーカーは、LaPlace 近似を使用して、レイヤー数などの個別の選択肢や、勾配降下を使用した前の位置などのパラメーターを選択する方法について説明します。
     
  • 01:00:00 このセクションでは、講演者はディープ ラーニングの不確実性と、線形化されたラプラス近似を使用してその不確実性に対処する方法について説明します。この方法では、確率論的アプローチを使用して、ネットワークのレイヤー数を選択する際にレイヤーの以前の位置を決定します。ただし、このプロセスは前の位置を選択する場合にはうまく機能しますが、レイヤー数の選択など、他のタスクにはうまく機能しない場合があります。次にスピーカーは、線形化されたラプラス近似と、それをブラック ボックス ツールとして使用してディープ ニューラル ネットワークをガウス モデルに変換し、不確実性に対処する方法について説明します。最後に、スピーカーは、モデルの重みに不確実性がないという問題を解決する方法について説明します。これには、ネットワークに簡単な修正を追加することが含まれます。

  • 01:05:00 このセクションでは、Agustinus Kristiadi が、深層ニューラル ネットワークにおけるデータの無限の複雑さを考慮して、無制限の数の重みを追加する問題について説明します。彼は、無限の数の機能を追加することで問題に対処できると説明し、無限の数の機能を追跡することがコストのかかる作業である必要がないことを示しています。漸近的に、不確実性は C 上の最大エントロピー Thing 1 になり、モデルが複雑になることはありません。

  • 01:10:00 このセクションでは、スピーカーは、特にトレーニング データがほとんどない領域や敵対的な入力がある領域で、予測を改善するために深層学習に不確実性を追加する方法について説明します。このアプローチでは、ネットワークの平均をトレーニングしてから、ポイント予測を変更しないが不確実性を追加するユニットを追加します。これは、移動およびスケーリングできます。この手法は分布外トレーニングと呼ばれ、データの幅に基づく長さスケールを使用して近似ガウス過程を定義することで実現できます。不確実性を追加するコストはごくわずかであり、データがトレーニング データから離れている場合に信頼性を低下させるバックストップを追加するだけです。

  • 01:15:00 このセクションでは、講演者は深層学習モデルに不確実性を導入する方法について説明します。これを行う 1 つの方法は、元のトレーニング セットで使用されたオブジェクトを含まない画像を使用して新しいデータ セットを作成する、分散トレーニングを使用することです。次に、ネットワークは、それらの領域で不確実になるようにトレーニングされます。分布外損失を含む損失関数を定義することにより、損失のモードが見つかる損失関数の曲率推定のヘッセ行列を調整して、必要な量の不確実性を生成できます。講演者はまた、ディープ ラーニングでは不確実性を導入することが重要であると述べています。

  • 01:20:00 このセクションでは、基本的な構造を変更せずに分類子に不確実性を追加するという概念について説明します。重み空間でのネットワークの線形化により、これが可能になり、損失関数のヤコビ行列とヘッセ行列を計算することで、ディープ ニューラル ネットワークをガウス過程に変えることができます。漸近校正信頼度などの機能をネットワークに追加するには、この手法を使用できます。講演者は、完全な事後追跡を必要としない、機械学習における確率的トレーニングと確率測定の使用の重要性を強調しています。このアプローチは、理想的な事後分布を見つけるコストを回避しながら、過信などの問題を解決できます。最後に、講演者は、これらの手法の使用について、確率的機械学習に関する今後のコースでさらに検討することを提案しています。
Numerics of ML 13 -- Uncertainty in Deep Learning -- Agustinus Kristiadi
Numerics of ML 13 -- Uncertainty in Deep Learning -- Agustinus Kristiadi
  • 2023.02.06
  • www.youtube.com
The thirteenth lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class discusses ...
 

講義 14 -- まとめ -- Philipp Hennig



ML 14 の数値 -- まとめ -- Philipp Hennig

Philipp Hennig が「Numerics of Machine Learning」コースの概要を説明し、統合、最適化、微分方程式、線形代数などの数値解析に関連する機械学習で数学的な問題を解決することの重要性を強調しています。彼は、データセットに対して線形代数を実行することの複雑さと、それが処理装置とディスクにどのように関係するかについて説明しています。 Hennig は、自明でないサイズのデータ セットの処理、線形システムを解くためのアルゴリズム、偏微分方程式の解法、積分の推定などのトピックもカバーしています。彼は、深層ニューラル ネットワークのトレーニングの難しさと、確率問題を克服するためのソリューションの必要性を認めて締めくくりました。

Philipp Hennig 氏は、講義シリーズの最後で、単に機械学習モデルをトレーニングするだけでなく、モデルがどれだけ知っていて、何を知らないかを知ることの重要性を強調しています。彼は、損失関数の曲率を推定してディープ ニューラル ネットワークの不確実性推定を構築すること、および確率論的であることの重要性について話していますが、計算の複雑さのためにすべての場合にベイズの定理を適用する必要はありません。 Hennig はまた、機械学習における数値計算の重要性と、新しいデータ中心の計算方法を開発する必要性を強調しています。最後に、彼はコースに関するフィードバックを求め、今後の試験について話し合います。

  • 00:00:00 このセクションでは、Philipp Hennig が機械学習の数値コース全体の要約を提供します。これは、さまざまな講師による内容の違いから重要であると彼は考えています。彼は、機械学習は基本的に、アルゴリズムを含む従来の AI とは対照的に、閉じた形式のソリューションを持たない数学的問題を解決することを含むと説明しています。機械学習の問題は数値解析に関連しており、統合、最適化、微分方程式、線形代数が含まれます。 Hennig は、データ セットに対して線形代数を実行することの複雑さと、それが処理装置とディスクにどのように関連するかを理解することの重要性を強調しています。

  • 00:05:00 このセクションでは、Philipp Hennig が、機械学習、特にガウス過程回帰における線形代数の役割について説明します。彼は、平均と共分散を持つ予測分布を学習するには、行列とベクトルの反転を含む線形連立方程式を解く必要があると説明しています。このような線形システムを解くためのアルゴリズムは多数あります。コレスキー分解と呼ばれる古典的なアルゴリズムは、行列の逆行列を構築する反復手順と見なすことができます。 Hennig は、この近似は逆行列の推定値として使用できるが、その品質はデータの順序によって異なる可能性があることに注意しています。

  • 00:10:00 このセクションでは、Philipp Hennig が、ランダムな順序でデータ セットを処理し、残りを無視してディスクからビットをロードすることが線形的にコストがかかることを説明しています。彼はこの方法を、生徒が確率的機械学習の授業で学ぶ内容と比較しています。これは、2 つの異なる線形最適化問題を解いて 1 つの方程式を解くというものです。彼はまた、有限の不確実性が発生することを強調しています。これは、完全な解を与えない有限のデータセットと限られた計算を含む、不確実性の 2 つの原因を引き起こします。

  • 00:15:00 ビデオのこのセクションでは、Philipp Hennig が、ベイジアンの影響によるガウス過程回帰における線形問題の解決の複雑さについて説明しています。基本ケースの費用のレベルは、ほとんどの人が学んだことよりもはるかに微妙です。ここから得られる 4 つの主なポイントは、データ セット全体を見ないことを選択できるということです。コレスキーのようなアルゴリズムを使用して、データ セットで線形に、反復回数で二次的にコストを推定できます。高速に収束しますが、反復ごとに 2 次のコストがかかる、より効率的なアルゴリズムを使用するか、Cholesky を選択して、データ ポイントの数で 3 乗のコストを発生させることができます。

  • 00:20:00 このセクションでは、ヘニングは、自明ではないサイズのデータセットを適切に処理することの重要性と、それらを効率的に操作する方法の決定について説明します。彼はまた、特に時間とともに進化するシステムに関して、無限次元のデータ セットを処理する方法、およびカルマン フィルター処理および平滑化として知られる線形時間依存および時不変問題に使用されるアルゴリズムについても説明します。 Hennig は、このタイプのアルゴリズムは簡単に書き留めることができ、時間ステップの数が直線的に高くつくことを強調しています。彼はまた、より高いレベルのアルゴリズムでパフォーマンスを高速化するために使用できるため、計算階層の低レベルを理解することの重要性を強調しています。

  • 00:25:00 ビデオのこのセクションでは、Philipp Hennig がスムーサー アルゴリズムについて説明しています。これは、チェーン内の以前のすべての変数に、将来行われた観察について通知するブックキーピング アルゴリズムとして機能します。彼はまた、観測が状態空間の線形ガウス変換ではない設定や、拡張カルマン フィルターのダイナミクスに対して、いかに高速なアルゴリズムを適用できるかについても語っています。 Hennig は、このフレームワークのアルゴリズムのランドスケープと構造にも触れています。このフレームワークは非常に柔軟で、微分方程式を解くための強力なアルゴリズムを構築するために使用できます。

  • 00:30:00 このセクションでは、Philipp Hennig が、機械学習における常微分方程式と同じアルゴリズム言語に代数陰方程式、連続群対称性、および偏微分方程式をすべて含める方法について説明します。彼はまた、状態空間の一部の未知の値を決定する際に、システムがたどった経路を測定したり、開始位置と終了位置を知るなど、システムの観測を組み込むことの価値についても言及しています。 Hennig 氏は、シミュレーション パッケージが多様化するにつれて、シミュレーション手法は本質的にフィルターと見なすことができるため、シミュレーション手法に関する広範な知識を必要としなくなると述べています。

  • 00:35:00 ビデオのこのセクションでは、Philipp Hennig が、機械学習の方法が情報を管理する方法について説明し、ディスクからの情報と、コンピューターに接続されたセンサーからの情報の違いは実際にはないと述べています。そして、それを代数方程式として書き留めたプログラマーからの情報。彼はまた、情報オペレーターがユーザーとアルゴリズム設計者の間のインターフェースとして機能することにも言及しています。彼はまた、偏微分方程式を解く方法についても説明しています。これは、ガウス過程回帰を使用して、シミュレーション方法をフィルタリングすることと本質的に同じことです。ただし、偏微分方程式が線形でない場合は、フィルターを使用して解くことができないことに注意してください。

  • 00:40:00 このセクションでは、Philipp Hennig が「Numerics of ML」シリーズのまとめをまとめており、機械学習における微分方程式と統合について説明しています。彼は最初に、関数空間の性質のために複雑になる可能性がある、関数を使用したガウス過程推論について話します。ただし、非線形関数を観察し、偏微分方程式や境界値などのさまざまな情報源を適用することにより、それらを大規模なガウス過程推論スキームに結合して、動的システムの定量化された表現を得ることができます。その後 Hennig は、確率論的推論の統合に進みます。そこで彼はモンテカルロ アルゴリズムを紹介します。モンテカルロ アルゴリズムは、ゆっくりと収束する偏りのない推定量ですが、可積分関数に対して機能します。

  • 00:45:00 このセクションでは、Philipp Hennig が、機械学習の積分を推定するための最良のアプローチについて説明します。彼は、積分の推定値が積分の真の値に収束する速度は、使用されるアルゴリズムに依存するサンプル数の平方根に対して 1 であると示唆しています。ただし、被積分関数のモデル化に多くの時間を費やすアルゴリズムであるベイジアン求積法は、特に低次元の問題で非常に優れたパフォーマンスを発揮し、モンテカルロよりもはるかに高速に、多項式的にも高速に収束できます。 Hennig は、問題の小さなクラスでのみうまく機能するアルゴリズムを構築すると、その問題の各インスタンスでうまく機能する可能性がありますが、そのクラスの外ではひどく壊れる可能性があると示唆しています。最終的に、最適なアルゴリズムは、解決する問題の性質によって異なります。

  • 00:50:00 このセクションでは、Philipp Hennig が現代の機械学習数値問題の課題、特にディープ ニューラル ネットワークのトレーニングの問題について説明します。利用可能なオプティマイザは多数ありますが、それらは根本的にいら立たしく非効率的であり、常にベビーシッターとハイパーパラメータの調整が必要であり、常に機能するとは限りません。以前の最適化は、ボタンを押してアルゴリズムが完全に機能するのを監視することでしたが、現在の機械学習では、大規模な言語モデルを管理するために 100 人を超えるチームが必要となり、リソースの使用効率が低下しています。主な問題は確率論であり、機械学習コミュニティ全体を動かしているにも関わらず、この問題に対する既知の洗練された解決策はまだありません。

  • 00:55:00 このセクションでは、Philipp Hennig がディープ ニューラル ネットワークのトレーニングの難しさを強調して、計算の不確実性に関する講義を締めくくります。ミニバッチ勾配は有限のデータと計算のために評価されますが、このプロセスによって導入される重大なノイズにより、実際には最適化アルゴリズムのパフォーマンスが低下します。 Hennig は、この問題を解決することで、ディープ ニューラル ネットワークのトレーニングを大幅に高速化し、機械学習の未来を変えることができると述べています。それまでの間、曲率推定などの利用可能なリソースを使用して、新しいアルゴリズムや手法を構築することができます。

  • 01:00:00 このセクションでは、Philipp Hennig が、機械学習でデュアル ネットワークをトレーニングするだけでなく、モデルがどれだけ知っているか、何を知らないかを知ることの重要性について説明します。 Hennig は、損失関数の曲率を推定すると、ラプラス近似を使用して、ディープ ニューラル ネットワークの不確実性の推定を軽量な方法で構築するのに役立つと説明しています。これはさまざまなユースケースに使用でき、ネットワークの重み空間の線形化と組み合わせて、深層ニューラル ネットワークをほぼガウス プロセス パラメトリック ガウス回帰アルゴリズムに変換できます。 Hennig は、確率論的であることは重要ですが、ベイズの定理をすべての場合に適用する必要はないことを強調しています。代わりに、計算コストが高くなりすぎずに価値を付加できる高速なソリューションを見つけることが、より優れたアプローチです。

  • 01:05:00 このセクションでは、Philipp Hennig が機械学習における数値計算の重要性を強調しています。彼は、数値計算はデータ ソースと対話するアクティブなエージェントであり、受け取ったデータの使用方法をアクティブに決定する必要があると説明しています。この関係を真剣に受け止めることで、より柔軟で使いやすく、さまざまな設定に一般化するのが容易な、新しいデータ中心の計算方法を開発できます。 Hennig はまた、より優れた機械学習エンジニアになるために数値アルゴリズムがどのように機能するかを理解することの重要性を強調しています。最後に、彼はコースに関するフィードバックを求め、今後の試験について話し合います。
Numerics of ML 14 -- Conclusion -- Philipp Hennig
Numerics of ML 14 -- Conclusion -- Philipp Hennig
  • 2023.02.13
  • www.youtube.com
The fourteenth and final lecture of the Master class on Numerics of Machine Learning at the University of Tübingen in the Winter Term of 2022/23. This class ...
 

7 分でベクター マシン (SVM) をサポート - 楽しい機械学習



7 分でベクター マシン (SVM) をサポート - 楽しい機械学習

このビデオでは、サポート ベクター マシン (SVM) について説明しています。これは、データ セットの極値に基づいて決定境界 (超平面) を描画する 2 つのクラスを持つデータ セットに使用される分類アルゴリズムです。また、カーネル トリックを使用してデータ セットをより高次元の特徴空間に変換することにより、非線形に分離可能なデータ セットに SVM を使用する方法についても説明します。このビデオでは、高次元空間での有効性、メモリ効率、カスタム関数に異なるカーネルを使用する機能など、SVM の利点を示しています。ただし、ビデオでは、機能の数がサンプルの数よりも多い場合のパフォーマンスの低下や、コストのかかる相互検証が必要な直接的な確率推定の欠如など、アルゴリズムの欠点も明らかにしています。

  • 00:00:00 このセクションでは、サポート ベクター マシン (SVM) と、それらを使用してデータ セットを 2 つのクラスに分類する方法について学習します。 SVM アルゴリズムは、データ セットの極値を調べ、データ セット内の極値ポイントの近くに決定境界または超平面を描画します。基本的に、サポート ベクター マシン アルゴリズムは、2 つのクラスを最適に分離する最前線です。次に、非線形に分離可能なデータ セットと、カーネル トリックを使用して SVM がそれらをより高次元の特徴空間に変換する方法について学びます。一般的なカーネル タイプには、多項式カーネル、放射基底関数 (RBF) カーネル、シグモイド カーネルなどがあります。ただし、正しいカーネルを選択することは簡単な作業ではなく、目前の特定のタスクに依存する場合があります。

  • 00:05:00 このセクションでは、サポート ベクター マシン (SVM) の長所と短所について説明します。 SVM は高次元空間で効果的であり、決定関数でトレーニング ポイントのサブセットを使用するため、メモリ効率が向上します。カスタム カーネルを含むさまざまなカーネルを決定関数に指定でき、SVM は医療画像処理、金融業界、パターン認識などのさまざまなアプリケーションで使用できます。ただし、SVM の欠点には、特徴の数がサンプルの数よりも多い場合のパフォーマンスの低下と、コストのかかる相互検証が必要な直接的な確率推定の欠如が含まれます。
Support Vector Machine (SVM) in 7 minutes - Fun Machine Learning
Support Vector Machine (SVM) in 7 minutes - Fun Machine Learning
  • 2017.08.15
  • www.youtube.com
Want to learn what make Support Vector Machine (SVM) so powerful. Click here to watch the full tutorial.⭐6-in-1 AI MEGA Course - https://augmentedstartups.in...
 

「ディープラーニング革命」 - Geoffrey Hinton - RSE President's Lecture 2019



「ディープラーニング革命」 - Geoffrey Hinton - RSE President's Lecture 2019

「ディープ ラーニングのゴッドファーザー」として知られるジェフリー ヒントンが、ディープ ラーニングとニューラル ネットワークの歴史と進化、ディープ ラーニングを使用して人間の脳と同じように学習できる機械を作成することの課題と刺激的な可能性について説明します。バックプロパゲーションをより効果的にするトリックとテクニック。また、音声認識とコンピューター ビジョンにおけるニューラル ネットワークの成功、コンピューター ビジョンと教師なし事前トレーニングのためのニューラル ネットワークの進化、言語モデリングと機械翻訳におけるその有効性についても説明しています。最後に、類推による推論の価値を強調し、「カプセル」の理論と、全体から部分を予測するモデルへの知識の配線について説明します。

深層学習のパイオニアである Geoffrey Hinton は、連想記憶、高速記憶、および複数のタイムスケールをニューラル ネットワークに統合して、真の推論に必要な長期的な知識と一時的な記憶域を可能にすることを提唱する講演を行います。さらに、彼は以前の信念とデータの間のバランスをとる行為、教師なし学習の可能性、視点の知識と並進的等価性を組み込んだ物体認識における畳み込みネットの効率、および象徴的推論をトランスフォーマーのようなコネクショニスト ネットワークと組み合わせる必要性について議論します。ネットワーク。彼はまた、機械学習における無意識のバイアスの問題にも取り組んでおり、バイアスを特定して修正することで、人間のバイアスよりも簡単に修正できると考えています。最後に、彼は AI 分野の若い研究者への資金提供とサポートを増やす必要性を強調しています。

  • 00:00:00 深層学習に精通しているなら、「深層学習のゴッドファーザー」として知られる Geoffrey Hinton 教授のおかげです.機械学習への貢献。講演の最初の部分では、深層学習とニューラル ネットワークの歴史と、それらが何年にもわたってどのように進化してきたかについて説明します。彼はまた、深層学習を使用して人間の脳と同じように学習できる機械を作成することの課題と刺激的な可能性についても語っています。

  • 00:05:00 このセクションでは、ジェフリー ヒントンが、1950 年代初頭から存在した人工知能の 2 つのパラダイムについて話します。 1つは、知性を記号規則を使用して記号式を操作するものと見なす、論理に着想を得たアプローチでした。一方、もう 1 つのアプローチは、知能の本質はニューラル ネットワークの接続の強さを学習することだと信じていました。このアプローチは、推論に重点を置いた他のアプローチと比較して、学習と知覚に重点を置いていました。これらのさまざまなアプローチにより、内部表現のさまざまな見方が生まれ、それに対応してコンピューターに必要なことをさせる方法が生まれました。ヒントンは、インテリジェントな設計方法を、コンピューターに多くの例を示すことを含むトレーニングまたは学習戦略と比較します。

  • 00:10:00 ビデオのこのセクションでは、Geoffrey Hinton がディープ ラーニング革命がどのように発生したかを説明しています。ディープ ラーニング革命は、多くのレイヤーを介して複雑な機能を学習するようにニューロン ネットワークをトレーニングすることから始まりました。線形および非線形関数をモデル化する、理想化されたニューロンが使用されます。一方、トレーニング ネットワークには、教師ありトレーニングと教師なしトレーニングを含むさまざまな方法があり、バックプロパゲーションは後者の最も効率的なアルゴリズムです。最後に、深層学習がネットワークを摂動して効果を測定し、必要に応じてネットワークを変更する方法を指摘しています。これは、未知の変数に直面して摂動する進化的アプローチよりもはるかに効率的です。

  • 00:15:00 講義のこのセクションでは、ヒントン博士がバックプロパゲーションの最適化手法について説明します。バックプロパゲーションは、トレーニング例の小さなバッチの実際の答えと正解の間の不一致に基づいて重みの勾配を計算します。彼は、勾配に基づいて重みを更新するプロセスと、確率的勾配降下法を使用してプロセスを最適化する方法について説明しています。ヒントン博士はその後、バックプロパゲーションをより効果的にするトリックとテクニックについて議論します。これには、モメンタムの使用と、より大きな勾配に対するより小さな学習率が含まれます。最終的に、これらのトリックを使用することは、何百もの出版されたジャーナル論文にもかかわらず、何よりも優れていると結論付けています。より洗練された方法について。最後に、彼は 1990 年代に、ニューラル ネットワークと小規模なデータセットの適切な初期化手法が欠如していたため、機械学習コミュニティでニューラル ネットワークが一時的に見捨てられた、と述べています。

  • 00:20:00 このセクションでは、ディープ ラーニングの第一人者であるジェフリー ヒントンが、ディープ ラーニング研究の歴史と、この分野の研究者が直面している課題について説明します。彼は、バックプロパゲーションの初期の頃、多くの論文が教師なし学習に焦点を当てていたため、却下されたり批判されたりしたことを説明しています。しかし、Hinton は、ドロップアウトなどの手法と組み合わせた教師なし学習が、ディープ ネットワークのバック プロパゲーションを機能させる重要な要素であり、それ以来、ディープ ラーニングの分野に革命をもたらしてきたと主張しています。

  • 00:25:00 このセクションでは、Hinton が音声認識とコンピューター ビジョンにおけるニューラル ネットワークの成功について説明します。ディープ ラーニングの最初の大きなアプリケーションは、音声認識でした。フロント エンドは、スペクトログラムの中間フレームを取得し、人が表現しようとしている音素を識別することによって音響モデリングを行います。大規模な深層学習の最初の商用関連アプリケーションは音声認識で、フロントエンドのニューラル ネットワークは、IBM や他の場所からの高度に調整された技術よりも優れていました。もう 1 つの重要なイベントは、2012 年の ImageNet コンペティションで、ディープ ニューラル ネットワークが従来のコンピューター ビジョン技術よりも大幅に低いエラー率を達成しました。

  • 00:30:00 このセクションでは、Geoffrey Hinton 教授が、コンピューター ビジョン、機械翻訳、および教師なし事前トレーニングのためのニューラル ネットワークの進化について説明し、コンピューター ビジョン コミュニティが当初、これらのニューラル ネットワークの成功にどのように懐疑的であったかについて説明します。彼はさらに、ソフトアテンションとトランスフォーマーについて議論し、後者が共分散にどのように適しているか、目が互いに同じであるなどのことに対してより敏感であること、および教師なしの事前トレーニングがニューラルネットワークに情報をキャプチャさせる方法について説明します単語の周りの単語が、その単語が何を意味しなければならないかについて何を教えてくれるか。

  • 00:35:00 このセクションでは、コンテキストに基づいて単語の意味を明確にするなどの自然言語処理タスクに、畳み込みニューラル ネットワークとトランスフォーマーを使用することの違いをヒントンが説明します。畳み込みニューラル ネットワークは、ターゲット単語の周囲の単語を使用してその表現を変更しますが、トランスフォーマーは、単語ベクトルをクエリ、キー、および値に変換する方法を学習するために、バック バレー導関数によってネットワークをトレーニングします。対応する表現をアクティブにします。トランスフォーマーは、言語モデリングと機械翻訳で非常に効果的であることが証明されており、教師なし学習を使用して次の単語フラグメントの確率を通じて単語の埋め込みを学習する Burt などの方法の開発に使用されています。

  • 00:40:00 講義のこのセクションでは、ヒントンは「GPT-2」と呼ばれる、人間が書いたように見えるテキストを生成できる実験について説明します。 15 億個のパラメーターを含む GPT-2 モデルは、数十億語のテキストでトレーニングされ、一貫性のあるわかりやすいストーリーを生成できます。ヒントンは、この種の推論は適切な論理に基づく推論ではなく、直感的な推論であると推測しています。彼はまた、モデルが実際にどの程度理解しているかを知るのは難しいと指摘し、モデルが単に大量の関連付けを行っているだけなのか、それともそれ以上のことを理解しているのかを疑問視しています。

  • 00:45:00 このセクションでは、ジェフリー ヒントンが類推による推論の価値と、推論能力の向上におけるその役割を強調しています。彼は、AlphaGo というゲームのコンテキストで、逐次推論と直感による推論を比較し、十分な情報に基づいた決定を下すには直感と論理的推論の両方が必要であると説明しています。ヒントンはまた、畳み込みニューラル ネットワークによって効率が向上したものの、人間と同じようにオブジェクトを認識できないことについても説明しています。人間は座標フレームを使用し、オブジェクトの部分と全体の関係を理解して認識しているという結論に至ります。これは、オブジェクトの認識方法を改善するために、ニューラル ネットワーク アーキテクチャへの洞察の必要性を強調しています。

  • 00:50:00 このセクションでは、ヒントンはタスクを使用して、座標フレームに対する空間理解の依存性を説明します。彼はワイヤーフレームの立方体を提示し、視聴者に座標フレームを使用せずにコーナーがどこにあるかを示すように求めます。これは、人々が座標系に関連して立方体を考える傾向があることを明らかにしています。ヒントンは次に、形状の断片を表現することを学習するニューロンをグループ化し、固有のジオメトリをキャプチャするために各断片に座標フレームを課す「カプセル」の理論について説明します。彼は、これらのカプセルを教師なしでトレーニングして、形状の知識を取得することを計画しています。

  • 00:55:00 このセクションでは、ヒントンが、全体から部分を予測するモデルに知識を関連付けることについて説明します。モデルは、既に抽出された部分を見て、これらの部分を取り、それらの部分を説明する全体を予測しようとする変換器によってトレーニングされます。トランスフォーマーは、物事間の相関関係を見つけるのが得意で、そこにある可能性のあるオブジェクトとそのポーズを予測できます。ヒントンは、モデルが正方形と三角形について教えられ、後で新しい画像でそれらを認識できる例を挙げています。モデルは、ラベルを表示せずに番地を認識するようにトレーニングすることもできます。

  • 01:00:00 このセクションでは、教師なし学習の可能性と、現在使用されているスカラー非線形よりもうまく機能するさまざまなタイプのニューロンについて学びます。講演者は学生に、聞いたことすべてを信じないように促し、特定の処理を行うための適切な基板を入手する方法を理解するために、50 年にわたって得られた知識を方向転換することを奨励しています。 Q&A の部分では、トランスフォーマーのメモリのインテリジェンスと一貫性を最速のシステムのみに依存する可能性について説明します。

  • 01:05:00 このセクションでは、ヒントンが機械学習における無意識の偏見についての質問に答え、それを人間の偏見と比較します。彼は、機械学習にはバイアスがかかる可能性がありますが、人間のバイアスよりも修正がはるかに簡単であると考えています。機械学習のバイアスは、重みを凍結し、バイアスが誰に反対しているかを測定することで特定および修正できるためです。さらに、彼は機械学習における説明可能性について語り、これらの大きなニューラル ネットワークは簡潔に説明できない何十億もの重みを学習しているため、システムを使用する前に説明可能でなければならないという法制化に反対しています。しかし、彼は、研究者がこれらのシステムをよりよく理解したいと考えていることを認めており、年配の研究者が若い研究者に資金を提供することを奨励しています。

  • 01:10:00 このセクションでは、Geoffrey Hinton が、並進等価性とより多くの視点の知識を畳み込みネットに結び付けると、オブジェクトの認識と一般化がより効率的になる可能性があるという考えについて説明します。さらに、シンボリックな推論をトランスフォーマー ネットワークなどのコネクショニスト ネットワークと組み合わせる必要性についても語っています。 Hinton は、連想記憶、fastweight 記憶を実装し、各シナプスに複数のタイムスケールを持たせることで、実際の推論に必要な長期的な知識と一時的な記憶域を確保できると考えています。

  • 01:15:00 このセクションでは、スピーカーは過去または現在の経験に基づいてニューラル ネットワークがどのように更新されるかについての質問に答えます。彼は、時間をかけて逆伝播するのではなく、現在の状態によって活性化される連想記憶を使用することを提案しています。彼は、すべてのシナプスが一時的なものを保存するために複数の時間スケールを持つべきであることを明確にしています。その後、議論は、以前の信念を持つシステムにおける幻覚のトピックに移ります。スピーカーは、以前の信念とデータの間で適切なバランスを取ることが、そのようなシステムの鍵であると信じています.最後に、彼はバックプロパゲーションに対する彼の両価性について議論し、それは正しいことですが、人間の脳にはもっと多くのものが含まれているにもかかわらず、10 億の重みだけが非常に優れた変換を行うことができることに驚いていると述べています。
     
  • 01:20:00 ビデオのこのセクションでは、スピーカーは、現在の AI テクノロジが私たちが考えているほどインテリジェントではない可能性があり、この問題の解決に焦点を当てる必要があることについて説明しています。彼らはまた、ヨーロッパの資金によって資金提供されたヒューマン ブレイン プロジェクトにも触れており、それが AI の開発に役立つのか、それとも妨げになるのかについても疑問を呈しています。講演者はまた、複雑な概念を専門家ではない人にも理解しやすい方法で説明できること、AI 分野の若い研究者への資金提供とサポートを促進することについて講師を称賛しています。
'The Deep Learning Revolution' - Geoffrey Hinton - RSE President's Lecture 2019
'The Deep Learning Revolution' - Geoffrey Hinton - RSE President's Lecture 2019
  • 2019.07.26
  • www.youtube.com
"There have been two very different paradigms for Artificial Intelligence: the logic-inspired paradigm focused on reasoning and language, and assumed that th...
 

ChatGPTの実際の仕組み



ChatGPTの実際の仕組み

ChatGPT は、チャットの会話で有害なコンテンツを正しく識別できる機械学習モデルです。そのアーキテクチャは人間の入力に基づいており、その欠点が概説されています。おすすめの読み物も紹介。

  • 00:00:00 ChatGPT は、モデルのずれの問題を軽減するように設計されたチャットボットです。人間のフィードバックからの強化学習を使用して、事前トレーニング済みのモデルを微調整します。

  • 00:05:00 ChatGPT は、チャットの会話で有害なコンテンツを正しく識別できる機械学習モデルです。そのアーキテクチャは人間の入力に基づいており、その欠点が概説されています。おすすめの読み物も紹介。
How ChatGPT actually works
How ChatGPT actually works
  • 2023.01.23
  • www.youtube.com
Since its release, the public has been playing with ChatGPT and seeing what it can do, but how does ChatGPT actually work? While the details of its inner wor...
 

Machine Learning From Scratch フルコース



Machine Learning From Scratch フルコース

機械学習モデルを自分で実装することは、それらを習得するための最良の方法の 1 つです。困難な作業のように見えますが、多くのアルゴリズムでは想像以上に簡単です。今後 10 日間、特定の計算に Python を使用し、場合によっては Numpy を使用して、毎日 1 つの機械学習アルゴリズムを実装します。

コードは GitHub リポジトリにあります: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch

Machine Learning From Scratch Full course
Machine Learning From Scratch Full course
  • 2022.09.12
  • www.youtube.com
To master machine learning models, one of the best things you can do is to implement them yourself. Although it might seem like a difficult task, for most al...
 

Python で KNN をゼロから実装する方法

コード: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/01%20KNN



Python で KNN をゼロから実装する方法

「Python で KNN をゼロから実装する方法」というタイトルのビデオでは、スピーカーは Python を使用して KNN 分類器をゼロから作成する方法を説明しています。新しいデータ ポイントとデータセット内の他のポイントとの間の距離の計算、最も近い k 個のポイントの選択、分類のラベルまたは回帰の平均の決定など、アルゴリズムの実装に関連する手順について説明します。スピーカーは、Python のクラスを使用してアルゴリズムを実装し、96% の精度で虹彩データセットに実装が成功したことを示しています。また、Github リポジトリでコードをチェックアウトし、コメント セクションで質問するよう視聴者に呼びかけています。

  • 00:00:00 このセクションでは、k Nearest Neighbors (k-NN) アルゴリズム、その仕組み、および Python でアルゴリズムを実装するために必要な手順について学びます。 k-NN は距離ベースのアルゴリズムで、新しいデータ ポイントまでの距離に基づいて、最も近い k 個のデータ ポイントが選択されます。この k の値はユーザーが決定し、回帰問題と分類問題の両方に使用できます。アルゴリズムは、新しいデータ ポイントとデータセット内の他のデータ ポイントとの間の距離を計算することから始めます。次に、k 個の最も近いポイントが選択され、それらの値の平均が回帰のために取得されるか、または多数決のラベルが分類のために決定されます。また、適合および予測関数を備えた Python のクラスを使用してアルゴリズムを実装する方法と、2 点間の距離を計算するヘルパー関数も示します。

  • 00:05:00 このセクションでは、講演者は Python を使用してゼロから KNN 分類器を作成する方法を説明します。距離配列を並べ替える円弧並べ替え方法から始めて、k 個の最近傍を選択し、最も一般的なクラス ラベルを取得して、最も一般的なラベルを返します。次に、この分類子をアヤメのデータセットに実装して花の種類を分類し、96% の精度を達成して、KNN の実装が成功したことを示しています。講演者は、Github リポジトリで利用可能なコードを確認し、コメント セクションで質問するように視聴者を招待します。
Machine-Learning-From-Scratch/01 KNN at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/01 KNN at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/01 KNN at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Python でゼロから線形回帰を実装する方法

コード: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/02%20Linear%20Regression



Python でゼロから線形回帰を実装する方法

このビデオでは、Python を使用してゼロから線形回帰を実装するプロセスについて説明します。講演者は、平均二乗誤差を使用して最適な直線を見つける方法と、勾配降下法を使用して重みとバイアスを計算する方法を説明します。スピーカーは、学習率が収束にどのように影響するかについても説明し、scikit-learn のデータ セット機能を使用してモデルをテストする方法を示します。また、コードのタイプミスを修正し、学習率を調整して予測ラインの適合性を改善します。コードは GitHub で共有されており、視聴者は質問をするよう招待されています。

  • 00:00:00 このセクションでは、線形回帰に焦点を当てます。これには、特定のデータセットのパターンを理解し、データにできるだけ適合する線形線を引くことが含まれます。平均二乗誤差は、すべてのデータ ポイントの線の誤差を計算するために使用され、勾配降下法を使用して最小平均二乗誤差を与えるモデルまたは重みとバイアスのパラメーターの値を計算することによって、最適な線が見つかります。学習率は、勾配降下法が指示する方向に進む速度を制御するために使用されます。学習率が低いと最小誤差へのアプローチが遅くなり、学習率が高いと空域を飛び回る可能性があります。最小値を見つけることができませんでした。トレーニング中、重みとバイアスはゼロとして初期化され、方程式には予測または推定するデータ ポイントが与えられます。
    結果、および方程式の誤差が計算されるため、すべてのデータ ポイントで行列乗算を使用して勾配を計算することが容易になります。テスト中、トレーニング済みモデルは方程式を使用して結果を予測します。

  • 00:05:00 このセクションでは、スピーカーは Python を使用してゼロから線形回帰を実装しています。スピーカーは学習率を初期化し、反復回数の既定値を設定し、重みとバイアスをゼロとして定義します。次に、スピーカーは、x と重みのドット積をとり、バイアスを加えることによって、結果を予測します。導関数を計算するために、話者は単純な方程式を使用し、勾配を計算して重みとバイアスを更新します。最後に、話者は予測値と実際の値の差を合計し、このプロセスが収束するまで何度も繰り返されます。

  • 00:10:00 このセクションでは、スピーカーは、線形回帰モデルをトレーニングし、特定のクラスを使用して予測を行う方法について説明します。重みとバイアスの更新は、学習率に重みとバイアスの導関数を掛けた値をそれぞれ減算することによって行われます。アルゴリズムの実行を複数回繰り返すために、for ループを追加して、データセットに対してアルゴリズムを実行します。最後に、講演者は、scikit-learn のデータ セット機能を使用して線形回帰アルゴリズムの効率をテストする方法を示します。これには、良好なパフォーマンスをもたらす直線を当てはめ、予測の平均二乗誤差を計算します。 x の転置を取得することによって修正される間違った内積計算による次元エラーが発生します。

  • 00:15:00 このセクションでは、プレゼンターがコードのタイプミスを修正し、それを使用して、特定のデータセットの x 値に基づいて y 値を予測する線形回帰モデルを作成します。次に、予測線を視覚化し、それがうまく適合している一方で、改善の余地があることに気付きます。プレゼンターは、学習率を調整することを決定し、モデルを再実行してより適切に適合させます。彼らは GitHub でコードを共有し、必要に応じて視聴者に質問してもらいます。
Machine-Learning-From-Scratch/02 Linear Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/02 Linear Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/02 Linear Regression at main · AssemblyAI-Examples/Machine-Learning-From-Scratch