初投稿です。
今日から研究のこととか機械学習のこととか発信できればなと思ってます。
最初として、研究がちょい疲れたので息抜きがてらGANの勉強をしました。
GAN:Generative Adversarial Network
ですね。
日本語だと敵対的生成ネットワークと呼ばれる、畳み込みニューラルネットワークベースの深層学習モデルです。
genrator:偽の画像を生成するやつ
discriminator:画像の正誤判定をするやつ
こいつらを喧嘩させてgeneratorの精度を上げるのが大まかなイメージです。
generatorは偽の画像を生成し、それが本物とどれくらい近いかな?っていうのをdiscriminatorが判別して、discriminatorが本物と偽物を区別できなくなった時(確率が1/2)になったときに学習終了という流れですね。
この辺は僕も理解しきれていないのですが、あくまで偽物を(本物に近しいサンプル)を生成するのがこの手法なのかな、と。
画像のデータ数が少ない時にもサンプリング手法として使えそう?というか、論文ありそうですね。笑
とりあえず今日はgoogleのチュートリアル通りにコードを組んで、研究室のGPU付き計算機で動かしました。
また、自分で書けたら載せます。
似たようなモデルとして最近openaiが出したDALLE-2というモデルもあって、こっちは拡散モデルを利用して擬似データを生成するってお話みたいです。(まだ論文ちゃんと読めてない。笑)
画像生成はAIが独自の解釈で画像を認識してるとか、そう言う話もあって面白いなーと思ってます。笑