Learningの基礎を学習した人であればGAN(敵対的生成ネットワーク)をご存知でしょうか。Nets(GAN)発表以来、特に画像生成の領域ではトレンドが続いています。画像を生成するGeneratorと画像の真偽を判別するDiscriminator。2つのネットワークは戦い続け、切磋琢磨します。毎月百以上の新しいGANが発表される昨今。2018年も終わった節目にこれまでに世界各国で生み出されてきたGANで打線を組んでみました。p.sブログに載せても誰も読まなかったのでqiitaにも同じ記事を投稿しました。入力する画像と共にラベル情報を追加することで、狙った条件の画像を生成できる。画像を条件として与えたpix2pixもcGANの一種である。参考:pix2pix2.ACGANGeneratorに入力画像のclass情報を同時に与え、Discriminatorは、生成画像の真偽だけでなくclassの判別も行う。Imagenetの画像を対象に、通常のDCGANより高精度な画像生成を実現した。3.InfoGAN教師なし学習で、生成画像の中で利用価値の高い特徴を勝手に学習する。cGANのようにラベル付けをしたデータの準備は不要である。潜在変数と画像分布の相互情報量を評価関数に導入し、生成画像分布に大きな影響を与える潜在変数の獲得を目指す。4.DCGAN入力ノイズとして与えたベクトルzを元にDeepCNNを介して画像を生成する。Generatorが生成した画像の真偽の判別をDiscriminatorが行い、画像生成をターゲットとしたあらゆるGANのベースとなっている。[参考]DCGANによってゼロから生成されたベッドルーム画像5.StarGAN複数のドメイン変換を単一のGeneratorとDiscriminatorで学習することができる。CycleGANとACGANを組み合わせた考え方で、G(x,c)→yを複数のドメインラベルのcでできるように学習する。Lossを損失関数として導入する。[参考]6.WGANGANの学習の安定性を向上させるため、Wasserstein距離を導入。JSDの代わりにWasserstein距離を用いることで高速化と学習の安定が期待できる。collapseを回避するために目的関数を工夫。従来のsigmoidクロスエントロピー誤差ではなく、二乗誤差を用いることで学習の安定を図ることができる。8.SAGANGANの父Goodfellowも共著者に含まれる。画像全体の中で関連が強い領域を重視するSelf-attention機構をネットワーク内に導入し、畳込みでは受容野が限られるという弱点を克服した。可視化9.CycleGAN「ウマ」↔「シマウマ」のように画像のドメインを変換することができるGAN。従来のように1体1で対応するペア画像を学習することなく、2つのドメイン分布間のマッピングを自動で学習することができる。X→YとY→Xという真逆の2つの変換器をサイクルで回しながら学習を進める。[参考]多様な2つのドメイン変換の学習さいごに数百種類と発表されているGANの中から選りすぐりのラインナップとしました。毎年新たにおもしろいGANのアイデアが登場するので、適宜更新していきます。https://arxiv.org/abs/1703.10593シェアするフォローするenmaru関連記事Tensorflowのpy_funcの使い方Tensorflowでは基本的な計算や処理を行う関数はライブラリに用意されており、基本的には不自由なくグラフ定義ができるとは思います。1ポインタはデータを格納するアドレスを示す。一枚のイラストや静止画を与えて、もしそれが勝手にそれっぽく動き出したら面白そう。本日は画像変換のアルゴリズムについてまとめます。Learningでは訓練データを学習する際は一般にミニバッチ学習を行います。Learningベースでの画像変換研究の紹介。SE(インフラ系)から研究職(AI系R&D)に転職してから3ヶ月が経ちました。GANの学習はとても難しいといわれています。大学を卒業してSEとして就職したものの、大学で研究してた時の方が楽しかったなーという人向けの記事です。SEから研究職への転職はなかなかハードルが高いですが、条件によっては十分に転職の可能性があります。コメントをキャンセルメールアドレスが公開されることはありません。GANGANいこうぜ.。