ディープラーニングフィードフォワードニューラルネットワークの簡単な紹介

ディープラーニングフィードフォワードニューラルネットワークの簡単な紹介

索引

  • 多層パーセプトロン (MLP) 入門
  • ディープニューラルネットワークの活性化関数
  • ディープニューラルネットワークの損失関数
  • 多層パーセプトロンのバックプロパゲーションアルゴリズム
  • ニューラルネットワークのトレーニング手法
  • 深層畳み込みニューラルネットワーク

フィードフォワード ニューラル ネットワークは、ニューロンが層状に配置される最も単純なニューラル ネットワークです。各ニューロンは、前の層のニューロンにのみ接続されます。前のレイヤーの出力を受け取り、次のレイヤーに出力します。レイヤー間のフィードバックはありません。これは、最も広く使用され、最も急速に成長している人工ニューラル ネットワークの 1 つです。研究は1960年代に始まり、現在では理論的研究と実用化が非常に高いレベルに達しています。

——百度百科

ディープラーニング モデルおよび類似のモデルは、総称してディープ フィードフォワード ネットワークと呼ばれます。その目的は、関数 f を適合させることです。入力から出力までモデル自体とのフィードバック接続がないため、「フィードフォワード」と呼ばれます。一般的なディープ フィードフォワード ネットワークには、多層パーセプトロン、オートエンコーダ、制限付きボルツマン マシン、畳み込みニューラル ネットワークなどがあります。

01 多層パーセプトロン(MLP)入門

多層パーセプトロンについて言えば、まずは最も単純なニューラル ネットワークである単層パーセプトロンを紹介する必要があります。単層パーセプトロンには入力層と出力層があり、いわゆる中間層 (隠れ層) はありません。下の図を参照してください。

つまり、入力ベクトルに異なる重みベクトルが割り当てられ、統合されて加算され、活性化関数を通じて 1 または -1 が出力されます。一般に、単層パーセプトロンは、次の図に示すように、線形に分離可能な問題のみを解決できます。

私は、導入した単層パーセプトロンである 0 個の隠れ層を選択しました。線形に分離可能なデータの場合、効果は依然として良好です。下の図に示すように、線形に分離できないデータセットに変更すると、長時間実行しても結果が得られなくなります。

このとき、多層パーセプトロンが導入されます。単層パーセプトロンと比較すると、隠れ層が追加されます。同じデータセットに対して、隠れ層を 2 つ追加すると、瞬時に非常にうまく分類できます。

上記の直感的な理解のために、多層パーセプトロンの原理を詳しく説明したいと思います。多層パーセプトロン(以下、MLP)では、隠れ層の数は指定されていないため、必要に応じて適切な層数を選択でき、出力層のニューロン数に制限はありません。

02 ディープニューラルネットワークの活性化関数

パーセプトロン アルゴリズムには、順方向伝播 (FP) アルゴリズムと逆方向伝播 (BP) アルゴリズムが含まれますが、それらを紹介する前に、まずディープ ニューラル ネットワークの活性化関数を理解しておきましょう。

非線形分類または回帰問題を解決するには、活性化関数は非線形関数でなければなりません。さらに、モデルのトレーニングには勾配ベースのアプローチを使用するため、活性化関数も連続かつ微分可能でなければなりません。 @ パンチュアン AI

よく使われる活性化関数は次のとおりです。

シグモイド活性化関数

シグモイド関数はロジスティック関数であり、その数式は次のようになります。

対応する関数イメージは次のとおりです。

対応する微分関数は次のようになります。

シグモイド活性化関数はドメイン内で単調に増加しており、両端に近づくほど変化が滑らかになり、BP アルゴリズムを使用すると勾配消失の問題が発生することがわかります。

Tanh活性化関数

Tanh 活性化関数の中国語名は双曲正接活性化関数であり、その数式表現は次のとおりです。

対応する関数イメージは次のとおりです。

対応する微分関数は次のようになります。

同様に、tanh 活性化関数にはシグモイド活性化関数と同じ勾配消失の問題がありますが、tanh 活性化関数の全体的な効果はシグモイド活性化関数よりも優れています。

Q: シグモイドおよび Tanh 活性化関数ではなぜ勾配消失が起こるのでしょうか?

A: z が非常に大きい (正の無限大) か非常に小さい (負の無限大) 場合、両方の微分関数は 0 に近づき、勾配が消えます。

ReLU活性化関数

ReLU 活性化関数は、修正線形ユニットまたは整流ユニット関数とも呼ばれます。これは最も一般的に使用される活性化関数です。その数式は次のとおりです。

対応する関数イメージは(a)です。

対応する微分関数は次のようになります。

ReLU 活性化関数の収束速度は、上記の 2 つよりもはるかに高速です。ReLU 活性化関数の X 軸の左側の値は常に 0 であるため、ネットワークに一定のスパース性を持たせることができ、パラメータ間の依存性が低減され、オーバーフィッティングが緩和されます。また、その導関数の一部は定数 1 であるため、勾配消失の問題はありません。しかし、ReLU 活性化関数には、一部の特徴情報が失われるという欠点もあります。

LReLU活性化関数

LReLU 活性化関数のイメージは上図のとおりです。ReLU 活性化関数との違いは、z<0 の場合、その値は 0 ではなく、傾きが a の線形関数であることです (通常、a は非常に小さな正の数になります)。このように、片側抑制効果があり、負の勾配情報を完全に失うことはありません。導関数の式は次のとおりです。

03 ディープニューラルネットワークの損失関数

損失関数はコスト関数とも呼ばれ、予測値と真の値の間の誤差を表すために使用されます。ディープラーニングモデルのトレーニングは、勾配法に基づいて損失関数を最小化するプロセスです。以下では、いくつかの一般的な損失関数を紹介します。

平均二乗誤差損失関数

平均二乗誤差 (MSE) はよく使用される損失関数であり、その数式は次のようになります。

クロスエントロピー損失関数

クロスエントロピー損失関数は、トレーニングデータの予測値と真の値の間のクロスエントロピーを損失関数として使用します。その数式は次のとおりです。

適用可能なシナリオ

一般的に言えば、MSE は出力値が連続値であり、最後の層にシグモイドまたはソフトマックス活性化関数が含まれていないニューラル ネットワークに適しています。一方、クロス エントロピーはバイナリまたはマルチ分類のシナリオに適しています。

04 多層パーセプトロンのバックプロパゲーションアルゴリズム

MLP では、入力信号が各ネットワーク層の隠しノードを通過して出力を生成するプロセスを「順方向伝播」と呼び、順方向伝播によって最終的にスカラー損失関数が生成されます。バックプロパゲーション アルゴリズムは、損失関数の情報をネットワーク層に沿って後方に伝播し、勾配を計算してネットワーク パラメータを最適化するという目的を達成します。

05 ニューラルネットワークトレーニングテクニック

ニューラル ネットワークのトレーニングでよく発生する問題は、オーバーフィッティングです。オーバーフィッティングの問題を解決する方法は数多くありますが、以下に簡単に挙げると、データ拡張、正規化、モデル アンサンブル、ドロップアウトなどです。さらに、ディープラーニング ネットワークのトレーニングには、学習率、重み減衰係数、ドロップアウト比などのパラメータの調整も含まれます。さらに、バッチ正規化 (BN) は、トレーニング プロセスの収束を加速し、複雑なパラメーターがネットワーク トレーニングの効率に与える影響を効果的に回避することもできます。

データ拡張

データ拡張とは、データ カテゴリを変更せずにデータを拡張することを意味します。ここでは主に画像データを対象としており、以下を含みますが、これらに限定されません。

1) 角度回転

2) ランダムクロッピング

3) カラージッター: 画像の明るさ、彩度、コントラストの変化など、色のデータ強化を指します。

4) ノイズの追加: 主にガウスノイズで、画像にランダムに追加されます。

5) 水平反転

6) 垂直反転

パラメータの初期化

完全に接続されたディープ ニューラル ネットワークを考えると、同じ層にあるどのニューロンも同型であるため、入力と出力は同じになります。すべてのパラメーターが同じ値に初期化されると、順方向伝播と逆方向伝播の両方の値が同じになり、学習プロセスでこの状況を打破できなくなります。そのため、ニューラルネットワークのパラメータ値をランダムに初期化する必要があります。

の一様分布からランダムに抽出します。ここで、d はニューロンが受け入れる入力次元です。

学習率

通常、学習率は 0.1 に設定しますが、検証セットの損失または精度が実際に変わらない場合は、学習率を 2 ~ 5 倍に増やすことを検討できます。

ドロップアウト原則

ドロップアウトは、ディープラーニング ネットワークのトレーニングで非常によく使用されます。これは、一定の確率 p でニューロン ノードの一部をランダムに破棄することを指します。この「破棄」は一時的なもので、トレーニング データの小さなバッチごとに行われます。ランダムに破棄されるため、ニューラル ネットワークの構造は毎回異なります。これは、反復ごとに異なる構造を持つニューラル ネットワークをトレーニングすることと同等であり、従来の機械学習のバギング法に少し似ています。

具体的な実装では、トレーニング プロセス中に、ニューロンのノード活性化値が一定の確率 p で「破棄」、つまり「シャットダウン」されます。したがって、N 個のニューロン ノードを含むネットワークの場合、ドロップアウトの影響下では、生成された 2N 個のモデルの集合と見なすことができます。このプロセスにより、すべてのニューロン間の共同適応性が弱まり、過剰適合のリスクが軽減され、一般化能力が向上します。

バッチ正規化の原則

ニューラル ネットワークのトレーニング プロセスの本質はデータ分布を学習することであるため、トレーニング前に入力データを正規化することが非常に重要です。ニューラル ネットワークには多くの層があることはご存じのとおりです。各隠し層の後、パラメータの変更によりトレーニング データの分布が変わり、ネットワークは各反復で異なるデータ分布に適合することになります。これにより、トレーニングの複雑さが増し、過剰適合のリスクが高まります。

したがって、データ分布を 1 つのデータ分布に統一するために、データを正規化 (平均は 0、標準偏差は 1) する必要があります。この手順は最初に行うのではなく、次の各レイヤーの前に行う必要があります。つまり、ネットワークの各層の入力前に電流データの正規化プロセスが追加され、その後、トレーニングのためにネットワークの次の層に入力されます。

正規化

これはよく見かけます。一般的には、L1 と L2 の方が一般的で、過剰適合を防ぐためにも使用されます。

L1 正則化により、最適化中に重みベクトル w がスパース (つまり、ゼロベクトルに非常に近くなる) になります。 最後に L1 正規化項を持つニューラル ネットワークは、最も重要でほぼ一定のノイズを持つ入力のスパース サブセットのみを使用します。対照的に、L2 正規化からの最終的な重みベクトルは、通常、散在した小さな数値になります。実際には、明示的な特徴選択を気にしない場合は、L2 正則化が L1 よりも優れていると予想できます。

L2 正則化は、おそらく最も一般的に使用される正則化の形式です。これは、モデル内のすべてのパラメータの二乗値をペナルティ項として目的関数に追加することで実現できます。L2 正則化はスパイク ベクトルに強いペナルティを課し、重みのベクトルを分散させる傾向があります。

モデルアンサンブル

モデル統合は現実には非常に一般的です。簡単に言えば、1 つの目標に対して複数のモデルをトレーニングし、各モデルの予測結果に重み付けして、最終結果を出力することを意味します。主な方法は3つあります。

1) モデルは同じですが、初期化パラメータが異なります。

2) 検証セットで良好なパフォーマンスを示す複数のモデルを統合する。

3) 関連するブースティングおよびバギングアルゴリズムを直接採用します。

06 深層畳み込みニューラルネットワーク (CNN)

最後に、私たちがよく知っている CNN、つまり畳み込みニューラル ネットワーク (CNN) についてですが、これもフィードフォワード ニューラル ネットワークの一種です。その特徴は、各層のニューロン ノードが前の層のローカル領域にあるニューロンにのみ応答することです (完全接続ネットワークの各ニューロン ノードは、前の層のすべてのノードに応答します)。

深層畳み込みニューラル ネットワーク モデルは、通常、さまざまな非線形演算とプーリング演算を含む複数の完全接続層が積み重ねられた複数の畳み込み層で構成されます。畳み込み演算は主にグリッド構造のデータを処理するために使用されるため、CNN は当然、画像データの分析と処理に有利です。簡単に言えば、CNN はフィルターを使用して、隣接するピクセル間の輪郭を除去します。

畳み込み

畳み込みフィルタはウィンドウとして考えることができます。次のケースでは、6X6 ネットワークと 3X3 フィルタがあり、フィルタの各グリッドに重みがあります。すべての小さなグリッドがカバーされるまで、ネットワーク上でフィルターを移動します。移動するたびに、フィルターによって「観察」されたコンテンツにその重みが掛けられ、結果として出力されます。最後に、4X4 グリッド マトリックスを取得できます。 (以下の6枚の写真は参考資料5からのものです。著作権を侵害している場合は削除してください)

パディング

畳み込み後の行列のサイズは初期サイズと同じではないため、同じサイズになるようにエッジを塗りつぶす必要があります。

ストライド

つまり、フィルターが移動するステップのサイズです。上記の例では 1 です。実際には、学習率のように、自分で指定することができます。

深さ

深度は画像の深さを表します。6X6X3 の画像は 3X3X3 フィルターでフィルタリングされて 4X4X1 の画像になるので、深度は 1 になります。次のように、フィルターの数を増やすことで深度を増やすこともできます。

プーリング

フィルタはウィンドウの移動プロセスで多くの冗長な計算を行うため、効率が非常に低くなります。プーリング操作の目的は、畳み込み操作を高速化することです。最も一般的に使用されるのは Maxpooling で、その原理は次の図に示されています。

完全なディープCNNネットワーク

畳み込み演算の本質

1) 疎な相互作用

畳み込みカーネルのスケールは入力次元よりも小さくなるため、つまり、フィルターはネットワーク サイズよりも小さくなり、各出力ニューロンは特定のローカル領域内のニューロンとの接続重みのみを持ちます (つまり、それらのニューロンと相互作用します)。この動作特性をスパース相互作用と呼びます。スパースな相互作用により、時間の複雑さが数桁減少し、過剰適合の状況もある程度改善されます。

2) パラメータの共有

これは、同じモデルの異なるモジュールで同じパラメータを使用することを指し、畳み込み演算の固有の特性です。上で述べたように、フィルターのウェイトはすべてのメッシュに適用されます。

<<:  AIスタートアップが成熟するための4つの段階と懸念事項

>>:  医療AIの深淵:まだ解決すべき大きな問題

ブログ    
ブログ    

推薦する

AIチャットボット、欲しいですか?

チャットボットが追加されると、顧客からの問い合わせに24時間対応できるようになるため、革命的な変化が...

危険すぎる。Google は過去 12 年間、いまだにこれを公表しようとしない。

ボビー・アリン編纂者 | Yan Zheng幸いなことに、Google はこの技術を公開しませんでし...

検査業界は大きな変革期を迎えており、人工知能が次世代の検査をリードしている。

[[283895]]モバイルインターネットの隆盛時代を経て、中国のモバイルアプリケーションエコシス...

...

フェイフェイ・リーがリストに載っています!バイデン氏、AI研究者にデータを公開するため12人からなるタスクフォースを設置

バイデン政権は木曜日、国家人工知能研究リソース(NAIRR)作業部会の設立を発表した。ワーキンググル...

人工知能はIoTの触媒

世界中の企業がモノのインターネット (IoT) を急速に活用して新しい製品やサービスを生み出し、新た...

ロボット自動化を実装する5つの方法

今日、チャットボットは、顧客サービスの向上、業務の効率化、そしてより効果的な顧客との関わりを求める企...

人工知能が人間の仕事の6%を奪い、置き換える可能性がある

[[187207]]人工知能は人類を滅ぼすことはないかもしれないが、人工知能が人間の仕事を奪うのでは...

人工知能は偏見を排除するのに役立ちますか?

「私たちは物事をあるがままに見ているのではなく、私たちが見ているように見ているのです。」彼女は、私...

マスク氏がウルトラマンの七つの大罪を明かす!アルトマンが交渉を再開、ChatGPTは崩壊

ChatGPTが再びダウンしました。半月前の大規模な障害に続いて、ChatGPT はアクセスの急増に...

人工知能の解釈については、この記事を読んでください

人工知能のより一般的な定義、そしてこの分野における初期の定義は、1956 年のダートマス会議で MI...

ビジョンから現実へ: ヘルスケアにおける AI の台頭

[51CTO.com速訳]人工知能分野における音声インタラクション、コンピュータビジョン、認知コンピ...

...

一時停止トークンを使用して大規模モデルを再トレーニングすると、AIは行動する前によく考えることを学ぶ

ChatGPT に回答を出す前に手順について考えてもらうことで、精度を向上させることができます。では...