SlideShare a Scribd company logo
1 of 13
Download to read offline
Design Pattern 13: Transfer Learning
Seki @tmhssk1
Machine Learning Design Patterns 読書会 #3
2021/4/27
Problem
特定の⽬的に応じた予測モデルを学習するには、⾮常に⼤きなデータセットが必要だが、必ずしも膨⼤な量の学習データが準備で
きるわけではない。
例えば画像分類で⾼い予測性能を得るためには、⼀般的には何⼗万枚もの画像が必要になる。
ImageNetには1,400万枚以上のラベル付き画像があるが、特定の⽬的に沿った同規模の量のラベルつきデータを集める
のは通常困難である。
Solution
Transfer Learning
同じタイプ(画像、⾃然⾔語などのタイプ)のデータを使って同様のタスク(画像分類、物体検出などのタスク)で学習されたモ
デルを、独⾃のデータを使って⽬的とするタスクに適⽤する。
レントゲン写真で⾻折を診断する⼆値分類器を作るとして、⾻折している画像としていない画像、それぞれ200
枚ずつしかないとしても、転移学習が可能。
レントゲン写真、または類似する画像で学習されたモデルを利⽤するのが理想だが、類似した画像でなくとも予測
タスク(この場合は画像分類)が同じであれば転移学習が可能。
例︓レントゲン写真で⾻折を診断するモデルを作りたい
Solution
Transfer Learning
多くの深層学習モデルでは、最終層に予測タスクに固有の分類ラベルや出⼒が設計されている。
転移学習ではこの層を取り除き、モデルの学習した重みを固定し、最終層を予測タスクに特化した出⼒に置き換えて学習を
追加する。
⼀般的には、モデルの出⼒層の前の層をボトルネック層として選択する。
Input Layer
Output Layer
Bottleneck Layer
Frozen Layers Top
Solution
Bottleneck layer
ボトルネック層は⼊⼒を最も低い次元の空間で表現する層である。概念的にエンベッディングと似ており、例えばオートエンコーダで
はボトルネック層がエンベッディングとなる。
ImageNetデータセットで事前に学習されたVGG19モデルを⼤腸組織のデータセットを使ってモデルを構築し、組織画像を8つのカテゴリーのいずれかに分類するモデル
を作成する例を取り上げる。
ボトルネックとなる層はblock5_pool層であり、モデル読み込み時にinclude_top=Falseを設定することでボトルネック層より出⼒に近い層が除かれて読み込まれる。
エンベッディング層の重みは学習できるのに対し、ボトルネック層までのすべての層は重みが固定されている点が異なる。
VGG19のデフォルトの⼊⼒サイズは(None, 224, 224, 3)であるが、
モデルのロード時に利⽤するデータセットの画像のサイズを考慮して
input_shape=((150,150,3))を設定したためにblock5_pool層
のサイズが(None,7,7,512)だったのに対し、(None,4,4,512)に
なっている。
include_top=True include_top=False
Solution
Implementing transfer learning
KerasでTransfer learningを実装するには、以下の2つの⽅法がある。
①事前に学習されたモデルをロードし、ボトルネック以降のレイヤーを削除し、⽬的に沿った新しい最終層を追加する
②事前に学習されたTensorFlow HubモジュールをTransfer learningの基盤として使⽤する
①事前に学習されたモデルを⾃分でロードして使⽤する
ボトルネック層の出⼒を⽤いるために、いくつかのレイヤーを定義する。また、最終
的に8要素のソフトマックス配列となるようにレイヤーを定義する。
Sequential APIを⽤いて定義した層を重ねてモデルを構築する。
学習可能なパラメータは、ボトルネック層以降のパラメータだけとなっていることに
注意する。このモデルでは、ボトルネック層はVGGモデルの特徴ベクトルであり、こ
のモデルをコンパイルして⽬的のデータセットを使ってトレーニングを⾏う。
Solution
Pre-trained embeddings
②TensorFlow Hubモジュールを利⽤する
映画のレビューを肯定的なものと否定的なものに分類するモデルを構築する例
https://www.tensorflow.org/hub
⼤規模なニュース記事のデータのコーパスで事前にトレーニングされた埋め込みモデルをロー
ドする。
レイヤーを追加して⽬的に沿ってモデルアーキテクチャを構築する。
Why It Works
⼈間が学習するフローのように、すでに獲得した学習⽅法を異なる領域に適
⽤するのが、Transfer learningのおおよその仕組みである。
Zeiler M.D., Fergus R. (2014) Visualizing and Understanding Convolutional Networks. In: Fleet D., Pajdla T.,
Schiele B., Tuytelaars T. (eds) Computer Vision – ECCV 2014. ECCV 2014. Lecture Notes in Computer
Science, vol 8689. Springer, Cham. https://doi.org/10.1007/978-3-319-10590-1_53
CNNを分解して視覚的に解析した研究例では、レイヤー1、2ではエッジの
みを認識し、レイヤー3ではオブジェクトを認識し始め、レイヤー4、5では画像
全体の中のフォーカルポイントを認識していることがわかる。
Transfer learningでは、学習によって得られたこの⼀連の過程を、異なる
特徴を有するグループに適⽤することになる。
Trade-Off and Alternatives
Fine-tuning versus feature extraction
Feature extractionは、ボトルネック層以前のすべての層の重みを固定し、後続の層を⽬的に沿ったものに変更して学習させる
Transfer learningのアプローチである。
Fine-tuningでは、事前に学習したモデルの各層の重みを全てまたはボ
トルネック層より前の層を選択して更新する。
Fine-tuningを⾏う際には、モデルの初期層の重みをそのままにしておく
のが⼀般的である。これらの層は、多くの種類の画像に共通する基本的
な特徴を認識するように訓練されている層だからである。
パラメータを固定する層を決定するために、低い学習率で反復的に学習を繰り返すたびにパラメータの固定を出⼒に近い層から段
階的に解除していき、Lossの減少が得られなくなるまでこれを繰り返す。
Progressive Fine-tuning
MobileNetモデルで100層よりも出⼒に近い層のみをFine-tuningする例。
Trade-Off and Alternatives
Fine-tuning versus feature extraction
⼀般的に、データセットが⼩さい場合(数百から数千)は、Fine-tuningを⾏うよりも、事前に学習したモデルを特徴抽出器と
して使⽤する⽅が良い。
膨⼤なデータで訓練されたモデルの重みを再訓練する場合、Fine-tuningを⾏うと、更新されたモデルが⼩さなデータセットに
過剰に適合し、すでに獲得していたより⼀般的な情報が失われてしまう。
予測タスクが類似している場合はFine-tuningを⾏うことでより⾼い性能が得られるが、タスクが異なる場合やデータセットが⼤
きく異なる場合は、Fine-tuningをせずに事前にトレーニングしたモデルのすべてのレイヤーを固定する⽅が良い。
Criterion Fine-tuning
Feature extraction
予測タスクは事前に学習し
たモデルと同じか?
学習時間と計算コスト
データセットの規模は︖ ⼩さい ⼤きい
異なる 同じまたは類似
低い ⾼い
Trade-Off and Alternatives
Focus on image and text models
画 像 ま た は ⾃ 然 ⾔ 語 以 外 で は 、 表 形 式 デ ー タ に お け る
TabNet(https://arxiv.org/pdf/1908.07442.pdf) が 注 ⽬
されている。
Transfer learningは同じデータ領域で類似するタスクを適⽤でき
るケースを対象としているため、画像や⾃然⾔語での適⽤例が多い。
TabNetでは、まず教師なし学習によって表形式の特徴の表現を
学習し、次にその学習した表現を使ってFine-tuningして予測を
⾏うという⼿法を採⽤している。
https://github.com/google-research/google-research/tree/master/tabnet
Trade-Off and Alternatives
Embeddings of words versus sentences
Text embeddingにおいて、教師付き学習モデルを⼤規模なコーパスで学習させて埋め込みを⽣成する⽅法はTransfer
learningの⼀種である。
上記の⼿法は、GoogleのUniversal Sentence Encoder(TF Hubで利⽤可能)やBERTが採⽤している⽅法である。
どんなメリットがある︖ どうやって解決する︖
どんなときに使う︖ ドレードオフや関連⼿法はある︖
• ⼩さな学習データセットで⽬的とするモデルを作成できる
可能性がある
• 学習データ量が少ない • 関連⼿法︓TabNet
• 関連⼿法︓Text Embedding
Design Pattern 13: Transfer Learning
• 同タイプのデータ、同様のタスクで学習されたモデルを、
独⾃のデータを使って⽬的とするタスクに適⽤する
• Feature Extraction
• Fine-tuning

More Related Content

Similar to Machine learning design pattern transfer learning

Opencv object detection_takmin
Opencv object detection_takminOpencv object detection_takmin
Opencv object detection_takminTakuya Minagawa
 
ae-10. 中間まとめ(ディープラーニング)
ae-10. 中間まとめ(ディープラーニング)ae-10. 中間まとめ(ディープラーニング)
ae-10. 中間まとめ(ディープラーニング)kunihikokaneko1
 
大規模画像認識とその周辺
大規模画像認識とその周辺大規模画像認識とその周辺
大規模画像認識とその周辺n_hidekey
 
CVPR2016 reading - 特徴量学習とクロスモーダル転移について
CVPR2016 reading - 特徴量学習とクロスモーダル転移についてCVPR2016 reading - 特徴量学習とクロスモーダル転移について
CVPR2016 reading - 特徴量学習とクロスモーダル転移についてAkisato Kimura
 
ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎kunihikokaneko1
 
関西CVPRML勉強会 2012.2.18 (一般物体認識 - データセット)
関西CVPRML勉強会 2012.2.18 (一般物体認識 - データセット)関西CVPRML勉強会 2012.2.18 (一般物体認識 - データセット)
関西CVPRML勉強会 2012.2.18 (一般物体認識 - データセット)Akisato Kimura
 
Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Taiga Nomi
 
[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況Deep Learning JP
 

Similar to Machine learning design pattern transfer learning (10)

Opencv object detection_takmin
Opencv object detection_takminOpencv object detection_takmin
Opencv object detection_takmin
 
ae-10. 中間まとめ(ディープラーニング)
ae-10. 中間まとめ(ディープラーニング)ae-10. 中間まとめ(ディープラーニング)
ae-10. 中間まとめ(ディープラーニング)
 
画像処理応用
画像処理応用画像処理応用
画像処理応用
 
大規模画像認識とその周辺
大規模画像認識とその周辺大規模画像認識とその周辺
大規模画像認識とその周辺
 
CVPR2016 reading - 特徴量学習とクロスモーダル転移について
CVPR2016 reading - 特徴量学習とクロスモーダル転移についてCVPR2016 reading - 特徴量学習とクロスモーダル転移について
CVPR2016 reading - 特徴量学習とクロスモーダル転移について
 
ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎ae-3. ディープラーニングの基礎
ae-3. ディープラーニングの基礎
 
関西CVPRML勉強会 2012.2.18 (一般物体認識 - データセット)
関西CVPRML勉強会 2012.2.18 (一般物体認識 - データセット)関西CVPRML勉強会 2012.2.18 (一般物体認識 - データセット)
関西CVPRML勉強会 2012.2.18 (一般物体認識 - データセット)
 
2018/6/26 deep learning Neural Network Console hands-on
2018/6/26 deep learning Neural Network Console hands-on2018/6/26 deep learning Neural Network Console hands-on
2018/6/26 deep learning Neural Network Console hands-on
 
Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷
 
[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況[DL輪読会]画像を使ったSim2Realの現況
[DL輪読会]画像を使ったSim2Realの現況
 

More from Tomohisa Seki

Design pattern 30 - fairness lens
Design pattern 30 - fairness lens Design pattern 30 - fairness lens
Design pattern 30 - fairness lens Tomohisa Seki
 
Design pattern 22 repeatable splitting
Design pattern 22  repeatable splitting Design pattern 22  repeatable splitting
Design pattern 22 repeatable splitting Tomohisa Seki
 
Design pattern 18 continued model evaluation
Design pattern 18  continued model evaluation Design pattern 18  continued model evaluation
Design pattern 18 continued model evaluation Tomohisa Seki
 
Machine learning design pattern ensambles
Machine learning design pattern ensamblesMachine learning design pattern ensambles
Machine learning design pattern ensamblesTomohisa Seki
 
Machine learning design pattern hashed feature
Machine learning design pattern hashed featureMachine learning design pattern hashed feature
Machine learning design pattern hashed featureTomohisa Seki
 
20200420 lime skype_
20200420 lime skype_20200420 lime skype_
20200420 lime skype_Tomohisa Seki
 
20191011 lt at_lpixel
20191011 lt at_lpixel20191011 lt at_lpixel
20191011 lt at_lpixelTomohisa Seki
 
20190704 lt at_lpixel
20190704 lt at_lpixel20190704 lt at_lpixel
20190704 lt at_lpixelTomohisa Seki
 
20190508 journalclub adversarial_examples
20190508 journalclub adversarial_examples20190508 journalclub adversarial_examples
20190508 journalclub adversarial_examplesTomohisa Seki
 
20190213 rl healthcare_guideline
20190213 rl healthcare_guideline20190213 rl healthcare_guideline
20190213 rl healthcare_guidelineTomohisa Seki
 
20190123_Journal Club16_Xception
20190123_Journal Club16_Xception20190123_Journal Club16_Xception
20190123_Journal Club16_XceptionTomohisa Seki
 

More from Tomohisa Seki (12)

Design pattern 30 - fairness lens
Design pattern 30 - fairness lens Design pattern 30 - fairness lens
Design pattern 30 - fairness lens
 
Design pattern 22 repeatable splitting
Design pattern 22  repeatable splitting Design pattern 22  repeatable splitting
Design pattern 22 repeatable splitting
 
Design pattern 18 continued model evaluation
Design pattern 18  continued model evaluation Design pattern 18  continued model evaluation
Design pattern 18 continued model evaluation
 
Machine learning design pattern ensambles
Machine learning design pattern ensamblesMachine learning design pattern ensambles
Machine learning design pattern ensambles
 
Machine learning design pattern hashed feature
Machine learning design pattern hashed featureMachine learning design pattern hashed feature
Machine learning design pattern hashed feature
 
20200420 lime skype_
20200420 lime skype_20200420 lime skype_
20200420 lime skype_
 
20191011 lt at_lpixel
20191011 lt at_lpixel20191011 lt at_lpixel
20191011 lt at_lpixel
 
20190704 lt at_lpixel
20190704 lt at_lpixel20190704 lt at_lpixel
20190704 lt at_lpixel
 
20190509_KERP
20190509_KERP20190509_KERP
20190509_KERP
 
20190508 journalclub adversarial_examples
20190508 journalclub adversarial_examples20190508 journalclub adversarial_examples
20190508 journalclub adversarial_examples
 
20190213 rl healthcare_guideline
20190213 rl healthcare_guideline20190213 rl healthcare_guideline
20190213 rl healthcare_guideline
 
20190123_Journal Club16_Xception
20190123_Journal Club16_Xception20190123_Journal Club16_Xception
20190123_Journal Club16_Xception
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

Machine learning design pattern transfer learning