畳み込みニューラルネットワーク
の逆変換による画像生成
畳み込みニューラルネットワークが
なぜうまくいくのか?についての手がかり
古川
アドレス
tomohiro.furukawa (アットマーク) nextremer.com
株式会社
論文
Inverting Convolutional Networks
with Convolutional Networks
Alexey Dosovitskiy Thomas Brox
Department of Computer Science University of Freiburg, Germany
Quote [1]
留意事項
=引用に関して著作権上の問題がある場合
はご連絡ください
・内容の信憑性を
 必ずしも保証していません
・If there is any issue about copyright
about quotation, e-mail me, please.
e-mail
tomohiro.furukawa (atmark) nextremer.com
論文概要
畳み込みニューラルネット
<課題>
なぜうまくいくのか?
内部でどう学習している?
不明点がある
画像情報入力
出力
注)結合は一部省略
Quote from
[1]
物体認識などのタスクで
従来手法に比べ
高い精度を実現
[2, 3, 1, ……2, 3, 4]
[5, 6, 2, ……0, 1, 3]
……
論文概要
入力
注)結合は一部省略
各層に特徴量
[0, 2, 1, ……0, 4, 2]
[9, 3, 7, ……2, 1, 5]
目的:ネットワーク内部の状態を知りたい
出力
[4, 2, 6, ……3, 0, 8]
逆変換された画像から
各層の学習過程がわかる
解決法:画像に逆変換
(要するに各層の出力)
Quote from
[1]
Quote from
[1]
画像に逆変換する手法
本手法:元画像と逆変換画像を
比較して逆変換を学習させる
入力逆変換
元画像 逆変換画像
元特徴量誤差を最小にする
学習した重み
従来:出力された特徴量が
できるだけ近くなる
画像入力を探す
Quote from [1]
ネットワーク構成
畳み込み5層
全結合層3層
maxプーリング
活性化関数:Relu
畳み込みニューラルネット (refer[1]のAlexNet)
逆変換ニューラルネット(最終層逆変換の場合)
全結合層3層
逆畳み込み5層
活性化関数:leaky Relu
入力
逆変換
ネット
生成
注)結合は一部省略
逆変換ネットワーク
逆畳み込み層とは…1と2を行う
1.逆プーリング
2.畳み込み
p 0
0 0p q
r s
q 0
0 0
r 0
0 0
s 0
0 0
p 0
0 0
q 0
0 0
r 0
0 0
s 0
0 0
h11 h13h12
h21 h23h22
h31 h33h32
✖チャネル数✖
フィルタ
残りを
0で
埋める
ネットワーク構成
畳み込み5層
全結合層3層
maxプーリング
活性化関数:Relu
畳み込みニューラルネット (refer[1]のAlexNet)
逆変換ニューラルネット(最終層逆変換の場合)
全結合層3層
逆畳み込み5層
活性化関数:leaky Relu
入力
逆変換
ネット
生成
注)結合は一部省略
r(x)=x (x 0のとき)
r(x)=0.3・x (x<0のとき)
後は勾配降下法で学習
結果:逆変換画像
元画像
本論文
AE
[3]
refer
FC8Conv1 深い層
・Conv5→FC6で不明瞭さが増している
・従来手法[3]に比べて色・位置情報が改善
Quote
from [1]
画像復元誤差
・Conv5→FC6で誤差が増している
・Autoencoderが誤差が小さい
[1]より引用
正規化復元誤差
本論文
Auto
encoder
refer
[3]
Autoencoder学習
⒈ Alexnetで特徴量抽出
2.逆変換ネットワークで画像生成
本論文
+AE
[3]
refer
Alexnetのパラメータを
Autoencoderでさらに学習
<追加>
Quote from
[1]
色と位置情報の保存
・色を変えて分類
・分類結果の
 top5以外を
 0に変えて逆変換
・top5以外の情報が
 色・位置の
 復元に重要
Quote from [1]
色と位置情報の保存
・位置に情報が大まかに保存されている
・特にFC8では対称に情報が保存
(反転に強い可能性)
Quote from
[1]
特徴量ロバスト性の確認
1.バイナリ化
2.50%ドロップアウト
定数で置き換える[0, 2, 1, 0, 4, 2](例)
[0, a, a, 0, a, a]
特徴量ベクトル
ネットワークの特徴量を操作したとき
復元画像に変化があるのか?
(例) ランダムに選んだ
半分の要素を0にする
[0, 2, 1, 0, 4, 2]
[0, 0, 1b, 0, 0, 2b]
ベクトルのノルムは
変わらないように操作
特徴量ロバスト性の確認
バイ
ナリ
ドロップ
アウト
操作
なし
Quote from
[1]
・バイナリ化するより
 ドロップアウトの方が誤差が大きい
正規化復元誤差
バイナリ
ドロップ
アウト
操作なし
特徴量ロバスト性の確認
Quote from
[1]
特徴量ベクトル合成
2つの特徴量ベクトルを合成すると
FCレイヤから画像としても合成されている
Quote from
[1]
ランダムベクトルからの復元
FCレイヤの画像は元画像らしくなっており
ネットワークが学習できている根拠となる
各層の特徴量をヒストグラムにする
→それを基本にランダム特徴量ベクトル生成
Quote from
[1]
まとめ
・最終層を含むネットワークの全てのレイヤの
 特徴量は色・位置情報を保存していた
・出力された特徴量は個々の正確な数値より
 0でない値のパターンが重要
・最終層ではtop5の分類情報より
 top5以下の分類情報に
 色・位置などの情報が保存されている
会社紹介
社員数 20名 設立 2012年10月
開発技術 自然言語処理・画像認識
<PR用対話ロボット A.I Samurai>
事業内容 人工知能テクノロジーを
取り入れた対話システムの開発
機械学習エンジニア募集
興味がある方は
オフィスへ1度、遊びに来てください
wantedly
「nextremer」
で検索
2015年12月現在

畳み込みニューラルネットワークが なぜうまくいくのか?についての手がかり