CycleGAN(2/4)実施例の説明

はぐれ弁理士 PA Tora-O です。前回(第1回)では、CycleGAN の概要について説明しました。改めて復習されたい方は、こちらのリンクから確認をお願いします。今回(第2回)は、CycleGAN の実施例について説明します。

システム構成

まず、システム構成について、図1を参照しながら説明します。

【図1】CycleGAN のシステム構成

CycleGAN は、2系統のGANで構成されます。一方の第1GANは、オレンジ(Orange)からリンゴ(Apple)への画風変換を行うネットワークです。他方の第2GANは、リンゴからオレンジへの画風変換を行うネットワークです。学習用画像として、リンゴを共通の特徴とする画像の集合体である第1画像群、オレンジを共通の特徴とする画像の集合体である第2画像群、の2つのグループを準備します。図1から理解されるように、第1画像群と第2画像群はそれぞれ独立して準備されたものであり、オブジェクト(ここでは、果物)のサイズ・個数・配置などを両方の画像間で揃える必要がない点に注目です。

Adversarial Loss

続いて、目的関数(Objectives)の第1要素である敵対的損失(Adversarial Loss)について、図2および図3を参照しながら説明します。

【図2】Adversarial Loss の概要(弁別器の学習時)
【図3】Adversarial Loss の概要(生成器の学習時)

損失項の計算方法は、基本的には、Pix2Pix の場合と同じです。ただ、GANが2系統あるので、第1,第2生成器に入力される画像群が互い違いになっている点が特徴的です。本図では、出力値が1つですが、PatchGAN を導入してN×N個にしても構いません。

Reconstruction Loss

続いて、目的関数の第2要素である再構成損失(Reconstruction Loss)について、図4を参照しながら説明します。

【図4】Reconstruction Loss の概要

本論文中では、“Cycle-Consistency Loss“ と呼ばれる損失項であり、CycleGAN の命名の由来にもなった概念です。なお、一般的には、再構成損失の方が多用されているようですので、以下、こちらの用語を使って説明します。

再構成損失は、具体的には、
[1]リンゴ画像を生成器G2,G1に順次投入すると、元のリンゴ画像が得られること(Forward Cycle-Consistency)
[2]オレンジ画像を生成器G1,G2に順次投入すると、元のオレンジ画像が得られること(Backward Cycle-Consistency)
の2つの制約を課しています。つまり、この損失項のペアは、2つの生成器G1,G2による変換処理の可逆性を担保するための仕組みといえます。それでは何故、この可逆性を担保する必要があるのでしょうか? どうやら、これが CycleGAN の核心部分であるように思われます。

 

以上、今回(第2回)は、CycleGAN の実施例について説明しました。次回(第3回)は、学習のメカニズムについて概略的に解説します。

↓ブログランキングに参加しています。よろしければ1クリックお願いします。

にほんブログ村 士業ブログ 弁理士へ
にほんブログ村

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村