1. ニューラルネットワークとは何ですか? ここで説明するニューラル ネットワークは、ロジスティック回帰に基づいて 1 つ以上の隠し層を追加するものです。以下は、2 つの層のみを持つ非常に単純なニューラル ネットワークです。 2層ニューラルネットワーク: 上記の図は 3 層や 4 層ではなく「2 層」であり、入力と出力は層としてカウントされないことに注意してください。 ここで、まず表記法を定義します。
また、よく混同される点が 1 つあります。 - 上図の x1、x2、x3、x4 は 4 つのサンプルを表していません。しかし、サンプルの 4 つの特徴 (4 つの次元の値)! m 個のサンプルがある場合、上記のプロセスを m 回繰り返す必要があることを意味します。 ニューラル ネットワークの「2 つの伝播」:
それぞれの順方向伝播と逆方向伝播の後に、パラメータが 1 回更新され、その後、上記のプロセスが新しいパラメータで再度繰り返されます。これがニューラル ネットワーク トレーニングの全体的なプロセスです。 2. フォワードプロパゲーション for ループを使用して一度に 1 つのサンプルを計算すると、明らかに遅すぎます。以前のメモを読んだことのある友人は、計算のために m 個のサンプルをベクトル X に圧縮するためにベクトル化を使用していることを知っているはずです。同様に、z と a をベクトル化して Z と A を取得し、m 個のサンプルを同時に表現して計算できるようにします。 このように、次の式を使用して、2 層ニューラル ネットワークの順方向伝播プロセスを表現します。 レイヤー1: Z[1] = W[1]·X + b[1]A[1] = σ(Z[1]) レイヤー2: Z[2] = W[2]·A[1] + b[2]A[2] = σ(Z[2]) Xは実際にはA[0]であることがわかっているので、各レイヤーでの計算が同じであることは簡単にわかります。 レイヤーi: Z[i] = W[i]·A[i-1] + b[i]A[i] = σ(Z[i]) (注:σはシグモイド関数です) したがって、ニューラル ネットワークにいくつの層があっても、上記のプロセスが繰り返されます。 損失関数については、ロジスティック回帰と同様に「クロスエントロピー」を使用し、式は次のようになります。バイナリ分類問題の場合: L(y^,y) = -[y·log(y^)+(1-y)·log(1-y^)]- マルチ分類問題の場合: L=-Σy(j)·y^(j) これは各サンプルの損失です。通常は、サンプル セット全体の損失 (コストとも呼ばれます) も計算する必要があります。これは L の平均である J で表されます。 J(W,b) = 1/m ΣL(y^(i),y(i)) Z、A、L、J を見つける上記のプロセスは順方向伝播です。 3. バックプロパゲーション 簡単に言えば、バックプロパゲーションとは、J の公式に従って W と b の偏微分を求めること、つまり勾配を求めることです。パラメータを更新するには勾配降下法を使用する必要があり、更新には勾配が必要になるためです。 しかし、偏微分に関する連鎖律によれば、l 番目の層のパラメータの勾配は、l+1 番目の層の勾配を通じて取得する必要があることがわかります。したがって、導出プロセスは「逆」であり、これが「バックプロパゲーション」と呼ばれる理由です。 ここでは導出のプロセスの詳細には立ち入りません。興味のある人は自分で導出すればいいのですが、こういうものを見たら導出したいと思わない人がほとんどだと思います。 。 。 (主に数式を入力するのが面倒だからです T_T") さらに、TensorFlow や Keras などのさまざまなディープラーニング フレームワークでは、順方向伝播プロセスを自分で構築するだけで、逆方向伝播プロセスは自動的に完了するため、あまり心配する必要はありません。 バックプロパゲーション後、各レイヤーのパラメータの勾配に応じてパラメータを更新できます。更新後、フォワードプロパゲーションとバックワードプロパゲーションのプロセスを繰り返して、より良いパラメータを継続的にトレーニングして学習できます。 4. ディープニューラルネットワーク これまでの説明では、すべて 2 層の浅いニューラル ネットワークを例に挙げました。 ディープ ニューラル ネットワークには何も不思議なことはなく、数個/数十個/数百個の隠し層があるだけです。 これは簡単な概略図で表すことができます。 ディープニューラルネットワーク: ディープ ニューラル ネットワークでは、中間層でシグモイド関数の代わりに「ReLU」活性化関数を使用することに注意してください。シグモイド関数は最終出力層でのみ使用されます。これは、ReLU 関数の方が勾配の検出が速く、勾配消失現象をある程度防ぐことができるためです。そのため、ディープ ネットワークでよく使用されます。活性化関数に関する質問については、[DLフラグメント3]ニューラルネットワークの活性化関数とその比較を参照してください。 ディープニューラルネットワークに関しては、その構造、特に各層の各変数の次元をより詳細に観察する必要があります。結局のところ、次元はモデルを構築する上で非常に重要です。 設定内容: サンプルは全部で m 個あり、問題はバイナリ分類問題(つまり、y は 0、1)です。 ネットワークには合計 L 個の層があり、現在の層は層 l (l=1,2,...,L) です。 l番目の層のユニット数はn[l]です。次のパラメータまたは変数の次元は次のようになります。
なぜ W と b の次元に m がないのかと疑問に思う人もいるかもしれません。 Wとbは各サンプルで同じなので、すべてのサンプルは同じパラメータセット(W、b)を使用します。 しかし、ZとAは異なります。計算時のパラメータは同じでも、サンプルが異なれば計算結果も異なるため、次元にmがあります。 ディープ ニューラル ネットワークの順方向伝播と逆方向伝播は、上記の 2 層ニューラル ネットワークと似ていますが、層がいくつか増え、中間の活性化関数がシグモイドから ReLU に変更されています。 |
<<: TensorFlow を使用した LSTM モデルの構築に関する詳細なチュートリアル
>>: ディープラーニングベースの検出および認識アルゴリズムをSAR画像のインテリジェントな解釈に適用する
今日は古い知識を学んだのですが、普段私たちが使っている携帯電話の顔認識は顔の部分だけを認識するもので...
[[428302]] 2021年9月26日にarXivにアップロードされた論文「人間のガイダンスによ...
少し前に、DeepMind による研究が Nature の表紙を飾り、直感を導くことで 2 つの主要...
デジタル メディアはほぼすべての人の日常生活に浸透し、私たちのあらゆる活動に永続的な影響を及ぼしてい...
ビッグデータや人工知能などの新興技術は猛烈な勢いで発展しており、その一因はディープラーニングの驚異的...
最近、新しい「特許法」の全文が公布され、新たに改正された「著作権法」が公布されたことにより、国は知的...
[[328414]]マイクロソフトは、マイクロソフトニュースとMSNチームから数十人のジャーナリスト...
ここ2日間で、オープンソースの話題が再び人気を集めています。 「オープンソースがなければ、AI は何...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...