SlideShare a Scribd company logo
【画像処理&機械学習】論文LT会 #5
Distilling the Knowledge in a Neural Network
(https://arxiv.org/abs/1503.02531)
2019/07/22
@kaeru_nantoka
Who are you ?
Self Introduction
・kaerururu (@kaeru_nantoka)
・機械学習エンジニア(NLP) @Stockmark.Inc
・Kaggle Master
・特に断りのない画像や図、数式については元の論文から引用してきています。
Caution
Motivation for choosing this paper
・ 業務で BERT を使う
・BERT の Fine-tune model は一つ
500MB と大容量
・重い。なんとかしたい。
(そのためのインプット)
・原著に近い(🐸調べ)
500 MB !
What is Distillation ?
・通常の softmax ではなく温度付き softmax を使う
どんなもの? どうやって有効だと検証した?
何が嬉しいの?
技術や手法のキモは?
次に読むべき論文は?
Do Deep Nets Really Need to be Deep?
[https://arxiv.org/abs/1312.6184]
・アンサンブルモデルの出力を学習に利用することで、モバイル
デバイスにデプロイできるような軽量なモデルの精度をそのまま
学習するのに比べて底上げできる。
・複数のモデルが学習した情報を単一のモデルに移せる。 MNIST、音声認識データセット、大規模データセット (Google
内部の JFT と呼ばれるデータセット) を利用。
・教師生徒の両モデルの温度付き softmax の KL divergence
loss が小さくなるように学習を進める
What is Distillation ?
data teacher model
student model
logit
logit
(ensembled)
yatta~
What is softmax with temperature? (数式)
( 数式 )
( 実装 )
What is softmax with temperature? (お気持ち)
・教師モデルが学習した情報 (どのクラスとどのクラスが間違いやすい
= softmax 値が近いなど) を活用したい。
・softmax 値を使うのでは target を使うのとあまり変わらない。
・重み ( = 温度 ) をつけて低い確率を強調し、
情報を活用しやすくする。
※ 画像は https://qiita.com/nkriskeeic/items/db3b4b5e835e63a7f243 より引用
どれくらい効果あるの?
・論文
・kaeru やってみた (kaggle freesound2019)
Conclusion
・ CV は下がる (正則化効果) が、LB は微増 (汎化性能向上) した。
・ 軽量なモデルの予測精度向上への寄与に成功した。
・ 一方で、教師モデルに近い表現力を持った生徒モデルを利用しないケ
ースでは精度は向上するものの効果は限定的であるという示唆が得られ
た。
🐸 「 BERT → 軽量モデルは難しそう・・?」
References
[1] https://arxiv.org/abs/1503.02531
[2] https://www.cs.cornell.edu/~caruana/compression.kdd06.pdf
[3] https://kaeru-nantoka.hatenablog.com (筆者 blog)
Thank you for Listening !

More Related Content

What's hot

捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)mosa siru
 
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlopsHiroaki Kudo
 
Edge Computing 「あらゆるものが考える」世界を作るのに必要な技術
Edge Computing 「あらゆるものが考える」世界を作るのに必要な技術Edge Computing 「あらゆるものが考える」世界を作るのに必要な技術
Edge Computing 「あらゆるものが考える」世界を作るのに必要な技術Takeaki Imai
 
非技術者でもわかる(?)コンピュータビジョン紹介資料
非技術者でもわかる(?)コンピュータビジョン紹介資料非技術者でもわかる(?)コンピュータビジョン紹介資料
非技術者でもわかる(?)コンピュータビジョン紹介資料Takuya Minagawa
 
2021 10-07 kdd2021読み会 uc phrase
2021 10-07 kdd2021読み会 uc phrase2021 10-07 kdd2021読み会 uc phrase
2021 10-07 kdd2021読み会 uc phraseTatsuya Shirakawa
 
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017Kazuyuki Arimatsu
 
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 Yuki Arase
 
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔Preferred Networks
 
Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...
Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...
Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...No Bu
 
AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」fukuoka.ex
 
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learningChaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learningRyo Shimizu
 
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例Yahoo!デベロッパーネットワーク
 
実社会・実環境におけるロボットの機械学習
実社会・実環境におけるロボットの機械学習実社会・実環境におけるロボットの機械学習
実社会・実環境におけるロボットの機械学習Kuniyuki Takahashi
 
実践コンピュータビジョン 9章 画像の領域分割
実践コンピュータビジョン 9章 画像の領域分割実践コンピュータビジョン 9章 画像の領域分割
実践コンピュータビジョン 9章 画像の領域分割yaju88
 

What's hot (16)

捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
 
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops
 
Edge Computing 「あらゆるものが考える」世界を作るのに必要な技術
Edge Computing 「あらゆるものが考える」世界を作るのに必要な技術Edge Computing 「あらゆるものが考える」世界を作るのに必要な技術
Edge Computing 「あらゆるものが考える」世界を作るのに必要な技術
 
非技術者でもわかる(?)コンピュータビジョン紹介資料
非技術者でもわかる(?)コンピュータビジョン紹介資料非技術者でもわかる(?)コンピュータビジョン紹介資料
非技術者でもわかる(?)コンピュータビジョン紹介資料
 
2021 10-07 kdd2021読み会 uc phrase
2021 10-07 kdd2021読み会 uc phrase2021 10-07 kdd2021読み会 uc phrase
2021 10-07 kdd2021読み会 uc phrase
 
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
TensorFlow Object Detection API を使った取り組み@つくばチャレンジ2017
 
青本勉強会2章
青本勉強会2章青本勉強会2章
青本勉強会2章
 
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」 [最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
 
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
20180115_東大医学部機能生物学セミナー_深層学習の最前線とこれから_岡野原大輔
 
Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...
Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...
Literate Computing for Infrastructure - インフラ・コード化の実践におけるIPython (Jupyter) Not...
 
AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」
 
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learningChaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
 
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例ヤフー音声認識サービスでのディープラーニングとGPU利用事例
ヤフー音声認識サービスでのディープラーニングとGPU利用事例
 
実社会・実環境におけるロボットの機械学習
実社会・実環境におけるロボットの機械学習実社会・実環境におけるロボットの機械学習
実社会・実環境におけるロボットの機械学習
 
PreadNet
PreadNetPreadNet
PreadNet
 
実践コンピュータビジョン 9章 画像の領域分割
実践コンピュータビジョン 9章 画像の領域分割実践コンピュータビジョン 9章 画像の領域分割
実践コンピュータビジョン 9章 画像の領域分割
 

Similar to Lpicel paper lt_5

Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」tokyorgirls
 
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会Takeshi Ishita
 
Kaggleのテクニック
KaggleのテクニックKaggleのテクニック
KaggleのテクニックYasunori Ozaki
 
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さんAkira Shibata
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方Yusuke Wada
 
小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話Tatsuya Yamamoto
 
ICML2013読み会 ELLA: An Efficient Lifelong Learning Algorithm
ICML2013読み会 ELLA: An Efficient Lifelong Learning AlgorithmICML2013読み会 ELLA: An Efficient Lifelong Learning Algorithm
ICML2013読み会 ELLA: An Efficient Lifelong Learning AlgorithmYuya Unno
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話y-uti
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Tatsuya Tojima
 
opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2Takuya Nishimoto
 
PGXのレスポンスとリソース消費
PGXのレスポンスとリソース消費PGXのレスポンスとリソース消費
PGXのレスポンスとリソース消費Tatsumi Akinori
 
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)Naoya Maekawa
 
総合技術特別講義講演資料2017
総合技術特別講義講演資料2017総合技術特別講義講演資料2017
総合技術特別講義講演資料2017Hironori Nakajo
 
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料tetsuro ito
 
Machine Learning, Deep Learning how to use in civic tehnology
Machine Learning, Deep Learning how to use in civic tehnologyMachine Learning, Deep Learning how to use in civic tehnology
Machine Learning, Deep Learning how to use in civic tehnologyKaz Furukawa
 
20230105_TITECH_lecture_ishizaki_public.pdf
20230105_TITECH_lecture_ishizaki_public.pdf20230105_TITECH_lecture_ishizaki_public.pdf
20230105_TITECH_lecture_ishizaki_public.pdfKazuaki Ishizaki
 
テーブルコンペと比べて分かる画像コンペ入門
テーブルコンペと比べて分かる画像コンペ入門テーブルコンペと比べて分かる画像コンペ入門
テーブルコンペと比べて分かる画像コンペ入門ShinichiroSaito
 
Agile Communities In Japan(J)
Agile Communities In Japan(J)Agile Communities In Japan(J)
Agile Communities In Japan(J)Yasui Tsutomu
 
DBエンジニアの育成法~再現可能なサイエンスとアート~
DBエンジニアの育成法~再現可能なサイエンスとアート~DBエンジニアの育成法~再現可能なサイエンスとアート~
DBエンジニアの育成法~再現可能なサイエンスとアート~Hirokazu Yatsunami
 

Similar to Lpicel paper lt_5 (20)

2018 07-23
2018 07-232018 07-23
2018 07-23
 
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
Tokyo.R女子部発表スライド「Rではじめるデータ解析の超基礎」
 
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会マルウェア分類に用いられる特徴量	 Kaggle - Malware Classification Challenge勉強会
マルウェア分類に用いられる特徴量 Kaggle - Malware Classification Challenge勉強会
 
Kaggleのテクニック
KaggleのテクニックKaggleのテクニック
Kaggleのテクニック
 
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
大規模言語モデル開発を支える分散学習技術 - 東京工業大学横田理央研究室の藤井一喜さん
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話
 
ICML2013読み会 ELLA: An Efficient Lifelong Learning Algorithm
ICML2013読み会 ELLA: An Efficient Lifelong Learning AlgorithmICML2013読み会 ELLA: An Efficient Lifelong Learning Algorithm
ICML2013読み会 ELLA: An Efficient Lifelong Learning Algorithm
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
 
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
 
opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2
 
PGXのレスポンスとリソース消費
PGXのレスポンスとリソース消費PGXのレスポンスとリソース消費
PGXのレスポンスとリソース消費
 
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
組込みだからこそアジャイルやろうよ! (JASA中部セミナー20131004)
 
総合技術特別講義講演資料2017
総合技術特別講義講演資料2017総合技術特別講義講演資料2017
総合技術特別講義講演資料2017
 
集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料集合知プログラミング勉強会キックオフMTG LT用資料
集合知プログラミング勉強会キックオフMTG LT用資料
 
Machine Learning, Deep Learning how to use in civic tehnology
Machine Learning, Deep Learning how to use in civic tehnologyMachine Learning, Deep Learning how to use in civic tehnology
Machine Learning, Deep Learning how to use in civic tehnology
 
20230105_TITECH_lecture_ishizaki_public.pdf
20230105_TITECH_lecture_ishizaki_public.pdf20230105_TITECH_lecture_ishizaki_public.pdf
20230105_TITECH_lecture_ishizaki_public.pdf
 
テーブルコンペと比べて分かる画像コンペ入門
テーブルコンペと比べて分かる画像コンペ入門テーブルコンペと比べて分かる画像コンペ入門
テーブルコンペと比べて分かる画像コンペ入門
 
Agile Communities In Japan(J)
Agile Communities In Japan(J)Agile Communities In Japan(J)
Agile Communities In Japan(J)
 
DBエンジニアの育成法~再現可能なサイエンスとアート~
DBエンジニアの育成法~再現可能なサイエンスとアート~DBエンジニアの育成法~再現可能なサイエンスとアート~
DBエンジニアの育成法~再現可能なサイエンスとアート~
 

Lpicel paper lt_5

Editor's Notes

  1. kaerururu という HN でツイッターやっています。 Stockmark という会社で NLPエンジニアとして、自社サービス(B2B向けのチーム利用を想定したニュースキュレーションサービス, 経営戦略策定のための情報収集をサポートするツール) の機能としての自然言語処理の技術の調査及び modeling, 実装までやっています。 Kaggle が好きでよくやってます。 単独 LT 初なので緊張してますが、よろしくお願いいたします。
  2. この論文を選んだモチベーションなのですが、業務で BERT を使っていて、BERT 重くね? もう少し軽ければ色々できるのに。 といった話題が上がり、どうにか model を軽くしつつも精度をある程度保てる方法はないかと思って見つけたものです。 2015年と少し古いですが、最近書かれた (といっても1, 2年前だが、) 企業ブログや 2017年にでた少し発展した論文でも引用されておりまず読んでみようと思った。 また初の論文 LT ということで論文の 「解釈」がネットに落ちている方が発表するにあたって予習に良いと思ったという理由も。
  3. 図示するとこんな感じになります。 複数の教師モデルの出力を生徒モデルの学習に利用している点が一目でわかります。 スマホを持った方が喜んでますね。モデルが軽量なのでモバイルデバイスにも乗ります。
  4. 数式はこのような感じになります。 実装では、softmax 関数に渡す x を温度パラメータ temperature で割った値に変えるだけなのでシンプルです。
  5. 分類問題を解くとき model の出力に softmax 関数をかまして最終的な予測確率を得ます。 softmax 値を生徒モデルの訓練に使用するのはあまり意味がないとされています。なぜなら、softmax 値だと GrandTruth から遠い確率に対して限りなく 0に近い値が割り振られてしまい、target をそのまま使うのとあまり変わらないからです。 そこで低い確率に対して重みをつけて強調し、教師モデルが学習した「差異」のような情報を活用しやすくしよう というのが、温度付き softmax 関数の考え方です。
  6. 上が論文の引用で、下が私が先に参加していた kaggle の freesound コンペで金メダルを獲得したアンサンブルモデルをコンペの初期に公開され baseline となったシンプルな CNN に蒸留を試みた結果の図です。 A アンサンブル (InceptionV3 * 2), B CNN そのまま, C CNN 蒸留あり 両方の結果に共通しているのは 汎化性能の向上(LB)と検証データ利用時の精度減(CV)です。 CV が下がっているのは、蒸留によってある種の正則化効果が働くためだと論文中で述べられています。 私の検証では教師モデルの精度に対して、生徒モデルの伸び具合がイマイチパッとしません。これについて私は、教師モデルの精度に生徒モデルの精度が近づくのではなく、生徒モデルのポテンシャル内で精度の底上げに寄与するのではないかと考察しています。