リフレッシュ meet-up 機械学習のガクシュウ 2015 年 12 月 16 日 技術研究所井上祐寛
もくじ 機械学習とは 機械学習の分類 深層学習 Deep Learnig 研究の最新動向 最新の機械学習デモ Tensor Flow Google Cloud API Raspberry Pi で Watson 日本語質問応答システム 1
機械学習とは 機械が学習するってどういう事ですか? 機械はどうやって学習するの? 機械が学習すると何が嬉しいの? 機械学習の分類 2
1. 機械学習とは 機械が学習するってどういう事ですか? 明示的にプログラミングすることなくデータから学習することによって コンピュータが振る舞い方 ( モデル ) を獲得する技術 ( 科学的方法論 ) 縦横 30cm 未満なら S へ移動 縦横 30cm 以上なら L へ移動 cross_entropy = - tf.reduce_sum(y_*tf.log(y_con v)) train_step = tf.train.adamoptimizer(1e- 4).minimize(cross_entropy) correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(y_,1)) プログラムされたルールによって分類 S L L S 特徴から分類 3
1. 機械学習とは 機械はどうやって学習するの? 例えば 子供に写真を見せて さかな を教えてみましょう これは??? さかな だよ これは? さかな さかな だよ これは? 初めて見せる写真 さかな ( 特徴 ) 紡錘系 背びれ 尾びれ エラ 目玉が大きい 4
1. 機械学習とは さかな の写真正解データ さかな さかな 入力 特徴を学習 円柱状でまん中が太く 両端がしだいに細くなる 大きい黒い丸 ( 目 ) 初めて見せる写真 入力 見分けるモデル 学習の結果得られた法則性数式 データ構造 変更可能なパラメータ値の集合 イラストは? さかな 5
1. 機械学習とは 機械学習はデータを判断すること 識別分類予測クラスタリング 犬 猫 機械学習を利用した例 市場などの予測文字認識画像解析異常検知 故障予知 レコメンデーション ロボットなどの行動獲得 遺伝子などの相関分析 医療などの診断 質問応答 対話システム 6
1. 機械学習とは 機械が学習すると何が嬉しいの? 頭痛と熱が続いて おとといからです 入力 どうされましたか? いつからですか? 支援 アドバイス 1 アドバイス 2 アドバイス 3 音声認識 問診内容の認識 知識からアドバイスの提示 学習済の知識 症例 論文 知識 医師は問診で忙しい 一週間で読めても 4 つくらいの論文 報告され増える症例に有効なものもがある 現実には毎月 2 万もの論文が発表され 一人の人間が読みこなせる量ではない 最新の論文 症例を医者にかわって学習しておくことで 医師に対してアドバイスをする事ができ医師 患者にとって有益に働く 7
機械学習の分類 教師あり学習 教師なし学習 その他分類 ( 中間的手法 ) 8
2. 機械学習の分類 機械学習分類 教師あり学習 既知の情報を使って 未知の情報の予測器を構築します 回帰 実数値を予測する回帰 手法線形回帰 リッジ回帰 クラス分類 カテゴリを予測する分類 手法としてロジスティック回帰 サポートベクターマシン 教師なし学習 データに含まれるパターンを見つけ出し データの性質を理解することを目指す クラスタリング クラスタリングの代表的手法として K 平均法 混合正規分布 情報圧縮 次元削除の手法として主成分分析 その他分類 レコメンデーション 自然言語処理 強化学習 半教師あり学習 アンサンブル学習 オンライン学習 深層学習 目的とデータ特性に応じて 教師あり / なしの枠を超えて開発された機械学習の分類 9
2. 機械学習の分類 教師あり学習 正解のついたデータを使い モデルの生成を行う 学習データ 正解のついたデータで入力 出力がセットとなる ( こう入力した こう出力する ) 特徴 属性 ( 連続値 / 離散値 ) 入力データ 正解データ 出力データ さかな データは ラベル or 数値 となる 例 : ラベル = 男 / 女 晴 / 曇 / 雨 数値 = 長さ 温度 正解の値 正解がラベルの場合は 識別問題 この時の正解はクラス (class) と呼ぶ 正解が数値の場合は 回帰問題 この時の正解はターゲット (class) と呼ぶ 10
2. 機械学習の分類 特徴 属性 ( 連続値 / 離散値 ) 学習データ 正解データ データの例 : ベクトルです入力データ [( 男 28,178, 75, yes), ( 女 68,165, 44, no)] 出力データ [0,1] 入力データ 出力データ 入力データ モデル 出力データ [ 画素, ] さかな 入力データを出力データ ( 正解 ) となるようモデルを学習する 11
2. 機械学習の分類 教師なし学習 教師なし学習 は 入力用データのみを与え データの中になる一定のパターンやルールを抽出する ( モデル推定 パターンなどの特徴抽出 ) 正解情報が無いデータを使い モデル推定 パターンなどの特徴を検出 特徴 属性 ( 連続値 / 離散値 ) 入力データ 与えられた入力データに潜む規則性を学習すること目的 着目すべき規則性 1 モデル推定 入力データ全体を支配する規則性 学習によって推定する問題がモデル推定 2 パターンマイニング入力データの部分集合内 あるいは部分集合間に成り立つ規則性多くの様相に埋もれて見えにくくなっているものを発見する問題がパターンマイニング さかな っぽいなぁ 12
3. 深層学習 深層学習 Deep Learning ディープラーニングの基本 ディープラーニングの種類 画像認識 / 音声認識 / 自然言語処理 13
3. 深層学習 ブレイクスルー ILSVRC(Imagenet Large Scale Visual Recognition Challenge) 2012 年カナダのトロント大学 ( 初参加 ) が開発した SuperVision が他を大きく引き離して優勝 Task 1 (classification) Result # Team name Error (5 guesses) Description 1 SuperVision 0.15315 Using extra training data from ImageNet Fall 2011 release 2 SuperVision 0.16422 Using only supplied training data 3 ISI 0.26172 Weighted sum of scores from each classifier with SIFT+FV, LBP+FV, GIST+FV, and CSIFT+FV, respectively. 4 ISI 0.26602 Weighted sum of scores from classifiers using each FV. 5 ISI 0.26646 Naive sum of scores from classifiers using each FV. トロント大学の SuperVision がエラー率 15 で他を圧倒的に引き離し勝利 ちなみに 2015 年は Google が 4.82% でトップ 6 ISI 0.26952 Naive sum of scores from each classifier with SIFT+FV, LBP+FV, GIST+FV, and CSIFT+FV, respectively. 7 OXFORD_VGG 0.26979 Mixed selection from High-Level SVM scores and Baseline Scores, decision is performed by looking at the validation performance お手軽デモ http://demo.caffe.berkeleyvision.org/ 14
3. 深層学習 1,000 クラスある候補の中から どれだけ正確に答えを識別できるかを競う 学習アルゴリズムの競技 ( 学習データ 1,000 万枚 主題 15 万枚 ) 出題ヒョウ 正解 確信度 15
3. 深層学習 ディープラーニングの基本 ニューラルネットワーク 入力層 隠れ層 出力層 前の層の出力 0.5-2 -1 重み 0.3 x 3 0.4 b=0. 3 X=f(0.5*(-1) + (-2)*0.3 + 3*0.4 + 0.3) = f(0.4) 16
3. 深層学習 手書き文字の認識 MNIST( エムニスト ) 画像認識の世界ではよく使われる標準的な手書き画像データセット 28 x 28 = 784 ピクセル画像は 7 万枚画像には正解ラベルが付けられている この画像をピクセル単位に分解してニューラルネットワークに読み込ませ認識させる 17
3. 深層学習 入力データ 28x28 pixel 入力層 784 個並ぶ 出力層 0~9 まで 10 個並ぶ 出力結果 数字 確率 0 0.05 1 0.05 2 0.05 3 0.40 4 0.05 5 010 6 0.05 7 0.05 8 0.15 9 0.05 18
3. 深層学習 間違えて認識した場合 出力結果 数字 確率 0 0.05 1 0.05 2 0.05 3 0.15 4 0.05 5 010 6 0.05 7 0.05 8 0.40 9 0.05 重みづけを変えて 正しい正解が出せるよう調整する ( 学習法 : 誤差逆伝播 back Propagation) 出力結果 数字 確率 0 0.05 1 0.05 2 0.05 3 0.40 4 0.05 5 010 6 0.05 7 0.05 8 0.15 9 0.05 正解が出力されるよう ( 誤差を小さく ) 各重みづけを調整します 重みづけを大きくすると誤差が減るのか 小さくすると誤差が減るのかを計算し 誤差が小さくなる方向にそれぞれの重みづけを微調整する 19
宣伝 詳しくは 機械学習勉強会へ! 次年度は 人工知能 / 機械学習勉強会 へパワーアップ! 活動テーマの例 SF 映画に学ぶ AI 20
3. 深層学習 研究の最新動向 21
3. 深層学習 Zero-Shot Learnig カナダウグイス Canada War Canada War lion ライオン lion 事例空間 ラベル空間 X: 原言語 Y: 目的言語 事例をラベル空間へ写像する行列 M を学習 対訳抽出 22
3. 深層学習 Caption Generation 23
3. 深層学習 Caption Generation 24
3. 深層学習 画像を入力すると説明文を出力する 画像認識の CNN(Convolutional neural network) と自然言語処理の RNN(Recurrent Neural Network) の組合せ http://deeplearning.cs.toronto.edu/i2t http://googleresearch.blogspot.jp/2014/11/a-picture-is-worth-thousand-coherent.html 25
3. 深層学習 マルチモーダル分散表現 画像とテキストを共通のベクトル空間で表現する マルチモーダル分散表現 ベクトル表現の間で演算が可能も可能 例えば青い車の画像から青という単語を引いて 赤という単語を足すと演算先の空間の近傍には赤い車が集まっている事となる 26
最新の機械学習デモ Tensor Flow Google Cloud API Raspberry Pi で Watson 日本語質問応答システム 27
4. 最新の機械学習デモ TensorFlow 2015/11 音声検索 写真認識 翻訳サービスとなど 自社サービスに適用してきた google 機械学習の開発基盤が OSS として公開 Tutorials MNIST MNIST For ML Beginners Deep MNIST for Expoerts 単層 ロジスティック回帰 ( 識別率約 91.2%) 多層 畳み込みニューラルネットワーク ( 識別率約 99.2%) DEMO 自分で書いた文字を認識させよう 28
4. 最新の機械学習デモ Google Cloud Vision API 2015/12/2 What is Cloud Vision API? 画像認識機能を簡単の API で提供 (REST) TensorFlow 学習しなくとも手軽に Deep Learnig が試せる 顔検知画像上の複数の顔 目鼻口の位置 感情 物体検知 ロゴ認識 ランドマークの認識 セーフサーチ検知 OCR 29
4. 最新の機械学習デモ Raspberry Pi で Watson 日本語応答システム デモ動画 30
おしまい 31