読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】データ拡張、画像を反転させるだけでええの?Cutout・Mixup・CutMix・RandAugmentとテキストの水増し【G検定】

12レスカテゴリ:AI・機械学習
1: 名無しさん

画像が1000枚しかない。データ拡張で増やせって言われたけど、何をどう増やせばええん?

2: 名無しさん

前提のおさらい。畳み込み層は同じフィルタを画像のどこでも使い回す。それでも、写り方の違い(向き・明るさ・一部が隠れる)に強くするには、そういう画像を学習で見せる必要がある

3: 名無しさん

>>1
基本は、ラベルが変わらない範囲で画像を少し変える
Random Flip(左右反転)、Crop(一部を切り出す)、Rotate(回転)、Brightness(明るさ)、Contrast(コントラスト)
1000枚でも、学習のたびにランダムに変えれば、毎回少しずつ違う画像を見せられる。過学習を防ぐ効果がある

4: 名無しさん

>>3
なんでも反転してええの?

5: 名無しさん

>>4
あかん場面がある。手書き数字の6を180度回すと9になる。文字や標識は左右反転すると別物になる
「この変化でラベルが変わらんか」をタスクごとに確かめなあかん。データ拡張の選び方がタスクとデータで変わるのはそのため

6: 名無しさん

隠す系の手法もある
Cutout:画像の一部を四角く塗りつぶす
Random Erasing:ランダムな場所・大きさの四角をランダムな値で消す
一部が隠れても判断できるように、物の全体を見るくせがつく

7: 名無しさん

Mixupは、2枚の画像とラベルを同じ割合で混ぜる

で犬と猫を混ぜたら、ラベルも「犬0.7・猫0.3」にする

8: 名無しさん

>>7
CutMixは、混ぜる代わりに、1枚の一部を切り取ってもう1枚に貼る。ラベルは面積の割合で混ぜる
32×32 の犬の画像に 16×16 の猫を貼ると、猫の面積は で、ラベルは「犬0.75・猫0.25」

9: 名無しさん

>>8
手法が多すぎて、どれをどれだけ組み合わせればええか決められん

10: 名無しさん

>>9
それを簡単にしたのがRandAugment。たくさんの変換の候補から毎回 個をランダムに選んで、強さ でかける。決めるのは と の2つだけ
組み合わせを細かく探す手間を減らせる

11: 名無しさん

テキストでもデータ拡張はできる
noising:語をランダムに消す・入れかえる・別の語に置きかえる
paraphrasing:意味を変えずに言いかえる(別の言語に翻訳して戻す、など)
ただ、文章は1語変わるだけで意味が逆になることがあるから、画像よりも気をつける

12: 名無しさん

>>11
「この映画はおもしろくない」の「ない」を消したら、感情のラベルが逆になるもんな。テストのデータには拡張をかけずに、もとのデータで評価するのも忘れたらあかん

管理人のひとこと