NECが苦手なデータを集中的に学習して頑健性を高める深層学習用データ拡張手法を提案

課題

入力に対して適切なカテゴリを推定するような教師ありの機械学習において、用意された学習用データに適切な変換を行なったデータを水増ししてモデルの学習を行う「データ拡張」は、新規データへの性能を高めるために必須の技術となっています。画像に対する変換としては、ノイズを付加したり拡大・縮小・回転といった操作が挙げられますが、画像を自然に変形させることは簡単な操作ではできません。

最近のデータ拡張として、敵対的生成モデル(Generative Adversarial Networks: GAN)などの生成モデルを用いて学習用データの中にありそうなでないリアルな画像を生成して、教師あり学習用の入力データとして使用する手法もありますが、GANの学習は不安定で成功しないことも多く、手軽に試せるわけではありません。また、判別の難しいデータを重点的に学習したいものですが、判別の難しさを適切に定量化することは、簡単ではありません。

低コストで、少量のデータセットでも新規データに対して適切な認識ができるデータ拡張技術が課題となっています。

解決方法

NECは、異なるカテゴリのデータの分布が複雑に絡み合ったような場合でも適切にデータ拡張を行い、判別の難しいデータを重点的に学習することのできる手法を提案しました。この成果はブダペストで開催されたInternational Joint Conference on Neural Networks 2019で口頭発表されています。

ニューラルネトワークは階層的な構造をしており、各層で徐々に非線形な変換を行うことで、複雑な形状のデータ分布を持つ場合であっても、最終的には適切なカテゴリを推定することができます。しかし、データの次元数に対してデータの数が少なければ、用意されたデータとデータの間にあるような新奇なデータに対しての性能が悪くなってしまいます。例えば、画像では128×128の粗いカラー画像でも49152次元のデータとなり、多くの学習用データが必要で、適切なデータ拡張は必須となっています。

データ拡張の際にはあるカテゴリに関する「真の分布」を再現するようにデータを拡張できれば適切な学習が期待できます。また、分布の縁を苦手なものとして重点的に学習できれば性能は向上しそうです。しかし、そのようなデータ拡張は難しく、各ピクセルにノイズを付加するような拡張では適切なデータ拡張でない可能性があります。

そこで、今回の手法ではAdversarial Example と呼ばれる深層学習を騙すための画像を生成する手法を応用し、さらにこれをニューラルネットの入力だけでなく、学習の時々でランダムに選ばれた各層で生成することで苦手なデータを効率的に生成することに成功しています。Adversarial Exampleは人間の見た目には同じようにみえるにも関わらず、全く異なるカテゴリを出力させるような画像を生成する技術です。これをシステムが「苦手」な画像入力とみなしてデータ拡張を行えば性能を向上することができるとする研究をMiyato et al. 2016が提案していて、今回の研究は自然な拡張となっています。入力だけでなく、各層でも行う理由としては、階層が進むほどデータの分布が単純になっていることが期待されるためです。

https://jpn.nec.com/press/201908/20190819_02.html

どうなったか

手書き数字認識のためのMNISTデータセットやステレオ視のためのデータセットNORB、物体認識のためのCIFAR-10データセットにより性能を検証しました。それぞれに対して、手法ありの場合には性能の向上が示されています。

まとめ

データ拡張は機械学習で非常に重要なステップですが、直感的なノウハウの蓄積があるのみで、どのようなデータ拡張が正解かは理論的理解は乏しいのが現状おです。今回のような、理論的理解に基づいた適切なデータ拡張手法は広範な応用が見込めるでしょう。

参考資料

(森裕紀)