[dl輪読会]bridging the gaps between residual learning, recurrent neural networks and visual...
TRANSCRIPT
BridgingtheGapsBetweenResidualLearning,RecurrentNeuralNetworksandVisualCortex
Qianli LiaoandTomasoPoggio CenterforBrains,MindsandMachines,McGovernInstitute,MIT
April12,2016D2金子貴輝
選考理由
• 視覚野のモデル化にRNN?• 再帰構造の必要性についての新しい視点?• arXivの論文で査読はまだのよう
2
3
• 概要• 導入• ResidualNetworkとRNNの等価性• Multi-stage完全再帰処理へのRNNの一般化• 関連研究• 実験– データセットと訓練詳細– 共有重みでのResNet– 多状態(完全/不完全)再帰NN
• 議論
内容
概要
• ある種のRNNとResNetが等価であること,それらが視覚の腹側経路のモデルとして尤もら
しいことを示す
4
導入
5
• 画像認識で高精度なResNetは,人間の後頭葉の腹側経路よりかなり深い(1000層ぐらい)
• 一方,新皮質の再帰接続は,注意や誤差逆伝播に関わると考えられてきた
• この再帰接続も込みで考えると,腹側経路もResNetと同じぐらい深いと捉えられる
• RNNでモデル化して,CIFAR10で有効性を実証する
ResNetとRNNの等価性
– 概観• ResNetの重みを共有すると足し合わせるRNNと等価
– 動的システムとしての定式化• パラメータが変わらないなら,この動的システムは「均質」で「時間不変」といえる
• 均質(homogeneous)とは初期入力しかないという意味
6
多状態完全再帰計算へのRNNの一般化– 腹側経路に相当するRNNのモデルを定義する
• 領野ごとに相互接続しているRNN– Pre-netとPost-net
• RNNの前後に付け足して全体でBP• Pre-netは3x3畳み込みレイヤー• Post-netは[batchNormalization,ReLu,全体平均プーリング,(FullyConnectedか1x1conv)]
• Pre-netは3層にするとより網膜らしい,精度も少し上がる
7
多状態完全再帰計算へのRNNの一般化
– 遷移行列• 時間ごとに遷移の仕方を変えて従来のResNetも表現• BRCx2は(BatchNormalization,ReLu,Conv)の2回繰り返し• サイズは32x32->16x16->8x8->4x4,中間層は入出力の平均サイズ• 畳み込みは2x2
8
多状態完全再帰計算へのRNNの一般化
– 共有対非共有• 重みを共有するとは,初期値を同一にして,勾配を元の勾配の合計にしてやること
– 表記:展開された深さとread-outtime• 深さはpost-netにデータが届くまでに掛かった時間で考える.伝達に係る時間を1とし,伝達されるまで状態は未定義とする
9
多状態完全再帰計算へのRNNの一般化
– 系列vs静的な入出力• 時系列入出力も本来可能だが,time-specificnormalizationなBNを使っているので幾つかではできない
– BatchNormalization• 全ての時間で同じパラメータでBNすると良くなさそう,時間ごとに平均分散を計算すると良い精度
• パラメータを増やして実際に影響があったタスクは少なかった• この方法は時間長さが固定でないタスクには修正が必要
10
関連研究
– 多層のRNNモデルとは層間のフィードバック接続,ResNetのようなショートカット,畳込みと多段NNでの接続という点で異なる
– RecursiveNNや畳込みRNNとの違いはショートカットを持つかどうか
– HighwayNetworkはフィードフォワードだがより一般的なショートカットを持つ
11
実験:データセットと訓練詳細
• CIFAR10の画像32x32color• Momentum=0.9,nb_epoch=60,batchsize=64• lr=0<=epoch<40のとき0.01, 40<=epoch<50のとき0.001,50<=epoch<60のとき0.0001• softmaxと crossentropyを使用• post-netのBN以外,学習できるスケーリングとシフトのパラメータを使用しなかった
• 重みは論文[9]で初期化• MatConvNetを使って実装
12
実験:共有重みでのResNet– 時間を通して重みを共有
• 共有しない場合が青,する場合が緑• 1-stateResNet,3-stateResNetに加え,フィードバック接続を含む2-stateFRNN
• 訓練誤差と検定誤差,エポックごとに• read-outtimeはt=10ただし3-stateは9(それぞれ3)• 共有してもロバスト,フィードバック接続の勝利
13
実験
– 全ての畳み込みレイヤで重みを共有• パラメータを極力減らしてみる• 3-stateResNetで時間も状態でもパラメータ共有• state間は2x2maxpoolingwithstride2で繋がる• 学習率を変えるタイミングを100,120,140にしている• stateの数を30,64で実験
14
実験:多状態(完全/不完全)再帰NN
– read-outtimeの影響• 共有2-statesでread-outtimeを変化させて比較• パラメータ数が変化している理由は不明
15
実験
– より多くの状態でのより大きいモデル• 3-statesFullyRNNでvaliderrorが7.47%• 状態間の接続のオーダーを小さくしてコストを下げてみる,隣接モデルも比較
• 4-statesでかなり重い,他のパラメータ数をいじると3-statesに負ける,計算コストの削減は課題
• ここでは3層の3x3畳み込みNNを使用(Conv-BN-ReLU-Conv-BN-ReLU-Conv),1層より1%のvaliderror改善
16
実験
– read-outtimeでの一般化• 訓練時と異なるread-outtimeでテストした際の誤差
17
議論
–深いほどよいのは,再帰計算できるからかも– ResNetのパラメータを共有してRNNにしても平気– フィードバックと時間を無視してきた視覚野のモデルが進歩した
18