カプセルニューラルネットワーク–ネストされたニューラルレイヤーのセット



Capsule Networks-このブログでは、畳み込みニューラルネットワークの制限と、Capsule NeuralNetworksがそれらの制限をどのように解決するかについて説明しています。

カプセルネットワーク:

カプセルネットワークとは何ですか?これは基本的に、ネストされた神経層のセットのネットワークです。

以下のブログもご覧になることをお勧めします。





皆さんは畳み込みニューラルネットワーク(CNN)を知っていると思います。ここでは、CNNの制限について説明できるように、同じことについて簡単に紹介します。

畳み込みニューラルネットワークに関する以下のビデオも参照できます。



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

畳み込みニューラルネットワークは、基本的に、コンピュータービジョンに使用される人工ニューロンのさまざまな層のスタックです。以下に、これらのレイヤーについて説明しました。

畳み込みニューラルネットワーク-カプセルニューラルネットワーク-Edureka

畳み込み層: 画像分類にフィードフォワードニューラルネットワーク(多層パーセプトロン)を使用する場合、多くの課題があります。最も苛立たしい課題は、それが多くのパラメータを導入することです。CNNのビデオチュートリアルを検討してください。



この課題を克服するには 畳み込みレイヤー が導入されました。空間的に互いに近いピクセルは、画像の反対側のコーナーにあるピクセルよりもはるかに多くの関心のある特定の特徴を形成する際に「協力」すると想定されます。また、画像のラベルを定義するときに特定の(小さい)特徴が非常に重要であることがわかった場合、この特徴が場所に関係なく画像内のどこかに見つかった場合も同様に重要になります。

ReLUレイヤー: 正規化線形ユニット(ReLU)変換関数は、入力が特定の量を超え、入力がゼロを下回り、出力がゼロの場合にのみノードをアクティブにしますが、入力が特定のしきい値を超えると、ノードと線形関係になります。従属変数。

  • このレイヤーでは、フィルタリングされた画像からすべての負の値を削除し、ゼロに置き換えます
  • これは、値の合計がゼロになるのを防ぐために行われます。

プーリングレイヤー: これは、ダウンサンプリングを実行するために使用されます。これは、画像の小さくて(通常は)ばらばらのチャンクを消費し、それらを1つの値に集約します。集計にはいくつかの可能なスキームがあります–最も人気のある 最大プーリング 、各チャンク内の最大ピクセル値が取得されます。これにより、ネットワークは入力画像の小さな変換、歪み、および変換に対して不変になります(入力の小さな歪みは、ローカルネイバーフッドの最大値/平均値を使用するため、プーリングの出力は変更されません)。

完全に接続されたレイヤー: このレイヤーはクラススコアを計算します。各数値はクラススコアに対応します。通常のニューラルネットワークと同様に、名前が示すように、この層の各ニューロンは前のボリュームのすべてのニューロンに接続されます。一言で言えば、それは最終的な分類を実行します。

このようにして、ConvNetsは、元の画像を元のピクセル値から最終的なクラススコアにレイヤーごとに変換します。

これは畳み込みニューラルネットワークのごく短い紹介でしたが、私がこの投稿に埋め込んだCNNビデオをご覧になることをお勧めします。

このカプセルネットワークのブログでは、畳み込みニューラルネットワークのいくつかの制限について説明します。

畳み込みニューラルネットワークの制限:

さて、これを例えで説明しましょう。

さまざまな画像の特徴を目で検出できる人間がいるとします。例として人間の顔を考えてみましょう。したがって、この不幸な男は、目、鼻などのさまざまな特徴を識別できますが、特徴間の空間的関係(視点、サイズ、向き)を識別できません。たとえば、次の写真は、人間の顔の良いスケッチとして分類する際にその男をだますかもしれません。

これは、畳み込みニューラルネットワークの問題でもあります。 CNNは特徴の検出に優れていますが、顔検出のためにニューロンを誤ってアクティブにします。これは、フィーチャ間の空間的な関係を調べるのにあまり効果的ではないためです。

単純なCNNモデルは、鼻、目、口の特徴を正しく抽出できますが、顔検出のためにニューロンを誤ってアクティブにします。空間的な向きとサイズの不一致を認識しないと、顔検出のアクティブ化が高すぎます。

この制限は、最大プーリングレイヤーが原因です。

CNNの最大プーリングは、並進分散を処理します。フィーチャーがわずかに移動されていても、それがまだプーリングウィンドウ内にある場合は、それを検出できます。それにもかかわらず、このアプローチは最大の機能(最も支配的なもの)のみを保持し、他の機能を破棄します。

そのため、上記の顔写真は通常の顔に分類されます。プーリングレイヤーもこのタイプの不変性を追加します。

これは、プーリング層の意図ではありませんでした。プーリングが行うことになっていたのは、位置的、方向的、比例的な不変性を導入することです。

実際には、このプーリングレイヤーはあらゆる種類の位置の不変性を追加します。上の図でもわかるように、顔を正しく検出するというジレンマにつながります。

によって提案されたソリューションは何かを見てみましょう ジェフリーヒントン

この問題を解決する方法は?

ここで、各ニューロンに尤度と特徴の特性が含まれていると想像します。たとえば、[尤度、方向、サイズ]を含むベクトルを出力します。この空間情報を使用して、鼻、目、耳の特徴間の方向とサイズの不一致を検出できるため、顔検出のアクティブ化がはるかに低くなります。

によってリリースされた論文で ジェフリーヒントン 、これらのタイプのニューロンはカプセルと呼ばれます。これらのカプセルは、単一のスケーラー値の代わりにベクトルを出力します。

カプセルネットワークとは何かに光を当てましょう。

カプセルネットワークとは何ですか?

カプセルは基本的に、ネストされた神経層のセットです。カプセル内のニューロンの状態は、画像内の1つのエンティティのポーズ(位置、サイズ、向き)、変形、速度、テクスチャなどのさまざまなプロパティをキャプチャします。

特定のバリアントで機能をキャプチャする代わりに、カプセルは機能とそのバリアントの可能性をキャプチャするようにトレーニングされます。したがって、カプセルの目的は、特徴を検出するだけでなく、モデルをトレーニングしてバリアントを学習することでもあります。

同じカプセルが異なる方向(たとえば、時計回りに回転)で同じオブジェクトクラスを検出できるように:

不変ではなく同変で機能すると言えます。

不変性: バリアントに関係なく機能を検出します。たとえば、鼻検出ニューロンは、向きに関係なく鼻を検出します。

アンドロイドの活動ライフサイクル

同変: 相互に変形できるオブジェクトの検出です(たとえば、異なる向きの顔を検出します)。直感的に、カプセルネットワークは、顔が31°回転したバリアントと一致したことを認識するのではなく、顔が右に31°回転したこと(同変)を検出します。モデルにカプセル内の特徴バリアントを学習させることにより、少ないトレーニングデータで可能なバリアントをより効果的に推定できます。さらに、敵をより効果的に拒否する場合があります。

カプセルは、エンティティの存在を表すベクトルを出力します。ベクトルの方向は、エンティティのプロパティを表します。

ベクトルは、ニューラルネットワーク内のすべての可能な親に送信されます。可能な親ごとに、カプセルは予測ベクトルを見つけることができます。予測ベクトルは、それ自体の重みと重み行列を乗算することに基づいて計算されます。どちらの親が最大のスカラー予測ベクトル積を持っている場合でも、カプセル結合が増加します。残りの親は彼らの絆を減らします。これは 合意によるルーティング

これは、ルーティングが下位層で検出された最強の機能に基づいている最大プーリングよりも間違いなく優れたアプローチです。

この後、追加される押しつぶし機能があります。これは、非線形性を導入するために行われます。この押しつぶし関数は、各カプセルのベクトル出力に適用されます。

カプセルネットワークがどのように機能するかをお話ししましょう。

カプセルネットワークはどのように機能しますか?

一歩後退しましょう。完全に接続されたネットワークでは、各ニューロンの出力は入力の加重和です。

それでは、カプセルネットワークで何が起こるか見てみましょう。

カプセルニューラルネットワーク:

カプセルニューラルネットワークについて考えてみましょう。‘はカプセル‘の活動ベクトルです私'下のレイヤーで

ステップ– 1:変換行列を適用するijカプセル出力へu 前のレイヤーの。たとえば、m×k行列を使用して、k-Dを変換します。u m-Dにu ^j | i ((m×k)×(k×1)= m×1)。

予測です( 投票 )上記のカプセル「j」の出力のカプセル「i」から。 ‘vj‘はカプセル‘の活動ベクトルですj ’上のレイヤーで

ステップ– 2:加重和を計算するjウェイト付きcijcijは結合係数です。これらの係数の合計は1に等しくなります。これは、前に説明したカプセルのグループの関係に作用する実際のパラメータです。

ステップ– 3:畳み込みニューラルネットワークでは、ReLU関数を使用しました。ここでは、スカッシング関数を適用して、ベクトルを0と単位長の間でスケーリングします。小さいベクトルをゼロに縮小し、長いベクトルを単位ベクトルに縮小します。したがって、各カプセルの可能性は0と1の間に制限されます。

予測です( 投票 )上記のカプセル「j」の出力のカプセル「i」から。活動ベクトルが予測ベクトルと非常に類似している場合、カプセル ‘私'カプセルとの関連性が高いj ’。 (たとえば、鼻のカプセルは顔のカプセルと非常に関連しています。)このような類似性は、予測とアクティビティベクトルの内積を使用して測定されます。したがって、類似性は、可能性と機能プロパティの両方を考慮に入れます。 (ニューロンの可能性だけでなく)。

ステップ– 4:関連性スコア ‘bを計算するij‘。これは、アクティビティベクトルと予測ベクトルの内積になります。結合係数cjのソフトマックスとして計算されますbj

結合係数cijbのソフトマックスとして計算されますij

このbij複数の反復で繰り返し更新されます

これは 合意によるルーティング

以下の図は一例です。

Capsule Networksに関するこのブログの後で、TensorFlowを使用したCapsuleニューラルネットワークの実装に関するブログを作成します。

カプセルネットワークでこのブログを楽しんでいただけたでしょうか。 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 Edureka Deep Learning with TensorFlow認定トレーニングコースは、SoftMax関数、オートエンコーダニューラルネットワーク、制限付きボルツマンマシン(RBM)などの概念に加えて、リアルタイムのプロジェクトと割り当てを使用して、基本的および畳み込みニューラルネットワークのトレーニングと最適化のエキスパートになるのに役立ちます。

質問がありますか?コメント欄にご記入ください。折り返しご連絡いたします。