問題 No.1800
ディープラーニングにおける転移学習の適用プロセスにおいて、事前学習済みモデルのネットワーク構造を変更する際の実務上の一般的なアプローチとして適切なものはどれか。
【正解の解説】
新しいタスクの出力クラス数に合わせて出力層を置き換え、必要に応じて下位層の重みを固定または調整する
人間で例えるなら、長年培った「基本的なモノの見方(下位層のパターン認識力)」はそのまま活かしつつ、新しく任される仕事の「最終的な答えの出し方(出力層)」だけを今の職場に合わせて微調整するスマートな学び方です。AI開発において効率よく高精度なモデルを作るための王道アプローチとなります。
スポンサーリンク
【その他の選択肢の解説】
新しいタスクの出力クラス数に合わせて入力層を置き換え、必要に応じて上位層の重みを固定または調整する
初学者が「層の置き換え」という言葉を聞いたとき、データの入り口である入力層から変えてしまうという誤解をしやすい点を突いた罠です。転移学習では、すでに世の中の一般的な特徴を学習済みの優れた「目や耳」にあたる下位・中位層はそのまま維持し、最後の判断を下す出力層だけを付け替えるのが鉄則です。
新しいタスクのデータ分布に合わせて中間層をすべて削除し、必要に応じて出力層の重みを固定または調整する
「新しいデータ分布に合わせる」という言葉に惑わされ、モデルの基礎を作る大事な心臓部である中間層を消去してしまうという致命的な勘違いを誘う選択肢です。人間の頭脳で例えると、これまでの人生経験や基礎知識をすべてリセットしてゼロから考え直すようなものであり、転移学習のメリットを完全に台無しにしてしまいます。
新しいタスクのデータ量に関わらず全層の重みを完全に固定し、必要に応じて損失関数だけを置き換える
「事前学習済みモデルは優秀だから触らない方が安全だ」という初学者の過度な思い込みを逆手に取った罠です。新しいタスクのデータが大量にある場合などは、出力層だけでなく下位・中位層の重みも微調整(ファインチューニング)しなければ、新しい環境に柔軟に対応できないパフォーマンス不足のモデルになってしまいます。