Hinton氏:「CNNはゴミだ、最新のCapsuleを見てください。」- AAAI20

Neil Wu
LSC PSD
Published in
7 min readFeb 25, 2020

--

今年のAAAI2020と言えば、2018年のチューリング賞受賞者 Yann LeCunn 、Geoffrey E. Hinton とYoshua Bengioのスピーチは必ず見逃せないところです。
三人のテーマは全部機械学習の現状に対する批判、及び調整方法です。いずれもインパクトがありすぎるので別々に内容を整理してみました。

まずはHinton氏です:

CNNの問題とは

今の機械学習でデファクトスタンダードと言っても差し支えのない畳み込みニューラルネットワーク(CNN)を、スピーチのはなから否定し始めました。Hinton氏が思うCNNの主な問題は以下の数点です:

  • CNNは物体の移動の対応には強いが、回転や拡縮等の視点変換には向いてない
  • 物体の不変性(Invariance)より、物体の対価性(equivariance)を探すべき
  • CNNは物体内のパーツ同士の関係が理解ができない
  • 人間の物体認識法と根本的に違う(e.g. Adversarial Example)
  • 座標を使わない

整理してみると大まかに二つのCNNの特徴を指しています。

- 座標なしの学習

Hinton氏が提出した問題そのままです。座標の問題は以下の画像をご覧になればすぐにわかると思います。地図でよく見かける場所です。

Hinton氏が座標の重要性を伝える為に使った例:オーストラリア&アフリカ

画像内の左の形はオーストラリアに見えて、右のはアフリカに見える人が多数だと思います。これが座標の力です。

座標を使っていないCNNの学習だと、物体の位置の移動には検出する事が出来ますが、物体の回転や拡縮など視点の変換をした状態だと検出する事ができません。同じ物体を認識させるため、各角度と拡縮をするデータオーギュメントをする必要があります。確実に認識する為にはデータ量と計算時間が必要以上に昇るのがCNNの現実です。

EquivaranceとInvarianceの違い(ref)

学習を終えたCNNモデルでは、例えば同じ猫の画像を回転させ、複数枚に増やしてモデルに入れると、同じ「猫」と言うクラスを出力してくれます。これがHinton氏の言ってる不変性(Invariance)です。Hinton氏は物体をより正確に認識するため、対価性(equivariance)を探したほうがいいと思っています。対価性とは変形や回転を行った画像に対して、出力も変形や回転を含んでいる状態のことです。そうすることにより、モデルはより正しい学習をしてくれるはずです。対価性と不変性についてこのスライド(英語)がわかりやすく説明しています・

- Part->Wholeの学習経路

CNNはピクセル単位に始め、層ごとにカーネルを使ってフィーチャ-マップを計算し、最後の全結合層からでた結果でLossを計算して逆伝播で学習させています。

Part->Whole学習である問題Adversarial Examples (openai)

CNNはPart->Wholeの手法で、1ピクセルと隣のピクセル達から画像を理解し始めていることがわかります。これは人間が画像に対する一般的な大範囲から小範囲の理解法(Wholeー>Part)とは違います。即ち、CNNが理解しているのはピクセル単位の近隣関係で、物体そのものの輪郭や特徴などではありません。なので、CNN自体では物体の特徴(パーツ)を自力で検出する事はできなく、当たり前ながら特徴間の関係を理解することもできません。

Stacked Capsule Autoencoder

論文はここです。
おおざっぱにしか理解していないので、詳しく知りたい方は論文を読むのをお薦めします。論文以外にもOpenCoureseの映像を共有しておきます。
1、Capsule紹介-Sara Sabour(論文作者)
2、Stacked Capsule Autoencoder論文紹介

Hinton氏は2017年からCapsuleの概念を提出してモデルを作りましたが、今年のは全く違うバージョンです。Hinton氏曰く:「前のバージョンは全部間違っています、今年のが正解です」

Capsuleの概念図

Capsule複数はNeuronからなった単位です、一種のパーツとそのパーツの方向を代表しています。機能別で 1. 画像内にパーツが有るか否かを表示するロジスティクスユニット、2. パーツが画像内の方向(座標)を表示するマトリックスと 3. パーツの形態を表す複数のマトリックスの三つの部分に分けられます。

学習はPart->Wholeではなく、Whole->Partの方法で学習しています。レベルの高い層(画像の大き目の範囲)で下の層のCapsule(パーツ)組み合わせを予測するという流れです。

小さいパーツを大き目のパーツに組み合わせ、物体を組み上げる

複数の回転されたパーツを組み合わせる事により、人間に似た物体理解をできることが期待されています。

実用性?

すごい技術だとは思いますが、実用するにはまだ時間が必要だと思います。CapsuleができたらComputer Visionは間違いなく次のステップに進みますが、現実世界は3Dです。3D世界のパーツをうまく理解するには必ず3Dの画像が必要となりますが、現時点ではその様なデータはあまりありません。
機械学習はデータがあってからこそのことなので、しばらくの間は2019のCapsuleでもどうにもなりません。が、Hinton氏のことなので2020年バージョンを期待しています。

最後に

スピーチ記事は完成次第公開します。
LeCunn氏:

Bengio氏:「機械学習のシステム2が始まりました、認知とは何かをまず探索しましょう」(まもなく完成)

if you like(this_article):
please(CLAPS)
follow(LSC_PSD)
# Thanks :)

--

--