G検定(ジェネラリスト検定)
じぜんがくしゅうずみもでる
事前学習済みモデル
Pre-trained Model
事前学習済みモデルとは、あるデータセットとタスクで訓練を終え、学習した重みを持っているニューラルネットワークそのものを指す語です。転移学習の出発点として使われます。このモデルの層を別のタスク用のネットワークへコピーし、コピーした層を固定したまま使うか、新しいタスクに合わせて微調整するかを選んで利用します。
詳しい説明
行為の名前ではなく、訓練を終えたモデルの名前
事前学習済みモデルは、あるデータセットとタスクで既に訓練され、学習の結果として重み(ネットワークの各層が持つ数値の組)が決まっているネットワークそのものを指します。似た語の事前学習は、この訓練を行うという行為や工程を指します。事前学習という工程を経て手元に残る具体物が、事前学習済みモデルです。
この区別は、使い方を考えるときに役立ちます。事前学習済みモデルは訓練済みの重みを持っているので、新しいタスクのネットワークを作るときに、その重みを部品として取り出して使えます。これが転移学習(あるタスクで学習した特徴を、別のタスクに転用する学習の方法)の出発点になります。
論文での呼び名 base network と target network
ヨシンスキー(Yosinski)、クルーン(Clune)、ベンジオ(Bengio)、リプソン(Lipson)の論文 How transferable are features in deep neural networks?(NeurIPS 2014)は、転移学習を次のように説明しています。まず base network(基になるネットワーク)を、base dataset と base task(基になるデータセットとタスク)で訓練します。次に、そこで学習した特徴を target network(転用先のネットワーク)へ移し、target network を target dataset と target task(転用先のデータセットとタスク)で訓練します。
この論文は事前学習済みモデルという語を使っていませんが、訓練を終えた base network が、このページで扱う事前学習済みモデルに相当します。target network は、事前学習済みモデルから層を受け取って新しいタスクを学ぶ側のネットワークです。
層をコピーして使う手順
論文は、よく使われる転移学習の手順を次のように書いています。
1. base network を訓練する
2. base network の最初のn層を、target network の最初のn層へコピーする
3. target network の残りの層は、重みをランダムな値で初期化する
4. target network を target task に向けて訓練する
つまり、事前学習済みモデルの入力側の層をそのまま借り、出力側の層は新しいタスクのために一から学ばせます。論文の実験では、A3Bという名前のネットワークが使われています。これは baseAという base network の最初の3層をコピーして固定し、タスクBに向けて訓練した target network です。比較のために、同じタスクBで訓練した baseBから3層をコピーして固定したB3Bも用意されています。
コピーした層を固定するか、微調整するか
コピーした層の扱いには2つの選択肢があります。
- 微調整(fine-tuning)する: 新しいタスクで生じた誤差を、コピーした層まで逆伝播させ、その層の重みも新しいタスクに合わせて更新します
- 固定(frozen)する: コピーした層の重みを、新しいタスクの訓練中に一切変えません
どちらを選ぶかについて、論文は target dataset の大きさと、コピーした最初のn層に含まれるパラメータ数で決まると述べています。
| 状況 | 論文が示す扱い | 理由 |
|---|---|---|
| target dataset が小さく、パラメータ数が多い | 固定することが多い | 微調整すると過学習(訓練データに合わせすぎて、新しいデータで性能が落ちること)を起こすおそれがある |
| target dataset が大きい、またはパラメータ数が少ない | 微調整してよい | 過学習が問題にならないので、新しいタスクに合わせて性能を上げられる |
少ないデータで多くの重みを動かそうとすると、その少ないデータに合わせすぎてしまいます。そのため、データが少ないときは事前学習済みモデルの重みを動かさずに使うほうが安全だ、という考え方です。
入力側の層ほど使い回しやすい理由
論文は、自然画像で訓練された多くの深層ニューラルネットワークに共通する現象を紹介しています。第1層では、ガボールフィルタ(特定の向きの縞模様や輪郭に反応するフィルタ)に似た特徴や、色の塊(color blobs)に反応する特徴が学習されます。こうした第1層の特徴は、特定のデータセットやタスクに固有のものではなく、多くのデータセットやタスクに当てはまる一般的な特徴だとされています。
一方で、ネットワークの特徴は最後の層までに、一般的なものから特定のタスクに固有のものへと移り変わるはずだ、と論文は述べています。事前学習済みモデルの最初のn層をコピーし、残りの層を新しく学ばせる手順は、この性質と対応しています。入力側の一般的な特徴は借り、出力側のタスク固有の部分は作り直す、という分担です。
使い回しが成り立つ条件
論文によれば、転移学習がうまく働きやすいのは、移す特徴が一般的な場合、つまり base task と target task の両方に適した特徴である場合です。特徴が base task に固有のものであれば、target task では役に立ちにくくなります。事前学習済みモデルのどの層までを借りるかを考えるときは、その層の特徴がどれだけ一般的かが手がかりになります。
試験で問われること
G検定
- 事前学習済みモデルは、訓練するという行為ではなく、あるデータセットとタスクで訓練を終えて学習済みの重みを持つネットワークそのものを指すことを説明できますか。
- 事前学習済みモデル(base network)の最初のn層をtarget networkへコピーし、残りの層をランダムに初期化してtarget taskで訓練する、という手順を確認しておきましょう。
- コピーした層を微調整(fine-tuning)する場合と固定(frozen)する場合の違いと、target datasetが小さくパラメータ数が多いときに固定が選ばれやすい理由(過学習のおそれ)を説明できますか。
- 自然画像で訓練したネットワークの第1層にガボールフィルタに似た一般的な特徴が現れ、最後の層に向かってタスク固有の特徴へ移り変わるという性質が、入力側の層を借りる使い方とどう結びつくかを確認しておきましょう。
最終更新日: 2026/09/23