転移学習とは?ファインチューニングとの違いや活用例をご紹介
2021年06月11日(金)掲載
- キーワード:
識別・分類・予測・翻訳…など、様々なタスクに対してディープラーニング(深層学習)モデルは効果を発揮します。
学習プロセスでは大量の訓練データを用いてモデルの学習を行うのが理想的ですが、学習に最適なデータセットはいつでも入手可能とは限りません。また、新たな学習のたびに膨大な時間がかかるという問題もあります。
「転移学習」は、まさに上記の問題を解決する、データ活用において重要性の高い手法となっています。当コラムでは、リソースの制約に対し魅力的な選択肢となる、「転移学習」についてご紹介します。
転移学習とは?
転移学習とは、機械学習におけるひとつの手法です。
一般的な手法である『教師あり学習』は、あらかじめ正解を与えて学習を行うフローとなっています。しかし正解を導くために大量のデータが必要となり、かつ学習時間も膨大にかかるのが難点です。
一方で転移学習は、タスクの仮説立てを行ううえで、別のタスクですでに学習された知識を転用し、仮説立てを行わせる手法となります。大量のデータと学習にかかる時間を大幅に削減できるため、非常に効率的な手法として評価されています。
・転移学習とは、効果的な仮説を効率的に見つけ出すために、別のタスクで学習された知識を転移する機械学習の手法である。
・転移学習に学習済みモデルを転用することで、大量のデータと学習にかかる時間を削減することができる。
転移学習とファインチューニング、蒸留の違い
転移学習の関連手法には、ファインチューニングや蒸留があります。
用語は異なりますが、これらの手法に共通する点は「学習済みのモデルを再利用する」ことです。
各手法の違いをわかりやすくするために、ここでは”数学の設問を解く”プロセスに例えてみましょう。
ある設問を解くためには「たくさんの類似の設問を解いて試行錯誤を繰り返す」と優れた解法が見つかり、より速く正解に近づくことができます。
これが一般的な深層学習の原理です。
転移学習
転移学習では、「解いた設問の解法を別の設問に応用」します。
数学でも、同じ解法を使った設問であれば、答えは違っても解き方は類似するため、別の設問を一から解く手間を省く事ができます。
したがって、転移学習では既存の学習済みモデルのデータは変更せず、新たに追加したモデルのデータのみ学習します。
ファインチューニング
新たに学習するデータセットが多いケースでは、転移学習をそのまま行うとかえって時間がかかってしまう場合があります。
このような事態に対処するには「一度解いた設問の解法を、別の設問のために微調整」することが必要です。これがファインチューニングです。
ファインチューニングでは既存の学習済みモデルの一部と、新たに追加したモデルを合わせた全体の微調整を行います。こうしてモデル全体のデータを再学習することで、汎化性能をより向上させます。
蒸留
蒸留は、既に学習してあるモデルを使用し、より軽量なモデルを生み出すことです。学習済みの教師モデルの出力を生徒モデルの学習に利用します。
教師モデルから生徒モデル間の損失は「ソフトターゲットロス」と呼ばれます。また、生徒モデルの学習データの正解ラベルを「ハードターゲット」、クロスエントロピーなどの損失は「ハードターゲットロス」とそれぞれ呼ばれます。
ラベル付きデータを利用する場合はこれら2種類のターゲットロスを用い、ラベルなしのデータを利用する場合はソフトターゲットロスのみを用いて学習を行います。 蒸留は既存の高度で大きなネットワークをシンプルなネットワークに軽量化する目的で用いられます。
・転移学習では、既存の学習済みモデルのデータは変更せず、新たなモデルのデータのみ学習することができる。
・ファインチューニングは、一度解いた設問の解法を、別の設問のために微調整することが可能である。
・蒸留は、既に学習してあるモデルを使用し、より軽量なモデルを生み出すことである。
以上、転移学習やファインチューニング、蒸留との違いを解説いたしました。
転移学習のような専門的な領域では、経験・技術を持ったプロ人材の存在が欠かせません。もし転移学習でプロ人材をお探しの場合は、HiPro Bizにご相談ください。
転移学習の活用例
自然言語処理
あるネットワークモデルに英語とドイツ語の文章をそれぞれ日本語の文章に翻訳させる場合、まず英和翻訳を学習させるために大量の英文と、対応した和訳をセットで用意して学習を行います。
通常の教師あり学習の場合、さらにドイツ語の文章と対応した和訳を大量に用意する必要がありますが、転移学習であればこの必要はありません。モデルはすでに英和翻訳を学習しており、その知識をドイツ語翻訳にも転用できるからです。
結果として、少量のドイツ語のデータセットを追加するだけでドイツ語翻訳をスピーディーに学習することができます。
画像解析
あるネットワークモデルに犬と猫の画像をそれぞれ識別させる場合、まず犬を識別させるために犬の画像データと正解ラベルのセットを大量に用意して学習を行います。
通常の教師あり学習では、猫の画像データも大量に必要ですが、転移学習ではモデルはすでに犬の視覚的特徴を学習しているため、その知識を猫の識別にも転用する事ができます。
したがって、少量の猫の画像データを追加学習するだけで、猫の識別がスピーディーにできるようになります。
・転移学習の活用例には、自然言語処理や画像解析等がある。
・自然言語処理や画像解析の際、転移学習によって、既存のデータに少量のデータを追加するだけで、別のデータにも活用することが可能になる。
転移学習のメリット・デメリット
転移学習のメリット
・短時間の学習が可能
転移学習を用いると、追加されるデータに対して既存のモデルを使用できるため、新たに学習モデルを作成する手間がかからなくて済みます。
したがって、必要な訓練データが少ない場合や、訓練データが大量にあり正解ラベルがない場合にも、短時間の学習が可能になります。
・広い応用範囲
転移学習は転移可能なドメインやタスクが多く、実際の応用範囲が広いこともメリットです。
画像処理を例にとると、犬の識別モデルは同じ動物カテゴリである猫の識別に適用できるだけでなく、車や家など別のカテゴリの物体識別にも転移できます。
また、画像処理・自然言語処理・音声処理など多くの機械学習分野においても、転移学習の方法論が同様に適用できます。したがって、広義の転移学習は様々な用途に用いられます。
・精度向上・正則化効果
他にも精度の向上や過学習を抑制する、正則化をする効果があります。蒸留では生徒モデルが、稀に教師モデルに匹敵する精度や、教師モデルを超える精度を出すこともあります。
転移学習のデメリット
・データ間の関連性に依存
転移学習のデメリットとしては、データ間の関連性が低い場合に効果が薄いことが挙げられます。学習させたいデータのドメインが、転移元のデータのドメインと大きく異なる場合、思うように学習の転移が進みません。既存のデータと新たなデータの関連性が低いことで、転移がスムーズにいかない現象は「負の転移」と呼ばれます。
このため、転移学習で高い精度のモデルを作成したい場合には、学習済みモデルが使用したデータに、ある程度類似したデータを新たな学習に用いる必要があります。また、ファインチューニングによって汎化性能を向上させることも可能です。
・既知の領域にのみ有効
転移学習は未知の領域の学習に対しては有用ではありません。適当な学習済みモデルが見つかりやすい画像認識や自然言語処理などのメジャーな領域と違い、ニッチで未開拓な領域では自力で学習済みモデルを作成する必要があります。
・転移学習には、短時間の学習が可能なことや応用範囲が広いこと、正則化をする効果がある等のメリットがある。
・転移学習のデメリットとして、データ間の関連性に依存してしまうこと、既知の領域にのみ有効であることが挙げられる。
転移学習を効率的に行うためには
加速する少子高齢化による労働人口の縮小を背景に、現在様々な業界で省人化・省力化が急務となっています。慢性的な人手不足を解決する糸口となるのは、近年大きく発展しているディープラーニングの代表でもある、機械学習モデルの積極的な活用です。
機械学習の発展に伴い、現場で求められるシステムの効率化やオートメーションを担う技術は年々複雑化しています。また、大量のデータ収集やデータベース化に伴う経済的・時間的コストを削減する必要にも迫られています。これらを両立し、効率化を推進する強力な味方となるのが、今回ご紹介した転移学習の手法です。
しかしながら、転移学習のようなアドバンスな手法を実際の現場で活用するとなると、現状では難易度が高いと思われる方もいらっしゃるかもしれません。
技術を効率的に利用し、目的を最大限達成するためには、その道のスペシャリストである専門家の支援が有効です。
情報化におけるスピードの速い時代においては、大きな変化への対応が企業およびビジネスパーソンの両方に求められています。HiPro Bizでは様々な経営課題に直面してきたプロ人材が貴社の事業を支援します。
転移学習の技術をビジネスに活用したいとお考えの方、ぜひHiPro Bizにご相談ください。