ある企業が、2,000枚の学習画像で画像分類モデルを学習する。Random FlipやRotateによるデータ拡張の進め方として、次の2つを比べている。方式X:学習を始める前に、各画像から変換した画像を4枚ずつ作って保存し、元の画像と合わせた10,000枚を毎エポック使う。方式Y:学習中に画像を読み込むたびにランダムな変換を加え、変換した画像は保存しない。2つの方式の比較として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 A
この問題の論点:拡張を加えるタイミング
ポイント
学習中にその都度変換する方式は、エポックごとに異なる変換画像で学習できる点が利点です。学習前に作る方式では、変化の種類が固定されます。
選択肢ごとの解説
- A
適切 正解
方式Yでは、エポックごとに変換がランダムに選び直されます。学習が進むほど、さまざまな変化を含む画像で学習できます。変換した画像を保存しないため、保存領域も元の2,000枚分で済みます。
- B
不適切
方式Yでは、1エポックで2,000枚の元画像をそれぞれ1回ずつ読み込み、その場で変換して使います。1エポックの枚数は2,000枚のままで、増えるのは画像の枚数ではなく変化の種類です。
- C
不適切
方式Xで使う画像は、学習の前に作った10,000枚に固定されます。エポックを重ねても同じ画像をくり返し使うだけで、変化の種類は増えません。多様さの点では方式Yが有利です。
- D
不適切
変換を学習の前にまとめて計算するのは方式Xです。方式Yは学習中に変換を計算します。ただし、GPUが前のミニバッチを学習している間にCPUで次の変換を済ませれば、待ち時間はほとんど増えません。
補足
AlexNetの論文でも、画像の切り出しと左右反転による変換を学習中にCPUで作り、変換した画像はディスクに保存しない方法がとられました。
試験での狙われ方
データ拡張を学習の前に行うか、学習中に行うかを比べさせる形が考えられます。保存領域、計算のタイミング、変化の多様さの3点で整理しておくと安心です。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目25 データ拡張)
- Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, ImageNet Classification with Deep Convolutional Neural Networks (2012) (4.1 Data Augmentation)