19. [16] Pawara, Pornntiwa, et al. "Comparing local descriptors and bags of visual words
to deep convolutional neural networks for plant recognition." International Conference
on Pattern Recognition Applications and Methods. Vol. 2. SciTePress, 2017.
より上図を引用
19
GoogLeNet [15]は2014年のILSVRCでエラー率6.7%を達成して優勝したモデル
Inception Moduleと呼ばれるモジュールを多層に重ねることで22層ネットワークを
構築(Inception Moduleは2層の畳み込み層を持つ)
GoogLeNet
Inception Module
GoogLeNet
(この図はDropoutとsoftmaxの間のFC層が抜けている)
[15] Szegedy, Christian, et al. "Going deeper with convolutions." Proceedings of
the IEEE conference on computer vision and pattern recognition. 2015.
上図もこちらから引用
34. 強化学習 (Reinforcement Learning) を用いたNAS
コントローラ (RNN) を用いて、CNNの層のハイパーパラメータ(フィルタ
サイズ・ストライド等)を順次定義することでCNN全体を定義する
定義されたCNNの精度Rを報酬として方策勾配を計算し、コントローラを
アップデート
学習が進むと、より精度の高いCNNが生成されるようになる
NAS with Reinforcement Learning [23] (1/3)
[23] Zoph, Barret, and Quoc V. Le. "Neural architecture
search with reinforcement learning.“, In Proc. of
International Conference on Computer Vision, 2017
図も本論文より引用
34
36. 36
層数15としたときの結果を左図に示す
FH, FWがフィルタサイズの縦・横
Nはフィルタ数
本モデルのスキップコネクションはConcatenate
(Residual Connectionではない)
生成したCNNに対し50 epoch (CIFAR10) の学習をし
て精度の検証をする、ということを数千回単位で行う
ので、莫大な計算量を必要とする
本研究では探索に800GPU×28daysを必要とした
ここでは紹介しないがCNN以外にもリカレントネット
ワークの構造探索も本研究では行っている
NAS with Reinforcement Learning (3/3)
[23] Zoph, Barret, and Quoc V. Le.
"Neural architecture search with
reinforcement learning.“, In Proc.
of International Conference on
Computer Vision, 2017
より図を引用
37. 37
CNN全体ではなく、CNNを構成するセル(ブロック)を学習
ResNetやDenseNet等のモデルがResidual BlockやDense Blockといったブ
ロック(セル)単位で構成されていることから着想
探索空間を「ネットワーク全体」から「セル」に絞ることで、探索に必要な
計算量を削減することに成功し、また精度面でもNAS with RLを上回る
探索によって得られたセルは、他のデータセットにも有効に適応可能
CIFAR10を用いて得られたセルを、より大きなデータセットであるImageNetに転移す
ることで、直接ImageNetを用いて探索するよりも計算量を削減できる
学習はNAS with RLと同様、強化学習ベースで行われる
NASNet [24] (1/4)
[24] Zoph, Barret, et al. "Learning transferable architectures for scalable image recognition.
"Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.
38. 38
学習では、まずセルの繰り返し構造を人間が決める(左図)
CIFAR10とImageNetで繰り返し構造は異なるが、用いるセルは共通
NASを用いてNormal CellとReduction Cell (特徴マップを半
分・特徴マップ数を倍にするセル) の構造を生成・探索
上記の探索では、計算量削減のためCIFAR10で行い、得られ
た最適なセルをImageNet等の他のデータセットにも用いる
NASNet (2/4)
[24] Zoph, Barret, et al. "Learning
transferable architectures for scalable
image recognition." Proceedings of
the IEEE conference on computer
vision and pattern recognition. 2018.
より図を引用
39. 39
NASNet (3/4)
セルの構造は下図左のRNNコントローラで生成される
まず、二つの隠れ状態を「直前のセルの出力、二つ前のセルの出力、以前の繰り
返しで生成された出力」から選択
それぞれの隠れ状態に対する変換を下図右の中から選択
変換後の隠れ状態の結合方法を選択
例として左図の様な計算方法が出漁される
これを既定の回数(下図左ではB timesなのでB回)繰り返すことでっ
セルの構造を決定
[24] Zoph, Barret, et al. "Learning transferable architectures
for scalable image recognition." Proceedings of the IEEE
conference on computer vision and pattern recognition. 2018.
より図を引用
40. 40
NASNet (4/4)
[24] Zoph, Barret, et al. "Learning
transferable architectures for scalable
image recognition." Proceedings of
the IEEE conference on computer
vision and pattern recognition. 2018.
より図を引用
結果として以下のセルが生成された
要した計算量は500GPU×4days
NAS with RLの800GPU×28daysと比較すると約10分の1となっているが、
以前として莫大な計算量である
41. 41
莫大な計算量が必要だったNASの計算量を大幅に削減
1GPU×0.45 daysでの学習が可能(NASNetから1000倍以上の高速化)
NASNetよりやや精度が劣るが、精度面でも優秀
コントローラにより生成される各CNN間で重みをシェアすることによって、
各モデルを最初から学習させる必要が無い
従来のNASでは、数千回単位でCNNを最初から学習する必要があった
NASNetで導入したセル毎の構造探索も用いられている
少々煩雑なので、詳細を知りたい方は論文や解説記事を参照
Efficient NAS [25]
[25] Pham, Hieu, et al. "Efficient neural architecture search via parameters
sharing." International Conference on Machine Learning. PMLR, 2018.
42. 42
DARTS (Differentiable ARchiTecture Search) [26]
強化学習ではなく勾配降下法によってネットワークのセルの構造を探索
離散的なネットワーク構造を連続に緩和することによって、微分可能に
構造探索+モデルの学習を一気に行うことが可能となるため
計算量を大幅に削減することが可能に
1GPU daysでの学習が可能 (Efficient NASと同じくらい)
DARTS (1/2)
[26] Liu, Hanxiao, Karen Simonyan, and Yiming Yang. "Darts: Differentiable architecture
search.“, In Proc. International Conference on Learning Representations, 2019
43. 43
まず、下図(a)の様な有向非巡回グラフを仮定
次に、下図(b)の様にグラフの各エッジを複製し、それぞれを異なる演算oに割り当て
式 (1)の重み付き和で出力が計算される(連続値に緩和)
式 (1) の重みαと各演算oに含まれるパラメータを同時に学習(下図(c))
重みが大きい演算のみを残すことで、セルの構造を決定(下図(d), 式(2))
DARTS (2/2)
(1)
(2)
[26] Liu, Hanxiao, Karen Simonyan, and Yiming
Yang. "Darts: Differentiable architecture search.“,
In Proc. International Conference on Learning
Representations, 2019 より図を引用
44. [27] Real, Esteban, et al. "Large-scale evolution
of image classifiers." International Conference
on Machine Learning. PMLR, 2017.
より図を引用
44
進化的アルゴリズムを用い、ランダムに複数のネットワークを生成・学習、精度の良
いものを残し・悪いものを削除、突然変異で新たなネットワークを作成、を繰り返す
ことで学習
下図で示すように、徐々に性能の良いネットワークが学習されていく
進化的アルゴリズムに基づくNAS
55. [29] Kolesnikov, Alexander, et al. "Big
transfer (bit): General visual representation
learning.“, In Proc. of European
Conference on Computer Vision, 2020.
より左図を引用
[30] Sun, Chen, et al. "Revisiting
unreasonable effectiveness of data in
deep learning era." Proceedings of the
IEEE international conference on
computer vision. 2017.
55
メインの実験では5種類の大きさのResNetに対して、3種類の大きさのデータセット
で事前学習し、各タスクに対してファインチューニングし、精度を比較している
3種類のデータは、小さい方からILSVRCコンペ用のデータセット(128万枚)、ImageNet全体(1420
万枚)、Googleが所持している非公開データJFT-300M(3億枚) [30]
5種類の大きさのResNetはResNet-50からResNet-152x4(x4はチャネル数4倍を意味する)
3つのタスクに対して、モデルが十分な大きさがあれば、事前学習データセットを超
大規模にすることにより劇的な精度向上が可能(下図)
モデルが小さい場合、精度が途中で頭打ちになる
BiT (2/3)
56. [29] Kolesnikov, Alexander, et al. "Big
transfer (bit): General visual
representation learning.“, In Proc. of
European Conference on Computer
Vision, 2020. より図を引用
56
大規模データによる事前学習モデルを用いることで、データが非常に少ない状況下で
の学習でも高い精度を実現(下図)
巨大なモデル (ResNet-152x4は約10億パラメータ) を超大規模データセットで学習す
る為には当然莫大な学習コストがかかる
ResNet-152x4をJFT-300Mで学習する際には数万GPU hoursの計算を要した
本研究はGoogle Brainによるものであり、深層学習に特化したアクセラレータであるTPU-V3
を512枚使って学習を行っている
BiT (3/3)
57. 57
BiTが巨大モデルの数億枚規模の事前学習の有効性を示したことにより、
これ以降のSOTAの達成に必須事項となる(次ページ参照)
事前学習を使わずに精度を追求する研究も続くが、SOTAを達成するのは困難
当然ながら学習に莫大な計算コストがかかるので、このような計算コストを賄うことの出来る巨大
IT企業が以外は手が出ない研究となっている
殆どがGoogle Brain, 次いでFacebook AI Research
BiT以前から計算力で有利なGoogle等が強い傾向にはあったが、BiT以降はさらに決定的となる
ただ、学習済みモデルは公開されている場合もあるので、これらを用いたファインチューニングな
らば比較的ローコストで行える
BiTの場合、JFT-300Mのモデルは非公開だが、ImageNet1420万枚のモデルは公開されている
「学習済みモデルを作るGoogleを中心とした巨大IT企業」と「公開された学習済みモデルを用いて様々な研究
を行うチーム」に役割が分かれていく
BiT 以降の精度向上に関する研究
59. 59
2020年後半あたりから、自然言語処理で用いられているTransformer [31] を
用いた画像認識が高い精度を実現できる事が示されてきた
Transformerでは、Attentionと呼ばれる演算を用いることで、近年のデファクトスタ
ンダードである畳み込み演算を一切用いない
2021年7月末現在、TransformerとCNNのどちらが優れているのかの決着は
ついていないが、CNNと比較してTransformerの研究の歴史は浅いので、今
後Transformerが化ける可能性は十分にあると思う
現段階では、可能性を感じ取った非常に多くの研究チームがTransformerに
参入しており、混沌とした状況が続いている印象
どの手法が生き残るか不透明なので、本資料ではとりあえずTransformer×画像認識
の先駆けとなったVision Transformer (ViT) [32] をメインで説明する
Transformerを用いた画像認識
[31] Vaswani, Ashish, et al. “Attention is all you need.” Advances in neural information processing systems. 2017.
[32] Dosovitskiy, Alexey, et al. "An image is worth 16x16 words: Transformers for image recognition at scale." arXiv preprint arXiv:2010.11929 (2020).
60. 60
TransformerはAttentionと呼ばれる機構を用いたニューラルネットワークで
あり、2017年に自然言語処理 (NLP) 用モデルとして登場した
NLPの様々なタスクに対して圧倒的な性能を実現し、以前のLSTM等の回帰型
ニューラルネットワークの手法に取って代わった
これ以前にも回帰型NN+Attentionモデルは存在したが、Transformerでは回帰型
NNは使われていない (Attention is All You Need)
Transformerを発展させた大規模モデルであるBERTやGPTが登場し、NLP
ではいち早く大規模モデル+大規模データの流れが到来
その後、画像認識や音声認識、点群認識などにも応用される
最近話題になったタンパク質構造予測のAlphaFold [33]もTransformerがベース
Transformerとは
[33] Senior, Andrew W., et al. "Improved protein structure prediction using potentials from deep learning." Nature 577.7792 (2020): 706-710.