1. 1. ⽇日本神経回路路学会セミナーDeep Learningが拓拓く世界Deep Learning実装の基礎と実践2014/08/26 京都⼤大学東京オフィス株式会社Preferred Networks得居 誠也
  2. 2. ⾃自⼰己紹介l 得居 誠也 (Seiya Tokui)l Preferred Networks リサーチャーl Jubatus のアルゴリズム開発– Jubatus: NTTとPFIで共同開発しているオープンソースの分散リアルタイム機械学習基盤 http://jubat.us/ l 現在は映像解析とディープラーニングの研究開発に従事2
  3. 3. ニューラルネットの基礎、実装、実験について話しますl ニューラルネットの道具– 全体の構成、⾏行行列列による表現、損失関数、誤差逆伝播、SGDl 主要な実装– Pylearn2, Torch7, Caffe, Cuda-‐‑‒convnet2l フレームワークの基本的な設計– テンソルデータ、レイヤー、ネット、最適化ルーチン– アーキテクチャの記述⽅方法(宣⾔言的、スクリプティング)l 実験の進め⽅方– データの前処理理、アーキテクチャの設計、パラメータの初期値、正則化、学習率率率の初期値と調節、モーメンタム– 評価の⽅方法、プロット、パラメータの可視化– 中断・レジューム、パラメータの差し替え3
  4. 4. ニューラルネットの道具
  5. 5. Deep LearningいろいろNeural Network: 右図のような計算グラフで表される⾮非線形関数Convolutional NN: 画像や⾳音声などの構造を反映したNNの⼀一種Deep Belief Network(左),Deep Boltzmann Machine(右):多層のグラフィカルモデル(確率率率モデル)※今⽇日は触れません“Deep” の定義は⽂文脈により様々。普通は3層以上で深いと⾔言われる5
  6. 6. Feed-‐‑‒Forward Neural Network(結合)重みx ⼊入⼒力力層隠れ層隠れ層出⼒力力層1wj1x2wj2x3wj3x4wj4ユニット活性hj = f(wj1x1 + · · · + wj4x4 + bj)活性化関数 バイアス項= f(wj x + bj)重みとバイアス項を調節して、望みの予測を得られるようにするのが学習の⽬目標
  7. 7. Feed-‐‑‒Forward Neural Network(⾏行行列列で書く)各層をベクトルで表して以下のように書くことが多いh = f(Wx+ b)下図のように3層の場合だとy = f3(W3f2(W2f1(W1x + b1) + b2) + b3)W1 W2 W3x h1 h2 y
  8. 8. 最適化としての学習l モデルの出⼒力力(予測)と正解とがよく⼀一致するほど⼩小さくなるような値(損失 loss)を考えるl 各教師データごとの損失の平均を⽬目的関数とするのが⼀一般的L(W) =1NXNi=1`(y(xi;W), yi)l 学習=⽬目的関数の最⼩小化`y(x;W)(xi, yi)i=1,...,NWl 損失関数:エントロピー誤差(分類)や⼆二乗誤差(回帰)8損失関数モデルの予測各教師データ予測器の重みminimize (パラメータ)WL(W)`(y, yi) = ky − y1k2 (⼆二乗誤差)
  9. 9. 最適化⼿手法:勾配降降下法⽬目的関数の勾配 gradient の⽅方向に向かって重みを動かしていく(次式の更更新を繰り返す)W W − ⌘rL(W)学習率率率勾配ベクトル9L の等⾼高線極⼩小点
  10. 10. 確率率率的勾配降降下法Stochastic Gradient Descent (SGD)l 教師データ全部を⾒見見ず、⼀一部(ミニバッチ)だけを⾒見見て勾配を計算する( :ミニバッチ)l 最初にデータセットをランダムシャッフルして、前から 個ずつミニバッチとして取り出して更更新するのが⼀一般的– データの順序に偏りがある場合、シャッフルしないと性能が⼤大きく落落ちる– 理理論論的には毎回ランダムにミニバッチを選ぶのが収束の速さという意味で良良いが、ランダムアクセスが増えるので実際には遅くなることが多い10B|B|W W −⌘|B|Xi2Br`(y(xi;W), yi)
  11. 11. モーメンタム法l SGD は勾配のブレが⼤大きいとなかなか収束しないl ブレを低減するために、勾配の移動平均(モーメンタム)を使う11h h + μ1|B|Xni2Br`(y(xi;W), yi),モーメンタムモーメンタム係数W W − ⌘h.W(t)r`W(t
Please download to view
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
...

Deep learning実装の基礎と実践

by seiya-tokui

on

Report

Category:

Engineering

Download: 0

Comment: 0

39,899

views

Comments

Description

Download Deep learning実装の基礎と実践

Transcript

  1. 1. ⽇日本神経回路路学会セミナーDeep Learningが拓拓く世界Deep Learning実装の基礎と実践2014/08/26 京都⼤大学東京オフィス株式会社Preferred Networks得居 誠也
  2. 2. ⾃自⼰己紹介l 得居 誠也 (Seiya Tokui)l Preferred Networks リサーチャーl Jubatus のアルゴリズム開発– Jubatus: NTTとPFIで共同開発しているオープンソースの分散リアルタイム機械学習基盤 http://jubat.us/ l 現在は映像解析とディープラーニングの研究開発に従事2
  3. 3. ニューラルネットの基礎、実装、実験について話しますl ニューラルネットの道具– 全体の構成、⾏行行列列による表現、損失関数、誤差逆伝播、SGDl 主要な実装– Pylearn2, Torch7, Caffe, Cuda-‐‑‒convnet2l フレームワークの基本的な設計– テンソルデータ、レイヤー、ネット、最適化ルーチン– アーキテクチャの記述⽅方法(宣⾔言的、スクリプティング)l 実験の進め⽅方– データの前処理理、アーキテクチャの設計、パラメータの初期値、正則化、学習率率率の初期値と調節、モーメンタム– 評価の⽅方法、プロット、パラメータの可視化– 中断・レジューム、パラメータの差し替え3
  4. 4. ニューラルネットの道具
  5. 5. Deep LearningいろいろNeural Network: 右図のような計算グラフで表される⾮非線形関数Convolutional NN: 画像や⾳音声などの構造を反映したNNの⼀一種Deep Belief Network(左),Deep Boltzmann Machine(右):多層のグラフィカルモデル(確率率率モデル)※今⽇日は触れません“Deep” の定義は⽂文脈により様々。普通は3層以上で深いと⾔言われる5
  6. 6. Feed-‐‑‒Forward Neural Network(結合)重みx ⼊入⼒力力層隠れ層隠れ層出⼒力力層1wj1x2wj2x3wj3x4wj4ユニット活性hj = f(wj1x1 + · · · + wj4x4 + bj)活性化関数 バイアス項= f(wj x + bj)重みとバイアス項を調節して、望みの予測を得られるようにするのが学習の⽬目標
  7. 7. Feed-‐‑‒Forward Neural Network(⾏行行列列で書く)各層をベクトルで表して以下のように書くことが多いh = f(Wx+ b)下図のように3層の場合だとy = f3(W3f2(W2f1(W1x + b1) + b2) + b3)W1 W2 W3x h1 h2 y
  8. 8. 最適化としての学習l モデルの出⼒力力(予測)と正解とがよく⼀一致するほど⼩小さくなるような値(損失 loss)を考えるl 各教師データごとの損失の平均を⽬目的関数とするのが⼀一般的L(W) =1NXNi=1`(y(xi;W), yi)l 学習=⽬目的関数の最⼩小化`y(x;W)(xi, yi)i=1,...,NWl 損失関数:エントロピー誤差(分類)や⼆二乗誤差(回帰)8損失関数モデルの予測各教師データ予測器の重みminimize (パラメータ)WL(W)`(y, yi) = ky − y1k2 (⼆二乗誤差)
  9. 9. 最適化⼿手法:勾配降降下法⽬目的関数の勾配 gradient の⽅方向に向かって重みを動かしていく(次式の更更新を繰り返す)W W − ⌘rL(W)学習率率率勾配ベクトル9L の等⾼高線極⼩小点
  10. 10. 確率率率的勾配降降下法Stochastic Gradient Descent (SGD)l 教師データ全部を⾒見見ず、⼀一部(ミニバッチ)だけを⾒見見て勾配を計算する( :ミニバッチ)l 最初にデータセットをランダムシャッフルして、前から 個ずつミニバッチとして取り出して更更新するのが⼀一般的– データの順序に偏りがある場合、シャッフルしないと性能が⼤大きく落落ちる– 理理論論的には毎回ランダムにミニバッチを選ぶのが収束の速さという意味で良良いが、ランダムアクセスが増えるので実際には遅くなることが多い10B|B|W W −⌘|B|Xi2Br`(y(xi;W), yi)
  11. 11. モーメンタム法l SGD は勾配のブレが⼤大きいとなかなか収束しないl ブレを低減するために、勾配の移動平均(モーメンタム)を使う11h h + μ1|B|Xni2Br`(y(xi;W), yi),モーメンタムモーメンタム係数W W − ⌘h.W(t)r`W(t
Fly UP