⾃⼰紹介
海野 裕也
l -2008東⼤情報理⼯修⼠,⾃然⾔語処理
l 2008-2011 ⽇本アイ・ビー・エム(株)東京基礎研
l 2011-2016 (株)プリファードインフラストラク
チャー
l 2016- (株)プリファードネットワークス
l ⾃然⾔語処理、機械学習、テキストマイニング
l ChainerなどのOSS開発
l 機械とのコミュニケーションの研究開発
NLP若⼿の会顧問(2016-)
「オンライン機械学習」(2015, 講談社)
「深層学習による⾃然⾔語処理」(2017, 講談社)
2
機械学習の世界の分類
l 問題設定に基づく分類
l 教師あり学習/ 教師なし学習 / 半教師あり学習 / 強化学習 ..
l 戦うドメインの違い
l 特徴設計屋(各ドメイン毎に, NLP, Image, Bio, Music)
l 学習アルゴリズム屋(SVM, xx Bayes, CW, …)
l 理論屋(統計的学習理論、経験過程、Regret最⼩化)
l 最適化実装屋
l 好みの違い
l Bayesian / Frequentist / Connectionist / DeepLearning
l [Non-|Semi-]Parametric
29
太字について話します
30.
教師あり学習
l ⼊⼒ xに対して期待される出⼒ y を教える
l 分析時には未知の x に対応する y を予測する
l 分類
l y がカテゴリの場合
l スパム判定、記事分類、属性推定、etc.
l 回帰
l y が実数値の場合
l 電⼒消費予測、年収予測、株価予測、etc.
30
x y
31.
教師なし学習
l ⼊⼒ xをたくさん与えると、⼊⼒情報⾃体の性質に関し
て何かしらの結果を返す
l クラスタリング
l 与えられたデータをまとめあげる
l 異常検知
l ⼊⼒データが異常かどうかを判定する
31
x
教師あり学習(再掲)
l ⼊⼒ xに対して期待される出⼒ y を教える
l 分析時には未知の x に対応する y を予測する
l 分類
l y がカテゴリの場合
l スパム判定、記事分類、属性推定、etc.
l 回帰
l y が実数値の場合
l 電⼒消費予測、年収予測、株価予測、etc.
40
x y
教師あり分類の種別
l 線形分類器
l 特徴ベクトルとパラメータの内積の⼤⼩で分類
l決定⽊
l ツリー状の分類条件を獲得する
l ニューラルネットワーク
l 内積と⾮線形関数の組合せを何度も⾏う
l カーネル法(カーネル分類器)
l 内積の代わりにカーネル関数を使う
l アンサンブル学習
l 複数の分類器を組み合わせることで精度をあげる
44
これらは必ずしも
並列関係ではない
線形分類器の代表的な学習⼿法
l パーセプトロン(Perceptron)
l 誤分類したら特徴ベクトルを重みに⾜し引きする
l単純ベイズ分類器(Naïve Bayes classifier)
l 各特徴次元が独⽴だという仮定のもと、それぞれの重みを独⽴
に決定する
l ロジスティック回帰(Logistic regression)
l 各クラスに所属する確率の対数が、重みとベクトルの内積に⽐
例すると仮定する
l サポートベクトルマシン(SVM)
l 分離平⾯からの最短距離(マージン)を最⼤化させる重みを選
択する
52
それぞれ基準が異なる
複雑な⼿法と単純な⼿法のトレードオフ
l 単純な⼿法
l 分類の根拠がわかりやすい
lうまくいかない時に直すべき理由に気づきやすい
l ⼀般的に分類速度、学習速度が速い
l 実装が簡単なので、バグを埋め込みにくい
l 例:線形分類器、決定⽊
l 複雑な⼿法
l ⼀般的に精度が⾼い
l 例:アンサンブル学習、カーネル法、ニューラル
ネット
57
代表的な深層学習の⼿法いくつか
l Feed ForwardNeural Network
l 最も基本形の、いわゆるニューラルネットワーク
l 重みとの内積と、⾮線形関数の組合せを繰り返す
l Convolutional Neural Network (CNN)
l 特に画像解析で⼤成功して有名になった⼿法
l convolution層とpooling層を組み合わせる
l Recurrent Neural Network (RNN)
l ⾃然⾔語処理などシーケンスデータを扱う⼿法
l Long Short-Term Memory (LSTM)などの亜種が流⾏
している
88
成果が顕著な領域
l ⾳声認識
l 認識精度が劇的に向上
lすでに多くの⾳声認識エンジンで利⽤されているのではと⾔わ
れている
l 画像認識
l 画像に映った物体の判定結果が劇的に向上
l エラー率が3年で25% à 7%に
l ゲームプレイ
l 昔のゲーム(インベーダーなど)を、ルールを教えずに画⾯と
スコアだけで学習
l ⼀部のゲームで⼈間よりも強くなった
91
データに対する誤解
l データさえあれば何でもわかるんですよね?
l NO!データから分かることだけがわかります
l データが沢⼭あれば確実にわかるんですよね?
l NO! 単調増加でも、100%に達するとは限りません
l ⼈間にわからないことがわかるんですよね?
l NO! ⼀般的には⼈間のほうが⾼性能です
111
精度が悪いとき
l 簡単にできることから試す
l 複数の学習⼿法を試す
lハイパーパラメータ(学習前に設定するパラメー
タ)を変えてみる
l 難しすぎる問題設定になっていないか確認する
l 正解データ内でも基準が曖昧だと、難しい
l 不必要に難しい設定になっていないか再検討する
l ⼿法を改善するのはそれから
126
それでも精度が出ない
l 要件を再検討
l 誤検知が問題なら、確信度の⾼い上位を利⽤する
l検知漏れが問題なら、確信度のしきい値を下げる
l 間違い事例を精査
l 必要な特徴が取れていないことが多い
l より⾼度な⽅法を検討
l ラベルなしデータを利⽤する(半教師あり学習)
l 外部リソースを利⽤した特徴を利⽤する
l 実装コスト、運⽤コスト、処理性能の劣化などの苦
労の割には性能向上は限定的
129
全体のおさらい
l 機械学習はどこでも使える
l データを利⽤して賢くなる⼿法全般
lデータのある様々な領域で適⽤可能
l ⼿法は沢⼭
l 教師あり学習は⼊出⼒関係を学習
l 教師なし学習はデータの傾向を学習
l 強化学習は⾃動で試⾏錯誤する
l 深層学習は多段のニューラルネット
l 検証を繰り返す
l 実験は交差検定で
l システムに組み込んで効果をしっかり試す
140