作成者 :(株)クラスキャット セールスインフォメーション
作成日 : 01/05/2019
ClassCat® TF / ONNX Hub とは
「ClassCat® TF / ONNX Hub」はクラスキャットが提供する実用性の高い機械学習モデルのレポジトリです。各モデルは TensorFlow 固有フォーマットと ONNX フォーマットの両者で提供されます。 [ClassCat® ONNX Hub 詳細]
- ONNX (Open Neural Network Exchange) は深層学習モデルのためのオープンなフォーマットで、異なるオープンソースの深層学習フレームワーク間の相互作用を可能にします。
「ClassCat TF / ONNX Hub」で提供されるモデルについてはクラスキャットが検証の上で仕様を公開致しますので、ユーザ企業は希望するモデルを自由に選択することができます。更に (ユーザ企業の保持するデータセットによる) 再調整も含めて配備・実運用するために必要なトータルサポートを提供致します。
◆ 本ページでは提供モデル群第一弾として GAN モデル の代表例を紹介致します。
GAN とは
GAN は敵対的生成ネットワーク (Generative Adversarial Network) と呼称される生成モデルの一種で、深層学習におけるホットな領域の一つとして様々なモデルやその応用が活発に研究されています。
GAN は 2014 年に Ian Goodfellow 氏により創案されペーパー Generative Adversarial Nets で最初に紹介されました。
基本的には 2 つのネットワーク generator と discriminator から構成され、訓練データセットの分布をネットワークに学習させるための仕組みです。その分布から新しい有用なデータを生成することができます :
- generator のジョブは訓練画像のように見える ‘fake’ 画像を生むことです。
- discriminator のジョブは画像を見てそれが real 訓練画像か (generator からの) fake 画像かを出力することです。
訓練の間、generator はより良い fake を生成することにより絶えず discriminator を出し抜こうとします。
一方、discriminator はより良い探偵として機能し、real 画像と fake 画像を正しく分類するために動作しています。
このゲームの均衡は、generator が訓練データに直接由来するかのように見える完全な fake 画像を生成しているときに、discriminator が generator 出力について real か fake か常に 50% の信頼度で推測する状態になることです。
GAN モデルの紹介
以下に代表的な GAN モデルを紹介します :
DCGAN
DCGAN – 深層畳込み GAN は最もポピュラーな GAN です。画像データセットの特徴をつかまえて新しいデータを生成します。
以下の例でははセレブ (有名人) 画像データセットの特徴を捕捉して新規の画像データを生成しています。
DCGAN の実装の詳細は PyTorch 1.0 Tutorials : 生成モデル : DCGAN が参考になります。
超解像 (SRGAN)
SRGAN (Super Resolution GAN) では、低解像度の画像を高解像の画像に変換することができます。
以下の例は、左側からそれぞれ GT (正解) 画像、SRGAN 出力、Bicubic 補間そして Bilinear 補間画像になります。
※ Bicubic, Bilinear 補間は画像処理ソフトで画像拡大時に通常使用される補間法です。
SRGAN 出力は他の補間法に比べて画像が鮮明です。例えば、一番上の蝶の画像の羽の白い部分の黒い模様を比較すると違いがはっきりと分かります。
【参考】
以下の例は GAN を使用していない超解像モデルです。
左側からそれぞれ GT (正解) 画像、超解像モデル出力、Bicubic 補間画像になります。
GAN を使用しない場合には、超解像モデル出力は Bicubic 補間画像よりも多少鮮明ではあるものの粗い画像になっています。
Cycle GAN
Cycle GAN は画像変換を遂行するモデルで、馬とシマウマの変換・写真と絵画間の画風変換、夏と冬の画像変換などで有名になりました。訓練データセットの画像が必ずしもペアである必要がない点が特徴的です。
以下は Cycle GAN を実際に 20 epochs ほど訓練したモデルで画像変換を行なっています。
風景写真をモネ絵画風の画像に変換しています :
※ 風景写真画像は全て ImageNet の URL を利用しており、元画像の版権は所有者に帰属しています。
以下は逆にモネの絵画を写真テイストの画像に変換しています :
次に別のデータセットの例として、車道を含む街の景観をセマンティック・セグメンテーション風に変換しています :
vice versa :
Pix2Pix
Pix2Pix も GAN を利用した画像変換です。Pix2Pix については TensorFlow : Tutorials : 画像 : Pix2Pix (Conditional GAN) が詳しいです。
以上