機械学習におけるData Augmentationのまとめ【その2】
今回は前回紹介したData Augmentationの戦略を強化学習により探索するAuto Augmentの紹介を行う.
背景および目的
Data Augmentationは,問題(データセット)ごとに最適な適用方法の組み合わせ(解)が異なることが知られている. この問題を強化学習を用いて自動的に最適なDAの戦略を求めることを目的としている研究である.
概要
この研究の探索方法は,2つの構成から成り立っている.(AutoMLからインスパイアされている) まず1つ目は,controllerと呼ばれる.簡潔に言うと,ここはRecurrent Neural Networkがベースとなっており,探索空間の中からaccuracyを向上させるようなDAの組み合わせを経験的に学習するようになっている.具体的なアルゴリズムはProximal Policy Optimization (PPO)を選択している.次に2つ目は,controllerから出力される組み合わせを用いてNNモデル(何個かのモデルで検証している)によって学習・検証を行いaccuracyを計算する部分となっている. 最後に全体のおおまかな流れとしては,controllerでは各stepで2種類のDA手法の組み合わせを5個のsoftmaxとして生成される. 各softmaxの中身は となっている.
operation typeとは,DA手法の種類を指す(この研究では16種類のDA手法を用いている.)
maginitudeとは,選択されたDA手法の適用範囲の程度のことを示している. (例:この研究では各DA手法の適用範囲があらかじめ設定されている.例えばRotate(回転)手法の場合は[-30,30]の範囲が設定されている.各DA手法の適用範囲を10等分し,その10個から選択される.)
probabilityとは,選択されたDA手法の適用確率を意味している.適用確率は11段階構成となっており11個の中から選択される.
この出力される組み合わせを用いてchild modelではDAを適用し学習データの拡張を行い学習及び検証によってaccuracyを算出する。
最後にこの算出されたaccuracyと事前に出力していたsoftmaxを用いて強化学習を行い,よりaccuracyを向上させるような学習へ導くという流れとなっている.
この研究の成果と面白み
state-of-the-artと同程度あるいはそれ以上の結果を示したこと
CIFAR-10, CIFAR-100, SVHN, and ImageNet (without additional data)のデータセットで人間の手動によるaccuracyと同程度,それ以上の結果を示した.
転用の可能性
この研究の面白みは探索された組み合わせの解が,探索した際のデータセットと類似したデータセットの場合において探索によって導られた解を転用して用いる可能性を示唆している.
原文
https://arxiv.org/pdf/1805.09501.pdf
code(論文の著者たちのもの)
models/research/autoaugment at master · tensorflow/models · GitHub
※ただしこのコードは既に探索済のものであるため,上記の探索部分は一切ない.そこで探索アルゴリズム部分をトレースした大学院生のコードに改良を加えたものを近々共有するので参考にして下さい.