事前学習 (G検定)

事前学習

1. 定義と概要

事前学習とは、本番のタスク(本学習)に取り組む前に、モデルの重み(ニューラルネットワークの中で情報の伝わりやすさを調整する数値)を望ましい初期値へと整えておく学習のことです。ここでの初期値とは、学習を始める前にあらかじめ設定しておく重みの最初の値を指します。

歴史的には、積層オートエンコーダ(入力を一度圧縮して復元する仕組みを何層も積み重ねたもの)や深層信念ネットワーク(DBN)が代表例として使われてきました。これらは、ネットワークを1層ずつ教師なし学習(正解ラベルを使わずにデータの規則性を学ぶ学習方式)させる「層ごとの貪欲な事前学習」と呼ばれる手法です。

現在では、大規模言語モデル(LLM。大量の文章データで学習した、言葉を扱う大規模なAIモデル)が大量のテキストデータを用いて汎用的な知識や表現をあらかじめ学習する工程を指す用法も広く使われています。

ディープラーニング黎明期にあたる2006年前後は、層を深くするほど重みの初期値の悪さが響き、局所最適解(全体では最良ではないのに、それ以上改善しにくく見えてしまう答え)に陥りやすいという課題がありました。加えて、勾配消失問題(層を深くすると学習の手がかりが後ろの層まで届きにくくなる現象)も重なり、直接の学習は難しい状況にありました。そこで考案されたのが、1層ずつ教師なし学習で良い初期値を与えてから全体を調整する、層ごとの事前学習です。

その後、ReLU(入力が0以下なら0、それ以上ならそのまま出力する活性化関数)が登場します。続いて、過学習(学習データに適合しすぎて、未知のデータへの対応力が下がること)を抑えるドロップアウト(学習時に一部のニューロンをランダムに無効にする技術)や、バッチ正規化(層ごとの出力を整えて学習を安定させる技術)も広がりました。

ResNet(層を飛び越えて信号を伝える「スキップ結合」を取り入れ、非常に深いネットワークの学習を可能にしたモデル)のスキップ結合のような手法もあわせて発展し、層ごとの事前学習を経ずに深いネットワークを直接学習できるようになりました。

一方、現代の大規模言語モデルでは、大量データで汎用知識を学ばせてから個別タスクに適応させるファインチューニング(事前学習済みのモデルを対象のタスクに合わせて追加で調整すること)と組み合わせて使われます。この2段階の学習の枠組みの中で、事前学習という言葉が新たな意味で使われるようになっています。

2. 試験対策ポイント

事前学習の目的は、重みの初期値を改善することが柱になります。局所最適解への落ち込みや勾配消失問題を避け、本学習を効率よく進めるねらいがあります。

積層オートエンコーダを用いた層ごとの貪欲な事前学習は、1層目を教師なし学習させ、その隠れ層の出力を入力として2層目を学習し、さらに深い層へと進んでいく積み上げ方です。最後に、積み上げた全体をラベル付きデータで調整する工程が続きます。

深層信念ネットワーク(DBN)は、制限付きボルツマンマシン(可視層と隠れ層の2層だけで確率的にデータの特徴を学習する仕組み)を何層も積み重ねて構成されます。2006年にヒントンらが提唱した、層ごとの事前学習を用いる代表的なモデルとして押さえておきたいポイントです。

ReLU・ドロップアウト・バッチ正規化・ResNetのスキップ結合といった技術の発展により、層ごとの事前学習を経なくても深いネットワークを直接学習できるようになった経緯は、取り違えやすい点です。

現代の大規模言語モデルなどでは、大量データで汎用的な知識を学ぶ工程を事前学習、その後の個別タスク向け調整をファインチューニングと呼ぶ、新しい意味での使われ方もあわせて整理しておきたいところです。

3. 関連概念との比較・相違点

事前学習とファインチューニングの最大の違いは、担う役割にあります。事前学習は重みの初期化や汎用知識の獲得を担う工程であるのに対し、ファインチューニングは事前学習で得た重みを初期値として、個別のタスクに合わせて調整する工程です。両者は、事前学習の後にファインチューニングが続くという、対になる関係にあります。

積層オートエンコーダや深層信念ネットワークによる従来型の層ごとの事前学習と、現代の大規模事前学習も、比較しておきたい組み合わせです。代表例・手順・ねらいの3点で並べると、違いがはっきりします。

観点 従来型の層ごとの事前学習 現代の大規模事前学習
代表例 積層オートエンコーダ、深層信念ネットワーク(DBN) 大規模言語モデル
学習の手順 層ごとに教師なし学習を繰り返す 1つのモデルを大量データで一括して学習させる
ねらい 重みの初期値を改善する 汎用的な知識や表現を獲得する

同じ「事前学習」という呼び名でも、指す手順は時代によって変化しており、混同しやすい組み合わせです。実務で事前学習済みモデルを使う場面では、この現代的な意味合いを指すことが多く、従来型の層ごとの手順とは区別して捉える必要があります。

4. ビジネス・実務での活用シナリオ

画像認識の分野では、ImageNetのような大規模な画像データセットで事前学習済みのモデルを土台にし、自社が持つ少量の画像データで転移学習(ある領域で得た知識を別の領域に活かす学習の枠組み)を行います。こうして、個別の分類タスクに適応させる進め方が広がっています。ゼロから学習するには大量のデータと計算資源が必要ですが、事前学習済みモデルを起点にすれば、少ないデータと短い期間でも実用的な精度に近づけられます。

自然言語処理(人間が日常使う言葉をコンピュータで扱う技術分野)やチャットボット(利用者からの質問に自動で応答するプログラム)でも、事前学習は活用されています。大規模なコーパス(文章データの集まり)で事前学習した言語モデルを、自社のよくある質問(FAQ)や問い合わせ履歴でファインチューニングする事例があります。少ないデータでも専門用語に対応できるチャットボットを構築できる点が実利になります。一般的な言葉づかいだけでなく、業界固有の言い回しにも対応できる点が、事前学習とファインチューニングを組み合わせる意義です。

音声認識の分野でも、大量の音声データで事前学習した音響モデルを、特定業種の専門用語や訛りを含む少量のデータで調整し、認識精度を高める取り組みが行われています。現場ごとに異なる発話の癖をゼロから学習し直すのではなく、汎用的な音響モデルを土台にして個別事情に合わせる方が、効率よく精度を高められます。

5. 要点まとめ

  • 事前学習とは、本学習に先立ちモデルの重みを望ましい初期値へ整える学習で、局所最適解や勾配消失を避けるねらいがあります。
  • 積層オートエンコーダや深層信念ネットワーク(DBN)は、層ごとに教師なし学習を積み重ねる従来型の事前学習の代表例です。
  • ReLU・バッチ正規化などの技術発展で層ごとの事前学習は必須ではなくなった一方、大規模言語モデルなどでは大量データで汎用知識を学ぶ工程として事前学習という言葉が新たに使われています。

6. 確認問題

問1事前学習は、本学習に先立ちモデルの重みを望ましい初期値に整えるための学習である。

解答・解説をみる

○ 正しい

事前学習は本番のタスクに取り組む前に、重みの初期値を整えて局所最適解や勾配消失問題を避けるための学習です。層ごとの事前学習だけでなく、現代の大規模言語モデルの学習工程を指す用法にも共通する考え方です。

問2積層オートエンコーダを用いた事前学習では、入力層に近い層から順に1層ずつ教師なし学習を行う。

解答・解説をみる

○ 正しい

1層目を教師なし学習させ、その隠れ層の出力を次の層の入力として2層目を学習する、という手順で層ごとに積み上げていく方式です。最後に、積み上げた全体をラベル付きデータで調整する工程が続きます。

問3ReLU・バッチ正規化などの技術が発展した現在でも、深いニューラルネットワークを学習するには層ごとの事前学習を必ず行わなければならない。

解答・解説をみる

× 誤り

正しくは、ReLU・ドロップアウト・バッチ正規化・ResNetのスキップ結合などの技術発展により、層ごとの事前学習を経ずに深いネットワークを直接学習できるようになった、という関係にあります。現代の大規模言語モデルでの事前学習は、これとは異なる、大量データによる汎用知識の獲得を指します。