1行定義
RandAugmentとは、用意した変換の候補からランダムに選んだN個の変換を、すべて共通の強さMで画像に加えるデータ拡張の手法のことです。
くわしく
RandAugmentは、どのデータ拡張をどれだけ強くかけるかを、少ない手間で決められるようにした手法です。2019年にGoogleの研究者が発表しました。シラバスでは「RandAugument」と表記されています。
背景:変換の組み合わせ探し
画像の拡張には、回転、明るさ、コントラストなど多くの変換があります。どれをどの確率と強さで使うかで、精度は変わります。先に提案されたAutoAugmentは、この組み合わせ(ポリシー)を強化学習で探しました。ただし探索の計算コストが大きいため、小さなモデルと小さなデータセットによる代理の課題で探し、その結果を本番の大きなモデルに流用していました。
仕組み
RandAugmentは、調整する値を2つに絞りました。
- N:1枚の画像に続けて加える変換の数
- M:すべての変換に共通する強さ(整数の目盛りで表す)
変換は、回転、明るさ、コントラスト、せん断、平行移動、何もしない変換など14種類の候補から、毎回同じ確率でランダムに選びます。どの変換をどの確率で使うかを学習しないため、探索する範囲(探索空間)は、AutoAugmentの約10の32乗通りから約10の2乗通りに縮まりました。そのため、本番のモデルとデータでNとMを直接決められます。
分かったこと
論文では、大きなモデルや大きな学習データほど、強い変換が適していることが示されました。小さな代理の課題で決めた強さが、本番では最適とは限らないことを意味します。EfficientNet-B7を使ったImageNetの画像分類では、85.0%の正解率を記録しました。COCOの物体検出でも精度が上がっています。
覚え方
「Rand(ランダムに選ぶ)+Augment(拡張)」で、決めるのは個数Nと強さMの2つだけ、と覚えます。
G検定での出題
出題のされ方
調整する値が変換の数Nと共通の強さMの2つだけである点と、強化学習で変換の組み合わせを別途探索する必要があったAutoAugmentとの違いが問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
RandAugmentのNとMは、どちらも値を大きくするほど、データ拡張による正則化が強くなるように設計されている。
答えを見る
答え ◯ 正しい
Nを増やすと1枚に加える変換が増え、Mを上げると各変換が強くなります。値の意味が直感的に分かるため、調整しやすい設計です。
-
RandAugmentは調整する値が少ないため、グリッドサーチのような単純な方法でも、よい値の組み合わせを探せる。
答えを見る
答え ◯ 正しい
調整するのはNとMの2つだけなので、候補の値を総当たりで試しても手間は小さく済みます。提案論文でも、単純なグリッドサーチで十分な効果が得られたとしています。
-
RandAugmentは画像分類のための手法であり、物体検出のモデルの学習では効果が確かめられていない。
答えを見る
答え × 誤り
提案論文では、COCOの物体検出でも、基本的なデータ拡張に比べて精度(mAP)が1.0〜1.3ポイント上がったと報告しています。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目25 データ拡張(シラバスの表記はRandAugument))
- Ekin D. Cubuk, Barret Zoph, Jonathon Shlens, Quoc V. Le, RandAugment: Practical automated data augmentation with a reduced search space (2019)
- Ekin D. Cubuk, Barret Zoph, Dandelion Mané, Vijay Vasudevan, Quoc V. Le, AutoAugment: Learning Augmentation Policies from Data (2018)