カプセルニューラルネットワーク:とは何か、どのように機能するか、アーキテクチャとコンポーネント

公開: 2020-04-03

どのように物事を認識しますか? 「Their」と「Thier」と書いたら、両方とも「Their」と読みますか? あなたの答えはおそらくイエスでしょう。

あなたの脳は主要な特徴を識別し、物事を認識するのを助けることができます。 そのため、顔を簡単に見つけることができます。 カプセルニューラルネットワークも同様に機能します。 この記事では、それらが何であるか、そしてそれらがどのように機能するかを見ていきます。 機械学習アルゴリズムに興味がある場合は、この記事がきっと気に入るはずです。 それでは、始めましょう。

目次

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

カプセル神経ネットワークは、生物学的神経ネットワークの複製に焦点を当てて、より良い認識とセグメンテーションを実行します。 それらは一種の人工ニューラルネットワークです。 それらは、カプセルニューラルネットワークの1つの層の下にネストされた層を持っています。これは、「カプセル」という言葉が示すものです。

これらのネットワークのカプセルは、オブジェクトの機能のパラメータを決定します。 カプセルネットワークが顔を識別しなければならないとします。 カプセルは、特定の顔の特徴が存在するかどうかを判断することに焦点を当てます。 彼らはこれだけに制限されていません。 また、特定の顔の特徴がどのように構成されているかを確認します。 したがって、カプセルがその顔の要素が正しい順序であると判断した場合にのみ、システムは顔を識別できます。

あなたは不思議に思うかもしれません、彼らはそれらの機能の順序をどのように決定しますか? これらのネットワークは、あなたがそれらに与える入力のためにそうすることができます。 数百(または数千)の画像を調べた場合、このタスクを効率的に実行できます。

詳細:ニューラルネットワーク:実世界でのアプリケーション

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

それでは、これらのネットワークがどのように動作するかを見てみましょう。 最初に、カプセルは重み行列と入力ベクトルの行列乗算を実行します。 これにより、いくつかの低レベル機能と高レベル機能の間の空間的関係に関する情報が得られます。

その後、カプセルは親カプセルを選択します。 これらは、この記事の後半で説明する動的ルーティングを介して選択を行います。 親カプセルを選択すると、方向を保持したときに、ベクトルの合計が0と1の間で押しつぶされていることがわかります。 座標フレームのノルムを存在確率として使用し、コサイン距離を一致の尺度として使用して、押しつぶしを実行します。

標準のニューラルネットワークとカプセルニューラルネットワークには大きな違いがあります。 カプセルネットワークはカプセルを使用して画像に関する重要な情報をカプセル化しますが、標準のニューラルネットワークはこの目的でニューロンを使用します。 カプセルはベクトルを生成しますが、ニューロンはスカラー量しか生成できません。 このため、カプセルは顔の方向(または特定の特徴)を識別できますが、ニューロンは識別できません。 フィーチャの方向を変更した場合、ベクトルの値は同じままですが、位置の変更に応じて方向が変わります。

カプセルネットワークは、小さなデータセットで驚くほどうまく機能し、堅牢な画像の解釈を容易にします。 それとは別に、テクスチャ、場所、ポーズなど、画像のすべての情報を保持します。 それらの唯一の欠点は、膨大なデータセットを上回ることができないことです。

読む:ニューラルネットワークにおける6種類の活性化関数

カプセルニューラルネットワークのアーキテクチャとは何ですか?

カプセルネットワークの主要な2つのコンポーネントは、エンコーダーとデコーダーです。 合計で6つのレイヤーが含まれています。 エンコーダーには最初の3つのレイヤーがあり、入力画像を取得してベクトル(16次元)に変換する役割を果たします。 エンコーダーの最初のレイヤーは畳み込みニューラルネットワークであり、画像の基本的な特徴を抽出します。

2番目のレイヤーはPrimaryCapsNetworkであり、これらの重要な機能を利用して、それらの中からより詳細なパターンを見つけます。 たとえば、特定のストローク間の空間的な関係を確認できます。 PrimaryCapsネットワークでは、データセットが異なればカプセルの数も異なります。 たとえば、MNISTデータセットには32個のカプセルがあります。 3番目のレイヤーはDigitCapsNetworkであり、そこに存在するカプセルの数も異なります。 これらのレイヤーの後、エンコーダーにはデコーダーに送られる16次元のベクトルがあります。

デコーダーには3つの接続されたレイヤーがあります。 それは16次元のベクトルを取り、それが持っているデータの助けを借りて同じ画像を最初から再構築しようとします。 このように、ネットワークはその知識に従って予測を行うことができるため、より堅牢になります。

また読む: Pythonのリカレントニューラルネットワーク

CNNでの計算

行列の乗算

第1層と第2層の間で、行列の乗算を実行します。 これは空間的関係の情報をエンコードし、エンコードされた情報はラベル分類の確率を示します。

スカラーウェイト

計算のこの段階では、低レベルのカプセルは高レベルのカプセルの重量に応じて重量を調整します。 それらは、高レベルのカプセルの重量に一致するようにそうします。 高レベルのカプセルは、重量分布をグラフ化し、通過する最大の割り当てを受け入れます。 これらはすべて、動的ルーティングを介して相互に通信します。

動的ルーティング

動的ルーティングでは、下位のカプセルがデータを親のカプセルに送信します。 それらはすべて、それらに応じて最適なカプセルにデータを送信し、ほとんどのデータを取得するカプセルが親カプセルになります。 親カプセルは合意に従い、それに応じて重みを割り当てます。

動的ルーティングを理解するために、家のカプセルネットワーク画像を提供するとします。 それは家の屋根の識別に関していくつかの問題に直面しています。 したがって、カプセルは画像、特にその一定部分を分析します。 彼らは壁と屋根に関して家のフレームを調整します。

彼らは最初にオブジェクトが家であるかどうかを決定し、次に予測を高レベルのカプセルに送信します。 壁に関する屋根の投影が低レベルのカプセルからの他の予測と一致する場合、出力はオブジェクトが家であることを示します。 これは、合意によるルーティングのプロセスです。

ベクトル間の非線形性

動的ルーティングが完了すると、システムは情報を圧縮します。つまり、その情報を圧縮します。 カプセルが特定の機能を認識するかどうかの確率を示します。

最終的な考え

この記事を読んだ後は、カプセルニューラルネットワークとその操作に精通している必要があります。 また、彼らの行動がどれほど役立つかを理解している必要があります。

機械学習アルゴリズムについて詳しく知りたい場合は、ブログをご覧ください。 あなたはそこにいくつかの知識のある記事を見つけるでしょう。

機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

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

ニューラルネットワークが一連のベクトルを入力として受け取り、それを「エンコーディング」と呼ばれるベクトルに変更し、それを別のシーケンスにデコードして戻す場合、それはトランスフォーマーニューラルネットワークと呼ばれます。 トランスフォーマーは、プレーンランゲージテキスト、音響信号、ゲノムシーケンス、時系列データなどのシーケンシャルデータを処理するための多くのニューラルネットワークアーキテクチャに見られるコンポーネントです。 トランスフォーマーニューラルネットワークの最も一般的なアプリケーションは、自然言語処理です。

グラフィカルニューラルネットワークとは何ですか?グラフはどのように機能しますか?

グラフニューラルネットワーク(GNN)は、グラフノード間のメッセージ送信を使用してグラフの依存関係を表すニューラルモデルです。 これらのネットワークは、指定されたグラフ構造で直接動作します。 簡単に言うと、グラフ内のすべてのノードにラベルがあり、ニューラルネットワークを使用してグラウンドトゥルースに基づいてラベルノードを予測します。 GNNは最近、ソーシャルネットワーク、知識グラフ、レコメンダーシステム、さらにはライフサイエンスなど、さまざまな分野で注目を集めています。

カプセルはカプセルネットワークとは異なりますか?

カプセルとカプセルネットワークの両方の用語はディープラーニングに関連していますが、同じものではありません。 オブジェクトのインスタンス化パラメータなど、特定のアイテムのインスタンス化パラメータをアクティビティベクトルが表すニューロンのグループは、カプセルと呼ばれます。 ただし、カプセルネットワークは、地理情報やその他の重要な側面を取得して、プーリング操作のプロセス中のデータ損失を最小限に抑えることができるネットワークです。