![Page 1: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/1.jpg)
2017/2/16 DL輪読会
医学系研究科 D2山口亮平
![Page 2: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/2.jpg)
Exploiting Cyclic Symmetry in Convolutional Neural Networks• Deep Mindの論文• Sander Dileman( →ゲント大学の博士課程 google)。博士課程のとき、 Kaggle2015のプランクトンコンテストで優勝。• ICML16で発表、引用数 12(2017/2/17現在 )• http://benanne.github.io/2015/03/17/plankton.html•回転に対するロバスト性をネットワーク内部で再現した論文。
![Page 3: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/3.jpg)
Motivation<CNN・・・平行移動に対して強い >• Conv層・・・平行移動に対して equivariant• Pooling層・・・平行移動に対して invariant→①rotationに対しても invariantを保ちたい。ネットワークにその invariance/equivariantな性質を組み入れたい。(data augmentationでは一般化されているかどうか不明なため )
②パラメーター共有を普通の CNNに比べてさらに進めることで、overfittingリスクを減らせる。
![Page 4: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/4.jpg)
Motivation<CNN・・・平行移動に対して強い >• Conv層・・・平行移動に対して equivariant• Pooling層・・・平行移動に対して invariant→①rotationに対しても invariantを保ちたい。ネットワークにその invariance/equivariantな性質を入れたい。②パラメーター共有を普通の CNNに比べてさらに進めることで、 overfittingリスクを減らせる。
![Page 5: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/5.jpg)
limitation★Rotation:今回は 90度の整数倍の回転に絞っている。( 30度などの鋭角回転を入れると、画像的な補間が必要となり、さらに計算量が増えるから、という理由で除外している)★鏡面に関して対象な画像 (dihedral symmetry)に関しても、実装は容易に可能だ、としている。
![Page 6: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/6.jpg)
基本的な考え方 画像を 4方向に回転させたものを作成、同じ数のフィルタを使い feature mapを 4倍作成できる
![Page 7: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/7.jpg)
提案手法•以下の 3種類の層を組み込むことを提案 cyclic slicing, cyclic pooling, cyclic rolling( cyclic stackingは実際には使っていない)
![Page 8: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/8.jpg)
①cyclic slicing, cyclic pooling
http://benanne.github.io/2015/03/17/plankton.html
![Page 9: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/9.jpg)
http://benanne.github.io/2015/03/17/plankton.html
![Page 10: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/10.jpg)
②cyclic rollingT(x)
![Page 11: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/11.jpg)
実験<多クラス分類>• プランクトンデータセット( 121クラス、 95*95pixel、 3037valid/27299train)• 銀河写真データセット( 121クラス、 95*95pixel、 6157valid/55421train)<領域抽出>• マサチューセッツの航空写真 ( 80*80pixel,137train/4valid/10test)Baseline CNNをコントロールとし、 cyclic slicingなどを挿入することでどれだけ性能が向上したかを示した。
![Page 12: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/12.jpg)
• Adam使用、プランクトンのみ weight decayも併用• Data augmentationは、ベースライン CNNにも、筆者らの提案した手法にも、どちらにも使用した
![Page 13: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/13.jpg)
![Page 14: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/14.jpg)
実験その①( cyclic slice/pool)
![Page 15: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/15.jpg)
実験その②( cyclic rolling)
![Page 16: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/16.jpg)
<rollingの挿入の仕方>• Roll all(convの後にすべて挿入 )• Roll dense(dense layerの後にのみ挿入 )
•その後に 1/2,1/4とついているのは、フィルタの数をその倍率に縮小した、という意味。
![Page 17: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/17.jpg)
![Page 18: [DL輪読会]Exploiting Cyclic Symmetry in Convolutional Neural Networks](https://reader036.vdocuments.net/reader036/viewer/2022081514/58d0e3e91a28abba558b4c43/html5/thumbnails/18.jpg)
参考• http://benanne.github.io/2015/03/17/
plankton.html• http://icml.cc/2016/reviews/871.txt