SlideShare a Scribd company logo
ReNom User Group #3
ReNomによる
Neural Style Transfer
2017/11/08
後藤 昂彦
自己紹介
 名前
 後藤 昂彦(ごとう あきひこ)
 仕事
 特許庁 審査第四部 電子商取引
 検索技術,データベース等の特許審査を担当
 非エンジニア
 ReNom歴
 1ヶ月
 2年半ぶりにコード書いた
※本内容は組織の意見を代表するものではありません 1
今日話すこと
Neural Style TransferをReNomで実装してみた
 Neural Style Transferとは?
 アルゴリズムをざっくり説明
 ReNomによる実装例
 実行結果
2
Neural Style Transferとは?
 DNNを使ったStyle Transfer(画風変換)
 Gatys et al., 2016.
 画像を”名画っぽく”変換してくれる
 活用例
3
コンテンツ画像 スタイル画像
↑モバイルアプリ「Prisma」
#ProjectPuppetron →
(Adobe Max 2017 Sneaks)
服のデザイン →
(Ganesan et al., 2017)
アルゴリズム
 コンテンツとスタイルの分離
 画素を変数とする最適化問題として定式化
4
Style
Representation
Content
Representation
C
S
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
5
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
6
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
7
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
“猫”
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
8
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
“猫”
画像を入力したときの
中間層の出力に着目
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
9
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
“猫”
画像を入力したときの
中間層の出力に着目
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
10
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
“猫”
画像を入力したときの
中間層の出力に着目
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
11
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
12
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
13
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
14
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
15
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
勾配降下法
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
16
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
勾配降下法
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
17
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
勾配降下法
アルゴリズム
 学習済みCNNの特徴空間を利用
 Content表現:高レイヤーの特徴マップ出力
 Style表現:レイヤー内の特徴マップ間の相関
18
Layer1
Layer2
Layer3
Layer4
Layer5
VGG-16
勾配降下法
ReNomによる実装(骨子)
19
model = VGG16()
model.load("./weights_vgg16.h5")
model.set_prevent_update(True)
x = rm.Variable(p.copy())
for i in range(epoch):
features_x = model(x)
loss = 0.
# Style loss.
for layer in ["layer1", "layer2", "layer3", "layer4", "layer5"]:
gram_x = gram_mat(features_x[layer])
loss += w * rm.mean_squared_error(gram_x, gram_a[layer])¥
/ (2. * (channels*height*width)**2)
# Content loss.
layer = "layer4"
loss += lam * rm.mean_squared_error(features_x[layer], features_p[layer])
# Update
loss.grad().update(optimizer)
①モデルの定義
・学習済みの重みを読み込み
・モデルの重みは更新しない
②生成画像をVariable型で初期化
③モデルの順伝播計算
(各レイヤーの特徴マップ出力を取得)
④Style lossの計算
⑤Content lossの計算
⑥勾配計算して画素をUpdate
lossさえ定義できればあとはReNomにおまかせ
実行結果
20
GPU:ON
epoch:2000
生成時間:11分49秒
画像生成の様子(epoch 0 → 50)
21
その他の結果(1/2)
22
その他の結果(2/2)
23
まとめ
 Neural Style TransferをReNomで実装した
 ネットワークの重みではなく画素を更新する枠組み
 コードは割とシンプル
 lossさえ定義できればあとはgrad().update()でOK
 入力画像やパラメタにもよるが,
比較的きれいな画像を生成できた
24
ReNomチュートリアルに項目があるので,
興味のある方は試してみてください!
・・・GPUないと数時間かかるけど・・・
References(1/2)
 Gatys, Leon A., Alexander S. Ecker, and Matthias Bethge. “Image
style transfer using convolutional neural networks.” CVPR 2016.
 Simonyan, K. and Zisserman, A. “Very Deep Convolutional Networks
for Large-Scale Image Recognition”, arXiv:1409.1556
 Prisma [https://prisma-ai.com/]
 #ProjectPuppetron: Adobe MAX 2017 (Sneak Peeks) | Adobe
Creative Cloud [https://www.youtube.com/watch?v=UYZMyV6bqKo]
 Ganesan, Ashwinkumar, and Tim Oates. "Fashioning with Networks:
Neural Style Transfer to Design Clothes." arXiv:1707.09899, 2017
25
References(2/2)
 “The Starry Night” , Vincent van Gogh, 1889.
 “Portrait of Mademoiselle Irene Cahen d’Anvers”
by Pierre-Auguste Renoir, 1880.
 “The Great Wave off Kanagawa”
by Katsushika Hokusai, 1847.
 “Blue Painting” by Wassily Kandinsky, 1924.
 Images from Pixabay [https://pixabay.com/]
26
おまけ
 特許出願されてるっぽい
 出願人は論文著者ら
 ヨーロッパに国際出願
 最終結果は出ていない模様
27
28
Thank you!

More Related Content

PDF
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
PDF
ReNom User Group #1 Part2
PDF
TDAを構成する技術の紹介 ~PCA編~
PDF
深層学習を医療に応用するために
PDF
強化学習を用いたポートフォリオマネジメントの試み
PDF
元BIエバンジェリストが語る!脱獄matplot!
PDF
ReNom User Group #1 Part3
PDF
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
ReNom User Group #1 Part2
TDAを構成する技術の紹介 ~PCA編~
深層学習を医療に応用するために
強化学習を用いたポートフォリオマネジメントの試み
元BIエバンジェリストが語る!脱獄matplot!
ReNom User Group #1 Part3
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~

Viewers also liked (9)

PDF
ReNom User Group #1 Part1
PPTX
Style transfer
PDF
Infrastructure as CodeでReNom環境構築入門
PDF
Recurrent Neural Networks
PDF
AWS OpsWorksのご紹介
PDF
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
PDF
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
PDF
AWS Black Belt Online Seminar 2017 Deployment on AWS
PDF
深層学習時代の自然言語処理
ReNom User Group #1 Part1
Style transfer
Infrastructure as CodeでReNom環境構築入門
Recurrent Neural Networks
AWS OpsWorksのご紹介
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
NVIDIA Seminar ディープラーニングによる画像認識と応用事例
AWS Black Belt Online Seminar 2017 Deployment on AWS
深層学習時代の自然言語処理
Ad

More from ReNom User Group (20)

PPTX
AI画像認識モデル開発をやってみた!#1
PDF
ReNomを利活用した溶接モニタリングの取組について
PDF
ReNom IMG version3.0最新情報の紹介
PDF
Renomロードマップの紹介
PDF
EDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
PDF
AIのビジネス実装を成功に近づけるために
PDF
ReNomDL 高速化の紹介
PDF
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
PDF
ReNom IMGの活用事例 + ReNom TAGの告知
PDF
ReNom RG新機能の紹介
PDF
ReNomDL V3の紹介
PDF
エンジニアではなくてもAIモデル構築が可能な時代に
PDF
バージョンアップした「ReNomIMG」の紹介
PDF
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
PDF
ReNomIMG を使った料理名判別による栄養管理アプリ
PDF
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
PDF
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
PDF
ReNom DP&TDA
PDF
ReNom 2016 ~ 2018振り返り
PDF
ユニアデックスのAIに向けた取り組みご紹介
AI画像認識モデル開発をやってみた!#1
ReNomを利活用した溶接モニタリングの取組について
ReNom IMG version3.0最新情報の紹介
Renomロードマップの紹介
EDGEMATRIX社のご紹介と、Edge AI Computing Platformについて
AIのビジネス実装を成功に近づけるために
ReNomDL 高速化の紹介
量子コンピュータ向けアプリケーション開発フレームワークReNomQとは
ReNom IMGの活用事例 + ReNom TAGの告知
ReNom RG新機能の紹介
ReNomDL V3の紹介
エンジニアではなくてもAIモデル構築が可能な時代に
バージョンアップした「ReNomIMG」の紹介
数値回帰モデル作成アプリケーション 「ReNomRG」の紹介
ReNomIMG を使った料理名判別による栄養管理アプリ
AI/DeepLearningに必要なデータ準備〜そのデータ本当ですか?~
ReNom チュートリアルと今後 ~renom.jpで始めるAI開発~
ReNom DP&TDA
ReNom 2016 ~ 2018振り返り
ユニアデックスのAIに向けた取り組みご紹介
Ad

Recently uploaded (9)

PDF
口腔内スキャナー市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
PDF
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
PDF
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
PDF
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
PDF
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
PDF
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
PDF
液体クラトム抽出物供給側分析:世界の生産能力・販売量・平均価格動向(2025-2031)
PDF
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
PDF
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
口腔内スキャナー市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
液体クラトム抽出物供給側分析:世界の生産能力・販売量・平均価格動向(2025-2031)
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート

ReNomによるNeural Style Transfer