AutoAugment:ディープラーニングを使ってディープラーニング学習用の画像データを増やす

  • 2018.06.09
  • AI
AutoAugment:ディープラーニングを使ってディープラーニング学習用の画像データを増やす

1.AutoAugment:ディープラーニングを使ってディープラーニング学習用の画像データを増やすまとめ

・人工知能を使って人工知能が学習に使う画像を増やす手法が発表される
・AutoAugmentは画像の相称性を強化学習で学習させ画像データを水増しできる
・人工知能は構成改良と学習最適化と学習用データ増加を自動でできるようになった

2.AutoAugmentとは?

コンピュータヴィジョン分野におけるディープラーニングの成功は、利用可能な大量のラベル付き学習用データが増えた事が部分的に貢献している可能性があります。一般的に人工知能のパフォーマンスは学習用データの品質、多様性、量、によって改善されます。しかし、人工知能を鍛えるために十分な品質の学習用データを収集する事は、簡単な事ではありません。

データを増やすために良く使われる方法の一つは、学習用画像を左右反転したり回転する事によって水増しし、データを水増しした事によって人工知能の性能が改善されるか熟練の人口知能エンジニアが手動でチューニングする事でした。

つい最近まで、人工知能を使って既存の学習用画像データを水増しする事はあまり注目されていませんでした。しかし、私達はAutoMLが人工知能を用いて自動的に人工知能の構造を進化させた事に触発され、次のように自問しました。

もしかしたら人口知能の学習用画像を人工知能を使って自動で増やす事ができるのではないだろうか?

論文「AutoAugment: Learning Augmentation Policies from Data」では、私達は既存の学習用データの量と多様性を高める強化学習アルゴリズムを検討しました。

直観的に説明すると、動物の写真は左右反転しても重要な意味は失われない、文字画像は色を変更しても重要な意味は失われない、など、そのデータ領域の画像の相称性の範囲を強化学習で学習させ、その結果、データが水増しできるのです。

従来のエキスパートによる手作業のチューニングと異なり、強化学習を利用してデータ自体から最適な画像変換ポリシーを見つける事に成功しました。そして、この画像変換ポリシーを使って水増しした既存の学習用データセットを使い、新たに学習用データを収集せずに画像認識人工知能の性能を向上する事にも成功しました。

AutoAugmentの背後にあるアイデアは簡単です。イメージには、イメージに存在する情報を変更しない多くの相称性があります。例えば、鏡に写った犬はまだ犬です。これらの「不変性」のいくつかは人間には明確ですが、多くは人間にとって明確ではありません。例えば、mixup法は、学習中に画像を重ね合わせることによってデータを水増しし、人工知能の性能を改善しています。

AutoAugmentは、画像変換の基本的な操作(画像を水平または垂直に反転する、画像を回転する、画像の色を変更するなど)を組み合わせて学習用データを水増しするためのポリシーを自動的に設計します。AutoAugmentは、変換後の画像に加え、個々の画像と変換後画像の使用方法も考慮するため、常に同じ画像変換が行われるとは限りません。AutoAugmentは、2.9 x 10の32乗の画像変換から最適なポリシーを選択することができます。

AutoAugmentは、画像の種類によって異なる変換を学習します。たとえば、GoogleMapのストリートビューに含まれる家屋番号が写っている画像(SVHN:Street View House Number)の場合、AutoAugmentは、この種の画像に良く見られる一般的な歪みを表す剪断および平行移動などの変換を行います。さらに、AutoAugmentは、世界中のさまざまな建物や家屋の多様性を学び、元のSVHNデータセットの色を完全に変更しても問題ない事も学びました。

(要は家屋番号部分さえちゃんと描写されていれば、画像を剪断(ブツ切り)したり文字の場所を移動したり、色が変わっていても問題ない事を認識して画像を水増ししてくれると言う事。下図参照)

その一方、CIFAR-10やImageNetなどの画像データセットでは、AutoAugmentは画像を剪断したり色を変えたりはしません。なぜなら、これらのデータセット内には剪断が含まれる事はほとんどありませんし、また、非現実的なイメージに繋がるために色を完全に変更する事もしません。代わりに、AutoAugmentは色合いを維持しながら、色と色相の分布をわずかに調整することに重点を置いています。これは、CIFAR-10とImageNetの画像は実際の色が重要である一方で、SVHNでは相対的な色のみが重要であることを示しています。

私たちのAutoAugmentアルゴリズムは、最も有名なコンピュータビジョンデータセットの拡張ポリシーを発見しました。 ImageNetデータを増強することにより、最先端の認識率83.54%の精度を達成し、CIFAR10ではエラー率1.48%を達成しました。これは、科学者が手動で作った水増しデータを利用した時より0.83%改善されています。 SVHNでは、最先端のエラーを1.30%から1.02%に改善しました。

重要なのは、AutoAugmentポリシーは転移可能であることです。ImageNetデータセットのポリシーは、他のビジョンデータセット(Stanford Cars、FGVC-Aircraftなど)にも適用できるため、他のデータセットでもニューラルネットワークのパフォーマンスが向上します。

私達のAutoAugmentが、競争の激しい様々なコンピュータビジョンデータセットでこのレベルの高いパフォーマンスを達成したことを嬉しく思っています。この技術は将来、より多くのコンピュータビジョンタスクや、オーディオ処理や言語モデルなどの他の分野でも見ることができるようになるでしょう。今回作成されたポリシーは、研究者が関連するビジョンタスクに関するモデルを改善するために使用できるように、論文「AutoAugment: Learning Augmentation Policies from Data」の付録に含まれています。

3.AutoAugment:ディープラーニングを使ってディープラーニング学習用の画像データを増やす感想

AutoML、つまりニュラルネットワークを使ってニューラルネットワークの構成を改良していく試みから、Neural Optimizer Search、強化学習でニューラルネットワークの最適化手法を発見する試み、そして今回のAutoAugmentとで、人工知能は「構成の改良」と「学習の最適化手法探索」と「学習用データの増加」が出来るようになりました。

それぞれは単なる部品部品にすぎませんが、人工知能が自らの機能を改良していくシンギュラリティ的な話もSFの世界とあまり笑っていられなくなりますね。エキスパートの熟練の技であっても、2.9 x 10の32乗と言う圧倒的な計算機パワーには白旗を上げるしかない。

4.AutoAugment:ディープラーニングを使ってディープラーニング学習用の画像データを増やす関連リンク

1)ai.googleblog.com
Improving Deep Learning Performance with AutoAugment

2)arxiv.org
AutoAugment: Learning Augmentation Policies from Data