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

 

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



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

講義のこのセクションでは、逆伝播の概念について説明します。これは、冗長な操作を実行することなく、勾配降下アルゴリズムに必要なすべての偏導関数をより迅速に取得する方法です。講師は、深層学習の最適化のためにバニラ勾配降下法を改善する方法についても説明し、最適化手法としてモメンタム、RMSprop、Adam を紹介します。モデルのトレーニング履歴を追跡することの重要性、バッチ正規化の使用、およびモデルのパフォーマンスを向上させる手法としてのアンサンブルについても説明します。また、ドロップアウトやスキップ接続などのオーバーフィッティングを減らすためにディープ ラーニングで一般的に使用される手法についても説明します。最後に、講師は PyTorch の使いやすさに簡単に触れ、フロアを質問に開きます。

  • 00:00:00 レクチャーのこのセクションでは、講演者がコーディング課題の締め切りと最初のクイズについて簡単な発表を行います。最初の課題は、生徒がコースの残りの部分で必要なツールを学習する機会であり、クイズは理解度チェックとして機能することを目的としています。次にスピーカーは、バックプロパゲーションや最新の深層学習ツールなど、講義で取り上げるトピックの概要を説明し、バックプロパゲーションの数学的な詳細を理解していなくても、高レベルのアイデアを理解していれば問題ないことを学生に保証します。 .講義の後半は重要で、最新の深層学習をうまく機能させるツールについて説明します。

  • 00:05:00 講義のこのセクションでは、関数の計算グラフを作成し、連鎖律を使用して偏導関数を計算する概念について説明します。計算グラフにより、個々のノードに関する導関数を効率的に計算できます。次に、この概念をおもちゃのニューラル ネットワークの例の逆伝播に適用します。この例では、チェーン ルールを使用して、各重みとバイアス パラメーターに関する損失の偏導関数を計算します。各パラメーターから損失ノードまでのパスに沿ってすべての偏導関数を乗算することにより、冗長な計算を回避できます。

  • 00:10:00 このセクションでは、バックプロパゲーションの概念について説明します。これは、冗長な操作を実行することなく、勾配降下アルゴリズムに必要なすべての偏導関数をより高速に取得する方法です。ネットワークの深さが増すにつれて、多くの計算が繰り返されて冗長になり、深いネットワークのトレーニングには適さなくなります。バックプロパゲーションは、フォワード パス中に値をキャッシュし、バックワード パス中に偏導関数を計算するときに値を再利用することによって機能します。ただし、偏導関数には行列と行列が含まれるようになったため、通常はよりコストのかかる乗算演算が不要になるため、キャッシングがより重要になります。このビデオでは、pyTorch などのツールを使用して、必要な値を自動的にキャッシュできることを説明しています。

  • 00:15:00 このセクションでは、講師が深層学習の最適化のためにバニラ勾配降下法を改善する方法について説明します。バニラ勾配降下の問題の 1 つは、勾配がゼロである極小点またはフラット スポットで苦労し、アルゴリズムがより良い解を見つけられないことです。これを解決するために、講師は丘を転がり落ちるボールに触発された運動量の概念を紹介します。過去の勾配の加重平均を取り、それを現在の勾配に追加することで、運動量は小さな極小点とフラット スポットを押しのけるのに役立ちます。技術的には真の勾配降下法ではありませんが、モメンタムによってアルゴリズムはこれらの障害を乗り越え、うまくいけばより良い解決策を見つけることができます。講師は、現在の勾配を縮小しすぎないように、過去の勾配の加重平均をスケーリングする方法についても説明します。

  • 00:20:00 このセクションでは、勾配降下における運動量の概念について説明します。講義では、ステップ サイズが大きくなりすぎたり、一貫性がなくなったりしないように、ステップ サイズを制御するためにベータが使用されると説明されています。講義では、下り坂を転がり落ちるときにステップ サイズを同じに保つ方法として運動量を説明しますが、勾配が歴史的に指し示した方向に移動し続けるためにも使用されます。次に、前の勾配の成分の 2 乗の加重平均を格納する RMS プロップ最適化手法を紹介します。

  • 00:25:00 このセクションでは、インストラクターが勾配降下法の一形態である RMSprop の概念と、従来の方法と比較してどのように機能するかを説明します。彼は、RMSprop が勾配を勾配の移動平均の 2 乗の平方根で除算することを説明し、それを小さな勾配と大きな勾配の例を使用して示します。これを行うことにより、アルゴリズムは学習率を適応的に調整することができます。これは、適応学習率として知られています。彼は最終的に、Adam が RMSprop と従来の方法の両方の利点を備えているため、勾配降下法の最良の形式であると結論付けています。

  • 00:30:00 このセクションでは、講師は、深層学習モデルの勾配降下の推奨最適化手法として、RMSProp と運動量の組み合わせである Adam を紹介します。 Adam は、ブーストが必要なフラット スポットの問題を考慮しながら、運動量のある極小値を回避できるという利点を考慮しています。グラデーションの方向は変更されず、スケーリングのみが変更されます。この講義では、Adam または RMSProp が局所的最小値に達した後に発生する可能性のある異常な動作に対処する方法として、モデル チェックポイントを提案しています。二次最適化手法も使用できますが、より多くの計算能力が必要であり、あまり一般的ではありません。

  • 00:35:00 このセクションでは、どのチェックポイントが最適であるかを効果的に判断するために、モデルのトレーニング履歴を追跡することの重要性と、これまで見たことのない新しいデータでモデルがどれだけうまく機能しているかをインストラクターが説明します。バッチ正規化と呼ばれる正規化手法についても説明します。これには、ニューラル ネットワーク上のすべての単一のアクティブ化について、平均を減算し、標準偏差で割ってから、各重みに値ガンマを掛けて、ネットワークが適切と判断した場合にこれらの値を再スケーリングできるようにすることが含まれます。バイアスを追加します。この手法は、データを正規化するのに役立ち、勾配降下で送信するのがはるかに簡単な規則的な失われた表面を作成するため、作業がはるかに簡単になります。

  • 00:40:00 このセクションでは、バッチ正規化について学びます。これは、特定の層からの出力の平均と標準偏差を計算することによって、ニューラル ネットワークのニューロンの活性化を正規化するために使用される方法です。この正規化により、ニューラル ネットワークの既定の動作が正規化されたアクティベーションになり、適切に動作します。この方法はモデルに表現力を追加しませんが、ネットワークのすべての層にわたる入力として、より優れた勾配とより正規化された値の範囲を可能にします。さらに、複数のモデルをトレーニングし、それらの予測を平均化することにより、モデルのパフォーマンスを向上させるために使用される手法としてのアンサンブルについても学びます。

  • 00:45:00 このセクションでは、オーバーフィッティングを減らすためにディープ ラーニングで一般的に使用される 2 つの手法、ドロップアウトとスキップ接続について説明します。ドロップアウトでは、トレーニングの前に特定の数のニューロンをランダムに削除して、各ニューロンにその前にあるすべての機能を使用する方法を学習させ、他のニューロンと同じ出力を学習させます。対照的に、スキップ接続では、ノイズや混乱を加えることなく情報を伝達するのに役立つ恒等関数の学習が可能になります。これには、すべての重みのゼロを学習することが含まれます。これにより、適切な情報を最後の層に渡して正しく分類することが簡単にできます。どちらの手法も、このレクチャーで説明する他の手法とともに、オーバーフィッティングを減らし、任意の深さのネットワークを可能にすることで、パフォーマンスを向上させるのに役立ちます。

  • 00:50:00 このセクションでは、講師がニューラル ネットワークを構築する際にスキップ接続がどのように役立つかを説明します。これらの接続を追加してパフォーマンスを向上させ、ネットワークを改善できます。講師は PyTorch について十分に議論する時間がありませんでしたが、宿題で説明されています。彼らは、numpy の使用方法を既に知っている場合、PyTorch は非常に簡単に使用できると説明しています。値を受け取って返す関数を作成し、特定の入力に対する勾配の値を計算できるようにします。講師は、質疑応答を行って締めくくります。
CS 198-126: Lecture 3 - Intro to Deep Learning, Part 2
CS 198-126: Lecture 3 - Intro to Deep Learning, Part 2
  • 2022.12.03
  • www.youtube.com
Lecture 3 - Intro to Deep Learning, Part 2CS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berke...
 

CS 198-126: 講義 4 - 事前トレーニングと増強の概要



CS 198-126: 講義 4 - 事前トレーニングと増強の概要

この講義では、講演者は、機械学習における特徴抽出の進化、深層学習の利点、転移学習を使用してモデルの精度と速度を向上させる方法について説明します。また、ニューラル ネットワークにおける層の凍結と微調整の概念、およびカテゴリ変数の次元を削減する際の埋め込みの重要性についても説明します。この講義では、ジグソーパズル、ローテーション、マスクされた単語予測タスクなど、自己教師あり学習とそのさまざまなタスクを紹介します。これらのタスクは、モデルを事前トレーニングし、学習した表現を下流のタスクに転送するために使用できます。最後に、コンピューター ビジョンにおける自己教師あり学習への新たな関心について説明し、講義では、学生が集中力の高いノートブックで宿題を完了することを奨励しています。

  • 00:05:00 講義のこのセクションでは、著者は表現学習と浅い学習について説明します。浅い学習では、機械学習パイプラインは入力 X から始まり、特徴抽出器を使用してそこから特徴が抽出され、抽出された特徴が機械学習アルゴリズムに渡されて出力 Y が取得されます。ファシリテーターは、特徴抽出は依存していると説明します。データ上で、次のことができます
    表形式のデータの場合は簡単ですが、テキスト、オーディオ、画像などのデータの場合は複雑です。ただし、画像の場合は、従来のコンピューター ビジョンで利用できる特殊な特徴抽出器があります。

  • 00:10:00 このセクションでは、講師が特徴抽出の概念と、それが機械学習でどのように進化したかを説明します。従来の機械学習では、画像内のエッジ情報をキャプチャする Hog などの手作業でプログラムされた特徴抽出器を使用してモデルを作成します。ただし、機能エクストラクタはタスクごとに異なるため、このプロセスは困難です。ディープ ラーニングは、特徴抽出と出力予測の両方を学習することにより、エンド ツー エンドのプロセスを提供します。講師は、このプロセスにより、入力データの抽象表現の学習が可能になると説明しています。入力データは、ニューラル ネットワークの学習済み特徴抽出器の層を通過し、階層表現が得られます。この講義では、ディープ ニューラル ネットワークが自動車の画像の表現を学習する方法の例を示します。

  • 00:15:00 このセクションでは、スピーカーは、ニューラル ネットワークの深さが表現の改良にどのように役立つかを説明します。ネットワークの初期のレイヤーはエッジなどの低レベルの詳細を検出しますが、後のレイヤーは画像内のドアや窓などのより具体的な機能に焦点を当てます。最後のレイヤーは、入力画像が実際にモデルが認識することを学習したものであるかどうかを判断し、抽象的なメンタル モデルを作成します。次にスピーカーは、事前トレーニング済みのモデルを活用し、時間、計算、およびデータの面でコストがかかる可能性のあるモデルをゼロからトレーニングする必要を回避する方法として、転移学習について説明します。

  • 00:20:00 このセクションでは、スピーカーは、ニューラル ネットワークの階層化の概念と、事前トレーニングと転移学習を使用してモデルの精度と速度を向上させる方法について説明します。講演者は、初期の層が形状やパターンなどの一般的な特徴をどのように捉え、後の層がオブジェクトや人間などのより抽象的な特徴を捉えているかを説明します。特定のレイヤーが保持され、後続のモデルで使用される凍結の概念についても、特定のタスク用にモデルをカスタマイズする方法として説明されています。凍結技術は、モデルのトレーニングを高速化し、精度を向上させることができますが、レイヤーが適切なレベルで凍結されるように注意する必要があります。

  • 00:25:00 このセクションでは、インストラクターがニューラル ネットワークの転移学習について説明します。具体的には、事前トレーニング済みのモデルを出力レイヤーと非凍結レイヤーでさらにトレーニングする微調整手法について説明します。彼らは、事前トレーニング済みモデルをフリーズするか微調整するかを決定する際に、新しいデータセットのサイズと元のデータセットとの類似性を考慮することの重要性を強調しています。さらに、ニューラル ネットワークにおける埋め込みの重要性と、埋め込みによってカテゴリ変数の次元を減らし、変換空間での表現を容易にする方法についても説明します。埋め込みの使用法は、書籍のジャンルを低次元ベクトル空間にマッピングする例を通して説明されています。

  • 00:30:00 講義のこのセクションでは、教授は高次元データとそれを表現しようとするときに生じる困難について話します。教授は、高次元データを表すすべての重要な情報を低次元空間にエンコードすることを含む、低次元潜在空間の概念を紹介します。目標は、機能の潜在空間と呼ばれるものを通じてこの情報を取得することであり、多くの場合、埋め込みによって実現できます。教授は、データが高次元空間でまばらに分散しないように、3D 空間で 3 つの変数の代わりに 1 つの変数だけを使用して 1 次元構造を表す方法の例を示します。最後に、教授は、softmax 損失関数を使用して MNIST データセット内の画像を分類するモデルをトレーニングし、モデル内のいくつかのレイヤーの出力を画像の表現として取得することにより、埋め込みを学習する方法を説明します。

  • 00:35:00 このセクションでは、講演者は事前学習済みネットワークと転移学習の利点について説明します。これにより、時間と計算能力を節約しながら、より良い結果を得ることができます。事前トレーニング済みのネットワークは、より大きなデータセットでトレーニングできるため、表現が向上します。転移学習を使用すると、事前にトレーニングされたネットワークから学習した知識を別のタスクに適用できるため、自然言語処理で特に役立ちます。次に、生データから学習することにより、ラベルからの監督なしで学習できる自己教師付き事前トレーニングが導入されます。

  • 00:40:00 このセクションでは、講師は教師なし学習について説明します。教師なし学習は、ラベルが提供されていないタイプの学習ですが、モデルはデータセット内のパターンと関係を学習します。教師なし学習の例には、主成分分析 (PCA) とクラスタリングが含まれます。次に講師は、外部ラベルではなく、データ自体から監督を提供することを含む、自己教師あり学習について話します。この手法には、観測された部分からデータの隠れた部分またはプロパティを予測することが含まれます。自己教師あり学習は、ラベル付けされたデータが不足しているか、収集するのに費用がかかる状況で有益です。

  • 00:45:00 講義のこのセクションでは、スピーカーは自己教師あり学習と、口実タスクやダウンストリーム タスクなどの関連するさまざまなタスクについて説明します。これらのタスクは、コンピューター ビジョン、NLP、RL などのさまざまなドメインで使用できます。次にスピーカーは、ジグソー タスクなどの自己教師あり学習タスクの例を示します。このタスクでは、画像を 9 つのパッチに分割してシャッフルし、モデルに元の順序を予測するよう求めます。もう 1 つのタスクは回転タスクです。このタスクでは、画像をある角度だけ回転させ、モデルに回転角度を予測するよう求めます。これらのタスクを使用して、モデルを事前トレーニングし、学習した表現を画像分類やオブジェクト検出などのダウンストリーム タスクに転送できます。

  • 00:50:00 講義のこのセクションでは、自己教師あり学習 (SSL) を使用したモデルの事前トレーニングの概念が紹介されています。コンピューター ビジョンにおける SSL の 1 つの例は、モデルをトレーニングして画像の回転角度を予測し、低レベルの詳細ではなくオブジェクトの向き、位置、ポーズ、およびタイプに焦点を当てることです。 SSL は NLP や音声にも適用できるため、この考え方は CV に限定されません。たとえば、文から 1 つまたは複数の単語を予測するなどです。 BERT と呼ばれる NLP で有名なモデルは、Transformer モデルを使用して 2 つの文からマスクされた単語を同時に予測し、単語レベルと文レベルの埋め込みを学習します。 BERT は NLP で大成功を収めました。

  • 00:55:00 講演のこのセクションでは、自然言語処理 (NLP) における BERT の成功を受けて、コンピューター ビジョン (CV) における自己教師あり学習 (SSL) への新たな関心について講演者が説明します。現在の CV の最先端は BERT に似ていると言われています。この講義では、表現学習、転移学習、および SSL の概要を説明し、さまざまな概念と方法論を紹介します。この講義には宿題はありませんが、来週の火曜日に予定されている高 Crush ノートブックのクラスター全体の宿題があり、CV の高度な SSL に関する今後の講義には宿題があります。スライド デッキは、レビューのために Web サイトからアクセスできます。
CS 198-126: Lecture 4 - Intro to Pretraining and Augmentations
CS 198-126: Lecture 4 - Intro to Pretraining and Augmentations
  • 2022.12.03
  • www.youtube.com
Lecture 4 - Intro to Pretraining and AugmentationsCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://...
 

CS 198-126: 講義 5 - コンピュータ ビジョンの概要



CS 198-126: 講義 5 - コンピュータ ビジョンの概要

コンピュータ ビジョンに関するこの講義では、コンピュータ ビジョンの歴史と長年にわたるその発展など、さまざまなトピックを取り上げます。インストラクターは、ディープ ラーニングと、ディープ ラーニングが従来のコンピューター ビジョン手法をどのように改善するかについても説明します。この講義では、畳み込みの概念と、それらがコンピューター ビジョンで特徴抽出器としてどのように使用され、畳み込みニューラル ネットワーク (CNN) が作成されるかについて詳しく説明します。さらに、講義では受容野の役割について説明し、CNN の受容野を増加させる方法としてプーリング層を紹介します。全体として、この講義では、分野としてのコンピューター ビジョンの概要と、画像から情報を抽出するために使用される手法について説明します。講義の後半では、パディングや同じパディングなど、畳み込み中に画像のサイズを維持するためのさまざまな手法について説明します。畳み込み層のストライドの概念についても説明し、プーリング層の効果をどのように模倣できるかを示します。 CNN の構造と、カーネル サイズ、ストライド、パディング、およびプーリング レイヤーを含むそのハイパー パラメーターについて説明し、畳み込みレイヤーが特徴の低次元ブロックを完全に接続されたネットワークに渡す特徴抽出器としてどのように機能するかに重点を置いて説明します。分類のためのネットワーク。講義では、手書き数字を分類するための LeNet ネットワーク アーキテクチャと、ニューラル ネットワークを通過する前に画像データを正規化することの重要性についても説明します。最後に、追加のトレーニング データを作成するための手法としてデータ拡張について説明し、トレーニング中のモデル チェックポイントの重要性を強調します。

  • 00:00:00 このセクションでは、イメージからセマンティック レベルで情報を抽出する AI の分野として、コンピューター ビジョンを紹介します。機械学習モデルが実行できるタスクとして、分類、検出、セグメンテーションの概要を説明しています。マシンが画像を理解してこれらのタスクを実行できるようにするには、画像の内容をより高いレベルで理解する必要があるため、モデルはエッジなどの特徴を抽出して画像を分類するように設計されています。インストラクターは、コンピューター ビジョンの分野は認知科学と心理学にルーツがあり、豚などの特徴抽出器の開発は 1959 年に猫で行われた実験に端を発していると説明しています。

  • 00:05:00 レクチャーのこのセクションでは、特徴抽出器が手作業でプログラムされていた従来のコンピューター ビジョン手法が、ディープ ラーニングによってどのように置き換えられたかについて講師が説明します。ディープ ラーニングを使用すると、モデルは特徴から出力へのマッピングだけでなく、特徴抽出器自体も学習できます。このブレークスルーは、2012 年に Alex Krajevski のニューラル ネットワークによってもたらされました。インストラクターは、ImageNet の視覚認識の課題と、AlexNet がどのようにエラー率を大幅に減らし、深層学習の転換点になったかについて話します。次に、画像をマトリックスとしてデジタル的に表現する方法と、グレースケール画像を表現するための輝度値の使用について説明します。

  • 00:10:00 講義のこのセクションでは、講師が画像の色次元とチャネルの概念について説明します。色付きの各ピクセルは、3 つの異なる値に分解できます。つまり、RGB イメージは、各コンポーネントの 3 つの行列で表すことができます。これらの行列を互いに積み重ねて、テンソルと呼ばれる 3D 行列を形成できます。インストラクターは、これは畳み込みニューラル ネットワーク (CNN) を理解するための重要な概念であると述べています。これは、3D テンソルをベクトルに変換する必要があるため、通常のニューラル ネットワークや多層パーセプトロンは大きな画像の処理には役立たないためです。要素数。

  • 00:15:00 このセクションでは、スピーカーはコンピューター ビジョンの完全に接続されたレイヤーのパラメーターの数について説明します。このレイヤーは 120,000 次元の入力を取り、10 次元のベクトルを出力します。つまり、重み行列は 10 x 120,000 の次元を持つ必要があり、バイアス ベクトルから 120 万の重みと 10 個のパラメーターが得られます。この数のパラメーターは、特に高次元の出力が必要な場合に、ネットワークが大きくなりすぎてトレーニングが難しくなります。さらに、人間は画像をさまざまな部分に分解し、この情報を使用してメンタル モデルを構築する傾向があるため、各ピクセルを個別の特徴として扱うことは、画像分類では一般的ではありません。講演者は、データをより理解するために、個々のピクセルではなく、画像の局所的な領域を見ることを提案しています。

  • 00:20:00 このセクションでは、講師は、情報を収集するために画像内の隣接するピクセルを調べることの重要性と、これが通常各ピクセルを個別に扱うニューラル ネットワークにどのような課題をもたらすかについて説明します。彼は、コンピューター ビジョンに関連し、画像の構造に関係する局所領域の概念を紹介します。講義では、入力から階層表現を抽出する必要性と、これらの表現が互いにどのように依存しているかについても説明し、モデルが顔がどのように見えるかなどの抽象的な概念を学習できるようにします。最後に、レクチャーでは、一貫性を維持するために、画像の表現をそのピクセルと共に変換する必要がある並進等価性の概念について説明します。

  • 00:25:00 このセクションでは、コンピュータ ビジョンにおける並進不変性と局所領域処理の概念について説明します。従来のネットワーク アーキテクチャではこれらの要件に対応できないため、研究者は代わりに畳み込みニューラル ネットワーク (CNN) を開発するようになりました。 CNN に含まれる畳み込み演算は、画像をスライドさせて内積を計算して新しい出力を作成できる重みフィルターを使用して説明されています。重み共有手法も導入され、各パッチが同じ重みとバイアスを持つレイヤーを通過して同じ表現が生成され、CNN がコンピューター ビジョンの基準を満たすことができるようになります。

  • 00:30:00 レクチャーのこのセクションでは、スピーカーは畳み込みのプロセスを説明します。これには、入力パッチのフィルターの要素ごとの積を取り、結果を合計することが含まれます。このプロセスにより、コンピューター ビジョン アルゴリズムは、画像全体ではなく入力画像の 1 つのパッチに焦点を当て、各パッチに同じフィルターを使用して重みを共有できます。フィルターを戦略的に設計することで、アルゴリズムはエッジ検出などのさまざまな種類の情報を抽出できます。スピーカーは、畳み込み出力の中央に沿って高いアクティベーションを強調表示し、エッジで低いアクティベーションを強調することによって、垂直エッジを検出するように設計されたフィルターの例を提供します。

  • 00:35:00 講義のこのセクションでは、インストラクターがコンピューター ビジョンにおける畳み込みの概念と、それらが特徴抽出器としてどのように使用されるかについて説明します。畳み込みニューラル ネットワーク (CNN) は、画像からさまざまな特徴を抽出できるフィルターを使用します。これらのフィルターは、ディープ ラーニングのプロセスを通じて学習できます。より多くのフィルターを使用することで、CNN は入力画像からさまざまな種類の特徴を抽出し、それらすべてに関する情報を使用できます。インストラクターは、畳み込みプロセスを複数のチャネルを持つ入力画像に一般化する方法についても説明します。このプロセスからの出力は、さまざまな機能のアクティベーションを表すアクティベーション マップと呼ばれます。

  • 00:40:00 このセクションでは、講演者は画像を RGB 形式で表現する概念と、アクティベーション マップが 3D 構造を持つ方法について説明します。このプロセスでは、さまざまな特徴を抽出し、それらを畳み込んで 3D 出力を取得します。この畳み込み演算は一般的であり、任意の 3D 入力に適用できます。これにより、畳み込み層を相互に積み重ねることができ、ディープ ニューラル ネットワークにつながります。さらに、講演者は、畳み込みニューラル ネットワークだけに限定されない受容野の概念に関する実装の詳細について説明します。

  • 00:45:00 このセクションでは、活性化マップにおける受容野の概念について説明します。受容野とは、活性化マップの各要素に影響を与える入力の領域を指します。このセクションでは、受容野がどのように機能するか、および受容野のサイズを大きくするとネットワーク パフォーマンスにどのように影響するかについて説明します。また、受容野はさまざまな畳み込みフィルターの影響を受ける可能性があり、受容野が大きすぎたり小さすぎたりすると、入力の重要な情報が失われる可能性があることにも注意してください。

  • 00:50:00 受容野、講義のこのセクションでは、受容野のサイズが畳み込みニューラル ネットワーク (CNN) の画像分類能力にどのように影響するかを教授が説明します。受容野が小さいと、ネットワークが画像分類タスクに十分な情報を処理できなくなる可能性がありますが、受容野が大きいとオーバーフィッティングにつながる可能性があります。この講義では、CNN で活性化関数を使用して非線形性を導入することの重要性についても触れています。教授は、2 つの異なる畳み込みが同じ受容野を持っている可能性がある一方で、活性化関数による非線形性の導入により、それらの出力は同じではないと説明しています。

  • 00:55:00 このセクションでは、モデルを大きくしすぎる可能性のあるレイヤーを追加しすぎずに、畳み込みニューラル ネットワークの受容野を増やす方法として、プーリング レイヤーを講師が紹介します。層をプーリングするには、入力の正方形の領域を見て、最大または平均演算を適用する必要があります。たとえば、2 x 2 の最大プーリングでは、モデルは 4 つのピクセルの各チャンクから 1 つの値のみを選択できるため、入力の次元が 2 だけ減少します。講師は、マックス プーリングがローカル エリアからの重要な情報をどのように保存するかについても説明し、アクティベーションの空間次元を削減する上で一般的なものにします。

  • 01:00:00 このセクションでは、スピーカーは、パディングと同じパディングのプロセスを含む、畳み込み中に画像の高さと幅を維持するためのさまざまな手法について説明します。同じパディングは、活性化マップの空間次元を維持するために入力をゼロまたはその他の定数で囲むことによって人為的に入力のサイズを大きくする場合です。これは深層学習コミュニティの好みですが、通常のパディングよりもパフォーマンスが向上するという経験的証拠はありません。さらに、講演者は、畳み込みにおけるストライドの概念と、それがプーリング層と同じ効果を持つ方法について説明します。

  • 01:05:00 このセクションでは、講師は、コンピューター ビジョンのプーリング層の近似として機能する畳み込み層でのストライドの使用について説明します。彼は、1 より大きいストライドを使用することは、畳み込みレイヤーとプーリング レイヤーを組み合わせることと似ていますが、それを実行することに特に利点はないと説明しています。彼はまた、元の入力次元、フィルター サイズ、パディング サイズ、ストライドなどの要因に依存する出力アクティベーションの次元を決定する式を提示します。次に講師は、畳み込み層を介して勾配の逆伝播を行う方法を説明し、PyTorch を使用すると、複数のパラメーターを使用して畳み込み層を簡単に定義できることを強調します。

  • 01:10:00 このセクションでは、講師が畳み込み層のハイパーパラメーターと、それらが CNN の構造を構成する方法について説明します。これらのハイパーパラメーターには、カーネル サイズ、ストライド、パディング、およびプーリング レイヤーが含まれます。講師は、畳み込み層は、高次元の入力を、分類タスクのために完全に接続されたネットワークに渡すことができる特徴の低次元ブロックに変換する特徴抽出器と見なすことができると説明しています。最後の畳み込み層の出力は特徴の低次元ブロックであり、分類器である赤いボックス内の MLP に渡すことができます。最後に講師は、さまざまな種類のプーリング層があることを説明しますが、ディープ ラーニング コミュニティでは、平均プーリングではなく最大プーリングを使用するのが一般的です。

  • 01:15:00 このセクションでは、実際の例を使用して畳み込みニューラル ネットワーク (CNN) の構造をビデオで説明します。 LeNet と呼ばれるネットワークは、手書きの数字を分類するために Jan Lacun によって開発されました。このビデオでは、LeNet ネットワークが入力を取り、それを特徴マップに畳み込み、それらのマップをより小さなサイズにプルし、入力のより小さな表現を取得するまで別の畳み込みとプーリングを適用してから、それを完全に接続されたレイヤーに渡して出力を取得することを説明しています。可能な 10 桁のうちの 1 つを表します。このビデオでは、スタッキング畳み込み、ReLU、プーリング レイヤーなどの CNN アーキテクチャの設計上の選択肢と、トレーニングをより安定させるためのバッチ正規化レイヤーの使用について説明しています。最後に、ビデオでは、MNIST 手書き数字分類データセットや CIFAR-10 データセットなど、コンピューター ビジョンで一般的に使用されるデータセットについて説明します。

  • 01:20:00 講義のこのセクションでは、講師が MNIST、CIFAR-10、ImageNet など、いくつかの一般的なコンピューター ビジョン データセットについて説明します。特に ImageNet データセットは、コンピューター ビジョン アルゴリズムを評価するためのベンチマークとして広く使用されている 100 万枚の画像データセットです。また、インストラクターは、画像データをニューラル ネットワークに渡す前に正規化することの重要性と、データが同様の分布から得られるように慎重に検討する必要があるデータの収集とラベル付けの課題を強調しています。さらに、より多くのデータは過剰適合を防ぐのに役立ちますが、大規模なデータセットを収集するにはコストと時間がかかる可能性があります。

  • 01:25:00 このセクションでは、レクチャーでは、明るさ、コントラスト、色、切り取り、画像の反転または回転にわずかな変更を加えることで、単一の画像から人工的により多くのデータを作成できるデータ拡張のトピックについて説明します。それらに同じラベルを付けて、新しいトレーニング データ セットを作成します。この方法は、既存のデータセットから新しいデータを作成する非常に安価で簡単な方法です。さらに、この講義では、畳み込みニューラル ネットワークをトレーニングする際のモデル チェックポイントの重要性も強調しています。これは、トレーニングには通常、数時間から数日、場合によっては数週間かかるためです。トレーニングが中断された場合に最新のスナップショットから続行するには、トレーニング プロセスのさまざまな時点でモデル レートのスナップショットを保存することが不可欠です。
CS 198-126: Lecture 5 - Intro to Computer Vision
CS 198-126: Lecture 5 - Intro to Computer Vision
  • 2022.12.03
  • www.youtube.com
Lecture 5 - Intro to Computer VisionCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berkeley.ed...
 

CS 198-126: 講義 6 - 高度なコンピューター ビジョン アーキテクチャ



CS 198-126: 講義 6 - 高度なコンピューター ビジョン アーキテクチャ

高度なコンピューター ビジョン アーキテクチャに関するこの講義では、畳み込みニューラル ネットワーク (CNN) とそのさまざまな手法に焦点を当てます。講師は、AlexNet と VGG のアーキテクチャについて説明した後、残差などの高度な手法を掘り下げて、より高い精度とより単純なアーキテクチャのために後方残差値を維持します。ボトルネックと 1 対 1 の畳み込みの使用、およびコンピューター ビジョン アーキテクチャで ID を学習できることの重要性について説明します。この講義では、ニューラル ネットワークの勾配消失の問題と、バッチ正規化と残差ネットワークを使用してそれを軽減する方法についても説明します。グローバル平均プーリングや深さ方向の分離可能な畳み込みなどの手法について詳しく説明し、続いてモバイル ネット アーキテクチャとその利点について説明します。

また、講師は高度なコンピューター ビジョン アーキテクチャを調べ、ステップ ローカル畳み込みと 1 つずつ畳み込みを使用して畳み込みニューラル ネットワーク モデルを最適化することに焦点を当てています。彼は、これらの最適化を理解することの重要性と、将来のネットワークを効率的に構築する際に特定の最適化で発生する可能性のある問題を強調しています。講義は、効率的なネット モデルと他のネットワークとの比較によって強調される、精度、パフォーマンス、およびモデル サイズの間のトレードオフに関する議論で締めくくられます。生徒には、次の金曜日に予定されている小テストと宿題が通知されます。

  • 00:05:00 このセクションでは、講演者は、より高度な CNN アーキテクチャを掘り下げる前に、前の講義の復習から始めます。彼らは、前回のレクチャーで大まかな紹介をしたことをお詫びし、開始前に土壇場で編集を行います。マイクについての短いやり取りがありますが、スピーカーは講義に飛び込みます。

  • 00:10:00 このセクションでは、講演者は畳み込みニューラル ネットワーク (CNN) のアーキテクチャと、標準的な高密度ニューラル ネットワークとの違いについて説明します。スピーカーは、CNN の畳み込み層が、フィルターやバイアス項などの学習済みパラメーターを使用する高密度ニューラル ネットワークの層に似ていることを明確にします。スピーカーは、フィルターが入力内のすべての場所の出力マップを生成する方法と、複数のフィルターが異なる出力チャネルを生成する方法を説明します。スピーカーは、プーリング層を使用して出力ボリュームのサイズを縮小する方法についても説明します。全体として、講演者は、CNN の仕組みが高密度のニューラル ネットワークに似ており、行列の乗算が畳み込みに置き換えられていることを強調しています。

  • 00:15:00 このセクションでは、スピーカーは、畳み込みニューラル ネットワークで最大プーリングを使用して、フィーチャ ボリュームのサイズを縮小し、畳み込みを高速化する方法について説明します。この手法では、フィーチャ ボリュームの小さな正方形ごとに最大値を取得し、それを出力として使用します。講演者は、特定の分類で画像内の各ピクセルにラベルを付けるというセグメンテーションの概念についても触れ、このタスクでは出力サイズが入力サイズと同じになることに注意します。このセクションは、高度な CNN アーキテクチャの簡単な紹介で終わります。講義から学ぶ最も重要なものとして ResNet に焦点を当てています。

  • 00:20:00 このセクションでは、講師が畳み込みニューラル ネットワーク (CNN) に焦点を当てて、さまざまなコンピューター ビジョン アーキテクチャについて説明します。講義は、CNN の背後にある動機について議論することから始まります。CNN では、畳み込み層を積み重ねて層をプールし、低レベルの機能から情報を合成して、より高い機能まで進めます。講義は続いて、2012 年に ImageNet で約 17% のエラー率を達成した画期的な偉業である AlexNet のアーキテクチャについて説明します。後の講義で説明する変圧器アーキテクチャの進歩があるためです。

  • 00:25:00 このセクションでは、講演者は、広く使用されている 2 つのコンピューター ビジョン ニューラル ネットワークである AlexNet と VGG のアーキテクチャについて説明します。 AlexNet には 5 つの畳み込み層が含まれており、最終的な出力は、3 つの密な層を通過した平坦化された 1 次元ベクトルと、予測クラスを生成するためのソフトマックス関数です。一方、VGG には 23 の畳み込み層と 3 つの稠密層があります。さらに、スピーカーは、パディングと次元の追加と削減の形式として、1 つずつ畳み込みを使用することを強調しています。

  • 00:30:00 このセクションでは、講師が畳み込みニューラル ネットワーク (CNN) に焦点を当てて、高度なコンピューター ビジョン アーキテクチャについて説明します。この講義では、入力サイズを維持するために 1 つずつ畳み込みを使用することと、計算効率を高めるために深さ方向と点方向の畳み込みを組み合わせることを強調しています。この講義では、分類器の初期段階で低レベルの機能を学習することの重要性も強調し、やみくもに層を積み重ねることの問題について説明します。これらの問題に対処するために、講義では、残差を使用して後方残差値を維持し、より高い精度とより単純なアーキテクチャを実現する方法について説明します。

  • 00:35:00 このセクションでは、ディープ畳み込みニューラル ネットワークにおける残差の概念について説明します。恒等変換を学習できるため、レイヤーを追加しても精度が低下することはありませんが、実際には、レイヤーを追加すると、変換後の以前の恒等に影響が及び、グラデーションが消失し、グラデーションが爆発し、グラデーションが粉砕されます。残差は、前の段階からの情報を将来の計算に保持することでこの問題に対処し、恒等変換の学習を容易にします。この講義では、残差を処理する際のボトルネックについても説明します。残差を追加すると、収束までの時間が長くなりますが、必ずしも結果は増加しません。これに対する解決策は、ボトルネックのサイズと頻度を調整することです。

  • 00:40:00 講義のこのセクションでは、スピーカーはコンピューター ビジョン アーキテクチャで ID を学習できることの重要性について説明します。彼らは、ネットワークの重みとバイアスがすべてゼロの場合、ネットワークは取り込んだものとまったく同じものを出力し、適切な分類を行い、学習を停止するのに十分な情報があることをネットワークが認識しやすくなると説明しています。より複雑な機能。講演者は、ネットワーク内の層の数を選択する問題にも触れています。ResNet アーキテクチャでは 2 つが一般的な選択です。

  • 00:45:00 講義のこのセクションでは、発表者がニューラル ネットワークにおける勾配消失の問題と、それが重みの更新にどのように影響するかについて説明します。勾配消失問題は、個々のステップの偏導関数が乗算チェーンで小さすぎるか大きすぎる場合に発生し、重みの一貫した更新で問題が発生する可能性があります。このプレゼンテーションでは、バッチ正規化と残差ネットワークが勾配消失の問題を軽減するのにどのように役立つかについても説明しています。その後、講義は、畳み込みニューラル ネットワーク (CNN) の全結合層を置き換え、分類タスクの各カテゴリの特徴マップを生成するために使用されるグローバル平均プーリングの説明に移ります。

  • 00:50:00 講義のこのセクションでは、スピーカーは、ニューラル ネットワークで高密度レイヤーを使用すると、オーバーフィッティングとパフォーマンスの低下が頻繁に発生する方法について説明します。これを防ぐために、彼らはグローバル平均プーリング (GAP) を使用することを提案しています。これは、特徴マップを生成し、それらを平均化し、パラメーターを調整せずにソフトマックス関数にフィードします。スピーカーは、深さ方向の分離可能な畳み込みの概念も紹介します。これは、各チャネルで低次元の特徴マップを個別に使用してから、それらをインテリジェントに組み合わせて計算を削減し、各チャネルからのデータを保持します。この手法は、ディープ ニューラル ネットワークの幅広いフィルターで計算をスケーリングする場合に特に重要です。

  • 00:55:00 講義のこのセクションでは、スピーカーはモバイル ネット アーキテクチャについて説明します。これは、画像に必要な計算の数を減らすために、深さと点ごとの畳み込みを使用します。画像の各チャネルに 1 x 1 x 3 のレイヤーを適用し、結果を連結してより小さな点ごとの畳み込みを適用することで、出力が得られ、計算数が大幅に削減されます。モバイル ネット アーキテクチャは、D3 のインセプションの精度に匹敵する一方で、パラメーターが少なく、収束が高速です。講演者はさらに、スクイーズ ネットワークとエキサイティング ネットワークについても説明します。このネットワークでは、密なレイヤーと再スケーリングを使用して特徴マップを圧縮および拡張できます。これにより、計算量が少なくなります。

  • 01:00:00 このセクションでは、講師がステップ ローカル畳み込みと 1 つずつ畳み込みを使用して、畳み込みニューラル ネットワーク (CNN) モデルを最適化する方法について説明します。彼はまた、最適化と特定の最適化が直面する問題を理解することが、将来のネットワークをより効率的に構築するのにどのように役立つかについても言及しています。講義は、効率的なネット モデルの精度、パフォーマンス、およびモデル サイズを他のネットワークと比較することで締めくくられ、これらのメトリック間には常にトレードオフがあることを強調します。
CS 198-126: Lecture 6 - Advanced Computer Vision Architectures
CS 198-126: Lecture 6 - Advanced Computer Vision Architectures
  • 2022.12.03
  • www.youtube.com
Lecture 6 - Advanced Computer Vision ArchitecturesCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://...
 

CS 198-126: 講義 7 - オブジェクト検出



CS 198-126: 講義 7 - オブジェクト検出

この講義では、オブジェクト検出について説明します。具体的には、単純な分類 CNN にローカリゼーションを追加する方法、オブジェクト検出のための IOU メソッド、R-CNN システム、オブジェクト検出アルゴリズムを最適化して YOLO で処理時間を最小化する方法について説明します。このビデオでは、画像を切り刻むことで YOLO を説明し、あいまいさを排除するためにアンカー ボックスを使用するなど、YOLO オブジェクト検出の課題について説明しています。最後に、オブジェクト検出用の完全な畳み込みニューラル ネットワークである YOLO アーキテクチャが調査され、分類用の多数のクラスのストレージが進行中の研究課題として提示されます。スピーカーは、読めないという理由で RCNN に反対するようアドバイスしながら、「The Yellow Paper」を読むことを勧めています。

  • 00:00:00 このセクションでは、講師がランドマーク検出のために単純な分類 CNN にローカリゼーションを追加するプロセスについて説明します。ネットワークに X と Y の出力を追加することで、ネットワークは動物の鼻など、画像内の特定の特徴の正確な位置を出力します。次に講師は、出力を追加して猫全体のバウンディング ボックスを作成し、このネットワークを拡張する方法を説明します。講師は、バウンディング ボックスを作成するためのネットワーク拡張のさまざまなアイデアと、この拡張されたタスクでネットワークをトレーニングするプロセスについても説明します。

  • 00:05:00 このセクションでは、講師がオブジェクト検出の IOU (Intersection over Union) 法について説明します。このアプローチは、交差領域を計算し、それをユニオンの領域で割ることによって、予測された境界ボックスと実際の境界ボックスの間のオーバーラップを最大化することを目的としています。この値が1に近いほど検出が良いと講師は説明します。さらに、講師は同じ画像内の複数のオブジェクトを検出するという課題に触れ、網羅的な検索またはスライディング ウィンドウを使用する基本的なソリューションに言及します。ただし、このアプローチには、非効率性や過度の処理能力の必要性など、重大な問題があります。

  • 00:10:00 このセクションでは、講演者は、R-CNN と呼ばれるシステムである、オブジェクト検出における低アスペクト比の問題に対する提案されたソリューションについて説明します。その基本的な考え方は、可能性の高い境界ボックスを推測し、古典的な非機械学習アルゴリズムを使用してそれらの分類を実行し、画像をセグメント化し、オブジェクトの境界ボックスの束を提案することです。画像のエッジはバウンディング ボックスの境界である可能性が高いため、このアプローチは機能します。このアルゴリズムは、非最大抑制も使用して、同じオブジェクトが複数回分類される可能性によって生じる冗長性を取り除きます。ただし、従来のアルゴリズムの定義方法によっては、ほとんどの画像に何千もの異なるセグメンテーション領域があるため、このシステムは依然として低速です。

  • 00:15:00 このセクションでは、講師がオブジェクト検出アルゴリズムを最適化して処理時間を最小限に抑える方法を説明します。 1 つの方法は、画像から重要な情報を抽出する特徴マップを作成し、各オブジェクト検出に必要な特徴マップのセクションでのみ分類を実行することです。これにより、畳み込みニューラル ネットワーク全体を毎回再実行する必要がなくなります。次に講師は、単一の畳み込みニューラル ネットワークを利用して画像内の複数のオブジェクトの位置と境界ボックスを出力するオブジェクト検出アルゴリズムである YOLO を紹介します。 YOLO のアーキテクチャは、畳み込み層と分類層で構成されているため、処理時間が短縮され、一度に複数のオブジェクトを検出できます。

  • 00:20:00 このセクションでは、各グリッドが 1 つの分類ベクトルまたはバウンディング ボックスを表すグリッドに画像を切り刻むことによって、YOLO (You Only Look Once) がどのように機能するかをビデオで説明します。これは理論的には、分類できるオブジェクトの数が画像内のグリッドの数に等しいことを意味します。 YOLO は XY 幅と高さも使用します。XY 座標はバウンディング ボックスの中点であり、幅と高さはボックスのサイズです。次にビデオでは、非最大抑制について説明します。これは、オーバーラップを排除し、分類プロットごとに最高の信頼性を持つ最適な境界ボックスを選択するプロセスです。

  • 00:25:00 このセクションでは、複数のオブジェクトが同じセルの中央に配置される問題や、複数の分類と境界ボックスを 1 つのセルに出力する方法など、YOLO オブジェクト検出の課題について学習します。これに対する解決策は、アンカー ボックスを使用することです。この場合、分類の前に一般的な境界ボックスが定義され、データセットはこれらのアンカー ボックスとの類似性に基づいて分類されます。これにより、どのオブジェクトをどのベクトルに分類するかを決定論的に決定することができ、重複したバウンディング ボックスのあいまいさがなくなります。

  • 00:30:00 このセクションでは、オブジェクト検出用の完全な畳み込みニューラル ネットワークである YOLO アーキテクチャについて説明します。 YOLO ネットワークは、画像上で 1 つのパスを実行し、デザインがシンプルで、スライディング ウィンドウなどの従来のコンポーネントを排除しています。アンカーボックスなどの手法を利用することで、YOLO は RCNN の精度に匹敵すると同時に、速度を大幅に向上させることができます。さらに、画像内のオブジェクトに対応する幾何学的形状であるアンカー ボックスの概念についても説明します。形状とサイズが同じで重なっているアンカー ボックスを持つオブジェクトを検出するのは困難です。ただし、これらのオブジェクトを分離するために数学的に最適なアンカー ボックスを見つけることができるアルゴリズムがあります。最後に、分類のための多数のクラスの保存について説明します。これは、現在も研究者によって調査されている分類の問題です。

  • 00:35:00 このセクションでは、講演者は物体検出について読むことに興味がある人のために、「The Yellow Paper」と呼ばれる技術論文を推奨しています。一方、話し手は、RCNN は読みにくいため、読まないようにアドバイスしています。スピーカーは、講演を締めくくる前に聴衆に質問をするように勧めます。
CS 198-126: Lecture 7 - Object Detection
CS 198-126: Lecture 7 - Object Detection
  • 2022.12.03
  • www.youtube.com
Lecture 7 - Object DetectionCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berkeley.edu/decal/...
 

CS 198-126: 講義 8 - セマンティック セグメンテーション



CS 198-126: 講義 8 - セマンティック セグメンテーション

講義では、セマンティック セグメンテーションとインスタンス セグメンテーションを含む画像セグメンテーションについて説明します。セグメンテーションの主な目的は、画像内のすべてのオブジェクトを検出して分離することです。講師は、畳み込みニューラル ネットワーク (CNN) をセマンティック セグメンテーションに使用する方法と、ダウンサンプリングが計算コストの高いフル解像度画像でどのように役立つかを説明します。小さなボリュームを画像サイズに変換するためのさまざまなアプローチについても説明します。この講義では、これまでの改善とスキップ接続を組み合わせたセマンティック セグメンテーションのモデルである U-Net を紹介し、マスク R-CNN アプローチを使用してインスタンス セグメンテーションに拡張する方法について説明します。事前トレーニング済みのセマンティック セグメンテーション モデルが示され、スピーカーは事前トレーニングと今後のコース割り当てについて話します。

  • 00:00:00 このセクションでは、画像のセグメンテーション、特にセマンティック セグメンテーションとインスタンス セグメンテーションについて説明します。セマンティック セグメンテーションでは、オブジェクトが画像内に存在する特定のピクセルを見つける必要がありますが、インスタンス セグメンテーションでは、各クラスの各インスタンスが画像内のどこにあるかを識別します。セグメンテーションの最終的な目標は、画像内のすべてのオブジェクトを検出して分離することです。人間は個々のコンポーネントの組み合わせによってオブジェクトを認識し、これらのコンポーネントをより具体的に識別および分類できることが不可欠であるため、この手法は有用です。セグメンテーションは、オブジェクトの検出やオブジェクトの関係の識別など、便利なアプリケーションを提供します。

  • 00:05:00 このセクションでは、講師がセグメンテーションの概念とそのアプローチ方法について説明します。アイデアは、ある種の類似性基準に基づいてグループ化することにより、接続されたセグメントを作成することです。これに対する従来のアプローチは、強度などのいくつかのメトリックでの類似性に基づいてピクセルをグループ化する関数を定義することでした。ただし、講師は、固定アルゴリズムを使用する代わりにセグメンテーションを実行する方法を学習できる、スライディング ウィンドウなどの新しいディープ ラーニング アプローチについて言及しています。

  • 00:10:00 このセクションでは、スピーカーは畳み込みニューラル ネットワーク (CNN) をセマンティック セグメンテーションに使用する方法について説明します。 CNN スライディング ウィンドウ アプローチを複数回実行する代わりに、代わりに畳み込み演算を使用できます。これにより、共有機能を再計算する非効率性なしに、目的の効果が得られます。畳み込み層は画像に対するフィルターとして実行でき、出力層はサイズに関係なく、元の画像と 1 対 1 でマッピングされます。パディングは、入力サイズがフィルター サイズより小さい場合の処理にも使用できます。

  • 00:15:00 このセクションでは、フル解像度の画像を処理すると計算コストが高くなる可能性があるため、講師は大きな画像をダウンサンプリングしてセマンティック セグメンテーションをより実現可能にする問題について説明します。解決策は、各畳み込みレイヤーで画像を徐々にダウンサンプリングし、冗長な情報を削除して、操作するボリュームを小さくすることです。このダウンサンプリングされた画像は最後にアップサンプリングされ、元の画像のセグメンテーション マップが作成されます。各ピクセルは、最大分類出力に基づいて特定のクラスにセグメント化されます。この講義では、画像のエッジのパディングと処理に対するさまざまなアプローチについても簡単に説明します。

  • 00:20:00 このセクションでは、インストラクターは、セグメンテーション マップなどの小さなボリュームを元の入力画像のサイズの画像に変換するためのさまざまなアプローチについて説明します。古典的なアプローチでは、画像を拡大し、最近傍または線形補間などの補間関数を使用して余分なスペースを埋めます。ただし、この方法では細部が失われる可能性があります。インストラクターは、デコンボリューションを利用する学習アプローチを提案します。これには、入力レイヤーを出力レイヤーの上に渡し、元の入力画像のピクセルを 1 つずつ削除することが含まれます。インストラクターは畳み込みの簡単なレビューを提供し、入力レイヤーと出力レイヤーの位置を反転させることによってデコンボリューションがどのように機能するかを説明します。

  • 00:25:00 このセクションでは、講師は単純な入力画像の例を描き、入力画像の各ピクセルを見て、フィルターを使用して出力画像に投影する分解方法を説明します。講師は、既に書き込まれている値を上書きできるという点で、この方法の制限に注意しています。これに対処するために、講師は、畳み込み畳み込みを使用して入力画像を低解像度表現にダウンサンプリングし、D 畳み込みを使用して元のサイズにアップサンプリングするインクリメンタル アプローチを紹介します。講師は、アップ サンプリングが従来のアルゴリズムではなく学習されるため、この方法が有益であると述べています。これにより、形状の適応性と改良が可能になります。

  • 00:30:00 このセクションでは、以前の改善とスキップ接続を組み合わせたセマンティック セグメンテーションのモデルである U-Net について学びます。スキップ接続により、アップサンプリング中にダウンサンプリング パスのさまざまなレベルから情報を取り込むことができます。ディープ フラット ファミリー モデルや、Sendformer のような Transformer ベースのモデルなど、U-Net のさまざまなバリエーションもあります。 U-Net を拡張して、識別された値内のオブジェクトの位置を予測する Mask R-CNN アプローチを使用して、インスタンス セグメンテーションの問題を解決することもできます。

  • 00:35:00 このセクションでは、講師がマスク R-CNN を使用した完全なインスタンス セグメンテーションについて説明します。これは、自動車、歩行者、バックパックなどのオブジェクトの輪郭を検出する自動運転車に役立ちます。講師は、潜在的な境界ボックスがどのように固定サイズの画像に押しつぶされ、分類されるかを説明します。オブジェクトのラベルは、人間が行ったり、補助的な方法を使用したりするなど、さまざまな方法で収集されます。行列はフィルターと同じ方法で学習され、画像を廃止するとき、講師は、フィルターが対応する各ピクセル値で乗算され、次に画像に対して反復される射影であると説明しますが、これは実際には畳み込みを反転していません.

  • 00:40:00 このセクションでは、講師と学生が、クラウド GPU でトレーニングされた事前トレーニング済みのセマンティック セグメンテーション モデルを実演します。モデルは日本の画像で実行され、結果は、モデルがさまざまな精度で複数のオブジェクトを検出できることを示しています。学生はまた、スコアしきい値をモデルに適用して、精度スコアの低い情報を除外できることにも言及しています。全体として、このデモは、セマンティック セグメンテーションを実際の画像に適用する方法の例として役立ちます。

  • 00:45:00 このセクションでは、事前トレーニングと、AWS やその他のオフロード サービスでモデルを事前トレーニングする方法について話します。彼らはまた、必須の居住者の割り当てと、セグメンテーションを含む推奨されるオプションのユニット 1 についても言及しています。締め切り日とリンクはコースのウェブサイトにあり、質問がある場合は学生がオフィスアワーに来ることをお勧めします.全体として、このセクションでは、コースと今後の課題に関するいくつかのロジスティクス情報を提供しました。
CS 198-126: Lecture 8 - Semantic Segmentation
CS 198-126: Lecture 8 - Semantic Segmentation
  • 2022.12.03
  • www.youtube.com
Lecture 8 - Semantic SegmentationCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berkeley.edu/d...
 

CS 198-126: 講義 9 - オートエンコーダー、VAE、ジェネレーティブ モデリング



CS 198-126: 講義 9 - オートエンコーダー、VAE、ジェネレーティブ モデリング

この講義では、機械学習を使用してデータセットに基づいて新しい画像を作成するジェネレーティブ モデリングの概念を紹介します。特徴学習に使用されるニューラル ネットワークの一種であるオートエンコーダーについて、その構造と、圧縮と再構成を通じて入力データの特徴を学習する方法に焦点を当てて説明します。この講義では、変分オートエンコーダーとその利点、およびオートエンコーダーで構造化された潜在空間を使用して画像間を補間する方法についても説明します。離散データを扱うためのベクトル量子化の重要性について説明し、変分オートエンコーダの損失関数について説明します。これには、入力データのハードコーディングを防ぐための再構成損失とコミットメント損失が含まれます。講義は、取り上げたトピックの要約で終わります。

  • 00:00:00 このセクションでは、機械学習を使用してデータセットに基づいて新しい画像を生成する生成モデリングのトピックを紹介します。ただし、猫などのさまざまなオブジェクトを互いに区別するものを機械が理解するのは難しい問題になる可能性があります。この講義では、JPEG 圧縮の例に見られるように、オートエンコーダーの概念と、オートエンコーダーを使用して画像を圧縮および解凍する方法を紹介します。この講義では、次の講義で説明する変分オートエンコーダのトピックにも触れています。

  • 00:05:00 このセクションでは、講師が画像圧縮と、それがデータをある程度理解することにどのように依存しているかについて説明します。圧縮により、スペースを節約し、ネットワーク経由で画像を送信するために必要なビット数を減らすことができます。 JPEG アルゴリズムは、人間の知覚にとって重要ではない高周波情報とピクセル間の関係の一部を捨てることによって機能します。次に、講師は、猫の画像などの特定の種類の画像について、単なるピクセル相関を超えて画像がどのように構造化されているかについてのより深い知識を使用して、より高度な圧縮スキームを開発できることを示唆しています。全体として、圧縮アルゴリズムは、機械学習におけるデータを理解することの重要性を強調しています。

  • 00:10:00 このセクションでは、講師がオートエンコーダーの概念について説明します。オートエンコーダーは、特徴学習に使用されるニューラル ネットワークの一種で、エンコーダー デコーダー構造を使用して入力データを圧縮し、後で再構築します。彼はそれを、特徴抽出に PCA を使用した固有顔などの以前の手法と比較し、オートエンコーダー ネットワークの構造を示しています。エンコーダー部分は入力データをボトルネック層に縮小し、デコーダー部分はそれを元の形式に再構築します。目標は、元のデータと再構築されたデータの違いを最小限に抑えることです。講師は、入力と同じ出力を生成するネットワークがなぜ役立つのかという疑問を提起し、他のタスクに使用できるデータの学習された機能に鍵があると説明します。

  • 00:15:00 講義のこのセクションでは、インストラクターがオートエンコーダーのボトルネック層の概念と、それがネットワークに入力データの圧縮を強制する方法を説明し、データのいくつかの機能を学習します。彼はまた、このネットワーク構造の限界と、サイズが小さいことや類似の画像に対するコードの類似性など、コードの望ましい特性についても説明しています。インストラクターは、オートエンコーダーに基づいて構築された変分オートエンコーダーの概念を紹介しますが、さまざまな操作が潜在ベクトルに適用されたときに賢明な結果を可能にする魔法のプロパティを提供します。次に、生成される画像またはテキストの情報を含む潜在ベクトルをサンプリングすることを含む、画像およびテキスト生成のための生成フレームワークについて説明します。

  • 00:20:00 講義のこのセクションでは、スピーカーは、顔のデータセットで特性または「遺伝子」を表す方法として、潜在ベクトルの使用について説明します。潜在ベクトルは、個人の可能な遺伝子セットに対する一種の確率分布として機能し、顔の構造はそのセット内の遺伝子の関数です。エンコーダーは入力画像を取得して潜在ベクトルを生成し、デコーダーはその潜在ベクトルを取得して元の画像の推定値を生成します。潜在空間に構造を課すために、確率的エンコーディングが使用されます。

  • 00:25:00 講義のこのセクションでは、スピーカーは、潜在空間内の近くのベクトルを強制的に類似の画像にデコードするために、入力を可能な出力の領域にマッピングする際の確率分布の使用について説明します。この概念は、コードがサンプリングされる潜在空間内の円のパラメーターを出力するためにガウス分布を使用する変分オートエンコーダー (VAE) で重要です。 VAE 損失には、再構成項と、エンコーダ出力を強制的に正規分布のように見せる項が含まれます。これにより、出力するポイントが 1 つだけ学習されるのを防ぎ、代わりに、同じポイントにコーディングする必要がある大きなセットが促進されます。話者は、この損失の対照的な目的に注意します。オートエンコーダーはすべての入力を単一の点にマッピングすることを好みますが、追加の項により、点が平面の中心に近くなり、ある程度の分散が強制され、代わりに円盤になります。個々のポイント。

  • 00:30:00 講義のこのセクションでは、講演者はオートエンコーダーで構造化された潜在空間を使用する利点について説明します。潜在空間に構造を適用することにより、オートエンコーダーは画像間を効果的に補間できます。これは、ユーザーが 2 つの有名人の顔の間でスライダーをスライドさせて、2 つの顔の間で適切な方法でスライダーを補間できる人気のあるオンライン デモで示されています。話者は、これは変分オートエンコーダーを使用することで可能になると説明しています。これは、潜在ベクトルを同じ空間に強制的に共存させ、近くのベクトルから近くのポイントをデコードすることを強制します。講演者は、変分オートエンコーダーのトレーニングの詳細は、サンプリングが関係しているため注意が必要ですが、アプローチは任意であり、さまざまなアプリケーションに合わせて変更できることに注意しています。

  • 00:35:00 講義のこのセクションでは、スピーカーは、自然言語処理 (NLP) などの特定の分野で個別のトークンを使用することがどのように必要であるかについて説明します。パーセンテージ。その結果、彼はベクトル量子化をハックとして使用して、変分オートエンコーダー (VAE) を拡張して離散トークンを処理することについて説明しています。ベクトル量子化では、有効なトークンのコード ブックを使用して、VAE からの出力ベクトルを最も近いトークンに丸め、離散データをより適切に表現できるようにします。ただし、コードブックの選択は依然として課題です。

  • 00:40:00 このセクションでは、スピーカーは変分オートエンコーダー (VAE) の損失関数について説明します。VAE は、データ分布内のさまざまなクラスターに対応するコード ワードの位置を学習するために使用されます。損失関数には、復号化器からの出力が入力に類似していることを保証する再構成損失と、符号化器から出力されたベクトルがこれらのクラスターの中心を表す符号語に近いことを保証するコミットメント損失が含まれます。ネットワークが入力データをハードコーディングするのを防ぐために、エンコーダーは入力ごとに複数のコード ワードを生成します。これにより、コード ワードのセットが大きくなり、ネットワークはより多様な出力を生成できるようになります。

  • 00:45:00 ビデオのこのセクションでは、プレゼンターは、正規分布から一部の C をサンプリングし、それをデコーダーに渡すことによって、VQ-VAE で新しい画像を生成する方法について説明します。前に見た。さらに、プレゼンターは、コードブック要素の均一なサンプリングは効果的ではない可能性があると説明しています。これは、実際のデータ分布では、一部のコード ワードが他のコード ワードよりも一般的に使用されるためです。したがって、コード ワードの事前学習は、新しいデータの生成に役立ちます。最後に、プレゼンターは講義の要約を提供します。オートエンコーダーから始まり、変分オートエンコーダーに移り、ベクトル量子化された変分オートエンコーダーで終わります。
CS 198-126: Lecture 9 - Autoencoders, VAEs, Generative Modeling
CS 198-126: Lecture 9 - Autoencoders, VAEs, Generative Modeling
  • 2022.12.03
  • www.youtube.com
Lecture 9 - Autoencoders, VAEs, Generative ModelingCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https:/...
 

CS 198-126: 講義 10 - GAN



CS 198-126: 講義 10 - GAN

GAN の講義では、ゲーム理論風のセットアップで互いに競合する 2 つのネットワーク、ディスクリミネーターとジェネレーターの概念を紹介します。ジェネレーターの入力はランダム ノイズであり、本物そっくりの画像を生成する意味を割り当てます。弁別器の仕事は、画像が本物か偽物かを判断することです。 GAN は、負のクロスエントロピー損失に対応する損失関数を使用します。生成器は最小化し、弁別器はそれを最大化します。値関数は、ジェネレーターがどれだけうまく機能しているかを表し、偽のデータと実際のデータを正しく分類することによって、ディスクリミネーターによって最大化される必要があります。この講義では、GAN のトレーニングに関する問題と、ジェネレーターがより多くの変化を起こすことを可能にする非飽和損失についても説明します。

  • 00:00:00 このセクションでは、講師は、画像を圧縮してより圧縮された表現にマッピングするために使用される潜在変数とコードのレビューを提供します。オートエンコーダーを使用して潜在ベクトルから新しい画像を生成するというアイデアも導入されています。講師は、GAN (Generative Adversarial Networks) が活躍する場所である、優れた現実的な画像を作成するものを判断するという課題に注目しています。 2 つのネットワークがあり、一方はデータを生成し、もう一方はそれが本物か偽物かを判断しようとします。ネットワークは、ゲーム理論風の設定で互いに競合します。画像を正しく分類すると識別器が勝ち、識別器をだますと生成器が勝ちます。

  • 00:05:00 このセクションでは、インストラクターが GAN の背後にある高レベルの概念について説明します。GAN には、ディスクリミネーターとジェネレーターの 2 つのネットワークが互いに競合します。ボトルネックが中間にあるオートエンコーダーとは異なり、GAN にはジェネレーターとディスクリミネーターの中間に、より高次元の何かがあります。ジェネレータへの入力は、多変量ガウス分布からサンプリングされたある種のランダム ノイズ ベクトルです。次に、ジェネレーターは潜在的なノイズ変数を受け取り、それにランダムな意味を割り当てる方法を決定して、入力のホスト全体、またはリアルなイメージのホスト全体を生成できるようにします。ディスクリミネーターとジェネレーターのネットワークは、他のネットワークを騙すことを目的として、勾配降下法を使用して 2 つを交互にトレーニングします。

  • 00:10:00 このセクションでは、講師が GAN がどのように機能するかを説明します。このネットワークには、実際のデータと偽のデータが与えられ、ジェネレーターをトレーニングして、画像をリアルに見せるパターンを見つけ出します。弁別器は、画像が本物か偽物かを判断するもので、学習するにつれて、パターンに気づき始め、判断を更新します。希望は、ジェネレーターが、シーンのコンテキストで意味をなすより多くの形状またはオブジェクトを作成することによって、それ自体を改善することを学習することです。 GAN の損失関数は、ディスクリミネーターからの分類損失のみで構成され、ジェネレーター スコアはその反対です。ジェネレーターをトレーニングするには、ジェネレーターにフィードバックを提供するために、ディスクリミネーターが画像を適切に判断する必要があります。

  • 00:15:00 このセクションでは、ジェネレーターを改善するために画像を正確に分類できるディスクリミネーターの重要性を講師が説明します。ディスクリミネーターは、ジェネレーターよりも多くの更新が必要な場合があるため、実際のイメージと生成されたイメージの間の意味のある違いを識別できます。次に、講師は損失関数を分解します。これは、負のクロスエントロピー損失に対応し、ジェネレーターはそれを最小化し、ディスクリミネーターはそれを最大化します。生成器はデータが本物に見える場合に勝ち、弁別器は本物の画像と偽の画像を正しく区別した場合に勝ちます。 2 つのネットワークはゲーム理論のシナリオにあり、進歩と向上を目指して互いに競争しています。

  • 00:20:00 ビデオのこのセクションでは、プレゼンターが GAN の価値関数の概念を説明します。これは、従来の機械学習モデルで使用される損失関数の反対です。値関数は、ジェネレーターがどれだけうまく機能しているかを表し、偽のデータと実際のデータを正しく分類することによって、ディスクリミネーターによって最大化される必要があります。生成器の重みは最初のステップで凍結されるため、弁別器は実際のデータと偽のデータのバッチでトレーニングできます。 2 番目のステップでは、ディスクリミネーターが凍結され、ジェネレーターの重みが更新されて、わずかに優れた偽の画像が生成されます。このプロセスは、生成器が、弁別器でさえ偽物として分類できないリアルな画像を生成するまで繰り返されます。

  • 00:25:00 このセクションでは、スピーカーは、生成されるクラスをより詳細に制御して画像を生成するためのソリューションを提供する条件付き GAN について説明します。現在の GAN セットアップでは、目的のオブジェクトまたは画像が生成されるまでジェネレーターにランダムにフィードを繰り返し供給する必要がありますが、より多くのクラスを含むデータ セットの場合、このアプローチは理想的ではありません。ワンホット ベクトルをランダム ノイズ ベクトルに追加することで、ジェネレーターは生成されるクラスをより詳細に制御できます。ワンホット ベクトルは目的のクラスに対応し、ジェネレーターはその特定のクラスで画像を生成するようにトレーニングされます。

  • 00:30:00 講義のこのセクションでは、スピーカーは条件付き GAN モデルの特定の機能を使用するようジェネレーターにインセンティブを与えるというアイデアについて説明します。スピーカーは、ジェネレーターに特定の画像を生成するように指示するだけでは不十分であると説明します。これは、ジェネレーターが特定の情報を使用するインセンティブがないためです。解決策は、識別器にも同じラベルを付けて、生成された画像がそのラベルに対応するかどうかを識別するための戦略を作成することです。これにより、ジェネレーターはディスクリミネーターによる検出を回避したいため、ラベルに注意を払う必要があり、その結果、指定されたラベルに一致する出力が得られます。ジェネレータとディスクリミネータの両方のアーキテクチャについても説明します。

  • 00:35:00 このシナリオでは、ジェネレーターの重みは最終的にゼロになります。さらに、ジェネレーターが誤ってモード崩壊に陥る可能性があります。この場合、ジェネレーターは、ディスクリミネーターをうまく欺く小さな例のセットのみを出力します。この問題は、ディスクリミネーターが非常に鋭い決定境界を学習し、ジェネレーターがこれらの偽の例を繰り返し出力するように動機付けられているために発生します。最後に、GAN の通常のセットアップでは収束せず、損失関数が平坦になるため、GAN にはトレーニング手順の問題もあります。

  • 00:40:00 このセクションでは、講師が GAN に関する一般的な問題について説明します。これにより、GAN のトレーニングが難しくなる可能性があります。 1 つの問題は、ジェネレーターとディスクリミネーターの間に常にトレードオフがあり、ディスクリミネーターが実際の画像の特定の機能にオーバーフィットしようとすることであり、GAN のトレーニングがいつ完了したかを知る明確な方法はありません。次に、講師は、生成器の目的の単純な再定式化である非飽和損失について検討し、生成された画像が偽物であると弁別器が認識したときに、生成器がわずかな偏導関数しか得られないという問題に取り組みます。非飽和損失は、代替項を最大化し、ジェネレーターがより多くのエージェンシーを変更できるようにします。

  • 00:45:00 このセクションでは、講師が GAN で使用されるクロスエントロピー損失の背後にある数学的トリックを説明します。負のクロスエントロピー損失をやみくもに最小化しようとする代わりに、ジェネレーターの目的は、バイナリ クラスのクロスエントロピーの種類の損失を使用して、1 として分類される確率を最大化することです。この非飽和損失により、ジェネレーターの勾配が大きくなり、ディスクリミネーターがジェネレーターをシャットダウンしているときに、より迅速にトレーニングできます。ただし、講師は、これはクイズや宿題のない高度な資料であると述べていますが、高度な GAN トレーニング手法について詳しく話すことができます。
CS 198-126: Lecture 10 - GANs
CS 198-126: Lecture 10 - GANs
  • 2022.12.03
  • www.youtube.com
Lecture 10 - GANsCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berkeley.edu/decal/modern-cv t...
 

CS 198-126: 講義 11 - 高度な GAN



CS 198-126: 講義 11 - 高度な GAN

高度な GAN に関するこの講義では、バイリニア アップサンプリング、転置畳み込み、条件付き GAN、StyleGAN、CycleGAN など、GAN モデルの安定性と品質を向上させるためのさまざまな手法について説明します。講義では、制御されたランダム ノイズの使用、アダプティブ インスタンスの正規化、および GAN でのビデオの処理についても説明します。より良い安定性と結果を得るために、講師は、ディスクリミネーターを過度に弱めないように注意しながら、より大きなバッチサイズを使用し、テスト中にランダムノイズの範囲を切り捨てることを推奨しています.さらに、さまざまなサイズの潜在空間の広範な分布から始めて、さまざまな画像を生成することをお勧めします。最後に、レクチャーでは、非常に大規模な GAN の生成に役立つ Big Gan に触れます。

  • 00:00:00 このセクションでは、スピーカーはコンピューター ビジョンのコンテキストで GAN のトピックを紹介し、コンピューター ビジョン用の GAN アーキテクチャの構築について説明します。スピーカーは、分類 CNN であるディスクリミネーターと、潜在ベクトル画像をアップサンプリングする必要があるため、より困難なジェネレーターに焦点を当てています。講演者はまた、最近傍のアップサンプリングを含むダウンサンプリングとアップサンプリングの手法についても説明します。これは、既存の特徴マップ上のすべてのセルを複製する単純なアプローチであり、結果として画像がぼやけます。

  • 00:05:00 このセクションでは、講師が GAN のジェネレーターの特徴マップをアップサンプリングする方法について説明します。彼は最初に双一次アップサンプリングについて説明します。この場合、新しい特徴マップは、より大きな空の特徴マップを取得し、その最近傍すべての平均で埋めることによって作成されます。次に、転置された畳み込みを導入します。これは、畳み込みウィンドウがその上をスライドするまでに、出力の特徴マップが入力よりも大きくなるように、非常に多くのパディングで特徴マップを埋めます。講師は、これらが特徴マップをアップサンプリングする最も一般的な方法であり、通常はジェネレーターを大きくするのに十分であると述べています。

  • 00:10:00 講義のこのセクションでは、スピーカーは条件付き GAN とジェネレーターでそれらを処理する方法について説明します。ジェネレーターへの入力には、何を生成するかを伝える潜在ベクトルと条件ベクトルが含まれるようになりました。話者は、ベクトルを連結するか、連結する前に別々に処理することを提案しています。また、複数のものをディスクリミネータに渡すことについても簡単に触れています。その後、講義は StyleGAN に移行します。これは、畳み込み演算の前に芸術的な才能と潜在ベクトルの前処理を含むジェネレーターの新しいアーキテクチャです。

  • 00:15:00 このセクションでは、より良いテクスチャを生成するために、すべての異なる畳み込みにコード化されたスタイルへのアクセスを与えるために潜在をフィードする必要性について話します。テクスチャはランダム ノイズであり、モデルにランダム性のソースを提供する方がはるかに簡単です。このセクションでは、使用されるアーキテクチャを紹介します。これは、ジェネレータを 2 つの異なるコンポーネントに分解します。 1 つ目は目的のベクトルで、その潜在ベクトルがジェネレーターに供給されます。目的のコンポーネントの導入は、特定の画像の生成を困難にする使用できない潜在空間の問題を解決するために潜在を前処理することです。前処理には、W と呼ばれる新しい変更された潜在ができるまで、潜在を密な層に渡すことが含まれます。

  • 00:20:00 このセクションのビデオでは、アダプティブ インスタンス ノーマライゼーション (AdaIN) の概念と、それがネットワークにスタイルを導入する方法について説明します。 AdaIN はバッチ ノルムを置き換え、スタイル ベクトルを使用して再スケーリングとリバイアスの量を指示し、より意味のある結果を可能にします。スタイル ベクトルは、すべてのアクティベーションの再スケーリングと再バイアスに使用される 1 つの完全に接続されたレイヤーを介して渡されます。最終的な目標は、純粋にランダムなノイズである多数の特徴マップを生成することにより、ランダム性へのアクセスを増やすことです。

  • 00:25:00 このセクションでは、講師は、制御されたランダム ノイズを各特徴マップに追加することについて説明します。これにより、ネットワークは、学習した B 値に基づいてノイズの量を増減できます。この制御されたランダム ノイズは、より良いテクスチャと不完全さを生成するのに役立ち、個々の毛やしわの生成を可能にします。制御されたノイズは、すべての畳み込みの後に追加され、ネットワークがノイズの大きさを制御できるようにします。この講義では、すべてのレイヤーに統合された潜在ベクトルや、スタイルをゆっくりと導入するためのアダプティブ インスタンス正規化の使用など、スタイル GAN の新しいイノベーションについても説明します。

  • 00:30:00 このセクションでは、講師が StyleGAN と CycleGAN という 2 つの高度な GAN 手法について説明します。 StyleGAN は、ランダム ノイズによってテクスチャが大幅に改善されたランダムな顔を生成しますが、CycleGAN は、あるデータセットから別のデータセットに画像を転送します。 1 つの損失用語は変換された画像のリアリズムに専念し、もう 1 つの用語は画像を元の状態に復元できるかどうかを測定します。 CycleGAN はリアルな写真を撮ってモネの絵に変えたり、シマウマを馬に変えたり、写真の季節を変えたりすることができます。ビデオのフレーム間に一貫性はありませんが、この手法でもまともな結果が得られます。

  • 00:35:00 このセクションでは、スピーカーは、ビデオを使用して弁別器をトレーニングし、本物のビデオと偽のビデオを識別することができると説明していますが、画像の処理に比べてかなりの計算が必要です。ビデオはフレームごとに処理する必要がありますが、プロセスをより効率的にするために一部のフレームをスキップできます。ディスクリミネータを使用して、フレーム間で生成されたビデオの一貫性を確保できます。さらに、講演者は、猿を馬に変換するなど、一部のデモンストレーションで GAN モデルを使用する場合は注意が必要であるとアドバイスしています。最後に、講演者は、より大きなバッチサイズとより多くのデータがより大きなモデルに投入されたときに GAN がどのようにスケールアップするかについて説明し、安定性、信頼性、多様性、および品質の間のいくつかのトレードオフについて説明します。

  • 00:40:00 このセクションでは、講師が GAN でより良い安定性と結果を得るためのいくつかのトリックについて説明します。安定性を高めるための鍵の 1 つは、より大きなバッチ サイズを使用することです。これは、GAN のような複雑なタスクに特に役立ちます。もう 1 つのヒントは、テスト中にランダム ノイズの範囲を切り捨てて、モデルの経験から外れた結果を避けることです。ただし、これには、生成される画像の種類を制限するというトレードオフが伴います。講師はまた、トレーニング中にある程度の不安定性を受け入れることが良い結果を達成するために必要であることを強調し、弁別器を過度にナーフしないように警告します.

  • 00:45:00 このセクションでは、ジェネレーターが類似の画像を繰り返し生成する可能性があり、さまざまな画像を生成するのが難しくなるため、スピーカーは潜在空間に狭い分布を使用しないように警告します。スピーカーは、さまざまなサイズの広範な分布から始めて、モデルに画像を生成する方法の優れた初期アイデアを与えることを提案しています。さらに、彼らは、単一の画像をランダムに生成する以外にも、識別機能がいくつかの異なる方法で有益である可能性があることを共有しています。最後に、非常に大規模な GAN の生成に役立つ Big Gan を紹介します。
CS 198-126: Lecture 11 - Advanced GANs
CS 198-126: Lecture 11 - Advanced GANs
  • 2022.12.03
  • www.youtube.com
Lecture 11 - Advanced GANsCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berkeley.edu/decal/mo...
 

CS 198-126: 講義 12 - 拡散モデル



CS 198-126: 講義 12 - 拡散モデル

拡散モデルに関するこの講義では、スピーカーは拡散モデルの背後にある直感について説明します。つまり、画像に追加されたノイズを予測し、ノイズを除去して元の画像を取得します。講義では、トレーニング プロセス、強化されたアーキテクチャ、および画像とビデオを生成する際の拡散モデルの例について説明します。さらに、講義では潜在拡散モデルについて深く掘り下げます。これは、モデルを潜在空間に圧縮して、画像のセマンティック部分で拡散を実行します。スピーカーは、Dolly Q、Google の Imagine モデル、Facebook の Make a Video などの関連モデルの概要と、テキストを使用して 3D モデルを生成する機能についても説明します。

  • 00:00:00 ビデオのこのセクションでは、講演者は新しいクラスの生成モデルである拡散モデルを紹介します。彼らは、生成モデルの目標は、特定のデータセットの根底にある分布を学習して、同じ分布から新しいデータを生成できるようにすることだと説明しています。講演者はまた、分布を学習するための 2 つの主な方法についても言及しています。講義では、拡散モデルの背後にある数学について詳しく説明します。講演者は、この講義は以前の講義よりも数学的に関与するものになると述べています。

  • 00:05:00 拡散モデルに関する講義のこのセクションでは、スピーカーは、データ分布を模倣する分布のモデリングにおける変分オートエンコーダー (VAE) と生成的敵対ネットワーク (GAN) の両方の使用について説明します。講演者は、どちらのモデルもランダム ノイズからサンプルを取得し、それをデータ分布から来たように見えるものに変換することで機能すると説明しています。ただし、拡散モデルは、このプロセス中に 1 つの大きなステップではなく、複数の小さなステップを実行するため、分析が容易なマルコフ連鎖が作成されます。拡散モデルには、画像にノイズが追加された後、さらにノイズを追加して画像のノイズ バージョンを作成する順方向プロセスがあります。画像のノイズを除去して元の画像に戻す逆のプロセスもあります。

  • 00:10:00 ビデオのこのセクションでは、講師が拡散モデルにおける逆処理の概念について説明します。この処理では、ノイズ ステップのシーケンスを逆にすることで新しい画像を生成できます。課題は、正確な分布を使用して計算するのが難しい逆分布を見つけることにあるため、Q 関数と P 関数を使用して近似を行います。 P 関数はニューラル ネットワークによって表され、ガウス分布と見なされる逆分布の平均と分散を学習しようとします。このビデオでは、損失関数を最小化または最大化する必要がある拡散モデルのトレーニング プロセスについても説明します。

  • 00:15:00 講義のこのセクションでは、スピーカーは拡散モデルへの変動変分下限の適用について説明します。これにより、より小さい損失関数の和に似た損失関数が得られます。彼らは、0 から T-1 の L までの項 L が損失に寄与し、1 から T-1 までで定義される T の L の分析に焦点を当てると説明しています。スピーカーは、T-1 の X の Q と、ニューラル ネットワークが予測しようとする分布との間の KL ダイバージェンスが、学習された平均と条件付き分布からの平均との間の L2 損失を測定する項でどのように生じるかを説明します。拡散論文の著者は、式を単純化し、赤いボックス内のすべてを予測する代わりに単一の項を予測できるようにするために、T-1 の X の Q と同様の形式で、学習した mu である theta の mu をパラメーター化することを提案しています。

  • 00:20:00 このセクションでは、講師が拡散モデルの背後にある主な直感を説明します。これは、画像に追加されたノイズを予測し、ノイズを除去して元の画像を取得することです。目的は、元のノイズと予測されたノイズの間のノイズを最小限に抑えることです。トレーニング プロセスには、データセット内の画像にノイズを追加し、それらをモデルに渡し、ノイズを予測し、予測されたノイズと実際のノイズの間の距離を最小限に抑えることが含まれます。次に、モデルを使用して、ランダム ノイズから開始し、予測されたノイズを使用してノイズを除去することにより、新しい画像を合成できます。講師は、拡散される変数である T の X がイメージである必要はないことにも注意します。

  • 00:25:00 このセクションでは、スピーカーは拡散モデルと、入力/出力と同じ次元の画像のノイズを予測する能力について説明します。同じ次元を持つ 1 つのモデルは、セグメンテーションの講義で使用されたのと同じ単位です。ただし、この論文の著者は、resnet ブロック、アテンション モジュール、グリップ ノルム、スウィッシュ アクティベーションなど、多くの最新の CV トリックをモデルに追加しました。彼らはそれが非常にうまく機能することを示すことができ、その品質をさらに改善するために後の論文でより多くの時間ステップが使用されました.スピーカーは、モデルのアーキテクチャを含むスライドへの画像とリンクも提供します。

  • 00:30:00 このセクションでは、前方プロセスでのノイズの追加を制御するベータ パラメータを変更することにより、研究者が画像生成に拡散モデルを使用した結果を改善する方法を発見したことを説明します。彼らは、線形スケジュールを使用する代わりに、より遅いコサイン関数を使用し、後でランプアップして画像をゆっくりとノイズに変換し、モデルが逆プロセスをよりよく学習するのを助けることを提案しました.さらに、ニューラル ネットワークを介して共分散行列を学習することにより、対数尤度を改善し、多様性の尺度と見なすことができるより良い尤度を得ることができます。

  • 00:35:00 講義のこのセクションでは、スピーカーは、さまざまな論文で一般的に使用されているユニット モデルに加えることができるいくつかのアーキテクチャ上の改善について説明します。これらの改善には、モデル サイズの増加、アテンション モジュールの使用、および適応正規化が含まれます。講演者は、分類されたガイダンスのアイデアも紹介します。これには、元の画像とノイズの多い画像の両方からクラス ラベルを予測するように分類器をトレーニングし、結果の勾配を使用して拡散モデルを改善することが含まれます。最後に、スピーカーは生成モデルの品質を測定するための、FID や適合率、再現率などの指標の使用について言及します。

  • 00:40:00 このセクションでは、スピーカーは、データ分布のより優れた忠実度と多様性を捉える能力により、拡散モデルが画像モデリングで GAN モデルをどのように追い抜いたかについて説明します。これらは、GAN 画像が非常に似ているフラミンゴの画像を示していますが、拡散画像は出力の多様性を示しており、画像モデリング機能が優れていることを示しています。講演者はまた、研究者が分類子を使用しないガイダンスと呼ばれるプロセスを通じて拡散モデルを導くより良い方法を考え出したことにも言及しています。このプロセスでは、条件付き拡散モデルが訓練されて、品質の向上のために多様性を犠牲にすることを回避します。クラスのラベル。

  • 00:45:00 このセクションでは、講師は潜在拡散モデルの概念について説明します。これは、高次元画像のトレーニングに使用される拡散モデルの別のクラスです。このような場合、大規模な拡散モデルをトレーニングすることは現実的ではありません。講演者は、ピクセルレベルの詳細をキャプチャするために使用されるビットが多く、役に立たない画像のセマンティックな詳細の一部をキャプチャするために使用されるビットが少ないことを研究者が発見したと説明しています。画像を正確に生成するには、画像のセマンティック部分で生成モデルを実行する必要があります。講師は、潜在空間を学習し、モデルを潜在空間に圧縮して拡散を実行することを含む、これを達成する方法の概要を説明します。これにより、画像を潜在画像に変換し、エンコーダーおよびデコーダー モデルを使用して画像に戻すことができます。

  • 00:50:00 このセクションでは、スピーカーは、Dolly Q、Google の Imagine モデルによる画像生成、Facebook の Make a Video によるビデオ生成など、拡散に関連するいくつかのモデルについて説明します。さらに、Google は Imagine モデルを拡張して動画も生成できるようにしました。今年初めに発表された論文によると、講演者は、テキストを使用して 3D モデルを生成する機能や、ビジョンを RL に適用する機能についても言及しています。これにより、オフライン RL で最先端の結果が得られます。講演者は、さらに学習するための論文やリソースへのリンクを提供します。
CS 198-126: Lecture 12 - Diffusion Models
CS 198-126: Lecture 12 - Diffusion Models
  • 2022.12.03
  • www.youtube.com
Lecture 12 - Diffusion ModelsCS 198-126: Modern Computer Vision and Deep LearningUniversity of California, BerkeleyPlease visit https://ml.berkeley.edu/decal...