38
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GAN の学習に必要な教師データ数を MNIST で検証してみた。

Posted at

##【背景】
深層学習のトレーニングには,精度の確保のために大量の教師データが必要な事が知られています。(特に画像認識)
 ・https://www.youtube.com/watch?v=NKpuX_yzdYs (Andrew Ng 氏の講演動画)
 ・http://yusuke-ujitoko.hatenablog.com/entry/2017/07/15/004540
例えば,有名なデータセットの枚数は下記ととても多いです。
 ImageNet:1400 万枚(~700 枚/クラス)
 CIFAR10: 60000 枚(10000 枚/クラス)
 MNIST: 65000 千枚(10000 枚/クラス)
特に MNIST に至っては手書きの数字を認識させるのに,1 種類当たりおよそ 1 万枚もの教師画像が存在することに驚きすら感じます。
(もちろん,クラス分類するだけなら SVM などを使えばデータは少なくて済むとは思いますが)

一方で,2014 年から研究が盛んな GAN は,一般に学習が難しいと言われていますが,
画像認識のように教師データの数 (GAN で言うところの Real データ数) と学習の成否の関連はあまり論じられていないように思えます。
GAN の研究で頻出する LSUNベッドルームで 300 万,CelebA で 20 万とこれもまた膨大なデータ数です。

今回,どれだけの Real データと競争させれば Generator がそれらしい画像を生成するようになるのか、MNIST で試してみました。
(画像認識のタスクで必要な教師データの補充に GAN の生成画像を活用できるとよく言われるので,必要な画像のオーダーとしては GAN の方が少ないだろうと予想はできます)

##モデル条件
 Collection of generative models (https://github.com/hwalsuklee/tensorflow-generative-model-collections) の
 GAN.py コードを参考に,データのロード部分だけ変更。

utils.py
def load_mnist(dataset_name):

    x_train = pd.read_csv('x_train_df_10000.csv')
                          #x_train_df_10000.csv:  MNIST のデータから 10000 行分だけ残したファイル
    x_train = np.array(x_train)
    trX = x_train.reshape(200, 28, 28, 1)

    t_train = pd.read_csv('t_train_df_10000.csv')
    t_train = np.array(t_train)

    X = trX 
    y = t_train.astype(np.int)

    return X, y

##結果
学習に用いた MNIST の Real データ数と Generator の生成画像です。
Fig_65000.png
Fig_10000.png
1 万枚での生成画像は 6.5 万枚より少しぼやけているように見えますが,さほど変わりません。
Fig_1000.png
1000 枚では生成が少し遅くなるものの,手書き数字は生成されます。ノイズのようなドットが散見されます。
Fig_500.png
500 枚の学習では,生成画像が一部崩れていますが,それでも大部分の数字は生成できています。
Fig_200.png
200 枚では,手書き数字が生成されません。閾値は 200 枚と 500 枚の間のようです。

もちろんこれはあくまで 28×28 と画像サイズの小さい MNIST での結果ですので,サイズ の大きな画像になると必要な枚数はもっと増えてくると思います。

GAN の用途は今後色々と提案されて行くと思いますが,実用途においては対象がニッチになる程,Real データの確保が課題の一つになると考えているので,今回興味本位でやってみました。 

38
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?