敵対的⽣成ネットワーク
Generative Adversarial Networks; GAN
⽚岡 裕雄
1
http://xpaperchallenge.org/cv
3rdAI
2
http://www.image-net.org/
http://cvpr2017.thecvf.com/
1st AI 2nd AI 3rd AI
1st - 3rd AI
Why 3rd AI?
Architecture(Algorithm) Data Machine
特にデータは重要
3
ImageNetはデータの重要性を明らかにした
– 14,000,000+ imgs / 20,000+ categories
– 2007年からデータを収集,2009年CVPR発表
http://fungai.org/images/blog/imagenet-logo.png
https://www.ted.com/talks/fei_fei_li_how_we_re_teaching_computers_t
o_understand_pictures/up-next?language=ja
右はStanfordの⾚
左は前所属のPrinceton
上の緑はWorldPeace~世界平和~を⽰す(らしい)
Fei-Fei⽒のTED動画(右)資⾦繰りの苦労や,2000年代当時はアル
ゴリズム⾄上主義でデータを収集することが理解されなかった
画像識別の進化
• DNN構造の深化
– 2014年頃から「構造をより深くする」ための知⾒が整う
– 現在(主に画像識別で)主流なのはResidual Network
AlexNet [Krizhevsky+, ILSVRC2012]
VGGNet [Simonyan+, ILSVRC2014]
GoogLeNet [Szegedy+, ILSVRC2014/CVPR2015]
ResNet [He+, ILSVRC2015/CVPR2016]
ILSVRC2012 winner,DLの⽕付け役
16/19層ネット,deeperモデルの知識
ILSVRC2014 winner,22層モデル
ILSVRC2015 winner, 152層!(実験では103+層も)
4
他タスクへの適⽤
• 画像識別でうまくいくとタスク転⽤が起こる
– R-CNN: 物体検出
– FCN: セマンティックセグメンテーション
– CNN+LSTM(Seq2Seq): 画像説明⽂
– Two-Stream CNN: 動画認識
Person
Uma
Show and Tell [Vinyals+, CVPR15]
R-CNN [Girshick+, CVPR14]
FCN [Long+, CVPR15]
Two-Stream CNN [Simonyan+, NIPS14]
5
敵対的⽣成ネットワーク(GAN)
6
• 画像⽣成を⾏うための構造として提案
– 現在,⽣成/データの分布を近づける性質から多
様な場⾯に応⽤
– 超解像,異常検知,データ拡張 など
GANの構造
https://medium.com/@sunnerli/the-
missing-piece-of-gan-d091604a615a
徐々に鮮明になるデータ
BigGAN https://arxiv.org/pdf/1809.11096.pdf
(注)下はGANにより⽣成された画像です
GANの拡がり
7
• 「論⽂数多すぎ!」問題(結局解決ならず。。)
– GAN Zooには501 GANs(閲覧: 2019/02/03)
– 実際 〜GANと載せる例は少なく,何倍ものGAN
論⽂が提案される
GAN Zooには多くの~GANが並ぶ
https://github.com/hindupuravinash/the-gan-zoo
GANの著者Goodfellow⽒もGAN論⽂10選を紹介
https://twitter.com/goodfellow_ian/status/968249713924255744
GANの拡がりの背景
8
• 巨⼈の肩に「すぐ」⽴てる気軽さ
– (ご存知)arXiv & GitHubの⽂化
– arXivには⽇々50件前後の論⽂
– GitHubはDLしてすぐに使⽤可
• コミュニティでQ&A/修正できる⽂化
https://chainer.org/images/logo.png
http://pytorch.org/docs/master/_static/pytorch-logo-dark.svg
https://www.tensorflow.org/_static/image
s/tensorflow/logo.png
DNNのフレームワーク争いが過熱
GANsを調査する勉強会
9
• 研究コミュニティ*内で勉強会を結成
– その名もGANs Study Group(GAN-SG)
– 初⼼者が3ヶ⽉でGANsプロを⽬指す!勉強会
• 論⽂の第⼀著者になれるレベルを想定
*cvpaper.challenge http://xpaperchallenge.org/cv
Twitterでもメンバーを募集,外部参加者を数名追加
https://twitter.com/HirokatuKataoka/status/1051485745
574105088
GANsを調査する勉強会
10
• いかに調べたか?
1. グループを3分割
• Challenger (C), Master (M), Observer (O)に分割
• メインはC(9名)でM(6名)に質問しながら調査
2. 主要9論⽂(次ページ)を読み主要な⽂脈を把握
• Cが調査,Mに確認しながら決定
• アルゴリズムとしての⼤きな変化をピックアップ
3. 実装/テーマ設定を⽬的としたグループに分割
実装
テーマ
設定
ü 論⽂は読むが,それ以上にコーディングをメインに実施
ü 成果物:実装のポイントや提案のGANを資料にて提出
ü 論⽂調査を網羅的に⾏い,新規にテーマを設定
ü 成果物:網羅的サーベイの資料
GANの主要な流れ
(概要レベルで把握)
GANの主要な流れ
12
• 論⽂リスト
1. GAN(オリジナルのGAN)
• [Goodfellow, NIPS2014] https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf
2. DCGAN(畳み込み層の使⽤)
• [Radford, ICLR2016] https://arxiv.org/abs/1511.06434
3. Pix2Pix(pixel同⼠が対応付くという意味でConditionalなGAN)
• [Isola, CVPR2017] https://arxiv.org/abs/1611.07004
4. CycleGAN(pix2pixの教師なし版)
• [Zhu, ICCV2017] https://arxiv.org/pdf/1703.10593.pdf
5. ACGAN(カテゴリ識別も同時に実施してコンディションとした)
• [Odera, ICML2017] https://arxiv.org/abs/1610.09585
6. WGAN/SNGAN(学習安定化)
• [Arjovsky, ICML2017] http://proceedings.mlr.press/v70/arjovsky17a.html
• [Miyato, ICLR2018] https://arxiv.org/abs/1802.05957
7. PGGAN(⾼精度化)
• [Karras, ICLR2018] https://arxiv.org/abs/1710.10196
8. Self-Attention GAN(アテンション機構を採⽤)
• [Zhang, arXiv 1805.08318] https://arxiv.org/abs/1805.08318
9. BigGAN(超⾼精細GAN)
• [Brock, ICLR2019] https://arxiv.org/abs/1809.11096
# 2018年10⽉時点での調査
GANの⼤分類(1/2)
13
• GAN / pix2pix
– GANはノイズ(ランダムシード)から画像⽣成
– pix2pixは画像⼊⼒により変換
• ピクセル同⼠の対応関係を⽰すラベルあれば変換可
GANの構造
(再掲)
pix2pixの構造
GANの⼤分類(2/2)
14
• GAN / cGAN
– GANはカテゴリ選択できない
– cGANはカテゴリ/ピクセル等により条件付
• 学習時にカテゴリを教⽰,pix2pixもcGANの⼀種
GANの構造
(再掲)
cGANの構造
(⼀例)
ここではAttribute(属性)に
より条件付けられていること
で「条件付き」敵対的⽣成
ネットワークとなっている
GAN(Generative Adversarial Networks)
[Goodfellow, NIPS2014](1/9)
15
• オリジナルのGAN
– Generator(G):DB(x)の分布を再現,画像を⽣成
– Discriminator(D):DBから⼊⼒されたものかGにより⽣成された
画像かを判断
– Min-Maxを解くことでデータ分布を再現,出⼒空間を調整
GANの構造
(再掲)
Dを最⼤化(GはDを”⼤きく”騙したい)
Gを最⼩化(GはDBの分布にフィットさせたい)
• Gはノイズzを⼊⼒として画像⽣成
• Pz(z)は⽣成された出⼒分布
• Pdata(x)はDBの分布
DCGAN(Deep Convolutional GAN)[Radford, ICLR2016] (2/9)
16
• GANの構造を深層畳み込みネットに置き換え
– Conv layerの使⽤(構造は下図)
• Linear/Pooling layerをConv layerに置き換え
• 学習安定化のため,Batch Norm.もD/Gに追加
• 活性化関数は,G: ReLU, D: LeakyReLU
– 教師なし特徴表現
• 学習済みのDを使⽤したら,82.8%@CIFAR-10
• SVHNについても同様に良好な精度
4層の畳み込み構造により
構成されている
DCGAN(Deep Convolutional GAN)[Radford, ICLR2016] (2ʼ/9)
17
• GANの構造を深層畳み込みネットに置き換え
– 算術的画像⽣成(右下図)
• Word2Vecのように加算/減算による画像⽣成が可能
• 顔の回転もinterpolationで表現可能
⾜し算,引き算など直感的な表現
で画像⽣成を実現した?
Pix2Pix[Isola, CVPR2017] (3/9)
18
• ピクセル同⼠が対応した画像変換
– ピクセル間で条件付けを⾏なったGANと捉えることができる
• 従来は別々に議論されてきた画像変換の学習を単⼀の枠組みで実施
• Enc-Dec構造のものだけでなく,U-NetをGとして採⽤
• ラベルは画像と変換した画像(下図のように⼊⼒)
単⼀の枠組み(単⼀モデル
でない)で複数のピクセル
同⼠の相互画像変換に対応.
ラベルóRGB画像,グレー
スケール画像óカラー画像,
線画ó物体画像など.
Twitterでは#edges2cats
が有名.
CycleGAN[Zhu, ICCV2017] (4/9)
19
• 画像間の教師がない場合のpix2pix
– 2つのドメイン変換に関する関数を実装(G: X->Y, F: Y->X)
• X->Y->Xʻ/Y->X->YʼにおいてXとXʻ, YとYʼの誤差を取る(Cycle
Consistency Loss)
• Discriminator Dx, Dyも含む実画像なのか,変換画像なのかを評価
• ⽬的関数はX/Yに対するAdversarial LossとCycle Consistency Lossを
同時最適化
– 実験
• AMTによりチューリングテストを実施
• 実験ではBiGAN, CoGAN, feature loss + GAN, SimGANと⽐較
pix2pixのような,多様なドメインの
変換という特性を引き継いでいる.こ
の画像変換を教師なしで⾏うところが
新規性である.SNS上ではウマをシマ
ウマにするという謎技術(?)を駆使
して論⽂を宣伝していた.
ACGAN(Auxiliary Classifier GAN)[Odera, ICML2017] (5/9)
20
• 条件付きGANを広めた技術?
– GANのタスクのみでなく,カテゴリ識別もタスクとして追加
– ⽣成画像の解像度を向上(64 [pixel] >> 128 [pixel])
• 初めてデータベースとしてImageNetを利⽤
– Dに対してクラスラベルの確率分布を返却させて誤差を計算
cGANの構造
(再掲) • 実装上の⼊⼒はカテゴリとノイズを
連結したベクトル
• Gはカテゴリも加味して画像を⽣成
• Dの出⼒はカテゴリとReal/Fake
WGAN(Wasserstein GAN)[Arjovsky, ICML2017]
SNGAN(Spectral Normalization GAN)[Miyato, ICLR2018]
21
• GANの学習安定化
– WGAN
• 分布間距離の⽐較⼿法であるEMD(Earth Mover Distance)を導⼊して
学習安定化
• 5回Criticを学習、1回Gを学習の繰り返し
• リプシッツ連続性(関数の傾きが有界に収まる; sigmoid, reluはリプ
シッツ連続)を⽤いてパラメータの範囲を決定すると学習が安定化する
• BN不要
• 従来はDに合わせてGが学習していたが、WGANはGを基準にしてDを学
習する
– SNGAN
• リプシッツ制約(すみません,あまり理解できていないデス)が重要でDの正則化として効果アリ
– Dに対して各層にSpectral Normalizationを導⼊すると学習がうまく進⾏
• BNなど従来の学習安定化⼿法を⽤いずに安定化
• 恐らく初めて1モデルでImageNetの1,000カテゴリを⽣成できたと評価
(6/9)
PGGAN(Progressive Growing GAN)[Karras, ICLR2018](7/9)
22
– 「徐々に成⻑する」要素(右図)により,
• 画像⽣成に対する学習の安定性を⾼め学習の収束を速くした
• 結果的に,画像⽣成の解像度を⾼めることに貢献
– 結果
• CIFAR-10についてはSoTA(IS: 8.80)
• 収束が早くなる(2 – 6 times faster)
その他,⼯夫点
• 層を追加する際に重み(α)を増加
• Minibatch discriminationを単純化した
Minibatch standard deviation:ミニ
バッチ内で標準偏差を計算/平均してD
の最終層に統合
• 層ごとの正則化を⾏うパラメータによ
り学習率を調整
SAGAN(Self-Attention GAN)[Zhang, arXiv2018] (8/9)
23
• アテンション機構を⽤いたGANの⾼精細化
– 主に対象物に着⽬して詳細を描画
• 画像内のパターンにおける依存関係の抽出,計算の効率性の⾯で
有利
– IS: 52.52 (higher is better), FID: 18.65 (lower is better)
• 前述のSNGANは36.80@IS, 27.62@FID
SAGANにおけるアテンションモジュール
アテンションによる着⽬点
BigGAN[Brock, ICLR2019](9/9)
24
• 最も⾼精細な画像を⽣成するGAN(2019年2⽉現在)
– Bigと呼ばれる理由
• 512グラフィックボード(実際はGoogle社のTensor Processing Unit)使⽤
• 画像DBには3億枚画像含むJFT-300Mを採⽤
• バッチサイズ2,048,画像サイズ 512 [pixel]四⽅
– Truncated Trick
• モード崩壊を防ぐための技術
• 切断正規分布の範囲調整により,多様性と画質を確保
BigGANの出⼒; ⼈間が⾒ても実
際の写真か⽣成結果なのか判別困
難
左図はGoogle Collaboratoryにて出⼒
https://colab.research.google.com/github/te
nsorflow/hub/blob/master/examples/colab/b
iggan_generation_with_tf_hub.ipynb
GANの評価/調査研究
GANの代表的な評価⽅法(1/3)Inception Score
• 論⽂タイトル
– Improved Techniques for Training GANs
• 著者名
– Tim Salimans et al.
• 採択会議
– NIPS 2016
• 論⽂URL
– http://papers.nips.cc/paper/6124-improved-techniques-for-training-gans
• コードURL
– https://github.com/openai/improved-gan
• ひとこと
– Inception Score(IS)の提案(実際の論⽂にはGANに関する種々の改善法を記載)
GANの代表的な評価⽅法(1/3)Inception Score
• ⽣成画像が “物体カテゴリとして識別しやすいか” and “物体カテゴリが
多様な出⼒となっているか”について評価
– 識別器 Inception Model に⽣成画像 x を⼊⼒して出⼒のカテゴリyの確率分
布 p(y|x) を⽤いる
– p(y) とのKL divergenceを計算,全てのxiに対して正規化してexp計算した
ものがIS
– 各xiに対してp(y|x) がpeakyである(⾃信を持ってカテゴリを推定)ほどIS
は⾼い
• クラウドソーシング(AMT)により⽐較して,ISの有効性を確かめた
– AMTにより,⼈間にも評価してもらった
– ISとAMTの相関が⾒られたので有効と判断
<
@IS
左の画像群よりも右の画像群の⽅が動物
らしい特徴を捉えているのでISは⾼い
(だが⽣成としては不⼗分)
GANの代表的な評価⽅法(2/3)Frechet Inception Distance
• 論⽂タイトル
– GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash
Equilibrium
• 著者名
– Martin Heusel et al.
• 採択会議
– arXiv preprint 1706.08500
• 論⽂URL
– https://arxiv.org/pdf/1706.08500.pdf
• コードURL
– https://github.com/mseitzer/pytorch-fid
• ひとこと
– 正解画像群/⽣成画像群の分布間の距離を算出するFrechet Inception Distance (FID)
の提案
GANの代表的な評価⽅法(2/3)Frechet Inception Distance
• リアル画像群 pw(・)と⽣成画像群 p(・)の分布間の距離を計算する指標
– 従来法の問題:識別器による事後確率はノイズの影響を多分に受けてしまう
– そのため,分布間による⽐較が重要である
• 多次元正規分布と仮定した際の,pxとpの距離をFrechet Distanceによ
り計算
– Frechet Dsitance(フレシェ距離)は曲線間の距離を測る指標である
– ここでは多次元正規分布を曲線と⾒做して距離を計算
図はそれぞれ,画像にノイズ
を載せた際のFIDの変化.左
上: ガウシアンノイズ,中央
上: ガウシアンブラー,右上:
ランダムの⿊矩形,左下: ね
じれ画像,中央下: ごま塩ノ
イズ,右下: 異なる画像の混
同
GANの代表的な評価⽅法(3/3)GAN-train/test
• 論⽂タイトル
– How good is my GAN?
• 著者名
– Shmelkov et al.
• 採択会議
– ECCV 2018
• 論⽂URL
– https://hal.inria.fr/hal-01850447/document
• プロジェクトURL
– http://thoth.inrialpes.fr/research/ganeval/
• ひとこと
– GAN⽣成画像により画像識別のtrain/testを実施して,⽣成画像の評価を⾏う
GANの代表的な評価⽅法(3/3)GAN-train/test
• GAN⽣成画像により画像識別のtrain/testを実施して,⽣成画像を評価
– GAN-train
• GAN⽣成画像で学習,リアル画像でテスト
• ⽣成画像が多様なカテゴリを表現できているか?
– GAN-test
• リアル画像で学習,GAN⽣成画像でテスト
• ⽣成画像は識別し得るだけクオリティの⾼い画像になっているか?
• GANはデータ拡張に使えるか?
– 答えはNo(単純なcGANでは上⼿くいかない)
– 実画像+GAN⽣成画像によるデータ拡張は精度低下(右下表参照)
リアル画像で学習・
画像識別のテスト
GAN⽣成画像で学
習・リアル画像で画
像識別のテスト
(-1.7%)
(-6.5%)
(-6.0%)
実画像のみ 実画像+GAN⽣成画像
GANではカテゴリの中間付近(interpolation
image)を⽣成することもあり,クラス境界に悪
影響を与えている?
GANに関する調査研究
• 論⽂タイトル
– Are GANs Created Equal? A Large-Scale Study
• 著者名
– Mario Lucic et al.
• 採択会議
– NeurIPS 2018 (arXiv preprint 1711.10337)
• 論⽂URL
– https://arxiv.org/pdf/1711.10337.pdf
• コードURL
– https://github.com/google/compare_gan
• ひとこと
– 最先端のGANsを⽐較した結果,ハイパーパラメータチューニング次第でどのモデルも
似たようなスコアになったことを報告
Are GANs Created Equal?
• 網羅的かつ⼤規模なGANの評価に関する調査
– より⽣成結果を評価できると考えられる評価指標としてFIDを採⽤(ISの⽋
点を鑑みて)
– GANsの⼿法は次ページの表を参照
• フェアな⽐較
– モデル(次ページ表参照)の構造は変更しない
– ハイパーパラメータを調整
– 4つの代表的なデータ(CelebA, CIFAR10, Fashion-MNIST, MNIST)全て
に対して評価
• 結果からの考察
– 計算コスト(budget)をかけるとどのモデルも類似したFIDを記録
– パラメータ探索はデータセットに依存,⼤きなモデルほど全てのデータに対
応しやすい
– F値, Pre., Rec.では⾼くなりやすいモデルがある(論⽂ではNS GAN)
• (計算コストを固定しない限り)FIDでの競争は意味がない
概要: Are GANs Created Equal?
• ⽐較するアーキテクチャとその誤差関数(D, G)
GANによる
データ拡張・⾼精度化へ
画像のスタイル変換
– Semantic Layoutからの画像⽣成
• ラベルデータがあれば、⾼解像度⾼品質なデータが作成できる。
– High-Resolution Image Synthesis and Semantic Manipulation With
Conditional GANs
– Semi-Parametric Image Synthesis
• データ不⾜への新たな対応策
– 今後は出⼒の多様性が重要になる。
High-Resolution Image Synthesis and Semantic Manipulation With Conditional GANs
画像のスタイル変換
37
– Semantic Layoutからの復元,ホントにキレイになる
• これはもう,各⽅⾯で学習データに使うしかない
• (1)シミュレータをセマンティックラベルに復元,(2)この⼿
法でセマンティックラベルを任意のリアル画像に復元
• (1)と(2)を対応付ければ学習の⼊出⼒画像が完成!
シミュレーション画像からの変換
38
– GANにより変換/⽣成した画像も学習に使えるように
• 左図:SimGAN
– CVPR2017 Best Paper
– CGをリアルに近付けるRefiner(R)と識別器(D)
• 右図:GraspGAN
– ICRA2018
– 上記論⽂を元ネタとしてロボットシミュレータ画像をリアルに近づけて,マニ
ピューレーションを実⾏
教師あり学習 vs. 無教師/弱教師
39
• 少量/無 ラベルで教師有りに勝つ!(というモチベーション)
• Cut/Paste学習:既存のセグメントラベルを切り貼り
してGANにより⾃然か否かを判断
– ⾃然:スケールやコンテキストのズレがないか?
• 教師なし学習で90%の精度まで来た
[Remez+, ECCV18]Oral
Cut/Pasteで既存セグメントラベルを増加,GANによりスケールやコンテキストが⾃然かどうか
を判断することで効果的に学習サンプルを⽣成
⾃然な姿勢をとり得るか?
40
• 推定した姿勢が⾃然か?を敵対的学習
• 前半は通常の姿勢推定
– 3次元の姿勢(含:形状・カメラ姿勢)を復元
– 2次元への再投影誤差も計算
• 後半に姿勢DBとの⽐較で⾃然か否かを判断
GANの実装
(参考にしたHP等)
実装の参考(1/3)
42
• PyTorch Tutorial
– GAN(オリジナル)を全てmain.pyに集約
– 画像識別やRNN, 画像説明⽂も実装
• 平易なコードで実装されているので初学者にはわかりやすい
• モデル定義,DBのダウンロード,loaderもmain内に
https://github.com/yunjey/pytorch-tutorial/tree/master/tutorials/03-advanced/generative_adversarial_network
実装の参考(2/3)
43
• PyTorch examples
– DCGANを全てmain.pyに集約
– PyTorch開発者によるチュートリアル
• こちらもGANの他にもサンプルが豊富
• ImageNetは⼤規模な(分散)学習にも対応
• 強化学習/⾔語処理モデルも収録
https://github.com/pytorch/examples/tree/master/dcgan
実装の参考(3/3)
44
• GitHub@NVIDIA
– PGGAN, pix2pixHDなど研究業績を公開
– もちろん,GAN以外の研究業績も多数
https://github.com/NVIDIA/
GANで強い研究機関(企業編)
45
• Google Brain/DeepMind
– Goodfellow⽒@Google Brain
• GANだけでなく摂動ノイズ(Adversarial Examples)を始めと
した機械学習のセキュリティにも注⼒
– 研究者が集合する環境
• アカデミックに残るよりも⾼待遇
– 圧倒的な計算⼒
• GPU(TPU?)使い放題?
• e.g. BigGANの512TPU@DeepMind
– プラットフォーム
• TensorFlow(これは良く⾒る)
• Collaboratory(こちらは研究者は恩恵受けてるか不明)
GANで強い研究機関(企業編)
46
• NVIDIA
– 圧倒的な計算⼒
• GPU使い放題?
• 論⽂にはよくDGX-1を使いましたと書いてある
– PGGAN/pix2pixHD
• PGGAN https://arxiv.org/abs/1710.10196
• pix2pixHD https://arxiv.org/abs/1711.11585
– やはり研究者が集合,コードまとめ
GANで強い研究機関(国内企業編)
47
• PFN
– 計算⼒
• Private Super Computer
– 宮⼾さん
• Spectral Normalization for GAN
https://openreview.net/pdf?id=B1QRgziT-
• Projection Discriminator
https://openreview.net/pdf?id=ByS1VpgRZ
– 齋藤真樹さん
• TGAN https://arxiv.org/abs/1611.06624
• TGANv2 https://arxiv.org/abs/1811.09245
– そのほかにも強⼒な研究者が続々参⼊
• ML/CVはもちろん,Math/NLP/Robotics/HCIなど
GANで強い研究機関(⼤学編)
48
• A. Efros研究室 @UC Berkeley
– pix2pix, CycleGAN
• A. Torralba研究室 @MIT
– GAN Dissection
– 3D GAN(2D画像⼊⼒により3D復元)
GAN初学者Q&A
49
• Q. グラフィックボード⼀台で⼗分?
A. 実装や研究はできるが,バッチサイズが⼩さくなりがち
• Q. バッチサイズ⼩さくても⼤丈夫?
A. pix2pix/CycleGAN等の変換系はバッチサイズが⼩さくても精度はそこそこ出るので研
究⾃体は出るが,GAN/cGANは多い⽅がベター
• Q. やはりGPUは多い⽅がよい?
A. (当然だけど)多い⽅がパラメータ/モデル探索など研究・開発を有利に進められる
• Q. GPU数をたくさん増やして研究・開発するには?
A. ABCI(産総研のAI橋渡しクラウド)がオススメ! >> https://abci.ai/ja/
• Q. オススメの研究・開発⽅法は?
A. GANは学習順番が重要なのでうまくいった⽅法などに従い,テンプレートに当てはめ
ていく進め⽅がグッド
GAN初学者Q&A
50
• Q. GAN(ガン) vs. GAN(ギャン)?
A. 勉強しても結局よくワカラナイ

敵対的生成ネットワーク(GAN)

  • 1.
    敵対的⽣成ネットワーク Generative Adversarial Networks;GAN ⽚岡 裕雄 1 http://xpaperchallenge.org/cv
  • 2.
    3rdAI 2 http://www.image-net.org/ http://cvpr2017.thecvf.com/ 1st AI 2ndAI 3rd AI 1st - 3rd AI Why 3rd AI? Architecture(Algorithm) Data Machine
  • 3.
    特にデータは重要 3 ImageNetはデータの重要性を明らかにした – 14,000,000+ imgs/ 20,000+ categories – 2007年からデータを収集,2009年CVPR発表 http://fungai.org/images/blog/imagenet-logo.png https://www.ted.com/talks/fei_fei_li_how_we_re_teaching_computers_t o_understand_pictures/up-next?language=ja 右はStanfordの⾚ 左は前所属のPrinceton 上の緑はWorldPeace~世界平和~を⽰す(らしい) Fei-Fei⽒のTED動画(右)資⾦繰りの苦労や,2000年代当時はアル ゴリズム⾄上主義でデータを収集することが理解されなかった
  • 4.
    画像識別の進化 • DNN構造の深化 – 2014年頃から「構造をより深くする」ための知⾒が整う –現在(主に画像識別で)主流なのはResidual Network AlexNet [Krizhevsky+, ILSVRC2012] VGGNet [Simonyan+, ILSVRC2014] GoogLeNet [Szegedy+, ILSVRC2014/CVPR2015] ResNet [He+, ILSVRC2015/CVPR2016] ILSVRC2012 winner,DLの⽕付け役 16/19層ネット,deeperモデルの知識 ILSVRC2014 winner,22層モデル ILSVRC2015 winner, 152層!(実験では103+層も) 4
  • 5.
    他タスクへの適⽤ • 画像識別でうまくいくとタスク転⽤が起こる – R-CNN:物体検出 – FCN: セマンティックセグメンテーション – CNN+LSTM(Seq2Seq): 画像説明⽂ – Two-Stream CNN: 動画認識 Person Uma Show and Tell [Vinyals+, CVPR15] R-CNN [Girshick+, CVPR14] FCN [Long+, CVPR15] Two-Stream CNN [Simonyan+, NIPS14] 5
  • 6.
    敵対的⽣成ネットワーク(GAN) 6 • 画像⽣成を⾏うための構造として提案 – 現在,⽣成/データの分布を近づける性質から多 様な場⾯に応⽤ –超解像,異常検知,データ拡張 など GANの構造 https://medium.com/@sunnerli/the- missing-piece-of-gan-d091604a615a 徐々に鮮明になるデータ BigGAN https://arxiv.org/pdf/1809.11096.pdf (注)下はGANにより⽣成された画像です
  • 7.
    GANの拡がり 7 • 「論⽂数多すぎ!」問題(結局解決ならず。。) – GANZooには501 GANs(閲覧: 2019/02/03) – 実際 〜GANと載せる例は少なく,何倍ものGAN 論⽂が提案される GAN Zooには多くの~GANが並ぶ https://github.com/hindupuravinash/the-gan-zoo GANの著者Goodfellow⽒もGAN論⽂10選を紹介 https://twitter.com/goodfellow_ian/status/968249713924255744
  • 8.
    GANの拡がりの背景 8 • 巨⼈の肩に「すぐ」⽴てる気軽さ – (ご存知)arXiv& GitHubの⽂化 – arXivには⽇々50件前後の論⽂ – GitHubはDLしてすぐに使⽤可 • コミュニティでQ&A/修正できる⽂化 https://chainer.org/images/logo.png http://pytorch.org/docs/master/_static/pytorch-logo-dark.svg https://www.tensorflow.org/_static/image s/tensorflow/logo.png DNNのフレームワーク争いが過熱
  • 9.
    GANsを調査する勉強会 9 • 研究コミュニティ*内で勉強会を結成 – その名もGANsStudy Group(GAN-SG) – 初⼼者が3ヶ⽉でGANsプロを⽬指す!勉強会 • 論⽂の第⼀著者になれるレベルを想定 *cvpaper.challenge http://xpaperchallenge.org/cv Twitterでもメンバーを募集,外部参加者を数名追加 https://twitter.com/HirokatuKataoka/status/1051485745 574105088
  • 10.
    GANsを調査する勉強会 10 • いかに調べたか? 1. グループを3分割 •Challenger (C), Master (M), Observer (O)に分割 • メインはC(9名)でM(6名)に質問しながら調査 2. 主要9論⽂(次ページ)を読み主要な⽂脈を把握 • Cが調査,Mに確認しながら決定 • アルゴリズムとしての⼤きな変化をピックアップ 3. 実装/テーマ設定を⽬的としたグループに分割 実装 テーマ 設定 ü 論⽂は読むが,それ以上にコーディングをメインに実施 ü 成果物:実装のポイントや提案のGANを資料にて提出 ü 論⽂調査を網羅的に⾏い,新規にテーマを設定 ü 成果物:網羅的サーベイの資料
  • 11.
  • 12.
    GANの主要な流れ 12 • 論⽂リスト 1. GAN(オリジナルのGAN) •[Goodfellow, NIPS2014] https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf 2. DCGAN(畳み込み層の使⽤) • [Radford, ICLR2016] https://arxiv.org/abs/1511.06434 3. Pix2Pix(pixel同⼠が対応付くという意味でConditionalなGAN) • [Isola, CVPR2017] https://arxiv.org/abs/1611.07004 4. CycleGAN(pix2pixの教師なし版) • [Zhu, ICCV2017] https://arxiv.org/pdf/1703.10593.pdf 5. ACGAN(カテゴリ識別も同時に実施してコンディションとした) • [Odera, ICML2017] https://arxiv.org/abs/1610.09585 6. WGAN/SNGAN(学習安定化) • [Arjovsky, ICML2017] http://proceedings.mlr.press/v70/arjovsky17a.html • [Miyato, ICLR2018] https://arxiv.org/abs/1802.05957 7. PGGAN(⾼精度化) • [Karras, ICLR2018] https://arxiv.org/abs/1710.10196 8. Self-Attention GAN(アテンション機構を採⽤) • [Zhang, arXiv 1805.08318] https://arxiv.org/abs/1805.08318 9. BigGAN(超⾼精細GAN) • [Brock, ICLR2019] https://arxiv.org/abs/1809.11096 # 2018年10⽉時点での調査
  • 13.
    GANの⼤分類(1/2) 13 • GAN /pix2pix – GANはノイズ(ランダムシード)から画像⽣成 – pix2pixは画像⼊⼒により変換 • ピクセル同⼠の対応関係を⽰すラベルあれば変換可 GANの構造 (再掲) pix2pixの構造
  • 14.
    GANの⼤分類(2/2) 14 • GAN /cGAN – GANはカテゴリ選択できない – cGANはカテゴリ/ピクセル等により条件付 • 学習時にカテゴリを教⽰,pix2pixもcGANの⼀種 GANの構造 (再掲) cGANの構造 (⼀例) ここではAttribute(属性)に より条件付けられていること で「条件付き」敵対的⽣成 ネットワークとなっている
  • 15.
    GAN(Generative Adversarial Networks) [Goodfellow,NIPS2014](1/9) 15 • オリジナルのGAN – Generator(G):DB(x)の分布を再現,画像を⽣成 – Discriminator(D):DBから⼊⼒されたものかGにより⽣成された 画像かを判断 – Min-Maxを解くことでデータ分布を再現,出⼒空間を調整 GANの構造 (再掲) Dを最⼤化(GはDを”⼤きく”騙したい) Gを最⼩化(GはDBの分布にフィットさせたい) • Gはノイズzを⼊⼒として画像⽣成 • Pz(z)は⽣成された出⼒分布 • Pdata(x)はDBの分布
  • 16.
    DCGAN(Deep Convolutional GAN)[Radford,ICLR2016] (2/9) 16 • GANの構造を深層畳み込みネットに置き換え – Conv layerの使⽤(構造は下図) • Linear/Pooling layerをConv layerに置き換え • 学習安定化のため,Batch Norm.もD/Gに追加 • 活性化関数は,G: ReLU, D: LeakyReLU – 教師なし特徴表現 • 学習済みのDを使⽤したら,82.8%@CIFAR-10 • SVHNについても同様に良好な精度 4層の畳み込み構造により 構成されている
  • 17.
    DCGAN(Deep Convolutional GAN)[Radford,ICLR2016] (2ʼ/9) 17 • GANの構造を深層畳み込みネットに置き換え – 算術的画像⽣成(右下図) • Word2Vecのように加算/減算による画像⽣成が可能 • 顔の回転もinterpolationで表現可能 ⾜し算,引き算など直感的な表現 で画像⽣成を実現した?
  • 18.
    Pix2Pix[Isola, CVPR2017] (3/9) 18 •ピクセル同⼠が対応した画像変換 – ピクセル間で条件付けを⾏なったGANと捉えることができる • 従来は別々に議論されてきた画像変換の学習を単⼀の枠組みで実施 • Enc-Dec構造のものだけでなく,U-NetをGとして採⽤ • ラベルは画像と変換した画像(下図のように⼊⼒) 単⼀の枠組み(単⼀モデル でない)で複数のピクセル 同⼠の相互画像変換に対応. ラベルóRGB画像,グレー スケール画像óカラー画像, 線画ó物体画像など. Twitterでは#edges2cats が有名.
  • 19.
    CycleGAN[Zhu, ICCV2017] (4/9) 19 •画像間の教師がない場合のpix2pix – 2つのドメイン変換に関する関数を実装(G: X->Y, F: Y->X) • X->Y->Xʻ/Y->X->YʼにおいてXとXʻ, YとYʼの誤差を取る(Cycle Consistency Loss) • Discriminator Dx, Dyも含む実画像なのか,変換画像なのかを評価 • ⽬的関数はX/Yに対するAdversarial LossとCycle Consistency Lossを 同時最適化 – 実験 • AMTによりチューリングテストを実施 • 実験ではBiGAN, CoGAN, feature loss + GAN, SimGANと⽐較 pix2pixのような,多様なドメインの 変換という特性を引き継いでいる.こ の画像変換を教師なしで⾏うところが 新規性である.SNS上ではウマをシマ ウマにするという謎技術(?)を駆使 して論⽂を宣伝していた.
  • 20.
    ACGAN(Auxiliary Classifier GAN)[Odera,ICML2017] (5/9) 20 • 条件付きGANを広めた技術? – GANのタスクのみでなく,カテゴリ識別もタスクとして追加 – ⽣成画像の解像度を向上(64 [pixel] >> 128 [pixel]) • 初めてデータベースとしてImageNetを利⽤ – Dに対してクラスラベルの確率分布を返却させて誤差を計算 cGANの構造 (再掲) • 実装上の⼊⼒はカテゴリとノイズを 連結したベクトル • Gはカテゴリも加味して画像を⽣成 • Dの出⼒はカテゴリとReal/Fake
  • 21.
    WGAN(Wasserstein GAN)[Arjovsky, ICML2017] SNGAN(SpectralNormalization GAN)[Miyato, ICLR2018] 21 • GANの学習安定化 – WGAN • 分布間距離の⽐較⼿法であるEMD(Earth Mover Distance)を導⼊して 学習安定化 • 5回Criticを学習、1回Gを学習の繰り返し • リプシッツ連続性(関数の傾きが有界に収まる; sigmoid, reluはリプ シッツ連続)を⽤いてパラメータの範囲を決定すると学習が安定化する • BN不要 • 従来はDに合わせてGが学習していたが、WGANはGを基準にしてDを学 習する – SNGAN • リプシッツ制約(すみません,あまり理解できていないデス)が重要でDの正則化として効果アリ – Dに対して各層にSpectral Normalizationを導⼊すると学習がうまく進⾏ • BNなど従来の学習安定化⼿法を⽤いずに安定化 • 恐らく初めて1モデルでImageNetの1,000カテゴリを⽣成できたと評価 (6/9)
  • 22.
    PGGAN(Progressive Growing GAN)[Karras,ICLR2018](7/9) 22 – 「徐々に成⻑する」要素(右図)により, • 画像⽣成に対する学習の安定性を⾼め学習の収束を速くした • 結果的に,画像⽣成の解像度を⾼めることに貢献 – 結果 • CIFAR-10についてはSoTA(IS: 8.80) • 収束が早くなる(2 – 6 times faster) その他,⼯夫点 • 層を追加する際に重み(α)を増加 • Minibatch discriminationを単純化した Minibatch standard deviation:ミニ バッチ内で標準偏差を計算/平均してD の最終層に統合 • 層ごとの正則化を⾏うパラメータによ り学習率を調整
  • 23.
    SAGAN(Self-Attention GAN)[Zhang, arXiv2018](8/9) 23 • アテンション機構を⽤いたGANの⾼精細化 – 主に対象物に着⽬して詳細を描画 • 画像内のパターンにおける依存関係の抽出,計算の効率性の⾯で 有利 – IS: 52.52 (higher is better), FID: 18.65 (lower is better) • 前述のSNGANは36.80@IS, 27.62@FID SAGANにおけるアテンションモジュール アテンションによる着⽬点
  • 24.
    BigGAN[Brock, ICLR2019](9/9) 24 • 最も⾼精細な画像を⽣成するGAN(2019年2⽉現在) –Bigと呼ばれる理由 • 512グラフィックボード(実際はGoogle社のTensor Processing Unit)使⽤ • 画像DBには3億枚画像含むJFT-300Mを採⽤ • バッチサイズ2,048,画像サイズ 512 [pixel]四⽅ – Truncated Trick • モード崩壊を防ぐための技術 • 切断正規分布の範囲調整により,多様性と画質を確保 BigGANの出⼒; ⼈間が⾒ても実 際の写真か⽣成結果なのか判別困 難 左図はGoogle Collaboratoryにて出⼒ https://colab.research.google.com/github/te nsorflow/hub/blob/master/examples/colab/b iggan_generation_with_tf_hub.ipynb
  • 25.
  • 26.
    GANの代表的な評価⽅法(1/3)Inception Score • 論⽂タイトル –Improved Techniques for Training GANs • 著者名 – Tim Salimans et al. • 採択会議 – NIPS 2016 • 論⽂URL – http://papers.nips.cc/paper/6124-improved-techniques-for-training-gans • コードURL – https://github.com/openai/improved-gan • ひとこと – Inception Score(IS)の提案(実際の論⽂にはGANに関する種々の改善法を記載)
  • 27.
    GANの代表的な評価⽅法(1/3)Inception Score • ⽣成画像が“物体カテゴリとして識別しやすいか” and “物体カテゴリが 多様な出⼒となっているか”について評価 – 識別器 Inception Model に⽣成画像 x を⼊⼒して出⼒のカテゴリyの確率分 布 p(y|x) を⽤いる – p(y) とのKL divergenceを計算,全てのxiに対して正規化してexp計算した ものがIS – 各xiに対してp(y|x) がpeakyである(⾃信を持ってカテゴリを推定)ほどIS は⾼い • クラウドソーシング(AMT)により⽐較して,ISの有効性を確かめた – AMTにより,⼈間にも評価してもらった – ISとAMTの相関が⾒られたので有効と判断 < @IS 左の画像群よりも右の画像群の⽅が動物 らしい特徴を捉えているのでISは⾼い (だが⽣成としては不⼗分)
  • 28.
    GANの代表的な評価⽅法(2/3)Frechet Inception Distance •論⽂タイトル – GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium • 著者名 – Martin Heusel et al. • 採択会議 – arXiv preprint 1706.08500 • 論⽂URL – https://arxiv.org/pdf/1706.08500.pdf • コードURL – https://github.com/mseitzer/pytorch-fid • ひとこと – 正解画像群/⽣成画像群の分布間の距離を算出するFrechet Inception Distance (FID) の提案
  • 29.
    GANの代表的な評価⽅法(2/3)Frechet Inception Distance •リアル画像群 pw(・)と⽣成画像群 p(・)の分布間の距離を計算する指標 – 従来法の問題:識別器による事後確率はノイズの影響を多分に受けてしまう – そのため,分布間による⽐較が重要である • 多次元正規分布と仮定した際の,pxとpの距離をFrechet Distanceによ り計算 – Frechet Dsitance(フレシェ距離)は曲線間の距離を測る指標である – ここでは多次元正規分布を曲線と⾒做して距離を計算 図はそれぞれ,画像にノイズ を載せた際のFIDの変化.左 上: ガウシアンノイズ,中央 上: ガウシアンブラー,右上: ランダムの⿊矩形,左下: ね じれ画像,中央下: ごま塩ノ イズ,右下: 異なる画像の混 同
  • 30.
    GANの代表的な評価⽅法(3/3)GAN-train/test • 論⽂タイトル – Howgood is my GAN? • 著者名 – Shmelkov et al. • 採択会議 – ECCV 2018 • 論⽂URL – https://hal.inria.fr/hal-01850447/document • プロジェクトURL – http://thoth.inrialpes.fr/research/ganeval/ • ひとこと – GAN⽣成画像により画像識別のtrain/testを実施して,⽣成画像の評価を⾏う
  • 31.
    GANの代表的な評価⽅法(3/3)GAN-train/test • GAN⽣成画像により画像識別のtrain/testを実施して,⽣成画像を評価 – GAN-train •GAN⽣成画像で学習,リアル画像でテスト • ⽣成画像が多様なカテゴリを表現できているか? – GAN-test • リアル画像で学習,GAN⽣成画像でテスト • ⽣成画像は識別し得るだけクオリティの⾼い画像になっているか? • GANはデータ拡張に使えるか? – 答えはNo(単純なcGANでは上⼿くいかない) – 実画像+GAN⽣成画像によるデータ拡張は精度低下(右下表参照) リアル画像で学習・ 画像識別のテスト GAN⽣成画像で学 習・リアル画像で画 像識別のテスト (-1.7%) (-6.5%) (-6.0%) 実画像のみ 実画像+GAN⽣成画像 GANではカテゴリの中間付近(interpolation image)を⽣成することもあり,クラス境界に悪 影響を与えている?
  • 32.
    GANに関する調査研究 • 論⽂タイトル – AreGANs Created Equal? A Large-Scale Study • 著者名 – Mario Lucic et al. • 採択会議 – NeurIPS 2018 (arXiv preprint 1711.10337) • 論⽂URL – https://arxiv.org/pdf/1711.10337.pdf • コードURL – https://github.com/google/compare_gan • ひとこと – 最先端のGANsを⽐較した結果,ハイパーパラメータチューニング次第でどのモデルも 似たようなスコアになったことを報告
  • 33.
    Are GANs CreatedEqual? • 網羅的かつ⼤規模なGANの評価に関する調査 – より⽣成結果を評価できると考えられる評価指標としてFIDを採⽤(ISの⽋ 点を鑑みて) – GANsの⼿法は次ページの表を参照 • フェアな⽐較 – モデル(次ページ表参照)の構造は変更しない – ハイパーパラメータを調整 – 4つの代表的なデータ(CelebA, CIFAR10, Fashion-MNIST, MNIST)全て に対して評価 • 結果からの考察 – 計算コスト(budget)をかけるとどのモデルも類似したFIDを記録 – パラメータ探索はデータセットに依存,⼤きなモデルほど全てのデータに対 応しやすい – F値, Pre., Rec.では⾼くなりやすいモデルがある(論⽂ではNS GAN) • (計算コストを固定しない限り)FIDでの競争は意味がない
  • 34.
    概要: Are GANsCreated Equal? • ⽐較するアーキテクチャとその誤差関数(D, G)
  • 35.
  • 36.
    画像のスタイル変換 – Semantic Layoutからの画像⽣成 •ラベルデータがあれば、⾼解像度⾼品質なデータが作成できる。 – High-Resolution Image Synthesis and Semantic Manipulation With Conditional GANs – Semi-Parametric Image Synthesis • データ不⾜への新たな対応策 – 今後は出⼒の多様性が重要になる。 High-Resolution Image Synthesis and Semantic Manipulation With Conditional GANs
  • 37.
    画像のスタイル変換 37 – Semantic Layoutからの復元,ホントにキレイになる •これはもう,各⽅⾯で学習データに使うしかない • (1)シミュレータをセマンティックラベルに復元,(2)この⼿ 法でセマンティックラベルを任意のリアル画像に復元 • (1)と(2)を対応付ければ学習の⼊出⼒画像が完成!
  • 38.
    シミュレーション画像からの変換 38 – GANにより変換/⽣成した画像も学習に使えるように • 左図:SimGAN –CVPR2017 Best Paper – CGをリアルに近付けるRefiner(R)と識別器(D) • 右図:GraspGAN – ICRA2018 – 上記論⽂を元ネタとしてロボットシミュレータ画像をリアルに近づけて,マニ ピューレーションを実⾏
  • 39.
    教師あり学習 vs. 無教師/弱教師 39 •少量/無 ラベルで教師有りに勝つ!(というモチベーション) • Cut/Paste学習:既存のセグメントラベルを切り貼り してGANにより⾃然か否かを判断 – ⾃然:スケールやコンテキストのズレがないか? • 教師なし学習で90%の精度まで来た [Remez+, ECCV18]Oral Cut/Pasteで既存セグメントラベルを増加,GANによりスケールやコンテキストが⾃然かどうか を判断することで効果的に学習サンプルを⽣成
  • 40.
    ⾃然な姿勢をとり得るか? 40 • 推定した姿勢が⾃然か?を敵対的学習 • 前半は通常の姿勢推定 –3次元の姿勢(含:形状・カメラ姿勢)を復元 – 2次元への再投影誤差も計算 • 後半に姿勢DBとの⽐較で⾃然か否かを判断
  • 41.
  • 42.
    実装の参考(1/3) 42 • PyTorch Tutorial –GAN(オリジナル)を全てmain.pyに集約 – 画像識別やRNN, 画像説明⽂も実装 • 平易なコードで実装されているので初学者にはわかりやすい • モデル定義,DBのダウンロード,loaderもmain内に https://github.com/yunjey/pytorch-tutorial/tree/master/tutorials/03-advanced/generative_adversarial_network
  • 43.
    実装の参考(2/3) 43 • PyTorch examples –DCGANを全てmain.pyに集約 – PyTorch開発者によるチュートリアル • こちらもGANの他にもサンプルが豊富 • ImageNetは⼤規模な(分散)学習にも対応 • 強化学習/⾔語処理モデルも収録 https://github.com/pytorch/examples/tree/master/dcgan
  • 44.
    実装の参考(3/3) 44 • GitHub@NVIDIA – PGGAN,pix2pixHDなど研究業績を公開 – もちろん,GAN以外の研究業績も多数 https://github.com/NVIDIA/
  • 45.
    GANで強い研究機関(企業編) 45 • Google Brain/DeepMind –Goodfellow⽒@Google Brain • GANだけでなく摂動ノイズ(Adversarial Examples)を始めと した機械学習のセキュリティにも注⼒ – 研究者が集合する環境 • アカデミックに残るよりも⾼待遇 – 圧倒的な計算⼒ • GPU(TPU?)使い放題? • e.g. BigGANの512TPU@DeepMind – プラットフォーム • TensorFlow(これは良く⾒る) • Collaboratory(こちらは研究者は恩恵受けてるか不明)
  • 46.
    GANで強い研究機関(企業編) 46 • NVIDIA – 圧倒的な計算⼒ •GPU使い放題? • 論⽂にはよくDGX-1を使いましたと書いてある – PGGAN/pix2pixHD • PGGAN https://arxiv.org/abs/1710.10196 • pix2pixHD https://arxiv.org/abs/1711.11585 – やはり研究者が集合,コードまとめ
  • 47.
    GANで強い研究機関(国内企業編) 47 • PFN – 計算⼒ •Private Super Computer – 宮⼾さん • Spectral Normalization for GAN https://openreview.net/pdf?id=B1QRgziT- • Projection Discriminator https://openreview.net/pdf?id=ByS1VpgRZ – 齋藤真樹さん • TGAN https://arxiv.org/abs/1611.06624 • TGANv2 https://arxiv.org/abs/1811.09245 – そのほかにも強⼒な研究者が続々参⼊ • ML/CVはもちろん,Math/NLP/Robotics/HCIなど
  • 48.
    GANで強い研究機関(⼤学編) 48 • A. Efros研究室@UC Berkeley – pix2pix, CycleGAN • A. Torralba研究室 @MIT – GAN Dissection – 3D GAN(2D画像⼊⼒により3D復元)
  • 49.
    GAN初学者Q&A 49 • Q. グラフィックボード⼀台で⼗分? A.実装や研究はできるが,バッチサイズが⼩さくなりがち • Q. バッチサイズ⼩さくても⼤丈夫? A. pix2pix/CycleGAN等の変換系はバッチサイズが⼩さくても精度はそこそこ出るので研 究⾃体は出るが,GAN/cGANは多い⽅がベター • Q. やはりGPUは多い⽅がよい? A. (当然だけど)多い⽅がパラメータ/モデル探索など研究・開発を有利に進められる • Q. GPU数をたくさん増やして研究・開発するには? A. ABCI(産総研のAI橋渡しクラウド)がオススメ! >> https://abci.ai/ja/ • Q. オススメの研究・開発⽅法は? A. GANは学習順番が重要なのでうまくいった⽅法などに従い,テンプレートに当てはめ ていく進め⽅がグッド
  • 50.
    GAN初学者Q&A 50 • Q. GAN(ガン)vs. GAN(ギャン)? A. 勉強しても結局よくワカラナイ