近年、AIの活用により、機械学習を用いることで膨大なデータの分析が可能になりました。一方、機械学習の課題として「データ量が少ない」「高品質のデータがない」と、データ準備にも課題があります。
そのような状況でも高精度な予測を行える手法が「転移学習」です。今回は、転移学習の概要やメリット・デメリットを紹介します。
転移学習とは
転移学習は、機械学習の手法の一つです。あるモデルで学習した知識を、他のモデルや別の領域の学習に適用させる技術を指します。
従来の機械学習の場合、モデルによっては「数万~数十万のデータの準備」が必要でした。また、機械学習を行う上で、データ一つひとつに対するラベル付けも欠かせません。スピーディーに機械学習を実行するため、相応のスペックを持つ計算システムも必要になります。
このように機械学習を完了させるには、時間とコストがかかります。この時間と費用のコストを少なくするため一度学習した知識を別のものに使い回すことを目的に、転移学習が利用されています。
転移学習・ファインチューニング・蒸留の違い
転移学習に関連する手法として、「ファインチューニング」と「蒸留」があります。
転移学習・ファインチューニング・蒸留は、どれも学習済みモデルを使用した機械学習という点は共通しています。この3つの手法の異なる点について、違いを見ていきましょう。
転移学習
転移学習は、既存の学習済みモデルのデータはそのままに、新たに追加したモデルのデータのみ学習する手法です。
転移学習は「解いた問題の知識を別の問題に応用」します。同じ解法を使った問題であれば、答えは違ったとしても解き方は類似するはずです。そのため知識を応用することで、別の問題を一から解く手間を省略できます。
ファインチューニング
ファインチューニングとは、学習済みモデルの一部と新たに追加したモデルの一部を活用し、微調整を行う手法です。
機械学習を進めていくと、新たに学習が必要なデータセットの量が多いケースが発生します。この時、そのまま転移学習を行うと、学習により時間がかかってしまうことがあるのです。
スピーディーに学習を進めるには、一度解いたモデルの知識を、別の問題に活用できるよう微調整する作業」が必要となります。この作業を、ファインチューニングと呼びます。モデル全体のデータを再度学習し直すことで、モデルの汎用性を高められるのです。
蒸留
蒸留は学習済みモデルを利用して、より軽量のモデルを生み出す手法です。
大きなモデルやアンサンブルモデルを教師モデルとし、学習した知識を蒸留(圧縮)して、その知識を小さなモデル(生徒モデル)の学習に利用します。一度学習したモデルの知識を、別の小さなモデルに継承するイメージです。
蒸留の手法を使うことで、大きいモデルの精度に匹敵する小さなモデルの作成が可能となります。また稀に小さいモデルが、教師モデルの精度を超えることもあります。
転移学習のメリット・デメリット
続いて、転移学習のメリットとデメリットを紹介します。転移学習を利用するメリット・デメリットは以下の通りです。
転移学習のメリット
学習時間を短縮できる
転移学習は、学習が完了したモデルに新たな学習を追加するため、学習の計算量を少なくすることができます。データをゼロから学習させる必要がないため、学習時間の短縮につなげられます。
従来の機械学習の方法では、精度を高めるためにさまざまなパターンのデータを学習する必要がありました。学習に時間がかかる上、計算システムのスペックにも影響されていまうため、スペックの低いシステムを利用すると、学習に数日間かかってしまうケースもあります。
転移学習を利用することで学習時間を短縮でき、効率的な学習が可能になります。
少ないデータでも高精度なモデルを作成できる
転移学習は、少ないデータでも高い精度のモデルを作成することが可能です。
機械学習を行うには、まずデータ収集から始めなくてはなりません。始めにデータサンプルを数万~数十万個ほど収集し、その後にデータの選別を行います。取得に失敗したデータや、許容値から大きく外れたデータは学習データとして使うことができません。高品質なデータを大量に準備することは大変難しいのです。
転移学習は、高品質なデータが大量にある領域の知識を転移することで、限られたデータのみの領域でも高精度なモデルを作成することができます。追加できるデータ量が少なくても、すでに学習済みのモデルを流用するため、高精度なモデルの作成が可能なのです。
応用範囲が広い
転移学習は、転移可能な応用範囲が広いことがメリットです。例えば画像処理の場合、「犬の識別モデル」は、同じ動物カテゴリの「猫の識別」への適用だけに留まりません。
「犬の識別モデル」を使い、家や車など別のカテゴリの物体識別に応用することができます。また画像処理、自然言語処理、音声処理など、多くの機械学習分野に転移学習の応用や適用が可能となります。そのため、転移学習を活用すれば、AI活用の幅をより一層広げられるでしょう。
転移学習のデメリット
データ間の関連性に依存する
転移学習はデータ間の関連性が低ければ学習効果が薄くなってしまいます。
学習させたいデータのドメインが転移元データのドメインと異なる場合、既存データと新たなデータの関連性が低く、転移がスムーズに進まないことがあります。この現象を「負の転移」と呼びます。
転移学習を活用する場合、「転移学習したモデル」と「転移学習しなかったモデル」の精度を比較し、負の転移が起きていないかを確認しましょう。
未知の領域には使えない
転移学習は、未知の領域の学習には有効となりりません。学習済みモデルが見つかりやすい画像認識や自然言語処理の分野以外は、転移学習の難易度が高いといえます。ニッチで未開拓な領域の場合、自力で学習済みモデルの作成が必要なため注意しましょう。
転移学習の活用例
転移学習は、実際にどのような場面で活用されているのでしょうか。ここで、転移学習の活用例を見ていきましょう。
画像認識
転移学習は、画像認識の分野で活用されています。以下は「犬の画像」と「猫の画像」の画像認識の活用例です。
あるモデルに犬と猫の画像を識別させるには、まず犬を識別させるため「犬の画像データと正解ラベルのセット」を大量に用意して学習を行います。通常の教師あり学習の場合、同様に「猫の画像データと正解ラベルのセット」も大量に必要です。
しかし転移学習を用いれば、犬の種類判別で得られた知識を、猫の種類判別モデルに適応することができます。すでにモデルが犬の視覚的な特徴を学習しているため、少量の猫の画像データを追加学習するだけで、猫の識別が可能となります。
音声認識
音声認識の分野でも転移学習は活用され始めています。近年はバーチャルキャラクターやスマートスピーカーなど、音声アプリでも利用されています。
例えば、キャラクターに自分好みの声で好きな言葉を喋らせたり、男性の声を女性の声に変換したりすることもできるのです。これらの機能は、音声認識で転移学習が活用されている事例です。
インターネット関連企業であるDeNAは、エンタメやライブ配信など、音声認識と親和性が高いジャンルで転移学習の活用方法を研究しています。
特に、音声の合成と変換を行う「音声生成技術」の研究を積極的に進めています。実際にVTuberの生放送で音声合成技術が活用されるなど、さまざまな取り組みを行っているのです。今後、音声認識の分野で転移学習がどう活用されていくかを注視すると良いでしょう。
自然言語処理
自然言語処理の分野でも、転移学習は活用されています。あるモデルに対し、英語とドイツ語の文章それぞれを日本語の文章に翻訳させる場合、まず英和翻訳を学習させるため、大量の英文と対応した和訳をセットで用意し学習を行います。
教師あり学習の場合、上記に加えてドイツ語の文章に対応した和訳を大量に用意する必要があります。しかし転移学習の場合、これらの準備をする必要がありません。
モデルがすでに英和翻訳を学習しており、その知識をドイツ語翻訳に転用できるためです。転移学習を利用すれば、少量のドイツ語のデータセットを追加するだけで、ドイツ語翻訳をスピーディーに学習することができるのです。
まとめ
機械学習には大量のデータを用い、教師あり学習をすることが理想的ですが、現実的に困難場面が多いでしょう。このような機械学習の課題を解決するため、さまざまな企業や研究機関で転移学習の研究が進んでいます。
また、すでに学習済みのモデルを流用することで、ゼロから新しく学習させるより、高い精度を出せる可能性もあることから、少量のデータしか得られない多くの場面で、転移学習の活用が期待されています。
ラベル付けの精度に関する問題など、課題が残されているのも事実です。転移学習によるスムーズなモデル流用が可能になれば、より広い分野でAIが活躍する未来が訪れることでしょう。
AIをはじめとする技術はこれからさらに発展していくと予測されているので、早い段階で基本的な活用方法を取り入れておくことが大切です。SEデザインでは、IT分野におけるBtoBマーケティング&セールス支援を行っており、30年以上の実績がございます。業務の効率化や顧客へのアプローチでお困りの際は、お気軽にSEデザインへご相談ください。