フィードフォワードニューラルネットワークとフィードバックニューラルネットワーク:徹底比較
ニューラルネットワークの構造は、人工知能モデリングの研究においてますます重要になっています。フィードバック(リカレント)ニューラルネットワークとフィードフォワードニューラルネットワークという、相反する2つの構造パラダイムが存在します。この記事では、各アーキテクチャを徹底的に分析した後、両者の詳細な比較を行います。そして、いくつかのユースケースを通じて、それぞれのニューラルネットワーク構造の性能を比較します。
ニューラルネットワークとは?
ディープラーニングの基本的な構成要素であるニューラルネットワークは、困難なデータ駆動型の問題を解決しながら、人間の脳の動作をシミュレートすることで知られています。必要な出力を生成するために、入力データは、互いに積み重ねられた複数の人工ニューロン層を通して処理されます。アプリケーションの範囲は、単純な画像分類から、自然言語処理、テキスト生成、その他の世界関連の問題のような、より重要で複雑な問題にまで及びます。
ニューラルネットワークの要素分解
ニューラルネットワークアーキテクチャを構成するニューロンは、脳の有機的な動作を再現します。基本的なニューロンの表現から始めて、最も複雑なアーキテクチャをどのように構築できるかを示します。
入力層:データセットの取り込み
学習モデルに入力されるデータの集合(特徴量)です。例えば、気象予測モデルの入力として、現在の気象観測値の配列を使用できます。
重み:特徴量の重要度を測る
学習プロセスを最も助ける特徴量に重要性を与えることが、重みを使用する主な目的です。入力値と重み行列の間にスカラー乗算を追加することで、一部の特徴量の効果を高め、他の特徴量の効果を下げることができます。例えば、高いピッチの音の存在は、音楽ジャンルの分類モデルの選択に、ジャンル間で一般的ない他の平均的なピッチの音よりも影響を与えるでしょう。
活性化関数:非線形性の導入
入力に対する線形性の変化を考慮するために、活性化関数はニューロンの動作に非線形性を導入します。活性化関数がない場合、出力は入力値の線形結合になるだけであり、ネットワークは非線形性に対応できません。最も一般的に使用される活性化関数は、ユニットステップ関数、シグモイド関数、区分的線形関数、ガウス関数です。
バイアス:活性化の調整
バイアスの目的は、活性化関数が生成する値を変更することです。その機能は、線形関数の定数に匹敵します。つまり、基本的には活性化関数の出力のシフトです。
レイヤー構造:ネットワークの骨格
人工ニューラルネットワークは、互いに積み重ねられた複数のニューラルレイヤーで構成されています。各レイヤーは、1列に積み重ねられた複数のニューロンで構成されています。3種類のレイヤーを区別します。入力層、隠れ層、出力層です。
-
入力層: モデルに入力するデータを、画像や数値ベクトルなどの外部ソースから受け取るレイヤーです。このレイヤーは、処理を行わずに外部からのすべての情報を送信できる、ニューラルネットワーク全体で唯一目に見えるレイヤーです。
-
隠れ層: ディープラーニングを今日のようなものにしているのは、隠れ層です。隠れ層は、すべての計算を行い、データの特徴を抽出する仲介レイヤーです。データの隠れた特徴の検索には、相互にリンクされた隠れ層が多数含まれる場合があります。例えば、画像処理では、最初の隠れ層は、境界線、形状、境界線の検出などの高レベルの機能を担当することがよくあります。一方、後続の隠れ層は、オブジェクト全体の分類やセグメンテーションなど、より高度なタスクを実行します。
-
出力層: 最終的な予測は、出力層によって、先行する隠れ層からのデータを使用して行われます。最終的な結果を取得するレイヤーであるため、最も重要です。出力層では、分類モデルと回帰モデルには通常、単一のノードがあります。ただし、これは問題の性質とモデルの開発方法に完全に依存します。最新のモデルの中には、2次元の出力層を持つものもあります。例えば、Metaの新しいMake-A-Sceneモデルは、入力のテキストから画像を生成します。
レイヤー間の連携:情報伝達の仕組み
入力ノードは、数値で表現できる形式でデータを受け取ります。各ノードには番号が割り当てられており、番号が大きいほどアクティベーションが高くなります。情報はアクティベーション値として表示されます。ネットワークは次に、この情報を外側に拡散します。アクティベーション値は、接続強度(重み)に基づいてノードからノードに送信され、阻害または励起を表します。各ノードは、受け取ったアクティベーション値を合計してから、アクティベーション関数に従って値を変更します。アクティベーションは、ネットワークの隠れレベルを経由して、出力ノードに到達します。入力は、出力ノードによって外部の世界に意味のある形で反映されます。予測値と実際の値の差であるエラーは、各ノードの重みを、各ノードが責任を負うエラーの割合に割り当てることによって、後方に伝播されます。
フィードフォワードニューラルネットワークの構造
フィードフォワードネットワークでは、信号は一方向にしか移動できません。これらのネットワークは、入力、出力、隠れ層を備えた非再帰型ネットワークと見なされます。処理ユニットの層は入力データを受け取り、そこで計算を実行します。各処理要素は、入力の加重合計に基づいて計算を実行します。新しく導出された値は、後続のレイヤーの新しい入力値として使用されます。このプロセスは、すべてのレイヤーを通過した後に出力が決定されるまで続きます。
パーセプトロン(線形および非線形)および放射基底関数ネットワークは、フィードフォワードネットワークの例です。実際、単層パーセプトロンネットワークは、最も基本的なタイプのニューラルネットワークです。単一の出力ノード層があり、入力は一連の重みを介して出力に直接供給されます。各ノードは、重みと入力の積の合計を計算します。このニューラルネットワーク構造は、最初に構築された最も基本的なアーキテクチャの1つでした。
バックプロパゲーションによる学習
多層フィードフォワードニューラルネットワークでは、バックプロパゲーションという手法を使用して学習が行われます。各トレーニングサンプルのプロパティは入力によって刺激されます。隠れ層には、入力層の重み付けされた出力が同時に供給されます。隠れ層の重み付けされた出力は、追加の隠れ層の入力として使用できます。複数の隠れ層の使用は任意です。多くの場合、基本的なネットワークでは1つだけが使用されます。
出力層を構成するユニットは、最後の隠れ層の重み付けされた出力を入力として使用して、特定のサンプルに対するネットワークの予測を拡散します。隠れ層と出力層のユニットは、その象徴的な生物学的コンポーネントのために、ニューロドまたは出力ユニットとして描かれています。
CNN:畳み込みニューラルネットワーク
畳み込みニューラルネットワーク(CNN)は、フィードフォワードアーキテクチャの最もよく知られているイテレーションの1つです。CNNは、線形代数(特に、行列乗算)の概念を使用して画像内のパターンを識別することにより、画像分類およびオブジェクト認識タスクへのよりスケーラブルな手法を提供します。
CNNは、適切なフィルターを使用することで、画像内の空間的および時間的な依存関係を効果的にキャプチャできます。考慮すべき要素が少なく、重みを再利用できるため、アーキテクチャは画像データセットにより適合します。言い換えれば、ネットワークは画像内の複雑さのレベルをよりよく理解するようにトレーニングできます。
フィードフォワードネットワークのトレーニング:バックプロパゲーション
このタイプのネットワークの一般的なアルゴリズムはバックプロパゲーションです。これは、前のエポック(つまり、イテレーション)で記録されたエラー率に基づいて、ニューラルネットワークの重みを調整するための手法です。重みを適切に調整することで、エラー率を下げて、適用範囲を広げることでモデルの信頼性を向上させることができます。
単一の重みの損失関数の勾配は、連鎖律を使用してニューラルネットワークのバックプロパゲーションアルゴリズムによって計算されます。ネイティブの直接計算とは対照的に、一度に1つのレイヤーを効率的に計算します。勾配を計算しますが、勾配をどのように適用するかは指定しません。デルタルールの計算範囲を広げます。
フィードバックニューラルネットワークの構造
リカレントニューラルネットワーク(RNN)などのフィードバックネットワークは、フィードバックパスを備えており、信号がループを使用して両方向に移動できます。ニューロン接続はどのような方法でも確立できます。この種のネットワークにはループが含まれているため、平衡状態に達するまでトレーニング中に継続的に進化する非線形動的システムに変わります。
研究では、RNNが最も有名なタイプのフィードバックネットワークです。RNNは、ノード間の接続を時間的シーケンスに沿って有向グラフまたは無向グラフに形成する人工ニューラルネットワークです。結果として、時間的な動的動作を表示できます。RNNは、内部状態(メモリの形式を表すことができる)を使用して、さまざまな長さの入力シーケンスを処理できます。したがって、音声認識や手書き認識などのアプリケーションに使用できます。
フィードバックネットワークのトレーニング:BPTT
このタイプのネットワークの一般的なアルゴリズムは、時間を通じたバックプロパゲーションまたはBPTTです。これは、特定のリカレントニューラルネットワークタイプをトレーニングするための勾配ベースの方法です。また、フィードバックネットワークに存在する再帰に適応した、フィードフォワードネットワークのバックプロパゲーションの拡張と見なされます。
CNN vs RNN:アーキテクチャと用途の違い
CNNはRNNのように構築されていません。RNNは結果をネットワークに送り返しますが、CNNはフィルターとプーリングレイヤーを使用するフィードフォワードニューラルネットワークです。
アプリケーションに関しては、CNNは画像などの空間データに関連する問題をモデル化するために使用されることがよくあります。RNNは、テキストや画像シーケンスなどの時間的、シーケンシャルなデータを処理する場合に、より優れたパフォーマンスを発揮します。
Convolution Neural Networks (CNNs) | Recurrent Neural Networks (RNNs) | |
---|---|---|
アーキテクチャ | フィードフォワードニューラルネットワーク | フィードバックニューラルネットワーク |
レイアウト | 畳み込みレイヤーを含むノードの複数レイヤー | さまざまな方向に情報が流れ、メモリ効果をシミュレートします |
データ型 | 画像データ | シーケンスデータ |
入出力 | 入力と出力のサイズは固定されています (つまり、固定サイズの入力画像と分類を出力します) | 入力と出力のサイズは異なる場合があります (つまり、異なるテキストを受信し、たとえば異なる翻訳を生成します) |
ユースケース | 画像分類、認識、医療画像、画像分析、顔検出 | テキスト翻訳、自然言語処理、言語翻訳、センチメント分析 |
デメリット | 大規模なトレーニングデータ | 遅くて複雑なトレーニング手順 |
説明 | CNNはニューロン接続パターンを使用します。また、動物の視覚皮質の個々のニューロンの配置からヒントを得ており、これにより視覚フィールドの重なり合う領域に応答できます。 | 時系列情報がリカレントニューラルネットワークで使用されます。たとえば、ユーザーの前の単語は、次に何を言うことができるかについてのモデル予測に影響を与える可能性があります。 |
アーキテクチャの例 | ||
AlexNet |
AlexNet:深層学習の推進力
Alex Krizhevskyによって作成されたConvolutional Neural Network(CNN)アーキテクチャであるAlexNetを作成しました。8つのレイヤーで構成されるAlexNet。最初の5つは畳み込みレイヤーで、一部はmax-poolingレイヤーが続き、最後の3つは完全に接続されたレイヤーでした。トレーニング効率の点でtanhとシグモイドよりも優れている非飽和ReLUアクティベーション関数を利用しました。コンピュータービジョンの最も影響力のある研究の1つと考えられているAlexNetは、CNNとGPUを使用して深層学習を加速するさらなる研究の発表を刺激しました。実際、Fによると、AlexNetの出版物は2022年までに69,000回以上引用されています。
LeNet:畳み込みニューラルネットワークの基礎
Yann LeCunは、LeNetとして知られる畳み込みニューラルネットワークトポロジーを提案しました。最初の畳み込みニューラルネットワークの1つであるLeNet-5は、深層学習の進歩を支援しました。最初の畳み込みニューラルネットワークのプロトタイプであるLeNetは、畳み込みレイヤー、プーリングレイヤー、完全接続レイヤーを含む畳み込みニューラルネットワークの基本的なコンポーネントを備えており、その将来の進歩のための基盤を提供します。図に示すように、LeNet-5は7つのレイヤーで構成されています。
LSTM:長期記憶の活用
LSTMネットワークは、RNNの著名な例の1つです。これらのアーキテクチャは、単一のデータポイントに加えて、完全なデータシーケンスを分析できます。たとえば、LSTMは、非セグメント化された手書きの認識、音声認識、言語翻訳、ロボット制御などのタスクを実行するために使用できます。
LSTMネットワークはセルから構築されています(図を参照)。LSTMセルの基本的なコンポーネントは一般的に、forgetゲート、入力ゲート、出力ゲート、およびセル状態です。
GRU:LSTMの簡素化
このRNN派生物は、RNNモデルを特徴づける短期記憶の問題を解決しようとするため、LSTMに匹敵します。GRUには出力ゲートがないため、LSTMよりもパラメータが少なくなっていますが、forgetゲートを備えたLSTMに似ています。GRUとLSTMは、いくつかの音楽モデリング、音声信号モデリング、および自然言語処理タスクで同様のパフォーマンスを発揮することがわかりました。GRUは、いくつかの小さくてあまり頻繁ではないデータセットで優れたパフォーマンスを発揮しています。
ユースケース別比較:どちらのアーキテクチャが最適か?
アプリケーションによっては、フィードフォワード構造が一部のモデルでより適切に機能し、フィードバック設計が他のモデルで効果的に機能する場合があります。あるアーキテクチャを別のアーキテクチャよりも選択することが好ましいいくつかのインスタンスを以下に示します。
為替レート予測:フィードフォワードが優位?
日本円の為替レートをモデル化する研究では、非常に簡単で適用しやすいにもかかわらず、サンプル外のデータの結果は、フィードフォワードモデルが価格レベルと価格方向の両方を予測する上で合理的に正確であることを示しています。実際、フィードフォワードモデルは、リカレントネットワークの予測パフォーマンスよりも優れていました。これは、頻繁に混乱や不安定を経験するフィードバックモデルが、データを後方および前方に送信する必要があるという事実による可能性があります。
部分的にオクルージョンされたオブジェクトの認識:フィードバックの可能性
オブジェクト識別ではフィードフォワード処理が使用されているという認識が広まっています。オクルージョンされた刺激に対するリカレントなトップダウン接続は、入力画像で失われた情報を再構築できる可能性があります。フランクフルト高等研究所のAI研究者は、このトピックを調査しました。彼らは、オクルージョンされたオブジェクト検出の場合、リカレントニューラルネットワークアーキテクチャが注目すべきパフォーマンスの向上を示していることを示しました。同じ調査結果が、ジャーナルオブコグニティブニューロサイエンスの別の記事でも報告されています。著者が実施した実験とモデルシミュレーションは、フィードフォワードビジョンの制限を強調し、オブジェクト認識は実際には非常にインタラクティブな動的プロセスであり、協力に依存していると主張します。