chapter 02 #ml-professional

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

Upload: ai-makabi

Post on 06-Aug-2015

483 views

Category:

Data & Analytics


0 download

TRANSCRIPT

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��

x3��

x2��

x1��

• 2.1 ユニットの出力

• 2.2 活性化関数

• 2.3 多層ネットワーク

• 2.4 出力層の設計と誤差関数

• 2.4.1 学習の枠組み

• 2.4.2 回帰

• 2.4.3 二値分類

• 2.4.4 多クラス分類

活性化関数• 通常,単調増加する非線形関数が用いられる • よく使われるのはロジスティックシグモイド関数 (logistic sigmoid function)

• 双曲線正接関数を使うこともある

これらはシグモイド関数 (sigmoid function) と総称される

活性化関数• 近年は,正規化線形関数 (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 に対応する望ましい出力

ネットワークの出力がDに近づくように学習 誤差関数 (error function) を最小化する

学習の枠組み問題の種別 出力層の活性化関数 誤差関数

回帰 恒等写像 二乗誤差 式 (2.6) ※後述

二値分類 ロジスティック関数 式 (2.8) ※後述

多クラス分類 ソフトマックス関数 交差エントロピー 式 (2.11) ※後述

※具体的な学習方法については3章?

• 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) で書ける

※各クラスに属する事後確率として表現できる ※確率なので総和は1

多クラス分類• 目標出力をダミー変数へ

• 前回と同じく尤度関数を導出し誤差関数を求める.この関数は交差エントロピー (cross entropy) と呼ばれる