Skip to main content
深層学習
著:岡本  孝之  
NAIST	
Computational  Linguistic  Lab  	
D1  Masayoshi  Kondo
1・2章
00:  はじめに
【⽬目的と狙い】
•  Deep  Learningに興味があるけど詳しくは分からない理理系修⼠士学⽣生向け
•  実⽤用的なことよりも基礎的知識識を重視
•  今後論論⽂文を読んで⾏行行く上での基礎体⼒力力を滋養し、各学⽣生の理理解速度度の向上が狙い
【ガイドライン】
•  「深層学習(講談社  :  岡本  貴之  著)」の本をまとめる形で発表
•  全8章の165ページから構成
•  本の内容に準拠(本に記載されていない内容・表現を知っている場合でも原則的
には記載を控える。あくまでも本の内容に忠実。)
•  ただし、適宜、参考⽂文献や関連論論⽂文等はあれば記載していくつもり
•  理理系(情報⼯工学系)の⼤大学学部4年年⽣生が理理解できるくらいをイメージしてまとめる
今回  :  第1章・第2章
XX:  緑のスライドとは?  
書籍(本書)には記載されていないが、必要箇所の説明に際し
補助・追記として個⼈人的に記載が必要と思われた場合には、
緑⾊色のページに適宜載せることとする.
•  本には載っていないけど、あえて追加説明したい場合は、
緑スライドに書くことにする.
•  緑スライドに書かれる内容は本には記載されていない.
00:  はじめに
全8章
•  【第1章】はじめに
•  【第2章】順伝搬型ネットワーク
•  【第3章】確率率率的勾配降降下法
•  【第4章】誤差逆伝搬法
•  【第5章】⾃自⼰己符号化器
•  【第6章】畳込みニューラルネット(CNN)
•  【第7章】再帰型ニューラルネット(RNN)
•  【第8章】ボルツマンマシン
00:  はじめに
全8章
•  【第1章】はじめに
•  【第2章】順伝搬型ネットワーク
•  【第3章】確率率率的勾配降降下法
•  【第4章】誤差逆伝搬法
•  【第5章】⾃自⼰己符号化器
•  【第6章】畳込みニューラルネット(CNN)
•  【第7章】再帰型ニューラルネット(RNN)
•  【第8章】ボルツマンマシン
00:  はじめに  -‐‑‒  まとめ  -‐‑‒
深層学習(Deep  Learning)  /  ニューラルネット  を使って分析するとは
•  ネットワークの構造  を決める
•  活性化関数  を決める
•  学習⽅方法(誤差関数と最適化法)  を決める
の3つを⾏行行うことである
第1章  はじめに
    1.1  研究の歴史
    1.2  本書の構成
第2章  順伝搬型ネットワーク
    2.1  ユニットの出⼒力力
    2.2  活性化関数
    2.3  多層ネットワーク
    2.4  出⼒力力層の設計と誤差関数
第1章  はじめに
    1.1  研究の歴史
    1.2  本書の構成
第2章  順伝搬型ネットワーク
    2.1  ユニットの出⼒力力
    2.2  活性化関数
    2.3  多層ネットワーク
    2.4  出⼒力力層の設計と誤差関数
現在
1940年年代 1990年年
ニューラルネット
誕⽣生
1980年年
01:  研究の歴史  
1.1.1  多層ニューラルネットへの期待と失望
2度度⽬目の研究ブーム
【1980年年代半ばに興った研究ブームが終わった理理由】
1.  誤差逆伝搬法による学習法では、3層以上のニューラルネットでは過学習が
⽣生じ期待した成果が得られない
2.  ニューラルネットには層数・ユニット数・学習⽤用変数等の多数のパラメータ
が存在するのにそれらが最終的に性能とどのように結びつくかが分からない
<例例外>  :  畳込みニューラルネット(Convolutional  Neural  Network)
•  主に画像解析に利利⽤用
•  1980年年代後半に5層での多層ネットワークの学習に成功
•  ネオコグニトロンをルーツに持ち、誤差逆伝搬法による学習を⾏行行う
研究ブーム終了了!
学習時にランダム初期化されたパラメータを最適化しようとするから難しい。
だったら、学習の前に良良い初期値を求める「事前学習」を⾏行行えばよくね?
【解決】:  A  fast  learning  algorithm  for  deep  belief  nets.  (2006,  Hinton+)
⽬目的とするネットワークの学習前に、層ごとに学習を⾏行行うことで
パラメータの良良い初期値を得る⽅方法
事前学習(pretraining)
Hintonらは、DBN(Deep  Belief  Network)に対して各層をRBM(Restricted  
Boltzman  Machine)とみなし、⼊入⼒力力層側から貪欲法の考え⽅方に従って順番に教
師なし学習を⾏行行い、多層ネットワークの実⽤用化を達成
【課題】:  誤差逆伝搬法では多層化したネットワークの学習は困難
勾配消失問題  
多層化したネットワークでは誤差逆伝搬法での学習を⾏行行うと、⼊入⼒力力層から離離
れた「深い」層に計算が進むに連れて、勾配が急速に⼩小さく・⼤大きくなって
発散してしまう現象
02:  研究の歴史  
1.1.2  多層ネットワークの事前学習(pre-‐‑‒training)
その後:⾃自⼰己符号化器(auto-‐‑‒encoder)を利利⽤用した多層ネットワークの事前学習も可能
[ex.1]:  Emergence  of  simple-‐‑‒cell  receptive  field  properties  by  learning  a  
                      sparse  code  for  natural  images  (Nature,  1996)
[実験]:  ⾃自然画像から切切り出したパッチ集合を対象にスパース符号化
                      (sparse  encoding)  によって辞書(基底)を学習
[結果]:  哺乳類の脳の初期視覚野で取り出されるとされる”ガボールウェーブレット”
          状の基底が得られる
[ex.2]:  Sparse  deep  belief  net  model  for  visual  area  (NIPS,  2008)
[実験]:  ⾃自然画像のパッチを2層以上のネットワーク(RBMを重ねたもの)で学習
[結果]:  霊⻑⾧長類の視覚野のV2領領域に⾒見見られるとされる特徴に類似した特徴が学習される
03:  研究の歴史  
1.1.3  特徴量量の学習
【仮説】画像や⾳音声など⾃自然界のデータは、⼀一般的に⾼高次元空間上に存在し強い
        偏りを持ちながら複雑に広がっていると考えられる
Thatʼ’s  very  interesting,  I  can  learn  a  lot  from  you!  That’s  very  interesting,  I  can  
learn  a  lot  from  you!
【科学者の興味・関⼼心】
多層ネットワークが⾃自然界のデータを学習した際に、⾃自然界のデータの持つ構造
がどのようにネットワークの多層構造に捉えられて表現されるのだろうか?
-‐‑‒  過去の研究
深層学習:多層ニューラルネットワークのこと。ディープネットとも⾔言う.
-‐‑‒  実際にはいくつかの異異なる⽅方法論論の総体を指し、問題毎に使い分けられている
04:  研究の歴史  
1.1.4  深層学習の隆盛
•  ウェブ技術の進化:⼤大規模データの収集が可能になった
•  計算機の進化    :計算性能の⾶飛躍的な向上
複雑な問題に⾒見見合う規模のニューラルネットを学習するための環境が整った
【深層学習の成功要因】
【最近の深層学習成功の本質】
現実世界の⼤大規模な問題に多層ニューラルネット(深層学習)を試した結果、
思わぬ性能が出ることが分かった、ということ
【⾳音声認識識】:  層間ユニットが全結合したネットワーク
【画像認識識】:  畳込みニューラルネット
【⾃自然⾔言語処理理】:  再帰型ニューラルネット  (Recurrent  Neural  Network)
第1章  はじめに
    1.1  研究の歴史
    1.2  本書の構成
第2章  順伝搬型ネットワーク
    2.1  ユニットの出⼒力力
    2.2  活性化関数
    2.3  多層ネットワーク
    2.4  出⼒力力層の設計と誤差関数
気になる⼈人は
本書を購⼊入!
第1章  はじめに
    1.1  研究の歴史
    1.2  本書の構成
第2章  順伝搬型ネットワーク
    2.1  ユニットの出⼒力力
    2.2  活性化関数
    2.3  多層ネットワーク
    2.4  出⼒力力層の設計と誤差関数
【順伝搬型ニューラルネットワーク  (Feedforward  Neural  Network)】
•  層状に並べたユニットが隣隣接層間でのみ結合した構造を持つ
•  情報が⼊入⼒力力側から出⼒力力側へ⼀一⽅方向にのみ伝搬する
•  別名:多層パーセプトロン  (multi-‐‑‒layer  perceptron)
05:  順伝搬型ネットワーク  
2.1  ユニットの出⼒力力
x1
x2
x3
x4
⼊入
⼒力力
ベ
ク
ト
ル
f  
活性化関数
z
出⼒力力
u z
<ユニット図>
(※  u,  z  :  変数)
順伝搬型ネットワークでは
上記ユニットが層状に並べられ、層間でのみ結合をもつ
06:  順伝搬型ネットワーク  
2.1  ユニットの出⼒力力
x1
x2
x3
x4
⼊入
⼒力力
ベ
ク
ト
ル
f  
活性化関数
z
出⼒力力
u z
<ユニット図>
(※  u,  z  :  変数)
z = f (u)
u = w1x1 + w2 x2 + w3x3 + w4x4 + b
[総⼊入⼒力力] [重み(Weight)] [⼊入⼒力力] [バイアス]
「学習」
⼊入⼒力力データから
[重み(Weight)]と[バイアス]のパラメータを定めること
Z = f (u)
u = Wx + b
!
"
#
$#
07:  順伝搬型ネットワーク  
2.1  ユニットの出⼒力力
ベクトルと⾏行行列列の計算式に直してみる
u =
u1
!
uJ
!
"
#
#
#
#
$
%
&
&
&
&
x =
x1
!
xI
!
"
#
#
#
#
$
%
&
&
&
&
b =
b1
!
bJ
!
"
#
#
#
#
$
%
&
&
&
&
Z =
z1
!
zJ
!
"
#
#
#
#
$
%
&
&
&
&
W =
w11 ! w1I
! " !
wJ1 ! wJI
!
"
#
#
#
#
#
#
$
%
&
&
&
&
&
&
f (u) =
f (u1)
!
f (uj )
!
"
#
#
#
#
$
%
&
&
&
&
第1章  はじめに
    1.1  研究の歴史
    1.2  本書の構成
第2章  順伝搬型ネットワーク
    2.1  ユニットの出⼒力力
    2.2  活性化関数
    2.3  多層ネットワーク
    2.4  出⼒力力層の設計と誤差関数
08:  順伝搬型ネットワーク  
2.2  活性化関数
通常、活性化関数は単調増加する⾮非線形関数が利利⽤用される
・ロジスティックシグモイド関数  or  ロジスティック関数
(logistic  sigmoid  function)            or      (logistic  function)
f (u) =
1
1+e−u
(−∞ < u < ∞)
・双曲線正接関数
f (u) = tanh(u) (−∞ < u < ∞)
-5 -4 -3 -2 -1 0 1 2 3 4 5
-2
-1.5
-1
-0.5
0.5
1
1.5
2
【シグモイド関数】:⽣生物の神経細胞が持つ性質をモ
デル化したもので、⼊入⼒力力の絶対値が多きな値を取ると
出⼒力力が飽和し⼀一定値となり、その間の⼊入⼒力力に対して出
⼒力力が徐々にかつ滑滑らかに変化することが特徴の関数。
-5 -4 -3 -2 -1 0 1 2 3 4 5
-2
-1
1
2
何を使えば良良いの?
09:  順伝搬型ネットワーク  
2.2  活性化関数
・正規化線形関数  (Retified  Linear  Function  or  Unit:  ReLU)
f (u) = max(u,0)
•  単純で計算量量が⼩小さい
•  前述の2つの関数に⽐比べて学習が早く進み、最終
的な結果も良良い解が得られやすい
•  現時点で最もよく利利⽤用されている  (2015年年時点)
-5 -4 -3 -2 -1 0 1 2 3 4 5
-5
-4
-3
-2
-1
1
2
3
4
5
・その他の関数
(i)  恒等写像 (ii)  ロジスティック関数を区分的に直線で近似した関数
f (u) = u f (u) =
1 (u ≥1)
u (−1≤ u <1)
−1 (u < −1)
$
%
&
'
&
通常、活性化関数は単調増加する⾮非線形関数が利利⽤用される何を使えば良良いの?
(iii)  マックスアウト関数  (Maxout)
・その他の関数
ujk = wjikzi + bjk
i
∑ (k =1,!,K)
f (uj ) = max
k=1,!,K
ujk
"
#
$
%
$
マックスアウト関数を持つユニットは、そのユニットひとつに対してK個
の異異なるユニットをまとめてひとつにしたような構造を持ち、それぞれの
総⼊入⼒力力を                  と別々に計算した後、それらの最⼤大値をその
ユニットの出⼒力力とする。
uj1,uj2,!,ujK
【良良いところ】
【悪いところ】
正規化線形関数(ReLU)使った
ネットワークを凌凌ぐ結果を
出している
パラメータ数が普通のユニッ
トのK倍あることから、それほ
どよく使⽤用される訳ではない
10:  順伝搬型ネットワーク  
2.2  活性化関数
通常、活性化関数は単調増加する⾮非線形関数が利利⽤用される何を使えば良良いの?
第1章  はじめに
    1.1  研究の歴史
    1.2  本書の構成
第2章  順伝搬型ネットワーク
    2.1  ユニットの出⼒力力
    2.2  活性化関数
    2.3  多層ネットワーク
    2.4  出⼒力力層の設計と誤差関数
x1
x2
x3
x4
11:  順伝搬型ネットワーク  
2.3  多層ネットワーク
⼊入
⼒力力
ベ
ク
ト
ル
y1
y2
[⼊入⼒力力層]
(input  layer)
[中間層  or  隠れ層]
(internal  layer  or  hidden  layer)
[出⼒力力層]
(output  layer)
例例:3層ネットワーク
層(l+1)のユニットの出⼒力力z(l+1)は、ひとつ下の層lのユニットの出⼒力力z(l)から
u(l+1)
= w(l+1)
z(l)
+ b(l+1)
z(l+1)
= f (u(l+1)
)
として計算できる
ココを複数層にしてもOK!!
第1章  はじめに
    1.1  研究の歴史
    1.2  本書の構成
第2章  順伝搬型ネットワーク
    2.1  ユニットの出⼒力力
    2.2  活性化関数
    2.3  多層ネットワーク
    2.4  出⼒力力層の設計と誤差関数
2.4.1  学習の枠組み  
順伝搬型ネットワークが表現する関数y(x;w)は、ネットワークのパラメータ
wを変えると変化し、良良いwを選択することでこのネットワークが望みの関数
を与える。
12:  順伝搬型ネットワーク  (出⼒力力層の設計と誤差関数)  
{(x1,d1),(x2,d2 ),!,(xn,dn )}訓練データ  :  
観測データ 望ましい出⼒力力(正解ラベル)
[学習]:  ⼊入⼒力力xnが与えられた時、ネットワークの出⼒力力y(xn;w)がなるべくdnに近くなる
          ようにwを調整すること
[誤差関数]:  ネットワークが表すy(xn;w)と訓練データとの近さの尺度度のこと
問題の種別 出⼒力力層の活性化関数 誤差関数
回帰 恒等写像 ⼆二乗誤差
⼆二値分類 ロジスティック関数 尤度度に基づいた誤差関数
多クラス分類 ソフトマックス関数 交差エントロピー
2.4.2  回帰(Regression)  /  2.4.3  ⼆二値分類  
【  回帰(Regression)  】
•  主に連続値をとる関数を対象に訓練データをよく再現するような関数を定めること
•  ネットワークの出⼒力力層の活性化関数に、その値域が⽬目標とする関数の値域と⼀一致
    するようなものを選択する必要がある
<誤差関数>:⼆二乗誤差(最も⼀一般的な誤差関数)
E(w) =
1
2
dn − y(xn;w)
2
n=1
N
∑
13:  順伝搬型ネットワーク  (出⼒力力層の設計と誤差関数)  
【  ⼆二値分類  】
•  ⼊入⼒力力xに応じて2種類に区別するような関数を定めること  →  d  =  {0,  1}
•  xを指定した時、ニューラルネット全体の⼊入出⼒力力関係y(x;w)を事後確率率率のモデルと
みなして、d=1となる事後確率率率をモデル化する
<誤差関数>:
E(w) = − dn log y(xn;w)+(1− dn )log{1− y(xn;w)}[ ]
n=1
N
∑
2.4.3  多クラス分類    
14:  順伝搬型ネットワーク  (出⼒力力層の設計と誤差関数)  
•  ⼊入⼒力力xに応じて有限個のクラスに分類する関数を定めること
•  多クラス分類を対象とする場合、ネットワークの出⼒力力層に分類したいクラス数Kと
同数のユニットを並べ、この層の活性化関数にソフトマックス関数を選択する
【ソフトマックス関数(Softmax  Function)】
yk ≡ zk
(L)
=
exp(uk
(L)
)
exp(uj
(L)
)
j=1
K
∑
<誤差関数>:交差エントロピー  (Cross  Entropy)
E(w) = − dnk log yk (xn;w)
k=1
K
∑
n=1
N
∑