SlideShare a Scribd company logo
1 of 30
Style Transfer 抂芳
2016幎12月17日
今回はStyle Transferに関する手法に぀いおいく぀かの論文を玹介したす手
法自䜓はシンプルですがずおも面癜いです衚玙スラむドの背景にはスタむル
ずしおよく䜿われるゎッホの星月倜を䜿っおみたした
1 / 16
Style Transferずは
Gatys et al. 2016より匕甚
ある画像にコンテンツ(内容)を損なわ
ないように別の画像のスタむル(画颚)
を写す手法のこず
いわゆる画颚倉換
Neural Networkを䜿ったStyle Transfer
がGatys et al. 2016aで提案されプレ
プリント版 Gatys et al. 2015 は 2015
幎8月その埌続々ず改良版が提案さ
れおいる
Gatys et al. 2016a で提案された手法の抂芁
コンテンツ画像 𝑝
生成画像をはじめ䞀様乱数で初期化し募配降䞋法で
スタむルの損倱ずコンテンツの損倱が小さくなるように倉化させる
スタむルの損倱
ℒstyle
コンテンツの損倱
ℒcontent
生成画像 𝑥
この線圢和を最小化するように募配降䞋法を行う
𝑥 ← 𝑥 − 𝜆
𝜕ℒtotal
𝜕 𝑥
ℒtotal = 𝛌ℒstyle + 𝛜ℒcontent
𝜆孊習率
スタむル画像 𝑎
Gatys et al. 2016a で提案された手法の抂芁
コンテンツ画像 𝑝
スタむル画像 𝑎
生成画像をはじめ䞀様乱数で初期化し募配降䞋法で
スタむルの損倱ずコンテンツの損倱が小さくなるように倉化させる
スタむルの損倱
ℒstyle
コンテンツの損倱
ℒcontent
生成画像 𝑥
𝜆孊習率
この線圢和を最小化するように募配降䞋法を行う
𝑥 ← 𝑥 − 𝜆
𝜕ℒtotal
𝜕 𝑥
ℒtotal = 𝛌ℒstyle + 𝛜ℒcontent
Gatys et al. 2016a で提案された手法の新しい点
この損倱関数 ℒstyle ず ℒcontent を蚈算するのに蚓緎枈みCNNを䜿う
conv5_3conv5_2conv5_1
conv4_3conv4_2conv4_1
conv2_2conv2_1
Dense
Dense
conv1_2conv1_1
pooling
conv3_3conv3_2conv3_1
pooling
pooling
pooling
pooling & flatten
VGG 16 layers (Simonyan & Zisserman, 2014)
Dense
画像認識のコンペで優勝したモデルVGGを䜿う
𝑥 を入力した時の䞭間局 𝑛_𝑚 の出力の
𝑖 番目のチャンネルの座暙 𝑗 の倀を次で衚す
conv 𝑛_𝑚 𝑥 𝑖,𝑗
• コンテンツの損倱
ℒcontent =
𝑖,𝑗
conv4_2 𝑥 𝑖,𝑗 − conv4_2 𝑝 𝑖,𝑗
2
• スタむルの損倱
次のGram matrix 𝐺 を甚いお
𝐺( 𝑥)𝑖1,𝑖2
𝑙
=
𝑘
(conv𝑙 𝑥 𝑖1,𝑘conv𝑙 𝑥 𝑖2,𝑘)
ℒstyle =
𝑛=1
5
1
𝐎𝑙
𝑖1,𝑖2
𝐺 𝑥 𝑖1,𝑖2
𝑛_1
− 𝐺 𝑎 𝑖1,𝑖2
𝑛_1 2
𝐎𝑙は局の画玠数などの違いを吞収する係数
2次元座暙を
𝑗の1文字で衚す
Gatys et al. 2016a で提案された手法の新しい点
この損倱関数 ℒstyle ず ℒcontent を蚈算するのに蚓緎枈みCNNを䜿う
conv5_3conv5_2conv5_1
conv4_3conv4_2conv4_1
conv2_2conv2_1
Dense
Dense
conv1_2conv1_1
pooling
conv3_3conv3_2conv3_1
pooling
pooling
pooling
pooling & flatten
VGG 16 layers (Simonyan & Zisserman, 2014)
Dense
画像認識のコンペで優勝したモデルVGGを䜿う
𝑥 を入力した時の䞭間局 𝑛_𝑚 の出力の
𝑖 番目のチャンネルの座暙 𝑗 の倀を次で衚す
conv 𝑛_𝑚 𝑥 𝑖,𝑗
• コンテンツの損倱
ℒcontent =
𝑖,𝑗
conv4_2 𝑥 𝑖,𝑗 − conv4_2 𝑝 𝑖,𝑗
2
• コンテンツの損倱
次のGram matrix 𝐺 を甚いお
𝐺( 𝑥)𝑖1,𝑖2
𝑙
=
𝑘
(conv𝑙 𝑥 𝑖1,𝑘conv𝑙 𝑥 𝑖2,𝑘)
ℒstyle =
𝑛=1
5
1
𝐎𝑙
𝑖1,𝑖2
𝐺 𝑥 𝑖1,𝑖2
𝑛_1
− 𝐺 𝑎 𝑖1,𝑖2
𝑛_1 2
𝐎𝑙は局の画玠数などの違いを吞収する係数
2次元座暙を
𝑗の1文字で衚す
Gatys et al. 2016a ではVGG19が䜿われおいたす
がVGG19でもVGG16結果があたり倉わらず以降
の手法でVGG16が䜿われおいるためVGG16で䟋
を曞きたした
コンテンツの損倱に぀いお
conv5_3conv5_2conv5_1
conv4_3conv4_2conv4_1
conv2_2conv2_1
Dense
Dense
conv1_2conv1_1
pooling
conv3_3conv3_2conv3_1
pooling
pooling
pooling
pooling & flatten
VGG 16 layers (Simonyan & Zisserman, 2014)
Dense
コンテンツの損倱
ℒcontent =
𝑖,𝑗
conv4_2 𝑥 𝑖,𝑗 − conv4_2 𝑝 𝑖,𝑗
2
画像を分類するように蚓緎されたVGGでは
巊図の䞋局に行けば行くほど
分類に必芁な情報が匷調されるようになる
そのため䞋局のみを䜿うこずで
色などのスタむルに䟝存しない損倱を蚈算できる
論文では特に蚀及されおいないが
𝑥 ず 𝑝 の同じ座暙を比范しおいるので
゚ッゞなどの特城的な郚分は
倉換埌も倧きくはずれないはず
convずpoolで小さくなるので倚少はずれうる
遞ぶ局の深さによるコンテンツ衚珟の違い
Gatys et al. 2016aより匕甚
コンテンツの損倱を蚈算するずきに䜿う
局ずしおconv4_2が遞ばれおいるが
これはおそらく実隓的に最もそれらし
い画像が埗られる局を遞んでいるのだず
思うたぶん
巊の図はコンテンツの損倱に䜿う局に
よっお結果ずしお埗られる図がどのように
倉化するか芋たものでconv4_2の方が
それっぜくなっおいるこずがわかる
スタむルの損倱に぀いお
conv5_3conv5_2conv5_1
conv4_3conv4_2conv4_1
conv2_2conv2_1
Dense
Dense
conv1_2conv1_1
pooling
conv3_3conv3_2conv3_1
pooling
pooling
pooling
pooling & flatten
VGG 16 layers (Simonyan & Zisserman, 2014)
Dense
スタむルの損倱
𝐺( 𝑥)𝑖1,𝑖2
𝑙
=
𝑘
(conv𝑙 𝑥 𝑖1,𝑘conv𝑙 𝑥 𝑖2,𝑘)
ℒstyle =
𝑛=1
5
1
𝐎𝑙
𝑖1,𝑖2
𝐺 𝑥 𝑖1,𝑖2
𝑛_1
− 𝐺 𝑎 𝑖1,𝑖2
𝑛_1 2
行列𝐺 𝑙
の各芁玠は
同じ局の各チャンネル間の盞関を衚す
コンテンツの損倱ず違っお
各局の出力をGram matrixにしおから
二乗誀差を蚈算しおいるので
どの堎所に䜕があるかの配眮は
損倱に関係しおこない
個人的おもしろポむントず問題点
• 個人的おもしろポむント
䞀般に損倱関数ず蚀えば二乗誀差などの簡単な関数を䜿うが
CNNずいう非垞に耇雑な関数を損倱関数ずしお䜿ったのが面癜い
転移孊習ずも違う孊習枈みモデルの䜿い方
Deep dreamず䌌たような枠組みだが実甚性が高い
• 問題点
生成のために順䌝播・逆䌝播を繰り返すので
ずにかく遅い
1枚の画像を生成するのにハむ゚ンドGPU䜿っおも10秒以䞊かかるずのこず
GTX980TiずTensorflowを䜿っお実隓しおみたずころ
1000むテレヌションで数分くらいだった
Gatys et al. 2016a で提案された手法の抂芁(再掲)
コンテンツ画像 𝑝
生成画像をはじめ䞀様乱数で初期化し募配降䞋法で
スタむルの損倱ずコンテンツの損倱が小さくなるように倉化させる
スタむルの損倱
ℒstyle
コンテンツの損倱
ℒcontent
生成画像 𝑥
この線圢和を最小化するように募配降䞋法を行う
𝑥 ← 𝑥 − 𝜆
𝜕ℒtotal
𝜕 𝑥
ℒtotal = 𝛌ℒstyle + 𝛜ℒcontent
𝜆孊習率
スタむル画像 𝑎
高速化するために 
コンテンツ画像 𝑝
生成画像 𝑥
なんらかの
関数
䞀様乱数 𝑧
入力
䞀様乱数 𝑧 ずコンテンツ画像 𝑝 を入力し
画颚倉換された画像を出力する倉換を
䜕らかの関数で近䌌したい
→ ここにもCNNを䜿う
Ulyanov et al. 2016a で提案された手法の抂芁
コンテンツ画像 𝑝
スタむル画像 𝑎
ノむズずコンテンツ画像から画像を生成するCNNを孊習する
生成画像 𝑥
Generator
Network
VGG
Gatys et al. 2016a では
孊習はしおいない
䞀様乱数 𝑧
入力
画像を生成
損倱ずその募配
を蚈算
入力
入力 入力500倍
速い
Ulyanov et al. 2016a のネットワヌク構造
図はUlyanov et al. 2016aより匕甚
図はtexture generationのタスクの堎合
Style transferの堎合は𝑧6たであっお各𝑧にコンテンツ画像がconcatされる
Gatys et al. 2016a では毎回1から生成しおいたので
スタむルの損倱ずコンテンツの損倱の重み付けを画像ごずにできたが
この手法では孊習時に蚭定した重み付けがテスト時にも䜿われ調節ができない
→ 入力するノむズのスケヌルを調節するこずで調節できるこずを発芋
ResNetっぜいが逆にUpsamplingで倧きくなっおいく
Ulyanov et al. 2016a における重み付け
Ulyanov et al. 2016a より匕甚
ノむズのスケヌル𝑘を倉化させたずきの生成画像の倉化
スケヌルが小さい方がコンテンツ枝にずたった鳥が倧きく残り
スケヌルが倧きくなるずほがスタむルだけになっおいる
Johnson et al. 2016 で提案された手法の抂芁
図はJohnson et al. 2016より匕甚
CNNは Downsampling→Residual blocks→Upsampling ずいう構成になっおいる
スタむルずコンテンツの重みの調敎はおそらくできない蚀及されおいないが
Gatys et al. 2016a のおよそ1000倍の速床で画像を生成できる
実装によっおは入力画像にノむズを入れお重みの調節をしおいるものも
この論文のおもしろポむントは
同じネットワヌクを䜿っお画像の高解像床化ができるこずを瀺しおいるこず
→ 倧きなCNNを䜿った損倱関数はStyle Transfer以倖でも利甚できる
Johnson et al. 2016 による高解像床化
Johnson et al. 2016より匕甚
Dumoulin et al. 2016 のアむディア
これたでの手法では1぀のスタむルぞの倉換を1぀のCNNで行っおいる
→ 耇数のスタむルぞの倉換を1぀のCNNで行うこずはできないのか
同じ画家の絵なら同じような筆遣いが芋られる → ある皋床共有できるはず
Dumoulin et al. 2016 における発芋
we found a very surprising fact about the role of normalization in style
transfer networks: to model a style, it is sufficient to specialize scaling and
shifting parameters after normalization to each specific style.
Dumoulin et al. 2016 より匕甚
最近のCNNでは䞀般にBatch Normalizationずいうテクニックが䜿われおいる
→ 䌝播しおきたミニバッチの䞭で各次元の平均を0に分散を1にする
Batch Normalizationをかけた埌に適圓な定数を指定しおおいお
これをスケヌルしたりシフトしたりするこずがあるが
このスケヌルやシフトのパラメヌタを孊習させおスタむル毎に切り替えるだけで
他の畳み蟌み局などのパラメヌタは同じのたたで
耇数のスタむルに倉換するこずができるずいうこずを発芋した
この発芋に基づき conditional instance normalization を提案した
Conditional instance normalization
孊習するスタむル数を𝑁このバッチで䜿うスタむルの番号を𝑠ずする
Conditional instance normalizationでは
チャンネル毎に孊習察象ずなる𝑁次元ベクトル 𝛟, 𝛜 を甚意しおおき
入力を正芏化した埌 𝛟𝑠 でスケヌルし 𝛜𝑠 でシフトしたものを出力する
図はDumoulin et al. 2016より匕甚
実行䟋同じ画家の耇数の絵から孊習
10皮類のモネの絵のスタむルを孊習した結果の䞀郚
䞀぀のネットワヌクで耇数のスタむルを孊習するこずができおいる
Dumoulin et al. 2016 より匕甚
実行䟋別の画家の耇数の絵から孊習
32皮類の別々の画家による絵のスタむルを孊習した結果の䞀郚
驚くべきこずに倧きく異なる画颚もスケヌルずシフトの違いだけで孊習できおいる
Dumoulin et al. 2016 より匕甚
実行䟋32皮類党郚
https://github.com/tensorflow/magenta/tree/master/magenta/models/image_stylization
のコヌドを甚いお生成したもの
Githubでコヌドず孊習枈みモデルが公開されおいるので簡単に詊せる
Dumoulin et al. 2016 による画颚の合成
孊習された 𝛟, 𝛜 はスタむルのEmbeddingになっおいるず考えられ
凞結合でスタむルを合成するこずができる
𝛟new =
𝑠=1
𝑁
𝑀𝑠 𝛟𝑠 , 𝛜new =
𝑠=1
𝑁
𝑀𝑠 𝛜𝑠 䜆し 𝑀𝑠 ≥ 0 か぀
𝑠=1
𝑁
𝑀𝑠 = 1
Dumoulin et al. 2016 より匕甚
Dumoulin et al. 2016 における新しいスタむルの远加
畳み蟌み局などの重みは党おのスタむルで共有されおいるので
孊習枈みのネットワヌクに新しいスタむルを远加する堎合には
ネットワヌクの重みは固定したたた新しい 𝛟, 𝛜 だけを孊習するこずで
少ない曎新で孊習するこずができる
5000 step 皋床で1から孊習させた堎合の40000 step に近いlossになっおいる
図はDumoulin et al. 2016 より匕甚
Dumoulin et al. 2016 におけるスタむルのパラメヌタ数
Dumoulin et al. 2016 より匕甚
• ネットワヌクのパラメヌタ数
1674432 ≓ 𝟏. 𝟔𝐌
• チャンネル数の合蚈
1603
• 1スタむルのパラメヌタ数
2 × 1603 ≓ 𝟑. 𝟐𝐊
非垞に少ないパラメヌタが
結果に倧きな圱響を䞎えおいる
ネットワヌク構成が過剰なのか
少ないパラメヌタで倉換できる
ようにするのが難しいのか 
このスタむル毎のパラメヌタを
予枬するようなNNを぀くれたら
䜕の孊習もなく画颚倉換する
こずができるようになるすごい
たずめ
• Style Transferに関する論文をいく぀か玹介した
• プレプリントが出た2015幎8月から1幎ちょいで耇数スタむルたで出る
• すごい
• 時間の関係により玹介できなかったもの
• Novak & Nikulin 2016
• 損倱関数の工倫などで改善を行っおいる職人芞
• Gatys et al. 2016b
• 元画像の色を保持したたた画颚倉換を行う
• 色の平均・分散を合わせる方法ず茝床倀だけ倉換する方法
• Ruder et al. 2016
• Style Transferを動画に甚いる手法を提案
• Ulyanov et al. 2016b
• instance normalizationで明床などの圱響を陀去
• Chen & Schmidt 2016
• Patch-basedな手法でスタむルずコンテンツの䞡方を入力ずする
Feedforward Networkを構築任意のスタむルを適甚できる
Reference I
Reference II
Reference III
絵の匕甚元
• Vincent van Gogh - The Starry Night
https://commons.wikimedia.org/wiki/File:VanGogh-starry_night.jpg
• Claude Monet - Rouen Cathedral. Facade (Morning effect)
https://commons.wikimedia.org/wiki/File:Claude_Monet_-
_Rouen_Cathedral,_Facade_(Morning_effect).JPG
• Claude Monet - Poppy Field in Argenteuil
https://commons.wikimedia.org/wiki/File%3APoppy_Field_in_Argenteuil%2C_Claude_Monet.jpg
• Claude Monet - Plum Trees In Blossom At Vetheuil
https://www.wikiart.org/en/claude-monet/plum-trees-in-blossom-at-vetheuil
• Claude Monet - Les Nymphéas
https://commons.wikimedia.org/wiki/File:Claude_Monet_038.jpg

More Related Content

Viewers also liked

TDAを構成する技術の玹介 PCA線
TDAを構成する技術の玹介 PCA線TDAを構成する技術の玹介 PCA線
TDAを構成する技術の玹介 PCA線ReNom User Group
 
AIによる働き方改革~本圓にストレスを感じおいる瀟員を芋逃すな~
AIによる働き方改革~本圓にストレスを感じおいる瀟員を芋逃すな~AIによる働き方改革~本圓にストレスを感じおいる瀟員を芋逃すな~
AIによる働き方改革~本圓にストレスを感じおいる瀟員を芋逃すな~ReNom User Group
 
ReNom User Group #1 Part1
ReNom User Group #1 Part1ReNom User Group #1 Part1
ReNom User Group #1 Part1ReNom User Group
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門ReNom User Group
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural NetworksSeiya Tokui
 
再垰型ニュヌラルネット in 機械孊習プロフェッショナルシリヌズ茪読䌚
再垰型ニュヌラルネット in 機械孊習プロフェッショナルシリヌズ茪読䌚再垰型ニュヌラルネット in 機械孊習プロフェッショナルシリヌズ茪読䌚
再垰型ニュヌラルネット in 機械孊習プロフェッショナルシリヌズ茪読䌚Shotaro Sano
 
NVIDIA Seminar ディヌプラヌニングによる画像認識ず応甚事䟋
NVIDIA Seminar ディヌプラヌニングによる画像認識ず応甚事䟋NVIDIA Seminar ディヌプラヌニングによる画像認識ず応甚事䟋
NVIDIA Seminar ディヌプラヌニングによる画像認識ず応甚事䟋Takayoshi Yamashita
 
AWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAmazon Web Services Japan
 
深局孊習時代の自然蚀語凊理
深局孊習時代の自然蚀語凊理深局孊習時代の自然蚀語凊理
深局孊習時代の自然蚀語凊理Yuya Unno
 

Viewers also liked (10)

TDAを構成する技術の玹介 PCA線
TDAを構成する技術の玹介 PCA線TDAを構成する技術の玹介 PCA線
TDAを構成する技術の玹介 PCA線
 
AIによる働き方改革~本圓にストレスを感じおいる瀟員を芋逃すな~
AIによる働き方改革~本圓にストレスを感じおいる瀟員を芋逃すな~AIによる働き方改革~本圓にストレスを感じおいる瀟員を芋逃すな~
AIによる働き方改革~本圓にストレスを感じおいる瀟員を芋逃すな~
 
ReNom User Group #1 Part1
ReNom User Group #1 Part1ReNom User Group #1 Part1
ReNom User Group #1 Part1
 
Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門Infrastructure as CodeでReNom環境構築入門
Infrastructure as CodeでReNom環境構築入門
 
Recurrent Neural Networks
Recurrent Neural NetworksRecurrent Neural Networks
Recurrent Neural Networks
 
AWS OpsWorksのご玹介
AWS OpsWorksのご玹介AWS OpsWorksのご玹介
AWS OpsWorksのご玹介
 
再垰型ニュヌラルネット in 機械孊習プロフェッショナルシリヌズ茪読䌚
再垰型ニュヌラルネット in 機械孊習プロフェッショナルシリヌズ茪読䌚再垰型ニュヌラルネット in 機械孊習プロフェッショナルシリヌズ茪読䌚
再垰型ニュヌラルネット in 機械孊習プロフェッショナルシリヌズ茪読䌚
 
NVIDIA Seminar ディヌプラヌニングによる画像認識ず応甚事䟋
NVIDIA Seminar ディヌプラヌニングによる画像認識ず応甚事䟋NVIDIA Seminar ディヌプラヌニングによる画像認識ず応甚事䟋
NVIDIA Seminar ディヌプラヌニングによる画像認識ず応甚事䟋
 
AWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWSAWS Black Belt Online Seminar 2017 Deployment on AWS
AWS Black Belt Online Seminar 2017 Deployment on AWS
 
深局孊習時代の自然蚀語凊理
深局孊習時代の自然蚀語凊理深局孊習時代の自然蚀語凊理
深局孊習時代の自然蚀語凊理
 

Recently uploaded

Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。iPride Co., Ltd.
 
知識れロの営業マンでもできた超速で初心者を脱する、悪魔的孊習ステップ3遞.pptx
知識れロの営業マンでもできた超速で初心者を脱する、悪魔的孊習ステップ3遞.pptx知識れロの営業マンでもできた超速で初心者を脱する、悪魔的孊習ステップ3遞.pptx
知識れロの営業マンでもできた超速で初心者を脱する、悪魔的孊習ステップ3遞.pptxsn679259
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文玹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文玹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文玹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文玹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。iPride Co., Ltd.
 
新人研修 埌半 2024/04/26の勉匷䌚で発衚されたものです。
新人研修 埌半        2024/04/26の勉匷䌚で発衚されたものです。新人研修 埌半        2024/04/26の勉匷䌚で発衚されたものです。
新人研修 埌半 2024/04/26の勉匷䌚で発衚されたものです。iPride Co., Ltd.
 
論文玹介Selective Structured State-Spaces for Long-Form Video Understanding
論文玹介Selective Structured State-Spaces for Long-Form Video Understanding論文玹介Selective Structured State-Spaces for Long-Form Video Understanding
論文玹介Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文玹介Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文玹介Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文玹介Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文玹介Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWANスマヌト距離怜出センサヌ DS20L カタログ LiDARデバむス
LoRaWANスマヌト距離怜出センサヌ  DS20L  カタログ  LiDARデバむスLoRaWANスマヌト距離怜出センサヌ  DS20L  カタログ  LiDARデバむス
LoRaWANスマヌト距離怜出センサヌ DS20L カタログ LiDARデバむスCRI Japan, Inc.
 
LoRaWAN スマヌト距離怜出デバむスDS20L日本語マニュアル
LoRaWAN スマヌト距離怜出デバむスDS20L日本語マニュアルLoRaWAN スマヌト距離怜出デバむスDS20L日本語マニュアル
LoRaWAN スマヌト距離怜出デバむスDS20L日本語マニュアルCRI Japan, Inc.
 

Recently uploaded (10)

Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
 
知識れロの営業マンでもできた超速で初心者を脱する、悪魔的孊習ステップ3遞.pptx
知識れロの営業マンでもできた超速で初心者を脱する、悪魔的孊習ステップ3遞.pptx知識れロの営業マンでもできた超速で初心者を脱する、悪魔的孊習ステップ3遞.pptx
知識れロの営業マンでもできた超速で初心者を脱する、悪魔的孊習ステップ3遞.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文玹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文玹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文玹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文玹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
Amazon SES を勉匷しおみる その2024/04/26の勉匷䌚で発衚されたものです。
 
新人研修 埌半 2024/04/26の勉匷䌚で発衚されたものです。
新人研修 埌半        2024/04/26の勉匷䌚で発衚されたものです。新人研修 埌半        2024/04/26の勉匷䌚で発衚されたものです。
新人研修 埌半 2024/04/26の勉匷䌚で発衚されたものです。
 
論文玹介Selective Structured State-Spaces for Long-Form Video Understanding
論文玹介Selective Structured State-Spaces for Long-Form Video Understanding論文玹介Selective Structured State-Spaces for Long-Form Video Understanding
論文玹介Selective Structured State-Spaces for Long-Form Video Understanding
 
論文玹介Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文玹介Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文玹介Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文玹介Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマヌト距離怜出センサヌ DS20L カタログ LiDARデバむス
LoRaWANスマヌト距離怜出センサヌ  DS20L  カタログ  LiDARデバむスLoRaWANスマヌト距離怜出センサヌ  DS20L  カタログ  LiDARデバむス
LoRaWANスマヌト距離怜出センサヌ DS20L カタログ LiDARデバむス
 
LoRaWAN スマヌト距離怜出デバむスDS20L日本語マニュアル
LoRaWAN スマヌト距離怜出デバむスDS20L日本語マニュアルLoRaWAN スマヌト距離怜出デバむスDS20L日本語マニュアル
LoRaWAN スマヌト距離怜出デバむスDS20L日本語マニュアル
 

Style transfer

  • 1. Style Transfer 抂芳 2016幎12月17日 今回はStyle Transferに関する手法に぀いおいく぀かの論文を玹介したす手 法自䜓はシンプルですがずおも面癜いです衚玙スラむドの背景にはスタむル ずしおよく䜿われるゎッホの星月倜を䜿っおみたした 1 / 16
  • 2. Style Transferずは Gatys et al. 2016より匕甚 ある画像にコンテンツ(内容)を損なわ ないように別の画像のスタむル(画颚) を写す手法のこず いわゆる画颚倉換 Neural Networkを䜿ったStyle Transfer がGatys et al. 2016aで提案されプレ プリント版 Gatys et al. 2015 は 2015 幎8月その埌続々ず改良版が提案さ れおいる
  • 3. Gatys et al. 2016a で提案された手法の抂芁 コンテンツ画像 𝑝 生成画像をはじめ䞀様乱数で初期化し募配降䞋法で スタむルの損倱ずコンテンツの損倱が小さくなるように倉化させる スタむルの損倱 ℒstyle コンテンツの損倱 ℒcontent 生成画像 𝑥 この線圢和を最小化するように募配降䞋法を行う 𝑥 ← 𝑥 − 𝜆 𝜕ℒtotal 𝜕 𝑥 ℒtotal = 𝛌ℒstyle + 𝛜ℒcontent 𝜆孊習率 スタむル画像 𝑎
  • 4. Gatys et al. 2016a で提案された手法の抂芁 コンテンツ画像 𝑝 スタむル画像 𝑎 生成画像をはじめ䞀様乱数で初期化し募配降䞋法で スタむルの損倱ずコンテンツの損倱が小さくなるように倉化させる スタむルの損倱 ℒstyle コンテンツの損倱 ℒcontent 生成画像 𝑥 𝜆孊習率 この線圢和を最小化するように募配降䞋法を行う 𝑥 ← 𝑥 − 𝜆 𝜕ℒtotal 𝜕 𝑥 ℒtotal = 𝛌ℒstyle + 𝛜ℒcontent
  • 5. Gatys et al. 2016a で提案された手法の新しい点 この損倱関数 ℒstyle ず ℒcontent を蚈算するのに蚓緎枈みCNNを䜿う conv5_3conv5_2conv5_1 conv4_3conv4_2conv4_1 conv2_2conv2_1 Dense Dense conv1_2conv1_1 pooling conv3_3conv3_2conv3_1 pooling pooling pooling pooling & flatten VGG 16 layers (Simonyan & Zisserman, 2014) Dense 画像認識のコンペで優勝したモデルVGGを䜿う 𝑥 を入力した時の䞭間局 𝑛_𝑚 の出力の 𝑖 番目のチャンネルの座暙 𝑗 の倀を次で衚す conv 𝑛_𝑚 𝑥 𝑖,𝑗 • コンテンツの損倱 ℒcontent = 𝑖,𝑗 conv4_2 𝑥 𝑖,𝑗 − conv4_2 𝑝 𝑖,𝑗 2 • スタむルの損倱 次のGram matrix 𝐺 を甚いお 𝐺( 𝑥)𝑖1,𝑖2 𝑙 = 𝑘 (conv𝑙 𝑥 𝑖1,𝑘conv𝑙 𝑥 𝑖2,𝑘) ℒstyle = 𝑛=1 5 1 𝐎𝑙 𝑖1,𝑖2 𝐺 𝑥 𝑖1,𝑖2 𝑛_1 − 𝐺 𝑎 𝑖1,𝑖2 𝑛_1 2 𝐎𝑙は局の画玠数などの違いを吞収する係数 2次元座暙を 𝑗の1文字で衚す
  • 6. Gatys et al. 2016a で提案された手法の新しい点 この損倱関数 ℒstyle ず ℒcontent を蚈算するのに蚓緎枈みCNNを䜿う conv5_3conv5_2conv5_1 conv4_3conv4_2conv4_1 conv2_2conv2_1 Dense Dense conv1_2conv1_1 pooling conv3_3conv3_2conv3_1 pooling pooling pooling pooling & flatten VGG 16 layers (Simonyan & Zisserman, 2014) Dense 画像認識のコンペで優勝したモデルVGGを䜿う 𝑥 を入力した時の䞭間局 𝑛_𝑚 の出力の 𝑖 番目のチャンネルの座暙 𝑗 の倀を次で衚す conv 𝑛_𝑚 𝑥 𝑖,𝑗 • コンテンツの損倱 ℒcontent = 𝑖,𝑗 conv4_2 𝑥 𝑖,𝑗 − conv4_2 𝑝 𝑖,𝑗 2 • コンテンツの損倱 次のGram matrix 𝐺 を甚いお 𝐺( 𝑥)𝑖1,𝑖2 𝑙 = 𝑘 (conv𝑙 𝑥 𝑖1,𝑘conv𝑙 𝑥 𝑖2,𝑘) ℒstyle = 𝑛=1 5 1 𝐎𝑙 𝑖1,𝑖2 𝐺 𝑥 𝑖1,𝑖2 𝑛_1 − 𝐺 𝑎 𝑖1,𝑖2 𝑛_1 2 𝐎𝑙は局の画玠数などの違いを吞収する係数 2次元座暙を 𝑗の1文字で衚す Gatys et al. 2016a ではVGG19が䜿われおいたす がVGG19でもVGG16結果があたり倉わらず以降 の手法でVGG16が䜿われおいるためVGG16で䟋 を曞きたした
  • 7. コンテンツの損倱に぀いお conv5_3conv5_2conv5_1 conv4_3conv4_2conv4_1 conv2_2conv2_1 Dense Dense conv1_2conv1_1 pooling conv3_3conv3_2conv3_1 pooling pooling pooling pooling & flatten VGG 16 layers (Simonyan & Zisserman, 2014) Dense コンテンツの損倱 ℒcontent = 𝑖,𝑗 conv4_2 𝑥 𝑖,𝑗 − conv4_2 𝑝 𝑖,𝑗 2 画像を分類するように蚓緎されたVGGでは 巊図の䞋局に行けば行くほど 分類に必芁な情報が匷調されるようになる そのため䞋局のみを䜿うこずで 色などのスタむルに䟝存しない損倱を蚈算できる 論文では特に蚀及されおいないが 𝑥 ず 𝑝 の同じ座暙を比范しおいるので ゚ッゞなどの特城的な郚分は 倉換埌も倧きくはずれないはず convずpoolで小さくなるので倚少はずれうる
  • 8. 遞ぶ局の深さによるコンテンツ衚珟の違い Gatys et al. 2016aより匕甚 コンテンツの損倱を蚈算するずきに䜿う 局ずしおconv4_2が遞ばれおいるが これはおそらく実隓的に最もそれらし い画像が埗られる局を遞んでいるのだず 思うたぶん 巊の図はコンテンツの損倱に䜿う局に よっお結果ずしお埗られる図がどのように 倉化するか芋たものでconv4_2の方が それっぜくなっおいるこずがわかる
  • 9. スタむルの損倱に぀いお conv5_3conv5_2conv5_1 conv4_3conv4_2conv4_1 conv2_2conv2_1 Dense Dense conv1_2conv1_1 pooling conv3_3conv3_2conv3_1 pooling pooling pooling pooling & flatten VGG 16 layers (Simonyan & Zisserman, 2014) Dense スタむルの損倱 𝐺( 𝑥)𝑖1,𝑖2 𝑙 = 𝑘 (conv𝑙 𝑥 𝑖1,𝑘conv𝑙 𝑥 𝑖2,𝑘) ℒstyle = 𝑛=1 5 1 𝐎𝑙 𝑖1,𝑖2 𝐺 𝑥 𝑖1,𝑖2 𝑛_1 − 𝐺 𝑎 𝑖1,𝑖2 𝑛_1 2 行列𝐺 𝑙 の各芁玠は 同じ局の各チャンネル間の盞関を衚す コンテンツの損倱ず違っお 各局の出力をGram matrixにしおから 二乗誀差を蚈算しおいるので どの堎所に䜕があるかの配眮は 損倱に関係しおこない
  • 10. 個人的おもしろポむントず問題点 • 個人的おもしろポむント 䞀般に損倱関数ず蚀えば二乗誀差などの簡単な関数を䜿うが CNNずいう非垞に耇雑な関数を損倱関数ずしお䜿ったのが面癜い 転移孊習ずも違う孊習枈みモデルの䜿い方 Deep dreamず䌌たような枠組みだが実甚性が高い • 問題点 生成のために順䌝播・逆䌝播を繰り返すので ずにかく遅い 1枚の画像を生成するのにハむ゚ンドGPU䜿っおも10秒以䞊かかるずのこず GTX980TiずTensorflowを䜿っお実隓しおみたずころ 1000むテレヌションで数分くらいだった
  • 11. Gatys et al. 2016a で提案された手法の抂芁(再掲) コンテンツ画像 𝑝 生成画像をはじめ䞀様乱数で初期化し募配降䞋法で スタむルの損倱ずコンテンツの損倱が小さくなるように倉化させる スタむルの損倱 ℒstyle コンテンツの損倱 ℒcontent 生成画像 𝑥 この線圢和を最小化するように募配降䞋法を行う 𝑥 ← 𝑥 − 𝜆 𝜕ℒtotal 𝜕 𝑥 ℒtotal = 𝛌ℒstyle + 𝛜ℒcontent 𝜆孊習率 スタむル画像 𝑎
  • 12. 高速化するために  コンテンツ画像 𝑝 生成画像 𝑥 なんらかの 関数 䞀様乱数 𝑧 入力 䞀様乱数 𝑧 ずコンテンツ画像 𝑝 を入力し 画颚倉換された画像を出力する倉換を 䜕らかの関数で近䌌したい → ここにもCNNを䜿う
  • 13. Ulyanov et al. 2016a で提案された手法の抂芁 コンテンツ画像 𝑝 スタむル画像 𝑎 ノむズずコンテンツ画像から画像を生成するCNNを孊習する 生成画像 𝑥 Generator Network VGG Gatys et al. 2016a では 孊習はしおいない 䞀様乱数 𝑧 入力 画像を生成 損倱ずその募配 を蚈算 入力 入力 入力500倍 速い
  • 14. Ulyanov et al. 2016a のネットワヌク構造 図はUlyanov et al. 2016aより匕甚 図はtexture generationのタスクの堎合 Style transferの堎合は𝑧6たであっお各𝑧にコンテンツ画像がconcatされる Gatys et al. 2016a では毎回1から生成しおいたので スタむルの損倱ずコンテンツの損倱の重み付けを画像ごずにできたが この手法では孊習時に蚭定した重み付けがテスト時にも䜿われ調節ができない → 入力するノむズのスケヌルを調節するこずで調節できるこずを発芋 ResNetっぜいが逆にUpsamplingで倧きくなっおいく
  • 15. Ulyanov et al. 2016a における重み付け Ulyanov et al. 2016a より匕甚 ノむズのスケヌル𝑘を倉化させたずきの生成画像の倉化 スケヌルが小さい方がコンテンツ枝にずたった鳥が倧きく残り スケヌルが倧きくなるずほがスタむルだけになっおいる
  • 16. Johnson et al. 2016 で提案された手法の抂芁 図はJohnson et al. 2016より匕甚 CNNは Downsampling→Residual blocks→Upsampling ずいう構成になっおいる スタむルずコンテンツの重みの調敎はおそらくできない蚀及されおいないが Gatys et al. 2016a のおよそ1000倍の速床で画像を生成できる 実装によっおは入力画像にノむズを入れお重みの調節をしおいるものも この論文のおもしろポむントは 同じネットワヌクを䜿っお画像の高解像床化ができるこずを瀺しおいるこず → 倧きなCNNを䜿った損倱関数はStyle Transfer以倖でも利甚できる
  • 17. Johnson et al. 2016 による高解像床化 Johnson et al. 2016より匕甚
  • 18. Dumoulin et al. 2016 のアむディア これたでの手法では1぀のスタむルぞの倉換を1぀のCNNで行っおいる → 耇数のスタむルぞの倉換を1぀のCNNで行うこずはできないのか 同じ画家の絵なら同じような筆遣いが芋られる → ある皋床共有できるはず
  • 19. Dumoulin et al. 2016 における発芋 we found a very surprising fact about the role of normalization in style transfer networks: to model a style, it is sufficient to specialize scaling and shifting parameters after normalization to each specific style. Dumoulin et al. 2016 より匕甚 最近のCNNでは䞀般にBatch Normalizationずいうテクニックが䜿われおいる → 䌝播しおきたミニバッチの䞭で各次元の平均を0に分散を1にする Batch Normalizationをかけた埌に適圓な定数を指定しおおいお これをスケヌルしたりシフトしたりするこずがあるが このスケヌルやシフトのパラメヌタを孊習させおスタむル毎に切り替えるだけで 他の畳み蟌み局などのパラメヌタは同じのたたで 耇数のスタむルに倉換するこずができるずいうこずを発芋した この発芋に基づき conditional instance normalization を提案した
  • 20. Conditional instance normalization 孊習するスタむル数を𝑁このバッチで䜿うスタむルの番号を𝑠ずする Conditional instance normalizationでは チャンネル毎に孊習察象ずなる𝑁次元ベクトル 𝛟, 𝛜 を甚意しおおき 入力を正芏化した埌 𝛟𝑠 でスケヌルし 𝛜𝑠 でシフトしたものを出力する 図はDumoulin et al. 2016より匕甚
  • 24. Dumoulin et al. 2016 による画颚の合成 孊習された 𝛟, 𝛜 はスタむルのEmbeddingになっおいるず考えられ 凞結合でスタむルを合成するこずができる 𝛟new = 𝑠=1 𝑁 𝑀𝑠 𝛟𝑠 , 𝛜new = 𝑠=1 𝑁 𝑀𝑠 𝛜𝑠 䜆し 𝑀𝑠 ≥ 0 か぀ 𝑠=1 𝑁 𝑀𝑠 = 1 Dumoulin et al. 2016 より匕甚
  • 25. Dumoulin et al. 2016 における新しいスタむルの远加 畳み蟌み局などの重みは党おのスタむルで共有されおいるので 孊習枈みのネットワヌクに新しいスタむルを远加する堎合には ネットワヌクの重みは固定したたた新しい 𝛟, 𝛜 だけを孊習するこずで 少ない曎新で孊習するこずができる 5000 step 皋床で1から孊習させた堎合の40000 step に近いlossになっおいる 図はDumoulin et al. 2016 より匕甚
  • 26. Dumoulin et al. 2016 におけるスタむルのパラメヌタ数 Dumoulin et al. 2016 より匕甚 • ネットワヌクのパラメヌタ数 1674432 ≓ 𝟏. 𝟔𝐌 • チャンネル数の合蚈 1603 • 1スタむルのパラメヌタ数 2 × 1603 ≓ 𝟑. 𝟐𝐊 非垞に少ないパラメヌタが 結果に倧きな圱響を䞎えおいる ネットワヌク構成が過剰なのか 少ないパラメヌタで倉換できる ようにするのが難しいのか  このスタむル毎のパラメヌタを 予枬するようなNNを぀くれたら 䜕の孊習もなく画颚倉換する こずができるようになるすごい
  • 27. たずめ • Style Transferに関する論文をいく぀か玹介した • プレプリントが出た2015幎8月から1幎ちょいで耇数スタむルたで出る • すごい • 時間の関係により玹介できなかったもの • Novak & Nikulin 2016 • 損倱関数の工倫などで改善を行っおいる職人芞 • Gatys et al. 2016b • 元画像の色を保持したたた画颚倉換を行う • 色の平均・分散を合わせる方法ず茝床倀だけ倉換する方法 • Ruder et al. 2016 • Style Transferを動画に甚いる手法を提案 • Ulyanov et al. 2016b • instance normalizationで明床などの圱響を陀去 • Chen & Schmidt 2016 • Patch-basedな手法でスタむルずコンテンツの䞡方を入力ずする Feedforward Networkを構築任意のスタむルを適甚できる
  • 30. Reference III 絵の匕甚元 • Vincent van Gogh - The Starry Night https://commons.wikimedia.org/wiki/File:VanGogh-starry_night.jpg • Claude Monet - Rouen Cathedral. Facade (Morning effect) https://commons.wikimedia.org/wiki/File:Claude_Monet_- _Rouen_Cathedral,_Facade_(Morning_effect).JPG • Claude Monet - Poppy Field in Argenteuil https://commons.wikimedia.org/wiki/File%3APoppy_Field_in_Argenteuil%2C_Claude_Monet.jpg • Claude Monet - Plum Trees In Blossom At Vetheuil https://www.wikiart.org/en/claude-monet/plum-trees-in-blossom-at-vetheuil • Claude Monet - Les Nymphéas https://commons.wikimedia.org/wiki/File:Claude_Monet_038.jpg