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

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

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

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画像のインテリジェントな解釈に適用する

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

5000億の大台を突破?多くの国で人工知能が急速に進歩している

近年、モノのインターネット、クラウドコンピューティング、人工知能などの新世代技術が急速に発展し、特に...

人工知能に関するこの記事を読むことで、90%の人を超えることができる

この記事はeasyAI - 人工知能ナレッジベースから転送されました目次人工知能に関する誤解人工知能...

2024年までにAIが広告に革命を起こす

人工知能 (AI) は、コンテンツの作成や顧客のセグメンテーションからキャンペーンの最適化まで、マー...

Appleは10年間で28社のAI企業を売却。そのAI戦略は世間の注目を集めることだ!

10年前の2010年2月、同社初のバーチャルパーソナルアシスタントアプリであるSiriがApple...

ビジネスにおけるAIベースの音声認識アプリケーション

[[342735]] [51CTO.com クイック翻訳] 人工知能(AI)が今日、さまざまな業界で...

今日の生活における人工知能(AI)の実際的な意義

人工知能について言えば、ほとんどの人がまだ混乱していると思います。それは何なのか?何に使われるのか?...

...

国内大学、AI専攻の学部生を初めて大規模募集

[[233398]] 「人気商品」は受験者や保護者を惹きつけ、専門職の入学基準が引き上げられている大...

...

AI給与動向:給与が急上昇中!

AI プログラマーの平均給与は約 10 万ドルから 15 万ドルですが、大金を稼ぐには AI エン...

ガートナー:金融業界はAIがもたらす変化を追求

私たちがよく話題にする金融テクノロジーとは、人工知能とデータを活用して新しいビジネス手法を見つけるも...

機械学習が将来の雇用市場にどのような影響を与えるか

機械学習は、あらゆる業界、特に雇用と求人市場に変革をもたらし、エントリーレベルの職からトップレベルの...

概要: インターネット時代です!人工知能に関する4つの大きな誤解

インターネットは現在、非常に急速に発展しており、特に過去2年間で、人工知能はインターネットのトレンド...

すべての開発者が知っておくべき 6 つの生成 AI フレームワークとツール

翻訳者 | ジン・ヤンレビュー | Chonglou生成 AI は、急速に進化するテクノロジー分野に...