ある部品メーカーが、製品の画像を「良品」「傷あり」「欠けあり」の3クラスに分類するモデルを作りたい。ラベル付きの画像は各クラス数百枚しかない。ImageNetで事前学習済みのCNNを活用する方法として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 D
この問題の論点:少量データでの事前学習済みモデル活用
ポイント
データが少ないときは、事前学習済みモデルの汎用的な特徴を生かし、出力層を付け替えて新しいタスクに合わせて学習します。
選択肢ごとの解説
- A
不適切
深いCNNをランダムな初期値から各クラス数百枚の画像だけで学習すると、パラメータ数に比べてデータが少なく、過学習を起こしやすくなります。事前学習済みモデルがもつ知識も生かせません。
- B
不適切
ImageNetのクラスは動物や乗り物などの一般的な物体で、部品の傷や欠けを区別するクラスは含まれません。出力層を新しいタスクのクラス数に合わせて付け替え、自社データで学習する必要があります。
- C
不適切
大きな学習率で全層を学習し直すと、事前学習で得た有用な重みが大きく書き換わり、その知識が失われやすくなります。ファインチューニングでは、事前学習の知識を保つため小さな学習率を使うのが一般的です。
- D
適切 正解
事前学習済みモデルの浅い層は、エッジや質感など多くの画像に共通する特徴を捉えています。この特徴を生かして出力層付近だけを学習する転移学習や、全体を小さな学習率で調整するファインチューニングを使うと、少量のデータでも精度を上げやすくなります。
試験での狙われ方
転移学習とファインチューニングの違い(どの層を学習するか)や、少量データの場面での使いどころを問う形が典型です。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目31 転移学習・ファインチューニング)
- Yosinski et al., How transferable are features in deep neural networks? (2014)