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

 

レッスン 3: コーダー 2022 のための実践的な深層学習



レッスン 3: コーダー 2022 のための実践的な深層学習

このビデオでは、コーダー向けの実践的なディープ ラーニングを紹介します。行列の乗算と勾配の基本について説明し、深層学習モデルを使用して犬と猫の品種の確率を予測する方法を示します。このビデオでは、コーダー向けに深層学習を簡単に紹介し、行列の乗算を直感的に理解するのに時間がかかることについて説明しています。次のレッスンでは、テキスト データを取得し、その散文に基づいて予測を行う自然言語処理に焦点を当てます。

  • 00:00:00 このレッスンでは、行列の乗算と勾配について説明します。数学に関心のある学生を対象としています。このコースには、Linux ボックスをゼロからセットアップするための「レッスン ゼロ」も含まれています。

  • 00:05:00 今週のビデオでは、深層学習に関連するさまざまなプロジェクトを作成した 5 人の学生が登場します。ある生徒はマーベル検出器を作成し、別の生徒はコンピューターが常に負けるゲームを作成し、別の生徒は平均気温を予測するアプリケーションを作成し、別の生徒は芸術運動分類器を作成し、最後にある生徒は編集検出器を作成しました。

  • 00:10:00 このビデオでは、さまざまなプラットフォームやディープ ラーニング ライブラリの使用など、コーダー向けの実践的なディープ ラーニングについて説明しています。モデルをトレーニングして本番環境にデプロイする方法について説明します。

  • 00:15:00 このレッスンでは、ディープ ラーニングの仕組みと、さまざまなディープ ラーニング モデルの使用方法について説明します。彼はまた、深層学習モデルを使用して犬と猫の品種の確率を予測する方法も示しています。

  • 00:20:00 このビデオでは、深層学習モデルのデモが行われています。モデルはレイヤーで構成され、各レイヤーにはコードとパラメーターが含まれています。モデルは柔軟で、データのパターンを認識するようにトレーニングできます。

  • 00:25:00 このレッスンでは、関数の部分適用を使用して、データセットに適合する関数を作成する方法をインストラクターが示します。次に、関数をプロットする方法と、関数の係数を調整してデータに適合させる方法を示します。

  • 00:30:00 このビデオでは、損失関数を使用して値を予測するコンピューターの能力を向上させる方法を説明しています。著者は、グラフィカルなスライダーベースのモデルでスライダーを動かし、損失関数をチェックして、それが良くなったか悪くなったかを確認することで、これを行う方法を示しています。 Pytorch は勾配を自動的に計算できるため、プロセスが迅速かつ簡単になります。

  • 00:35:00 このビデオでは、Pytorch プログラマーが勾配関数を使用して二次方程式の係数を調整する方法を説明しています。勾配関数は、適用される曲線の勾配の負の値を返します。

  • 00:40:00 このビデオでは、Pytorch を使用して深層学習モデルを作成する方法を説明しています。モデルは勾配降下法を使用して最適化され、最終的な係数は数学関数 rectified_linear() によって決定されます。

  • 00:45:00 このビデオでは、ジェレミーが勾配降下法を使用して深層学習モデルのパラメーターを最適化する方法を説明しています。これは、実際にモデルをトレーニングするために使用される手法と同じです。

  • 00:50:00 この YouTube ビデオでは、コーダー向けの実践的な深層学習と、精度と速度のためにモデルをトレーニングする方法について説明しています。よく調整された正確なモデルから始め、徐々にデータを追加して精度が向上するかどうかを確認することをお勧めします。

  • 00:55:00 このビデオでは、著者は導関数を使用して関数の勾配を計算する方法について説明しています。著者は、勾配に沿ってジャンプしすぎて発散するのを防ぐために、学習率と呼ばれる小さな数値を勾配に掛けることを推奨しています。

  • 01:00:00 このレッスンでは、実際のデータに対してディープ ラーニングの計算を実行するために、インストラクターが行列の乗算を行う方法を示します。彼は、これを行う簡単な方法を提供する Web サイトを提供しています。

  • 01:05:00 講演者は、深層学習を使用して本物のタイタニック号の乗客が生き残ったかどうかを予測する方法を説明します。最初に予測に関係のない列を削除し、次に各行に従属変数に対応する係数を掛けます。次に、「彼らはサウサンプトンに乗り出しましたか?」というコラムを作成します。 「彼らはシェルブールに乗り出しましたか?」という別のコラム。これらをバイナリカテゴリ変数に変換します。最後に、すべての係数の平均を取り、それを使用して従属変数を予測します。

  • 01:10:00 このレッスンでは、線形回帰を使用してディープ ラーニングをコーディングの問題に適用する方法について説明します。まず、データがより均等に分散されるように、データが正規化され、対数変換されます。次に、係数は Excel の SumProduct 関数を使用して計算されます。最後に、勾配降下法を使用して損失関数を最適化します。

  • 01:15:00 このビデオでは、ディープ ラーニング モデルが Microsoft Excel を使用してゼロから作成されます。このモデルは、生存率を予測する際に回帰よりも優れたパフォーマンスを発揮しますが、実行が遅く、実行に時間がかかります。行列乗算は、プロセスを高速化するために使用されます。

  • 01:20:00 このビデオでは、コーダー向けに深層学習を簡単に紹介します。行列の乗算を直感的に理解するのに時間がかかることについての説明も含まれています。次のレッスンでは、テキスト データを取得し、その散文に基づいて予測を行う自然言語処理に焦点を当てます。

  • 01:25:00 このビデオでは、英語以外の言語でディープ ラーニングを使用して分類する方法について、順を追って説明しています。

  • 01:30:00 このビデオでは、プレゼンターが深層学習における検証セットとメトリックの重要性について説明しています。
Lesson 3: Practical Deep Learning for Coders 2022
Lesson 3: Practical Deep Learning for Coders 2022
  • 2022.07.21
  • www.youtube.com
00:00 Introduction and survey01:36 "Lesson 0" How to fast.ai02:25 How to do a fastai lesson04:28 How to not self-study05:28 Highest voted student work07:56 P...
 

レッスン 4: コーダー 2022 のための実践的な深層学習



レッスン 4: コーダー 2022 のための実践的な深層学習

このビデオでは、Coders 2022 コンペティションのディープ ラーニング モデルを構築する方法について説明します。著者は、検証セットを作成する方法、競合データを使用してモデルのパフォーマンスをテストする方法、および実際の設定で過剰適合を回避する方法について説明します。このビデオでは、ピアソン相関係数を使用して 2 つの変数間の関係を測定する方法と、Pytorch を使用して fast.ai 学習器のように動作するモデルをトレーニングする方法を Jeremy が説明しています。彼はまた、NLP 手法によって生成された予測に関する問題と、シグモイド関数を使用してそれを解決する方法についても説明しています。

  • 00:00:00 このビデオでは、事前トレーニング済みの自然言語処理モデルを、fast.ai とは異なるライブラリを使用して微調整する方法について説明しています。

  • 00:05:00 このビデオでは、Coders 2022 アルゴリズムの実用的な深層学習、ULMFiT について説明します。 ULMFiT は、fast.ai コースで初めて発表された機械学習アルゴリズムです。 ULMFiT は、後に著者によって学術論文になりました。ウィキペディアと IMDB の映画レビューでトレーニングした後、アルゴリズムはレビューのセンチメントを 70% の精度で予測することができました。

  • 00:10:00 このレッスンでは、ジェレミーがトランスフォーマーのマスク言語モデルによる機械学習へのアプローチの基本について説明しました。彼は、このアプローチは ULMFiT アプローチよりも一般的であり、変圧器モデルには 5 つのレイヤーがあることを指摘しました。 John は、次の単語を予測するモデルから、分類に使用できるモデルに移行する方法について質問しました。 Jeremy は、最初のレイヤーにはエッジ検出器と勾配検出器が必要であり、最後のレイヤーには予測する各カテゴリのアクティベーションがあると述べました。最後に新しい乱数行列を徐々に追加することで、このモデルをトレーニングできると彼は言いました。

  • 00:15:00 Kaggle コンペティション「米国特許フレーズ マッチング コンペティション」では、どのアンカーとターゲットのペアが同じことを話しているかを自動的に判断できるモデルが必要です。このビデオでは、プレゼンターはデータを分類問題に変換して NLP 手法を利用することを提案しています。

  • 00:20:00 このビデオでは、コンマ区切り値 (CSV) 形式で既に保存されているデータ セットを操作することにより、ディープ ラーニングを実用的な方法で分類に使用する方法を説明しています。このビデオでは、pandas を使用してデータを読み取る方法についても説明しています。

  • 00:25:00 このビデオでは、深層学習用の 4 つのライブラリ (numpy、matplotlib、pandas、および pytorch) の使用について説明しています。これらのライブラリに慣れていない場合は、Wes McKinney の「Python for Data Analysis」を読むことをお勧めします。ニューラル ネットワークのトレーニングの最初のステップはデータをトークン化することであり、2 番目のステップはネットワークをトレーニングすることです。

  • 00:30:00 このビデオでは、プレゼンターが、テキストをトークンにトークン化し、トークンを数値化してハグ顔の「データセット」を作成する方法を説明しています。プレゼンターは、トークン化に事前トレーニング済みのモデルを使用することを推奨し、利用可能なさまざまなモデルのいくつかについて説明します。

  • 00:35:00 このビデオでは、トークナイザーを使用して文をトークン化する方法と、トークンを数値に変換する方法についてプレゼンターが説明しています。データ セットは元のデータ セットと同じになりますが、トークン化されたデータ セットはトークナイザーによって異なります。

  • 00:40:00 ビデオでは、ディープ ラーニングを可能にするためにテキストの文字列を数値に変換する方法について説明し、情報が提供される限り、決まった形式に従う必要はないことを説明しています。フィールドが特に長い場合は、トランスフォーマー アプローチを使用すると役立つ場合があります。

  • 00:45:00 このビデオでは、著者は、機械学習のトレーニング セット、検証セット、およびテスト セットを個別に用意することの重要性を説明しています。これらは、多項式回帰をプロットする方法を示し、アンダーフィットとオーバーフィットの違いを示しています。

  • 00:50:00 ビデオでは、ディープ ラーニング モデル用の適切な検証セットを作成する方法と、競合データを使用してモデルのパフォーマンスをテストする方法について説明しています。また、実際の設定でオーバーフィッティングを回避する方法についても説明します。

  • 00:55:00 このビデオでは、深層学習と Coders 2022 コンテストのモデルを構築する方法について学びます。検証セットはモデルのトレーニングに使用されない画像のセットであり、テスト セットは精度を測定するために使用される別の検証セットであることがわかります。また、2 つのテスト セットがあることもわかりました。1 つは競技中にリーダーボードに表示され、2 つ目のテスト セットは競技が終了するまで表示されません。

  • 01:00:00 「ピアソン相関係数」は、2 つの変数がどの程度類似しているかを示す尺度として広く使用されています。予測が実際の値に非常に似ている場合、「ピアソン相関係数」は高くなります。

  • 01:05:00 この 1 分間のビデオでは、ピアソン相関係数を使用して 2 つの変数間の関係を測定する方法を説明しています。相関係数は、2 つの変数がどの程度密接に関連しているかを示す尺度であり、2 つの変数間の関係の強さを評価するために使用できます。相関係数は、散布図を使用して視覚化でき、使用されているデータ セットを評価するのに役立ちます。

  • 01:10:00 このビデオでは、プレゼンターがディープ ラーニング モデルを適切にトレーニングする方法について説明します。相関、外れ値、データを適切に分割する方法などのトピックをカバーしています。次に、fast.ai の「学習者」を使用してモデルをトレーニングする方法と、「バッチ サイズ」と「エポック」を使用して一度に処理される行数を制御する方法を示します。

  • 01:15:00 Hugging Face トランスフォーマーは、さまざまなタスクに対してさまざまな学習率を提供し、事前トレーニング済みモデルからシーケンスを分類するのに適したモデルを提供します。また、データ内の外れ値を特定することもできます。

  • 01:20:00 このレッスンでは、インストラクターが Pytorch を使用して fast.ai 学習者のように動作するモデルをトレーニングする方法を説明します。彼は、外れ値は決して削除すべきではないが、調査して、必要に応じて修正することはできると述べています。

  • 01:25:00 ディープ ラーニングは、複数のアプリケーション分野で使用されている強力なテクノロジです。比較的初心者にやさしく、自然言語処理 (NLP) の分野が最大のチャンスです。深層学習 NLP の考えられる用途の 1 つは、ソーシャル メディア用のコンテキストに適した散文を作成することです。これは、人々が世界をどのように見ているかに影響を与える可能性があります。

  • 01:30:00 このビデオでは、機械学習などの NLP 手法を使用して、特定の視点に偏ったテキストを生成する方法について、ジョンが説明しています。このビデオでは、NLP 手法によって生成された予測に関する問題と、シグモイド関数を使用してその問題を解決する方法についても説明しています。
Lesson 4: Practical Deep Learning for Coders 2022
Lesson 4: Practical Deep Learning for Coders 2022
  • 2022.07.21
  • www.youtube.com
00:00:00 - Using Huggingface00:03:24 - Finetuning pretrained model00:05:14 - ULMFit00:09:15 - Transformer00:10:52 - Zeiler & Fergus00:14:47 - US Patent Phras...
 

レッスン 5: コーダー 2022 のための実践的な深層学習



レッスン 5: コーダー 2022 のための実践的な深層学習

このビデオでは、ディープ ラーニングを使用して線形モデルを構築およびトレーニングする方法に関するチュートリアルを提供します。ビデオは、特定の関数内の変数の値を変更するインプレース操作について説明することから始まります。次に、ビデオは、後方勾配降下法を使用して線形モデルの損失を計算する方法を示しています。最後に、ビデオは、線形モデル内の係数を初期化および更新する関数を提供します。このビデオは、関数を実行して損失を出力する方法を示して締めくくります。このビデオでは、データ セット内の特定の列の最適なバイナリ分割を計算する方法について説明します。これは、比較のためのベースライン モデルを提供するため、機械学習コンテストに特に役立ちます。

  • 00:00:00 このレッスンでは、Jupyter Notebook を使用して線形モデルとニューラル ネットワークをゼロから説明します。目標は、コードの背後にあるロジックを理解し、期待される出力を得ることです。

  • 00:05:00 このビデオでは、Kaggle をインストールしてその環境変数を使用する方法、pandas で CSV ファイルを読み取る方法、欠損値を代入する方法などのトピックをカバーして、コーダー向けの実践的な深層学習について説明しています。また、モードなどの pandas の基本的な概念と、データフレームにデータを入力するためのメソッドとリダクションの使用方法についても説明します。

  • 00:10:00 このレッスンでは、Jeremy が pandas の fillna() メソッドを使用して、データセットに欠損値を代入する方法について説明します。彼は、ほとんどの場合、この「ばかげた」方法で十分であり、一般的な方法が何度も説明されないように、データセットの基本を知ることが重要であると説明しています.ハビエルは、モデルで使用されていないフィールドを破棄することの長所と短所について尋ねます。

  • 00:15:00 このレッスンでは、インストラクターは「ダミー変数」の概念と、それらを使用してカテゴリ データをより適切な方法で表す方法を紹介します。また、データ内のすべての数値変数と数値以外の変数を記述する方法も示しています。

  • 00:20:00 このビデオでは、インストラクターがデータフレームの列をテンソルに変換する方法と、これらのテンソルを使用して線形モデルとニューラル ネットワークをトレーニングする方法を示します。彼はまた、行列と要素単位の乗算を行うときに、プレーンな Python の代わりに Pytorch を使用する方法も示しています。

  • 00:25:00 このビデオでは、インストラクターが Python で行列ベクトル積を実行する方法について説明します。彼は行列をベクトルで乗算する例を示し、数学者は行列代数を使用して同じ演算を実行できるため、結果が興味深いと説明しています。彼はまた、再現可能な結果を生成するためには、疑似乱数シーケンスを開始することが重要であると説明しています。

  • 00:30:00 このビデオでは、作成者がブロードキャストの仕組みとその有用性について説明しています。ブロードキャストは、各値のサイズを考慮して、複数の値を乗算できるようにする手法です。これにより、より簡潔で高速なコードを GPU で実行できます。

  • 00:35:00 このビデオでは、勾配降下損失を計算してディープ ラーニング モデルを最適化する方法を説明しています。著者は、損失を計算する関数を作成し、その関数を Pytorch セッションにインポートすることで、これを行う方法を示します。

  • 00:40:00 この YouTube ビデオでは、ディープ ラーニングを使用して線形モデルを構築およびトレーニングする方法についてのチュートリアルを提供しています。ビデオは、特定の関数内の変数の値を変更するインプレース操作について説明することから始まります。次に、ビデオは、後方勾配降下法を使用して線形モデルの損失を計算する方法を示しています。最後に、ビデオは、線形モデル内の係数を初期化および更新する関数を提供します。このビデオは、関数を実行して損失を出力する方法を示して締めくくります。

  • 00:45:00 この 1 分間のビデオでは、タイタニック号の生存者を予測するディープ ラーニング モデルの精度関数を作成する方法について説明しています。この関数はシグモイド関数に基づいています。これは、数値が大きすぎたり小さすぎたりすると 1 に漸近する数学関数です。

  • 00:50:00 このビデオでは、John がシグモイド関数を使用してニューラル ネットワークを最適化する方法を説明しています。また、fast.ai を使用してカテゴリ ブロック従属変数を処理する方法についても説明しています。

  • 00:55:00 このビデオでは、著者は、Pytorch を使用して Python でゼロからモデルを構築する方法と、モデルを Kaggle に送信する方法を説明しています。著者は、演算子「行列乗算」は行列乗算を意味すると述べていますが、Python には演算子の実装が付属していません。

  • 01:00:00 このビデオでは、プレゼンターが Pytorch を使用してニューラル ネットワークを作成する方法を説明しています。最初のステップは、最初の列の係数の合計で行列を作成することです。次に、この行列にトレーニング データ ベクトルを掛けます。 2 番目のステップは、非表示のアクティベーションを含む 2 番目のマトリックスを作成することです。次に、この行列に最初の列の係数を掛けます。最後のステップは、ベクトルを集中化し、ニューラル ネットワークをトレーニングすることです。

  • 01:05:00 このビデオでは、Jeremy が深層学習を使用してニューラル ネットワークをトレーニングする方法を説明しています。彼は、ネットワークをトレーニングするには、まず勾配を計算して係数を初期化する必要があると説明しています。次に、勾配から係数を減算する update_coeffs() を実行します。最後に、ネットワークをトレーニングし、結果を線形モデルと比較します。

  • 01:10:00 このビデオでは、ディープ ラーニング モデルを初期化する方法、係数を更新する方法、およびすべてのレイヤーをループする方法について説明します。また、ディープ ラーニングが小さなデータ セットに対して効果的でない理由と、ディープ ラーニング モデルで良い結果を得る方法についても説明します。

  • 01:15:00 このレッスンでは、著者がディープ ラーニング フレームワークの使用方法を説明し、ゼロから作成するよりもはるかに簡単であることを示します。著者は、Pandas を使用した特徴量エンジニアリングに関するチュートリアルも提供しています。

  • 01:20:00 このビデオでは、トレーナーが fastai ライブラリを使用してディープ ラーニング モデルの学習率を推奨する方法を示しています。複数のエポックを実行する方法を示し、モデルの予測を他の 2 つのモデルの予測と比較します。最後に、アンサンブル関数を使用して、行全体で平均化された 5 つの予測のセットを作成する方法を示します。

  • 01:25:00 このビデオでは、ジョンがランダム フォレストのしくみと、ランダム フォレストが人気のある機械学習アルゴリズムである理由を説明しています。また、便利なショートカットを使用して、必要なすべてのモジュールをインポートする方法も示しています。

  • 01:30:00 このビデオでは、Pandas が深層学習の仕組みと、それをコーディングの問題に適用する方法を説明しています。ランダム フォレスト アルゴリズムが導入され、この手法を使用して、カテゴリ変数を使用して行われた予測の精度を向上できることが示されています。

  • 01:35:00 この 1 段落の要約では、データの 2 つのグループの標準偏差スコアを加算する単純な方法を使用してバイナリ分割をスコアリングする方法について説明します。最良の分割点は、最小のスコアを持つ分割点のリストへの最小のインデックスを計算することによって見つけられます。

  • 01:40:00 このレッスンでは、インストラクターが、データ セット内の特定の列に対して最適なバイナリ分割を計算する方法について説明します。これは、比較のためのベースライン モデルを提供するため、機械学習コンテストに特に役立ちます。
Lesson 5: Practical Deep Learning for Coders 2022
Lesson 5: Practical Deep Learning for Coders 2022
  • 2022.07.21
  • www.youtube.com
00:00:00 - Introduction00:01:59 - Linear model and neural net from scratch00:07:30 - Cleaning the data00:26:46 - Setting up a linear model00:38:48 - Creating...
 

レッスン 6: コーダー 2022 のための実践的な深層学習



レッスン 6: コーダー 2022 のための実践的な深層学習

この YouTube ビデオでは、コーダー向けに深層学習を開始する方法についてのガイドを提供しています。主な焦点は、コーダー向けの実用的な深層学習であり、競争を設定し、検証セットを取得し、迅速に反復する方法に関するヒントが含まれています。このビデオでは、機能の重要度と部分依存関係プロットの重要性、および機械学習モデルを使用してそれらを作成する方法についても説明しています。

このビデオでは、ディープ ラーニングを使用してコーディング プロジェクトの精度を向上させる方法の概要を説明します。多くの場合、データセットはさまざまな入力サイズと縦横比を持つことができるため、長方形で正確な表現を作成することが難しくなります。代わりに、ほとんどの場合にうまく機能することがわかっている正方形の表現を使用することをお勧めします。

  • 00:00:00 このレッスンでは、著者は決定木を作成してタイタニック号で生き残ったオスを予測する方法を示します。

  • 00:05:00 ビデオでは、最大 4 つのリーフ ノードを持つ決定木分類器を作成する方法について説明しています。ツリーは自動的に生成でき、ジニ係数を計算するコードが提供されます。決定木の平均絶対誤差は 0.407 と計算されます。

  • 00:10:00 このビデオでは、Kaggle コンペティションのデータを使用して旅客運賃の分類を予測する決定木を構築する方法を説明しています。デシジョン ツリーは効率的で、前処理を必要としないため、表形式のデータに適しています。

  • 00:15:00 Leo Breiman の「バギング」手法を使用して、個々のモデルよりも優れた多数の偏りのないモデルを作成します。これは、デシジョン ツリーが構築されるたびにデータのサブセットをランダムに選択し、そのデータを使用してモデルをトレーニングすることによって行われます。

  • 00:20:00 このレッスンでは、ランダム フォレストを作成する方法を学びました。ランダム フォレストは、実装が簡単で小さなデータ セットで適切に機能する機械学習アルゴリズムです。また、特徴重要度プロットを使用して、トレーニング データで最も重要な特徴を判断する方法も示しました。

  • 00:25:00 このビデオでは、ランダム フォレストのしくみや、ツリーの数を増やすと常にエラー率が向上する理由など、ディープ ラーニングの基本についてジョンが説明しています。次に Jeremy は、ランダム フォレストを使用して、検証セットを必要とせずに大規模なデータ セットの結果を予測する方法を説明します。

  • 00:30:00 このビデオでは、機械学習モデルのトレーニングで使用されていないデータに対して行われた予測の精度の尺度である Out-of-Bag エラーまたは OOB エラーを計算する方法について説明しています。 OOB エラーが大きい場合は、モデルがデータを正しく予測していないことを示しています。

  • 00:35:00 ビデオでは、機能の重要度と部分依存関係プロットの重要性と、機械学習モデルを使用してそれらを作成する方法について説明しています。

  • 00:40:00 このビデオでは、Jeremy がランダム フォレスト モデルの仕組みと、特徴の重要度プロットの解釈方法を説明しています。彼はまた、ランダム フォレスト モデルは他の説明可能性手法よりも信頼性が高いと述べています。

  • 00:45:00 ランダム フォレストは、予測を行うのに特に優れた機械学習アルゴリズムです。ただし、ツリーを追加するとモデルがより正確になり、過剰適合は問題になりません。勾配ブースティングは、ランダム フォレストに似た機械学習アルゴリズムですが、木を何度も適合させる代わりに、非常に小さな木に適合させるため、データ分割はほとんどありません。

  • 00:50:00 このビデオでは、勾配ブースティング マシン (GBM) がランダム フォレストよりも正確であるが、GBM を使用するとオーバーフィットする可能性があることを説明しています。このチュートリアルでは、Kaggle コンペティションを選択してトップの座を獲得する方法を示します。

  • 00:55:00 この YouTube ビデオでは、コーダー向けに深層学習を開始する方法についてのガイドを提供しています。主な焦点は、コーダー向けの実用的な深層学習であり、競争を設定し、検証セットを取得し、迅速に反復する方法に関するヒントが含まれています。

  • 01:00:00 このビデオでは、FastKaggle を使用してディープ ラーニング モデルをトレーニングする方法を説明しています。縦横比によってサイズが変わるので、画像の取り扱いには注意が必要だと説明しています。このビデオでは、「スキッシュ」と呼ばれる機能を使用して画像のサイズを変更する方法も示しています。

  • 01:05:00 このビデオでは、インストラクターが高速 AI ライブラリ show_batch() を使用して、機械学習モデルのデータがどのように見えるかをすばやく確認する方法について説明します。彼は、高速なトレーニングのパフォーマンスと精度のために resnet26d を使用することを推奨しています。

  • 01:10:00 このビデオでは、データローダーと、モデルの予測とラベルを含む CSV ファイルを使用して、深層学習モデルを 1 分以内に Kaggle に送信する方法を示しています。

  • 01:15:00 プレゼンターは、Kaggle でパブリック ノートブックを作成するための彼の戦略を共有しています。彼は、このローテクなアプローチがうまく機能し、通常は一度に 1 つのノートしか提出しないと述べています。

  • 01:20:00 プレゼンターは、AutoML フレームワークやランダム フォレストなど、ディープ ラーニングのさまざまな方法の概要を簡単に説明します。彼は、モデルのオーバートレーニングを避けるために学習率ファインダーを使用することを推奨し、可能であれば深層学習に GPU を使用することを推奨しています。

  • 01:25:00 このレッスンでは、著者は、異なる畳み込みニューラル ネットワーク (CNN) アーキテクチャを使用して、Kaggle コンペティションの反復を高速化する方法を説明します。また、経験則を使用して適切な CNN サイズを選択する方法も示しています。

  • 01:30:00 このビデオでは、クロッピングやパディングなどのさまざまな前処理手法を使用してディープ ラーニング モデルのパフォーマンスを向上させる方法についてプレゼンターが説明しています。彼はまた、Test Time Augmentation (TTA) は、画像の複数のバージョンを平均化することで、モデルのパフォーマンスを向上させることができると述べています。

  • 01:35:00 このビデオでは、Jeremy がディープ ラーニングを使用してコンピューター ビジョン モデルの精度を向上させる方法について説明しています。彼は、トレーニング対象の画像を変更することでモデルの精度を向上させることができると指摘し、パンダを使用してこれを行う方法の例を提供しています。彼はまた、深層学習アルゴリズムがどのように高速に機能するか、および TTA (テスト時間拡張) を使用してトレーニング プロセスを高速化する方法についても説明します。最後に、彼はビクターとジョンが尋ねた質問の要約を提供します。

  • 01:40:00 このビデオでは、ジェレミーが深層学習を使用してコーディング プロジェクトの精度を向上させる方法を説明しています。彼は、データセットはさまざまな入力サイズと縦横比を持つことが多いため、長方形で正確な表現を作成することが難しいと指摘しています。彼は代わりに正方形の表現を使用することを提案しています。これは、ほとんどの場合にうまく機能することがわかっています。
Lesson 6: Practical Deep Learning for Coders 2022
Lesson 6: Practical Deep Learning for Coders 2022
  • 2022.07.21
  • www.youtube.com
00:00 Review02:09 TwoR model04:43 How to create a decision tree07:02 Gini10:54 Making a submission15:52 Bagging19:06 Random forest introduction20:09 Creating...
 

レッスン 7: コーダー 2022 のための実践的な深層学習



レッスン 7: コーダー 2022 のための実践的な深層学習

2022 年コーダー向け実践的ディープ ラーニングのレッスン 7 で、Jeremy は、より大きなモデルに必要なメモリを削減することで、ディープ ラーニング モデルをスケールアップする方法を説明しています。彼は、すべてのミニバッチのループごとに重みを更新するのではなく、数回ごとに更新する勾配累積と呼ばれるトリックを示しています。これにより、より大きな GPU を必要とせずに、より大きなバッチ サイズを使用できるようになります。さらに、Jeremy は、k 分割交差検証と、交差エントロピー損失と呼ばれる別の損失関数を使用して、画像に存在する米の種類と病気の両方を予測するディープ ラーニング モデルの作成について説明します。全体として、ビデオはより複雑な深層学習モデルを構築するための実用的なヒントとコツを提供します。

このビデオでは、講演者は、PyTorch で協調フィルタリングと内積を使用したレコメンデーション システムの作成について説明します。彼は、映画の評価の行列乗算予測について説明し、損失関数を計算します。これは、予測された評価が実際の評価とどの程度一致するかの尺度です。彼は埋め込みの概念を導入し、ダミー変数を使用した行列乗算の高速化を可能にします。次にスピーカーは、行列にバイアスと正則化を追加して、ユーザーの評価を差別化し、オーバーフィッティングを防ぐ方法を説明します。最後に、ハイパーパラメータ検索のトピックについて説明し、正確なレコメンデーションには詳細なデータが必要であることを強調します。全体として、ビデオは複雑な深層学習の概念を分解し、視聴者が実際に理解できるようにします。

  • 00:00:00 このセクションでは、講師がモデルをさらにスケールアップするための簡単な方法を紹介します。これには、より大きなモデルに必要なメモリを減らすことが含まれます。より大きなモデルを使用する場合、より多くのパラメーターを使用すると、より複雑な機能を見つけることができるため、より正確になります。ただし、計算が必要な活性化または勾配が大量の GPU メモリを消費し、使用可能なメモリが不十分な場合はエラー メッセージが表示されるため、大規模なモデルには欠点があります。この問題を回避し、Kaggle の 16 Gig GPU でも x-large モデルを使用する方法をインストラクターが説明します。

  • 00:05:00 ビデオのこのセクションでは、Jeremy が Kaggle でディープ ラーニング モデルを実行することの実用性と、モデルのメモリ使用量を判断するための簡単な方法を使用する方法について説明します。彼は、より大きな GPU を購入する必要を回避するために、モデルが「cuda out of memory エラー」でクラッシュした場合に使用できる勾配累積と呼ばれるトリックを示しています。バッチサイズと画像数を調整することで、学習率に影響を与えることなく、モデルが使用するメモリの量を最小限に抑えることができます。

  • 00:10:00 このセクションでは、スピーカーは勾配累積の概念について説明します。これは、すべてのミニバッチのループごとに重みを更新するのではなく、数回ごとに更新するという考え方です。これにより、より大きな GPU を必要とせずに、より大きなバッチ サイズを使用できるようになります。これは、複数の小さなバッチにわたって勾配を蓄積できるためです。結果は、バッチ正規化を使用しないアーキテクチャでは数値的に同じですが、バッチ正規化を使用するアーキテクチャでは変動が大きくなる可能性があります。全体として、勾配累積は単純なアイデアであり、より大きなモデルのトレーニングに重要な意味を持ちます。

  • 00:15:00 このセクションでは、Jeremy が lr_find() と勾配累積に関するフォーラムからの質問について説明します。彼は、lr_find() がデータ ローダーのバッチ サイズを使用し、勾配累積により、さまざまなバッチを試して、さまざまなアーキテクチャに最適なサイズを見つけることができると説明しています。 Jeremy は、GPU に収まる最大のバッチ サイズを選択することを推奨していますが、必ずしも最大のバッチ サイズを使用する必要はないと述べています。経験則では、バッチ サイズを 2 で割り、学習率を 2 で割ります。最後に、Jeremy は fastai で勾配累積を使用する方法を示します。バッチ サイズを目的の累積値で割り、学習器の作成時に GradientAccumulation コールバックを渡します。これにより、16GB カードで複数のモデルをトレーニングできます。

  • 00:20:00 このセクションでは、プレゼンターは、固定サイズの事前トレーニング済みトランスフォーマー モデル vit、swinv2、および swin の使用について説明します。これを回避するには、最終的なサイズが正方形で、必要なサイズである必要があります。プレゼンターは、アーキテクチャと前処理の詳細のディクショナリを使用し、トレーニング パスをすべての画像を使用するように切り替え、各アーキテクチャと変換サイズをループして各モデルをトレーニングします。トレーニング スクリプトは tta 予測を返します。これはリストに追加され、後でバギングによって平均化され、各疾患のインデックスのリストが作成されます。定期的にエントリを送信することで、プレゼンターは結果を改善し、リーダーボードのトップの位置を確保することができました.

  • 00:25:00 このセクションでは、Jeremy が k 分割交差検証の概念と、彼がアンサンブル モデルで行ったこととどのように似ているかについて説明します。彼は、k 分割交差検証では、データが 5 つのサブセットに分割され、重複しない検証セットを使用して各サブセットでモデルがトレーニングされ、アンサンブルされると説明しています。彼の方法よりも優れている可能性がありますが、Jeremy はモデルの追加と削除が簡単にできるため、アンサンブルを好みます。 Jeremy はまた、勾配の蓄積と、本当の欠点や潜在的な落とし穴がないことについても説明し、高価なグラフィックス カードよりもメモリが少ない安価なグラフィックス カードを購入することを推奨しています。最後に、彼は、Nvidia が GPU の町で唯一のゲームであり、消費者向け RTX カードは高価なエンタープライズ カードと同じくらい優れていると述べています。

  • 00:30:00 このセクションでは、Jeremy がディープ ラーニング用の GPU に投資するメリットについて説明し、クラウド コンピューティングでの使用のために GPU が高価になる可能性があることを認めています。彼はまた、より小さなモデルをトレーニングして、より大きなモデルと同じアクティベーションを生成する方法についても触れています。これについては、パート 2 で説明します。ビデオの残りの部分では、画像の病気とイネの種類の両方を予測するモデルの構築に焦点を当てています。これには、2 つの従属変数を持つデータ ローダーが必要です。 Jeremy は、DataBlock を使用して複数の依存変数を持つローダーを作成する方法を説明し、入力カテゴリと出力カテゴリを区別する方法を示します。

  • 00:35:00 このセクションでは、画像に含まれる米の種類と病気の両方を予測するディープ ラーニング モデルの作成方法を講師が説明します。これを実現するには、get_y 関数が 2 つの異なるラベルを持つ配列を受け取る必要があります。 1 つは病気を示す親ディレクトリの名前で、2 番目は品種です。教師は、ファイル名のデータ フレーム内の場所を取得し、種類の列を返す関数を作成します。最後に、20 の事柄を予測するモデルを作成します。10 の病気のそれぞれの確率と、10 の種類のそれぞれの確率です。エラー率メトリックは、新しいデータセットで動作するように 2 つではなく 3 つを処理するように変更する必要があります。

  • 00:40:00 このセクションでは、スピーカーは、従属変数がカテゴリである場合、クロス エントロピー損失と呼ばれる別の損失関数の必要性について説明します。 fastai の vision_learner は以前に交差エントロピー損失を推測して使用していましたが、講演者はスプレッドシートを使用して、それがどのように機能するかを詳細に説明しています。スピーカーは、5 つのカテゴリを備えたモデルの出力から始めて、softmax 関数を使用してモデルの出力を確率に変換する方法を示します。出力が確率になると、交差エントロピー損失関数を使用して、予測された確率と実際の確率の差を測定し、モデルのパフォーマンスを判断します。

  • 00:45:00 このセクションでは、softmax と、事前に選択されたカテゴリから 1 つの特定のものを予測するために使用される方法について学びます。クロスエントロピー損失を計算するために使用される式には、確率と実際のターゲット値の乗算と、合計の取得が含まれます。ソフトマックスのログは、計算を高速化するために利用されます。結果は単一の確率値であり、クロスエントロピー損失を計算するために行ごとに合計されます。

  • 00:50:00 このセクションでは、インストラクターがバイナリ クロス エントロピー損失関数と、それを複数のターゲットで使用する方法について説明します。彼は、pytorch にはクラスと関数の 2 つのバージョンの損失関数があり、それらの使用方法を示していると述べています。マルチターゲット モデルを作成する場合、視覚学習者は 20 個の出力を必要とし、そのうち 10 個が疾患を予測し、10 個が多様性を予測します。インストラクターは、このモデルの作成方法を実演し、トレーニングします。全体として、このモデルは、2 番目のターゲット セットの追加を除いて、以前のモデルと同じです。

  • 00:55:00 このセクションでは、モデルがその損失関数を通じて予測していることをどのように知るかについて学びます。入力値の最初の 10 列は病気の確率を予測し、次の 10 列は多様性の確率を表します。クロスエントロピーを使用して、病気と品種の両方の目標値を考慮して、これら 2 つの値の予測に基づいて損失関数を作成します。最初の 10 列が病気を適切に予測し、2 番目の 10 列が多様性を予測する場合、損失関数は減少し、各列を効果的に使用する係数が改善されます。トレーニング エポック全体で、疾患予測と品種予測の両方のエラー率を計算して追跡します。マルチターゲット モデルを使用した長時間のトレーニングは、さまざまなターゲットの認識に役立つ特定の機能により、単一のターゲット モデルよりも優れた疾患予測をもたらす場合があります。

  • 01:00:00 ビデオのこのセクションでは、講演者が複数のことを予測するモデルを構築する利点について説明し、視聴者が小さなデータセットでモデルを試すように促します。彼はまた、映画の評価のデータセットを使用してレコメンデーション システムの概念を教える Collaborative Filtering Deep Dive ノートブックも紹介しています。彼は、このタイプのデータはレコメンデーション システムなどの業界では一般的であると説明し、データセットをよりよく理解するためにクロス集計の例を提供しています。その後、スピーカーは次のノートブックに飛び込む前に休憩を取ります。

  • 01:05:00 このセクションでは、スピーカーは協調フィルタリング データセットのギャップを埋める方法を説明します。協調フィルタリングは、多くのユーザーから収集されたデータを使用して、ユーザーに製品を推奨するのに役立ちます。ユーザーが特定の映画を好むかどうかを判断するために、スピーカーは、ユーザーの好みと映画の種類の対応する値をベクトル分析によって乗算する方法を提案します。ただし、ユーザーや映画に関する情報が提供されていないため、スピーカーは、欠落しているデータ ポイントを埋める潜在的な要因を作成することを提案しています。想定される潜在的要因を使用して、話者は SGD を使用して相関関係を見つけ、仮説を生成することを提案します。

  • 01:10:00 このセクションのビデオでは、行列の乗算を使用して、過去の評価に基づいてユーザーの映画の評価を予測する方法について説明します。このチュートリアルでは、映画とユーザーの潜在因子にランダムな値を割り当て、内積を実行して評価を予測します。次に、損失関数が計算され、データ ソルバー ツールを使用して最適化が実行されます。ビデオは、最適化後の実際の評価と比較することで、予測された評価が改善されたことを示しています。好みが似ているユーザーには似たような動画をおすすめする行列補完手法や協調フィルタリングも紹介されています。

  • 01:15:00 このセクションのビデオでは、PyTorch で協調フィルタリングとドット積を使用する方法について説明します。 2 つのベクトル間の角度のコサインは、相関関係を近似することができ、一度正規化すると同じになります。 Excel は、PyTorch で必要な計算を説明するために使用されます。このビデオでは、複雑な数学的ツールと見なされることが多い埋め込みが、実際には配列を調べて調べるために使用されることにも注意してください。このビデオでは、複雑な専門用語を分解して、ディープ ラーニングを誰にとっても理解しやすくしようとしています。

  • 01:20:00 このセクションでは、Jeremy が PyTorch で協調フィルタリング データ ローダーを使用して映画の評価データを操作する方法を説明します。彼は映画テーブルを評価テーブルとマージして、映画のユーザー ID と名前を取得します。 CollabDataLoaders 関数は、評価、ユーザー ID、アイテム タイトルの列を含むデータ フレームからデータを読み込むために使用されます。次に、乱数の行列を使用してユーザーと映画の要素を作成します。列の数は、作成したい要素の数と同じです。彼はまた、因数の数を決定するためにあらかじめ決められた公式を使用していることにも言及しています。これは彼の直感から導き出され、関数をフィッティングすることによってテストされます。

  • 01:25:00 このセクションでは、スピーカーは、ワンホット エンコードされたベクトルを使用してベクトル内のインデックス番号を検索できることを説明します。これは、ワンホット エンコードされたベクトルの内積を取るのと同じです。何かと。埋め込みは、ワンホット エンコードされたベクトルで何かを乗算するための計算上のショートカットとして導入され、ダミー変数を使用して行列乗算を実行する際の高速化を可能にします。スピーカーは、Pytorch モデルの作成についても紹介します。これは、いくつかの追加機能を提供する Module と呼ばれるスーパークラスを含むクラスです。内積オブジェクトはモデルの作成方法の例として使用されます。これは、dunder init メソッドを呼び出し、因子によるユーザーの埋め込みとベクトルによる映画の埋め込みを作成します。

  • 01:30:00 このセクションでは、インストラクターが PyTorch を使用して「forward」と呼ばれるメソッドを呼び出してモデルを計算する方法を説明します。オブジェクト自体と計算対象のデータは「forward」に渡されます。内積を使用して PyTorch を介してデータを渡すことは、Excel を使用するよりもはるかに高速です。ただし、このモデルはうまく機能しません。例として、誰も映画を 1 未満と評価していないのに、可能な限り高い値よりも大きな値を予測するためです。インストラクターは、シグモイド関数を使用して予測を 0 から 5.5 の範囲に押しつぶすことで、これを修正します。この変更にもかかわらず、損失は大幅に改善されませんが、インストラクターは、一部のユーザーが高い評価を得ているという新しい観察結果を紹介し、ユーザーのバイアスを含めることでモデルを改善できることを示唆しています。

  • 01:35:00 このセクションでは、スピーカーは、映画レコメンデーション モデルで使用されるマトリックスにバイアスを追加する方法を示します。これらのバイアスを追加することで、低い評価または高い評価を与える傾向があるユーザーを区別することができます。スピーカーは、重み減衰または L2 正則化を使用してオーバーフィッティングを回避する方法についても説明します。話者は、これは重みの二乗和を損失関数に追加することで達成できると説明しています。全体として、このセクションは、深層学習モデルにおけるバイアスと正則化のトピックへの有用な紹介を提供します。

  • 01:40:00 このセクションのビデオでは、深層学習モデルのオーバーフィッティングを防ぐための正則化の一形態としての重み減衰の使用について説明しています。高すぎず、予測に役立つほど十分に高い重みの適切な組み合わせを見つけることで、モデルは損失関数の可能な限り低い値を取得できます。重み減衰係数は fit メソッドに渡すことができ、ビジョン アプリケーションでは通常デフォルトで問題ありませんが、表形式および協調フィルタリングの場合、ユーザーは 10 の倍数を数回試して、何が最良の結果をもたらすかを確認する必要があります。正則化とは、モデルを必要以上に複雑にしないようにすることです。重み減衰の値を高くすると、オーバーフィッティングが減少しますが、モデルが適切な予測を行う能力も低下します。

  • 01:45:00 このセクションでは、Jeremy と John がハイパーパラメータ検索のトピックと、それが個々のモデルの構築にどのように使用されるかについて説明します。ただし、ハイパーパラメーターの探索の実行に関しては、Jeremy の経験則以外のルールはありません。協調フィルタリングの代わりに、ユーザー エクスペリエンスの平均評価に基づいてレコメンデーション システムを構築できるかどうかという質問に対して、Jeremy は、すべてが購入履歴である場合は理想的ではないと説明します。代わりに、正確なレコメンデーションを行うには、ユーザーに関する人口統計情報や製品に関するメタデータなどの詳細なデータが必要です。
Lesson 7: Practical Deep Learning for Coders 2022
Lesson 7: Practical Deep Learning for Coders 2022
  • 2022.07.21
  • www.youtube.com
00:00 - Tweaking first and last layers02:47 - What are the benefits of using larger models05:58 - Understanding GPU memory usage08:04 - What is GradientAccum...
 

レッスン 8 - コーダー 2022 のための実践的な深層学習



レッスン 8 - コーダー 2022 のための実践的な深層学習

このビデオでは、コーダー向けの深層学習の基本について説明します。 Pytorch ライブラリを使用してディープ ラーニング モデルのパラメーターを作成する方法、PCA を使用してデータ セット内の因子の数を減らす方法、およびニューラル ネットを使用して産業用重機のオークション販売価格を予測する方法について説明します。

この YouTube ビデオでは、プログラマー向けの深層学習の概要を説明しています。スピーカーは、この分野では粘り強さが重要であると説明し、成功したいのであれば、何かが完了するまで続ける必要があるとアドバイスしています。彼はまた、forums.fast.ai で他の初心者を助けることを勧めています。

  • 00:00:00 このレッスンでは、Pytorch がニューラル ネットワークのパラメーターの作成と管理を行い、係数と重みが正しい方法で初期化されていることを自動的に確認します。これにより、ユーザーはこの情報を覚えたり、コードを書いたりする必要がなくなります。

  • 00:05:00 このビデオでは、Pytorch ライブラリを使用して深層学習モデルのパラメーターを作成する方法を説明しています。 Pytorch は、ランダムに生成された分布に基づいてこれらのパラメーターを自動的に初期化します。

  • 00:10:00 このビデオでは、オリジナルと同じコードとコンセプトを使用して、Pytorch 埋め込みレイヤーをゼロから構築する方法を示しています。ビデオは、過去の映画の好みを調べることで、レイヤーがどのように映画の好みを予測するかを示しています。

  • 00:15:00 ビデオは、fast.ai 共同学習アプリケーションを使用して、ユーザーが好きな映画を予測する方法を示しています。このアプリケーションは、潜在因子 ( movie と factor ) を使用してユーザーのバイアスを計算します。このバイアスは、ユーザーが好きな映画を予測するために使用されます。

  • 00:20:00 このビデオでは、PCA を使用してデータセット内の因子の数を減らす方法を説明しています。また、ブートストラップ問題についても説明します。これは、以前の顧客との履歴がない場合に、顧客に新製品をどのように推奨するかという問題です。

  • 00:25:00 このビデオでは、シーケンシャル モデル、Pytorch の機能を使用してモデルを簡単に作成する方法、共同学習者にモデルを適合させる方法など、コーダー向けのディープ ラーニングの基本について説明します。 Jona は、協調フィルタリング システムのバイアスの問題について発表者に質問し、発表者は問題に関する一般的な回答を提供します。

  • 00:30:00 このビデオでは、Jeremy が共同フィルタリングと NLP で埋め込みがどのように機能するか、およびそれらを使用してニューラル ネットワークを解釈する方法について説明しています。

  • 00:35:00 このビデオでは、ランダム フォレストと表形式の学習器を使用して、Neural Net を使用して産業用重機のオークション販売価格を予測する方法を紹介しています。著者は、Tabular Learner を使用して作成されたニューラル ネットは、手動で作成されたニューラル ネットとほぼ同じであると述べています。

  • 00:40:00 ニューラル ネットワークは、データを入力として受け取り、そのデータを使用して予測または出力を作成する一種の機械学習アルゴリズムと考えることができます。ニューラル ネットワークはノード (ニューロンと呼ばれる) の層で構成され、相互接続されてグラフを作成します。ニューラル ネットワークへの入力は、カテゴリ (たとえば、車や花などのカテゴリ) または連続 (つまり、数値) にすることができます。ニューラル ネットワークは、さまざまな結果 (たとえば、さまざまな店舗での売り上げ) の結果を予測したり、新しい入力の内容 (たとえば、特定のデータ ポイント セットの地理的位置) を推測したりするために使用できます。

  • 00:45:00 このビデオでは、畳み込みニューラル ネットワークで使用される行列乗算の一種である畳み込みについて学びます。この例を実際に見てから、畳み込みニューラル ネットワークを使用してトップ エッジ検出器を作成する方法について説明します。

  • 00:50:00 このビデオでは、2 つのデータ配列を取り、それらの要素を組み合わせて、通常は配列の右側よりも左側の方が高い結果を生成する数学演算である畳み込みを実行する方法を説明しています。 3 x 3 カーネルで畳み込みが実行され、これが複数回繰り返されて深層学習層が生成されます。

  • 00:55:00 ビデオでは、水平方向のエッジ用と垂直方向のエッジ用の 2 つのフィルターを組み合わせて、数字を認識するための単一のアクティベーションを作成する方法を示すことで、深層学習がどのように機能するかを説明しています。これを行う古い方法 (最大プーリングを使用) では、アクティブ化が少なくなり、最終的に 1 つが残りました。 「スライディング ウィンドウを使用した最大プーリング」と呼ばれる手法を使用する新しい方法は、すべてのアクティベーションが使用されてより正確な結果が得られるまで継続します。

  • 01:00:00 このビデオでは、プレゼンターが 21 世紀の深層学習について説明しています。現在、深層学習は 10 年前とは異なる方法で行われています。プレゼンターは、この変化がどのように機能するかの例を示しています。 Max Pooling の代わりに、深層学習アルゴリズムは Stride 2 Convolution を使用するようになりました。さらに、ディープ ラーニング モデルは、Max Pool レイヤーの代わりに、最後に単一の高密度レイヤーを使用するようになりました。最後に、プレゼンターは、fast.ai がディープ ラーニングのトレーニングと予測をどのように処理するかについて簡単に説明します。

  • 01:05:00 この YouTube ビデオでは、著者は畳み込みが行列乗算と同じであること、および 2 つの方法を使用して畳み込みを計算する方法を示しています。また、ニューラル ネットワークにおけるランダム ノイズの影響を軽減する手法であるドロップアウトについても説明しています。

  • 01:10:00 このレッスンでは、作成者はドロップアウト レイヤーがニューラル ネットワークの過適合を回避するのにどのように役立つかについて説明します。使用するドロップアウトが多いほど、トレーニング データの精度は低下しますが、より一般化する必要があります。これは、Geoffrey Hinton のグループによる論文に由来します。この論文は、メインのニューラル ネットワーク会議 (当時は NIPS、現在は NeurIPS と呼ばれています) から拒否されました。

  • 01:15:00 このビデオでは、ニューラル ネットワークの種類とその実装方法など、ディープ ラーニングの基本について説明します。また、さまざまなトレーニング方法を使用する方法と、ニューラル ネットワークのパフォーマンスを評価する方法についても説明します。最後に、このビデオでは、ディープ ラーニングの学習を継続する方法についてアドバイスを提供します。

  • 01:20:00 Lucas は、ディープ ラーニングのモチベーションを維持する方法を尋ね、この分野はより高価で大規模なモデルに急速に偏りつつあると述べています。彼は、将来的に単一の GPU で合理的なモデルをトレーニングできるかどうか疑問に思っています。全体として、このビデオでは、ディープ ラーニングのモチベーションを維持する方法と、最新の研究を最新の状態に保つ方法の概要を説明します。

  • 01:25:00 この YouTube ビデオでは、ディープ ラーニングの概要とコーディングへの実際の応用について説明しています。このビデオでは、DawnBench のディープ ラーニングの成功がチームの常識と知恵の使用によるものであったこと、および誰もがディープ ラーニングを自分の問題領域にどのように適用できるかについて説明しています。このビデオでは、機械学習の分野における正式な教育の重要性と、ライブコーディング セッションが学習の強化にどのように役立つかについても触れています。

  • 01:30:00 ジェレミーは、毎日何か新しいことを学ぶことに時間を費やしたり、働きすぎないようにするなど、生産性のハックを共有しました。

  • 01:35:00 この YouTube ビデオは、プログラマー向けの深層学習に関するレッスンであり、スピーカーは、この分野では粘り強さが重要であることを説明しています。彼は、成功したいのなら、たとえそれが最高の品質でなくても、何かが完成するまで続けるべきだとアドバイスしています.彼はまた、forums.fast.ai で他の初心者を助けることを勧めています。
Lesson 8 - Practical Deep Learning for Coders 2022
Lesson 8 - Practical Deep Learning for Coders 2022
  • 2022.07.21
  • www.youtube.com
00:00 - Neural net from scratch04:46 - Parameters in PyTorch07:42 - Embedding from scratch12:21 - Embedding interpretation18:06 - Collab filtering in fastai2...
 

レッスン 9: 安定した拡散へのディープ ラーニングの基礎、2022 年



レッスン 9: 安定した拡散へのディープ ラーニングの基礎、2022 年

このビデオでは、深層学習の概要を説明し、安定した拡散モデルがどのように機能するか、およびそれらを適用して新しい画像を生成する方法について説明します。このビデオには、Diffusers ライブラリを使用して手書きの数字のようなイメージを作成する方法のデモが含まれています。また、ニューラル ネットワークのトレーニング方法である安定拡散の概念も紹介します。基本的な考え方は、出力を変更するためにニューラル ネットワークへの入力を変更することです。このビデオでは、インストラクターが、ノイズの多い入力から手書きの数字を正しく識別できるニューラル ネットワークを作成する方法について説明します。このビデオでは、ディープ ラーニング アルゴリズムを使用して機械学習モデルをトレーニングする方法について説明します。モデルは一連の潜在変数 (データを表す) で初期化され、デコーダーを使用して生データを理解します。次に、テキスト エンコーダーを使用して、データの機械可読キャプションを作成します。最後に、キャプションを入力として使用して U-Net をトレーニングし、勾配 (「スコア関数」) を使用してトレーニング データのノイズ レベルを調整します。

  • 00:00:00 このレッスンでは、ディープ ラーニングの仕組みと、それを実際の問題に適用する方法について説明します。ただし、このレッスンで説明する概念と手法は近い将来時代遅れになる可能性があるため、ビデオの大部分は、2022 年にも適用されるディープ ラーニング アルゴリズムである安定拡散の使用方法を教えることに費やされています。

  • 00:05:00 コースは急速に進んでおり、新しい論文では、安定した拡散モデルを生成するために必要なステップ数が 1,000 から 4 または 56 に減少したことが示されています。このコースでは、モデルの基礎とその仕組みに焦点を当てます。

  • 00:10:00 このコースでは、深層学習の基礎を提供し、安定拡散モデルがどのように機能するかについて説明し、より詳細な学習のためのリソースを提供します。 2022 年には、ディープ ラーニング用の GPU がより高価になるため、現在の推奨事項に注意することが重要です。

  • 00:15:00 この YouTube ビデオでは、ディープ ラーニングを簡単に紹介し、安定した拡散の基礎を概説しています。著者は、深層学習の基礎を探求するために使用できる一連の Colab ノートブック「diffusion-nbs」を提供しています。このビデオは、提供された資料を試して他のリソースを探索することを推奨する内容で締めくくられています。

  • 00:20:00 このレッスンでは、安定した拡散アルゴリズムを作成する方法など、ディープ ラーニングの基本について説明します。その後、Diffusers ライブラリが紹介され、他のユーザーが使用できるようにパイプラインを保存する方法が紹介されます。

  • 00:25:00 このレッスンでは、ディープ ラーニングの基礎と、Colab を使用して高品質の画像を作成する方法について説明します。イメージを作成するために必要な 51 のステップは、2022 年 10 月の時点で利用可能な 3 ~ 4 つのステップと比較されます。

  • 00:30:00 このレッスンでは、講師が深層学習を使用して画像を作成する方法を示します。彼は、「ガイダンス スケール」を使用してイメージの抽象度を制御する方法を示しています。

  • 00:35:00 このビデオでは、深層学習モデルを使用して、元の図面のように見える画像を生成する方法を説明しています。これには、安定拡散と呼ばれる手法が使用されます。

  • 00:40:00 このレッスンでは、講師が安定拡散アルゴリズムを使用して機械学習モデルをトレーニングする方法を説明します。彼らは、提供された例に似た画像を生成するのにこのアルゴリズムが役立つと説明しています。インストラクターは、元のテディに似たテディのイメージを生成するために、安定した拡散アルゴリズムがどのように使用されたかの例も共有しています。

  • 00:45:00 このビデオでは、インストラクターが安定拡散の概念を紹介します。これは、従来のアプローチと同等ですが、概念的にはより単純な数学的アプローチです。彼は、画像が手書きの数字である確率を決定できる関数を使用することで、手書きの数字のように見える新しい画像を生成できると説明しています。

  • 00:50:00 このビデオでは、ディープラーニングを使用して、入力画像が手書き数字である確率の勾配を計算する方法を講師が説明しています。

  • 01:05:00 このビデオでは、ニューラル ネットワークのトレーニング方法である安定拡散の考え方を紹介しています。基本的な考え方は、出力を変更するためにニューラル ネットワークへの入力を変更することです。

  • 01:10:00 このビデオでは、インストラクターが、ノイズの多い入力から手書きの数字を正しく識別できるニューラル ネットワークを作成する方法について説明します。最初にトレーニング データセットの作成方法について説明し、次にニューラル ネットのトレーニング方法について説明します。

  • 01:15:00 このビデオでは、数字画像のノイズを予測する方法である深層学習と安定拡散の概念を紹介しています。 Neural Net はノイズを予測し、損失関数は単純です: 入力を取得してノイズを予測します。

  • 01:20:00 このビデオのニューラル ネットワークは、入力に追加されたノイズを予測しようとしています。これは、入力からノイズと見なされるビットを差し引くことによって行われます。これを何度も繰り返した後、最終的に数字のように見えるものを取得します。

  • 01:25:00 このビデオでは、インストラクターが、U-Net と呼ばれるニューラル ネットを使用して画像を近似する方法を示します。問題は、U-Net が大量のストレージを必要とすることです。これは、TPU の大規模なクラウドを持つ Google にとって問題になる可能性があります。

  • 01:30:00 ビデオでは、ディープ ラーニングを使用して画像を圧縮する方法を説明しています。まず、画像を 2 つの畳み込み層をまたがる層に通すことによって圧縮します。このプロセスは、イメージが 64x64x4 バージョンに縮小されるまで繰り返されます。次に、画像がニューラル ネットワーク レイヤーとして保存されます。最後に、ニューラル ネットワークを使用して、さまざまなサイズの画像を圧縮します。

  • 01:35:00 このビデオでは、損失関数を使用してニューラル ネットに画像の圧縮方法を教え、ファイルを小さくする方法について説明しています。圧縮アルゴリズムは適切に機能し、2 人で画像を共有するために使用できます。

  • 01:40:00 このビデオは、潜在データを使用して深層学習モデルをトレーニングする方法に関するチュートリアルを提供します。潜在データは、直接観測されず、ディープ ラーニング モデルのトレーニングに使用される特別なタイプのデータです。潜像は、ニューラル ネットワークを使用して画像のピクセルをエンコードすることによって作成されます。エンコーディング プロセスは、画像の潜在的な表現を作成します。デコーダは、この潜在表現を使用して元の画像を生成します。

  • 01:45:00 このビデオでは、元の画像が何であるかを知っているという事実を利用して、ニューラル ネットワークがノイズをより適切に予測する方法を説明しています。たとえば、数値 3 が与えられると、モデルはノイズが数値 3 を表していないすべてであると言うので、これは便利です。

  • 01:50:00 ビデオでは、2 つのニューラル ネットワークを使用してテキストと画像をエンコードする方法を説明しています。最初のニューラル ネットワークはテキストのエンコードに使用され、2 番目のニューラル ネットワークは画像のエンコードに使用されます。目標は、2 つのネットワークが特定の入力に対して同様の出力を生成することです。出力の類似度は、入力の特徴と出力の特徴の内積によって決まります。

  • 01:55:00 このビデオでは、CLIP テキスト エンコーダーの作成方法を説明しています。これは、類似したテキスト入力に対して類似した埋め込みを生成できる機械学習モデルの一種です。マルチモーダルなテキスト認識と合成が可能になるため、これは重要です。

  • 02:00:00 このビデオでは、講師が深層学習アルゴリズムを使用して機械学習モデルをトレーニングする方法を説明しています。モデルは一連の潜在変数 (データを表す) で初期化され、デコーダーを使用して生データを理解します。次に、テキスト エンコーダーを使用して、データの機械可読キャプションを作成します。最後に、キャプションを入力として使用して U-Net をトレーニングし、勾配 (「スコア関数」) を使用してトレーニング データのノイズ レベルを調整します。

  • 02:05:00 このビデオでは、ディープ ラーニング アルゴリズムがどのように機能し、どのように潜在 (未知) 画像の最適な推測を見つけようとするかについて、著者が説明しています。著者は、アルゴリズムのパラメーターを微調整して結果を改善する方法についても説明しています。

  • 02:10:00 このビデオでは、オプティマイザーなどの微分方程式ソルバーが深層学習モデルと同様のアイデアをどのように使用しているかについて説明しています。このビデオでは、知覚損失やその他の損失関数を使用してディープ ラーニング モデルの精度を向上させる方法について説明します。ビデオは、ディープ ラーニング パイプラインのコードが説明される次のレッスンのプレビューを提供します。

  • 02:15:00 このビデオでは、深層学習の安定性と技術の普及を改善する可能性が高い、いくつかの新しい研究の方向性について説明しています。
Lesson 9: Deep Learning Foundations to Stable Diffusion, 2022
Lesson 9: Deep Learning Foundations to Stable Diffusion, 2022
  • 2022.10.19
  • www.youtube.com
(All lesson resources are available at http://course.fast.ai.) This is the first lesson of part 2 of Practical Deep Learning for Coders. It starts with a tut...
 

深層学習における課題 (Razvan Pascanu 博士 - DeepMind)



深層学習における課題 (Razvan Pascanu 博士 - DeepMind)

DeepMind の Razvan Pascanu 博士が、このビデオで深層学習におけるいくつかの課題について説明しています。彼は、適応性の重要性と、パフォーマンス メトリクスから焦点を移すことの重要性を強調し、ディープ ラーニング システムの計算リソースの制限が実際に有益である可能性があることを示唆しています。さらに、深層学習モデルのパフォーマンスに対するサイズとアーキテクチャの影響など、継続的な学習とこれに関連する機械学習のサブフィールドの課題についても調査しています。 Pascanu 博士はまた、確率的勾配降下の役割、明示的なバイアスの重要性、および深層学習モデルにおける事前トレーニングと誘導バイアスの追加の概念についても説明しています。

DeepMind の Razvan Pascanu 博士が、ディープ ラーニングにおける忘却の問題と、モデルが忘却から回復する方法について説明します。忘却が発生した後も一部の知識は残っている可能性がありますが、どの程度の情報が失われたかを判断することは困難です。 Pascanu 博士は、対象を絞った忘却に関する最近の論文がデータのプライバシーにどのように焦点を当てているかについて言及していますが、この分野ではより多くの研究と焦点が必要です。

  • 00:00:00 このセクションでは、Dr. Razvan Pascanu がディープラーニングにおける適応の重要性に関する彼の洞察について説明します。パフォーマンス メトリクスに重点を置いているにもかかわらず、Pascanu は、この単一の測定値を継続的に最適化することの制限効果を強調しています。環境の予測不可能な変化に直面したときの固定システムの適応性の欠如、画一的なソリューションへの焦点、より複雑なシナリオでの明確に定義されたパフォーマンス指標の欠如、および単独で克服するためのシステムのスケールアップ限られたデータやコンピューティング リソースなどのボトルネックは、ディープ ラーニングへの適応に焦点を移す必要性を引き起こしている問題の一部です。

  • 00:05:00 このセクションでは、Dr. Razvan Pascanu が、ディープ ラーニングのパフォーマンスだけに注目することの限界について説明し、変化に継続的に適応できるシステムを探求することを提案しています。彼は、大規模なデータセットで学習する際のカバレッジとデータの代表性の問題、およびシステムの分散外の一般化能力を評価するという課題を強調しています。 Pascanu は、適応性について考えると視点が変わり、これらの問題のいくつかに対処するのに役立つ可能性があると示唆しています。彼は Thomas Griffiths の主張を引用して、AlphaGo によって行われた特定の動きを理解できない理由は、エージェントが最終的なパフォーマンスのみを気にする一方で、問題をサブゴールに分解する傾向があるためだと述べています。 Pascanu は、視点を切り替えることですべての問題が解決するわけではないが、新しい洞察やアプローチにつながる可能性があると結論付けています。

  • 00:10:00 このセクションでは、パスカヌ博士が、深層学習システムでは制限が有益であるという考えについて説明します。人間には、私たちの考え方を形作る認知的限界がありますが、機械学習システムには、学習方法を形作る計算上の限界があります。制限を克服する必要があるハードルと考えると、これらの制限の利点を見逃す可能性があります。計算量を制限すると、システムが組み合わせ解を見つけなければならなくなり、より良い結果が得られる可能性があります。 Pascanu 博士は、パフォーマンスだけに注目するのではなく、学習のコスト、推論のコスト、およびハードコーディングされた情報の量も考慮する必要があると考えています。ただし、データ分布とデータ ポイントの関係に関しては、克服すべき課題がまだあります。Pascanu 博士は、これらの課題に取り組むために、圏論などのさまざまなツールを探求することの重要性を強調しています。

  • 00:15:00 このセクションでは、Razvan Pascanu-DeepMind 博士が、継続的な学習が重要である理由と、効率的に継続的に学習できるシステムの必要性について説明します。彼は、継続的な学習にはさまざまな種類があり、それぞれの特定の問題を定義して特定することを困難にしていると強調しています。さらに、継続的な学習の定義も矛盾を生み出す可能性があり、使用されるタスクやベンチマークによっては問題の一部がより明確になります。 Pascanu-DeepMind 博士は、継続的な学習を定着させる 1 つの方法は、継続的な半教師あり学習のような実際の問題に焦点を当てることであると示唆しています。別の方法は、強化学習に焦点を当てることです。

  • 00:20:00 このセクションでは、Razvan Pascanu 博士が、強化学習 (RL) における継続学習の課題と、この問題を軽減するためにこれまでに開発された手法について説明します。 RL のデータは非定常であるため、関数の近似を機能させるには、継続的な学習に対処する必要があります。壊滅的な忘却を防ぐためのリプレイ バッファ、Starcraft のエキスパート リーグ、AlphaGo のセールス プレイなど、ブルート フォース手法に基づいていくつかの手法が開発されています。ただし、これらの方法は高価になる可能性があり、常にこれらのコストを削減する必要があります。 Pascanu は興味深い論文を発表しており、RL と教師あり学習は、特徴の転送が RL システムではあまり役に立たないという点で異なり、データの品質を制御し、アクターと批評家を一元化することに焦点を当てる必要があると主張しています。

  • 00:25:00 このセクションでは、教師あり学習がエミュレートできない継続的なアラインメントの側面があることを指摘しながら、スピーカーは学習を継続する際の課題について説明します。講演者は、RL と教師あり学習のこれらの違いをリストした論文について言及しています。さらに、スピーカーは、学習の継続が、ある点への収束ではなく、追跡の問題とどのように考えられるかについて説明します。スピーカーは、新しいデータを微調整するときに発生する可塑性の喪失と、これが一般化にどのように影響するかについて言及しています。最後に、スピーカーは、ニューラル ネットワークでのクレジットの割り当てと、重みごとに勾配を個別に計算する方法について説明します。これにより、平均に影響する投票の競合が発生する可能性があります。

  • 00:30:00 ビデオのこのセクションでは、Razvan Pascanu 博士がその場で学習することについて話しています。これらの力の間に到達しました。 ID データは、すべての力が存在することを保証するため、このプロセスに不可欠です。さらに、学習は間接的に知識を教え、関連するさまざまな概念を同時に学習します。学習ダイナミクス、オプティマイザー、およびゲーム自動化ミドルウェアを改善して、より効率的な学習プロセスを作成し、より少ないデータからより多くの知識を取得できるようにすることが提案されています。

  • 00:35:00 このセクションでは、DeepMind の Razvan Pascanu 博士が、継続学習として知られる機械学習の下位分野における課題について説明します。これには、以前に学んだことを忘れずにシステムに新しいことを教えようとする試みが含まれます。この分野は特定されておらず、ベンチマークは明確に定義されておらず、人々が気にかけていることについて意見の相違があります。 1 つの問題は、データの品質と、学習と忘却の間のトレードオフです。これは、ベンチマークの定義方法に大きく依存します。目標は、より自然なベンチマークを考え出すことですが、「自然」の定義でさえ合意に達していません。

  • 00:40:00 このセクションでは、Razvan Pascanu 博士が AGI システムの概念と人間の知性との関係について説明します。彼は、人間に似た AGI システムを構築することは、解釈を容易にするために望ましいかもしれませんが、必須ではないと説明しています。 AGI学習で使用されるサブゴールは効率的であり、構成の一般化を支援し、新しいことをより迅速に学習できるようにします. Pascanu はまた、深層学習モデルの暗黙のバイアスがどのようにエラーにつながる可能性があるか、および明示的なバイアスを使用してモデルを改善する方法についても説明しています。彼は、曲率が非常に低い領域で過度にパラメータ化されたシステムを使用して、継続的な学習を改善する方法の例を挙げています。

  • 00:45:00 ビデオのこのセクションでは、Dr. Razvan Pascanu がモデルのサイズとアーキテクチャがディープ ラーニングのパフォーマンスに与える影響について説明しています。彼は、規模だけでもシステムの忘却の程度に大きな影響を与え、適切なアーキテクチャを選択することで大きな違いが生じると述べています。この分野は通常、アーキテクチャの選択の影響を無視し、アーキテクチャを不当に比較することがよくあります。 Pascanu 博士はまた、深層学習における最適化の役割を強調し、過度のパラメータ化によってトレーニング エラーがゼロの多くの解が得られることを示唆しています。解の数が急増するにつれて、初期化に最も近い解が収束し、システムは依然として初期化条件に依存します。彼は、低表面が任意の構造を持つことができ、任意に複雑になることを示す研究の例に言及しています。最後に、彼は、システム内の勾配の流れを変更するために使用するスキップ接続により、res net がうまく機能すると説明しています。
     
  • 00:50:00 このセクションでは、Razvan Pascanu 博士が、確率的勾配降下 (SGD) における暗黙のバイアスと明示的なバイアスの重要性を示す最近の結果について話します。 SGD に関しては、SGD のノイズが鋭い最小値を回避するのに役立つと伝統的に考えられていましたが、SGD で使用される正則化には暗黙のバイアスがあることが判明しました。さらに、データ拡張ノイズは有害であり、さまざまなデータ拡張の勾配を平均化すると、このノイズを削減できることがわかりました。さらに、バイアスは非常に重要であり、データ拡張をわずかに調整するだけで、パフォーマンスが大幅に向上する可能性があります。また、さまざまな初期化のアイデアと、問題の解決に不可欠な空間の分割にそれらがどのように影響するかについても調査しました。最後に、事前トレーニングなどの明示的なバイアスの使用も、大幅な改善につながることが示されています。

  • 00:55:00 このセクションでは、Dr. Razvan Pascanu が、深層学習モデルにおける事前トレーニングと帰納的バイアスの追加の概念について説明します。彼は、事前トレーニングは、情報がノード間で適切に送信されることを保証するのに役立ち、専用デバイスの大幅な改善につながる可能性があると説明しています。さらに、Pascanu 博士は、正則化項を追加するのではなく、損失曲面を形成することによって誘導バイアスを追加する独自のアプローチについて説明しています。これにより、重みがゼロに固定され、学習の効率が向上します。彼はまた、壊滅的な忘却に関連する問題と、機械学習の問題を分解するという課題にも取り組んでいます。

  • 01:00:00 このセクションでは、Dr. Pascanu が深層学習における忘却の考え方と、モデルがそれからどのように回復できるかについて説明します。彼は、モデルが特定のことを忘れた後でも、まだいくつかの知識が隠されていることを示唆していますが、実際にどれだけの知識が失われているかを判断することは困難です. Pascanu 博士は、プライバシーを保護するために特定のデータ ポイントがモデルから削除される、対象を絞った忘却に関する今後の論文について言及していますが、この分野ではさらに研究が必要であると考えています。
Challenges in Deep Learning (Dr Razvan Pascanu - DeepMind)
Challenges in Deep Learning (Dr Razvan Pascanu - DeepMind)
  • 2022.11.17
  • www.youtube.com
This talk will cover some of the most important open problems in Deep Learning. A big part of the talk will be focused on Continual Learning as one main open...
 

CS 198-126: Modern Computer Vision Fall 2022 (カリフォルニア大学バークレー校) 講義 1 - 機械学習の概要



CS 198-126: 講義 1 - 機械学習の概要

機械学習に関するこの講義では、インストラクターは、コースの概要、機械学習の概要、さまざまな種類の機械学習、機械学習パイプライン、データのラベル付け、損失関数など、幅広いトピックを扱います。バイアスと分散のトレードオフ、オーバーフィッティング、アンダーフィッティングの概念についても説明します。講師は、機械学習の過程で適切な関数を選択することの重要性と、その過程でのハイパーパラメーターの役割を強調しています。機械学習の全体的な目標は、トレーニング データに適合するだけでなく、新しいデータを正確に予測することです。講師は学生にクラスへの参加を促し、機械学習と深層学習について学ぶ努力をします。

  • 00:00:00 このセクションでは、要約する適切な内容はありません。提供されたトランスクリプトの抜粋は、部屋のマイクの状況に関するスピーカーと聴衆の間の会話のようです。

  • 00:05:00 このセクションでは、Jake と彼の同僚によるコンピューター ビジョンのディープ ラーニングに関するレクチャー シリーズを紹介します。クラスが始まると、Jake はコースの構成を説明し、最初の講義で何を議論するかを概説します。これは、機械学習の概要とそのアプローチ方法です。録音機器には技術的な問題がありましたが、ジェイクはクラスを教えることに興奮しており、自分自身と同僚の紹介から始めました。

  • 00:10:00 このセクションでは、インストラクターが自己紹介とコースの紹介を行います。このコースは、これまで資料にあまり触れたことのない新入生向けに、コンピューター ビジョンとディープ ラーニングの入門ブート キャンプを提供することを目的としています。このコースでは、コンピューター ビジョン タスク、画像の大規模なデータセットからの学習、3D ビジョン、ジェネレーティブ アートなどのトピックを扱います。インストラクターは、コースが楽しくてインタラクティブであるべきであることを強調し、Web サイト上の録画スライドや課題にアクセスしたり、Ed ステムを使用して学生やコース スタッフとやり取りしたりするなど、コースのロジスティクスを提供します。シラバスはウェブサイトでも公開されており、最初の小テストは来週末に締め切られます。

  • 00:15:00 このセクションでは、インストラクターが機械学習 (ML) の概要を説明します。彼は、ML は関数を自分でコーディングするのではなく、データを使用して関数がどのように見えるかを理解するプロセスであると説明しています。 ML では、データが機能をガイドします。インストラクターは、画像から数字の 7 を識別する機能をコーディングで作成するよりも、ML で作成する方がはるかに簡単である例を示します。インストラクターは、ML には、関数の構造を作成し、データから学習したパラメーターを使用して、関数の動作を決定するいくつかのパラメーターを残すテンプレートの作成が含まれていると説明しています。適切な関数テンプレートを作成することが ML モデルの成功を左右する重要性について説明します。

  • 00:20:00 講義のこのセクションでは、スピーカーは、機械学習の鍵は、モデルが従う関数の形式を理解することであると説明しています。この関数は、モデルのクラスと呼ばれることがあり、その特定の部分は空白であり、学習できる値であるパラメーターと呼ばれます。講演者は、正確な結果を得るためには機能の選択が非常に重要であることを強調しています。また、スピーカーは、教師あり学習、教師なし学習、強化学習など、さまざまな種類の機械学習の簡単な概要と分類を提供し、関数、パラメーター、重み、バイアス、ハイパーパラメーター、機能など、機械学習に関連する語彙を紹介します。

  • 00:25:00 このセクションでは、講師が ML パイプラインを中心に機械学習のプロセスを説明します。まず、問題を定義し、データを準備し、モデルと損失関数を選択することが不可欠です。また、モデルが認識できる数値に変換するために、ワン ホット ラベリング システムでデータをラベル付けすることも不可欠です。講師は良いデータの重要性を強調し、質の悪いデータ入力は同じように貧弱な出力をもたらすことに注意します.さらに、データのベクトル化の重要性についても説明し、すべてのフィーチャが同じ縮尺で正しい順序で表現されるようにします。

  • 00:30:00 このセクションでは、講師が機械学習アプリケーションのデータにラベルを付ける方法と、データを正しく表現することが重要な理由について説明します。 1 つのホット ラベル付けが使用され、各ラベルは、対応する位置に 1 があり、その他の場所に 0 を持つベクトルによって表されます。機械学習モデルをトレーニングする場合、モデルと損失関数を定義することが重要です。モデルは特定の問題とデータに合わせて調整する必要があり、さまざまなモデルをテストして、どのモデルが最適に機能するかを確認できます。損失関数はモデルの有効性を測定するものであり、低い値が望ましいです。

  • 00:35:00 このセクションでは、講師が機械学習を最適化するための指標を持つことの重要性について説明し、モデルの出力と正しいラベルの差を測定するための損失関数の概念を紹介します。平均二乗誤差は、モデルの出力と正しいラベルの間の距離を計算するための損失関数の例として与えられています。損失関数は、事前に選択する必要があるハイパーパラメーターです。さらに、講師は、アルゴリズムが損失関数を使用してモデルのパラメーターの最適な値を選択するトレーニング フェーズについて話します。さらに、モデルが以前に見たことのないテスト セットを使用して、モデルのパフォーマンスを評価し、モデルが新しいデータにどの程度一般化されているかを判断します。最後に、モデルがトレーニング データを記憶するだけでなく、新しいデータにうまく一般化することの重要性が強調されています。

  • 00:40:00 このセクションでは、深層学習や他のすべての ML クラスに現れる機械学習の重要な側面として、偏りと分散のトレードオフの概念について説明します。バイアスとは、特定の予測に対するモデルの傾向を指し、分散とは、モデルがデータの複雑さを記憶せずに捉える能力です。高バイアスと高分散の例が示されています。高バイアスとは、モデルがデータセットを正確に学習するのに十分な表現力を備えていない場合であり、高分散はオーバーフィッティングを指します。理想的なモデルは、記憶せずにデータの複雑さを捉えるモデルであり、ゴルディロックス ゾーンとして知られています。バイアスと分散のトレードオフは、機械学習の重要な概念であり、受講するすべての機械学習クラスで遭遇するため、ユーザーは知っておく必要があります。

  • 00:45:00 このセクションでは、講演者は機械学習モデルにおけるオーバーフィッティングとアンダーフィッティングの概念について説明します。機械学習の目標は、トレーニング データに適合させるだけでなく、新しいデータを正確にモデル化して予測することです。モデルがトレーニング データと非常に厳密に一致できるが、新しいデータを正確に予測できない場合は、過学習です。一方、モデルが単純すぎてデータのパターンを捉えることができない場合は、適合不足です。最良のアプローチは、トレーニング データに十分に適合させる一方で、新しいデータに一般化できるようにすることのバランスを見つけることです。これには、ハイパーパラメータの調整と適切な損失関数の選択に関する試行錯誤が伴います。

  • 00:50:00 このセクションでは、インストラクターが機械学習モデルのバイアスと分散の概念について説明します。バイアスの高いモデルは、入力に関係なく一貫して同じ出力を吐き出すため、トレーニング データとテスト データの間で同様の精度になります。一方、高分散モデルはデータにあまりにもぴったりと適合するため、新しいデータでテストすると大きな損失が発生します。インストラクターは、モデルの複雑さと一般化の間のトレードオフを強調しています。これは、特定のタスクのモデルを選択する際に理解することが重要です。最後に、インストラクターは学生に授業に参加し、最優先事項ではないかもしれないが、機械学習と深層学習について学ぶ努力をするよう勧めます。
CS 198-126: Lecture 1 - Intro to Machine Learning
CS 198-126: Lecture 1 - Intro to Machine Learning
  • 2022.12.03
  • www.youtube.com
Lecture 1 - Intro to Machine LearningCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berkeley.e...
 

CS 198-126: 講義 2 - 深層学習入門、パート 1



CS 198-126: 講義 2 - 深層学習入門、パート 1

ディープ ラーニングの概要に関するこの YouTube レクチャーでは、インストラクターがディープ ラーニング モデルの基本と勾配降下法を使用してモデルをトレーニングする方法について説明し、ニューラル ネットワークのさまざまな構成要素と、ディープ ラーニングがこれほど普及しているテクノロジーである理由について説明します。講義では、パーセプトロンの紹介と、複数のパーセプトロンを積み重ねてより複雑で高度なニューラル ネットワークを作成する方法と、ReLU 活性化関数を使用した中間層で、行列の乗算と最終的な加算によって出力を計算する方法について説明します。スピーカーは、Softmax 関数と ReLU アクティベーション関数の使用、モデルのパフォーマンスを評価するための指標として損失関数を使用すること、および勾配降下最適化の概念について説明します。最後に、インストラクターは、ディープ ラーニングの考え方と、データを記憶する能力があるにもかかわらず、大規模なニューラル ネットワークがどのように低損失を促進するかについて説明します。また、講師は、特定のデータセットでパフォーマンスを向上させるために、ニューラル ネットワークのハイパーパラメーター調整の概念を紹介します。彼は、ハイパーパラメーターに普遍的な値はないと指摘し、レイヤー番号やアクティベーション関数などのさまざまなオプションを検討することを提案しています。時間の制約により、講義は突然終了しますが、講師は、今後のクイズが過度に難しくなく、GreatScope プラットフォームでアクセスできることを学生に保証します。

  • 00:00:00 このセクションでは、インストラクターが受講者に、前の講義で質問がないか、特にバイアスと分散のトレードオフとワンホット エンコーディングについて質問します。彼らは、探索的データ分析と k 分割交差検証について簡単に触れており、これらのトピックはコースではあまり扱わないと述べています。講師は、深層学習に関する 2 番目の講義を開始する前に、k 分割交差検証がどのように機能するかについて詳しく説明します。

  • 00:05:00 講義のこのセクションでは、ディープ ラーニング モデルの基礎や勾配降下法を使用してモデルをトレーニングする方法など、受講者が学べることを講師が簡単に説明します。また、この講義では、ニューラル ネットワークのさまざまな構成要素と、ディープ ラーニングがこれほど普及しているテクノロジである理由についても説明します。深層学習の詳細に入る前に、インストラクターは、ベクトル内積や行列ベクトル乗算などの基本的な線形代数の概念を復習します。これらの概念は、ディープ ラーニング モデルの内部動作を理解するために重要です。インストラクターは、生徒が資料を完全に理解できるように、例と表記法を提供します。

  • 00:10:00 ビデオのこのセクションでは、講演者は、ブラック ボックス関数のパラメーターを表すためにベクトルと行列が使用されるディープ ラーニングの表記とインデックスについて説明します。スピーカーは、行列の各要素がパラメーターであり、ベクトル内でインデックスを付ける場合、単一のスカラーを参照すると説明します。彼らは、入力に関して偏導関数を簡単に取得できることを強調し、ニューラル ネットワークの背後にある動機を説明しています。

  • 00:15:00 このセクションでは、回帰、分類、強化学習など、深層学習で解決できるさまざまな種類の問題について講師が説明します。目標は、人間の脳の能力と同様に、あらゆる種類のタスクに使用できるユニバーサル モデルを作成することです。このモデルを作成するために、講師はニューロンに似た数学的定式化であるパーセプトロンを紹介します。パーセプトロンは、入力を受け取り、それらに重みを付けて追加し、ステップ関数を介してそれらをアクティブにします。目標は、複雑に見える多項式の非線形回帰など、複雑な問題を解決できるミニブレインを作成することです。

  • 00:20:00 このセクションのビデオでは、複数のパーセプトロンを積み重ねて、より複雑で洗練されたニューラル ネットワークを作成するという概念を紹介しています。このビデオでは、入力と重みの間のドット積、およびバイアス項として、パーセプトロン演算をよりコンパクトに記述する方法を示しています。次に、ビデオはこの操作を実行し、複数のパーセプトロンに対してそれを繰り返して、単一層のニューラル ネットワークを作成します。このビデオでは、各パーセプトロンの重みは、データセットと目前の問題に応じて学習できることに注意してください。

  • 00:25:00 このセクションでは、講師がドット積を使用してパーセプトロンの出力を計算する方法を説明します。各パーセプトロンには独自の重みとバイアスがあります。ベクトルの各要素はパーセプトロン出力を表し、これはスカラーが追加されたドット積です。次に、おもちゃの例を紹介し、聴衆に隣の人に目を向けて、出力を予測するための数学について話し合うように求めます。

  • 00:30:00 このセクションでは、スピーカーは、2 つの入力を持つ入力層、3 つのノードを持つ隠れ層、1 つの出力を持つ出力層で構成される基本的なニューラル ネットワークを紹介します。スピーカーは、ReLU 活性化関数を使用する中間層を使用して、行列の乗算と最終的な加算によって出力を計算する方法を示します。次にスピーカーは、フォワード パス表記を圧縮する方法を説明し、重みの順序に関する質問に答えます。最後に、講演者はニューラル ネットワークを使用した分類について簡単に紹介します。

  • 00:35:00 講義のこのセクションでは、講演者は深層学習モデルの出力の解釈について話します。話者は、数字を分類し、ラベルをワンホット表現として表す例を使用します。モデルの出力を制約し、モデルの出力がモデルが特定のクラスに属すると考える確率として解釈できるようにするために、スピーカーはニューラル ネットワークの最後にソフトマックス操作を導入します。ソフトマックス関数は、すべての出力値の指数を取得し、結果を正規化し、すべての要素が 0 と 1 の間にあり、合計が 1 になるようにします。すべての単一の値、したがって、深層学習には常に不確実性があるというミーム。

  • 00:40:00 このセクションでは、講師が Softmax 関数について説明します。この関数は、値のベクトルを取り込み、合計が 1 ですべてがゼロより大きい値のベクトルを出力します。この関数は、ネットワークの出力を異なるクラスの確率として解釈したい場合に、ニューラル ネットワークの最後で使用されます。また、ネットワークを複雑にする ReLU アクティベーション関数を追加する理由は、ReLU がないと単純な行列乗算では取得できない複雑な関数をモデル化できるようにするためであると説明しています。講師は、平均二乗誤差など、モデルのパフォーマンスを評価するためのメトリックとして損失関数を使用することについても触れています。最後に、勾配降下最適化の概念を説明するために、丘の上にいて、周りに片足しか見えずに底に行きたいというメタファーが導入されます。

  • 00:45:00 このセクションでは、講師が最適化におけるヒル クライミングの概念と、それがディープ ラーニングにどのように適用されるかを紹介します。ニューラル ネットワークはベクトル関数であり、最も急な方向はベクトル関数の勾配です。講師は、入力に関して複数の変数の任意の関数の勾配を取得すると、最も急な方向が得られる多変数計算を使用して、最も急な上昇の方向を把握できると説明しています。深層学習では、最小損失を最適化する最適な重みを見つける問題は非常に難しいため、講師は、すべての重みとバイアスをランダムな値に初期化し、最急降下の方向に小さなステップを踏むことを提案しています。継続的な評価により、このプロセスは重みとバイアスの正しい選択につながるはずです。

  • 00:50:00 このセクションでは、スピーカーは、個々のパラメーターのすべてに関して損失関数の偏導関数を取得することにより、損失関数で坂を下る方法について説明します。話者は、損失関数が重みやバイアスなどのすべてのパラメーターに依存することにも言及しています。これらの重みとバイアスを更新するには、現在の値で評価されたパラメーターに関する損失関数の導関数を取得し、学習率によってスケーリングされた最大の変化の反対方向に小さなステップを実行します。更新後、損失関数の値が大幅に減少することが期待されます。

  • 00:55:00 このセクションでは、講師は、データセット全体の損失を減らすことを目標に、1 つの例の損失を減らすために重みをステップする方法を説明します。すべてのトレーニング例の勾配が取得され、平均すると、データセット全体で最大の損失減少をもたらすために実行できるステップです。計算効率を高めるには、それをチャンクアップして、バッチ勾配降下法と呼ばれる小さなチャンクを見てください。講師は、活性化関数や損失関数などのネットワーク構成要素のプロセスを詳しく説明し、結局のところ、重要なのは損失関数が私たちがどれだけうまくやっているかを定量化することだけであることを強調しています.講師はまた、ニューラル ネットワークのすべての重みとバイアスに対して最適な値を定義する具体的な方法がないため、これらの遅延メソッドを使用していると述べています。最後に、深層学習の考え方と、大規模なニューラル ネットワークがデータを記憶する能力があるにもかかわらず、どのように低損失を促進するかについての説明を、経験的調査結果が示すように提供します。

  • 01:00:00 このセクションでは、講師がニューラル ネットワークのハイパーパラメータを調整して、特定のデータセットでパフォーマンスを最適化するプロセスについて説明します。彼は、すべてのデータセットで機能するハイパーパラメーターの固定セットが存在しないことを認め、代わりに、レイヤーの数、活性化関数などのパラメーターのさまざまな値をテストすることを推奨しています。講師は講義の終わりを急がなければならず、クイズはすぐにリリースされますが、それほど難しいものではなく、広い範囲で利用できるようになります.
CS 198-126: Lecture 2 - Intro to Deep Learning, Part 1
CS 198-126: Lecture 2 - Intro to Deep Learning, Part 1
  • 2022.12.03
  • www.youtube.com
Lecture 2 - Intro to Deep Learning, Part 1CS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berke...