AIエンジニアの探求

計算論的神経科学で博士号取得後、AIエンジニアとして活動中。LLMの活用や脳とAIの関係などについて記事を書きます。

[論文紹介]Born-Again Neural Networks

こんにちは、Born Again Neural Networksというknowledge distillation系の論文で面白いものがあったのでそれを紹介していきます。

一部再現したコードをgithubにあげています。

github.com

ちなみにknowledge distillation(KD)については分かりやすい解説記事がたくさんあるのでここでは詳しい説明は省略します、、、

例えば

がめちゃくちゃオススメです。

生まれ変わって強くなる

KDでは通常の正解ラベル(=hard target)に加えて学習済み教師モデルの出力(=soft target)を正解ラベルとして使って生徒モデルを学習することで、普通に学習させるよりも精度を向上させることを目的としています。

ここで、通常教師モデルはパラメータ数の大きいネットワーク、生徒モデルはパラメータ数の小さいネットワークを使用します。つまり、KDの枠組みを利用して精度とメモリのトレードオフを改善しようという意図があるわけです。

 

一方Born Again Networksでは生徒モデルと教師モデルのネットワークを完全に同じにします。自分自身が教師になるというわけです。

あるいは一度学習させたパラメータを全て捨て去って、まっさらな状態から心機一転、学習し直す事で以前よりも高い精度を実現してしまおうという試みとも言えるかもしれません。

 

タイトルのつけ方とか、なんとなく厨二病っぽい感じが好きです。

 

さて、そんな虫のいい話なんてあるのか?と疑問に思う人も多いと思いますが、実は上手くいきます。

 

f:id:tripdancer0916:20181011215617p:plain

上の表はCIFAR-10に対する結果で、Teacherが元のネットワークの精度(test loss)でBANが生まれ変わったネットワークの精度です。ネットワークサイズが大きくなると生まれ変わりの効果は効かなくなってしまいます*が。。。

 

f:id:tripdancer0916:20181011215639p:plain

より難しいタスクであるCIFAR-100であればどのネットワークを使用してもBANの方が精度が高くなっています。

*おそらくネットワークが大きいと最初の学習の段階で十分「良く」学習できてしまうためそこでサチってしまうものと考えられます。

 

 

Dark Knowledge Under the Light*

*論文中の章のタイトル。これもかっこいい。

Soft targetのうち、本来の正解ラベルでない部分をDark knowledgeと言います。「教師モデルがどのように画像を認識しているか」を表すとされ、これがKDにとって本質的に大事な働きをしていると(Hinton et al., 2015)は言っています。

 

一方で「Dark knowledgeはそこまで重要ではなく、KDは『教師データがこのサンプルをどれぐらい自信を持って分類しているか』という指標を元にサンプル間の重み付けを変えることによってワークしているのではないか」、という仮説を立てることも可能です。

これにメスを入れているのがこのパートで、Dark knowledgeの効果を検証するために2つの実験を行なっています。

 

Confidence Weighted by Teacher Max(CWTM)

一つ目の実験では、soft targetのうち最大値以外をすべて0にしています。つまり、Dark knowledgeの寄与を消してサンプル間の重み付けの調整のためだけにsoft lossを使うとどうなるのか、を検証しています。

f:id:tripdancer0916:20181012201540p:plainf:id:tripdancer0916:20181012201554p:plain

zを生徒モデルのlogits(softmax層の直前の出力値)、z'を教師モデルのlogitsとして、

 p_i = \frac{e^{\frac{z_i}{T}}}{\sum^n_{j=1} e^{\frac{z_j}{T}}}

 q_i = \frac{e^{\frac{z^{\prime}_i}{T}}}{\sum^n_{j=1} e^{\frac{z^{\prime}_j}{T}}}

sをbatchの大きさとすると、通常のKDではsoft lossの誤差逆伝播を計算するときに

 \delta _j = \frac{1}{s} (p_j - q_j)

となるところが

 \delta _j = \frac{\max_i{q_{ij}}}{\sum^s_{u=1} \max_i q_{iu}} (p_j - \hat{y}_j)

と変更されます(ここでyは本物のラベルで、Tは温度項を表しています)。

 

Dark Knowledge with Permuted Predictions(DKPP)

次はDark Knowledgeを完全に0にするのではなく、でたらめに入れ替えてしまうというセットアップを考えます。ただしsoft targetで最大値をとる部分については変えません。

f:id:tripdancer0916:20181012201540p:plainf:id:tripdancer0916:20181012205045p:plain

上記の条件を満たしてランダムに入れ替える関数をφとおくと、計算式は以下のようになります。

 \delta _j = \frac{1}{s} (p_j - \phi(q)_j)

 

以上2つの設定を入れた結果が以下のようになっています。 学習対象はCIFAR-100です。ちなみに右半分はBorn-Againを何回か繰り返した時の結果とそれらのアンサンブルの結果です。

f:id:tripdancer0916:20181012205517p:plain

通常のBorn-Againが一番精度が高くなるのは自然ですが、CWTMとDKPPも元のモデルより精度が向上していることが確認できます。なお図中のBAN+Lはsoft lossとhard lossを組み合わせた時の結果です。普通のKDではsoft lossのみより採用されやすいですが、この実験では純粋なBANより悪くなっています。

 

結果の再現

CIFAR-10を対象に、論文中のネットワークよりも軽いものを使ってBorn-Againの効果を確かめてみました。畳み込み層7層、プーリング層3層のVGGを軽量化したようなシンプルなCNNです。data augmentationはなしです。

Teacherのaccuracyが88.18%で、同じネットワークを学習させたところ89.10%でした。

f:id:tripdancer0916:20181012212245p:plain

またepoch毎に精度を記録すると、上図のように常にteacher modelを上回っていたため(たまたまいい結果が得られたわけではなく)born againの効果が確認できたと言えそうです。

 

 

 

主観的経験の統合=システムの情報論的統合?

統合情報理論(=IIT)について若干違和感を抱いていたことがあったのでちょっと整理してみました。

IITの公理

IITは意識について5つの「公理」(=意識が満たしているべき条件)を用意して、それが実現されるために系(とその状態)に課される条件を情報理論的に定めた理論で、客観的かつ定量的に意識を取り扱えること、それを支持する実験結果も出てきていることから近年有望視されている。

 

5つの内中心をなす(と思われる)ものは「情報」と「統合」で、それぞれ次のように言い表される。

  1. 情報:意識を持つ系は情報を生み出さなければならない
  2. 統合:その情報は統合されていなければならない

そして大雑把にいえば「統合」の公理は「系を分割した時にどれぐらい情報量が減るか」で定式化されている。

f:id:tripdancer0916:20180811000253p:plain

(Oizumi, M., Amari, S., Yanagawa, T., Fujii, N., Tsuchiya, N., Campus, C., & Agency, T. (n.d.). Measuring integrated information from the decoding perspective.より引用)

 

これは脳のような複雑なシステムが持っている「全体は部分の総和を超える」の定式化にもなっていてreasonableだと思う。

違和感を覚えたのは、この公理を仮定するときの説明だ。

 

主観的経験は統合されている

この公理の導入部分を一部引用すると、

when you consciously "see" a certain image, that image is experienced as an integrated whole and cannot be subdivided into component images that are experienced independently. For example, no matter how hard you try, for example, you cannot experience colors independent of shapes, or the left half of the visual field of view independently of the right half.

–––––Tononi, G. (2004). An information integration theory of consciousness. BMC Neuroscience, 5, 1–22. https://doi.org/10.1186/1471-2202-5-42

ここでは視覚経験を対象にして「物の色と形を分離して経験することはできない」「視野の右半分と左半分を独立に経験することはできない」と例を挙げている。

f:id:tripdancer0916:20180811001726p:plain

(Tononi, G., & Koch, C. (2015). Consciousness : here , there and everywhere ? より引用)

 

これは完全に同意するけど、じゃあ経験が統合されていることとシステムが物理的あるいは情報論的に統合されていることはイコールなのか?っていうのが分からなくなってしまった。

この2つはハードウェアとソフトウェアみたいな別のレイヤーの話じゃないのか?
システムが上の意味で統合されていなくても経験が分離できないようにすることも可能なんじゃないか?

でも著者が言うように分離脳患者(右脳と左脳をつなぐ脳梁を切断した患者)の視野は実際分断されているし、「主観的経験と物理的状態は1対1対応している」という仮定を置けばこの2つが等価な命題になり得る気もする。

じゃあ主観的経験と物理的状態が1対1対応しているとして、今度は統合の意味が違う気もしてくる。この2つが等価と言うためには、意識=情報と言う仮定をおく必要があるんじゃないか?

とまあ色々考えると泥沼にはまっていくし、ちゃんと納得するためには哲学的な知識が必要になるのかもしれない。

 

ここら辺で結論っぽいことを言っておくと、こういう微妙な議論は表に出さないで

「これを公理とします。ここから導けるものを私たちは扱います。これが正しいか正しくないかは実験で確かめましょう」

と宣言する力強さが統合情報理論の強みなのかもしれない。あくまで妄想だけれども。

 

 

 

 

 

統合情報量の情報幾何的定義

Oizumi, M., Tsuchiya, N., & Amari, S. (2015).

A unified framework for information integration based on information geometry. 

www.pnas.org

ビッグネームが名を連ねるIIT関連論文ということで前々から読もうと思っていたのを、この間やっと読めたのでそのメモ。

情報幾何知らないと理解できないかなと思っていたけれど、恐れていたほど使われているわけではなく直感的にも理解しやすかった。

(とは言っても情報幾何はちゃんと理解した方が良さそうなので勉強中です、、、)

 

内容としては確率的に時間発展するシステムが持つ特徴を定量的に評価する種々の量(相互情報量、輸送エントロピー、stochastic interaction(日本語訳が分からない)、統合情報量Φ)を統一的に記述する枠組みを提案するもので、それによって見通しを良くすることが目標だったりする。

 

unified framework

ここで導入されている概念は「上にあげた種々の量は『"full model p(X,Y)"と"disconnected model q(X,Y)"間のKLダイバージェンスの最小値』として捉えられる」というもの。ここでXは過去の状態、Yの状態を表していて、full modelは元々の系をそのまま考えたもの、そしてdisconnected modelはそれとは別の確率分布で元の系の一部の相互作用(≒因果関係)を消したものとしている。

f:id:tripdancer0916:20180804102305p:plain

例えば相互情報量についてはXとYが独立、つまり時間的因果関係を消したものをq(X,Y)としている。他の量についても、輸送エントロピーは過去のある要素x_iと現在のある要素y_j間の因果関係を消したもの、そして統合情報量は系をいくつかの部分に分けて、その部分間の相互作用を消したものという具合にq(X,Y)を定めている。

実際、相互情報量の場合は

q(X,Y) = q(X)(Y)より、

D_{KL}(p\|q) = \int dXdYp(X,Y)log\frac{p(X,Y)}{q(X,Y)} = \int dXdYp(X,Y)log\frac{p(X,Y)}{q(X)q(Y)}

これが最小化されるのは
q(X) = p(X),q(Y)=p(Y)

の時で相互情報量の元々の定義と一致している。 

 

ちなみに統合情報量\Phi_G

系をP_1, P_2, ... ,P_Mと部分に分けて

q(Y[P_i]|X) = q(Y[P_i]|X[P_i]) (\forall i)として(系の部分同士間の相互作用を消すことに対応)、

\Phi_G = \min_q D_{KL}(p\|q)

 と定義している。

情報幾何的には、p(X,Y)が定める多様体の部分多様体としてq(X,Y)の多様体(M_D)があり、p(X,Y)を固定した状態でq(X,Y)がM_D上を動いてp(X,Y)との「距離」が最小になる値として上の量を定義することができる。

f:id:tripdancer0916:20180804104047p:plain

そしてそれによって部分多様体同士の関係性として今出てきた量同士の関係を考えることができる。

情報幾何を導入するメリット

disconnected modelを導入する時になんでわざわざ別の確率分布qを仮定したのかが疑問だった(結局最小化するときに元々の確率分布p(に制限がかかった形)に書けてしまう)けど、qの張る部分多様体を考えることに意味があるんだと解釈した。

f:id:tripdancer0916:20180804105948p:plain

それによって、例えば統合情報量(この論文中で定義された形)\Phi_G

0\leq \Phi_G \leq I(X;Y)

という関係式を満たすことが明らかになったり統合情報量の別の指標として導入された'stochastic interaction'が相互情報量を超えてしまう可能性があってこの指標として不適切だったりすることが示される。

さらに論文中に出てきた量以外にもq(X,Y)の作り方を変えることで様々なバリエーションの特徴量(意味あるとは限らないけど)を考えることができそれらの関係性も同じように議論できる。

浮かんだ疑問

  • 2014年のIIT3.0論文では統合情報量をものすごい複雑なやり方で定義しているけど、ここで定義した\Phi_G(統合情報量としての性質を最低限満たしたものと考えられる)との関係性はどうなっているんだろう?
  • IITのqualia spaceの議論とかにも情報幾何を導入することはできるのだろうか?