ニューラルネットワークの詳細な説明、順方向伝播と逆方向伝播

ニューラルネットワークの詳細な説明、順方向伝播と逆方向伝播

主にロジスティック回帰について説明します。ロジスティック回帰には多くの基本概念が含まれており、ニューラル ネットワークを学習するための基礎となります。次に、ロジスティック回帰からニューラルネットワークにアップグレードします。まずは「浅いニューラルネットワーク」を見てみましょう。

1. ニューラルネットワークとは何ですか?

ここで説明するニューラル ネットワークは、ロジスティック回帰に基づいて 1 つ以上の隠し層を追加するものです。以下は、2 つの層のみを持つ非常に単純なニューラル ネットワークです。

2層ニューラルネットワーク:

上記の図は 3 層や 4 層ではなく「2 層」であり、入力と出力は層としてカウントされないことに注意してください。

ここで、まず表記法を定義します。

  • z は x、w、b の線形演算の結果、z=wx+b です。a は z の活性化値です。下付き文字の 1、2、3、4 はレイヤーの i 番目のニューロン (ユニット) を表します。上付き文字の [1]、[2] などは現在のレイヤーを表します。 y^はモデルの出力を表し、yは真の値、つまりラベルである。

また、よく混同される点が 1 つあります。

- 上図の x1、x2、x3、x4 は 4 つのサンプルを表していません。しかし、サンプルの 4 つの特徴 (4 つの次元の値)!

m 個のサンプルがある場合、上記のプロセスを m 回繰り返す必要があることを意味します。

ニューラル ネットワークの「2 つの伝播」:

  • 順方向伝播は、入力から層ごとに進み、各層の z と a を継続的に計算し、最終的に出力 y^ を取得するプロセスです。y^ を計算した後、それと真の値 y との差に基づいて損失を計算できます。逆伝播 逆伝播は、損失関数 L(y^,y) に従って各層の z、a、w、b の偏微分 (勾配) を逆方向に計算し、パラメータを更新することです。
  • 順方向伝播と逆方向伝播:

それぞれの順方向伝播と逆方向伝播の後に、パラメータが 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[l]:(n[l],n[l-1]) (この層のユニット数、上位層のユニット数) b[l]:(n[l],1) z[l]:(n[l],1) Z[l]:(n[l],m) a[l]:(n[l],1) A[l]:(n[l],m) X:(n[0],m) Y:(1,m)

なぜ W と b の次元に m がないのかと疑問に思う人もいるかもしれません。

Wとbは各サンプルで同じなので、すべてのサンプルは同じパラメータセット(W、b)を使用します。

しかし、ZとAは異なります。計算時のパラメータは同じでも、サンプルが異なれば計算結果も異なるため、次元にmがあります。

ディープ ニューラル ネットワークの順方向伝播と逆方向伝播は、上記の 2 層ニューラル ネットワークと似ていますが、層がいくつか増え、中間の活性化関数がシグモイドから ReLU に変更されています。

<<:  TensorFlow を使用した LSTM モデルの構築に関する詳細なチュートリアル

>>:  ディープラーニングベースの検出および認識アルゴリズムをSAR画像のインテリジェントな解釈に適用する

ブログ    
ブログ    

推薦する

...

携帯電話の顔認識は、単に顔を見せることだけだと思っていませんか?あまりにもナイーブだ!女の子は注意しなければならない

今日は古い知識を学んだのですが、普段私たちが使っている携帯電話の顔認識は顔の部分だけを認識するもので...

自動運転のための強化学習:人間主導の経験ベースのアプローチ

[[428302]] 2021年9月26日にarXivにアップロードされた論文「人間のガイダンスによ...

AIが高度な数学の問題を生成し、新たな難易度に到達:MITは問題を生成し、質問に答え、採点できるアルゴリズムモデルを提案

少し前に、DeepMind による研究が Nature の表紙を飾り、直感を導くことで 2 つの主要...

AIがコンテンツマーケティングを進化させる方法

デジタル メディアはほぼすべての人の日常生活に浸透し、私たちのあらゆる活動に永続的な影響を及ぼしてい...

...

ディープラーニング:新興技術の限界を押し広げる

ビッグデータや人工知能などの新興技術は猛烈な勢いで発展しており、その一因はディープラーニングの驚異的...

...

...

CTO は、企業開発のさまざまな段階で知的財産権の対応する全体像をどのように確立できるでしょうか?

最近、新しい「特許法」の全文が公布され、新たに改正された「著作権法」が公布されたことにより、国は知的...

マイクロソフト、人間の編集者をAIに置き換え、ジャーナリスト数名を解雇

[[328414]]マイクロソフトは、マイクロソフトニュースとMSNチームから数十人のジャーナリスト...

...

ChatGPTはPyTorchなしでは構築できません。LeCunの発言は白熱した議論を引き起こしました。モデルメーカーが重量を公開しない理由は、

ここ2日間で、オープンソースの話題が再び人気を集めています。 「オープンソースがなければ、AI は何...

AIの終末: 人間は本当の自己認識を持っていない

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...