
GAN minimax training: linear generator vs logistic discriminator (hmgan)
Source:R/geron_w4a_native.R
morie_geron_gan.RdGAN minimax training: linear generator vs logistic discriminator (hmgan)
Usage
morie_geron_gan(
X,
G = NULL,
D = NULL,
z_dim = 1,
epochs = 200,
lr = 0.05,
seed = 0,
non_saturating = TRUE
)Examples
V <- c(1, 2, 3, 4, 5, 6, 7, 8)
morie_geron_gan(V)
#> $G
#> $G$W
#> [,1]
#> [1,] -0.5563299
#>
#> $G$b
#> [1] 3.146776
#>
#>
#> $D
#> $D$w
#> [1] 0.4411422
#>
#> $D$b
#> [1] -1.683476
#>
#>
#> $value_history
#> [1] -1.3862944 -1.1728035 -1.0661160 -1.0034570 -0.9615545 -0.9309872
#> [7] -0.9073532 -0.8883385 -0.8726101 -0.8593437 -0.8479991 -0.8382055
#> [13] -0.8296976 -0.8222795 -0.8158015 -0.8101465 -0.8052204 -0.8009462
#> [19] -0.7972595 -0.7941053 -0.7914363 -0.7892109 -0.7873921 -0.7859467
#> [25] -0.7848449 -0.7840591 -0.7835641 -0.7833367 -0.7833553 -0.7835996
#> [31] -0.7840510 -0.7846919 -0.7855058 -0.7864775 -0.7875927 -0.7888380
#> [37] -0.7902012 -0.7916706 -0.7932358 -0.7948870 -0.7966153 -0.7984128
#> [43] -0.8002721 -0.8021867 -0.8041509 -0.8061596 -0.8082084 -0.8102936
#> [49] -0.8124119 -0.8145608 -0.8167382 -0.8189425 -0.8211724 -0.8234271
#> [55] -0.8257061 -0.8280092 -0.8303363 -0.8326877 -0.8350636 -0.8374646
#> [61] -0.8398912 -0.8423438 -0.8448232 -0.8473297 -0.8498639 -0.8524262
#> [67] -0.8550170 -0.8576366 -0.8602851 -0.8629626 -0.8656691 -0.8684045
#> [73] -0.8711685 -0.8739608 -0.8767810 -0.8796286 -0.8825031 -0.8854038
#> [79] -0.8883300 -0.8912811 -0.8942562 -0.8972546 -0.9002754 -0.9033178
#> [85] -0.9063809 -0.9094639 -0.9125659 -0.9156861 -0.9188236 -0.9219776
#> [91] -0.9251472 -0.9283317 -0.9315303 -0.9347421 -0.9379665 -0.9412026
#> [97] -0.9444498 -0.9477074 -0.9509747 -0.9542510 -0.9575358 -0.9608283
#> [103] -0.9641280 -0.9674342 -0.9707465 -0.9740643 -0.9773870 -0.9807140
#> [109] -0.9840450 -0.9873794 -0.9907167 -0.9940565 -0.9973983 -1.0007416
#> [115] -1.0040860 -1.0074312 -1.0107766 -1.0141219 -1.0174668 -1.0208107
#> [121] -1.0241534 -1.0274945 -1.0308335 -1.0341703 -1.0375044 -1.0408355
#> [127] -1.0441632 -1.0474873 -1.0508075 -1.0541234 -1.0574347 -1.0607412
#> [133] -1.0640426 -1.0673385 -1.0706287 -1.0739130 -1.0771910 -1.0804626
#> [139] -1.0837274 -1.0869852 -1.0902358 -1.0934789 -1.0967143 -1.0999418
#> [145] -1.1031612 -1.1063722 -1.1095745 -1.1127681 -1.1159527 -1.1191281
#> [151] -1.1222941 -1.1254505 -1.1285971 -1.1317337 -1.1348602 -1.1379764
#> [157] -1.1410820 -1.1441769 -1.1472611 -1.1503341 -1.1533961 -1.1564466
#> [163] -1.1594857 -1.1625132 -1.1655289 -1.1685326 -1.1715243 -1.1745038
#> [169] -1.1774709 -1.1804255 -1.1833675 -1.1862968 -1.1892132 -1.1921167
#> [175] -1.1950070 -1.1978841 -1.2007479 -1.2035982 -1.2064350 -1.2092581
#> [181] -1.2120674 -1.2148629 -1.2176444 -1.2204119 -1.2231652 -1.2259042
#> [187] -1.2286289 -1.2313392 -1.2340350 -1.2367162 -1.2393827 -1.2420345
#> [193] -1.2446714 -1.2472934 -1.2499005 -1.2524925 -1.2550694 -1.2576311
#> [199] -1.2601776 -1.2627087
#>
#> $d_loss
#> [1] 1.3862944 1.1728035 1.0661160 1.0034570 0.9615545 0.9309872 0.9073532
#> [8] 0.8883385 0.8726101 0.8593437 0.8479991 0.8382055 0.8296976 0.8222795
#> [15] 0.8158015 0.8101465 0.8052204 0.8009462 0.7972595 0.7941053 0.7914363
#> [22] 0.7892109 0.7873921 0.7859467 0.7848449 0.7840591 0.7835641 0.7833367
#> [29] 0.7833553 0.7835996 0.7840510 0.7846919 0.7855058 0.7864775 0.7875927
#> [36] 0.7888380 0.7902012 0.7916706 0.7932358 0.7948870 0.7966153 0.7984128
#> [43] 0.8002721 0.8021867 0.8041509 0.8061596 0.8082084 0.8102936 0.8124119
#> [50] 0.8145608 0.8167382 0.8189425 0.8211724 0.8234271 0.8257061 0.8280092
#> [57] 0.8303363 0.8326877 0.8350636 0.8374646 0.8398912 0.8423438 0.8448232
#> [64] 0.8473297 0.8498639 0.8524262 0.8550170 0.8576366 0.8602851 0.8629626
#> [71] 0.8656691 0.8684045 0.8711685 0.8739608 0.8767810 0.8796286 0.8825031
#> [78] 0.8854038 0.8883300 0.8912811 0.8942562 0.8972546 0.9002754 0.9033178
#> [85] 0.9063809 0.9094639 0.9125659 0.9156861 0.9188236 0.9219776 0.9251472
#> [92] 0.9283317 0.9315303 0.9347421 0.9379665 0.9412026 0.9444498 0.9477074
#> [99] 0.9509747 0.9542510 0.9575358 0.9608283 0.9641280 0.9674342 0.9707465
#> [106] 0.9740643 0.9773870 0.9807140 0.9840450 0.9873794 0.9907167 0.9940565
#> [113] 0.9973983 1.0007416 1.0040860 1.0074312 1.0107766 1.0141219 1.0174668
#> [120] 1.0208107 1.0241534 1.0274945 1.0308335 1.0341703 1.0375044 1.0408355
#> [127] 1.0441632 1.0474873 1.0508075 1.0541234 1.0574347 1.0607412 1.0640426
#> [134] 1.0673385 1.0706287 1.0739130 1.0771910 1.0804626 1.0837274 1.0869852
#> [141] 1.0902358 1.0934789 1.0967143 1.0999418 1.1031612 1.1063722 1.1095745
#> [148] 1.1127681 1.1159527 1.1191281 1.1222941 1.1254505 1.1285971 1.1317337
#> [155] 1.1348602 1.1379764 1.1410820 1.1441769 1.1472611 1.1503341 1.1533961
#> [162] 1.1564466 1.1594857 1.1625132 1.1655289 1.1685326 1.1715243 1.1745038
#> [169] 1.1774709 1.1804255 1.1833675 1.1862968 1.1892132 1.1921167 1.1950070
#> [176] 1.1978841 1.2007479 1.2035982 1.2064350 1.2092581 1.2120674 1.2148629
#> [183] 1.2176444 1.2204119 1.2231652 1.2259042 1.2286289 1.2313392 1.2340350
#> [190] 1.2367162 1.2393827 1.2420345 1.2446714 1.2472934 1.2499005 1.2524925
#> [197] 1.2550694 1.2576311 1.2601776 1.2627087
#>
#> $g_loss
#> [1] 0.6931472 0.6959162 0.7000104 0.7047126 0.7096631 0.7146641 0.7195983
#> [8] 0.7243923 0.7289988 0.7333871 0.7375378 0.7414393 0.7450859 0.7484763
#> [15] 0.7516127 0.7544999 0.7571452 0.7595576 0.7617473 0.7637260 0.7655062
#> [22] 0.7671013 0.7685249 0.7697913 0.7709151 0.7719107 0.7727927 0.7735757
#> [29] 0.7742738 0.7749009 0.7754707 0.7759961 0.7764898 0.7769636 0.7774288
#> [36] 0.7778961 0.7783753 0.7788755 0.7794050 0.7799713 0.7805810 0.7812399
#> [43] 0.7819531 0.7827246 0.7835578 0.7844551 0.7854182 0.7864481 0.7875449
#> [50] 0.7887080 0.7899361 0.7912276 0.7925798 0.7939897 0.7954539 0.7969683
#> [57] 0.7985287 0.8001304 0.8017684 0.8034376 0.8051327 0.8068482 0.8085788
#> [64] 0.8103188 0.8120631 0.8138063 0.8155433 0.8172691 0.8189791 0.8206688
#> [71] 0.8223341 0.8239711 0.8255764 0.8271467 0.8286791 0.8301713 0.8316209
#> [78] 0.8330263 0.8343858 0.8356983 0.8369629 0.8381790 0.8393461 0.8404642
#> [85] 0.8415334 0.8425539 0.8435262 0.8444510 0.8453290 0.8461610 0.8469480
#> [92] 0.8476911 0.8483914 0.8490500 0.8496681 0.8502469 0.8507877 0.8512916
#> [99] 0.8517599 0.8521937 0.8525943 0.8529628 0.8533004 0.8536081 0.8538871
#> [106] 0.8541383 0.8543627 0.8545613 0.8547351 0.8548849 0.8550116 0.8551160
#> [113] 0.8551989 0.8552610 0.8553031 0.8553259 0.8553300 0.8553161 0.8552847
#> [120] 0.8552365 0.8551721 0.8550920 0.8549966 0.8548866 0.8547624 0.8546244
#> [127] 0.8544732 0.8543092 0.8541327 0.8539442 0.8537441 0.8535328 0.8533107
#> [134] 0.8530780 0.8528352 0.8525826 0.8523205 0.8520492 0.8517692 0.8514805
#> [141] 0.8511836 0.8508788 0.8505663 0.8502463 0.8499192 0.8495853 0.8492446
#> [148] 0.8488976 0.8485445 0.8481854 0.8478206 0.8474503 0.8470748 0.8466943
#> [155] 0.8463089 0.8459189 0.8455244 0.8451256 0.8447229 0.8443162 0.8439058
#> [162] 0.8434919 0.8430746 0.8426542 0.8422307 0.8418044 0.8413753 0.8409437
#> [169] 0.8405096 0.8400733 0.8396349 0.8391945 0.8387522 0.8383082 0.8378626
#> [176] 0.8374155 0.8369671 0.8365175 0.8360668 0.8356151 0.8351625 0.8347092
#> [183] 0.8342551 0.8338006 0.8333456 0.8328902 0.8324346 0.8319788 0.8315230
#> [190] 0.8310672 0.8306115 0.8301560 0.8297009 0.8292461 0.8287917 0.8283379
#> [197] 0.8278847 0.8274323 0.8269805 0.8265296
#>
#> $samples
#> [,1]
#> [1,] 3.790357
#> [2,] 2.455107
#> [3,] 3.328864
#> [4,] 3.771817
#> [5,] 4.074274
#> [6,] 2.153081
#> [7,] 3.519716
#> [8,] 3.284197
#>
#> $real_scores
#> [1] 0.2240300 0.3097707 0.4109476 0.5202621 0.6276703 0.7237975 0.8029001
#> [8] 0.8636169
#>
#> $fake_scores
#> [1] 0.4971527 0.3542465 0.4464627 0.4951081 0.5284339 0.3243919 0.4673514
#> [8] 0.4415983
#>
#> $equilibrium_value
#> [1] -1.386294
#>
#> $mean_gap
#> [1] 1.202823
#>
#> $initial_mean_gap
#> [1] 4.5
#>
#> $g_grad_norm
#> [1] 0.2479973
#>
#> $non_saturating
#> [1] TRUE
#>
#> $estimate
#> [1] -1.262709
#>
#> $n
#> [1] 8
#>
#> $method
#> [1] "linear GAN trained by alternating exact gradient steps on the minimax value function"
#>