【AI】カプセルネットワークとは?【元論文あり】
どうも、あつかんです_φ( ̄ー ̄ )
本日以下のニュース記事を拝見しました。
これを見た瞬間、ニューラルネットワークを超えるものがとうとう出てきたか!Googleさんやべええええ!という印象をうけました。
Twitterでも様々な反応が。
ニューラルネットワークでさえできてないのにカプセルネットワークとか
— zeriiido (@zeriiiiiiiiiido) 2017年11月28日
カプセルネットワークってなんなんだろう、すごい可能性が高いって感じの理解しかできなかった
— 龍之介 (@spicyspyigo) 2017年11月28日
ニューラルネットワークはここ数年で、急速な発展を遂げ、Deep MindのAlpha Goは、囲碁で世界一の棋士に勝ち、IBMのWatsonは専門医でもできなかった白血病の型の特定までをもしています。
そして、そのニューラルネットワークよりも高い性能を示すカプセルネットワークというものが発表された。
いや〜徐々にシンギュラリティ―が近づいてますね~~。
ちなみにシンギュラリティーとは、人工知能が人間の能力を超え、人間の文明に計り知れない変化をもたらすという仮説のことです。
はやく、シンギュラリティー来ないかなw
元論文
カプセルネットワークについて調べたくなったので元論文を探したところ、ありました。↓
http://papers.nips.cc/paper/6975-dynamic-routing-between-capsules.pdf
とりあえず、アブストを日本語訳しておきますね。
------------------------------------------------------------------------------------
カプセルは、オブジェクトまたはオブジェクト部分などの特定のタイプのエンティティのインスタンス化パラメータを表すアクティビティベクトルを持つニューロンのグループです。
エンティティが存在する確率とインスタンス化パラメータを表す向きを表すために、アクティビティベクトルの長さを使用します。
あるレベルのアクティブなカプセルは、より高いレベルのカプセルのインスタンス化パラメータに対して、変換行列を介して予測を行います。
複数の予測が一致すると、より高いレベルのカプセルがアクティブになります。
我々は、識別可能に訓練された多層カプセルシステムが、MNISTにおいて最先端の性能を達成し、非常に重複する数字を認識する際に畳み込みネットよりもかなり優れていることを示す。
これらの結果を達成するために、我々は反復的なルーティング・アグリーメントメカニズムを使用します。
低レベルのカプセルは、低レベルのカプセルから来る予測を伴う大きなスカラ積を持つ高次のカプセルにその出力を送ることを好む。
------------------------------------------------------------------------------------
よくわからんな~~~
検索したら分かりやすい説明があった↓
つまり、カプセルの中にニューロンが詰められていて、そのカプセルで自己学習を促進していくと、従来法よりも良い結果が得られたわけですね。
カプセルネットワーク(CapsNet)のGitHubがあったので載せておきます。
.....なるほどわからん笑
YouTubeの解説動画
わかんなかったので、YouTubeで調べてみた。
ん~~~なんとなく。。。。
AIの専門家助けて(T ^ T)w
結局、なにがよくなったの?
従来法であるニューラルネットワークはあるモノを別の新しい視点から見ても同じものだと判断する作業はあまり得意ではないです。
例えば、ある猫がいたとして、猫の顔写真をみせたらニューラルネットワークは猫だと判断できました。
しかし、別視点から撮った猫の画像をニューラルネットワークに判別してもらうという作業をしてもらうと、良い結果は得られないということです。
人間であれば、猫の様々な別視点の画像をみたとしても、猫として認識できますよね。
それがカプセルネットワークだとできる。
カプセルネットワークでは、あるものを別視点から見た画像の情報の間を埋め、今までのニューラルネットワークでは難しかった新たな場面の判断を可能にするとのことだそう。
これってすごいですよね。
具体的な方法はよくわかんないから、勉強が必要だなー。
カプセルネットワークはディープラーニングが元になっているため、理解するためにはディープラーーニングの勉強が必要ですね。
ちなみに、ディープラーニングを勉強する際にオススメの本はこちらです。