SlideShare a Scribd company logo
1 of 59
Copyright (c) Brains Consulting, Inc. Japan
Deep Learningについて
2017年12月1日
ブレインズコンサルティング株式会社
JUAS ビジネスデータ研究会 AI分科会
Copyright (c) Brains Consulting, Inc. Japan
0.Agenda
1
1. アウトライン
2. 多層パーセプトロン(MLP)
~ 従来のニューラルネットワーク
3. オートエンコーダ(AE)
~ わかりやすいディープラーニング
4. 再帰的ニューラルネットワーク(RNN)
~ 音声認識で研究されているディープラーニング
5. 畳み込みニューラルネットワーク(CNN)
~ 画像認識でよく使われるディープラーニング
6. まとめ
7. Q&A
Copyright (c) Brains Consulting, Inc. Japan
1.アウトライン
2
• 本発表の概要
– ディープラーニングの主な手法について紹介
• 代表的な手法であるMLP, AE, CNN, RNNを紹介
• 実用化が進んでいるCNNは、具体性を重視して解説し、
• MLP, AE, RNNについては、ポイント絞って概説する
– まとめとQ&A
Copyright (c) Brains Consulting, Inc. Japan
2.多層パーセプトロン(MLP)
3
多層パーセプトロン
(MLP)
Copyright (c) Brains Consulting, Inc. Japan
MLPの概要
4
• 多層パーセプトロン(MLP)とは
– 神経細胞を模したパーセプトロンを多層化したニューラルネットワーク
入力層 中間層
(隠れ層)
出力層
𝑘=1
𝐾 𝑛
𝑓𝑛
𝑤𝑗,2
𝑛
𝑤𝑗,𝑘
𝑛
𝑤𝑗,3
𝑛
𝑤𝑗,1
𝑛
𝑤𝑗,𝐾
𝑛
𝑦1
𝑛−1
𝑦2
𝑛−1
𝑦 𝑘
𝑛−1
𝑦3
𝑛−1
𝑦 𝐾
𝑛−1
𝕪 𝑛−1 = (𝑦1
𝑛−1
, … , 𝑦 𝐾
𝑛−1
)
𝕨𝑗
𝑛
= (𝑤𝑗,1
𝑛
, … , 𝑤𝑗,𝐾 𝑛
𝑛
)
𝐾 𝑁個𝐾0個 𝐾1個
𝑦𝑙
𝑛
𝑦𝑗
𝑛
: = 𝑓𝑛
𝑘=1
𝐾 𝑛−1
𝑤𝑗,𝑘
𝑛
𝑦 𝑘
𝑛−1
+ 𝑏𝑗
𝑛
𝑗:層番号
𝑙:ノード番号
𝑛
𝐾 𝑛個
:
:
: :
:𝑗
: :
𝑖
ユニット
𝑛 − 1
𝐾 𝑛−1個
Copyright (c) Brains Consulting, Inc. Japan
フォワードパゲーション
5
• フォワードパゲーション
– データを入力してユニット(ニューロン)を活性化を模した計算
入力層 中間層
(隠れ層)
出力層
𝐾 𝑁個𝐾0個 𝐾1個 𝐾𝑗個
:
:
: :
:𝑙
: :
𝑘
活性化
𝕪 𝑛: = 𝑓𝑛 𝑊 𝑛 𝕪 𝑛−1 + 𝕓 𝑛
𝕪 𝑛
= 𝑓𝑛 𝑊 𝑁
𝑓𝑛−1 ⋯ 𝑓1 𝑊1
𝕪0
+ 𝕓1
⋯ + 𝕓 𝑁
ここで、𝕪0
は、入力ベクトルで、データ
テーブルの1行に相当する。
𝕪 𝟎
から順番に活性化していく。
𝑓𝑛は、活性関数と呼ばれ、 中間層で
はsigmoid, tanh, ReLu等が利用され
る。出力層に出力する活性化関数は、
クラス分類ではsoftmaxが利用され
る。
𝑛
𝑛 − 1
𝕪0
𝕪 𝑁
Copyright (c) Brains Consulting, Inc. Japan
ニューラルネットワークの学習
6
• 確率的勾配降下法(SGD)
– ニューラルネットワークでは、勾配情報を使って学習(修正)する
– コスト関数𝐸の最小化が目的である
𝐸:コスト関数
𝑤𝑗,𝑖
𝑛
:第n層の各重み
𝜕𝐸
𝜕𝑤 𝑗,𝑖
𝑛 :第n層の各重みに対
する傾き(勾配の1次元分)
【重みの学習】
𝑤𝑗,𝑖
𝑛
⟵ 𝑤𝑗,𝑖
𝑛
− 𝛼
𝜕𝐸
𝜕𝑤𝑗,𝑖
𝑛
𝛼は、学習率と呼ばれ、0.0~1.0の間で
指定する。
自動微分可能なライブラリ(Theano,
Tensorflow等)では、以下のような行列
で計算できる。
𝑊 𝑛
⟵ 𝑊 𝑛
− 𝛼𝛻𝐸 𝑊 𝑛
【バイアスの学習】
重みの学習と同様に更新する。
𝑏𝑗
𝑛
⟵ 𝑏𝑗
𝑛
− 𝛼
𝜕𝐸
𝜕𝑏𝑗
𝑛
𝕓 𝑛 ⟵ 𝕓 𝑛 − 𝛼𝛻𝐸 𝕓 𝑛
−𝛼
𝜕𝐸
𝜕𝑤 𝑗,𝑖
𝑛 :傾きの逆方向に補正す
ることで、局所最小値(勾配が
0 )の方向に重みを修正する
Copyright (c) Brains Consulting, Inc. Japan
バックプロパゲーション
7
• バックプロパゲーション (誤差逆伝播法)
– コスト関数をより小さくするように、重みを後ろから修正していく学習法
入力層 中間層
(隠れ層)
出力層
𝐾 𝑁個𝐾0個 𝐾1個 𝐾𝑗個
:
:
: :
:𝑙
: :
𝑘学習
(重みを修正)
【誤差𝛿の逆伝播】
𝜹𝒋
𝒏
≔
𝜕𝐸
𝜕𝑢𝑗
𝑛
=
𝑘=1
𝐾 𝑛
𝜹 𝒌
𝒏+𝟏
𝑤 𝑘,𝑗
𝑛+1
𝑓𝑛
′ 𝑢𝑗
𝑛
ここで、𝑢𝑗
𝑛
は、活性化関数𝑓の入力変数
(ユニットjの入力活性量)で、次式で
与える。
𝑢𝑗
𝑛
≔
𝑖=1
𝐾 𝑛
𝑤𝑗,𝑖
𝑛
𝑦𝑖
𝑛−1
+ 𝑏𝑗
𝑛
重み、バイアスに対する勾配は、次式
になる。
𝜕𝐸
𝜕𝑤 𝑗,𝑘
𝑛 = 𝜹𝒋
𝒏
𝑦 𝑘
𝑛−1
,
𝜕𝐸
𝜕𝑏 𝑗
𝑛 = 𝜹𝒋
𝒏
後ろの層の誤差 𝜹𝒋
𝒏+𝟏
を使って対象層の誤差
𝜹𝒋
𝒏
を計算(誤差逆伝播)し、𝜹𝒋
𝒏
を使って、
重み、バイアスを再帰的に修正する。
𝑛
𝑛 − 1
※ バイアスの修正も、𝜹𝒋
𝒏
を使って同様に修正していく
𝜹𝒋
𝒏+𝟏
𝜹𝒋
𝒏
Copyright (c) Brains Consulting, Inc. Japan
勾配消失問題
8
• 勾配消失問題 (注:勾配が爆発する問題もある)
– 逆に辿るほど、修正に使う誤差𝜹𝒋
𝒏
(つまり勾配𝛻𝐸 𝑊 𝑛
,𝛻𝐸 𝕓 𝑛
)が消失していく
入力層 中間層
(隠れ層)
出力層
𝐾 𝑁個𝐾0個 𝐾1個 𝐾𝑗個
:
:
: :
:𝑙
: :
𝑘学習
(誤差が減衰)
【誤差𝛿の消失】:概説
(例)𝑓𝑛
′
:sigmoid
𝜹𝒋
𝒏
=
𝑘=1
𝐾 𝑛
𝜹 𝒌
𝒏+𝟏
𝑤 𝑘,𝑗
𝑛+1
𝑓𝑛
′ 𝑢𝑗
𝑛
≈
1
4
𝐾 𝑛 𝑤 𝑎𝑣𝑔
𝑛+1 𝜹 𝒂𝒗𝒈
𝒏+𝟏
つまり、ユニット数𝐾 𝑛に対し、
1
4
𝐾 𝑛 𝑤 𝑎𝑣𝑔
𝑛+1 < 1
の時、𝜹 𝒎𝒂𝒙
𝒏 < 𝜹 𝒂𝒗𝒈
𝒏+𝟏
𝑛
𝑛 − 1
活性化関数としてsigmoidを使うとき、
𝑤 𝑎𝑣𝑔
𝑛+1
を、0~1で初期化することが多いた
め、比較的成立しやすい条件である
Copyright (c) Brains Consulting, Inc. Japan
そして、ディープラーニングへ
9
• プレトレーニング
– 層間の結合毎に学習することで勾配消失を回避する手法
入力層 中間層
(隠れ層)
出力層
𝐾 𝑁個𝐾0個 𝐾1個 𝐾𝑗個
:
:
: :
:𝑙
: :
𝑘
𝑛
𝑛 − 1
隣り合う層単位で、学習を行うことで
入力層に近い層の勾配消失を回避し、
入力層側の学習が進むようにする
ディープラーニングでは、プレト
レーニングを行い、学習不足を回
避することで、精度向上を図る手
法がある。(オートエンコーダ、
RBM)
Copyright (c) Brains Consulting, Inc. Japan
3.オートエンコーダ(AE)
10
オートエンコーダ
(AE)
Copyright (c) Brains Consulting, Inc. Japan
AEの概要
11
• オートエンコーダ(AE)とは
– 出力が入力を再現するように学習させるニューラルネットワーク
入力層
中間層
(隠れ層)
出力層
𝐾個𝐾個
𝐾′
個
(𝐾′
< 𝐾)
𝕩 𝕩
𝑊
(0,1,1,0,1) (0,1,1,0,1)
𝕪 = (0.9,0.7,0.3)
𝑊′𝕦 = (123,79, −10)
𝑓1
𝑓1
𝑓1
0
1
1
0
1
0
1
1
0
1
𝑊11
𝑊12
𝑊13
𝑊14
𝑊15
𝕩 ≒ 𝕩
【出力≒入力】:入力の再現を学習
𝕩 ≔ 𝑓2 𝑊′ 𝑓1 𝑊𝕩 + 𝕓 + 𝕓′
教師データを入力ベクトル𝕩として学習を行う。
(𝕓, 𝕓′
は、中間層、出力層のバイアス・ベクトル)
コスト関数を、二乗誤差とした場合は、次式で表される。
𝐸 ≔
𝑛=1
𝑁
𝕩 𝑛 − 𝕩 𝑛
2
ここで、𝕩 𝑛 は、トレーニング用データの𝑛番目のレコー
ドを指す。
この𝐸(誤差)を極小化する𝑊, 𝑊′
, 𝕓, 𝕓′
をSGD等のアルゴ
リズムで学習する。
𝑓2
𝑓2
𝑓2
𝑓2
𝑓2
Copyright (c) Brains Consulting, Inc. Japan
次元圧縮
12
• エンコードとデコード
– 中間層のユニット数を少なくすることで、中間層で次元圧縮
入力層
中間層
(隠れ層)
出力層
𝐾個𝐾個
𝐾′
個
(𝐾′
< 𝐾)
𝕩 𝕩
𝑊
(0,1,1,0,1) (0,1,1,0,1)
𝕪 = (0.9,0.7,0.3)
𝑊′𝕦 = (123,79, −10)0
1
1
0
1
0
1
1
0
1
𝕩 ≒ 𝕩
【エンコード】:入力層 → 中間層
𝕪 ≔ 𝑓1 𝑊𝕩 + 𝕓
【デコード】 :中間層 → 出力層
𝕩 ≔ 𝑓2 𝑊′𝕪 + 𝕓𝑓1
𝑓1
𝑓1
𝑓2
𝑓2
𝑓2
𝑓2
𝑓2
左の例では、5次元(入力層のユニット数)の入力
データを、3次元(中間層のユニット数)に圧縮
(エンコード)し、中間層の3次元データを、5
次元(出力層のユニット数) =入力層の次元に復
元(デコード)する。
中間層のユニット数を入力層のユニット数よりも大きく
すると、 𝕪 = 𝑾𝕩 + 𝕓 = 𝕩 (恒等変換)を学習し得るため、
次元圧縮できるとは限らない。そのため、次元圧縮する
場合、中間層のユニット数は、入力層よりも小さくする。
Copyright (c) Brains Consulting, Inc. Japan
PCAとの関係
13
• オートエンコーダとPCA(主成分分析)
– 活性化関数を使用しないオートエンコーダは、PCAと同等
入力層
中間層
(隠れ層)
出力層
𝐾個𝐾個
𝐾′
個
(𝐾′
< 𝐾)
𝕩 𝕩
𝑊
(0,1,1,0,1) (0,1,1,0,1)
𝕪 = (0.9,0.7,0.3)
𝑊′𝕦 = (123,79, −10)0
1
1
0
1
0
1
1
0
1
𝕩 ≒ 𝕩
【PCA】:次元削減の1手法
PCAは、訓練データ 𝕩 𝑛 の共分散行列Σ:
Σ ≔
1
𝑁
𝑛=1
𝑁
𝕩 𝑛 − 𝕩 𝕩 𝑛 − 𝕩 ⊺
の固有ベクトルℙ 𝑘を軸(1座標)とした主成分に分解す
る。(PCAは、固有値分解)
この固有値分解は、最小化問題
min
𝐴,𝕞
𝑛=1
𝑁
𝕩 𝑛 − 𝕞 − 𝐴⊺ 𝐴 𝕩 𝑛 − 𝕞 2
の解と一致し、 𝐴, 𝕞 = (𝑃, 𝕩) である。ここで、P は、主
成分ℙ 𝑘を並べた行列である。
これは、コスト関数Eを二乗誤差としたオートエンコーダ
の最小化問題と一致する。(𝑊 = 𝐴, 𝕓 = 𝐴𝕞, 𝑊′
=
𝐴⊺
, 𝕓′
= −𝕞, 𝑓1, 𝑓2:恒等写像と対応させる。)
Copyright (c) Brains Consulting, Inc. Japan
• 積層オートエンコーダ(Stacked Auto-Encoder)
– 入力層側からオートエンコーダを積み上げながら学習する手法
積層オートエンコーダ(SAE)
14
学
習
学
習
活
性
化
学
習
学
習
入
力
入
力
学習済の重み、
バイアスを使っ
て活性化
学
習
学
習
活
性
化
入
力
活
性
化
学習済の重み、
バイアスを使っ
て活性化
学習
各結合毎に学習した後、通
常のMLP同様にバックプロ
パゲーション等で学習
入
力
活性化
①
②
③ ④
⑤
①~④をプレトレーニング、
⑤をファインチューニングと呼ぶ
Copyright (c) Brains Consulting, Inc. Japan
4.再帰的ニューラルネットワーク(RNN)
15
再帰的
ニューラルネットワーク
(RNN)
Copyright (c) Brains Consulting, Inc. Japan
• リカレントニューラルネットワーク
– 層間の時間的影響をモデル化したニューラルネットワーク
– データレコードの順番によって、結果が変わるモデルに適す
• 音、音声、単語列、等
– 時間方向に層を展開すると、深層ニューラルネットワークとみなせる
(構成例)(構成例)
RNNの概要
16
RNN
②
③
𝑡 = 1
① ①
② ②
③ ③
𝑡 = 2 𝑡 = 3
…
時間方向の展開図
①
Copyright (c) Brains Consulting, Inc. Japan
• RNNの種類 (代表種の紹介)
(構成例)
Fully
RNNの種類
17
No. 名称 概要
1. Fully Recurrent Network 自身を含めたすべてのユニットで有向結合
2. Hopfield Network 自身を除くユニットで対称な有向結合
3. Elman Networks 中間層(過去)から中間層(未来)の時間方向に有効結合
4. Jordan Networks 出力層(過去)から中間層(未来)の時間方向に有効結合
5. Echo State Network 中間層がランダムな疎結合(1%程度の結合、等)
6. Long Short Term Memory Network 特殊な隠れノードを持つネットワーク
(構成例)
Hopfield
𝑊12
𝑊21
𝑊23
𝑊32
𝑊13
𝑊31
𝑾𝒊𝒋 = 𝑾𝒋𝒊
(𝑾𝒊𝒊 = 𝟎)
(構成例)
Jordan
(構成例)
ESN
(構成例)
LSTM
∫ ∫ ∫ ∫
𝜫 𝜫
𝜫
𝚺
忘却
ゲート
Copyright (c) Brains Consulting, Inc. Japan
• Elman Networks
– 音声認識では、主にElman Networks タイプのRNNが広く利用される
– 1つ前の時刻の隠れ層の出力を現在時刻の隠れ層への入力とする
– 一般に、RNNと言えば、Elman Networks タイプを指すことも多い
(構成例)
時間方向の展開図
音声認識におけるRNN
18
(構成例)
Elman
𝑡 = 1 𝑡 = 2 𝑡 = 3 𝑡 = T
【定式化】 𝑇:入力系列の長さ(1文の音声特徴ベクトル列、等), 𝑡 = 1, ⋯ , 𝑇 に対して、
𝑋𝑡 = [𝕩1, ⋯ , 𝕩 𝑡]:入力系列の時刻𝑡までの部分列とすると、以下のように式で表せる。
ℎ 𝑡 𝑋𝑡 ≔ 𝑓 𝑢 𝑡 𝑋𝑡
𝑢 𝑡 𝑋𝑡 ≔ 𝕓 + 𝑊1
𝕩 𝑡 + 𝑅ℎ 𝑡−1 𝑋𝑡−1
𝕪 𝑡:1-of-N 方式(正解ラベルの次元/ユニットのみ1, その他は0を出力)
𝑾 𝟏
𝑾 𝟐
𝑾 𝟏
𝑾 𝟐
𝑾 𝟏
𝑾 𝟐
𝑾 𝟏
𝑾 𝟐
𝑾 𝟏
𝑾 𝟐
𝑹
𝑹 𝑹 𝑹𝒉 𝟏 𝒉 𝟐 𝒉 𝟑
𝒉 𝑻
𝕩 𝟏 𝕩 𝟐 𝕩 𝟑
𝕩 𝑻
𝕪 𝟏 𝕪 𝟐 𝕪 𝟑
𝕪 𝑻
Copyright (c) Brains Consulting, Inc. Japan
• BPTT: Back Propagation Through Time
– 時間方向にネットワークを展開し、誤差逆伝播法で学習する。
(構成例)
RNNの学習
19
𝑾 𝟏
𝑾 𝟐
𝑹
Elman(3層の例)
𝒉 𝟏𝕩 𝟏 𝕪 𝟏
𝑾 𝟏
𝑾 𝟐
𝑹
𝒉 𝟐𝕩 𝟐 𝕪 𝟐
𝑾 𝟏
𝑾 𝟐
𝒉 𝑻𝕩 𝑻 𝕪 𝑻
⋮ ⋮
【コスト関数】:交差エントロピー
𝐸 ≔
𝑛=1
𝑁
𝐸 𝑛 , 𝑤ℎ𝑒𝑟𝑒 𝐸 𝑛 ≔
𝑡=1
𝑇
𝐸 𝑛,𝑡
𝐸 𝑛,𝑡 ≔ − log ℎ 𝑡,𝑞 𝑋 𝑛
ここで、𝑁:入力系列(文等)の数、𝑋 𝑛は、𝑛番目の入力系列で
ある。 𝑞は、系列𝑛の時刻𝑡のラベル(インデックス)である。
【Rの勾配】: 𝑻ステップ未来の勾配情報が必要
𝛻𝐸 𝑛 𝑅 =
𝑡=0
𝑇−1
𝜕𝐸 𝑛,𝒕+𝟏
𝜕𝑢 𝒕+𝟏,𝑗
ℎ 𝑡,𝑘 𝑋𝑡
𝑗,𝑘
𝜕𝐸 𝑛,𝒕
𝜕𝑢 𝒕,𝑗
=
𝑖=1
I
𝑤𝑗,𝑖
2 𝜕𝐸 𝑛+1,𝑡
𝜕𝑢 𝑡,𝑗
+
𝑘=1
K
𝑟𝑗,𝑘
𝜕𝐸 𝑛,𝒕+𝟏
𝜕𝑢 𝒕+𝟏,𝑗
𝑓′
𝑢 𝑡,𝑗 𝑋𝑡
𝑻が大きい系列は、勾配消失が発生し得る
→LSTMでは、特殊な隠れノードを用いて解消
𝑲個I個
Copyright (c) Brains Consulting, Inc. Japan
自然言語処理への応用
20
• Seq to Seq (RNNのみによる機械翻訳)
– 英語を入力として、フランス語を出力するLSTM
– 英語を逆順に入力することで長文にも有効
• LSTMは、記録の制限があるため、長文には向かないと予想されていた
引用:「Sequence to Sequence Learning with Neural Networks」
http://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf
Copyright (c) Brains Consulting, Inc. Japan
5.畳み込みニューラルネットワーク(CNN)
21
畳み込み
ニューラルネットワーク
(CNN)
Copyright (c) Brains Consulting, Inc. Japan
目次
22
1. 畳み込みニューラルネットワーク(CNN)とは
2. CNNの処理の流れ
3. 画像データの基礎
4. 畳み込み層とは
5. プーリング層とは
6. 全結合層とは
7. 実例紹介
8. ディープラーニング向けフレームワークの紹介
9. まとめ
Copyright (c) Brains Consulting, Inc. Japan
畳み込みニューラルネットワーク(CNN)とは
23
 畳み込みニューラルネットワーク(CNN: Convolutional Neural Network)は、
主に画像認識に応用される順伝搬型ネットワークである。入力層と出力層の間に
複数の畳み込み層とプーリング層を交互に並べた多層のニューラルネットワーク
である。
 畳み込み層:画像上の各位置ごとに特徴抽出を行う(フィルタ処理)
 プーリング層:局所的な平行移動に対して不変な出力を行う
 従来の画像認識では、さまざまな特徴抽出アルゴリズムが人手により設計・構
築されてきた。これらの特徴抽出は、職人技によるところが大きい。精度やス
ピード向上のボトルネックと効率化に向けた自動化の目的から、人手を介さず
機械にデータから特徴を抽出させる手法として注目されている。
Copyright (c) Brains Consulting, Inc. Japan
CNNの処理の流れ
24
 CNNでは、入力を2次元ベクトルのままで特徴抽出を行い、最終的に1次元ベクト
ル化して全結合層に渡す。つまり、全結合層に前処理工程が加わったものと考え
ることができる。
CNN
…
…
……
…
…
…
…
…
…
一
次
元
ベ
ク
ト
ル
に
変
換
…
…
…
全結合層畳み込み層+プーリング層
𝑾 𝟏
𝑾:フィルタの係数
𝒙 :インプット
𝜽 :バイアス
𝑾 𝟐
ぶ
出力テキスト
入力画像
Copyright (c) Brains Consulting, Inc. Japan
特徴量の自動抽出
25
 全結合層では、入力 (2次元の画像データ) を 1次元のベクトルとして扱う。そ
のため、入力画像の形状が同一であっても、その位置がずれているとまったく別
のデータになる。その結果、このような入力に対しては誤判別や過学習が発生す
ることがある。
[0, 0, 1, 0, 0, 0, 1, 1, 0, 0, …
[0, 0, 0, 1, 0, 0, 0, 1, 1, 0, …
25の要素を持つベクトル
Copyright (c) Brains Consulting, Inc. Japan
画像データの構造
26
画素
R G B R G B
上記例ではRGBの値はそれぞれ 8bitで表される。 つまり、一つの
画素(ピクセル)は 8 × 3 = 24bitとなる。
Copyright (c) Brains Consulting, Inc. Japan
画像データの構造
27
R G
B
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:畳み込みとは
28
 畳み込みは、画像の局所的な特徴抽出処理をする。つまり、画像とフィルタ間で
定義される積和計算と考えることができる。
 適当な大きさの領域に含まれる各値を重み付けして足し合わせる。つまり「畳み
込み = フィルタ」となる。畳み込みによって、画像の平滑化やエッジ検出 (一次
微分、二次微分) 等の処理がされる。
77 80 82 78 70 82 82
83 78 80 83 82 77 94
87 82 81 80 74 75 112
87 87 85 77 66 99 151
84 79 77 78 76 107 162
86 72 70 72 81 151 166
78 72 73 73 107 166 170
0.01 0.08 0.01
0.08 0.62 0.08
0.01 0.08 0.01
× =
79 80 81 79 79
82 81 79 75 81
85 83 77 72 99
79 77 77 79 112
73 71 73 89 142
フィルタ
入力画像 出力画像(特徴マップ)
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:畳み込みとは
29
 畳み込みは、画像の局所的な特徴抽出処理をする。つまり、画像とフィルタ間で
定義される積和計算と考えることができる。
 適当な大きさの領域に含まれる各値を重み付けして足し合わせる。つまり「畳み
込み = フィルタ」となる。畳み込みによって、画像の平滑化やエッジ検出 (一次
微分、二次微分) 等の処理がされる。
77 80 82
83 78 80
87 82 81
0.01 0.08 0.01
0.08 0.62 0.08
0.01 0.08 0.01
× 79
=
入力画像 フィルタ 出力画像
77 x 0.01 + 80 x 0.08 + 82 x 0.01 + 83 x 0.08 + 78 x 0.62 + 80 x 0.08
+ 87 x 0.01 + 82 x 0.08 + 81 x 0.01 = 79
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタの走査
30
77 80 82 78 70 82 82
83 78 80 83 82 77 94
87 82 81 80 74 75 112
87 87 85 77 66 99 151
84 79 77 78 76 107 162
86 72 70 72 81 151 166
78 72 73 73 107 166 170
79
0.01 0.08 0.01
0.08 0.62 0.08
0.01 0.08 0.01
入力画像 出力画像
 一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。
77 x 0.01 + 80 x 0.08 + 82 x 0.01 + 83 x 0.08 + 78 x 0.62 + 80 x 0.08
+ 87 x 0.01 + 82 x 0.08 + 81 x 0.01 = 79
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタの走査
31
77 80 82 78 70 82 82
83 78 80 83 82 77 94
87 82 81 80 74 75 112
87 87 85 77 66 99 151
84 79 77 78 76 107 162
86 72 70 72 81 151 166
78 72 73 73 107 166 170
79 80
0.01 0.08 0.01
0.08 0.62 0.08
0.01 0.08 0.01
入力画像 出力画像
 一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。
80 x 0.01 + 82 x 0.08 + 78 x 0.01 + 78 x 0.08 + 80 x 0.62 + 83 x 0.08
+ 82 x 0.01 + 81 x 0.08 + 80 x 0.01 = 80
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタの走査
32
77 80 82 78 70 82 82
83 78 80 83 82 77 94
87 82 81 80 74 75 112
87 87 85 77 66 99 151
84 79 77 78 76 107 162
86 72 70 72 81 151 166
78 72 73 73 107 166 170
79 80 81
0.01 0.08 0.01
0.08 0.62 0.08
0.01 0.08 0.01
入力画像 出力画像
 一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。
82 x 0.01 + 78 x 0.08 + 70 x 0.01 + 80 x 0.08 + 83 x 0.62 + 82 x 0.08
+ 81 x 0.01 + 80 x 0.08 + 74 x 0.01 = 81
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタの走査
33
77 80 82 78 70 82 82
83 78 80 83 82 77 94
87 82 81 80 74 75 112
87 87 85 77 66 99 151
84 79 77 78 76 107 162
86 72 70 72 81 151 166
78 72 73 73 107 166 170
79 80 81 79
0.01 0.08 0.01
0.08 0.62 0.08
0.01 0.08 0.01
入力画像 出力画像
 一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。
78 x 0.01 + 70 x 0.08 + 82 x 0.01 + 83 x 0.08 + 82 x 0.62 + 77 x 0.08
+ 80 x 0.01 + 74 x 0.08 + 75 x 0.01 = 79
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタの走査
34
77 80 82 78 70 82 82
83 78 80 83 82 77 94
87 82 81 80 74 75 112
87 87 85 77 66 99 151
84 79 77 78 76 107 162
86 72 70 72 81 151 166
78 72 73 73 107 166 170
79 80 81 79 79
0.01 0.08 0.01
0.08 0.62 0.08
0.01 0.08 0.01
入力画像 出力画像
 一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。
70 x 0.01 + 82 x 0.08 + 82 x 0.01 + 82 x 0.08 + 77 x 0.62 + 94 x 0.08
+ 74 x 0.01 + 75 x 0.08 + 112 x 0.01 = 79
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタの走査
35
77 80 82 78 70 82 82
83 78 80 83 82 77 94
87 82 81 80 74 75 112
87 87 85 77 66 99 151
84 79 77 78 76 107 162
86 72 70 72 81 151 166
78 72 73 73 107 166 170
79 80 81 79 79
82
0.01 0.08 0.01
0.08 0.62 0.08
0.01 0.08 0.01
入力画像 出力画像
 一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。
83 x 0.01 + 78 x 0.08 + 80 x 0.01 + 87 x 0.08 + 82 x 0.62 + 81 x 0.08
+ 87 x 0.01 + 87 x 0.08 + 85 x 0.01 = 82
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタのサイズ
36
 入力画像が「256x256画素」の場合、「3x3 画素」のファイルは、おおよそ下記
のようなサイズとなる 。
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタ(畳み込み)の効果
37
×
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
-1/8 -1/8 -1/8
-1/8 2 -1/8
-1/8 -1/8 -1/8
×
=
=
出力画像
平滑化(ぼかし、ノイズ除去)をする
入力画像
フィルタ
鮮鋭化(シャープ)をする
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタ(畳み込み)の効果
38
×
1 0 -1
2 0 -2
1 0 -1
1 2 1
0 0 0
-1 -2 -1
×
=
=
出力画像
縦方向のエッジを検出する
入力画像
フィルタ
横方向のエッジを検出する
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタ(畳み込み)の効果
39
×
1 0 -1
2 0 -2
1 0 -1
1 2 1
0 0 0
-1 -2 -1
×
=
=
出力画像
入力画像
縦方向のエッジを検出する
横方向のエッジを検出する
フィルタ
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:フィルタ例
40
畳み込み層のフィルタ例
(出典:INRIAデータセット、フィルタサイズ:9x9)
1 0 -1
2 0 -2
1 0 -1
196 128 64
255 128 0
196 128 64
フィルタから画像への
変換例
画像化
正規化
Copyright (c) Brains Consulting, Inc. Japan
 画像の基本的な特徴(エッジや勾配、ぼかし具合など)を抽出するための、カー
ネルの適切な重み付けを学習することができる。
 ネットワークが十分な深さの畳み込み層を持っていれば、前の層における特徴の
組み合わせを学習される。前述のエッジ・勾配・ぼかし具合といった基本的な構
成要素が、後ろの層では目や鼻、髪などの具体的なパターンとなる。
畳み込み層:中間層の出力例
41
中間層(畳み込み層+プーリング層)での出力例
(引用:【連載第1回】ニューラルネットの歩んだ道、ディープラーニングの
登場で全てが変わった)
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:画像フィルタ処理の注意点
42
 画像からフィルタがはみ出すような位置に重ねることはできない。
77 80 82
83 78 80
87 82 81
0.01 0.08 0.01
0.08 0.62 0.08
0.01 0.08 0.01
×
77 80 82
83 78 80
87 82 81
入力画像
入力画像
フィルタ
フィルタ
入力画像からはみ出た部分
は画素値がないために計算
できない
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:畳み込み処理の注意点
43
 画像にフィルタ処理を繰り返すたびに、画像が小さくなってしまう。
81 80 74 75 112
85 77 66 99 151
77 78 76 107 162
70 72 81 151 166
73 73 107 166 170
77 81 102
75 89 117
78 101 131
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
77 81 102
75 89 117
78 101 131
94
入力画像
入力画像
出力画像
出力画像
フィルタ
フィルタ
1回目
2回目
×
×
=
=
3x3のフィルタ
で処理した場合、
周囲1画素ずつ
画像が小さくな
る
Copyright (c) Brains Consulting, Inc. Japan
畳み込み層:パディングとは
44
 パディングとは、画像の「ふち」を拡張して、出力画像のサイズが入力画像と同
じサイズになるようにするための処理である。
 下記例では、最も一般的であるゼロパディング(zero-padding)を示す。
0 0 0 0 0 0 0
0 81 80 74 75 112 0
0 85 77 66 99 151 0
0 77 78 76 107 162 0
0 70 72 81 151 166 0
0 73 73 107 166 170 0
0 0 0 0 0 0 0
35 51 51 64 48
53 77 81 102 78
51 75 89 117 92
49 78 101 131 102
32 52 72 93 72
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
× =
入力画像
出力画像
フィルタ
拡張部分
(オレンジ)
Copyright (c) Brains Consulting, Inc. Japan
プーリング層:プーリングとは
45
 プーリングとは、抽出特徴から認識に余分な情報を捨て、認識に必要な情報を
保ったままの表現に変換することである。
 サブサンプリングとも呼ばれる。
 プーリング層は通常、畳み込み層の直後に設置される。
 ユニット(画素)数を減らすため、結果として調整するパラメータを減らすこと
ができる。
 対象となる特徴量の画像内での位置が若干ずれている場合でも、プーリング層の
出力が不変となるようにする。
Copyright (c) Brains Consulting, Inc. Japan
プーリング層:プーリングとは
46
12 20 30 0
8 12 2 0
34 70 37 4
112 100 25 12
20 30
112 37
13 8
79 20
最大プーリング
(max pooling)
平均プーリング
(average pooling)
 処理自体は単純だが、多層の畳み込みネットの中で果たす役割や、プーリングの
種類と効果の違いなど、不明なことも残されている。
Copyright (c) Brains Consulting, Inc. Japan
プーリング層:ユニット数の削減
47
 プーリングサイズを2x2で実行した場合、縦、横のサイズが1/2となり、データ数
は1/4に圧縮される。
12 20 30 0
8 12 2 0
34 70 37 4
112 100 25 12
20 30
112 37
最大プーリング
Copyright (c) Brains Consulting, Inc. Japan
プーリング層:位置変動への不変性
48
 下記に示す「F」という文字の位置がずれている6x6の入力画像AとBに、プー
リングサイズ2x2の最大プーリングを実行した場合、出力画像は同じ結果とな
る。
 つまり、不変な特徴量が抽出されたと言える。
入力画像A 入力画像B出力画像
最大
プーリング
最大
プーリング
Copyright (c) Brains Consulting, Inc. Japan
全結合層:データの識別
49
 畳み込み層+プーリング層(特徴抽出部)にて抽出された特徴量を使って、その
画像がどのカテゴリに属するかを判断する、つまりパターン分類を行うのが後半
の全結合層(識別部)となる。
(引用:Y. LeCun, et.al. “Gradient-based Learning Applied to Document Recognition”, Proc. of The IEEE, 1998.)
畳み込み層+プーリング層
(特徴抽出部)
全結合層(識別部)
Copyright (c) Brains Consulting, Inc. Japan
活用事例:ABEJA「ABEJA PLATFORM」
50
 人工知能を活用した店舗解析プラットフォームである。実店舗にカメラ設置し、
取得したデータの解析部分に、ディープラーニングを応用した技術を利用してい
る。実際に店舗でも運用事例もあり、目玉賞品の売上比率が上昇するなどの成果
がでている。
(引用:ABEJA、「売れない理由」をAIで解析、繁盛店に、動画でわかるABEJA Platform for Retail)
Copyright (c) Brains Consulting, Inc. Japan
活用事例:Clarifai「Clarifai」
51
 画像や映像の中身を人工知能が解析するサービス。 AIが映っているオブジェクト
を認識し、テキストタグを付与する。 現在APIが利用でき、さまざまなサービス
への応用が期待されている。
(引用:Clarifai、AI分野で最注目のスタートアップ「Clarifai」創業者、30歳の野望)
Copyright (c) Brains Consulting, Inc. Japan
活用事例:Google DeepMind「AlphaGo」
52
 人類最強棋士を打ち破ったアルファ碁は、直感に優れたAI(深層学習)、経験に
学ぶAI(強化学習)、先読みするAI(探索)の3つのAI技術で支えられている。
 上記の中でCNNは、「次の一手」を決定するタスクで使われている。囲碁の
19x19路の盤面を入力とし、次の手を盤面のどこに打つかを決定している。
(引用:囲碁AI “AlphaGo” はなぜ強いのか?)
Copyright (c) Brains Consulting, Inc. Japan
まとめ
53
 CNNでは、畳み込みとプーリング処理を複数回行うことで、特徴量を自動抽出す
ることができる。つまり、人に依存していた処理を減らすことがきる。
 ディープラーニングの画像認識精度は、一部では、すでに人間を超えてしまって
いるとも言われている。しかしながら、医師の診断など、判断に万が一のことが
あっては危険なシステムについては、補助的な役割しか担うことができず、最終
判断は人間が行う必要がある。ただし、ここまでの成果に価値を見出すことがで
きれば、十分に実用化することができるはずである。
 ディープラーニングの仕組みを簡単に実装するためのライブラリ/フレームワーク
(Chainer、TensorFlow、Keras、Pytorchなど)が多数オープンソースとして公
開されており、自身の環境や用途に応じて利用することができるため、参入者に
とっての敷居は低い。
Copyright (c) Brains Consulting, Inc. Japan
6.まとめ
54
まとめ
Copyright (c) Brains Consulting, Inc. Japan
まとめ
55
• まとめ
– 従来のニューラルネットワークであるMLPは、多層化による勾配消失等の問
題があり、学習が進まなかったり収束しない等、精度に限界があった
– 積層オートエンコーダは、層の結合単位で学習することにより、MLPの欠点
を解消し、多層化によるメリットを獲得(オートエンコーダ単体では、非力)
– 畳み込みニューラルネットワークでは、画像処理の専門家が行ってきたフィ
ルタ処理を、機械に自動化させることで、特徴量抽出を自動学習・実現し、
人間の認識精度を超えるに至った。
– 一方で、医療等のミスが許されない分野での判断をさせることはできず、実
用上の現実解は、推奨、リコメンドにとどまっている。
– 再帰的ニューラルネットワークは、音声認識や機械翻訳等の時間軸を持つ入
力系列を処理するために研究が進められている。
Copyright (c) Brains Consulting, Inc. Japan
ディープラーニングのツール
56
No. 名称 言語 開発者 概説
1. Chainer Python PFN社
• Define by Run
• 計算グラフを書きやすい(デバッグしやすい)
• 参加者が世界的に少なめ(サードパーティの実装などほぼ無い)
2. CNTK
c++
python
Micrsoft社
• Define and Run
• コードは数式と似たような形で書くことができる
• 利用者が拡大中(当社調べ)
3. Keras Python
Google社の
François Chollet氏
• 圧倒的に直感的
• 利用者が多い
• tensorflow/Theano/CNTKの上位フレームワーク
• Define and Run
• 細かいことをしようとすると逆に面倒
4. Pytorch Python Facebook社
• Define by Run
• コードの書き方もチュートリアルレベルではChainerに酷似
• 利用者が拡大中
5. TensorFlow Python Google社
• Define and Run
• 記述に慣れが必要
• 多くの参加者(サードパーティのライブラリ、解説、利用例も多数)
参考サイト:
 【PyTorch、Chainer、Keras、TensorFlow】ディープラーニングのフレームワークの利点・欠点【2017年10月更新】
( http://s0sem0y.hatenablog.com/entry/2017/05/15/063753 )
 Microsoft の Deep Learning フレームワーク「CNTK」が Python 対応になって格段に使いやすくなってた話
( https://qiita.com/mamita/items/a99dead64a6447a76b67 )
 DeepLearningのフレームワーク比較( http://xkumiyu.hatenablog.com/entry/2017/09/30/010000 )
 Keras バックエンド速度比較 CNTK vs TensorFlow( https://qiita.com/T_Umezaki/items/e20f9eff11fc30c13795 )
Copyright (c) Brains Consulting, Inc. Japan
7.Q&A
57
Q&A
Deep Learningについて(改訂版)

More Related Content

What's hot

統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)Kota Mori
 
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展Deep Learning JP
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)narumikanno0918
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向ohken
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシンShinya Shimizu
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Kohta Ishikawa
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用Yasunori Ozaki
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...Deep Learning JP
 
異常音検知に対する深層学習適用事例
異常音検知に対する深層学習適用事例異常音検知に対する深層学習適用事例
異常音検知に対する深層学習適用事例NU_I_TODALAB
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門irrrrr
 
カルマンフィルタ入門
カルマンフィルタ入門カルマンフィルタ入門
カルマンフィルタ入門Yasunori Nihei
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)Preferred Networks
 
信号処理・画像処理における凸最適化
信号処理・画像処理における凸最適化信号処理・画像処理における凸最適化
信号処理・画像処理における凸最適化Shunsuke Ono
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Shohei Hido
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介Naoki Hayashi
 
条件付き確率場の推論と学習
条件付き確率場の推論と学習条件付き確率場の推論と学習
条件付き確率場の推論と学習Masaki Saito
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデルKei Nakagawa
 

What's hot (20)

統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
 
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
 
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
 
Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)Rでisomap(多様体学習のはなし)
Rでisomap(多様体学習のはなし)
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
 
直交領域探索
直交領域探索直交領域探索
直交領域探索
 
異常音検知に対する深層学習適用事例
異常音検知に対する深層学習適用事例異常音検知に対する深層学習適用事例
異常音検知に対する深層学習適用事例
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
カルマンフィルタ入門
カルマンフィルタ入門カルマンフィルタ入門
カルマンフィルタ入門
 
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
不老におけるOptunaを利用した分散ハイパーパラメータ最適化 - 今村秀明(名古屋大学 Optuna講習会)
 
信号処理・画像処理における凸最適化
信号処理・画像処理における凸最適化信号処理・画像処理における凸最適化
信号処理・画像処理における凸最適化
 
Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門Jubatus Casual Talks #2 異常検知入門
Jubatus Casual Talks #2 異常検知入門
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
条件付き確率場の推論と学習
条件付き確率場の推論と学習条件付き確率場の推論と学習
条件付き確率場の推論と学習
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
 

Similar to Deep Learningについて(改訂版)

(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)Morpho, Inc.
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Ohsawa Goodfellow
 
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)nmaro
 
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)nmaro
 
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化RCCSRENKEI
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image AnalysisYuki Shimada
 
20170806 Discriminative Optimization
20170806 Discriminative Optimization20170806 Discriminative Optimization
20170806 Discriminative OptimizationTakuya Minagawa
 
ConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdfConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdfTakuya Minagawa
 
深層学習 - 画像認識のための深層学習 ①
深層学習 - 画像認識のための深層学習 ①深層学習 - 画像認識のための深層学習 ①
深層学習 - 画像認識のための深層学習 ①Shohei Miyashita
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点Taiji Suzuki
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用Seiya Tokui
 
文献紹介:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
文献紹介:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale文献紹介:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
文献紹介:An Image is Worth 16x16 Words: Transformers for Image Recognition at ScaleToru Tamaki
 
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料SSII2014 チュートリアル資料
SSII2014 チュートリアル資料Masayuki Tanaka
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTURE Project
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Satoshi Kato
 

Similar to Deep Learningについて(改訂版) (20)

Deep Learningについて
Deep LearningについてDeep Learningについて
Deep Learningについて
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
 
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
Learning Deep Architectures for AI (第 3 回 Deep Learning 勉強会資料; 松尾)
 
音声認識と深層学習
音声認識と深層学習音声認識と深層学習
音声認識と深層学習
 
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析入門(2011年6月版)
 
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
バイオイメージング研究のためのImageJによるデジタル画像解析法(2012年6月版)
 
SeRanet
SeRanetSeRanet
SeRanet
 
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image Analysis
 
20170806 Discriminative Optimization
20170806 Discriminative Optimization20170806 Discriminative Optimization
20170806 Discriminative Optimization
 
ConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdfConditionalPointDiffusion.pdf
ConditionalPointDiffusion.pdf
 
深層学習 - 画像認識のための深層学習 ①
深層学習 - 画像認識のための深層学習 ①深層学習 - 画像認識のための深層学習 ①
深層学習 - 画像認識のための深層学習 ①
 
深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点深層学習の数理:カーネル法, スパース推定との接点
深層学習の数理:カーネル法, スパース推定との接点
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用
 
文献紹介:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
文献紹介:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale文献紹介:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
文献紹介:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
 
SSII2014 チュートリアル資料
SSII2014 チュートリアル資料SSII2014 チュートリアル資料
SSII2014 チュートリアル資料
 
MIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearningMIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearning
 
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
 
Extract and edit
Extract and editExtract and edit
Extract and edit
 

Recently uploaded

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (12)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

Deep Learningについて(改訂版)

  • 1. Copyright (c) Brains Consulting, Inc. Japan Deep Learningについて 2017年12月1日 ブレインズコンサルティング株式会社 JUAS ビジネスデータ研究会 AI分科会
  • 2. Copyright (c) Brains Consulting, Inc. Japan 0.Agenda 1 1. アウトライン 2. 多層パーセプトロン(MLP) ~ 従来のニューラルネットワーク 3. オートエンコーダ(AE) ~ わかりやすいディープラーニング 4. 再帰的ニューラルネットワーク(RNN) ~ 音声認識で研究されているディープラーニング 5. 畳み込みニューラルネットワーク(CNN) ~ 画像認識でよく使われるディープラーニング 6. まとめ 7. Q&A
  • 3. Copyright (c) Brains Consulting, Inc. Japan 1.アウトライン 2 • 本発表の概要 – ディープラーニングの主な手法について紹介 • 代表的な手法であるMLP, AE, CNN, RNNを紹介 • 実用化が進んでいるCNNは、具体性を重視して解説し、 • MLP, AE, RNNについては、ポイント絞って概説する – まとめとQ&A
  • 4. Copyright (c) Brains Consulting, Inc. Japan 2.多層パーセプトロン(MLP) 3 多層パーセプトロン (MLP)
  • 5. Copyright (c) Brains Consulting, Inc. Japan MLPの概要 4 • 多層パーセプトロン(MLP)とは – 神経細胞を模したパーセプトロンを多層化したニューラルネットワーク 入力層 中間層 (隠れ層) 出力層 𝑘=1 𝐾 𝑛 𝑓𝑛 𝑤𝑗,2 𝑛 𝑤𝑗,𝑘 𝑛 𝑤𝑗,3 𝑛 𝑤𝑗,1 𝑛 𝑤𝑗,𝐾 𝑛 𝑦1 𝑛−1 𝑦2 𝑛−1 𝑦 𝑘 𝑛−1 𝑦3 𝑛−1 𝑦 𝐾 𝑛−1 𝕪 𝑛−1 = (𝑦1 𝑛−1 , … , 𝑦 𝐾 𝑛−1 ) 𝕨𝑗 𝑛 = (𝑤𝑗,1 𝑛 , … , 𝑤𝑗,𝐾 𝑛 𝑛 ) 𝐾 𝑁個𝐾0個 𝐾1個 𝑦𝑙 𝑛 𝑦𝑗 𝑛 : = 𝑓𝑛 𝑘=1 𝐾 𝑛−1 𝑤𝑗,𝑘 𝑛 𝑦 𝑘 𝑛−1 + 𝑏𝑗 𝑛 𝑗:層番号 𝑙:ノード番号 𝑛 𝐾 𝑛個 : : : : :𝑗 : : 𝑖 ユニット 𝑛 − 1 𝐾 𝑛−1個
  • 6. Copyright (c) Brains Consulting, Inc. Japan フォワードパゲーション 5 • フォワードパゲーション – データを入力してユニット(ニューロン)を活性化を模した計算 入力層 中間層 (隠れ層) 出力層 𝐾 𝑁個𝐾0個 𝐾1個 𝐾𝑗個 : : : : :𝑙 : : 𝑘 活性化 𝕪 𝑛: = 𝑓𝑛 𝑊 𝑛 𝕪 𝑛−1 + 𝕓 𝑛 𝕪 𝑛 = 𝑓𝑛 𝑊 𝑁 𝑓𝑛−1 ⋯ 𝑓1 𝑊1 𝕪0 + 𝕓1 ⋯ + 𝕓 𝑁 ここで、𝕪0 は、入力ベクトルで、データ テーブルの1行に相当する。 𝕪 𝟎 から順番に活性化していく。 𝑓𝑛は、活性関数と呼ばれ、 中間層で はsigmoid, tanh, ReLu等が利用され る。出力層に出力する活性化関数は、 クラス分類ではsoftmaxが利用され る。 𝑛 𝑛 − 1 𝕪0 𝕪 𝑁
  • 7. Copyright (c) Brains Consulting, Inc. Japan ニューラルネットワークの学習 6 • 確率的勾配降下法(SGD) – ニューラルネットワークでは、勾配情報を使って学習(修正)する – コスト関数𝐸の最小化が目的である 𝐸:コスト関数 𝑤𝑗,𝑖 𝑛 :第n層の各重み 𝜕𝐸 𝜕𝑤 𝑗,𝑖 𝑛 :第n層の各重みに対 する傾き(勾配の1次元分) 【重みの学習】 𝑤𝑗,𝑖 𝑛 ⟵ 𝑤𝑗,𝑖 𝑛 − 𝛼 𝜕𝐸 𝜕𝑤𝑗,𝑖 𝑛 𝛼は、学習率と呼ばれ、0.0~1.0の間で 指定する。 自動微分可能なライブラリ(Theano, Tensorflow等)では、以下のような行列 で計算できる。 𝑊 𝑛 ⟵ 𝑊 𝑛 − 𝛼𝛻𝐸 𝑊 𝑛 【バイアスの学習】 重みの学習と同様に更新する。 𝑏𝑗 𝑛 ⟵ 𝑏𝑗 𝑛 − 𝛼 𝜕𝐸 𝜕𝑏𝑗 𝑛 𝕓 𝑛 ⟵ 𝕓 𝑛 − 𝛼𝛻𝐸 𝕓 𝑛 −𝛼 𝜕𝐸 𝜕𝑤 𝑗,𝑖 𝑛 :傾きの逆方向に補正す ることで、局所最小値(勾配が 0 )の方向に重みを修正する
  • 8. Copyright (c) Brains Consulting, Inc. Japan バックプロパゲーション 7 • バックプロパゲーション (誤差逆伝播法) – コスト関数をより小さくするように、重みを後ろから修正していく学習法 入力層 中間層 (隠れ層) 出力層 𝐾 𝑁個𝐾0個 𝐾1個 𝐾𝑗個 : : : : :𝑙 : : 𝑘学習 (重みを修正) 【誤差𝛿の逆伝播】 𝜹𝒋 𝒏 ≔ 𝜕𝐸 𝜕𝑢𝑗 𝑛 = 𝑘=1 𝐾 𝑛 𝜹 𝒌 𝒏+𝟏 𝑤 𝑘,𝑗 𝑛+1 𝑓𝑛 ′ 𝑢𝑗 𝑛 ここで、𝑢𝑗 𝑛 は、活性化関数𝑓の入力変数 (ユニットjの入力活性量)で、次式で 与える。 𝑢𝑗 𝑛 ≔ 𝑖=1 𝐾 𝑛 𝑤𝑗,𝑖 𝑛 𝑦𝑖 𝑛−1 + 𝑏𝑗 𝑛 重み、バイアスに対する勾配は、次式 になる。 𝜕𝐸 𝜕𝑤 𝑗,𝑘 𝑛 = 𝜹𝒋 𝒏 𝑦 𝑘 𝑛−1 , 𝜕𝐸 𝜕𝑏 𝑗 𝑛 = 𝜹𝒋 𝒏 後ろの層の誤差 𝜹𝒋 𝒏+𝟏 を使って対象層の誤差 𝜹𝒋 𝒏 を計算(誤差逆伝播)し、𝜹𝒋 𝒏 を使って、 重み、バイアスを再帰的に修正する。 𝑛 𝑛 − 1 ※ バイアスの修正も、𝜹𝒋 𝒏 を使って同様に修正していく 𝜹𝒋 𝒏+𝟏 𝜹𝒋 𝒏
  • 9. Copyright (c) Brains Consulting, Inc. Japan 勾配消失問題 8 • 勾配消失問題 (注:勾配が爆発する問題もある) – 逆に辿るほど、修正に使う誤差𝜹𝒋 𝒏 (つまり勾配𝛻𝐸 𝑊 𝑛 ,𝛻𝐸 𝕓 𝑛 )が消失していく 入力層 中間層 (隠れ層) 出力層 𝐾 𝑁個𝐾0個 𝐾1個 𝐾𝑗個 : : : : :𝑙 : : 𝑘学習 (誤差が減衰) 【誤差𝛿の消失】:概説 (例)𝑓𝑛 ′ :sigmoid 𝜹𝒋 𝒏 = 𝑘=1 𝐾 𝑛 𝜹 𝒌 𝒏+𝟏 𝑤 𝑘,𝑗 𝑛+1 𝑓𝑛 ′ 𝑢𝑗 𝑛 ≈ 1 4 𝐾 𝑛 𝑤 𝑎𝑣𝑔 𝑛+1 𝜹 𝒂𝒗𝒈 𝒏+𝟏 つまり、ユニット数𝐾 𝑛に対し、 1 4 𝐾 𝑛 𝑤 𝑎𝑣𝑔 𝑛+1 < 1 の時、𝜹 𝒎𝒂𝒙 𝒏 < 𝜹 𝒂𝒗𝒈 𝒏+𝟏 𝑛 𝑛 − 1 活性化関数としてsigmoidを使うとき、 𝑤 𝑎𝑣𝑔 𝑛+1 を、0~1で初期化することが多いた め、比較的成立しやすい条件である
  • 10. Copyright (c) Brains Consulting, Inc. Japan そして、ディープラーニングへ 9 • プレトレーニング – 層間の結合毎に学習することで勾配消失を回避する手法 入力層 中間層 (隠れ層) 出力層 𝐾 𝑁個𝐾0個 𝐾1個 𝐾𝑗個 : : : : :𝑙 : : 𝑘 𝑛 𝑛 − 1 隣り合う層単位で、学習を行うことで 入力層に近い層の勾配消失を回避し、 入力層側の学習が進むようにする ディープラーニングでは、プレト レーニングを行い、学習不足を回 避することで、精度向上を図る手 法がある。(オートエンコーダ、 RBM)
  • 11. Copyright (c) Brains Consulting, Inc. Japan 3.オートエンコーダ(AE) 10 オートエンコーダ (AE)
  • 12. Copyright (c) Brains Consulting, Inc. Japan AEの概要 11 • オートエンコーダ(AE)とは – 出力が入力を再現するように学習させるニューラルネットワーク 入力層 中間層 (隠れ層) 出力層 𝐾個𝐾個 𝐾′ 個 (𝐾′ < 𝐾) 𝕩 𝕩 𝑊 (0,1,1,0,1) (0,1,1,0,1) 𝕪 = (0.9,0.7,0.3) 𝑊′𝕦 = (123,79, −10) 𝑓1 𝑓1 𝑓1 0 1 1 0 1 0 1 1 0 1 𝑊11 𝑊12 𝑊13 𝑊14 𝑊15 𝕩 ≒ 𝕩 【出力≒入力】:入力の再現を学習 𝕩 ≔ 𝑓2 𝑊′ 𝑓1 𝑊𝕩 + 𝕓 + 𝕓′ 教師データを入力ベクトル𝕩として学習を行う。 (𝕓, 𝕓′ は、中間層、出力層のバイアス・ベクトル) コスト関数を、二乗誤差とした場合は、次式で表される。 𝐸 ≔ 𝑛=1 𝑁 𝕩 𝑛 − 𝕩 𝑛 2 ここで、𝕩 𝑛 は、トレーニング用データの𝑛番目のレコー ドを指す。 この𝐸(誤差)を極小化する𝑊, 𝑊′ , 𝕓, 𝕓′ をSGD等のアルゴ リズムで学習する。 𝑓2 𝑓2 𝑓2 𝑓2 𝑓2
  • 13. Copyright (c) Brains Consulting, Inc. Japan 次元圧縮 12 • エンコードとデコード – 中間層のユニット数を少なくすることで、中間層で次元圧縮 入力層 中間層 (隠れ層) 出力層 𝐾個𝐾個 𝐾′ 個 (𝐾′ < 𝐾) 𝕩 𝕩 𝑊 (0,1,1,0,1) (0,1,1,0,1) 𝕪 = (0.9,0.7,0.3) 𝑊′𝕦 = (123,79, −10)0 1 1 0 1 0 1 1 0 1 𝕩 ≒ 𝕩 【エンコード】:入力層 → 中間層 𝕪 ≔ 𝑓1 𝑊𝕩 + 𝕓 【デコード】 :中間層 → 出力層 𝕩 ≔ 𝑓2 𝑊′𝕪 + 𝕓𝑓1 𝑓1 𝑓1 𝑓2 𝑓2 𝑓2 𝑓2 𝑓2 左の例では、5次元(入力層のユニット数)の入力 データを、3次元(中間層のユニット数)に圧縮 (エンコード)し、中間層の3次元データを、5 次元(出力層のユニット数) =入力層の次元に復 元(デコード)する。 中間層のユニット数を入力層のユニット数よりも大きく すると、 𝕪 = 𝑾𝕩 + 𝕓 = 𝕩 (恒等変換)を学習し得るため、 次元圧縮できるとは限らない。そのため、次元圧縮する 場合、中間層のユニット数は、入力層よりも小さくする。
  • 14. Copyright (c) Brains Consulting, Inc. Japan PCAとの関係 13 • オートエンコーダとPCA(主成分分析) – 活性化関数を使用しないオートエンコーダは、PCAと同等 入力層 中間層 (隠れ層) 出力層 𝐾個𝐾個 𝐾′ 個 (𝐾′ < 𝐾) 𝕩 𝕩 𝑊 (0,1,1,0,1) (0,1,1,0,1) 𝕪 = (0.9,0.7,0.3) 𝑊′𝕦 = (123,79, −10)0 1 1 0 1 0 1 1 0 1 𝕩 ≒ 𝕩 【PCA】:次元削減の1手法 PCAは、訓練データ 𝕩 𝑛 の共分散行列Σ: Σ ≔ 1 𝑁 𝑛=1 𝑁 𝕩 𝑛 − 𝕩 𝕩 𝑛 − 𝕩 ⊺ の固有ベクトルℙ 𝑘を軸(1座標)とした主成分に分解す る。(PCAは、固有値分解) この固有値分解は、最小化問題 min 𝐴,𝕞 𝑛=1 𝑁 𝕩 𝑛 − 𝕞 − 𝐴⊺ 𝐴 𝕩 𝑛 − 𝕞 2 の解と一致し、 𝐴, 𝕞 = (𝑃, 𝕩) である。ここで、P は、主 成分ℙ 𝑘を並べた行列である。 これは、コスト関数Eを二乗誤差としたオートエンコーダ の最小化問題と一致する。(𝑊 = 𝐴, 𝕓 = 𝐴𝕞, 𝑊′ = 𝐴⊺ , 𝕓′ = −𝕞, 𝑓1, 𝑓2:恒等写像と対応させる。)
  • 15. Copyright (c) Brains Consulting, Inc. Japan • 積層オートエンコーダ(Stacked Auto-Encoder) – 入力層側からオートエンコーダを積み上げながら学習する手法 積層オートエンコーダ(SAE) 14 学 習 学 習 活 性 化 学 習 学 習 入 力 入 力 学習済の重み、 バイアスを使っ て活性化 学 習 学 習 活 性 化 入 力 活 性 化 学習済の重み、 バイアスを使っ て活性化 学習 各結合毎に学習した後、通 常のMLP同様にバックプロ パゲーション等で学習 入 力 活性化 ① ② ③ ④ ⑤ ①~④をプレトレーニング、 ⑤をファインチューニングと呼ぶ
  • 16. Copyright (c) Brains Consulting, Inc. Japan 4.再帰的ニューラルネットワーク(RNN) 15 再帰的 ニューラルネットワーク (RNN)
  • 17. Copyright (c) Brains Consulting, Inc. Japan • リカレントニューラルネットワーク – 層間の時間的影響をモデル化したニューラルネットワーク – データレコードの順番によって、結果が変わるモデルに適す • 音、音声、単語列、等 – 時間方向に層を展開すると、深層ニューラルネットワークとみなせる (構成例)(構成例) RNNの概要 16 RNN ② ③ 𝑡 = 1 ① ① ② ② ③ ③ 𝑡 = 2 𝑡 = 3 … 時間方向の展開図 ①
  • 18. Copyright (c) Brains Consulting, Inc. Japan • RNNの種類 (代表種の紹介) (構成例) Fully RNNの種類 17 No. 名称 概要 1. Fully Recurrent Network 自身を含めたすべてのユニットで有向結合 2. Hopfield Network 自身を除くユニットで対称な有向結合 3. Elman Networks 中間層(過去)から中間層(未来)の時間方向に有効結合 4. Jordan Networks 出力層(過去)から中間層(未来)の時間方向に有効結合 5. Echo State Network 中間層がランダムな疎結合(1%程度の結合、等) 6. Long Short Term Memory Network 特殊な隠れノードを持つネットワーク (構成例) Hopfield 𝑊12 𝑊21 𝑊23 𝑊32 𝑊13 𝑊31 𝑾𝒊𝒋 = 𝑾𝒋𝒊 (𝑾𝒊𝒊 = 𝟎) (構成例) Jordan (構成例) ESN (構成例) LSTM ∫ ∫ ∫ ∫ 𝜫 𝜫 𝜫 𝚺 忘却 ゲート
  • 19. Copyright (c) Brains Consulting, Inc. Japan • Elman Networks – 音声認識では、主にElman Networks タイプのRNNが広く利用される – 1つ前の時刻の隠れ層の出力を現在時刻の隠れ層への入力とする – 一般に、RNNと言えば、Elman Networks タイプを指すことも多い (構成例) 時間方向の展開図 音声認識におけるRNN 18 (構成例) Elman 𝑡 = 1 𝑡 = 2 𝑡 = 3 𝑡 = T 【定式化】 𝑇:入力系列の長さ(1文の音声特徴ベクトル列、等), 𝑡 = 1, ⋯ , 𝑇 に対して、 𝑋𝑡 = [𝕩1, ⋯ , 𝕩 𝑡]:入力系列の時刻𝑡までの部分列とすると、以下のように式で表せる。 ℎ 𝑡 𝑋𝑡 ≔ 𝑓 𝑢 𝑡 𝑋𝑡 𝑢 𝑡 𝑋𝑡 ≔ 𝕓 + 𝑊1 𝕩 𝑡 + 𝑅ℎ 𝑡−1 𝑋𝑡−1 𝕪 𝑡:1-of-N 方式(正解ラベルの次元/ユニットのみ1, その他は0を出力) 𝑾 𝟏 𝑾 𝟐 𝑾 𝟏 𝑾 𝟐 𝑾 𝟏 𝑾 𝟐 𝑾 𝟏 𝑾 𝟐 𝑾 𝟏 𝑾 𝟐 𝑹 𝑹 𝑹 𝑹𝒉 𝟏 𝒉 𝟐 𝒉 𝟑 𝒉 𝑻 𝕩 𝟏 𝕩 𝟐 𝕩 𝟑 𝕩 𝑻 𝕪 𝟏 𝕪 𝟐 𝕪 𝟑 𝕪 𝑻
  • 20. Copyright (c) Brains Consulting, Inc. Japan • BPTT: Back Propagation Through Time – 時間方向にネットワークを展開し、誤差逆伝播法で学習する。 (構成例) RNNの学習 19 𝑾 𝟏 𝑾 𝟐 𝑹 Elman(3層の例) 𝒉 𝟏𝕩 𝟏 𝕪 𝟏 𝑾 𝟏 𝑾 𝟐 𝑹 𝒉 𝟐𝕩 𝟐 𝕪 𝟐 𝑾 𝟏 𝑾 𝟐 𝒉 𝑻𝕩 𝑻 𝕪 𝑻 ⋮ ⋮ 【コスト関数】:交差エントロピー 𝐸 ≔ 𝑛=1 𝑁 𝐸 𝑛 , 𝑤ℎ𝑒𝑟𝑒 𝐸 𝑛 ≔ 𝑡=1 𝑇 𝐸 𝑛,𝑡 𝐸 𝑛,𝑡 ≔ − log ℎ 𝑡,𝑞 𝑋 𝑛 ここで、𝑁:入力系列(文等)の数、𝑋 𝑛は、𝑛番目の入力系列で ある。 𝑞は、系列𝑛の時刻𝑡のラベル(インデックス)である。 【Rの勾配】: 𝑻ステップ未来の勾配情報が必要 𝛻𝐸 𝑛 𝑅 = 𝑡=0 𝑇−1 𝜕𝐸 𝑛,𝒕+𝟏 𝜕𝑢 𝒕+𝟏,𝑗 ℎ 𝑡,𝑘 𝑋𝑡 𝑗,𝑘 𝜕𝐸 𝑛,𝒕 𝜕𝑢 𝒕,𝑗 = 𝑖=1 I 𝑤𝑗,𝑖 2 𝜕𝐸 𝑛+1,𝑡 𝜕𝑢 𝑡,𝑗 + 𝑘=1 K 𝑟𝑗,𝑘 𝜕𝐸 𝑛,𝒕+𝟏 𝜕𝑢 𝒕+𝟏,𝑗 𝑓′ 𝑢 𝑡,𝑗 𝑋𝑡 𝑻が大きい系列は、勾配消失が発生し得る →LSTMでは、特殊な隠れノードを用いて解消 𝑲個I個
  • 21. Copyright (c) Brains Consulting, Inc. Japan 自然言語処理への応用 20 • Seq to Seq (RNNのみによる機械翻訳) – 英語を入力として、フランス語を出力するLSTM – 英語を逆順に入力することで長文にも有効 • LSTMは、記録の制限があるため、長文には向かないと予想されていた 引用:「Sequence to Sequence Learning with Neural Networks」 http://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf
  • 22. Copyright (c) Brains Consulting, Inc. Japan 5.畳み込みニューラルネットワーク(CNN) 21 畳み込み ニューラルネットワーク (CNN)
  • 23. Copyright (c) Brains Consulting, Inc. Japan 目次 22 1. 畳み込みニューラルネットワーク(CNN)とは 2. CNNの処理の流れ 3. 画像データの基礎 4. 畳み込み層とは 5. プーリング層とは 6. 全結合層とは 7. 実例紹介 8. ディープラーニング向けフレームワークの紹介 9. まとめ
  • 24. Copyright (c) Brains Consulting, Inc. Japan 畳み込みニューラルネットワーク(CNN)とは 23  畳み込みニューラルネットワーク(CNN: Convolutional Neural Network)は、 主に画像認識に応用される順伝搬型ネットワークである。入力層と出力層の間に 複数の畳み込み層とプーリング層を交互に並べた多層のニューラルネットワーク である。  畳み込み層:画像上の各位置ごとに特徴抽出を行う(フィルタ処理)  プーリング層:局所的な平行移動に対して不変な出力を行う  従来の画像認識では、さまざまな特徴抽出アルゴリズムが人手により設計・構 築されてきた。これらの特徴抽出は、職人技によるところが大きい。精度やス ピード向上のボトルネックと効率化に向けた自動化の目的から、人手を介さず 機械にデータから特徴を抽出させる手法として注目されている。
  • 25. Copyright (c) Brains Consulting, Inc. Japan CNNの処理の流れ 24  CNNでは、入力を2次元ベクトルのままで特徴抽出を行い、最終的に1次元ベクト ル化して全結合層に渡す。つまり、全結合層に前処理工程が加わったものと考え ることができる。 CNN … … …… … … … … … … 一 次 元 ベ ク ト ル に 変 換 … … … 全結合層畳み込み層+プーリング層 𝑾 𝟏 𝑾:フィルタの係数 𝒙 :インプット 𝜽 :バイアス 𝑾 𝟐 ぶ 出力テキスト 入力画像
  • 26. Copyright (c) Brains Consulting, Inc. Japan 特徴量の自動抽出 25  全結合層では、入力 (2次元の画像データ) を 1次元のベクトルとして扱う。そ のため、入力画像の形状が同一であっても、その位置がずれているとまったく別 のデータになる。その結果、このような入力に対しては誤判別や過学習が発生す ることがある。 [0, 0, 1, 0, 0, 0, 1, 1, 0, 0, … [0, 0, 0, 1, 0, 0, 0, 1, 1, 0, … 25の要素を持つベクトル
  • 27. Copyright (c) Brains Consulting, Inc. Japan 画像データの構造 26 画素 R G B R G B 上記例ではRGBの値はそれぞれ 8bitで表される。 つまり、一つの 画素(ピクセル)は 8 × 3 = 24bitとなる。
  • 28. Copyright (c) Brains Consulting, Inc. Japan 画像データの構造 27 R G B
  • 29. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:畳み込みとは 28  畳み込みは、画像の局所的な特徴抽出処理をする。つまり、画像とフィルタ間で 定義される積和計算と考えることができる。  適当な大きさの領域に含まれる各値を重み付けして足し合わせる。つまり「畳み 込み = フィルタ」となる。畳み込みによって、画像の平滑化やエッジ検出 (一次 微分、二次微分) 等の処理がされる。 77 80 82 78 70 82 82 83 78 80 83 82 77 94 87 82 81 80 74 75 112 87 87 85 77 66 99 151 84 79 77 78 76 107 162 86 72 70 72 81 151 166 78 72 73 73 107 166 170 0.01 0.08 0.01 0.08 0.62 0.08 0.01 0.08 0.01 × = 79 80 81 79 79 82 81 79 75 81 85 83 77 72 99 79 77 77 79 112 73 71 73 89 142 フィルタ 入力画像 出力画像(特徴マップ)
  • 30. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:畳み込みとは 29  畳み込みは、画像の局所的な特徴抽出処理をする。つまり、画像とフィルタ間で 定義される積和計算と考えることができる。  適当な大きさの領域に含まれる各値を重み付けして足し合わせる。つまり「畳み 込み = フィルタ」となる。畳み込みによって、画像の平滑化やエッジ検出 (一次 微分、二次微分) 等の処理がされる。 77 80 82 83 78 80 87 82 81 0.01 0.08 0.01 0.08 0.62 0.08 0.01 0.08 0.01 × 79 = 入力画像 フィルタ 出力画像 77 x 0.01 + 80 x 0.08 + 82 x 0.01 + 83 x 0.08 + 78 x 0.62 + 80 x 0.08 + 87 x 0.01 + 82 x 0.08 + 81 x 0.01 = 79
  • 31. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタの走査 30 77 80 82 78 70 82 82 83 78 80 83 82 77 94 87 82 81 80 74 75 112 87 87 85 77 66 99 151 84 79 77 78 76 107 162 86 72 70 72 81 151 166 78 72 73 73 107 166 170 79 0.01 0.08 0.01 0.08 0.62 0.08 0.01 0.08 0.01 入力画像 出力画像  一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。 77 x 0.01 + 80 x 0.08 + 82 x 0.01 + 83 x 0.08 + 78 x 0.62 + 80 x 0.08 + 87 x 0.01 + 82 x 0.08 + 81 x 0.01 = 79
  • 32. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタの走査 31 77 80 82 78 70 82 82 83 78 80 83 82 77 94 87 82 81 80 74 75 112 87 87 85 77 66 99 151 84 79 77 78 76 107 162 86 72 70 72 81 151 166 78 72 73 73 107 166 170 79 80 0.01 0.08 0.01 0.08 0.62 0.08 0.01 0.08 0.01 入力画像 出力画像  一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。 80 x 0.01 + 82 x 0.08 + 78 x 0.01 + 78 x 0.08 + 80 x 0.62 + 83 x 0.08 + 82 x 0.01 + 81 x 0.08 + 80 x 0.01 = 80
  • 33. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタの走査 32 77 80 82 78 70 82 82 83 78 80 83 82 77 94 87 82 81 80 74 75 112 87 87 85 77 66 99 151 84 79 77 78 76 107 162 86 72 70 72 81 151 166 78 72 73 73 107 166 170 79 80 81 0.01 0.08 0.01 0.08 0.62 0.08 0.01 0.08 0.01 入力画像 出力画像  一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。 82 x 0.01 + 78 x 0.08 + 70 x 0.01 + 80 x 0.08 + 83 x 0.62 + 82 x 0.08 + 81 x 0.01 + 80 x 0.08 + 74 x 0.01 = 81
  • 34. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタの走査 33 77 80 82 78 70 82 82 83 78 80 83 82 77 94 87 82 81 80 74 75 112 87 87 85 77 66 99 151 84 79 77 78 76 107 162 86 72 70 72 81 151 166 78 72 73 73 107 166 170 79 80 81 79 0.01 0.08 0.01 0.08 0.62 0.08 0.01 0.08 0.01 入力画像 出力画像  一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。 78 x 0.01 + 70 x 0.08 + 82 x 0.01 + 83 x 0.08 + 82 x 0.62 + 77 x 0.08 + 80 x 0.01 + 74 x 0.08 + 75 x 0.01 = 79
  • 35. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタの走査 34 77 80 82 78 70 82 82 83 78 80 83 82 77 94 87 82 81 80 74 75 112 87 87 85 77 66 99 151 84 79 77 78 76 107 162 86 72 70 72 81 151 166 78 72 73 73 107 166 170 79 80 81 79 79 0.01 0.08 0.01 0.08 0.62 0.08 0.01 0.08 0.01 入力画像 出力画像  一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。 70 x 0.01 + 82 x 0.08 + 82 x 0.01 + 82 x 0.08 + 77 x 0.62 + 94 x 0.08 + 74 x 0.01 + 75 x 0.08 + 112 x 0.01 = 79
  • 36. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタの走査 35 77 80 82 78 70 82 82 83 78 80 83 82 77 94 87 82 81 80 74 75 112 87 87 85 77 66 99 151 84 79 77 78 76 107 162 86 72 70 72 81 151 166 78 72 73 73 107 166 170 79 80 81 79 79 82 0.01 0.08 0.01 0.08 0.62 0.08 0.01 0.08 0.01 入力画像 出力画像  一般的には、画像データの左上から右下へ画素を1画素ずつ順番に走査する。 83 x 0.01 + 78 x 0.08 + 80 x 0.01 + 87 x 0.08 + 82 x 0.62 + 81 x 0.08 + 87 x 0.01 + 87 x 0.08 + 85 x 0.01 = 82
  • 37. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタのサイズ 36  入力画像が「256x256画素」の場合、「3x3 画素」のファイルは、おおよそ下記 のようなサイズとなる 。
  • 38. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタ(畳み込み)の効果 37 × 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 -1/8 -1/8 -1/8 -1/8 2 -1/8 -1/8 -1/8 -1/8 × = = 出力画像 平滑化(ぼかし、ノイズ除去)をする 入力画像 フィルタ 鮮鋭化(シャープ)をする
  • 39. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタ(畳み込み)の効果 38 × 1 0 -1 2 0 -2 1 0 -1 1 2 1 0 0 0 -1 -2 -1 × = = 出力画像 縦方向のエッジを検出する 入力画像 フィルタ 横方向のエッジを検出する
  • 40. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタ(畳み込み)の効果 39 × 1 0 -1 2 0 -2 1 0 -1 1 2 1 0 0 0 -1 -2 -1 × = = 出力画像 入力画像 縦方向のエッジを検出する 横方向のエッジを検出する フィルタ
  • 41. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:フィルタ例 40 畳み込み層のフィルタ例 (出典:INRIAデータセット、フィルタサイズ:9x9) 1 0 -1 2 0 -2 1 0 -1 196 128 64 255 128 0 196 128 64 フィルタから画像への 変換例 画像化 正規化
  • 42. Copyright (c) Brains Consulting, Inc. Japan  画像の基本的な特徴(エッジや勾配、ぼかし具合など)を抽出するための、カー ネルの適切な重み付けを学習することができる。  ネットワークが十分な深さの畳み込み層を持っていれば、前の層における特徴の 組み合わせを学習される。前述のエッジ・勾配・ぼかし具合といった基本的な構 成要素が、後ろの層では目や鼻、髪などの具体的なパターンとなる。 畳み込み層:中間層の出力例 41 中間層(畳み込み層+プーリング層)での出力例 (引用:【連載第1回】ニューラルネットの歩んだ道、ディープラーニングの 登場で全てが変わった)
  • 43. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:画像フィルタ処理の注意点 42  画像からフィルタがはみ出すような位置に重ねることはできない。 77 80 82 83 78 80 87 82 81 0.01 0.08 0.01 0.08 0.62 0.08 0.01 0.08 0.01 × 77 80 82 83 78 80 87 82 81 入力画像 入力画像 フィルタ フィルタ 入力画像からはみ出た部分 は画素値がないために計算 できない
  • 44. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:畳み込み処理の注意点 43  画像にフィルタ処理を繰り返すたびに、画像が小さくなってしまう。 81 80 74 75 112 85 77 66 99 151 77 78 76 107 162 70 72 81 151 166 73 73 107 166 170 77 81 102 75 89 117 78 101 131 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 77 81 102 75 89 117 78 101 131 94 入力画像 入力画像 出力画像 出力画像 フィルタ フィルタ 1回目 2回目 × × = = 3x3のフィルタ で処理した場合、 周囲1画素ずつ 画像が小さくな る
  • 45. Copyright (c) Brains Consulting, Inc. Japan 畳み込み層:パディングとは 44  パディングとは、画像の「ふち」を拡張して、出力画像のサイズが入力画像と同 じサイズになるようにするための処理である。  下記例では、最も一般的であるゼロパディング(zero-padding)を示す。 0 0 0 0 0 0 0 0 81 80 74 75 112 0 0 85 77 66 99 151 0 0 77 78 76 107 162 0 0 70 72 81 151 166 0 0 73 73 107 166 170 0 0 0 0 0 0 0 0 35 51 51 64 48 53 77 81 102 78 51 75 89 117 92 49 78 101 131 102 32 52 72 93 72 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 × = 入力画像 出力画像 フィルタ 拡張部分 (オレンジ)
  • 46. Copyright (c) Brains Consulting, Inc. Japan プーリング層:プーリングとは 45  プーリングとは、抽出特徴から認識に余分な情報を捨て、認識に必要な情報を 保ったままの表現に変換することである。  サブサンプリングとも呼ばれる。  プーリング層は通常、畳み込み層の直後に設置される。  ユニット(画素)数を減らすため、結果として調整するパラメータを減らすこと ができる。  対象となる特徴量の画像内での位置が若干ずれている場合でも、プーリング層の 出力が不変となるようにする。
  • 47. Copyright (c) Brains Consulting, Inc. Japan プーリング層:プーリングとは 46 12 20 30 0 8 12 2 0 34 70 37 4 112 100 25 12 20 30 112 37 13 8 79 20 最大プーリング (max pooling) 平均プーリング (average pooling)  処理自体は単純だが、多層の畳み込みネットの中で果たす役割や、プーリングの 種類と効果の違いなど、不明なことも残されている。
  • 48. Copyright (c) Brains Consulting, Inc. Japan プーリング層:ユニット数の削減 47  プーリングサイズを2x2で実行した場合、縦、横のサイズが1/2となり、データ数 は1/4に圧縮される。 12 20 30 0 8 12 2 0 34 70 37 4 112 100 25 12 20 30 112 37 最大プーリング
  • 49. Copyright (c) Brains Consulting, Inc. Japan プーリング層:位置変動への不変性 48  下記に示す「F」という文字の位置がずれている6x6の入力画像AとBに、プー リングサイズ2x2の最大プーリングを実行した場合、出力画像は同じ結果とな る。  つまり、不変な特徴量が抽出されたと言える。 入力画像A 入力画像B出力画像 最大 プーリング 最大 プーリング
  • 50. Copyright (c) Brains Consulting, Inc. Japan 全結合層:データの識別 49  畳み込み層+プーリング層(特徴抽出部)にて抽出された特徴量を使って、その 画像がどのカテゴリに属するかを判断する、つまりパターン分類を行うのが後半 の全結合層(識別部)となる。 (引用:Y. LeCun, et.al. “Gradient-based Learning Applied to Document Recognition”, Proc. of The IEEE, 1998.) 畳み込み層+プーリング層 (特徴抽出部) 全結合層(識別部)
  • 51. Copyright (c) Brains Consulting, Inc. Japan 活用事例:ABEJA「ABEJA PLATFORM」 50  人工知能を活用した店舗解析プラットフォームである。実店舗にカメラ設置し、 取得したデータの解析部分に、ディープラーニングを応用した技術を利用してい る。実際に店舗でも運用事例もあり、目玉賞品の売上比率が上昇するなどの成果 がでている。 (引用:ABEJA、「売れない理由」をAIで解析、繁盛店に、動画でわかるABEJA Platform for Retail)
  • 52. Copyright (c) Brains Consulting, Inc. Japan 活用事例:Clarifai「Clarifai」 51  画像や映像の中身を人工知能が解析するサービス。 AIが映っているオブジェクト を認識し、テキストタグを付与する。 現在APIが利用でき、さまざまなサービス への応用が期待されている。 (引用:Clarifai、AI分野で最注目のスタートアップ「Clarifai」創業者、30歳の野望)
  • 53. Copyright (c) Brains Consulting, Inc. Japan 活用事例:Google DeepMind「AlphaGo」 52  人類最強棋士を打ち破ったアルファ碁は、直感に優れたAI(深層学習)、経験に 学ぶAI(強化学習)、先読みするAI(探索)の3つのAI技術で支えられている。  上記の中でCNNは、「次の一手」を決定するタスクで使われている。囲碁の 19x19路の盤面を入力とし、次の手を盤面のどこに打つかを決定している。 (引用:囲碁AI “AlphaGo” はなぜ強いのか?)
  • 54. Copyright (c) Brains Consulting, Inc. Japan まとめ 53  CNNでは、畳み込みとプーリング処理を複数回行うことで、特徴量を自動抽出す ることができる。つまり、人に依存していた処理を減らすことがきる。  ディープラーニングの画像認識精度は、一部では、すでに人間を超えてしまって いるとも言われている。しかしながら、医師の診断など、判断に万が一のことが あっては危険なシステムについては、補助的な役割しか担うことができず、最終 判断は人間が行う必要がある。ただし、ここまでの成果に価値を見出すことがで きれば、十分に実用化することができるはずである。  ディープラーニングの仕組みを簡単に実装するためのライブラリ/フレームワーク (Chainer、TensorFlow、Keras、Pytorchなど)が多数オープンソースとして公 開されており、自身の環境や用途に応じて利用することができるため、参入者に とっての敷居は低い。
  • 55. Copyright (c) Brains Consulting, Inc. Japan 6.まとめ 54 まとめ
  • 56. Copyright (c) Brains Consulting, Inc. Japan まとめ 55 • まとめ – 従来のニューラルネットワークであるMLPは、多層化による勾配消失等の問 題があり、学習が進まなかったり収束しない等、精度に限界があった – 積層オートエンコーダは、層の結合単位で学習することにより、MLPの欠点 を解消し、多層化によるメリットを獲得(オートエンコーダ単体では、非力) – 畳み込みニューラルネットワークでは、画像処理の専門家が行ってきたフィ ルタ処理を、機械に自動化させることで、特徴量抽出を自動学習・実現し、 人間の認識精度を超えるに至った。 – 一方で、医療等のミスが許されない分野での判断をさせることはできず、実 用上の現実解は、推奨、リコメンドにとどまっている。 – 再帰的ニューラルネットワークは、音声認識や機械翻訳等の時間軸を持つ入 力系列を処理するために研究が進められている。
  • 57. Copyright (c) Brains Consulting, Inc. Japan ディープラーニングのツール 56 No. 名称 言語 開発者 概説 1. Chainer Python PFN社 • Define by Run • 計算グラフを書きやすい(デバッグしやすい) • 参加者が世界的に少なめ(サードパーティの実装などほぼ無い) 2. CNTK c++ python Micrsoft社 • Define and Run • コードは数式と似たような形で書くことができる • 利用者が拡大中(当社調べ) 3. Keras Python Google社の François Chollet氏 • 圧倒的に直感的 • 利用者が多い • tensorflow/Theano/CNTKの上位フレームワーク • Define and Run • 細かいことをしようとすると逆に面倒 4. Pytorch Python Facebook社 • Define by Run • コードの書き方もチュートリアルレベルではChainerに酷似 • 利用者が拡大中 5. TensorFlow Python Google社 • Define and Run • 記述に慣れが必要 • 多くの参加者(サードパーティのライブラリ、解説、利用例も多数) 参考サイト:  【PyTorch、Chainer、Keras、TensorFlow】ディープラーニングのフレームワークの利点・欠点【2017年10月更新】 ( http://s0sem0y.hatenablog.com/entry/2017/05/15/063753 )  Microsoft の Deep Learning フレームワーク「CNTK」が Python 対応になって格段に使いやすくなってた話 ( https://qiita.com/mamita/items/a99dead64a6447a76b67 )  DeepLearningのフレームワーク比較( http://xkumiyu.hatenablog.com/entry/2017/09/30/010000 )  Keras バックエンド速度比較 CNTK vs TensorFlow( https://qiita.com/T_Umezaki/items/e20f9eff11fc30c13795 )
  • 58. Copyright (c) Brains Consulting, Inc. Japan 7.Q&A 57 Q&A

Editor's Notes

  1. 𝑊 1 は、 𝐾 1 × 𝐾 0 行列。入力層の 𝐾 0 次元のベクトルを、中間層の 𝐾 1 元のベクトルに線形に変換し、各要素を活性化関数に通した式。
  2. 一般に、𝐸= 1 𝑛 𝑥∈𝐷 𝐸 𝑥 ; コスト関数Eは、各データレコードxのコスト 𝐸 𝑥 の平均であることが前提 また、コスト関数𝐸が、 𝑦 𝑗 𝑁 の関数であることも必要。 訓練用のデータレコード単位で、誤差修正を行い、訓練データがなくなるまで繰り返す。さらに、訓練データを複数回ループして学習する。(訓練回数:エポック)
  3. 厳密な証明ではない。あくまで、誤差が減衰していく、イメージをつかむための説明にとどめる。
  4. PCAは、データの分散が大きいベクトルに沿った座標系を得るのに対し、 オートエンコーダは、低次元空間(K’次元)多様体に沿った座標系を得るといわれている:多様体仮説/AEは、多様体学習の1種に分類される。
  5. 最後にMLPの学習(ファインチューニング)を行うことで、精度を上げるディープラーニングの手法。 オートエンコーダ単独では、精度はそれほど高くないが、積層にすることで、精度が向上するといわれている。
  6. 中間層は、複数階層あっても良い。 入力系列:1つの文章単位の音声(の特徴ベクトル列)
  7. Rの勾配の式からわかることは、 𝜕 𝐸 𝑛,𝑡 𝜕 𝑢 𝑡,𝑗 の計算のため、Tステップ未来の勾配情報を計算しなければならない。 系列が長くなるとMLPの問題であった勾配消失、勾配爆発の問題が発生する。
  8. 今後、CNNの文献を読む際の手助けとなるような発表とする
  9. 教師あり学習 問題(入力)と答え(出力)をセットで入力データとして与える場合で、例えば、画像認識(image classification)では、入力画像それぞれに画像のラベル(例:食事、花、人、風景など)を与える。他にも出力データ(変数の関係性)を推定する回帰(regression)などがある。教師データが十分あれば、実用に一番適している。前述のNg氏によると、ディープラーニング関連製品の9割以上は教師あり学習によるものだそうだ。 教師なし学習 答えが与えられないため、入力データの傾向から近いデータ同士をクラスタリングしたり、入力データの次元を削減して、よりコンパクトに抽象化する表現を学習させたりできる。実用的には難しいが、教師データがないときには便利だ。 強化学習 ある環境で選択された行動のフィードバックをもとに、選択された行動の価値を高めるよう強化学習する。チェスや将棋などのゲームを学習させることに適している。米GoogleのDeepMindチームがスペースインベーダーなどのAtariゲームをQ-learningという強化学習アルゴリズムで深層学習させ、驚くべきパフォーマンスを出した。
  10. LCN:局所コントラスト正規化(local contrast normalization) 画像データ全体から受け取れる意味は、これを構成する小さなパーツそれぞれが表す意味の組み合わせである」という概念に基付いています。 そして「これらのパーツの中から元のデータをよく表すパーツ群・組み合わせを導き出す」=「特徴抽出を行う」ことが、まさにConvolutional Neural Netの基礎です。
  11. 画素の配置はフォーマットによって異なる
  12. 一般的には、チャネルごとに処理をする
  13. 基本的にフィルタのサイズは奇数×奇数となる
  14. GPGPUに向いた処理となる
  15. 実際には3x3ではなく、5x5や9x9などもう少し大きなサイズのフィルタが使われる
  16. エッジ情報や輝度情報を特徴とする
  17. ゼロパディングでは、畳み込みの結果、画像の周辺部が自動的に暗くなってしまう
  18. 画像データ全体から受け取れる意味は、これを構成する小さなパーツそれぞれが表す意味の組み合わせである」という概念に基付いています。 そして「これらのパーツの中から元のデータをよく表すパーツ群・組み合わせを導き出す」=「特徴抽出を行う」ことが、まさにConvolutional Neural Netの基礎です。
  19. 現状、CNNというよりはディープラーニング全般に言えることだが、できることは「認知」だけである。認知したあとに論理的に思考するとか、判断することはできない。しかし、認知することそのものに価値を見出すことができれば、十分に実用的なものとして機能するはずである。 医師の診断や重要な機械装置の操作など、判断に万が一の事があっては危険なシステムについては、コンピュータは補助的な役割しか担う事ができず、最終的な判断責任はあくまでも人間が負う必要がある。