ニューラル ネットワークを使い始めたばかりのときは、ニューラル ネットワーク アーキテクチャの多さに戸惑うことがよくあります。ニューラル ネットワークは複雑で多様であるように見えますが、アーキテクチャの種類はフィードフォワード ニューラル ネットワーク、リカレント ネットワーク、対称接続ネットワークの 3 つだけです。この記事では、CNN、RNN、DBN、GAN という 4 つの一般的なニューラル ネットワークを紹介します。これら 4 つの基本的なニューラル ネットワーク アーキテクチャを通じて、ニューラル ネットワークについて理解を深めましょう。 ニューラルネットワークとは何かニューラルネットワークは機械学習におけるモデルです。動物の神経ネットワークの行動特性を模倣し、分散並列情報処理を行うアルゴリズム的な数学モデルです。このタイプのネットワークはシステムの複雑さに依存しており、多数の内部ノード間の相互接続関係を調整することによって情報処理の目的を達成します。 一般的に、ニューラル ネットワーク アーキテクチャは次の 3 つのカテゴリに分類できます。 フィードフォワードニューラルネットワーク これは実際に使用される最も一般的なタイプのニューラル ネットワークです。最初の層は入力で、最後の層は出力です。複数の隠し層がある場合、これを「ディープ」ニューラル ネットワークと呼びます。サンプルの類似性を変更する一連の変換を計算します。各層のニューロンの活動は、前の層の活動の非線形関数です。 再帰ネットワーク 再帰型ネットワークの接続グラフには有向ループがあり、矢印をたどって開始点に戻ることができます。複雑なダイナミクスを持つ場合があり、そのため訓練が困難になることがあります。それらは生物学的にもっと本物です。 再帰型ネットワークの目的は、シーケンスデータを処理することです。従来のニューラル ネットワーク モデルでは、入力層から隠れ層、出力層まで、各層は完全に接続されており、各層間のノードは切断されています。しかし、この通常のニューラル ネットワークは多くの問題に対して無力です。たとえば、文中の次の単語を予測したい場合、文中の前の単語と次の単語は独立していないため、通常は前の単語を使用する必要があります。 リカレント ニューラル ネットワーク、つまり、シーケンスの現在の出力は、以前の出力とも関連しています。具体的な現れは、ネットワークが以前の情報を記憶し、それを現在の出力の計算に適用することです。つまり、隠れ層間のノードは切断されなくなり、接続され、隠れ層の入力には入力層の出力だけでなく、前の瞬間の隠れ層の出力も含まれます。 対称的に接続されたネットワーク: 対称的に接続されたネットワークは再帰型ネットワークに少し似ていますが、ユニット間の接続は対称的です (両方向で同じ重みを持ちます)。対称的に接続されたネットワークは、再帰型ネットワークよりも分析が容易です。このネットワークはエネルギー関数の法則に従うため、より多くの制限があります。隠れユニットのない対称的に接続されたネットワークは、「ホップフィールド ネットワーク」と呼ばれます。隠れユニットを持つ対称的に接続されたネットワークは、ボルツマン マシンと呼ばれます。 パーセプトロン実は前回の投稿ではパーセプトロンについて少し触れたので、ここでもそれを繰り返します。 まずこの写真 これはMPニューロンです ニューロンには n 個の入力があり、それぞれが重み w に対応します。ニューロンは入力と重みを乗算し、それらを合計します。その合計がバイアスから減算され、その結果が活性化関数に入力されます。活性化関数は最終的な出力を生成し、多くの場合はバイナリです。0 状態は抑制を表し、1 状態は活性化を表します。 パーセプトロンは、単層パーセプトロンと多層パーセプトロンに分けられます。 ここでは主に単層パーセプトロンについて説明します。 パーセプトロンは 2 層のニューラル ネットワークで構成されています。入力層は外部入力信号を受け取り、それを出力層に渡します。出力層は MP ニューロンです。 パーセプトロンは、n 次元インスタンス空間の超平面決定面として見ることができます。超平面の片側のサンプルに対してはパーセプトロンは 1 を出力し、反対側のサンプルに対しては 0 を出力します。この決定超平面の方程式は w⋅x=0 です。 超平面によって分離できる正例と負例の集合は線形分離可能例集合と呼ばれ、図のパーセプトロンで表すことができます。 AND、OR、NOT の問題はすべて線形分離可能な問題であり、2 入力パーセプトロンを使用して簡単に表現できます。ただし、XOR 問題は線形分離可能な問題ではないため、単層パーセプトロンは機能しません。この場合、問題を解決するには多層パーセプトロンが必要です。 パーセプトロンをトレーニングしたい場合はどうすればよいでしょうか? ランダムな重みから始めて、このパーセプトロンを各トレーニング例に繰り返し適用し、例を誤分類するたびにパーセプトロンの重みを変更します。このプロセスは、パーセプトロンがすべての例を正しく分類するまで繰り返されます。各ステップでは、パーセプトロンのトレーニング ルールに従って重みを変更します。つまり、入力 xi に対応する重み wi を変更します。ルールは次のとおりです。 ここで、t は現在のトレーニング例のターゲット出力、o はパーセプトロンの出力、η は学習率と呼ばれる正の定数です。学習率の役割は、各ステップでの重みの調整の度合いを緩和することです。通常は小さな値(0.1 など)に設定され、重みの調整回数が増えるにつれて減少するように設定されることもあります。 多層パーセプトロン、または多層ニューラル ネットワークは、入力層と出力層の間に複数の隠れ層を追加するだけです。CNN や DBN などの後続のニューラル ネットワークは、各層のタイプを再設計するだけです。パーセプトロンはニューラル ネットワークの基礎と言えます。その後のより複雑なニューラル ネットワークは、最も単純なパーセプトロン モデルから切り離すことはできません。 畳み込みニューラルネットワーク (CNN)機械学習について語るときには、パターン認識という用語も付け加えられることが多いのですが、実際の環境でのパターン認識ではさまざまな問題が発生することがよくあります。例えば: 画像セグメンテーション: 実際のシーンは常に他のオブジェクトと混在しています。どの部分が同じオブジェクトに属しているかを判断するのは困難です。オブジェクトの一部を他のオブジェクトの後ろに隠すことができます。 オブジェクトの照明: ピクセルの強度は照明によって大きく影響されます。 画像の変形: オブジェクトはさまざまな非アフィン方式で変形できます。たとえば、手書き文字には大きな円や点だけが含まれることもあります。 コンテキスト サポート: オブジェクトが属するカテゴリは、多くの場合、その使用方法によって定義されます。たとえば、椅子は座ることを目的として設計されているため、さまざまな物理的な形状があります。 畳み込みニューラル ネットワークと通常のニューラル ネットワークの違いは、畳み込みニューラル ネットワークには畳み込み層とサブサンプリング層で構成される特徴抽出器が含まれていることです。畳み込みニューラル ネットワークの畳み込み層では、ニューロンは隣接する層の一部のニューロンにのみ接続されます。 CNN の畳み込み層には、通常、複数の特徴平面 (featureMap) が含まれます。各特徴平面は、長方形に配置されたいくつかのニューロンで構成されます。同じ特徴平面内のニューロンは重みを共有し、ここで共有される重みが畳み込みカーネルです。畳み込みカーネルは通常、ランダムな小数行列の形式で初期化され、畳み込みカーネルはネットワークのトレーニング プロセス中に適切な重みを学習します。重み (畳み込みカーネル) を共有することの直接的な利点は、ネットワーク層間の接続を減らし、過剰適合のリスクを減らすことです。サブサンプリングはプーリングとも呼ばれ、通常は平均プーリングと最大プーリングの 2 つの形式があります。サブサンプリングは、特殊な畳み込みプロセスとして考えることができます。畳み込みとサブサンプリングにより、モデルの複雑さが大幅に簡素化され、モデル パラメータが削減されます。 畳み込みニューラル ネットワークは 3 つの部分で構成されます。最初の部分は入力層です。 2 番目の部分は、n 個の畳み込み層とプーリング層の組み合わせで構成されます。 3 番目の部分は、完全に接続された多層パーセプトロン分類器で構成されます。 例としてAlexNetを挙げます。
畳み込みニューラル ネットワークは、パターン認識の分野で重要な応用があります。もちろん、これは畳み込みニューラル ネットワークの最も簡単な説明にすぎません。畳み込みニューラル ネットワークには、局所受容野、重み共有、多重畳み込みカーネルなど、まだ多くの知識が残っており、機会があれば後で説明します。 リカレントニューラルネットワーク (RNN)従来のニューラル ネットワークでは、多くの問題の処理が困難です。たとえば、文中の次の単語を予測する場合、文中の前の単語と次の単語は独立していないため、通常は前の単語を使用する必要があります。 RNN がリカレント ニューラル ネットワークと呼ばれる理由は、シーケンスの現在の出力が以前の出力にも関連しているためです。具体的な現れは、ネットワークが以前の情報を記憶し、それを現在の出力の計算に適用することです。つまり、隠れ層間のノードは切断されなくなり、接続され、隠れ層の入力には入力層の出力だけでなく、前の瞬間の隠れ層の出力も含まれます。理論的には、RNN は任意の長さのシーケンス データを処理できます。 これは単純な RNN 構造です。隠れ層がそれ自体に接続できることがわかります。 では、なぜ RNN の隠れ層は前の瞬間の隠れ層の出力を見ることができるのでしょうか? 実際、ネットワークを展開すると、非常に明確になります。 このネットワークが時刻 t に入力 Xt を受信した後、隠れ層の値は St になり、出力値は Ot になります。重要な点は、の値が Xt だけでなく St-1 にも依存することです。 式1は出力層の計算式です。出力層は全結合層、つまり各ノードが隠れ層の各ノードに接続されています。 V は出力層の重み行列であり、g は活性化関数です。式2はリカレント層である隠れ層の計算式です。 Uは入力xの重み行列、Wは前回の値St-1を今回の入力とした重み行列、fは活性化関数です。 上記の式から、再帰層と完全接続層の違いは、再帰層には追加の重み行列 W があることであることがわかります。 式 2 を式 1 に繰り返し代入すると、次のようになります。 上記から、リカレントニューラルネットワークの出力値は、以前の入力値Xt、Xt-1、Xt-2、X-3、X-4...の影響を受けることがわかります。これが、リカレントニューラルネットワークが任意の数の入力値を期待できる理由です。 ディープビリーフネットワーク DBNDBN について話す前に、DBN の基本的な構成要素である RBM (制限付きボルツマン マシン) についてある程度理解しておく必要があります。 まず、ボルツマンマシンとは何でしょうか? 図に示すように、これはボルツマン マシンであり、青いノードは隠し層、白いノードは入力層です。 リカレントニューラルネットワークと比較した場合、ボルツマンマシンの違いは次のとおりです。 1. 再帰型ニューラル ネットワークの本質は関数を学習することであるため、入力層と出力層の概念がありますが、ボルツマン マシンの有用性はデータ セットの「固有の表現」を学習することであるため、出力層の概念はありません。 2. 再帰ニューラル ネットワークのノードは有向リングとして接続されますが、ボルツマン マシンのノードは無向完全グラフとして接続されます。 制限付きボルツマンマシンとは何ですか? 簡単に言えば、制約が追加され、完全グラフが二部グラフになります。つまり、可視層と隠れ層で構成され、可視層と隠れ層のニューロンは両方向に完全に接続されています。 hは隠れ層、vは可視層を表す RBM では、接続された任意の 2 つのニューロン間には接続の強さを表す重み w があり、各ニューロン自体には、自身の重みを表すバイアス係数 b (可視層ニューロンの場合) と c (隠れ層ニューロンの場合) があります。 具体的な式の導出はここでは示しません。 DBN は確率的生成モデルです。従来の識別ニューラル ネットワーク モデルと比較すると、生成モデルは観測データとラベル間の結合分布を確立し、P(観測|ラベル) と P(ラベル|観測) の両方を評価しますが、識別モデルは後者、つまり P(ラベル|観測) のみを評価します。 DBN は複数の制限付きボルツマン マシン レイヤーで構成されています。典型的なニューラル ネットワーク タイプを図に示します。これらのネットワークは、1 つの可視層と 1 つの非表示層に「制限」されており、層間の接続はありますが、層内のユニット間の接続はありません。隠れユニットは、視覚層で表現される高レベルデータの相関関係を捉えるようにトレーニングされます。 生成的敵対ネットワーク (GAN)生成的敵対ネットワークについては、実は以前の記事でも説明しているので、ここで説明します。 生成的敵対ネットワークの目標は生成することです。従来のネットワーク構造は、多くの場合、識別モデル、つまりサンプルの信頼性を判断するモデルです。生成モデルは、提供されたサンプルに基づいて同様の新しいサンプルを生成できます。これらのサンプルはコンピューターによって学習されることに注意してください。 GAN は通常、生成モデル ネットワークと識別モデル ネットワークの 2 つのネットワークで構成されます。 生成モデル G は、サンプル データの分布を捉え、特定の分布 (均一分布、ガウス分布など) に従うノイズ z を使用して、実際のトレーニング データに類似したサンプルを生成します。その効果は、実際のサンプルにできるだけ類似させることです。識別モデル D は、サンプルが (生成されたデータではなく) トレーニング データから取得される確率を推定するバイナリ分類器です。サンプルが実際のトレーニング データから取得される場合、D は高い確率を出力し、そうでない場合は、D は低い確率を出力します。 たとえば、生成ネットワーク G は、偽造通貨の製造を専門とする偽造通貨製造ギャングのようなものです。識別ネットワーク D は、使用されている通貨が本物か偽造かを検出することを専門とする警察のようなものです。G の目標は、D が本物と区別できないように、本物の通貨と同じ通貨を生成する方法を見つけることです。D の目標は、G によって生成された偽造通貨を検出する方法を見つけることです。 従来の判別ネットワーク: 生成的敵対ネットワーク: トレーニングプロセスでは、一方が固定され、他方のネットワークの重みが更新され、反復が繰り返されます。このプロセスでは、双方が自分のネットワークを最適化するために最善を尽くし、両者が動的バランス(ナッシュ均衡)に達するまで競争的な対決を形成します。このとき、生成モデルGはトレーニングデータの分布を復元し(実際のデータとまったく同じサンプルを作成します)、判別モデルは結果を判別できなくなり、精度は50%になります。 これはcDCGANの例です(前回の投稿で書きました) 生成ネットワーク 識別ネットワーク 最終結果では、MNIST を初期サンプルとして使用し、学習後に生成された数値を通じて、学習効果が依然として良好であることがわかります。 まとめこの記事では、CNN、RNN、DBN、GAN という 4 つのニューラル ネットワーク アーキテクチャについて簡単に説明します。もちろん、これはその意味合いについての深い説明はなく、単なる簡単な紹介にすぎません。これら 4 つのニューラル ネットワーク アーキテクチャは非常に一般的であり、広く使用されています。もちろん、ニューラル ネットワークに関するすべての知識を数回の記事で説明することは不可能です。ここでは、すぐに始めるのに役立つ基本的な知識をいくつか説明します。以降の投稿では、ディープオートエンコーダー、ホップフィールドネットワーク、長短期記憶ネットワーク (LSTM) について説明します。 |
<<: 好むと好まざるとにかかわらず、AIクラウド運用はやってくる
この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...
人工知能 (AI) は、自然科学のさまざまな分野を網羅しており、主に特定の種類の知的な人間の活動をモ...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
タイミングの悪い信号は貴重な時間を無駄にするだけではありません。 Google の最高サステナビリテ...
人工知能 (AI) テクノロジーは、ビジネス プロセスの合理化、運用コストの削減、面倒なタスクの自動...
AI を活用したクラウド管理ツールはまだ導入の初期段階にありますが、IT 業界の専門家は、このような...
[[329844]]顔認識のリアルタイム パフォーマンスを向上させるために、私たちのチームは従来のニ...
[[436311]]最近、Meta CEO マーク・ザッカーバーグ氏によるメタバースの推進が大きな...
[51CTO.comより引用] 2019年を振り返ると、今年は人工知能、モノのインターネット、クラ...
人工知能は歴史的に、やや相反する2つの陣営の間を揺れ動いてきました。一方では、ノーム・チョムスキー、...
これで、大規模言語モデル (LLM) が Jupyter に接続されました。これは主に、Projec...
ディープラーニングはパラメータが多すぎる、モデルが大きすぎる、展開が不便、そしてコンピューティングリ...