チュート ア CNN
M1 大森
誰向け?
•
CNN関連 論文 こ
読 人
CNNと
•
Convolきがional Neきral Neがwork 畳 込 ニューラルネットワーク
•
画像認識出身
•
自然言語処理
がexが claかかificaがion NMT等
最近使わ
畳 込
層
畳 込
層
用語たくさん
•
convolきがion
•
filがer
•
kernel かize (window かize)
•
かがride
•
feaがきre map
•
padding
•
pooling
•
channel
•
acがivaがion fきncがion
Input
•
画像処理 場合
•
画像→(R,G,B)次元
•
ピク ル行列
•
Inpきが channel=3
•
NLP 場合
い い
•
embeddingベクトル 積
行列
•
Inpきが channel=1
(word2vec行列 glove行列 Inpきが
channel=2
あ )
画像
R次元
G次元
B次元
w̲1ベクトル w̲2ベクトル w̲3ベクトル
Convolution (1/2)
1 2 3 ‑1
4 5 6 ‑1
7 8 9 ‑1
1 1 1 0
1 ‑1 1
‑1 1 ‑1
1 ‑1 1
5
=
1×1 + 2× −1 + 3×1
+4× −1 + 5×1 + 6× −1
+7×1 + 8× −1 + 9×1
= 5
単純 足 算 掛け算
積和演算
×
=
Inpきが
filがer 重
Convolution (2/2)
1 2 3 ‑1
4 5 6 ‑1
7 8 9 ‑1
1 1 1 0
1 ‑1 1
‑1 1 ‑1
1 ‑1 1
5 ‑2
=
2×1 + 3× −1 + (−1)×1
+5× −1 + 6×1 + (−1)× −1
+8×1 + 9× −1 + −1 ×1
=
‑2
単純 足 算 掛け算
積和演算
×
=
Inpきが
Convolution (Input channelが複数 場合)
3 2 1
4 5 6
9 8 7
1 2 3
4 5 6
7 8 9
0 0 0
0 1 0
0 0 0
3 2 1
4 5 6
9 8 7
1 1 ‑1 ‑1 1 ‑1 ‑1 1 ‑1 ‑1 1 1 ‑6 1 4
×
×
×
=
=
=
‑1feature map (1/2)
1 ‑1 1
‑1 1 ‑1
1 ‑1 1
×
=
Inpきが
filがer 重
各filがer 別々 特徴抽出
1 ‑1 1
‑1 1 ‑1
1 ‑1 1 1 ‑1 1
‑1 1 ‑1
1 ‑1 1
feature map (2/2)
×
=
Inpきが
filがer 重
filがer kernel かize
異 こ
1 ‑1 1
‑1 1 ‑1
1 ‑1 1
feaがきre map
feaがきre map 数例え 100個
k=(2,2) かがride=1
Padding (画像処理)
•
4辺 覆う う 0 埋
•
各ピク ル 畳 込 回数 平等
い
•
feaがきre map サイ
調整
い
0 0 0 0 0
0 1 2 3 0
0 4 5 6 0
0 7 8 9 0
0 0 0 0 0
1 2 2 2 1
2 4 4 4 2
2 4 4 4 2
2 4 4 4 2
1 2 2 2 1
畳 込 回数
白い部分 畳 込 回数 増え
1 2 1
2 4 2
1 2 1
Padding い
Padding NLP
•
入力文長 違う
Inpきが かize 文
異
•
0 埋
無理
同 サイ
•
最大文長 合わ
コーパ 内
0 0.5 0 1 0
1 0 0.5 0 0
0 1 0 ‑1 0
0 0.5 0 0 1
1 0 0 0 ‑1
0 1 0 0.5 ‑1
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
w̲1
chainer的に (convolution編)
•
Inpきが 4次元テンソル 変換
•
chainer.linkか.Convolきがion2D(inpきが̲channel, oきがpきが̲channel,
Pooling (1/2)
max pooling
average pooling
max pooling: 素性
活発的 部分 抽出 不要 部分 除去
average pooling: 全
素性 考慮 外 値 対
ー
軽減
1 1 3 2
4 6 4 3
9 10 16 13
7 2 1 10
6 4
10 16 かがride = 2
1 1 3 2
4 6 4 3
9 10 16 13
7 2 1 10
3 3
7 10 かがride = 2
kernel かize内
max値 抽出 average値 抽出kernel かize内
Pooling (2/2)
•
多少 位置
頑健
30 20 5 10 60
50 80 5 40 10 40 70 0 5 50
20 90 2 20 3
10 80 1 10 60 80 5 40 10
70 0 5 50
90 2 20 3
80 1 10 60
…… ……
. . .
. . .
activation function
•
Recがified Linear Uniがか(ReLき)
‑1 2 6 ‑1
‑9 13 0 ‑2
‑1 ‑9 ‑7 10
‑5 ‑7 12 11
0 2 6 0
0 13 0 0
0 0 0 10
0 0 12 11
13 6
0 12
feaがきre map
relき
max pooling
(max pooliing ?) 不要 素性 カット
学習値 0付近 立 往生 無限 向
こ く CNN 健全性 保 い
chainer的に (pooling編)
•
x = chainer.fきncがionか.relき(x)
fully connected
•
a
6 4
10 16
6 4
10 16
6 4
10 16
6 4
10 16
6
4
10
16
y
= �(� 3 � + �)
かofがmax
pooling
1D convolution (Kim, EMNLP2014)
embedding かize
かe
nが
en
ce
le
ng
がh
convolきがion
出力 1次元
embedding方向 畳 込 い