アンビグラム自動生成
例えば、GANで人の顔を生成する時、そのまま版 & 上下逆版の両方を毎回Discriminatorに投げれば、人の顔写真のアンビグラム(?)が出来る
同じ事を、Conditional GANでやれば文字の生成も可能?
@nbaji9: 文字と絵が連動するアナグラム「dear / read」 こういうやつの生成にも使える様なモデルがいいな
ログ 20220606
たぶんデータ変えてもDCGANじゃないと厳しいので、とりあえずMNISTでDCGANを成功させる
その後、notMNISTってのが良さそうなので試す
DCGAN
順転のみの時はうまくいく
アンビグラムすると、全然ダメなところで停滞してしまう
汎化できていないと言う事だと思うので、Dropout高めてみる
0とか1とか2みたいな簡単なのだとどうなる?blu3mo.icon
0は成功
1も2回中1回成功
https://gyazo.com/c1a0f46f2e24cbf1d8c3927626dd46d1
MNISTと違って、常に右には傾いていないのはうまくいっている証拠blu3mo.icon
notMNIST + DCGAN
https://gyazo.com/82531503131a0a5ae1c563d90f2464f6
1000iter
まあ良い
https://gyazo.com/9eac9c3be64c4f032002edc529f9b708
5000iter
色々なスタイルが出ているのでnonMNISTを使った甲斐があった
これでアンビグラムをすると?
https://gyazo.com/514f86cbb0e6bee8ff8b0c8a1649a07e
全然無理
何が問題なんだろう
Discriminatorの頭が良すぎて、Generatorが学べる勾配が消滅してしまっている感じ?
これっぽいなblu3mo.icon
Discriminatorをアホにすれば良いのかな
ログ 20220523
とりあえず、MNISTで「9」を生成するGANを訓練してみる 400 https://gyazo.com/6ec1bf4b0c54ea60f9119a3b40e4dfcd
できた✅
その上で、generaterの出力を半分上下反転でDiscriminatorに投げる様にしてみる
RandomFlipをGeneratorの最後に
あれ、おかしいな
1500 https://gyazo.com/57837b28d4d3b629103bf58bbee84f66
普通に一方向だけの9が出てる..?
両方でうまくいくのを諦めて、半分だけ9を出して50%で成功するところに落ち着いてしまった?
いや、そんなことはないわ
だとしても半分はひっくり返った9が出ているはず
During inference time, the output will be identical to input. Call the layer with training=True to flip the input.
これっぽいblu3mo.icon*2
他のやり方を見つけた
3500 https://gyazo.com/ab059a4468c77d07fa4811277be8e8c9
うーん...w
努力は認めるblu3mo.icon
他の数字でも試す
5
https://gyazo.com/181a3c7c8721e9f509d68b801f1d5c9dhttps://gyazo.com/96695d696321e1f59b85cca27d7ae64c
普通の5: https://gyazo.com/e3c24bb04326f27a024d4e72b26ff8da
まあ調整は必要そう
アンビグラム5: https://gyazo.com/f0077b5673297dfc4f62b178d0c01eba
全然ダメだw
RandomFlipをDiscriminatorの最初に
これは、つまり上下反転の9も9と認識する様になる
https://gyazo.com/cc44f79e2138a380cc5e2fed63b8ac81
まあそうなるわな
どっちでも良いので、片方を出す様になる
これではだめblu3mo.icon
とりあえずDCGANは放置して、普通のGANでデータセット増やす
ダメっぽい
これは文字画像ではなく、文字画像の特徴を抽出したデータセットっぽい