実用的なヒント | 人工知能に変身するために習得すべき 8 つのニューラル ネットワーク

実用的なヒント | 人工知能に変身するために習得すべき 8 つのニューラル ネットワーク

なぜ機械学習が必要なのでしょうか?

機械学習は、人間が直接プログラムできない複雑な問題を解決できるため、必要な答えを得るために機械学習アルゴリズムに大量のデータを入力します。

次の 2 つの例を見てみましょう。

  • 雑然としたシーン内、新しい照明条件下、新しい角度からの 3D オブジェクトを認識するなどの問題を解決するプログラムを作成することは非常に困難です。この認識プロセスが脳内でどのように完了するかは私たちにとってまだ謎であるため、コードを通じてこの問題を解決する方法はわかりません。 たとえやり方がわかっていたとしても、書かなければならないプログラムは非常に複雑なものになるでしょう。
  • たとえば、クレジットカード取引における不正の可能性を予測するプログラムを書くのは難しく、単純で信頼できるルールが存在しない可能性もあります。詐欺は動的なターゲットであるため、プログラムは常に変更する必要があります。私たちがすべきことは、詐欺の予測を行うために、多数の弱いルールを組み合わせることです。

次は機械学習の手法です。特定のタスクごとにプログラムを手動で作成するのではなく、特定の入力に対して正しい出力を指定する多数の例を収集します。機械学習アルゴリズムはこれらの例を取得し、その作業を実行するプログラムを生成します。

学習アルゴリズムによって生成されたプログラムは、一般的な手書きのプログラムとは大きく異なる場合があります。数百万単位の数字が含まれる場合があります。正しく実行すれば、プログラムはトレーニング済みのケースだけでなく、新しいケースでも機能します。データが変更された場合、プログラムも新しいデータでトレーニングすることで変更することができます。大量のコンピューティングは、タスク固有のプログラムを作成するために誰かにお金を払うよりも安価になっていることに留意する必要があります。

これを踏まえると、機械学習は次のようなさまざまなタスクを解決するのに適しています。

  • パターン認識: 実際のシーン内のオブジェクト、顔認識または顔の表情、話し言葉など。
  • 異常認識: クレジットカード取引の異常なシーケンス、原子力発電所のセンサー読み取りの異常なパターンなど。
  • 予測: 将来の株価や為替レート、人が楽しめる映画など。

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

ニューラル ネットワークは、一般的な機械学習におけるモデルの一種です。ニューラル ネットワークは、機械学習の分野に革命をもたらした生物学的ニューラル ネットワークにヒントを得た特定のアルゴリズムのセットです。いわゆるディープニューラルネットワークの出現により、それが非常にうまく機能することが証明されました。

ニューラル ネットワーク自体は一般的な関数の近似であり、すべての機械学習は入力空間から出力空間への複雑なマッピングを学習することであるため、ほぼすべての機械学習の問題に適用できます。

ニューラル コンピューティングについて学ぶべき 3 つの理由は次のとおりです。

  • 脳の働きを理解できること: これは非常に大きくて複雑な問題であり、非常に頭を悩ませる問題なので、コンピューターを使ってシミュレートする必要があります。
  • ニューロンと適応型接続にヒントを得た並列コンピューティングのスタイルを理解できること。これは、順次コンピューティングとはまったく異なるスタイルです。
  • 脳にヒントを得た新しい学習アルゴリズムを使用して実際の問題を解決する: これは脳の実際の動作ではありませんが、このような学習アルゴリズムは非常に役立ちます。

この記事では、機械学習に携わるすべての研究者が知っておくべき 8 つのニューラル ネットワーク アーキテクチャを紹介します。

[[219607]]

一般的に、これらのアーキテクチャは次の 3 つのカテゴリに分類できます。

1 - フィードフォワードニューラルネットワーク

これは実際に使用される最も一般的なタイプのニューラル ネットワークです。最初の層は入力で、最後の層は出力です。複数の隠し層がある場合、これを「ディープ」ニューラル ネットワークと呼びます。ケース間の類似性を変更する一連の変換を計算します。各層に続く非線形関数は、各層のニューロンをアクティブ化するために使用されます。

2 - リカレントニューラルネットワーク

ニューラル ネットワーク構造の接続グラフによって、サイクルの方向が決まります。つまり、矢印に従って進むと出発点に戻ることができる場合があります。リカレント ニューラル ネットワークの構造は実際の生物学的状況に近いですが、その構造には非常に複雑な動的プロセスがあるため、このタイプのニューラル ネットワークのトレーニングが困難な場合があります。しかし、リカレントニューラルネットワーク構造をトレーニングする効果的な方法を発見した興味深い研究が数多く行われています。

リカレント ニューラル ネットワークは、時間スライスごとに 1 つの隠し層を持つディープ ニューラル ネットワークに似ており、連続データをモデル化する非常に自然な方法です。 RNN は、各タイムスライスで入力を受け取り、同じ重みでトレーニングできるだけでなく、長期間にわたって隠れ状態に関する情報を記憶することもできます。しかし、現在のところ、この隠れた状態情報を使用するようにリカレントニューラルネットワークをトレーニングするのは困難です。

3 - 対称接続ネットワーク

対称接続ネットワークは、再帰型ニューラル ネットワークに似た構造を持つニューラル ネットワークですが、ユニット間の接続は対称的です (両方向の重みが同じです)。対称的に接続されたネットワークの構造はエネルギー関数に従うため、再帰型ニューラル ネットワークよりも分析が容易です。

隠れユニットのない対称的に接続されたネットワークは、「ホップフィールド ネットワーク」と呼ばれます。隠れユニットを持つ対称的に接続されたネットワークは「ボルツマンマシン」と呼ばれます。

1. パーセプトロン

ニューラル ネットワークの第一世代であるパー​​セプトロンは、まだ単一のニューロンの計算モデルにすぎません。これらは 1960 年代初頭にフランク・ローゼンブラットによって普及されました。 1969 年、ミンスキー氏とパパート氏は、このニューラル ネットワーク モデルの機能を分析し、その限界について言及した「パーセプトロン」という本を出版しました。多くの人は、これらの制限がすべてのニューラル ネットワーク モデルを制限すると考えています。ただし、パーセプトロン学習プロセスは、数百万の特徴を含む巨大な特徴ベクトルを使用するタスクでは、今日でも広く使用されています。

統計とパターン認識の標準的な例では、まず生の入力ベクトルを特徴の活性化ベクトルに変換します。次に、常識的な手書きプログラムに基づいて、そのプログラムの機能を定義します。次に、各特徴活性化ベクトルに重みを付けて単一のスカラー値を取得する方法を学習します。

この値が特定のしきい値を超える場合、入力ベクトルはターゲット クラスに属する正のサンプルであるとみなされます。標準的なパーセプトロン アーキテクチャはフィードフォワード ニューラル ネットワーク モデルに従います。つまり、入力がニューロンに送られ、処理されて出力が生成されます。

下の画像では、ネットワークが下から上に読み取られていることがわかります。入力は下から入り、出力は上から出ます。

ただし、パーセプトロンには限界があります。手動機能選択の原則に従い、十分な機能を使用すれば、ほとんど何でも実行できます。バイナリ入力ベクトルの場合、バイナリベクトルの指数レベルごとに個別の機能ユニットを用意できるため、バイナリ入力ベクトルに対して可能な区別を行うことができます。しかし、手動でコード化された特徴が決定されると、パーセプトロンが学習できる内容には大きな制約が生じます。

パターン認識の目的はパターンを認識することであるため、この結論はパーセプトロンにとって壊滅的です。ミンスキーとパパートの研究グループが提唱した「群不変性定理」は、パーセプトロンの一部の学習がグループを形成するように変換されると、パーセプトロンは学習できなくなることを示しています。この種の変換を処理するには、パーセプトロンは複数の特徴ユニットを使用して情報サブパターンの変換を認識する必要があります。したがって、パターン認識の難しい部分は、学習プロセスではなく、手動でコーディングされた特徴検出器によって解決する必要があります。

隠れユニットのないネットワークは、入力から出力へのマッピングしか学習できないため、非常に制限されています。ネットワーク構造はまだ線形であるため、線形ユニットの層を増やしてもこの問題は解決されず、改善もされません。固定出力の非線形性も不十分です。したがって、適応型非線形隠れユニットの複数層が必要になります。

しかし、そのようなネットワークをどのようにトレーニングするのでしょうか?

最後のレイヤーだけでなく、すべてのレイヤーの重みを適応させる効率的な方法が必要です。これは難しいことです。なぜなら、隠れユニットの重みを学習することは特徴を学習することと同じですが、隠れユニットが何をすべきかを直接指示できる人は誰もいないからです。

2. 畳み込みニューラルネットワーク

機械学習の研究は、物体検出の問題に広く焦点を当ててきました。多くの場合、ターゲットを特定することは困難です。その理由は次のとおりです。

  • セグメンテーション: 実際のシーンは他のオブジェクトで乱雑になっています。どのピースが同じオブジェクトの一部であるかを判断するのは困難です。オブジェクトの一部を他のオブジェクトの後ろに隠すこともできます。
  • 照明: ピクセルの強度は照明とオブジェクトの両方によって決まります。
  • 変形: オブジェクトはさまざまな非アフィン方式で変形できます。たとえば、手書きの文字の形状は、大きなループ状であったり、先端が尖っていたりすることがあります。
  • ユーザビリティ: オブジェクト クラスは、多くの場合、その使用方法によって定義されます。たとえば、椅子は座ることを目的として設計されているため、さまざまな物理的な形状があります。
  • 視点: 標準的な学習方法では、視点の変化、つまり入力次元 (ピクセル) 間の情報のジャンプによって生じる画像の変化に対応できません。
  • 患者の年齢が入力ディメンションで、エンコードが体重である医療データベースを想像してください。機械学習の手法を使用する場合は、まずこの次元のジャンプを排除する必要があります。

特徴コピー法は現在、ニューラル ネットワークがターゲット検出問題を解決するために使用する主な方法です。同じ特徴を異なる位置で使用して、検出器にさまざまなコピーを提供します。スケールと方向を複製することもできますが、これは難しく、費用もかかります。レプリケーション中に、それぞれ独自のレプリケーション マップを持つ複数の異なる機能タイプを使用すると、学習に使用できるパラメーターの数が大幅に削減されます。

レプリケーションにより、各イメージ ブロックをさまざまな方法で表現することもできます。

では、これらの機能検出器のコピーはどのように行われるのでしょうか?

  • 同等の活性化: ニューラル ネットワークは、変換不変性を持つ特徴を複製します。ニューロンの活性化関数は、特徴の複製に同じ効果をもたらします。
  • 不変の知識: トレーニング中に特定の場所で機能が役立つ場合、その機能の検出器はテスト中にすべての場所で役立ちます。

1998 年、Yann LeCun 氏とその同僚は、LeNet と呼ばれる手書き数字認識装置を開発しました。これは、多くの隠れ層を持つフィードフォワード ネットワークでバックプロパゲーションを使用し、各層で多くのユニットのマッピングを複製し、近くの複製されたユニットの出力をプールすることで、重複している場合でも複数の文字を同時に処理できるようにします。これは単なる認識装置ではなく、巧妙な方法でトレーニングされた完全なシステムです。後に、正式には「畳み込みニューラル ネットワーク」と呼ばれるようになりました。

興味深いことに、このニューラル ネットワーク モデルは、北米の小切手の約 10% の読み取りに使用されています。

畳み込みニューラル ネットワークは、手書きの数字から 3D オブジェクトまで、あらゆるものに使用できます。ただし、Web からダウンロードしたカラー写真から実際のオブジェクトを認識することは、通常、手書きの数字を認識するよりもはるかに複雑です。 3D シーンの 2D 画像の場合、カテゴリは 1,000 以上 (1,000 対 10)、ピクセル値は数百倍 (256×256 カラー画像対 28×28 グレースケール画像) あり、シーン クラスタリングでは、各画像内の複数のオブジェクトを取得するために画像セグメンテーション テクノロジを適用する必要があります。同じタイプの畳み込みニューラルネットワークは機能しますか?

ILSVRC-2012 ImageNet コンペティション、約 120 万枚の高解像度トレーニング画像のデータセット。テスト画像には初期の注釈(セグメンテーションやラベルなし)は表示されず、アルゴリズムによって画像内に存在するオブジェクトを指定するラベルが生成されます。最も優れたコンピューター ビジョン手法のいくつかは、オックスフォード、INRIA、XRCE などの研究チームによって提案されました。通常、コンピューター ビジョン システムでは、トレーニング フェーズの開始時にいくつかのパラメーターを最適化することで手動で調整される複雑な多層ネットワーク システムが使用されます。

[[219608]]

2012 年のコンテストの優勝者である Alex Krizhevsky (NIPS 2012) は、Yann LeCun のモデル構造を継承し、非常に深いタイプの畳み込みニューラル ネットワークを開発しました。そのアーキテクチャは、いくつかの最大プーリング層を除く 7 つの隠し層で構成されています。ネットワーク構造は畳み込み層で構成され、最後の 2 つの層は完全接続層です。

各隠れ層では、活性化関数は正規化線形単位関数を使用します。このモデルはロジスティックユニットよりも速くトレーニングでき、特徴表現がより表現力豊かになります。

これに加えて、モデルは競合正則化戦略を使用して、近くのユニットのアクティベーションが強い場合に隠れ層のアクティベーションを抑制します。この戦略は、画像の強度が変化するときにモデルが特徴を学習するのに役立ちます。ニューラル ネットワークの一般化能力を大幅に向上できるトレーニング手法もいくつかあります。

  • 256 x 256 の画像から 224 x 224 サイズの画像をランダムに切り抜いて、より多くのデータを取得し、画像の左右の反射をトレーニングに使用します。テストフェーズでは、10 個の異なる画像のパッチが結合されます。4 つの 224 x 224 画像のコーナー パッチと中央の 224 x 224 画像のパッチ、およびこれら 5 つの画像の反射パッチです。
  • 「ドロップアウト」を使用して、完全に接続されたレイヤー(ほとんどのモデル パラメータを含む)の重みを調整します。ドロップアウトとは、各トレーニング サンプルについて、ネットワークの層内の隠しユニットの半分がランダムに削除され、この層の隠しユニットが他の層の隠しユニットに依存しなくなることを意味します。

ハードウェア要件に関しては、AlexNet 畳み込みニューラル ネットワークは、2 つの Nvidia GTX 580 GPU (1000 個を超える高速な小型コア付き) に非常に効率的に実装されています。 GPU は行列乗算に非常に優れており、非常に高いメモリ帯域幅を備えています。 これにより、AlexNet モデルはわずか 1 週間でネットワークをトレーニングし、テスト中に 10 個の画像パッチの結果をすばやく組み合わせることができました。

ネットワークの状態を十分に速く更新できれば、ネットワークを多数のコアに分散させることができます。コアが安価になり、データセットが大きくなるにつれて、大規模なニューラル ネットワーク モデルのパフォーマンスは、従来のコンピューター ビジョン システムよりも速く向上します。

3. リカレントニューラルネットワーク

RNN モデルを理解するには、シーケンス モデリングの概要を簡単に理解する必要があります。シーケンスに機械学習を適用する場合、入力シーケンスを別のドメインの出力シーケンスに変換したい場合がよくあります。たとえば、一連の音圧を一連の単語に変換します。

別個のターゲットシーケンスが存在しない場合は、入力シーケンス内の次の項目を予測することで学習信号を取得できます。ターゲット出力シーケンスは、1 ステップ先の入力シーケンスであり、画像内の他のピクセルからピクセルを予測したり、画像の残りの部分からピクセルを予測したりするよりも自然に思えます。

シーケンス内の次の用語を予測すると、教師あり学習と教師なし学習の区別が曖昧になります。教師あり学習用に設計された方法を使用しますが、別個の学習信号は必要ありません。

メモリレスモデルはこのタスクの標準的なアプローチです。具体的には、自己回帰モデルは、固定数の前の用語からの「遅延タップ」を使用して、シーケンス内の次の用語を予測できます。一方、フィードフォワード ニューラル ネットワークは、1 つ以上の非線形隠しユニット レイヤーを使用する一般化された自己回帰モデルです。

しかし、生成モデルに何らかの隠れ状態を与え、この隠れ状態に内部ダイナミクスを持たせると、より興味深いモデルが得られます。つまり、隠れ状態に情報を長期間保存できるのです。

ダイナミクスにノイズがある場合、隠れ状態から出力が生成される方法にもノイズがあり、その隠れ状態を正確に知ることはできません。私たちができることは、隠れた状態ベクトルの空間上の確率分布を推測することです。この推論は、2 つの隠れ状態モデルにのみ適用できます。

リカレント ニューラル ネットワークは、次の 2 つの特性を兼ね備えているため、非常に強力です。

1) 分散型隠し状態: ネットワークが過去に関する大量の情報を効率的に保存できるようにします。

2) 非線形ダイナミクス: モデルが複雑な方法で隠れ状態を更新できるようにします。

十分なニューロンと十分な時間があれば、リカレント ニューラル ネットワークはコンピューターで計算できるあらゆるものを計算できます。

では、リカレントニューラルネットワークはどのような動作を示すのでしょうか?

ロボットは、揺れ動いたり、固定点を引き付けたり、カオスを示したり、多数の小さなプログラムを実装することを学習したりすることができます。それぞれのプログラムは、小さな知識をキャプチャして並行して実行し、相互に作用して非常に複雑な効果を生み出します。

しかし、リカレント ニューラル ネットワークの計算能力では、勾配の爆発や消失の問題により、このネットワーク構造のトレーニングが困難になります。多くの層に逆伝播すると、重みが小さい場合、勾配は指数関数的に縮小します。重みが大きい場合、勾配は指数関数的に増加します。

典型的なフィードフォワード ニューラル ネットワークは、隠れ層がわずかしかないため、これらの勾配の指数関数的効果に対処できます。一方、長いシーケンスでリカレント ニューラル ネットワークをトレーニングする場合、勾配は簡単に爆発したり消失したりする可能性があります。適切な初期重みを持つネットワーク モデルの場合でも、現在のターゲット出力が複数の時間ステップからの入力に依存しているかどうかを検出することは困難であるため、リカレント ニューラル ネットワークでは長距離の依存関係を処理することが困難です。

基本的に、リカレント ニューラル ネットワークを学習する効果的な方法は 4 つあります。

  • 長期短期記憶ブロック: 再帰型ニューラル ネットワークが長期記憶値に依存しないようにする小さなモジュール。
  • ヘッセフリー最適化: 小さな勾配と曲率の少ない方向を検出できるオプティマイザーを使用して、勾配消失の問題に対処します。
  • エコー状態ネットワーク: 入力 -> 隠れ層、隠れ層 -> 隠れ層、出力 -> 隠れ接続を初期化します。発振器は入力によって選択的に駆動できるため、隠れ状態は弱く結合した巨大な発振器を持ちます。
  • 適切な動的初期化: エコー状態ネットワークのように初期化し、その後、モメンタムを使用してすべての接続を学習します。

4. 長短期記憶ネットワーク

Hochreiter & Schmidhuber (1997) は、長い短期記憶ネットワークを構築することにより、リカレントニューラルネットワークで長期記憶 (数百の時間ステップなど) を獲得する問題を解決しました。彼らは、乗算的な相互作用を持つ論理ユニットと線形ユニットを使用してメモリセルを設計しました。

「書き込み」ゲートが開いているときはいつでも、情報がセルに入ります。情報は、「保留」ドアが開いている限りセル内に残ります。 「読み取り」ゲートを開くと、セルから情報を読み取ることができます。

筆記体の手書き文字の読み取りは、リカレントニューラルネットワークにとって一般的なタスクです。 入力はペン先の (x, y, p) 座標のシーケンスです。ここで、p はペンが上を向いているか下を向いているかを示します。出力は文字のシーケンスです。 Graves & Schmidhuber (2009) は、長期短期記憶を備えたリカレント ニューラル ネットワークが、現時点では筆記体の読み取りに最適なニューラル ネットワーク システムであることを示しました。 つまり、ペン座標の代わりに一連の小さな画像を入力として使用します。

5. ホップフィールドネットワーク

非線形ユニットを持つ再帰型ニューラル ネットワークは、通常、分析が困難です。それらは、安定状態から定常状態まで、その間で振動しながら、あるいは予測できない混沌とした軌道をたどるなど、さまざまな方法で動作します。ホップフィールド ネットワークは、バイナリ ゲート ユニットとそれらの間のシリアル接続で構成されます。

1982 年、ホップフィールドは、接続が対称であれば、それは全エネルギー関数であることを認識しました。ネットワーク全体の各バイナリ「構成」にはエネルギーがあり、バイナリしきい値決定ルールにより、このエネルギー関数の最小値に従ってネットワークが決定されます。

このタイプの計算を活用する便利な方法は、メモリをニューラル ネットワークのエネルギー最小値として使用し、エネルギー最小値を使用してアクセス可能なコンテンツのメモリを表すことです。アイテムの内容の一部のみを知っていれば、そのアイテムにアクセスできます。ハードウェアへのダメージは甚大です。

構成を記憶するたびに、新しいエネルギー最小値を作成する必要があります。しかし、中央付近に 2 つの最小値がある場合はどうなるでしょうか?

これはホップフィールド ネットワークの容量によって制限されます。では、ホップフィールド ネットワークの容量を増やすにはどうすればよいでしょうか?物理学者は、脳の働きを説明するために、すでに知っている数学を使うのが好きです。物理学のジャーナルには、ホップフィールド ネットワークとそのストレージ容量を研究した論文が数多く掲載されています。

最終的に、エリザベス・ガードナーは、重りの容量を最大限に活用するという、より良い保管ルールがあることを発見しました。これは、ベクトルを一度に保存するのではなく、トレーニング セットを複数回ループすることによって行われます。そして、パーセプトロンの収束プロセスを使用して、そのベクトル内の他のすべてのユニットの状態を考慮して、各ユニットが正しい状態になるようにトレーニングします。統計学者はこの手法を「疑似尤度」と呼んでいます。

ホップフィールド ネットワークには別の計算上の役割があります。それは、感覚入力の解釈を構築するために使用されます。 「入力」は可視ユニットによって表され、「説明」は隠れユニットの状態によって表され、説明の品質はエネルギーによって表されます。

▌6. ボルツマンマシンネットワーク

ボルツマンマシンは確率的再帰型ニューラルネットワークです。これは、ホップフィールド ネットワークのランダムに生成された製品として見ることができます。これは、困難な組み合わせの問題を表現し、解決できる内部表現を学習できる最初のニューラル ネットワークの 1 つでした。

機械学習アルゴリズムの一種であるボルツマン マシンの学習目標は、ボルツマン マシンによってトレーニング セット内のバイナリ ベクトルに割り当てられた確率の積を最大化することです。これは、ボルツマン マシンがトレーニング ベクトルに割り当てる対数確率の合計を最大化することと同じです。つまり、次の操作を実行すると、N 個のトレーニング サンプルの最大確率を取得できます。

1) 外部入力なしで、ネットワークがさまざまな時間に安定した配信状態になることを可能にします。

2) 毎回、可視ベクトルを使用します。

2012 年、Salakhutdinov と Hinton は、ボルツマン マシンのための効率的なミニバッチ学習手順を提案しました。

  • 正のフェーズでは、最初に隠れ確率が 0.5 に初期化され、データ ベクトルが可視ユニットに固定され、その後、平均場更新戦略を使用して、最終収束まですべての隠れユニットが並列に更新されます。ネットワークが収束した後、接続された各ユニット ペアの PiPj 値が記録され、ミニバッチ内のすべてのデータにわたって平均化されます。
  • 負のフェーズ: まず、「ファンタジー粒子」のグループが保持されます。各パーティクルの値はグローバルに設定され、その後、各ファンタジー パーティクル内のすべてのユニットが順番に更新され、これが数回繰り返されます。接続されたユニットペアごとに、すべての「ファントム粒子」の SiSj 値が平均化されます。

通常のボルツマンマシンでは、ユニットのランダムな更新を継続的に実行する必要があります。ボルツマン マシンを交互に並列に更新できる特別なアーキテクチャがあります (レイヤー内の接続なし、レイヤーをスキップした接続なし)。これは効率的な構造です。

このミニバッチ手順により、ボルツマン マシンの更新がより並列化可能になり、いわゆるディープ ボルツマン マシンになりますが、通常のボルツマン マシンには多くの接続が欠落しています。

2014 年、サラクディノフとヒントンは、モデルの別の更新形式を提案し、それを「制限付きボルツマン マシン」と名付けました。彼らは、モデルの推論と学習のプロセスを容易にするために、ボルツマン マシンの接続性を制限しました (隠れユニットの層は 1 つだけであり、隠れユニット間の接続はありません)。ボルツマン マシンでは、可視ユニットが固定されている場合、熱平衡に達するのに必要なステップは 1 つだけです。

ミニバッチボルツマンマシンのもう 1 つの効果的な学習手順は次のとおりです。

  • 順方向フェーズでは、まず可視ユニットのデータベクトルを固定し、次に可視ユニットと隠しユニットのすべてのペアの <ViHj> の正確な値を計算します。接続されたユニットのペアごとに、ミニバッチ内のすべてのデータの <ViHj> 値を平均します。
  • 負の位相については、「ファンタジー粒子」のセットも保持されます。次に、各ファンタジー粒子は、交互に実行される並列更新戦略を通じて更新され、これが数回繰り返されます。接続されたユニットのペアごとに、すべてのファンタジー粒子の <ViHj> 値を平均します。

7. ディープビリーフネットワーク

バックプロパゲーションは、データのバッチ処理後に各ニューロンのエラーへの寄与を計算する人工ニューラル ネットワークの標準的な方法と考えられています。

ただし、バックプロパゲーションにはいくつか問題があります。まず、ラベル付きのトレーニング データが必要ですが、ほとんどすべてのデータはラベルなしです。 2 番目に、学習時間の範囲が理想的ではないため、多数の隠れ層を持つネットワークではバックプロパゲーション プロセスが遅くなります。 3 番目に、局所最適値に陥り、全体最適値に到達できない可能性があります。したがって、ディープ ニューラル ネットワークの場合、これらは十分とは言えません。

バックプロパゲーションの限界を克服するために、研究者は教師なし学習法の使用を検討してきました。これは、重みを調整するための勾配法の使用の効率性とシンプルさを確保し、感覚入力の構造をモデル化するためにも役立ちます。特に、重みは、生成モデルによって生成される知覚入力の確率を最大化するように調整されます。

問題は、どのような生成モデルを学ぶべきかということです。エネルギーはボルツマンマシンのようにモデル化できますか?それとも理想化されたニューロンで構成される因果モデルでしょうか?それとも両方の組み合わせでしょうか?

ビリーフ ネットワークは、ランダム変数で構成される有向非巡回グラフ ネットワーク モデルです。信念ネットワークを使用すると、いくつかの変数を観察し、次の 2 つの問題を解決できます。

1) 推論問題:観測されていない変数の状態を推論する。

2) 学習の問題: 変数間の相互作用を調整して、ネットワークがトレーニング データを生成する可能性を高めます。

初期のグラフィカル モデルでは、グラフィカル モデルの構造と条件付き確率を定義するために専門家が使用されていました。当時のグラフィカル モデルは疎に接続されていたため、研究者は当初、学習よりも正しい推論を行うことに重点を置いていました。

ニューラル ネットワークの場合、学習が中心であり、トレーニング データを学習することで知識を獲得できるため、手書きの知識は最適なアプローチではありません。ニューラル ネットワークは、推論を容易にする解釈可能性やスパース接続性を持つようには設計されていません。現在、ディープ・ビリーフ・ネットワークはこれらの問題を解決できます。

ランダム バイナリ ニューロンで構成される生成ニューラル ネットワークには 2 つのタイプがあります。

1) 対称接続を使用してバイナリランダムニューロンを接続し、ボルツマンマシンを取得するエネルギーベースのネットワークモデル。

2) 有向非巡回グラフ内のバイナリランダムニューロンを接続してシグモイド型のディープビリーフネットワークを取得する因果ネットワークモデル。

ただし、これら 2 つのタイプは、この記事の範囲外です。

8. ディープオートエンコーダ

最後に、ディープオートエンコーダについて説明します。ディープオートエンコーダは、主に 2 つの柔軟なマッピング方法を提供するため、非線形次元削減に非常に適したアプローチであると思われます。学習時間はトレーニング例の数に比例(またはそれ以上)します。最終的にエンコードされたモデルも非常にコンパクトかつ高速です。

ただし、バックプロパゲーションを使用してディープオートエンコーダを最適化することは非常に困難です。初期の重みが小さい場合、逆伝播プロセス中に勾配は消失します。最適化の方法は、教師なしの層ごとの事前トレーニングを使用するか、エコー状態ネットワークのように重みを慎重に初期化することです。

事前トレーニング タスクの場合、実際には 3 つの異なるタイプの浅いオートエンコーダーがあります。

  • ボルツマン マシンをオートエンコーダーとして使用する: コントラスト ダイバージェンスを使用してボルツマン マシンをトレーニングすると、データの再構築が試行されます。これはオートエンコーダのように動作しますが、隠れ層でバイナリアクティベーションを使用して正規化を強制します。最大尤度戦略を使用してトレーニングすると、ボルツマン マシンはオートエンコーダのように動作しません。事前トレーニングに使用されるボルツマン マシンのスタックを浅いオートエンコーダのスタックに置き換えることができます。ただし、浅いオートエンコーダが重みの二乗項にペナルティを課すことによって正規化されている場合、事前トレーニングは効果的ではありません。
  • ノイズ除去オートエンコーダ: 多くのコンポーネントを 0 に設定して入力ベクトルにノイズを追加します (ドロップアウトと同様ですが、入力用です)。これらのコンポーネントを再構築する必要があるため、入力間の相関関係を捉える特徴を抽出する必要があります。オートエンコーダのスタックを使用すると、事前トレーニングはボルツマン マシンの事前トレーニングと同等かそれ以上になります。目的関数の値を簡単に計算できるため、事前トレーニングを評価するプロセスも簡単になります。しかし、ボルツマン マシンを使用して取得できる優れた変分境界が欠けており、これは理論的な関心事にすぎません。
  • 圧縮オートエンコーダ: オートエンコーダを正規化する別の方法は、隠れユニットのアクティベーションを入力に対して可能な限り鈍感にすることですが、オートエンコーダはこれらの入力を再構築する必要があるため無視できません。これを実現するには、入力に対する各隠れ層のアクティベーションの二乗勾配にペナルティを課します。トレーニングが始まる前は、圧縮オートエンコーダはうまく機能しますが、この特性は、入力の変化に敏感な隠しユニットの小さなサブセットのみに有利です。

つまり、レイヤーごとに機能を事前トレーニングする方法は数多くあります。ラベル付けされたサンプルが大量にないデータセットの場合、事前トレーニング モデルはモデルのその後の識別学習に役立ちます。非常に大規模なラベル付きデータセットの場合、ディープネットワークであっても、教師あり学習で使用される重みを初期化するために教師なし事前トレーニングを使用する必要はありません。事前トレーニングはディープネットの重みを初期化する最初の良い方法でしたが、現在は他の方法もあります。ただし、ネットワークを大きくする場合は、再度事前トレーニングが必要になります。

最終アドバイス

ニューラル ネットワークは、これまでに作成された最高のプログラミング パラダイムの 1 つです。従来のプログラミング方法では、大きな問題を、コンピューターが簡単に実行できる、正確に定義された小さな問題に分割して、コンピューターに何をすべきかを指示します。対照的に、ニューラル ネットワークでは、コンピューターに問題を解決する方法を指示するのではなく、ニューラル ネットワークが観測データから学習し、目の前の問題に対する解決策を見つけられるようにします。

今日、深いニューラルネットワークとディープラーニングテクニックは、コンピュータービジョン、音声認識、自然言語処理などの多くの重要な問題で優れたパフォーマンスを達成しており、Google、Microsoft、Facebookなどの企業によって大規模に展開されています。

もっと知りたい場合は、Geoffrey Hintonのコースをダウンロードして見ることができます!

オリジナルリンク:https://medium.com/@james_aka_yale/the-8-neural-network-architectures-machine-rearning-researchers-need-to-learn-25c4e61aeeb

<<:  2018 年に先導するオープンソース AI プロジェクトはどれでしょうか?

>>:  人工知能はソフトウェア開発業界にどのような影響を与えるでしょうか? AIはクリエイティブな労働者に取って代わることはできない

ブログ    
ブログ    
ブログ    

推薦する

ブロックチェーンと人工知能の関係は何ですか?ブロックチェーンは人工知能に影響を与えることができるか?

ブロックチェーンと人工知能の関係は何ですか?ブロックチェーンは人工知能に影響を与えることができるか?...

Pythonを知らない人は、人工知能時代の新たな「文盲」になるだろう

各段階で、「文盲」の定義は異なります。以前は、漢字を知らないことが文盲とみなされ、後には、英語を話せ...

大規模モデルにAI管理ルールを組み込む時代が到来

中国サイバースペース管理局と他の7つの部門が共同で発行した「生成人工知能サービスの管理に関する暫定措...

畳み込みなしでTransformerのみをベースにした初のビデオ理解アーキテクチャがリリースされました

Facebook AI は、Transformer を完全にベースとし、畳み込みが不要で、トレーニン...

筋肉の震えもはっきりと見えます! 3D人体モデル自動生成アルゴリズム、第一著者北京大学チューリングクラス

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

高性能な PyTorch はどのように実現されるのでしょうか?経験豊富な専門家がまとめた落とし穴を避ける10のヒント

最小限の労力で最も効率的な PyTorch トレーニングを完了するにはどうすればよいでしょうか? P...

スタートアップ企業がAIと患者チップを組み合わせて医薬品開発を加速

動物実験の必要性は新薬発見のプロセスにとって残念な事実であり、マウスは特に人間を正確に模倣しているわ...

トランスフォーマーに挑むマンバの起源とは?著者の博士論文はSSMの進化の道筋を明らかにしている

大型模型の分野では、トランスフォーマーが全容を一手に引き受けています。しかし、モデルのサイズが拡大し...

機械学習における欠損値に対処する9つの方法

データサイエンスはデータに関するものです。これは、あらゆるデータ サイエンスや機械学習プロジェクトの...

会話型AIチャットボットの成功を測定する方法

[[385791]] 【51CTO.com クイック翻訳】組織は、特にヘルスケア分野において、データ...

通信ネットワーク運用イベントのナレッジグラフの構築

1. 通信ネットワーク運用シナリオまず、通信ネットワーク運用の背景についてご紹介します。通信ネットワ...

とても驚きました! GPT-4V錯視チャレンジ記録: 間違っているはずのものは間違っていない、間違っているはずのないものも間違っている

GPT-4V は視覚エラーマップに挑戦し、その結果は「衝撃的」でした。 「どちらの側が明るいですか」...

...

...

プロジェクト Digging 21 - 軽量 LLM エージェントの構築方法

8 月 12 日、Juli プロジェクト シリーズの第 21 回「大規模言語モデルのトレーニングとア...