2020年時点で最も注目される生成モデル

こんにちは。スキルアップAI編集部です。

ディープラーニングを用いた塗り絵の着色の研究では、塗り絵からディープラーニングを用いて着色画像を生成することを目的としていて、このように入力データから新たに別のデータを作り出すタスクを生成タスクと呼びます。そして生成タスクは近年研究が非常に活発で、画像・音声・自然言語など各分野で成果が上がっています。
そこで今回は、生成タスクについて画像生成モデルを例に挙げながらお話していきます。

<目次>
1.GANによる画像生成
2.StyleGAN
3.StyleGAN2
4.まとめ
5.参考文献

# 1. GANによる画像生成
生成タスクに関する研究が盛んになっている背景の一つに敵対的生成ネットワーク(Generative adversarial network:GAN)[1]があります。GANはGoodfellowらが2014年に発表した生成タスクを処理する深層学習モデルで、generator(生成器)とdiscriminator(判別器)の２つのネットワークから成り立っています(GANの概要については[こちらの記事](https://bit.ly/3mFr2fh)をご覧ください)。
近年の生成タスクの研究では、このGANのモデル構造がよく用いられています。これは画像分野も例外ではなく、汎用な画像変換を行うpix2pix[2]や文章から画像を生成するStackGAN[3]、写真をアニメ風に変換するCartoonGAN[4]など様々な画像生成モデルが存在します。
<img width="600" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/1ffd5bca-63e5-a2f1-770e-9e476804e1e0.png">
図1：様々な画像変換（pix2pix）
（参考文献[2]より引用）
<img width="600" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/dde7b9ad-01f2-0f89-fb6f-68ee972827c4.png">
図2：文章からの画像生成（StackGAN）
（参考文献[3]より引用）
<img width="500" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/acec4572-9b7f-ccf8-02a1-799540f97196.png">
図3：写真のアニメ風変換（CartoonGAN）
（参考文献[4]より引用）

# 2. StyleGAN
<img width="400" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/86020a91-a979-ebfd-db32-8d0afc772912.png">
図4：StyleGANによる生成画像
（参考文献[5]より引用）

まずは図4の画像をご覧ください。実はこの写真はすべてStyleGAN[5]というGANによって生成されたものなのです。この驚くべき解像度とリアリティを持った画像を生成するStyleGANの構造は以下のようになっています。
<img width="400" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/a05dcda6-7dd6-cbb5-789e-17c2d4b4d8af.png">
図5：StyleGANのgenerator構造
（参考文献[5]より引用）

以下ではStyleGANの特徴的な部分について話していきたいと思います。

まず、StyleGANでは高解像度な画像を生成するためにprogressive growing[6]というアプローチをとっています。progressive growingとは、GANの学習過程において、低解像度の学習から初めて、モデルに徐々に高い解像度に対応した層を加えながら学習を進めることで高解像度画像の生成を可能にするというものです。図6では初めに4×4の学習から始め、次に8×8の層を追加というように学習を進めていくことで最終的に1024×1024の画像を生成しています。

加えてStyleGANはAdaptive Instance Normalization(AdaIN）[7]という正規化手法を用いています。
図５を見てみると、StyleGANではベクトルｗがAdaINを通して各層に適用されています。このｗは潜在表現と呼ばれるスタイルの決定要素ｚを非線形変換したものです。StyleGANではこのAdaINの処理によって生成画像のスタイル変換が行われます。
図7では２つのベクトルｗを使用した結果を示しています。上段は生成に使用するwの値を低解像度の段階 画像Aを生成するようなｗ（以下w_a）から画像Bを生成するようなｗ（以下w_b）に切り替えた場合の生成画像です。同様に中段は中解像度の生成段階でw_aからw_bに切り替えた際の生成画像、下段は高解像度の生成段階でw_aからw_bに切り替えた際の生成画像となります。この結果から２つのベクトルを変えるタイミングによってそれぞれのベクトルが生成画像に与える影響が変わっていることが見て取れます。また、AdaINほど生成画像に影響を与えはしないのですが、StyleGANではランダムノイズを各層に取り入れています。
図８ではランダムノイズが生成画像の髪の毛など一部分に影響を与えていることが確認できます。
<img width="500" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/e3bf3b79-e4c1-504c-9cac-8944e2bc0ff4.png">
図6：progressive growingの概要図
（参考文献[6]より引用）
<img width="400" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/aeb88ca0-0110-0eb7-4b69-0cf00844ed3d.png">
図7：2つの画像ソースによる画像生成
（参考文献[5]より引用）
<img width="400" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/fcebca8b-d994-732f-04cb-ec6c74ac2c09.png">
図8 ：ノイズが画像に与える影響

# 3. StyleGAN2
StyleGANは画像生成で非常に優れた結果を残しました。しかし同時に、dropletと呼ばれるノイズが生じる問題（図9）や生成画像の特徴の一部が不自然になる問題（図10）も存在していました。そこでStyleGANを改良し、これらの問題を解消したのがStyleGAN２[8]です。
![1109_09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/0dd9b2e4-54f5-414b-fdda-2e0e929d5f01.png)
図9：dropletの発生
（参考文献[8]より引用）
<img width="500" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/376f9542-2542-af42-163a-198092c6ab7d.png">
図10：顔の向きに関わらず正面を向いて生成される歯
（参考文献[8]より引用）

まずStyleGAN２ではAdaINの構造を改変することでdroplet問題を解消しています。StyleGANではAdaINによって実際のデータの平均と標準偏差を用いた正規化が行われていました。これがdropletの原因であると考えた著者たちは、StyleGAN２においてデータの分布を仮定し標準偏差のみで正規化を行うことで、図11のようにdropletが発生しない画像生成を実現しました。
<img width="500" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/535d53bb-51ee-3328-81e2-de7d6734e526.png">
図11：dropletの発生していない画像(StyleGAN2）
（参考文献[8]より引用）

次にStyleGAN2では特徴の一部が不自然な状態で生成される問題を解消するためにprogressive growingの構造を使うことをやめています。その代わりにStyleGAN2ではネットワークにresidual networks9などのスキップ構造を取り入れることでモデルの表現力を上げています（residual networksについては[こちらの記事](https://bit.ly/3g9Chdn)もご覧ください）。progressivegrowingをやめることで、StyleGAN2では目や歯などの特徴と全体の整合性がとれた画像（図12)を生成することができるようになりました。
<img width="500" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/5f918306-63ff-369a-2daf-324e14865548.png">
図12：目や歯の向きが顔の向きとそろっている画像（StyleGAN2）
（参考文献 StyleGAN2: Near Perfect Human Face Synthesis…and More
([https://www.youtube.com/watch?v=SWoravHhsUU&ab_channel=TwoMinutePapers](https://www.youtube.com/watch?v=SWoravHhsUU&ab_channel=TwoMinutePapers)）
より引用）

# 4. まとめ
今回は生成タスクとしてStyleGAN、StyleGAN2をご紹介しました。冒頭でもお話ししましたが、生成タスクに関する研究はここ数年で非常に活発になっています。そのため今回ご紹介した画像生成だけでなく、音声や自然言語の分野でも様々な生成タスクの研究結果が発表されていています。この記事を読んだ皆様にはぜひ画像のみでなく様々な分野の生成タスクにも興味を持っていただければ幸いです。

スキルアップAIでは、2021年1月に[GAN（敵対的生成ネットワーク）講座](https://bit.ly/3lM5mNq)を開講します。この講座では、様々なGANを学ぶことができます。是非ご検討ください。また、GANを深層学習の基礎から学びたいという方は、[現場で使えるディープラーニング基礎講座](https://bit.ly/3g81cOw)をご検討ください。

# 5. 参考文献
[1][ I. Goodfellow et al., “Generative adversarial nets,” in Proc. Int. Conf. Neural Inf. Process.Syst.Syst., 2014, pp. 2672 2680.](https://papers.nips.cc/paper/2014/hash/5ca3e9b122f61f8f06494c97b1afccf3-Abstract.html)
[2][ P. Isola et al., Image-to-image translation with conditional adversarial networks. In The IEEE Conference on Computer Vision and Pattern Recog nition (CVPR), July 2017.](https://arxiv.org/abs/1611.07004)
[3][ Han Zhang et al. “StackGAN: Text to Photo realistic Image Synthesis with Stacked Generative Adversarial Networks” ICCV 2017 Oral Presentation.](https://arxiv.org/abs/1612.03242)
[4][ Y. Chen et al., “Cartoongan: Generative adversarial networks for photo cartoonization,” in 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 2018,pp. 9465 9474](https://openaccess.thecvf.com/content_cvpr_2018/papers/Chen_CartoonGAN_Generative_Adversarial_CVPR_2018_paper.pdf)
[5][ T. Karras et al. “A Style Based Generator Architecture for Generative Adversarial Networks” CVPR 2019 final version](https://arxiv.org/abs/1812.04948)
[6] [T. Karras et al. “Progressive growing of GANs for improved quality, stability, and variation.” CoRR, abs/1710.10196, 2017.](https://arxiv.org/abs/1710.10196)
[7][ X. Huang et al . “Arbitrary style transfer in real time with adaptive instance no rmalization. CoRR, abs/1703.06868, 2017.](https://arxiv.org/abs/1703.06868)
[8][ T.Karras et al. “Analyzing and Improving the Image Quality of StyleGAN”](https://arxiv.org/abs/1912.04958)
[9][ Kaiming He et al. “Sun. Deep residual learning for image recognition.” CoRR, abs/1512.03385 ,](https://arxiv.org/abs/1512.03385)

# 25卒向け！AIエンジニアになるための長期インターンプログラム参加者募集中！
25卒学生向けに、AIの基礎を学びながら就活も一括サポートする無料カリキュラムを提供しています。
修了するとE資格の受験資格も獲得できるプログラムとなっています！

<img width="700" alt="長期インターン" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/bfce4c26-1ebe-c54d-bacb-e804048a7a08.png">

**特長①AIエンジニアやデータサイエンティストの基礎が身に付く**
AIジェネラリスト基礎講座や機械学習のためのPython入門講座など、市場価値向上のための基礎を習得。

**特長②AI・データ分析領域の優良求人を紹介**
非公開求人や選考直結型インターンをご紹介し、早期内定の獲得をサポート。

**特長③長期インターンプログラム専用の学生コミュニティ参加可**
学生同士で就活情報をシェアしたり、学習を進めるうえでアドバイスをしあったりできるコミュニティに参加可能。

＞＞[長期インターン詳細](https://bit.ly/3pXW5JM)

☆☆☆
スキルアップAIのメールマガジンでは会社のお知らせや講座に関するお得な情報を配信しています。
配信を希望される方は[こちら](https://share.hsforms.com/1_XlReV-4Te-zcxCl9lhffA2mtef)

また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
Twitterは[こちら](https://twitter.com/SkillupAi)
Facebookは[こちら](https://www.facebook.com/skillupai)
LinkedInは[こちら](https://www.linkedin.com/company/skillup-ai)