数式がわからなくたってdeep learningやってみたい!人集合- dots. deeplearning部...
TRANSCRIPT
dots.DeepLearning #01# dotsdl
2016/12/21 dots.DeepLearning#01
自己紹介• 名前• 舛岡英人 (@hidetomasuoka)
• 略歴• 産業能率大学 経営情報学部 卒業• 株式会社ソピア(現アクセンチュア)入社
• 中小企業向け ERP のスクラッチ開発を提案からサポートまですべてを担当• 株式会社 Preferred Infrastructure 入社
• 各製品の提案からサポートまですべてを担当• 株式会社 Intimate Merger に出向
• 株式会社 レトリバ創業メンバー
自己紹介• 名前• 舛岡英人 (@hidetomasuoka)
• 略歴• 産業能率大学 経営情報学部 卒業• 株式会社ソピア(現アクセンチュア)入社
• 中小企業向け ERP のスクラッチ開発を提案からサポートまですべてを担当• 株式会社 Preferred Infrastructure 入社
• 各製品の提案からサポートまですべてを担当• 株式会社 Intimate Merger に出向
• 株式会社 レトリバ創業メンバー
ほぼほぼ文系!
自己紹介• 社外活動• PyConJP 2016 スタッフ
• 招待講演担当• Chainer OSS 活動
• community イベントのリード
コミュニティを立ち上げた背景• Chainer Meetup を 4 回運営してきて、様々な人が参加してくれた。• が、全員を満足できる勉強会を運営することができなかった
なぜみんな満足できないのか?• 参加者の前提知識がばらばら• 前提知識を定義することが難しい• Deep Learning を知ってるとは?
• Deep Learning の事例を話すとデータ依存だったりするので、ふんわりした話になる• フレームワークの話ではなく Deep Learning の話しかしてない• もっとディープな話がしたいが、だれができるかわからない
対象を大きく分けることにした• Chainer Meetup• Chainer を使ってる人• 自分でネットワークを書いたり実験を回すことができる人• 数式がでてきてもコワくない人
• dots.DeepLearning 部• Deep Learning をこれから勉強する人• 数式が多少わからなくても OK• フレームワークの縛りは無し
dots.DeepLearning 部• Deep Learning でできること、できないことをみんなでシェアする場• Deep Learning の知識を自信持って他の人に話せるように勉強する場• 自分の目的にあったフレームワークやネットワーク例を選べるようになること
いまある機械学習のイメージ東洋経済オンライン文系エンジニアに「機械学習」は難しすぎる!ディープラーニングは難しい数式がいっぱい
http://toyokeizai.net/articles/-/132197
実際…
数式が理解できなくても Deep Learningができるのか• (ある程度は ) できます!• 自分でネットワークを書いたり、チューニングをする段階では絶対に必要• まず、数式を理解するのではなく、 Deep Learning に触れながら必要な数式を理解する
ディープラーニングブームの背景
機械学習の典型的なプロセス
13
(0, 1, 2.5, -1, …)(1, 0.5, -2, 3, …)(0, 1, 1.5, 2, …)
特徴ベクトル
グラフィカルモデル
分類 / 回帰SVM/LogReg/PACW/ALOW/Naïve Bayes/CNB/DT
RF/ANN…
クラスタリングK-means/Spectral Clustering/MMC/L
SI/LDA/GM…
構造分析HMM/MRF/CRF…
分野に依存しない抽象化データ 様々な手法理論を適用
機械学習
文書
画像 センサー
行動履歴
様々な様式の生データ
特徴抽出
文章からの特徴抽出• 例:固有名詞を取り出してニュース記事の特徴とする
14
2020年の東京五輪・パラリンピックの主会場となる新国立競技場をめぐり、安倍晋三首相は、総工費が2520億円に膨らんだ建設計画を見直す考えを17日に表明する方向で最終調整に入った。競技場を19年のラグビーワールドカップ(W杯)の主会場にする計画は断念する。同日、東京五輪・パラリンピック組織委員会会長の森喜朗元首相と会談し、計画見直しへの協力を求める方針だ。
2020年の東京五輪・パラリンピックの主会場となる新国立競技場をめぐり、安倍晋三首相は、総工費が2520億円に膨らんだ建設計画を見直す考えを17日に表明する方向で最終調整に入った。競技場を19年のラグビーワールドカップ(W杯)の主会場にする計画は断念する。同日、東京五輪・パラリンピック組織委員会会長の森喜朗元首相と会談し、計画見直しへの協力を求める方針だ。単語 頻度東京五輪 2パラリンピック 2新国立競技場 1安倍晋三 1・・・ ・・・
機械学習アルゴリズム
文章からの固有名詞の抽出は固有表現抽出( Named Entity Recognition; NER )という
画像からの特徴抽出• 例: Histogram of Gradient (HoG 特徴量 )
http://www.vlfeat.org/overview/hog.html
機械学習アルゴリズム
各ピクセルでの勾配を小ブロック(セル)単位でまとめてヒストグラム化
各セルでのヒストグラムを(正規化して)すべてまとめる
精度をあげるのが職人技•精度をあげるためには特徴抽出が重要•特徴抽出は難しい• タスクごとに最適な特徴抽出方法は異なる• 機械学習コンテストは最後は特徴抽出のチューニング勝負
• これまで様々な特徴抽出方法が研究されてきた• 自然言語: n-gram/BoW 画像: SIFT/SURF/HOG/PHOW/BoVW• その他にも様々なヒューリスティックが存在
•精度をあげるにはデータに合わせたチューニングが必要
17
2012 年画像認識コンテストでDeep Learning を用いたチームが優勝
→ILSVRC2012優勝チーム Supervison の結果 [Krizhevsky+ ‘12]
衝撃的な出来事• 限界と思われた認識エラーを 4割も減らした (26%→16%)• 特徴抽出を行わず、生の画素を NN に与えた翌年の同コンテストの上位チームはほぼ Deep Learning ベースの手法
Neural Net ブーム• 様々なコンペティションで DL が既存手法を凌駕• 16%(‘12) → 11%(‘13) → 6.6%(’14) → 4.8%('15) → 2.9%
('16)• 各企業が DL研究者の獲得競争• Google/FaceBook/Microsoft/Baidu
• 実サービスも DL ベースに置き換えられる• Siri/Google 画像検索
GoogLeNet のアーキテクチャ↓http://research.google.com/archive/unsupervised_icml2012.html
Google Brain による猫認識↑[Le, Ng, Jeffrey+ ’12]
音声認識の分野では
10 年間の停滞していたが、DL登場により劇的に精度が向上した
ニューラルネットワークが利用されたタスクデータ 画像タスク カテゴリ
分類顔検出 生成 ゲーム AI シーン認識
動画 画像 +自然言語
音声 + 動画カテゴリ分類
動作認識 キャプション生成
表現学習 音声認識
自然言語 音声 化合物表現学習 翻訳 質問応答 会話検出 QSAR
( 活性予測 )
応用分野音声検索画像キュレーションe コマース自動運転ロボティックス医療画像マーケティング
ディープラーニング導入
x1
xN
・・・・・・
h1
hH
・・・・
ニューラルネットワーク(多層パーセプトロン)
kM
k1
yM
y1
ForwardBackward
・・ ・・
入力層 隠れ層 出力層文書
画像
センサー
チューリップ
異常確率 50%
カテゴリ:政治
Forward Propagation (順伝播)• 入力層(グレー)に値を与え、順方向に計算を進める• Forward計算の過程で損失
(Loss) とエラーを計算する• 通常エラーは計算グラフの最後のユニット(緑)での値を指す• 計算グラフの途中の値をエラーに加えても良い
• Loss は各ユニットの値や各レイヤーのパラメータの関数になっている
Forward
Backward Propagation (誤差逆伝播)•計算グラフの末端のユニット(緑)にエラーを与え、逆方向に計算を進める• Backward の過程で各パラメータについてのエラーを計算する
Backward
x1
xN
・・・・・・
h1
hH
・・・・
ニューラルネットワーク(多層パーセプトロン)
kM
k1
yM
y1
ForwardBackward
・・ ・・
入力層 隠れ層 出力層文書
画像
センサー
チューリップ
異常確率 50%
カテゴリ:政治
実際は
ディープラーニングの応用例Deep Q Network* (深層学習で強化学習)
* Mnih, Volodymyr, et al. "Human-level control through deep reinforcement learning." Nature 518.7540 (2015): 529-533.** Caffe で Deep Q-Network を実装して深層強化学習してみた http://d.hatena.ne.jp/muupan/20141021/1413850461*** PFI インターン 2014 最終発表 http://www.ustream.tv/recorded/5315339927
ディープラーニングの応用例画像生成• 文字を”描く“ニューラルネット• 入力と同じ「雰囲気」の数字が出力されている。同じ数字でも、最左画像と生成画像は異なる事に注意
入力 生成結果
Kingma, Diederik P., et al. "Semi-supervised learning with deep generative models." Advances in Neural Information Processing Systems. 2014. の実験を弊社で再現
•絵を”描く“ニューラルネットhttp://soumith.ch/eyescream/
典型的な Neural Network(多層パーセプトロン)
x1
xN
・・・・・・
h1
hH
・・・・
kM
k1
yM
y1
f1f2 f3
W2/b2W1/b1
tM
t1
損失関数で評価正解ラベル入力
ForwardBackward
出力
・・ ・・ ・・ 学習すべきパラメータ• W1:1層目のパラメータ行列• b1:1層目のバイアス項 • W2:2層目のパラメータ行列• b2:2層目のバイアス項
Forward更新式• h = f1(x) = Sigmoid(W1x+b1)• k = f2(h) = Sigmoid(W2h+b2)• y = f3(k) = SoftMax(k) f3i(k) = exp(ki)/Σ_{j} exp(kj)
DeepLearning フレームワークの構成要素変数( n次元配列)層計算グラフ最適化アルゴリズム
順伝播逆伝播
ニューラルネット変数 層
正解データも入力の一部とみなすと見通しが良い
途中で分岐してもよい(一般にはDAG)
minibatch j
訓練の流れEpoch 1
Epoch N
Epoch 2
Epoch i
Epoch i
全訓練データをシャッフルminibatch 1
Forward
minibatch 2
パラメータ更新
時刻• Epoch (Iteration) :全訓練データを 1巡する事→ 各訓練データは Net に N 回与える• Solver : Net を訓練するモジュール• minibatch :少数の訓練データをまとめたもの
31
パラメータ更新
minibatch jBackward
Deep Learning フレームワーク
出展 : http://www.slideshare.net/NVIDIAJapan/ss-64265095
Deep Learning フレームワーク
出展 : http://www.slideshare.net/NVIDIAJapan/ss-64265095
フレームワーク戦争• 各研究機関・企業が Deep Learning のフレームワークを作成して、オープンソフトウェアとして公開している。• まだまだ、試行錯誤を続けないといけない分野なので、オープンソフトウェアとして公開をして、ソフトウェアとしてのスピードを高めている。
フレームワーク• https://www.tensorflow.org/• http://chainer.org/• http://caffe.berkeleyvision.org/• http://torch.ch/• http://mxnet.io/• http://www.paddlepaddle.org/• https://www.microsoft.com/en-us/research/product/cogniti
ve-toolkit/• https://developer.nvidia.com/digits
第 1 回のテーマ• 事例を聞いてみる!•つらいとこや自分できる所をしる!
まとめ• 部活動立ち上げの背景• ディープラーニングブームの背景• ディープラーニングの概要
ディープラーニング学ぶにはどうするか?
ディープラーニングを学ぶことができるサイト• Chainer• http://docs.chainer.org/en/stable/tutorial/index.html• https://github.com/hido/chainer-handson
• NVIDIA • https://nvidia.qwiklab.com/tags/Deep%20Learning
• Google• https://www.tensorflow.org/versions/r0.11/tutorials/index.html
NVIDIA の DeepLearning コース
出展 : http://www.slideshare.net/NVIDIAJapan/ss-64265095
AWS等で Deep Learning 使う場合• NVIDIA が提供する AMI で学習することをおすすめします!• CUDA のインストールではまります…
AWS等で Deep Learning 使う場合
AWS等で Deep Learning 使う場合• また NVIDA Docker を使う• https://github.com/NVIDIA/nvidia-docker
今後の勉強会•ハンズオン形式と発表形式の 2 パターンで行うことを考えています。•ハンズオン• 各フレームワークのチュートリアルをみんなでやってみる
• 発表形式• ハンズオンなどで得た知見を発表する場