Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Chapter 2: 

順伝播型ネットワーク
機械学習プロフェッショナルシリーズ輪読会
∼「深層学習」編∼

@a_macbee
最も基本的なニューラルネットワーク
順伝播型 (ニューラル) ネットワーク
について学びます
• 2.1 ユニットの出力
• 2.2 活性化関数
• 2.3 多層ネットワーク
• 2.4 出力層の設計と誤差関数
• 2.4.1 学習の枠組み
• 2.4.2 回帰
• 2.4.3 二値分類
• 2.4.4 多クラス分類
• 2.1 ユニットの出力
• 2.2 活性化関数
• 2.3 多層ネットワーク
• 2.4 出力層の設計と誤差関数
• 2.4.1 学習の枠組み
• 2.4.2 回帰
• 2.4.3 二値分類
• 2.4.4 多クラス分類
順伝播型ネットワーク
• 層状に並べたユニット
• 隣接層間のみで結合した構造
• 情報が入力側から出力側の一方向にのみ伝播
u z z
x1
x2
x3
x4
w:重み (weight)
b:バイアス (bias)
f:活性化関数
順伝播型ネットワーク
• ユニットが層状に並べられ,層間でのみ結合

左の層のユニットの出力が右の層のユニットの入力になる
第1層:i = 1, …, I
第2層:j = 1, …, Ju1 z1 z1
u2 z2
u3 z3
z2
z3
x4...
• 2.1 ユニットの出力
• 2.2 活性化関数
• 2.3 多層ネットワーク
• 2.4 出力層の設計と誤差関数
• 2.4.1 学習の枠組み
• 2.4.2 回帰
• 2.4.3 二値分類
• 2.4.4 多クラス分類
活性化関数
• 通常,単調増加する非線形関数が用いられる
• よく使われるのはロジスティックシグモイド
関数 (logistic sigmoid function)
• 双曲線正接関数を使うこともある
これらはシグモイド関数 (sigmoid ...
活性化関数
• 近年は,正規化線形関数 (rectified linear
function) がよく利用される
• 単純で計算量が小さい
• シグモイド関数よりも学習がより速く進む
• 最終的にもよりよい結果が得られる
※8章で改めて説明がある...
活性化関数
• その他の活性化関数たち
• 線形写像・恒等写像

※部分的に利用されることがある
• ロジスティック関数を区分的に直線で近似
活性化関数
• その他の活性化関数たち
• マックスアウト (maxout) 関数

K個の異なるユニットをまとめたような構造

正規化線形関数よりも高い性能を示す
• 2.1 ユニットの出力
• 2.2 活性化関数
• 2.3 多層ネットワーク
• 2.4 出力層の設計と誤差関数
• 2.4.1 学習の枠組み
• 2.4.2 回帰
• 2.4.3 二値分類
• 2.4.4 多クラス分類
多層ネットワーク
y1
y2
x1
x1
x1
x1
l&=&1
l&=&2
l&=&3
z(1)
z(2)
z(3)
入力層 中間層
(隠れ層)
出力層
最終出力をyとおく
各層で異なる
活性化関数 f を
利用して良い
※一般的に出力層は違...
• 2.1 ユニットの出力
• 2.2 活性化関数
• 2.3 多層ネットワーク
• 2.4 出力層の設計と誤差関数
• 2.4.1 学習の枠組み
• 2.4.2 回帰
• 2.4.3 二値分類
• 2.4.4 多クラス分類
学習の枠組み
• 順伝播型ネットワークの肝はパラメータ w

w を調整することで入出力ペアを再現したい
X = {x1, …, xN}:訓練データ (training data)
D = {d1, …, dN}:x に対応する望ましい出力
ネ...
学習の枠組み
問題の種別 出力層の活性化関数 誤差関数
回帰 恒等写像 二乗誤差 式 (2.6) ※後述
二値分類 ロジスティック関数 式 (2.8) ※後述
多クラス分類 ソフトマックス関数
交差エントロピー 式 (2.11)
※後述
※具体...
• 2.1 ユニットの出力
• 2.2 活性化関数
• 2.3 多層ネットワーク
• 2.4 出力層の設計と誤差関数
• 2.4.1 学習の枠組み
• 2.4.2 回帰
• 2.4.3 二値分類
• 2.4.4 多クラス分類
回帰 (regression)
• 出力が連続値の場合

ネットワーク出力層の活性化関数は,値域に応
じて決める
• 値域 [-1:1] - 正接双曲線関数
• 値域 任意の実数 - 恒等写像
• 誤差関数には二乗誤差を利用
• 2.1 ユニットの出力
• 2.2 活性化関数
• 2.3 多層ネットワーク
• 2.4 出力層の設計と誤差関数
• 2.4.1 学習の枠組み
• 2.4.2 回帰
• 2.4.3 二値分類
• 2.4.4 多クラス分類
二値分類
• 入力 x に応じて出力を2つに分類する場合

x を指定した際に d=1となる事後確率
p(d=1¦x) をモデル化



出力層にユニットを一つだけもち,その活性化
関数はロジスティック関数
二値分類
• 最尤推定 (maximum likelihood estimation)
で 尤度 (likelihood) を最大にする w を求める
• 上記を誤差関数として書き換えると以下の通り

(最大化ではなく最小化を考えている)
• 2.1 ユニットの出力
• 2.2 活性化関数
• 2.3 多層ネットワーク
• 2.4 出力層の設計と誤差関数
• 2.4.1 学習の枠組み
• 2.4.2 回帰
• 2.4.3 二値分類
• 2.4.4 多クラス分類
多クラス分類
• 入力 x を内容に応じて有限個のクラスに分類

k 個のクラスがあったとき,出力層の k 番目の
ユニットの出力はソフトマック関数 (softmax
function) で書ける
※各クラスに属する事後確率として表現できる
※...
多クラス分類
• 目標出力をダミー変数へ
• 前回と同じく尤度関数を導出し誤差関数を求め
る.この関数は交差エントロピー (cross
entropy) と呼ばれる
Upcoming SlideShare
Loading in …5
×

Chapter 02 #ml-professional

9,680 views

Published on

2章 順伝播型ネットワーク - 機械学習プロフェッショナルシリーズ輪読会(深層学習編)

Published in: Data & Analytics
  • Be the first to comment

Chapter 02 #ml-professional

  1. 1. Chapter 2: 
 順伝播型ネットワーク 機械学習プロフェッショナルシリーズ輪読会 ∼「深層学習」編∼
 @a_macbee
  2. 2. 最も基本的なニューラルネットワーク 順伝播型 (ニューラル) ネットワーク について学びます
  3. 3. • 2.1 ユニットの出力 • 2.2 活性化関数 • 2.3 多層ネットワーク • 2.4 出力層の設計と誤差関数 • 2.4.1 学習の枠組み • 2.4.2 回帰 • 2.4.3 二値分類 • 2.4.4 多クラス分類
  4. 4. • 2.1 ユニットの出力 • 2.2 活性化関数 • 2.3 多層ネットワーク • 2.4 出力層の設計と誤差関数 • 2.4.1 学習の枠組み • 2.4.2 回帰 • 2.4.3 二値分類 • 2.4.4 多クラス分類
  5. 5. 順伝播型ネットワーク • 層状に並べたユニット • 隣接層間のみで結合した構造 • 情報が入力側から出力側の一方向にのみ伝播 u z z x1 x2 x3 x4 w:重み (weight) b:バイアス (bias) f:活性化関数
  6. 6. 順伝播型ネットワーク • ユニットが層状に並べられ,層間でのみ結合
 左の層のユニットの出力が右の層のユニットの入力になる 第1層:i = 1, …, I 第2層:j = 1, …, Ju1 z1 z1 u2 z2 u3 z3 z2 z3 x4 x3 x2 x1
  7. 7. • 2.1 ユニットの出力 • 2.2 活性化関数 • 2.3 多層ネットワーク • 2.4 出力層の設計と誤差関数 • 2.4.1 学習の枠組み • 2.4.2 回帰 • 2.4.3 二値分類 • 2.4.4 多クラス分類
  8. 8. 活性化関数 • 通常,単調増加する非線形関数が用いられる • よく使われるのはロジスティックシグモイド 関数 (logistic sigmoid function) • 双曲線正接関数を使うこともある これらはシグモイド関数 (sigmoid function) と総称される
  9. 9. 活性化関数 • 近年は,正規化線形関数 (rectified linear function) がよく利用される • 単純で計算量が小さい • シグモイド関数よりも学習がより速く進む • 最終的にもよりよい結果が得られる ※8章で改めて説明があるよう
  10. 10. 活性化関数 • その他の活性化関数たち • 線形写像・恒等写像
 ※部分的に利用されることがある • ロジスティック関数を区分的に直線で近似
  11. 11. 活性化関数 • その他の活性化関数たち • マックスアウト (maxout) 関数
 K個の異なるユニットをまとめたような構造
 正規化線形関数よりも高い性能を示す
  12. 12. • 2.1 ユニットの出力 • 2.2 活性化関数 • 2.3 多層ネットワーク • 2.4 出力層の設計と誤差関数 • 2.4.1 学習の枠組み • 2.4.2 回帰 • 2.4.3 二値分類 • 2.4.4 多クラス分類
  13. 13. 多層ネットワーク y1 y2 x1 x1 x1 x1 l&=&1 l&=&2 l&=&3 z(1) z(2) z(3) 入力層 中間層 (隠れ層) 出力層 最終出力をyとおく 各層で異なる 活性化関数 f を 利用して良い ※一般的に出力層は違う関数が選ばれる
  14. 14. • 2.1 ユニットの出力 • 2.2 活性化関数 • 2.3 多層ネットワーク • 2.4 出力層の設計と誤差関数 • 2.4.1 学習の枠組み • 2.4.2 回帰 • 2.4.3 二値分類 • 2.4.4 多クラス分類
  15. 15. 学習の枠組み • 順伝播型ネットワークの肝はパラメータ w
 w を調整することで入出力ペアを再現したい X = {x1, …, xN}:訓練データ (training data) D = {d1, …, dN}:x に対応する望ましい出力 ネットワークの出力がDに近づくように学習 誤差関数 (error function) を最小化する
  16. 16. 学習の枠組み 問題の種別 出力層の活性化関数 誤差関数 回帰 恒等写像 二乗誤差 式 (2.6) ※後述 二値分類 ロジスティック関数 式 (2.8) ※後述 多クラス分類 ソフトマックス関数 交差エントロピー 式 (2.11) ※後述 ※具体的な学習方法については3章?
  17. 17. • 2.1 ユニットの出力 • 2.2 活性化関数 • 2.3 多層ネットワーク • 2.4 出力層の設計と誤差関数 • 2.4.1 学習の枠組み • 2.4.2 回帰 • 2.4.3 二値分類 • 2.4.4 多クラス分類
  18. 18. 回帰 (regression) • 出力が連続値の場合
 ネットワーク出力層の活性化関数は,値域に応 じて決める • 値域 [-1:1] - 正接双曲線関数 • 値域 任意の実数 - 恒等写像 • 誤差関数には二乗誤差を利用
  19. 19. • 2.1 ユニットの出力 • 2.2 活性化関数 • 2.3 多層ネットワーク • 2.4 出力層の設計と誤差関数 • 2.4.1 学習の枠組み • 2.4.2 回帰 • 2.4.3 二値分類 • 2.4.4 多クラス分類
  20. 20. 二値分類 • 入力 x に応じて出力を2つに分類する場合
 x を指定した際に d=1となる事後確率 p(d=1¦x) をモデル化
 
 出力層にユニットを一つだけもち,その活性化 関数はロジスティック関数
  21. 21. 二値分類 • 最尤推定 (maximum likelihood estimation) で 尤度 (likelihood) を最大にする w を求める • 上記を誤差関数として書き換えると以下の通り
 (最大化ではなく最小化を考えている)
  22. 22. • 2.1 ユニットの出力 • 2.2 活性化関数 • 2.3 多層ネットワーク • 2.4 出力層の設計と誤差関数 • 2.4.1 学習の枠組み • 2.4.2 回帰 • 2.4.3 二値分類 • 2.4.4 多クラス分類
  23. 23. 多クラス分類 • 入力 x を内容に応じて有限個のクラスに分類
 k 個のクラスがあったとき,出力層の k 番目の ユニットの出力はソフトマック関数 (softmax function) で書ける ※各クラスに属する事後確率として表現できる ※確率なので総和は1
  24. 24. 多クラス分類 • 目標出力をダミー変数へ • 前回と同じく尤度関数を導出し誤差関数を求め る.この関数は交差エントロピー (cross entropy) と呼ばれる

×