ディープラーニングが活かすIoT

37,349 views
37,117 views

Published on

Interop2015 セミナーでの講演資料
デモリンク:https://www.youtube.com/watch?v=a3AWpeOjkzw
RNN, VAE, 深層強化学習, PFNの取り組みについて

Published in: Technology
0 Comments
227 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
37,349
On SlideShare
0
From Embeds
0
Number of Embeds
2,894
Actions
Shares
0
Downloads
466
Comments
0
Likes
227
Embeds 0
No embeds

No notes for slide

ディープラーニングが活かすIoT

  1. 1. ディープラーニングが 活かすIoT 岡野原  ⼤大輔 hillbig@preferred.jp Preferred  Networks,  Inc. 2015/06/09 Interop 2015 セミナー
  2. 2. アジェンダ l  IoT時代の深層学習 –  RNN –  VAE –  深層強化学習 l  PFNの取り組み –  デモ:深層強化学習  +  データ同化  +  転移学習  +  分散学習 –  DiMO  :  Edge  Heavy  分散ストリーム処理理プラットフォーム –  Chainer  :  新しい深層学習フレームワーク  OSS 2
  3. 3. ディープラーニングとは l  層が深く、幅も広いニューラルネットワークを利利⽤用した 機械学習⼿手法 l  2012年年の⼤大ブレーク以来、研究コミュニティのみならず 産業界に多く使われてきた –  2014〜~2015年年中に出された関連論論⽂文数は1500を超える* l  画像認識識、⾳音声認識識などで劇的な精度度向上を果たし、その 多くが既に実⽤用化されている –  Googleは47の⾃自社サービスで既に利利⽤用している 3 2014年の一般画像認識コンテストで優勝した 22層からなるのGoogLeNetの例 [Google 2014] *http://memkite.com/deep-‐‑‒learning-‐‑‒bibliography/
  4. 4. ディープラーニングの基本計算 l  下層の⼊入⼒力力xを重み付きで⾜足しあわせた後に活性化関数hをかけて出⼒力力 –  Wiがモデルパラメータであり、重みと呼ばれる x1 x2 x3 +1 w1 w2 w3 w4 z = h(x1w1+x2w2+x3w3+w4) z hの例例  ReLU:  h(x)  =  max(0,  x) h バイアス項 活性化関数には、ReLUなど勾配消失問題を 回避できる区分線形関数が多く使われる
  5. 5. ディープラーニングの基本計算 5 l  先ほどの基本計算を何層にも繰り返して出⼒力力yを求める x1 x2 x3 +1 +1 +1 y 深いレイヤーはパーツを組み合わせた
 総合的かつ抽象的な情報
  6. 6. 例例  ⼊入⼒力力でみると、各層毎に⼊入⼒力力が変形されていく 6 https://colah.github.io/posts/2014-03-NN-Manifolds-Topology/
  7. 7. ディープラーニングの学習  (1/2) l  正解ラベルとの違いからエラーlを求める    例例:回帰:l(y,  y*)=  (y  –  y*)2 l  ⽬目標:Iが⼩小さくなるように各パラメータ{wi}を調整する l  問題:各重みをどのように調整すればよいか?  →  逆誤差伝播法 x1 x2 x3 +1 +1 正解の出力 ly y*
  8. 8. ディープラーニングの学習  (2/2)  逆誤差伝播法 l  lからエラーの勾配をデータの流流れとは逆に流流す –  出⼒力力を変えたら、最終⽬目標lがどのように変わるかという情報 –  この情報を使うことで、各パラメータを効率率率的に更更新できる x1 x2 x3 r s ly y* @l @y @l @y @y @s yを動かしたら lがどのように 変わるのか sを動かしたら lがどのように 変わるのか wを動かしたら lがどのように 変わるのか w @l @w = @l @y @y @s @s @w =r
  9. 9. IoTにおけるディープラーニング l  ディープラーニングの適⽤用対象は画像認識識,  ⾳音声認識識などの認識識タスクから より⾼高度度なタスクに移っている –  従来の⼈人⼯工知能が困難としていたロボットの⾏行行動学習、対話システム、プログラム の⾃自動学習など、より⾼高度度な問題に適⽤用されつつある 特にIoTにおいて重要なディープラーニングを紹介する l  センサやアクチュエーターなど時系列列情報を扱い、状態を管理理する     →  RNN:回帰結合型ニューラルネットワーク l  たくさんのデータが容易易に得られるが、教師付きデータは少ない →  VAE:変分⾃自⼰己符号器 l  様々な条件や⽬目標を考慮した上で最適⾏行行動を求めたい →  深層強化学習 9
  10. 10. RNN:  回帰結合型ニューラルネットワーク (Recurrent  Neural  Network) l  接続の仕⽅方にループがあるようなニューラルネットワーク –  状態を扱えるため、⾮非常に強⼒力力(学習可能なモデルでは最強の⼀一つ) y(t) z(t) x(t) z(t) = f(z(t-1), x(t)) 良く利用されるユニット例 LSTM: Long Short-Term Memory
  11. 11. RNNの時間展開 l  時間⽅方向に展開すると再帰を含まないニューラルネットワークとみ なせ、逆誤差伝播法がそのまま使える(BPTT:BackPropagation   Thourgh  Time) y(t-1) z(t-1) x(t-1) y(t) z(t) X(t) y(t+1) z(t+1) x(t+1)
  12. 12. RNNの⼀一般化 l  計算フローが全て、微分可能な要素で構成されていれば、RNNとみなせ 全ての要素を効率率率的に学習することが可能    c.f.  後退型⾃自動微分 l  Neural  Turing  Machine  [A.  Graves+  2014] –  メモリのアドレッシングも微分可能な要素で実現し、学習される –  コピーやソートなどのタスクを学習し、⼀一般化もできた l  Learning  to  Execute  [W.  Zaremba  2014] –  pythonプログラムの解釈と実⾏行行を学習させることができた 12 メモリアドレッシングの構成要素
  13. 13. RNNによる画像⽣生成:  DRAW  [K.  Gregor+  2015] 13 全体をかいてから、 下から上に書く ように学習されて いる (PFNによる追試結果) 順に絵を書くようなニューラルネットを学習させる 時間方向のパレットの様子
  14. 14. VAE:変分⾃自⼰己符号器 l  複雑な観測データを認識識/⽣生成するニューラルネットワーク –  ニューラルネットワークで⾮非線型かつ階層的な情報をモデル化 l  Reparametrization  Trickにより、隠れ変数を含む場合でも 逆誤差伝播法で効率率率よく学習が可能に 復号化 符号化 複雑な観測データ   画像、顔、⾳音声 単純で平坦な連続 隠れ変数
  15. 15. VAEによる⽣生成例例  http://vdumoulin.github.io/morphing_̲faces/ l  例例:顔を表す独⽴立立な29個の連続変数を⾃自動的に学習 観測変数  x  :  顔の画像データ 潜在変数  z  :  29個のパラメータ 15
  16. 16. VAEの利利⽤用例例(1)⽣生成 16 l  数字を  ⽂文字とスタイルから⽣生成する モデルを作り、VAEで学習 l  ある画像が与えられたら数字だけを変えて 同じスタイルで別の数字を⽣生成可能 最左列列が⼊入⼒力力、残り10列列がラベルだけ変えた 結果 l  隠れ変数では⽐比較的⾃自由に⾜足しあわせが可能 c.f.  word2vecは単語のベクトル表現 –  複数のゲーム⾳音楽を混ぜた例例 https://www.youtube.com/watch?v= cu1_̲uJ9qkHA&feature=youtu.be PFNによる追試結果
  17. 17. VAEの利利⽤用例例(2)半教師有り学習 l  潜在変数の世界は、平坦で無相関な単純な表現になっているのでその上で 学習する場合は学習データは遥かに少なくてすむ l  半教師有り学習     –  教師データと、(⼤大量量の)教師なしデータを組みあわせて学習 l  VAEによる半教師あり学習は1/30の教師ありデータでも同程度度の精度度を達 成(現在の半教師有り学習の最⾼高精度度) –  ⼀一ラベルあり、教師あり  300サンプル  vs  半教師あり  10サンプル 17 MNIST(⼿手書き⽂文字認識識タスク)のエラー率率率 他の半教師有り学習⼿手法 VAEを利利⽤用した半教師有り学習 [kingma+ 15]
  18. 18. 強化学習(RL:Reinforcement  Learning) l  強化学習(RL)は⼈人⼯工知能の⼀一⼿手法 –  エージェントは毎回⾏行行動a(t)をとり、報酬r(t)と状態s(t)を環境から受け取る l  RLの⽬目的は将来の報酬合計値が最⼤大になる⾏行行動をとれるように学習すること –  将来の報酬合計値  =  r(t)  +  γ  r(t+1)  +  γ2  r(t+2)  +  …        但し  γ<1は割引率率率 –  報酬に、望ましい/望ましくない  ⾏行行動をデザインして埋め込む –  例例:交通システムにおいて、報酬は安全にかつ⾼高速に⽬目的地に到達できれば報酬、 渋滞に巻き込まれて遅くなったり、壁にぶつかったりした場合は負の報酬 18 エージェント ⾏行行動  a(t) 報酬  r(t) 状態  s(t) 環境
  19. 19. 深層強化学習 l  状態sと⾏行行動aをどのように表すのか? –  もし状態種類数に⽐比べ試⾏行行回数が⼤大きいならQ学習は有効 –  実際の問題では状態数は⾮非常に多い u  例例えば、全ての⾞車車の位置関係をどのように求めるか? l  Deep  Q-‐‑‒Learning  Network  [V.  Minh+  2015] –  ある状態である⾏行行動aをとった場合の期待将来報酬をDNNでモデル化 –  (状態,  ⾏行行動)のモデル化および、期待将来報酬のモデル化を同時に⾏行行う l  Atariのゲームでゲーム画⾯面を⼊入⼒力力、操作を⾏行行動、スコアを報酬とした時、単 ⼀一の学習システムで約50のゲームで⼈人と同レベルの性能を達成 19
  20. 20. デモ 20
  21. 21. 複数ラジコンの協調⾛走⾏行行例例 l  状態:約300次元 –  視線:32⽅方向の視線に対する情報など(障害物までの距離離) l  ⾏行行動:5種類(前加速,  後加速,  左右回転,  ブレーキ) l  ⽬目標: –  指定されたパスに可能な限り沿って速く⽬目的地に到達する –  壁や障害物や他⾞車車にぶつかってはいけない l  各ラジコンの構成は少しずつ違う –  タイヤ  or  キャタピラ、個体差(⾞車車輪輪のまわりやすさ) l  各⾞車車がどのように⾛走⾏行行すれば最適かを学習する –  強化学習の際はε-‐‑‒greedyを利利⽤用 21 300 600 400 200 100 50 ⼊入⼒力力 前加速 後加速 左右回転 ブレーキNNのアーキテクチャ 活性化関数にはReLU
  22. 22. 深層強化学習  +  データ同化  +  転移学習  +  分散学習 22 DNN 実機ラジコンカー DNN 異異なる構成の物理理デバイス群 シミューレーター データ同化 シミューレーター 他ラジコンカーと 学習モデルを共有 転移学習
  23. 23. PFNの取り組み 23
  24. 24. Edge-‐‑‒Heavy  Computing u  ネットワークのエッジ(縁)上で処理理をすることが重要となる u  クラウドの中央集権型の処理理から、エッジ側での協調処理理へと向かう 24
  25. 25. Edge  Heavy  Computingに向けた分散プラットフォーム 25 センシング 組織化 分析 ⾏行行動 フィードバック クラウド エッジ l  全ての処理理をエッジ、クラウドが協調してシームレスに処理理できるように –  全てをクラウドにあげるのではなく、全てをエッジで独⽴立立に処理理するのでもなく 必要に応じて処理理する場所を⾃自由に変えられるように l  全ての処理理を学習可能に –  Neural  Turing  Machineが全ての要素を微分可能にして学習可能にしたように 全ての要素を学習可能にし、フィードバックに応じて挙動を最適化し続ける
  26. 26. DiMO  (Deep  Intelligence  in  Motion) 26 Automo&ve   26 Fog  devices  Cloud   Edge  devices   SensorBee:  stream  query  engine  for  IoT   Feedback  &  Ac&on   …   Data  Transforma&on  Data  I/O   Sensor  fusion  Machine  learning  Deep  learning   Manufacturing   Medical/healthcare   Others  will  be  added   Self-­‐driving   ADAS/Map   Connected  car   Product  behavior   op&miza&on   Factory   automa&on   Predic&ve   maintenance   Diagnosis   Drug  discovery   Personalized   medicine   本情報は2015年6月時点での情報であり、今後変更する可能性があります。
  27. 27. 製造業:DNN+IoTでどう変わるのか l  安全な製造現場 –  危険な作業の無⼈人化、⼈人が範囲に⼊入った場合の緊急停⽌止 l  ⽌止まらない⼯工場 –  予防保全による異異常の事前察知、計画メンテナンス l  柔軟な⽣生産ライン –  この部品は標準より多く削られているから、組み⽴立立ての際は気をつけよう l  より広いタスクの完全⾃自動化 –  積み込み、加⼯工、パッキング、組み⽴立立ての⾃自動化 l  均⼀一的な製品の⼤大量量⽣生産から、少量量多品種、オンデマンド⽣生産が多くなる –  ⽴立立ち上げコストの最⼩小化 27
  28. 28. 交通システム:DNN  +  IoTでどう変わるのか l  DNN  +  IoTにより交通事故を劇的に減らすことができる l  世界では毎年年、130万⼈人が交通事故で死亡、2000万⼈人が負傷している –  そのうち半数が歩⾏行行者や⾃自転⾞車車 –  交通事故の90%はドライバーの不不注意で起きている l  交通システムにDNN  +  IoTが埋め込まれることで交通事故を劇的に減らす –  ADAS(先進運転⽀支援システム)搭載、⾃自動運転(半⾃自動運転のレベル2から完全⾃自 動運転のレベル4)が2020年年中旬ぐらいまでを⽬目処に急速に進む –  ⼈人間の不不注意を防げる(死⾓角に⼈人がいた場合にアラート、回避⾏行行動) –  ⼈人間では感知できない複数のセンサからの情報を利利⽤用可能に –  初めて⾛走る場所の理理想的な⾛走⾏行行経路路をサポートされる –  ヒヤリ・ハットや実際の事故のパターンから学習する 28
  29. 29. 交通状況認識識システム案 路側インフラ設備 ⾃自動⾞車車と交通状況情報/制 御情報を通信する、低遅 延・⾼高信頼かつモビリティ をサポートした無線技術 画像・センサ情報の解 析による⾃自動⾞車車・歩⾏行行 者の位置・移動速度度・ 属性・確信度度などの空 間情報の抽出 エッジコンピューティング基盤 他⾞車車情報も含めた複数⾞車車 両の協調動作(スピー ド・ブレーキ)、信号・ 掲⽰示板等の制御 交通状況情報を解析す るための分散リアルタ イム計算処理理設備 RSU/カメラ/センサなどと、 計算リソースを搭載した低コスト の路路側インフラ設備 エリア内の情報を統合するエッジコ ンピューティング基盤と、計算処理理 設備間や歩⾏行行者端末等を⾼高速接続す る光/モバイルNW 交通状況 情報AP 交通状況 情報AP エリア 統合AP 対象エリアの地図な ど空間情報の⾞車車両へ の配信とキャッシュ 光NW V2X通信 路側インフラ設備 *電柱、信号、街灯など 移動に伴うハンドオーバー モバイルNW クラウドへ
  30. 30. バイオヘルスケア:DNN+IoTでどう変わるか 30 ゲノム 遺伝⼦子発現 バイオ アッセイ 化合物 疾患 健康状態 表現型 予測 活性予測 分化予測 がん化 予測 個別化医療療 創薬 診断支援 マルチモーダル バイオリソース 深層学習ベース の解析インフラ 予測モデル の構築 研究・医療・ ヘルスケアへの応用
  31. 31. マルチタスクによる活性予測の精度度向上 31 •  全結合隠れ層2-3層 •  500-2500ユニット/層 •  Dropout •  Minibatch SGD 10010011010100010 フィンガー プリント アッセイ A 複数ターゲット 同時に活性予 測 1 0 Active!! 1 0 Active!! 0 1 Inactive!! 化合物 データ バイオアッセイ データ PubChem データベース •  19アッセイ •  20万化合物 Deep Neural Net を共有 アッセイ B
  32. 32. 深層学習フレームワーク:Chainer
  33. 33. DNNフレームワークの現状 固定⻑⾧長データから可変⻑⾧長データへ x 1 x N h 1 h H k M k 1 ⼊入出⼒力力 応⽤用 タスク アーキテク チャ これまで 固定⻑⾧長 画像・⾳音声 分類・回帰 全結合, CNN これから 可変⻑⾧長 映像・⾳音声 ⾃自然⾔言語・IoT 強化学習 プログラム実⾏行行 RNN, LSTM, NTM CNN(LeNet) RNN LSTM
  34. 34. アーキテクチャの複雑化 l  深層学習で扱われるアーキテクチャーの複雑化 –  GoogLeNet RNN, LSTM l  既存フレームワークではネットワークの記述は困難 –  繰り返し構造、分岐などプログラムと同レベルの複雑さ 34 Chainer Caffe 167⾏行行 2058⾏行行 GoogleNetのアーキテクチャ定義の必要行数 (2012) Supervision, 7層 ↑ (2014) GoogLeNet, 22層→
  35. 35. Chainer : 深層学習フレームワークOSSをリリースします ü  今⽇日より公開(chainer.org)   ü  Python + CUDA ü  系列列・可変⻑⾧長データの学習固有のアルゴリズムをネイティブにサポート ü  任意のアーキテクチャを実現可能 ü  マルチGPU対応(Model Parallel / Data Parallel)35
  36. 36. 既存フレームワークとの⽐比較 主要実装⾔言語 Python C++ Lua Python 主要開発者 Preferred Networks Inc. BVLC Idiap Research Institute, DeepMind Univ. of Montreal コミュニティ - ◎ ○ ○ RNN/LSTM対応 ◎ × ○ ○ 動的ネットワー ク構築 ○ × × × 拡張性 ○ △ ○ ○ ネットワーク設 計 ⾔言語内DSL 設定ファイル (prototxt) ⾔言語内DSL 設定ファイル (YAML) 特徴 ネットワーク動 的構築による省省 リソース 画像認識識が得意 LuaJITによる⾼高 速化 ⾃自動微分機構 Chainer 36
  37. 37. Copyright  ©  2015-‐‑‒ Preferred  Networks  All  Right  Reserved.
  38. 38. VAEの導出 l  P(x|z)  に⾮非線型モデルを利利⽤用した場合,p(z|x)を求めることは⼀一般に困難 l  p(z|x)を近似する別の⾮非線型モデル  q(z|x)  を⽤用意する l  尤度度の変分下限 38 あたかも、qで  x→z  と符号化 した後にpでz→xと復復号化 したようにみえる log p✓(x) L(✓, ; x) = DKL(q (z|x)||p✓(z)) + Eq (z|x) [log p✓(x|z)] 認識識モデルq(z|x)に対する 事前確率率率による正則化の効果 p(x|z) 復復号化 q(z|x) ≒  p(z|x) 符号化 z x p(x|z)とq(z|x)のどちらもニューラルネットワークで 表し、下限L(θ,  φ;  x)をθとφについて最⼤大化 Reparameterization  Trick  +  逆誤差伝播法で 効率率率的に学習可能
  39. 39. 強化学習におけるQ学習 l  状態s,  ⾏行行動aにおける将来の期待報酬  Q(s,  a)  を求めたい l  Bellman⽅方程式:最適なQ*では次が成り⽴立立つ  Q*(s,  a)  =  Esʼ’  [r  +  γ  maxaʼ’  Q*(sʼ’,  aʼ’)  |  s,  a] –  Q学習 –  Q(s,  a)のテーブルを初期化 –  それぞれの状態  sについて –  ある⽅方策にもとづき⾏行行動  aを選ぶ –  ⾏行行動aをとり,報酬rと次の状態sʼ’を観測 –  Q(s,  a)  :=  Q(s,  a)  +  α  [r  +  γ  maxaʼ’  Q(sʼ’,  aʼ’)  –  Q(s,  a)] –   s  =  sʼ’ 39 実際のQ値と今のQ値との差

×