人間はあることを勉強していて得た知識を別の分野で応用することが出来ますよね。これはある事象に対する事前知識があるというように考えることができます。機械学習の分野でこの事前知識を用いて、より効率的にモデルを学習させることを一般に転移学習と呼びます。本記事ではその転移学習がどういったものかや、その活用の可能性について解説していきましょう。Learning(トランスファーラーニング)から由来していますが、Fine-Tuning(ファインチューニング)のことも転移学習と呼ぶことが多いように思われます。本記事ではTransfer-LearningとFine-Tuningの両方の違いについても解説していきましょう。転移学習の成功例まとめ転移学習とは転移学習(Transfer-Learning)とはあるタスクで学習を行なったモデルを、別のタスクで再利用する手法全般のことを指します。転移学習が最もよく使われる例は畳み込みニューラルネットワークで、ImageNetという1000クラスの被写体からなる画像で学習したモデルを利用し、犬と猫を識別するようなモデルを構築するなどが挙げられます。Transfer-LearningとFine-Tuningの違い続いて、Transfer-LearningとFine-Tuningの違いについて整理していきましょう。事前に学習を行なったモデルを利用して、別のモデルや新たに付け加えた層のみを学習させるような場合をTransfer-Learningと呼びます。ポイントは事前に学習を行なったモデル自体は再学習を行わないという点にあります。あるモデルが学習した情報を受け取り(Transferして)、新たに付け加えた部分のみを学習するため、Transfer-Learningというんですね。Fine-Tuningは事前に学習したモデルの重みなどを利用して、事前学習した部分も含めてモデルの全体を学習し直す手法のことをいいます。事前に獲得した情報を元に、全体を新たなタスクに対して適応させていく(Tuningする)ため、Fine-Tuningと呼ばれています。先ほどのメモでも述べましたが、Transfer-LearningとFine-Tuningはあまり厳密に使い分けられていないようにも思われますので、利用される文脈に応じて適宜内容を理解することが重要になるかもしれません。転移学習による恩恵を箇条書きでまとめてみます。新たなタスクを解く際に、学習するべきパラメータが少なくなる少量しかないデータセットでも上手く学習が行えるようになる事前学習していないモデルを学習するのと比較し、学習が収束するまでの時間が短くなるこれらの項目はそれぞれ独立なものではなく、「学習するべきパラメータが少ないため、学習時間が短くなる」、「少量のデータに対しても、学習対象となるパラメータ数が少ないため学習が上手く進みやすい」というように同じ理由から生じている現象といえます。転移学習は研究の世界だけでなく、産業界においても大きな成功を納めています。自然言語処理モデルで有名なモデルにBERTがありますよね。BERTは、複数のタスクを解くことで様々なタスクで転移学習で汎用的に利用できるようになりました。このモデルはGoogle検索を筆頭に様々な分野で利用されています。before(英語)画像認識の分野では先ほども述べたとおりImageNetで事前学習されたモデルが広く利用されており、TensorFlowやPyTorchなどの深層学習フレームワークでは簡単に関数から学習済みモデルを呼び出すことができます。画像認識モデルではFine-Tuningされていないモデルはほとんどないと言っても差し支えないでしょう。あらゆるタスクで転移学習が用いられます。まとめ最後に転移学習について重要な点をまとめましょう。転移学習は主に英語のTransfer-Learningに由来し、Fine-Tuningのことを表す場合もある事前に学習した情報を転用し、効率的に新たなタスクの学習を行える現在流行しているBERTなどの自然言語処理のモデルは、いかに汎用的に転移学習で利用できるかに着目して研究が進められている以上、ご覧いただきありがとうございました。機械学習にすぐに使える!時系列データとその分析方法とは2021.10.302021.10.30人気記事ランキング人気記事は見つかりませんでした。検索トップタイトルとURLをコピーしました。