Copyright © 2017 TIS Inc. All rights reserved.
Deep Learningの世界に飛び込む前の命綱
戦略技術センター
嘉村準弥
Copyright © 2017 TIS Inc. All rights reserved. 2
 自己紹介
 本日のテーマ
 取り組むタスク
 既存の機械学習手法(Naive Bayes)
 Deep Learning(LSTM)
 パラメータチューニング
 おわりに
目次
Copyright © 2017 TIS Inc. All rights reserved. 3
嘉村準弥
TIS株式会社
戦略技術センター
 旅行会社Webアプリ開発の要件定義~開発~保守運用に従事
 システム開発の現場をこれまで用いてこなかった技術によって改善し
たいとの思いから戦略技術センターへ異動
 現在は機械学習や自然言語処理についての研究を行いながら、プロト
タイプの開発を行う
自己紹介
今一番気になってる書籍です→
kamujun
@kamujun18
Copyright © 2017 TIS Inc. All rights reserved. 4
所属するチームのミッション
chakki
すべての人が、ティータイムに帰れるようにする
すべての人が、ティータイム(15:00)に帰れる(茶帰)
社会の実現を目指します。
この実現には、既存の仕事を効率化するのでなく、
根本的に「仕事の仕方」を変える必要があります。
しかし、慣れた仕事の仕方というのは簡単には変わ
りません。だからこそ、実際に「体験」をし、効果
を「実感」してもらうことが重要になります。
そのため、私たちは先進的技術を用い、仕事の仕方
が変わる体験を提供していきます。
Copyright © 2017 TIS Inc. All rights reserved. 5
chakki
 まずは自分たち(システム開発者)が帰れるように
 自然言語処理/機械学習を活用する
Elephant Sense
「質の高い」文章を検索するための試み。ビュー数やいい
ね数だけでなく、コンテンツの品質の評価も行う。
karura
業務に機械学習をさくっと組み込むための試み。
kintone/Slackのプラグインとなり、予測したい項目/予
測に使う項目の指定のみでモデルを自動作成する。
chazutsu NEW!
自然言語で使うデータを簡単に手に入れるための仕組み。
データのダウンロードからpandasまでを一行で。
Copyright © 2017 TIS Inc. All rights reserved. 6Copyright © 2016 TIS Inc. All rights reserved. 22
論文輪講を行っています。
論文のまとめ情報は、以下リポジトリで公開しています。
https://github.com/arXivTimes/arXivTimes
もちろん、まとめの投稿
もお待ちしています。
chakki
Copyright © 2017 TIS Inc. All rights reserved. 7
本日の発表では、
Deep Learning適用前に命綱(=既存の機械学習)を用意しておく有効性
を紹介します。
Deep Learningと他の手法の性能について、同一の問題に適用することに
より比較を行いました。
その中で、Deep Learningを用いるのは既存の機械学習手法で試した後が
良いのではないかと感じました。
これからDeep Learningに携わるエンジニアの方や、導入を検討している
方の参考になればと思います。
本日のテーマ
Copyright © 2017 TIS Inc. All rights reserved. 8
 自己紹介
 本日のテーマ
 取り組むタスク
 既存の機械学習手法(Naive Bayes)
 Deep Learning(LSTM)
 パラメータチューニング
 おわりに
目次
Copyright © 2017 TIS Inc. All rights reserved. 9
 評判分析
文書が肯定的か否定的かを推定する極性判定を行いました。
公開データセットであるIMDB(映画レビューデータ)を対象とします。
 取り組み方針
既存の機械学習(非ニューラルネット)による検証ののち、Deep
Learningに取り組む
→しっかりと基礎を踏まえながら挑戦する
取り組むタスク(1/2)
データ数
訓練データ 25,000件 (肯定:否定=1:1)
テストデータ 25,000件 (肯定:否定=1:1)
文書中平均単語数 231単語
単語種類総数 392,000単語
Copyright © 2017 TIS Inc. All rights reserved. 10
 自己紹介
 本日のテーマ
 取り組むタスク
 既存の機械学習手法(Naive Bayes)
 Deep Learning(LSTM)
 パラメータチューニング
 おわりに
目次
Copyright © 2017 TIS Inc. All rights reserved. 11
 手法
Naive Bayes
 利用理由
分類問題のベースラインとして多く用いられているため。シンプルな
手法であるものの、一定の性能が出ることが知られています。
既存の機械学習手法(1/5)
否定肯定
学習
Naive
Bayes
肯定
A B C D E F
否定
A B C D E F
肯定と否定それぞれの
文書と単語の
出現確率を学習
推定
学習結果から
文書のカテゴリを推定
?
A B C D E F
Copyright © 2017 TIS Inc. All rights reserved. 12
 ベースライン手法の性能に関する論文
Baselines and Bigrams: Simple, Good Sentiment and Topic Classification
[Sida Wang and Christopher D. Manning, 2012]
既存の機械学習手法(2/5)
Naive BayesやSVMなどの手法で
感情分析の性能比較を行った研究。
7種類の文書データセットを用いる。
パラメータ設定や特徴設定によっ
ては、最先端手法(state-of-the-
art)と同等のパフォーマンスを示
すことができることを示す。
Copyright © 2017 TIS Inc. All rights reserved. 13
 ベースライン手法の性能に関する論文
IMDBのデータセットにおいてNaive Bayesを用いたところ、
accuracy(正解率)は86.59%を示すことができている。
既存の機械学習手法(3/5)
※補足(発表者追記)
MNB=Multinomial Naive Bayes
SVM=Support Vector Machine
NBSVM=SVM with NB features
uni =unigram
bi =bigram
※
Baselines and Bigrams: Simple, Good Sentiment and Topic Classification
[Sida Wang and Christopher D. Manning, 2012]
Copyright © 2017 TIS Inc. All rights reserved. 14
 実装
scikit-learnを用いて実装を行いました。論文を参考に、文章の特徴を
Bag of BigramsとしてNaive Bayesを実装。
既存の機械学習手法(4/5)
I
thislike
movie
I like
this movie
like this
Bag of Words Bag of Bigrams
don’t
例 : I like this movie
Copyright © 2017 TIS Inc. All rights reserved. 15
 結果
正解率(accuracy)において、論文と同等の性能を示すことができた。
既存の機械学習手法(5/5)
accuracy 87.9
precision recall f1-score support
positive 0.85 0.91 0.88 12500
negative 0.91 0.84 0.87 12500
avg/total 0.88 0.88 0.88 25000
出た!!
いいやん!
 自己紹介
 本日のテーマ
 取り組むタスク
 既存の機械学習手法(Naive Bayes)
 Deep Learning(LSTM)
 パラメータチューニング
 おわりに
目次
Copyright © 2017 TIS Inc. All rights reserved. 18
 手法
LSTM(Long short-term memory)
 利用理由
文章(単語の連続)のような不定長な連続データについて、勾配消失・発
散問題を軽減して学習することができるため。
Deep Learning(1/3)
http://deeplearning.net/tutorial/lstm.html
Copyright © 2017 TIS Inc. All rights reserved. 19
 実装
Keras(バックエンドはTensorflow)を用いた。フレームワークに含まれ
るサンプルコードをベースに実装。
 結果
accuracyにおいてNaive Bayesに及ばず。
Deep Learning(2/3)
accuracy 80.8
Naive Bayesと同程度は示せると思っていたのに。
初めて実装したけどこんなものなの…?
LSTM Naive Bayes
accuracy 87.9
Copyright © 2017 TIS Inc. All rights reserved. 20
 なぜ性能が悪いのか?
Accuracyやlossをプロットしたところ、過学習が発生していた。
Deep Learning(3/3)
訓練データに対する損失は減少しているが、
テストデータに対する損失が減少しない
テストデータに対する
正解率が増加しない
出た!!
これが噂の過学習や!
Copyright © 2017 TIS Inc. All rights reserved. 22
 自己紹介
 本日のテーマ
 取り組むタスク
 既存の機械学習手法(Naive Bayes)
 Deep Learning(LSTM)
 パラメータチューニング
 おわりに
目次
Copyright © 2017 TIS Inc. All rights reserved. 23
 LSTMにおける過学習の解決手段
 データを増やす
 次元を減らす
 正則化項を用いる
 ドロップアウトを用いる
 早期打ち切り(early stopping)を行う
 モデルを変更する
などなど…
パラメータチューニング(1/5)
今回はパラメータチューニングを行おう。
腕の見せ所だ!
Copyright © 2017 TIS Inc. All rights reserved. 24
 調整を重ねても思うように性能が上がらない
 ドロップアウトを調整
 L2正則化を利用
 次元を削減
この他数多く実施。
→行った計算時間は 30時間 以上…
パラメータチューニング(2/5)
accuracy 80.6(-0.2)
accuracy 78.8(-2.0)
accuracy 81.7(+0.9)
※カッコ内はチューニング前との差
出ない…
こんなはずでは…
Copyright © 2017 TIS Inc. All rights reserved. 27
 他の実装のパラメータなどを参考に性能は上がった
パラメータチューニング(3/4)
accuracy 84.7
パラメータ 設定値
単語種類数 10,000
入力単語数 100
ドロップアウト 0.8
エポック数 14
性能が上がってホッとした。が、なぜこのパラメータが良い
のか?そんなものなのか?
しかもNaive Bayesに負けてるし、労力に見合っていない…
Deep Learningの沼にはまった…
Copyright © 2017 TIS Inc. All rights reserved. 28
 実施後調査
もちろんLSTMでもチューニング次第で性能が出る
パラメータチューニング(4/5)
Sentiment Analysis with Deeply Learned Distributed Representations of Variable Length Texts
[James Hong and Michael Fang , 2015]
Copyright © 2017 TIS Inc. All rights reserved. 29
 振り返り
 ベースラインに近づけるのも難しかった
現状の知識ではDeep Learningを既存の機械学習に匹敵させるのも
難しかった。すぐに性能が出る(正答率90%弱位)と思い込んでいた
がその通りにはならなかった。
 延々とパラメータ調整に取り組むことの危険性
真っ先にDeep Learningを用いていたらずっと調整を繰り返してい
たかもしれない。既存の機械学習手法の結果があれば客観的に取り
組み方を見直す事ができる。
パラメータチューニング(5/5)
Copyright © 2017 TIS Inc. All rights reserved. 30
 自己紹介
 本日のテーマ
 取り組むタスク
 既存の機械学習手法(Naive Bayes)
 Deep Learning(LSTM)
 パラメータチューニング
 おわりに
目次
Copyright © 2017 TIS Inc. All rights reserved. 31
 今回の取り組みを通じて、自然言語処理においては他の手法を差し置
いて真っ先にDeep Learningの世界に飛び込むのは得策でないと感じ
た。 Deep Learningを用いる際には以下があると良い。
 性能向上をどこまで行うかの目安
 うまくいかないときの保険・代替案
おわりに
既存の機械学習手法でベースラインを用意しておく!
命綱を用意して、いざDeep Learningの世界へ!
ご清聴ありがとうございました

Deep learningの世界に飛び込む前の命綱

  • 1.
    Copyright © 2017TIS Inc. All rights reserved. Deep Learningの世界に飛び込む前の命綱 戦略技術センター 嘉村準弥
  • 2.
    Copyright © 2017TIS Inc. All rights reserved. 2  自己紹介  本日のテーマ  取り組むタスク  既存の機械学習手法(Naive Bayes)  Deep Learning(LSTM)  パラメータチューニング  おわりに 目次
  • 3.
    Copyright © 2017TIS Inc. All rights reserved. 3 嘉村準弥 TIS株式会社 戦略技術センター  旅行会社Webアプリ開発の要件定義~開発~保守運用に従事  システム開発の現場をこれまで用いてこなかった技術によって改善し たいとの思いから戦略技術センターへ異動  現在は機械学習や自然言語処理についての研究を行いながら、プロト タイプの開発を行う 自己紹介 今一番気になってる書籍です→ kamujun @kamujun18
  • 4.
    Copyright © 2017TIS Inc. All rights reserved. 4 所属するチームのミッション chakki すべての人が、ティータイムに帰れるようにする すべての人が、ティータイム(15:00)に帰れる(茶帰) 社会の実現を目指します。 この実現には、既存の仕事を効率化するのでなく、 根本的に「仕事の仕方」を変える必要があります。 しかし、慣れた仕事の仕方というのは簡単には変わ りません。だからこそ、実際に「体験」をし、効果 を「実感」してもらうことが重要になります。 そのため、私たちは先進的技術を用い、仕事の仕方 が変わる体験を提供していきます。
  • 5.
    Copyright © 2017TIS Inc. All rights reserved. 5 chakki  まずは自分たち(システム開発者)が帰れるように  自然言語処理/機械学習を活用する Elephant Sense 「質の高い」文章を検索するための試み。ビュー数やいい ね数だけでなく、コンテンツの品質の評価も行う。 karura 業務に機械学習をさくっと組み込むための試み。 kintone/Slackのプラグインとなり、予測したい項目/予 測に使う項目の指定のみでモデルを自動作成する。 chazutsu NEW! 自然言語で使うデータを簡単に手に入れるための仕組み。 データのダウンロードからpandasまでを一行で。
  • 6.
    Copyright © 2017TIS Inc. All rights reserved. 6Copyright © 2016 TIS Inc. All rights reserved. 22 論文輪講を行っています。 論文のまとめ情報は、以下リポジトリで公開しています。 https://github.com/arXivTimes/arXivTimes もちろん、まとめの投稿 もお待ちしています。 chakki
  • 7.
    Copyright © 2017TIS Inc. All rights reserved. 7 本日の発表では、 Deep Learning適用前に命綱(=既存の機械学習)を用意しておく有効性 を紹介します。 Deep Learningと他の手法の性能について、同一の問題に適用することに より比較を行いました。 その中で、Deep Learningを用いるのは既存の機械学習手法で試した後が 良いのではないかと感じました。 これからDeep Learningに携わるエンジニアの方や、導入を検討している 方の参考になればと思います。 本日のテーマ
  • 8.
    Copyright © 2017TIS Inc. All rights reserved. 8  自己紹介  本日のテーマ  取り組むタスク  既存の機械学習手法(Naive Bayes)  Deep Learning(LSTM)  パラメータチューニング  おわりに 目次
  • 9.
    Copyright © 2017TIS Inc. All rights reserved. 9  評判分析 文書が肯定的か否定的かを推定する極性判定を行いました。 公開データセットであるIMDB(映画レビューデータ)を対象とします。  取り組み方針 既存の機械学習(非ニューラルネット)による検証ののち、Deep Learningに取り組む →しっかりと基礎を踏まえながら挑戦する 取り組むタスク(1/2) データ数 訓練データ 25,000件 (肯定:否定=1:1) テストデータ 25,000件 (肯定:否定=1:1) 文書中平均単語数 231単語 単語種類総数 392,000単語
  • 10.
    Copyright © 2017TIS Inc. All rights reserved. 10  自己紹介  本日のテーマ  取り組むタスク  既存の機械学習手法(Naive Bayes)  Deep Learning(LSTM)  パラメータチューニング  おわりに 目次
  • 11.
    Copyright © 2017TIS Inc. All rights reserved. 11  手法 Naive Bayes  利用理由 分類問題のベースラインとして多く用いられているため。シンプルな 手法であるものの、一定の性能が出ることが知られています。 既存の機械学習手法(1/5) 否定肯定 学習 Naive Bayes 肯定 A B C D E F 否定 A B C D E F 肯定と否定それぞれの 文書と単語の 出現確率を学習 推定 学習結果から 文書のカテゴリを推定 ? A B C D E F
  • 12.
    Copyright © 2017TIS Inc. All rights reserved. 12  ベースライン手法の性能に関する論文 Baselines and Bigrams: Simple, Good Sentiment and Topic Classification [Sida Wang and Christopher D. Manning, 2012] 既存の機械学習手法(2/5) Naive BayesやSVMなどの手法で 感情分析の性能比較を行った研究。 7種類の文書データセットを用いる。 パラメータ設定や特徴設定によっ ては、最先端手法(state-of-the- art)と同等のパフォーマンスを示 すことができることを示す。
  • 13.
    Copyright © 2017TIS Inc. All rights reserved. 13  ベースライン手法の性能に関する論文 IMDBのデータセットにおいてNaive Bayesを用いたところ、 accuracy(正解率)は86.59%を示すことができている。 既存の機械学習手法(3/5) ※補足(発表者追記) MNB=Multinomial Naive Bayes SVM=Support Vector Machine NBSVM=SVM with NB features uni =unigram bi =bigram ※ Baselines and Bigrams: Simple, Good Sentiment and Topic Classification [Sida Wang and Christopher D. Manning, 2012]
  • 14.
    Copyright © 2017TIS Inc. All rights reserved. 14  実装 scikit-learnを用いて実装を行いました。論文を参考に、文章の特徴を Bag of BigramsとしてNaive Bayesを実装。 既存の機械学習手法(4/5) I thislike movie I like this movie like this Bag of Words Bag of Bigrams don’t 例 : I like this movie
  • 15.
    Copyright © 2017TIS Inc. All rights reserved. 15  結果 正解率(accuracy)において、論文と同等の性能を示すことができた。 既存の機械学習手法(5/5) accuracy 87.9 precision recall f1-score support positive 0.85 0.91 0.88 12500 negative 0.91 0.84 0.87 12500 avg/total 0.88 0.88 0.88 25000
  • 16.
  • 17.
     自己紹介  本日のテーマ 取り組むタスク  既存の機械学習手法(Naive Bayes)  Deep Learning(LSTM)  パラメータチューニング  おわりに 目次
  • 18.
    Copyright © 2017TIS Inc. All rights reserved. 18  手法 LSTM(Long short-term memory)  利用理由 文章(単語の連続)のような不定長な連続データについて、勾配消失・発 散問題を軽減して学習することができるため。 Deep Learning(1/3) http://deeplearning.net/tutorial/lstm.html
  • 19.
    Copyright © 2017TIS Inc. All rights reserved. 19  実装 Keras(バックエンドはTensorflow)を用いた。フレームワークに含まれ るサンプルコードをベースに実装。  結果 accuracyにおいてNaive Bayesに及ばず。 Deep Learning(2/3) accuracy 80.8 Naive Bayesと同程度は示せると思っていたのに。 初めて実装したけどこんなものなの…? LSTM Naive Bayes accuracy 87.9
  • 20.
    Copyright © 2017TIS Inc. All rights reserved. 20  なぜ性能が悪いのか? Accuracyやlossをプロットしたところ、過学習が発生していた。 Deep Learning(3/3) 訓練データに対する損失は減少しているが、 テストデータに対する損失が減少しない テストデータに対する 正解率が増加しない
  • 21.
  • 22.
    Copyright © 2017TIS Inc. All rights reserved. 22  自己紹介  本日のテーマ  取り組むタスク  既存の機械学習手法(Naive Bayes)  Deep Learning(LSTM)  パラメータチューニング  おわりに 目次
  • 23.
    Copyright © 2017TIS Inc. All rights reserved. 23  LSTMにおける過学習の解決手段  データを増やす  次元を減らす  正則化項を用いる  ドロップアウトを用いる  早期打ち切り(early stopping)を行う  モデルを変更する などなど… パラメータチューニング(1/5) 今回はパラメータチューニングを行おう。 腕の見せ所だ!
  • 24.
    Copyright © 2017TIS Inc. All rights reserved. 24  調整を重ねても思うように性能が上がらない  ドロップアウトを調整  L2正則化を利用  次元を削減 この他数多く実施。 →行った計算時間は 30時間 以上… パラメータチューニング(2/5) accuracy 80.6(-0.2) accuracy 78.8(-2.0) accuracy 81.7(+0.9) ※カッコ内はチューニング前との差
  • 26.
  • 27.
    Copyright © 2017TIS Inc. All rights reserved. 27  他の実装のパラメータなどを参考に性能は上がった パラメータチューニング(3/4) accuracy 84.7 パラメータ 設定値 単語種類数 10,000 入力単語数 100 ドロップアウト 0.8 エポック数 14 性能が上がってホッとした。が、なぜこのパラメータが良い のか?そんなものなのか? しかもNaive Bayesに負けてるし、労力に見合っていない… Deep Learningの沼にはまった…
  • 28.
    Copyright © 2017TIS Inc. All rights reserved. 28  実施後調査 もちろんLSTMでもチューニング次第で性能が出る パラメータチューニング(4/5) Sentiment Analysis with Deeply Learned Distributed Representations of Variable Length Texts [James Hong and Michael Fang , 2015]
  • 29.
    Copyright © 2017TIS Inc. All rights reserved. 29  振り返り  ベースラインに近づけるのも難しかった 現状の知識ではDeep Learningを既存の機械学習に匹敵させるのも 難しかった。すぐに性能が出る(正答率90%弱位)と思い込んでいた がその通りにはならなかった。  延々とパラメータ調整に取り組むことの危険性 真っ先にDeep Learningを用いていたらずっと調整を繰り返してい たかもしれない。既存の機械学習手法の結果があれば客観的に取り 組み方を見直す事ができる。 パラメータチューニング(5/5)
  • 30.
    Copyright © 2017TIS Inc. All rights reserved. 30  自己紹介  本日のテーマ  取り組むタスク  既存の機械学習手法(Naive Bayes)  Deep Learning(LSTM)  パラメータチューニング  おわりに 目次
  • 31.
    Copyright © 2017TIS Inc. All rights reserved. 31  今回の取り組みを通じて、自然言語処理においては他の手法を差し置 いて真っ先にDeep Learningの世界に飛び込むのは得策でないと感じ た。 Deep Learningを用いる際には以下があると良い。  性能向上をどこまで行うかの目安  うまくいかないときの保険・代替案 おわりに 既存の機械学習手法でベースラインを用意しておく!
  • 32.
  • 33.

Editor's Notes

  • #4 ・はりねずみとともに歩んだ1年間です
  • #5 ・15時に必要な業務が完了できるように ・これまでの習慣を、体験によって実感し変化を促す
  • #6 ・現在プロダクトはgithubで公開されている ・chazutsuやtypotを紹介
  • #8 ・技術を習得するため、既存の機械学習とDeep Learningを実装し性能を確認した。学習は行っていたが個人的に初めてのDeep Learning実装であった。 ・機械学習→Deepで取り組むべき。Deep→機械学習ではよくない。
  • #12 想定疑問:本当に一定の性能が出るの
  • #14 ・これから実装するMNB-biでは86%の正解率が出ることを述べている ・またIMDBで最高値としては下段のNBSVM-biで91%を示している。これは後で紹介するLSTMを上回っている値である。 ・今回は論文にならいシンプルなMNB-biを実装してみる
  • #15 ・機械学習ライブラリscikitlearnを利用 ・論文を参考に実装した。特にBag of Bigramsを用いている。 -----
  • #16 ・正答率87%を示すことができた。 ・その他の指標もおおむね良さそうな結果。
  • #17 でた
  • #19 ・DeepLearningではLSTMを用います。これはRNNの発展モデルです。 ・理由としては文章のような長さが決まっていないデータに対して、うまく学習することができるためです。 ・
  • #21 ・原因調査のため学習過程におけるaccとlossをグラフ化した。  ・事前に勉強して学んでいた。 ・その結果過学習であることが分かった。  ・過学習は訓練データに特化しすぎて、未知データで推測失敗する汎化性能が悪いことを言います。
  • #22 でた
  • #23 正解率を上げるため次にパラメータチューニングを行いました。
  • #24 過学習を解決するためには様々あります。 今回は
  • #25 しかし、やれどもやれども性能が上がりません。 時間がただただ過ぎるばかり…
  • #26 その時の状態を表したのがこの例です。 ・一回回すのに1時間 ・パラメータを変えて実行しては一喜一憂 まさに…
  • #27 でた
  • #28 ・最終的には他の実装のパラメータを参考にしました。 ・正解率は84.7%になった ・こんなもん
  • #29 ・最終的には他の実装のパラメータを参考にしました。 ・正解率は84.7%になった ・こんなもん