chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"<h1>Generative Adversarial Networks</h1>\n<ul><li><a href=\"original/index.html\">Original GAN</a> </li>\n<li><a href=\"dcgan/index.html\">GAN with deep convolutional network</a> </li>\n<li><a href=\"cycle_gan/index.html\">Cycle GAN</a> </li>\n<li><a href=\"wasserstein/index.html\">Wasserstein GAN</a> </li>\n<li><a href=\"wasserstein/gradient_penalty/index.html\">Wasserstein GAN with Gradient Penalty</a> </li>\n<li><a href=\"stylegan/index.html\">StyleGAN 2</a></li></ul>\n": "<h1>\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af</h1>\n<ul><li><a href=\"original/index.html\">\u30aa\u30ea\u30b8\u30ca\u30ebGAN</a></li>\n<li><a href=\"dcgan/index.html\">\u6df1\u3044\u7573\u307f\u8fbc\u307f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5099\u3048\u305fGAN</a></li>\n<li><a href=\"cycle_gan/index.html\">\u30b5\u30a4\u30af\u30eb GAN</a></li>\n<li><a href=\"wasserstein/index.html\">\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3 GAN</a></li>\n<li><a href=\"wasserstein/gradient_penalty/index.html\">\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u4ed8\u304d\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3 GAN</a></li>\n<li><a href=\"stylegan/index.html\">\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2</a></li></ul>\n",
|
||||
"A set of PyTorch implementations/tutorials of GANs.": "GAN\u306ePyTorch\u5b9f\u88c5/\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u30bb\u30c3\u30c8\u3002",
|
||||
"Generative Adversarial Networks": "\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"<h1>Generative Adversarial Networks</h1>\n<ul><li><a href=\"original/index.html\">Original GAN</a> </li>\n<li><a href=\"dcgan/index.html\">GAN with deep convolutional network</a> </li>\n<li><a href=\"cycle_gan/index.html\">Cycle GAN</a> </li>\n<li><a href=\"wasserstein/index.html\">Wasserstein GAN</a> </li>\n<li><a href=\"wasserstein/gradient_penalty/index.html\">Wasserstein GAN with Gradient Penalty</a> </li>\n<li><a href=\"stylegan/index.html\">StyleGAN 2</a></li></ul>\n": "<h1>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd</h1>\n<ul><li><a href=\"original/index.html\">\u0db8\u0dd4\u0dbd\u0dca GAN</a> </li>\n<li><a href=\"dcgan/index.html\">\u0d9c\u0dd0\u0db9\u0dd4\u0dbb\u0dd4 \u0dc3\u0d82\u0dc0\u0dc4\u0db1 \u0da2\u0dcf\u0dbd\u0dba\u0d9a\u0dca \u0dc3\u0dc4\u0dd2\u0dad GAN</a> </li>\n<li><a href=\"cycle_gan/index.html\">\u0da0\u0d9a\u0dca\u0dbb\u0dba GAN</a> </li>\n<li><a href=\"wasserstein/index.html\">\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca GAN</a> </li>\n<li><a href=\"wasserstein/gradient_penalty/index.html\">\u0d9c\u0dca\u0dbb\u0dda\u0da9\u0dd2\u0dba\u0db1\u0dca\u0da7\u0dca \u0daf\u0dac\u0dd4\u0dc0\u0db8 \u0dc3\u0db8\u0d9f \u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca GAN</a> </li>\n<li><a href=\"stylegan/index.html\">Style\u0d9c\u0db1\u0dca 2</a></li></ul>\n",
|
||||
"A set of PyTorch implementations/tutorials of GANs.": "GANS \u0dc4\u0dd2 PyTorch \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8/\u0db1\u0dd2\u0db6\u0db1\u0dca\u0db0\u0db1 \u0db8\u0dcf\u0dbd\u0dcf\u0dc0\u0d9a\u0dca.",
|
||||
"Generative Adversarial Networks": "\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"<h1>Generative Adversarial Networks</h1>\n<ul><li><a href=\"original/index.html\">Original GAN</a> </li>\n<li><a href=\"dcgan/index.html\">GAN with deep convolutional network</a> </li>\n<li><a href=\"cycle_gan/index.html\">Cycle GAN</a> </li>\n<li><a href=\"wasserstein/index.html\">Wasserstein GAN</a> </li>\n<li><a href=\"wasserstein/gradient_penalty/index.html\">Wasserstein GAN with Gradient Penalty</a> </li>\n<li><a href=\"stylegan/index.html\">StyleGAN 2</a></li></ul>\n": "<h1>\u751f\u6210\u5bf9\u6297\u7f51\u7edc</h1>\n<ul><li><a href=\"original/index.html\">\u539f\u88c5 GAN</a></li>\n<li><a href=\"dcgan/index.html\">\u5177\u6709\u6df1\u5ea6\u5377\u79ef\u7f51\u7edc\u7684 GAN</a></li>\n<li><a href=\"cycle_gan/index.html\">\u5faa\u73af\u589e\u76ca</a></li>\n<li><a href=\"wasserstein/index.html\">Wasserstein GAN</a></li>\n<li><a href=\"wasserstein/gradient_penalty/index.html\">Wasserstein GAN \u5e26\u68af\u5ea6\u60e9\u7f5a</a></li>\n<li><a href=\"stylegan/index.html\">StyleGan 2</a></li></ul>\n",
|
||||
"A set of PyTorch implementations/tutorials of GANs.": "\u4e00\u7ec4 GaN \u7684 PyTorch \u5b9e\u73b0/\u6559\u7a0b\u3002",
|
||||
"Generative Adversarial Networks": "\u751f\u6210\u5bf9\u6297\u7f51\u7edc"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/cycle_gan/index.html\">Cycle GAN</a></h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation/tutorial of the paper <a href=\"https://arxiv.org/abs/1703.10593\">Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/cycle_gan/index.html\">\u30b5\u30a4\u30af\u30eb GAN</a></h1>\n<p>\u3053\u308c\u306f\u3001<a href=\"https://pytorch.org\"><a href=\"https://arxiv.org/abs/1703.10593\">\u30b5\u30a4\u30af\u30eb\u30b3\u30f3\u30b7\u30b9\u30c6\u30f3\u30c8\u306a\u6575\u5bfe\u7684\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4f7f\u7528\u3057\u305f\u30da\u30a2\u30ea\u30f3\u30b0\u3055\u308c\u3066\u3044\u306a\u3044\u753b\u50cf\u304b\u3089\u753b\u50cf\u3078\u306e\u7ffb\u8a33\u3068\u3044\u3046\u8ad6\u6587\u306ePyTorch\u5b9f\u88c5/\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3067\u3059</a></a>\u3002</p>\n",
|
||||
"Cycle GAN": "\u30b5\u30a4\u30af\u30eb GAN"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/cycle_gan/index.html\">Cycle GAN</a></h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation/tutorial of the paper <a href=\"https://arxiv.org/abs/1703.10593\">Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/cycle_gan/index.html\">\u0da0\u0d9a\u0dca\u0dbb\u0dba GAN</a></h1>\n<p>\u0db8\u0dd9\u0dba <a href=\"https://pytorch.org\">PyTorch</a> \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8/\u0db1\u0dd2\u0db6\u0db1\u0dca\u0db0\u0db1\u0dba\u0d9a\u0dca \u0dc0\u0db1 \u0d85\u0dad\u0dbb \u0d91\u0dba <a href=\"https://arxiv.org/abs/1703.10593\">Cycle-Consistent adversarial Networks \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db8\u0dd2\u0db1\u0dca PyTorch Image \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba \u0db1\u0ddc\u0d9a\u0dc5 \u0d85\u0db1\u0dd4\u0dbb\u0dd6\u0db4\u0dba-\u0dbb\u0dd6\u0db4 \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba</a> . </p>\n",
|
||||
"Cycle GAN": "\u0da0\u0d9a\u0dca\u0dbb\u0dba GAN"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/cycle_gan/index.html\">Cycle GAN</a></h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation/tutorial of the paper <a href=\"https://arxiv.org/abs/1703.10593\">Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/cycle_gan/index.html\">\u5faa\u73af\u589e\u76ca</a></h1>\n<p>\u8fd9\u662f\u8bba\u6587\u300a<a href=\"https://arxiv.org/abs/1703.10593\">\u4f7f\u7528\u5468\u671f\u4e00\u81f4\u7684\u5bf9\u6297\u7f51\u7edc\u8fdb\u884c\u672a\u914d\u5bf9\u7684\u56fe\u50cf\u5230\u56fe\u50cf\u8f6c\u6362\u300b\u7684 Py</a> <a href=\"https://pytorch.org\">Torch</a> \u5b9e\u73b0/\u6559\u7a0b\u3002</p>\n",
|
||||
"Cycle GAN": "\u5faa\u73af\u589e\u76ca"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"<h1>Deep Convolutional Generative Adversarial Networks (DCGAN)</h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of paper <a href=\"https://arxiv.org/abs/1511.06434\">Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks</a>.</p>\n<p>This implementation is based on the <a href=\"https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html\">PyTorch DCGAN Tutorial</a>.</p>\n": "<h1>\u6df1\u5c64\u7573\u307f\u8fbc\u307f\u578b\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af (DCGAN)</h1>\n<p>\u3053\u308c\u306f\u3001<a href=\"https://pytorch.org\"><a href=\"https://arxiv.org/abs/1511.06434\">\u6df1\u5c64\u7573\u307f\u8fbc\u307f\u751f\u6210\u578b\u6575\u5bfe\u7684\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u7528\u3044\u305f\u6559\u5e2b\u306a\u3057\u8868\u73fe\u5b66\u7fd2\u306ePyTorch\u5b9f\u88c5\u3067\u3059</a></a>\u3002</p>\n<p>\u3053\u306e\u5b9f\u88c5\u306f <a href=\"https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html\">PyTorch DCGAN</a> \u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306b\u57fa\u3065\u3044\u3066\u3044\u307e\u3059\u3002</p>\n",
|
||||
"<h3>Convolutional Discriminator Network</h3>\n": "<h3>\u7573\u307f\u8fbc\u307f\u5f01\u5225\u30cd\u30c3\u30c8\u30ef\u30fc\u30af</h3>\n",
|
||||
"<h3>Convolutional Generator Network</h3>\n<p>This is similar to the de-convolutional network used for CelebA faces, but modified for MNIST images.</p>\n<p><span translate=no>_^_0_^_</span></p>\n": "<h3>\u7573\u307f\u8fbc\u307f\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30cd\u30c3\u30c8\u30ef\u30fc\u30af</h3>\n<p>\u3053\u308c\u306f CeleBA \u30d5\u30a7\u30fc\u30b9\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u30c7\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30ca\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u4f3c\u3066\u3044\u307e\u3059\u304c\u3001MNIST \u30a4\u30e1\u30fc\u30b8\u7528\u306b\u5909\u66f4\u3055\u308c\u3066\u3044\u307e\u3059\u3002</p>\n<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Change from shape <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span>\u5f62\u72b6\u3092\u6b21\u306e\u3088\u3046\u306b\u5909\u66f4 <span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>The input is <span translate=no>_^_0_^_</span> with 100 channels </p>\n": "<p><span translate=no>_^_0_^_</span>\u5165\u529b\u306f100\u30c1\u30e3\u30f3\u30cd\u30eb</p>\n",
|
||||
"<p>The input is <span translate=no>_^_0_^_</span> with one channel </p>\n": "<p><span translate=no>_^_0_^_</span>\u5165\u529b\u306f1\u30c1\u30e3\u30f3\u30cd\u30eb\u3067\u3059</p>\n",
|
||||
"<p>This gives <span translate=no>_^_0_^_</span> </p>\n": "<p>\u3053\u308c\u306b\u3088\u308a <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>This gives <span translate=no>_^_0_^_</span> output </p>\n": "<p><span translate=no>_^_0_^_</span>\u3053\u308c\u306b\u3088\u308a\u51fa\u529b\u304c\u5f97\u3089\u308c\u307e\u3059</p>\n",
|
||||
"<p>We import the <a href=\"../original/experiment.html\">simple gan experiment</a> and change the generator and discriminator networks </p>\n": "<p><a href=\"../original/experiment.html\">\u7c21\u5358\u306aGAN\u5b9f\u9a13\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3066</a>\u3001\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3068\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u5909\u66f4\u3057\u307e\u3059</p>\n",
|
||||
"A simple PyTorch implementation/tutorial of Deep Convolutional Generative Adversarial Networks (DCGAN).": "\u6df1\u5c64\u7573\u307f\u8fbc\u307f\u751f\u6210\u578b\u6575\u5bfe\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\uff08DCGAN\uff09\u306e\u7c21\u5358\u306aPyTorch\u5b9f\u88c5/\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3002",
|
||||
"Deep Convolutional Generative Adversarial Networks (DCGAN)": "\u6df1\u5c64\u7573\u307f\u8fbc\u307f\u578b\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af (DCGAN)"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"<h1>Deep Convolutional Generative Adversarial Networks (DCGAN)</h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of paper <a href=\"https://arxiv.org/abs/1511.06434\">Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks</a>.</p>\n<p>This implementation is based on the <a href=\"https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html\">PyTorch DCGAN Tutorial</a>.</p>\n": "<h1>\u0d9c\u0dd0\u0db9\u0dd4\u0dbb\u0dd4\u0dc3\u0d82\u0dc0\u0dc4\u0db1 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd (DCGAN)</h1>\n<p>\u0db8\u0dd9\u0dba <a href=\"https://pytorch.org\">PyTorch</a> <a href=\"https://arxiv.org/abs/1511.06434\">\u0d9c\u0dd0\u0db9\u0dd4\u0dbb\u0dd4 \u0dc3\u0d82\u0d9a\u0ddd\u0da0\u0db1 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd\u0dba\u0db1\u0dca \u0dc3\u0db8\u0d9f \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0d85\u0db0\u0dd3\u0d9a\u0dca\u0dc2\u0dab\u0dba \u0db1\u0ddc\u0d9a\u0dc5 \u0db1\u0dd2\u0dba\u0ddd\u0da2\u0db1 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca</a> \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dba\u0dd2. </p>\n<p>\u0db8\u0dd9\u0db8\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 <a href=\"https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html\">PyTorch DCGAN \u0db1\u0dd2\u0db6\u0db1\u0dca\u0db0\u0db1\u0dba</a>\u0db8\u0dad \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dda. </p>\n",
|
||||
"<h3>Convolutional Discriminator Network</h3>\n": "<h3>\u0dc3\u0d82\u0dc0\u0dd2\u0da0\u0dca\u0da1\u0dda\u0daf\u0d9a\u0dc0\u0dd2\u0dc3\u0d82\u0dc0\u0dcf\u0daf\u0dd3 \u0da2\u0dcf\u0dbd\u0dba</h3>\n",
|
||||
"<h3>Convolutional Generator Network</h3>\n<p>This is similar to the de-convolutional network used for CelebA faces, but modified for MNIST images.</p>\n<p><span translate=no>_^_0_^_</span></p>\n": "<h3>\u0dc3\u0d82\u0dc0\u0dbb\u0dca\u0dad\u0da2\u0dcf\u0dbd \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba</h3>\n<p>\u0db8\u0dd9\u0dba\u0dc3\u0dd9\u0dbd\u0dd9\u0db6\u0dcf \u0db8\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0dc3\u0db3\u0dc4\u0dcf \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1 \u0daf-\u0dc3\u0d82\u0dc0\u0dc4\u0db1 \u0da2\u0dcf\u0dbd\u0dba\u0da7 \u0dc3\u0db8\u0dcf\u0db1 \u0dc0\u0db1 \u0db1\u0db8\u0dd4\u0dad\u0dca MNIST \u0dbb\u0dd6\u0db4 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0d9a\u0dbb \u0d87\u0dad. </p>\n<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Change from shape <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> </p>\n": "<p>\u0dc4\u0dd0\u0da9\u0dba\u0dd9\u0db1\u0dca\u0dc0\u0dd9\u0db1\u0dc3\u0dca <span translate=no>_^_0_^_</span> \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_1_^_</span> </p>\n",
|
||||
"<p>The input is <span translate=no>_^_0_^_</span> with 100 channels </p>\n": "<p>\u0d86\u0daf\u0dcf\u0db1\u0dba\u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf 100 \u0d9a\u0dca <span translate=no>_^_0_^_</span> \u0dc3\u0db8\u0d9f \u0d87\u0dad </p>\n",
|
||||
"<p>The input is <span translate=no>_^_0_^_</span> with one channel </p>\n": "<p>\u0d86\u0daf\u0dcf\u0db1\u0dba\u0d91\u0d9a\u0dca \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0\u0d9a\u0dca <span translate=no>_^_0_^_</span> \u0dc3\u0db8\u0d9f \u0d87\u0dad </p>\n",
|
||||
"<p>This gives <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0db8\u0dd9\u0dba\u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0dba\u0dd2 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>This gives <span translate=no>_^_0_^_</span> output </p>\n": "<p>\u0db8\u0dd9\u0dba <span translate=no>_^_0_^_</span> \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0dba\u0dd2 </p>\n",
|
||||
"<p>We import the <a href=\"../original/experiment.html\">simple gan experiment</a> and change the generator and discriminator networks </p>\n": "<p>\u0d85\u0db4\u0dd2 <a href=\"../original/experiment.html\">\u0dc3\u0dbb\u0dbd \u0d9c\u0dd0\u0db1\u0dca \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8\u0dca</a> \u0d86\u0db1\u0dba\u0db1\u0dba \u0d9a\u0dbb \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dc3\u0dc4 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1 \u0da2\u0dcf\u0dbd \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0d9a\u0dbb\u0db8\u0dd4 </p>\n",
|
||||
"A simple PyTorch implementation/tutorial of Deep Convolutional Generative Adversarial Networks (DCGAN).": "\u0d9c\u0dd0\u0db9\u0dd4\u0dbb\u0dd4 \u0dc3\u0d82\u0dba\u0dd4\u0d9a\u0dca\u0dad \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd (DCGAN) \u0dc3\u0dbb\u0dbd PyTorch \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8/\u0db1\u0dd2\u0db6\u0db1\u0dca\u0db0\u0db1\u0dba.",
|
||||
"Deep Convolutional Generative Adversarial Networks (DCGAN)": "\u0d9c\u0dd0\u0db9\u0dd4\u0dbb\u0dd4 \u0dc3\u0d82\u0dc0\u0dc4\u0db1 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd (DCGAN)"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"<h1>Deep Convolutional Generative Adversarial Networks (DCGAN)</h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of paper <a href=\"https://arxiv.org/abs/1511.06434\">Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks</a>.</p>\n<p>This implementation is based on the <a href=\"https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html\">PyTorch DCGAN Tutorial</a>.</p>\n": "<h1>\u6df1\u5ea6\u5377\u79ef\u751f\u6210\u5bf9\u6297\u7f51\u7edc (DCGAN)</h1>\n<p>\u8fd9\u662f <a href=\"https://pytorch.org\">PyTorch</a> \u5b9e\u73b0\u7684\u8bba\u6587\u300a<a href=\"https://arxiv.org/abs/1511.06434\">\u4f7f\u7528\u6df1\u5ea6\u5377\u79ef\u751f\u6210\u5bf9\u6297\u7f51\u7edc\u8fdb\u884c\u65e0\u76d1\u7763\u8868\u793a\u5b66\u4e60</a>\u300b\u3002</p>\n<p>\u6b64\u5b9e\u73b0\u57fa\u4e8e <a href=\"https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html\">PyTorch DCGAN \u6559\u7a0b</a>\u3002</p>\n",
|
||||
"<h3>Convolutional Discriminator Network</h3>\n": "<h3>\u5377\u79ef\u9274\u522b\u5668\u7f51\u7edc</h3>\n",
|
||||
"<h3>Convolutional Generator Network</h3>\n<p>This is similar to the de-convolutional network used for CelebA faces, but modified for MNIST images.</p>\n<p><span translate=no>_^_0_^_</span></p>\n": "<h3>\u5377\u79ef\u751f\u6210\u5668\u7f51\u7edc</h3>\n<p>\u8fd9\u7c7b\u4f3c\u4e8e\u7528\u4e8e CeleBA \u4eba\u8138\u7684\u53cd\u5377\u79ef\u7f51\u7edc\uff0c\u4f46\u9488\u5bf9 MNIST \u56fe\u50cf\u8fdb\u884c\u4e86\u4fee\u6539\u3002</p>\n<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Change from shape <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> </p>\n": "<p>\u4ece\u5f62\u72b6\u6539<span translate=no>_^_0_^_</span>\u4e3a<span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>The input is <span translate=no>_^_0_^_</span> with 100 channels </p>\n": "<p>\u8f93\u5165<span translate=no>_^_0_^_</span>\u6709 100 \u4e2a\u901a\u9053</p>\n",
|
||||
"<p>The input is <span translate=no>_^_0_^_</span> with one channel </p>\n": "<p>\u8f93\u5165<span translate=no>_^_0_^_</span>\u4f7f\u7528\u4e00\u4e2a\u901a\u9053</p>\n",
|
||||
"<p>This gives <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8fd9\u7ed9\u4e86<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>This gives <span translate=no>_^_0_^_</span> output </p>\n": "<p>\u8fd9\u7ed9\u51fa\u4e86<span translate=no>_^_0_^_</span>\u8f93\u51fa</p>\n",
|
||||
"<p>We import the <a href=\"../original/experiment.html\">simple gan experiment</a> and change the generator and discriminator networks </p>\n": "<p>\u6211\u4eec\u5bfc\u5165\u4e86<a href=\"../original/experiment.html\">\u7b80\u5355\u7684 gan \u5b9e\u9a8c</a>\u5e76\u66f4\u6539\u4e86\u751f\u6210\u5668\u548c\u9274\u522b\u5668\u7f51\u7edc</p>\n",
|
||||
"A simple PyTorch implementation/tutorial of Deep Convolutional Generative Adversarial Networks (DCGAN).": "\u6df1\u5ea6\u5377\u79ef\u751f\u6210\u5bf9\u6297\u7f51\u7edc\uff08DCGAN\uff09\u7684\u7b80\u5355\u7684 PyTorch \u5b9e\u73b0/\u6559\u7a0b\u3002",
|
||||
"Deep Convolutional Generative Adversarial Networks (DCGAN)": "\u6df1\u5ea6\u5377\u79ef\u751f\u6210\u5bf9\u6297\u7f51\u7edc (DCGAN)"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/dcgan/index.html\">Deep Convolutional Generative Adversarial Networks - DCGAN</a></h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of paper <a href=\"https://arxiv.org/abs/1511.06434\">Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/dcgan/index.html\">\u6df1\u5c64\u7573\u307f\u8fbc\u307f\u751f\u6210\u578b\u6575\u5bfe\u30cd\u30c3\u30c8\u30ef\u30fc\u30af-DCGAN</a></h1>\n<p>\u3053\u308c\u306f\u3001<a href=\"https://pytorch.org\"><a href=\"https://arxiv.org/abs/1511.06434\">\u6df1\u5c64\u7573\u307f\u8fbc\u307f\u751f\u6210\u578b\u6575\u5bfe\u7684\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u7528\u3044\u305f\u6559\u5e2b\u306a\u3057\u8868\u73fe\u5b66\u7fd2\u306ePyTorch\u5b9f\u88c5\u3067\u3059</a></a>\u3002</p>\n",
|
||||
"Deep Convolutional Generative Adversarial Networks - DCGAN": "\u6df1\u5c64\u7573\u307f\u8fbc\u307f\u751f\u6210\u578b\u6575\u5bfe\u30cd\u30c3\u30c8\u30ef\u30fc\u30af-DCGAN"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/dcgan/index.html\">Deep Convolutional Generative Adversarial Networks - DCGAN</a></h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of paper <a href=\"https://arxiv.org/abs/1511.06434\">Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/dcgan/index.html\">\u0d9c\u0dd0\u0db9\u0dd4\u0dbb\u0dd4 \u0dc3\u0d82\u0dc0\u0dbb\u0dca\u0dad \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd - DCGAN</a></h1>\n<p>\u0db8\u0dd9\u0dba <a href=\"https://pytorch.org\">PyTorch</a> <a href=\"https://arxiv.org/abs/1511.06434\">\u0d9c\u0dd0\u0db9\u0dd4\u0dbb\u0dd4 \u0dc3\u0d82\u0d9a\u0ddd\u0da0\u0db1 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd\u0dba\u0db1\u0dca \u0dc3\u0db8\u0d9f \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0d85\u0db0\u0dd3\u0d9a\u0dca\u0dc2\u0dab\u0dba \u0db1\u0ddc\u0d9a\u0dc5 \u0db1\u0dd2\u0dba\u0ddd\u0da2\u0db1 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca</a> \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dba\u0dd2. </p>\n",
|
||||
"Deep Convolutional Generative Adversarial Networks - DCGAN": "\u0d9c\u0dd0\u0db9\u0dd4\u0dbb\u0dd4 \u0dc3\u0d82\u0dc0\u0dbb\u0dca\u0dad \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd - DCGAN"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/dcgan/index.html\">Deep Convolutional Generative Adversarial Networks - DCGAN</a></h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of paper <a href=\"https://arxiv.org/abs/1511.06434\">Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/dcgan/index.html\">\u6df1\u5ea6\u5377\u79ef\u751f\u6210\u5bf9\u6297\u7f51\u7edc-DCGAN</a></h1>\n<p>\u8fd9\u662f <a href=\"https://pytorch.org\">PyTorch</a> \u5b9e\u73b0\u7684\u8bba\u6587\u300a<a href=\"https://arxiv.org/abs/1511.06434\">\u4f7f\u7528\u6df1\u5ea6\u5377\u79ef\u751f\u6210\u5bf9\u6297\u7f51\u7edc\u8fdb\u884c\u65e0\u76d1\u7763\u8868\u793a\u5b66\u4e60</a>\u300b\u3002</p>\n",
|
||||
"Deep Convolutional Generative Adversarial Networks - DCGAN": "\u6df1\u5ea6\u5377\u79ef\u751f\u6210\u5bf9\u6297\u7f51\u7edc-DCGAN"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"<h1>Generative Adversarial Networks (GAN)</h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1406.2661\">Generative Adversarial Networks</a>.</p>\n<p>The generator, <span translate=no>_^_0_^_</span> generates samples that match the distribution of data, while the discriminator, <span translate=no>_^_1_^_</span> gives the probability that <span translate=no>_^_2_^_</span> came from data rather than <span translate=no>_^_3_^_</span>.</p>\n<p>We train <span translate=no>_^_4_^_</span> and <span translate=no>_^_5_^_</span> simultaneously on a two-player min-max game with value function <span translate=no>_^_6_^_</span>.</p>\n<p><span translate=no>_^_7_^_</span></p>\n<p><span translate=no>_^_8_^_</span> is the probability distribution over data, whilst <span translate=no>_^_9_^_</span> probability distribution of <span translate=no>_^_10_^_</span>, which is set to gaussian noise.</p>\n<p>This file defines the loss functions. <a href=\"experiment.html\">Here</a> is an MNIST example with two multilayer perceptron for the generator and discriminator.</p>\n": "<h1>\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30fc\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af (GAN)</h1>\n<p><a href=\"https://arxiv.org/abs/1406.2661\">\u3053\u308c\u306f\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30fc\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u5b9f\u88c5\u3067\u3059</a>\u3002</p>\n<p><span translate=no>_^_0_^_</span>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u306f\u30c7\u30fc\u30bf\u306e\u5206\u5e03\u306b\u4e00\u81f4\u3059\u308b\u30b5\u30f3\u30d7\u30eb\u3092\u751f\u6210\u3057\u3001<span translate=no>_^_1_^_</span>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306f\u30c7\u30fc\u30bf\u304b\u3089\u5f97\u3089\u308c\u308b\u78ba\u7387\u3067\u306f\u306a\u304f\u3001<span translate=no>_^_2_^_</span>\u30c7\u30fc\u30bf\u304b\u3089\u5f97\u3089\u308c\u308b\u78ba\u7387\u3092\u8fd4\u3057\u307e\u3059\u3002<span translate=no>_^_3_^_</span></p>\n<p><span translate=no>_^_4_^_</span><span translate=no>_^_5_^_</span>\u30d0\u30ea\u30e5\u30fc\u6a5f\u80fd\u3092\u5099\u3048\u305f2\u4eba\u7528\u306e\u30df\u30cb\u30de\u30c3\u30af\u30b9\u30b2\u30fc\u30e0\u3067\u540c\u6642\u306b\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3057\u307e\u3059\u3002<span translate=no>_^_6_^_</span></p>\n<p><span translate=no>_^_7_^_</span></p>\n<p><span translate=no>_^_8_^_</span>\u306f\u30c7\u30fc\u30bf\u5168\u4f53\u306e\u78ba\u7387\u5206\u5e03\u3067<span translate=no>_^_10_^_</span>\u3001<span translate=no>_^_9_^_</span>\u306e\u78ba\u7387\u5206\u5e03\u306f\u30ac\u30a6\u30b9\u30ce\u30a4\u30ba\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002</p>\n<p>\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u640d\u5931\u95a2\u6570\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002<a href=\"experiment.html\">\u3053\u308c\u306f</a>\u3001\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u3068\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306b2\u3064\u306e\u591a\u5c64\u30d1\u30fc\u30bb\u30d7\u30c8\u30ed\u30f3\u3092\u4f7f\u3063\u305fMNIST\u306e\u4f8b\u3067\u3059</p>\u3002\n",
|
||||
"<h2>Discriminator Loss</h2>\n<p>Discriminator should <strong>ascend</strong> on the gradient,</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><span translate=no>_^_1_^_</span> is the mini-batch size and <span translate=no>_^_2_^_</span> is used to index samples in the mini-batch. <span translate=no>_^_3_^_</span> are samples from <span translate=no>_^_4_^_</span> and <span translate=no>_^_5_^_</span> are samples from <span translate=no>_^_6_^_</span>.</p>\n": "<h2>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30ed\u30b9</h2>\n<p><strong>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306f\u52fe\u914d\u306e\u4e0a\u3092\u5411\u3044\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u304c</strong></p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><span translate=no>_^_1_^_</span>\u306f\u30df\u30cb\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u3067\u3001<span translate=no>_^_2_^_</span>\u30df\u30cb\u30d0\u30c3\u30c1\u5185\u306e\u30b5\u30f3\u30d7\u30eb\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<span translate=no>_^_3_^_</span><span translate=no>_^_4_^_</span><span translate=no>_^_5_^_</span>\u304b\u3089\u306e\u30b5\u30f3\u30d7\u30eb\u3067\u3042\u308a\u3001<span translate=no>_^_6_^_</span>\u304b\u3089\u306e\u30b5\u30f3\u30d7\u30eb\u3067\u3059\u3002</p>\n",
|
||||
"<h2>Generator Loss</h2>\n<p>Generator should <strong>descend</strong> on the gradient,</p>\n<p><span translate=no>_^_0_^_</span></p>\n": "<h2>\u767a\u96fb\u6a5f\u640d\u5931</h2>\n<p><strong>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u306f\u52fe\u914d\u306b\u6cbf\u3063\u3066\u4e0b\u964d\u3059\u308b\u306f\u305a\u3067\u3059\u304c</strong>\u3001</p>\n<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p> <span translate=no>_^_0_^_</span> are logits from <span translate=no>_^_1_^_</span> and <span translate=no>_^_2_^_</span> are logits from <span translate=no>_^_3_^_</span></p>\n": "<p><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span><span translate=no>_^_2_^_</span>\u5143\u306e\u30ed\u30b8\u30c3\u30c8\u3068\u5143\u306e\u30ed\u30b8\u30c3\u30c8 <span translate=no>_^_3_^_</span></p>\n",
|
||||
"<p> Create smoothed labels</p>\n": "<p>\u306a\u3081\u3089\u304b\u306a\u30e9\u30d9\u30eb\u3092\u4f5c\u6210</p>\n",
|
||||
"<p>Labels are registered as buffered and persistence is set to <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u30e9\u30d9\u30eb\u306f\u30d0\u30c3\u30d5\u30a1\u30ea\u30f3\u30b0\u3055\u308c\u3066\u767b\u9332\u3055\u308c\u3001\u30d1\u30fc\u30b7\u30b9\u30bf\u30f3\u30b9\u306f\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>We use PyTorch Binary Cross Entropy Loss, which is <span translate=no>_^_0_^_</span>, where <span translate=no>_^_1_^_</span> are the labels and <span translate=no>_^_2_^_</span> are the predictions. <em>Note the negative sign</em>. We use labels equal to <span translate=no>_^_3_^_</span> for <span translate=no>_^_4_^_</span> from <span translate=no>_^_5_^_</span> and labels equal to <span translate=no>_^_6_^_</span> for <span translate=no>_^_7_^_</span> from <span translate=no>_^_8_^_</span> Then descending on the sum of these is the same as ascending on the above gradient.</p>\n<p><span translate=no>_^_9_^_</span> combines softmax and binary cross entropy loss. </p>\n": "<p>PyTorch\u306e\u30d0\u30a4\u30ca\u30ea\u30af\u30ed\u30b9\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u640d\u5931\u3092\u4f7f\u3044\u307e\u3059\u3002\u3064\u307e\u308a<span translate=no>_^_0_^_</span>\u3001<span translate=no>_^_1_^_</span><span translate=no>_^_2_^_</span>\u30e9\u30d9\u30eb\u306f\u3069\u3053\u3067\u4e88\u6e2c\u306f\u3069\u3053\u3067\u3059\u304b\u3002<em>\u30de\u30a4\u30ca\u30b9\u8a18\u53f7\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044</em>\u3002for from <span translate=no>_^_5_^_</span> \u3068\u540c\u3058\u30e9\u30d9\u30eb\u3068 <span translate=no>_^_3_^_</span> for <span translate=no>_^_4_^_</span> from <span translate=no>_^_6_^_</span> \u306b\u7b49\u3057\u3044\u30e9\u30d9\u30eb\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u5408\u8a08\u3067\u964d\u9806\u306b\u306a\u308b\u3068\u3001\u4e0a\u8a18\u306e\u52fe\u914d\u3067\u6607\u9806\u306b\u306a\u308b\u306e\u3068\u540c\u3058\u306b\u306a\u308a\u307e\u3059</p>\u3002<span translate=no>_^_7_^_</span> <span translate=no>_^_8_^_</span>\n<p><span translate=no>_^_9_^_</span>\u30bd\u30d5\u30c8\u30de\u30c3\u30af\u30b9\u3068\u30d0\u30a4\u30ca\u30ea\u30af\u30ed\u30b9\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u640d\u5931\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u3082\u306e\u3067\u3059\u3002</p>\n",
|
||||
"<p>We use label smoothing because it seems to work better in some cases </p>\n": "<p>\u30e9\u30d9\u30eb\u30b9\u30e0\u30fc\u30b8\u30f3\u30b0\u3092\u4f7f\u7528\u3059\u308b\u306e\u306f\u3001\u5834\u5408\u306b\u3088\u3063\u3066\u306f\u3046\u307e\u304f\u3044\u304f\u3068\u601d\u308f\u308c\u308b\u305f\u3081\u3067\u3059\u3002</p>\n",
|
||||
"<p>We use labels equal to <span translate=no>_^_0_^_</span> for <span translate=no>_^_1_^_</span> from <span translate=no>_^_2_^_</span> Then descending on this loss is the same as descending on the above gradient. </p>\n": "<p><span translate=no>_^_0_^_</span>for <span translate=no>_^_1_^_</span> \u3068\u7b49\u3057\u3044\u30e9\u30d9\u30eb\u3092\u4f7f\u3044\u307e\u3059\u3002<span translate=no>_^_2_^_</span>\u3053\u306e\u640d\u5931\u3067\u964d\u9806\u3092\u964d\u9806\u3059\u308b\u3068\u3001\u4e0a\u306e\u52fe\u914d\u3067\u964d\u9806\u306b\u306a\u308b\u306e\u3068\u540c\u3058\u306b\u306a\u308a\u307e\u3059\u3002</p>\n",
|
||||
"A simple PyTorch implementation/tutorial of Generative Adversarial Networks (GAN) loss functions.": "\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30fc\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\uff08GAN\uff09\u640d\u5931\u95a2\u6570\u306e\u7c21\u5358\u306aPyTorch\u5b9f\u88c5/\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3002",
|
||||
"Generative Adversarial Networks (GAN)": "\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30fc\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af (GAN)"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"<h1>Generative Adversarial Networks (GAN)</h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1406.2661\">Generative Adversarial Networks</a>.</p>\n<p>The generator, <span translate=no>_^_0_^_</span> generates samples that match the distribution of data, while the discriminator, <span translate=no>_^_1_^_</span> gives the probability that <span translate=no>_^_2_^_</span> came from data rather than <span translate=no>_^_3_^_</span>.</p>\n<p>We train <span translate=no>_^_4_^_</span> and <span translate=no>_^_5_^_</span> simultaneously on a two-player min-max game with value function <span translate=no>_^_6_^_</span>.</p>\n<p><span translate=no>_^_7_^_</span></p>\n<p><span translate=no>_^_8_^_</span> is the probability distribution over data, whilst <span translate=no>_^_9_^_</span> probability distribution of <span translate=no>_^_10_^_</span>, which is set to gaussian noise.</p>\n<p>This file defines the loss functions. <a href=\"experiment.html\">Here</a> is an MNIST example with two multilayer perceptron for the generator and discriminator.</p>\n": "<h1>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd (GAN)</h1>\n<p>\u0db8\u0dd9\u0dba <a href=\"https://arxiv.org/abs/1406.2661\">Generative Aversarial Network</a>\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dba\u0dd2. </p>\n<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba, \u0daf\u0dad\u0dca\u0dad \u0db6\u0dd9\u0daf\u0dcf \u0dc4\u0dd0\u0dbb\u0dd3\u0db8\u0da7 \u0d9c\u0dd0\u0dbd\u0db4\u0dd9\u0db1 \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd <span translate=no>_^_0_^_</span> \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dbb \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf, \u0dc0\u0da9\u0dcf \u0daf\u0dad\u0dca\u0dad \u0dc0\u0dbd\u0dd2\u0db1\u0dca <span translate=no>_^_2_^_</span> \u0db4\u0dd0\u0db8\u0dd2\u0dab\u0dd2 \u0dc3\u0db8\u0dca\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf\u0dc0 <span translate=no>_^_1_^_</span> \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0dba\u0dd2 <span translate=no>_^_3_^_</span>. </p>\n<p>\u0dc0\u0da7\u0dd2\u0db1\u0dcf\u0d9a\u0db8\u0dca\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0d9a\u0dcf\u0dbb\u0dd2\u0dad\u0dca\u0dc0\u0dba \u0dc3\u0dc4\u0dd2\u0dad \u0d9a\u0dca\u0dbb\u0dd3\u0da9\u0d9a \u0daf\u0dd9\u0d9a\u0d9a \u0db8\u0dd2\u0db1\u0dd2-\u0db8\u0dd0\u0d9a\u0dca\u0dc3\u0dca \u0d9a\u0dca\u0dbb\u0dd3\u0da9\u0dcf\u0dc0\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf \u0d85\u0db4\u0dd2 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 <span translate=no>_^_4_^_</span> \u0d9a\u0dbb\u0db8\u0dd4 <span translate=no>_^_6_^_</span>. <span translate=no>_^_5_^_</span> </p>\n<p><span translate=no>_^_7_^_</span></p>\n<p><span translate=no>_^_8_^_</span> \u0dba\u0db1\u0dd4 \u0daf\u0dad\u0dca\u0dad \u0dc0\u0dbd\u0da7 \u0dc0\u0da9\u0dcf \u0dc3\u0db8\u0dca\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0db6\u0dd9\u0daf\u0dcf \u0dc4\u0dd0\u0dbb\u0dd3\u0db8 \u0dc0\u0db1 \u0d85\u0dad\u0dbb <span translate=no>_^_9_^_</span> \u0dc3\u0db8\u0dca\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0dc0\u0dca\u0dba\u0dcf\u0db4\u0dca\u0dad\u0dd2\u0dba <span translate=no>_^_10_^_</span>\u0dc0\u0db1 \u0d85\u0dad\u0dbb \u0d91\u0dba \u0d9c\u0dc0\u0dd4\u0dc3\u0dd2\u0dba\u0dcf\u0db1\u0dd4 \u0dc1\u0db6\u0dca\u0daf\u0dba\u0da7 \u0dc3\u0d9a\u0dc3\u0dcf \u0d87\u0dad. </p>\n<p>\u0db8\u0dd9\u0db8\u0d9c\u0ddc\u0db1\u0dd4\u0dc0 \u0db4\u0dcf\u0da9\u0dd4 \u0d9a\u0dcf\u0dbb\u0dca\u0dba\u0dba\u0db1\u0dca \u0d85\u0dbb\u0dca\u0dae \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2. <a href=\"experiment.html\">\u0db8\u0dd9\u0db1\u0dca\u0db1</a> \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dc3\u0dc4 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0dc3\u0db3\u0dc4\u0dcf \u0db6\u0dc4\u0dd4 \u0dc3\u0dca\u0dae\u0dbb perceptron \u0daf\u0dd9\u0d9a\u0d9a\u0dca \u0dc3\u0dc4\u0dd2\u0dad MNIST \u0d8b\u0daf\u0dcf\u0dc4\u0dbb\u0dab\u0dba\u0d9a\u0dd2. </p>\n",
|
||||
"<h2>Discriminator Loss</h2>\n<p>Discriminator should <strong>ascend</strong> on the gradient,</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><span translate=no>_^_1_^_</span> is the mini-batch size and <span translate=no>_^_2_^_</span> is used to index samples in the mini-batch. <span translate=no>_^_3_^_</span> are samples from <span translate=no>_^_4_^_</span> and <span translate=no>_^_5_^_</span> are samples from <span translate=no>_^_6_^_</span>.</p>\n": "<h2>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda \u0db4\u0dcf\u0da9\u0dd4\u0dc0</h2>\n<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba <strong>\u0db8\u0dad\u0da7 \u0db1\u0dd0\u0d9c\u0dca\u0dc0\u0dd2\u0dba</strong> \u0dba\u0dd4\u0dad\u0dd4\u0dba,</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><span translate=no>_^_1_^_</span> \u0d9a\u0dd4\u0da9\u0dcf \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba <span translate=no>_^_2_^_</span> \u0dc0\u0db1 \u0d85\u0dad\u0dbb \u0d9a\u0dd4\u0da9\u0dcf \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dda \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba \u0dc3\u0db3\u0dc4\u0dcf \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0dba\u0dd2. <span translate=no>_^_3_^_</span> \u0dc0\u0dd9\u0dad\u0dd2\u0db1\u0dca \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0dc0\u0db1 <span translate=no>_^_4_^_</span> \u0d85\u0dad\u0dbb <span translate=no>_^_5_^_</span> \u0d92\u0dc0\u0dcf \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd <span translate=no>_^_6_^_</span>\u0dc0\u0dda. </p>\n",
|
||||
"<h2>Generator Loss</h2>\n<p>Generator should <strong>descend</strong> on the gradient,</p>\n<p><span translate=no>_^_0_^_</span></p>\n": "<h2>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0db1\u0dd0\u0dad\u0dd2\u0dc0\u0dd3\u0db8</h2>\n<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0db8\u0dad\u0da7 <strong>\u0db6\u0dd0\u0dc3</strong> \u0dba\u0dcf \u0dba\u0dd4\u0dad\u0dd4\u0dba,</p>\n<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p> <span translate=no>_^_0_^_</span> are logits from <span translate=no>_^_1_^_</span> and <span translate=no>_^_2_^_</span> are logits from <span translate=no>_^_3_^_</span></p>\n": "<p> <span translate=no>_^_0_^_</span> \u0dc3\u0dd2\u0da7 \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca <span translate=no>_^_2_^_</span> \u0dc0\u0db1 <span translate=no>_^_1_^_</span> \u0d85\u0dad\u0dbb \u0dc3\u0dd2\u0da7 \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8\u0dca \u0dc0\u0dda <span translate=no>_^_3_^_</span></p>\n",
|
||||
"<p> Create smoothed labels</p>\n": "<p> \u0dc3\u0dd4\u0db8\u0da7\u0dbd\u0dda\u0db6\u0dbd \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1</p>\n",
|
||||
"<p>Labels are registered as buffered and persistence is set to <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u0dbd\u0dda\u0db6\u0dbd\u0db6\u0dc6\u0dbb\u0dca \u0dbd\u0dd9\u0dc3 \u0dbd\u0dd2\u0dba\u0dcf\u0db4\u0daf\u0dd2\u0d82\u0da0\u0dd2 \u0d9a\u0dbb \u0d87\u0dad\u0dd2 \u0d85\u0dad\u0dbb \u0db1\u0ddc\u0db4\u0dc3\u0dd4\u0db6\u0da7 \u0d8b\u0dad\u0dca\u0dc3\u0dcf\u0dc4\u0dba \u0dc3\u0d9a\u0dc3\u0dcf <span translate=no>_^_0_^_</span>\u0d87\u0dad. </p>\n",
|
||||
"<p>We use PyTorch Binary Cross Entropy Loss, which is <span translate=no>_^_0_^_</span>, where <span translate=no>_^_1_^_</span> are the labels and <span translate=no>_^_2_^_</span> are the predictions. <em>Note the negative sign</em>. We use labels equal to <span translate=no>_^_3_^_</span> for <span translate=no>_^_4_^_</span> from <span translate=no>_^_5_^_</span> and labels equal to <span translate=no>_^_6_^_</span> for <span translate=no>_^_7_^_</span> from <span translate=no>_^_8_^_</span> Then descending on the sum of these is the same as ascending on the above gradient.</p>\n<p><span translate=no>_^_9_^_</span> combines softmax and binary cross entropy loss. </p>\n": "<p>\u0d85\u0db4\u0dd2\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db8\u0dd4 PyTorch \u0daf\u0dca\u0dc0\u0dd2\u0db8\u0dba \u0d9a\u0dca\u0dbb\u0ddc\u0dc3\u0dca \u0d91\u0db1\u0dca\u0da7\u0dca\u0dbb\u0ddc\u0db4\u0dd2 \u0db1\u0dd0\u0dad\u0dd2\u0dc0\u0dd3\u0db8 <span translate=no>_^_0_^_</span>, \u0d91\u0db1\u0db8\u0dca \u0dbd\u0dda\u0db6\u0dbd\u0dca \u0dc3\u0dc4 <span translate=no>_^_2_^_</span> \u0d85\u0db1\u0dcf\u0dc0\u0dd0\u0d9a\u0dd2 <span translate=no>_^_1_^_</span> \u0d9a\u0ddc\u0dc4\u0dda\u0daf \u0dba\u0db1\u0dca\u0db1\u0dba\u0dd2. <em>\u0dc3\u0dd8\u0dab\u0dbd\u0d9a\u0dd4\u0dab \u0dc3\u0da7\u0dc4\u0db1\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1</em>. \u0d85\u0db4\u0dd2 \u0dc3\u0dd2\u0da7 \u0dc3\u0db8\u0dcf\u0db1 \u0dbd\u0dda\u0db6\u0dbd\u0dca \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf <span translate=no>_^_3_^_</span> \u0d9a\u0dbb\u0db1 <span translate=no>_^_5_^_</span> \u0d85\u0dad\u0dbb <span translate=no>_^_4_^_</span> <span translate=no>_^_7_^_</span> \u0dc3\u0dd2\u0da7 <span translate=no>_^_6_^_</span> \u0dc3\u0db8\u0dcf\u0db1 \u0dbd\u0dda\u0db6\u0dbd\u0dca <span translate=no>_^_8_^_</span> \u0d91\u0dc0\u0dd2\u0da7 \u0db8\u0dda\u0dc0\u0dcf\u0dba\u0dda \u0d91\u0d9a\u0dad\u0dd4\u0dc0 \u0db8\u0dad\u0da7 \u0db6\u0dd0\u0dc3 \u0dba\u0dcf\u0db8 \u0d89\u0dc4\u0dad \u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd3\u0dba \u0db8\u0dad \u0db1\u0dd0\u0d9f\u0dd3\u0db8 \u0dc4\u0dcf \u0dc3\u0db8\u0dcf\u0db1 \u0dc0\u0dda. </p>\n<p><span translate=no>_^_9_^_</span> \u0dc3\u0ddc\u0dc6\u0dca\u0da7\u0dca\u0db8\u0dd0\u0d9a\u0dca\u0dc3\u0dca \u0dc3\u0dc4 \u0daf\u0dca\u0dc0\u0dd2\u0db8\u0dba \u0dc4\u0dbb\u0dc3\u0dca \u0d91\u0db1\u0dca\u0da7\u0dca\u0dbb\u0ddc\u0db4\u0dd2 \u0db1\u0dd0\u0dad\u0dd2\u0dc0\u0dd3\u0db8 \u0d92\u0d9a\u0dcf\u0db6\u0daf\u0dca\u0db0 \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<p>We use label smoothing because it seems to work better in some cases </p>\n": "<p>\u0d85\u0db4\u0dd2\u0dbd\u0dda\u0db6\u0dbd\u0dca \u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dda \u0d91\u0dba \u0dc3\u0db8\u0dc4\u0dbb \u0d85\u0dc0\u0dc3\u0dca\u0dae\u0dcf\u0dc0\u0dbd\u0daf\u0dd3 \u0dc0\u0da9\u0dcf \u0dc4\u0ddc\u0db3\u0dd2\u0db1\u0dca \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf \u0d9a\u0dbb\u0db1 \u0db6\u0dc0 \u0db4\u0dd9\u0db1\u0dd9\u0db1 \u0db6\u0dd0\u0dc0\u0dd2\u0db1\u0dd2 </p>\n",
|
||||
"<p>We use labels equal to <span translate=no>_^_0_^_</span> for <span translate=no>_^_1_^_</span> from <span translate=no>_^_2_^_</span> Then descending on this loss is the same as descending on the above gradient. </p>\n": "<p>\u0d85\u0db4\u0dd2\u0dc3\u0db8\u0dcf\u0db1 \u0dbd\u0dda\u0db6\u0dbd\u0dca \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db8\u0dd4 <span translate=no>_^_1_^_</span> \u0dc3\u0dd2\u0da7 <span translate=no>_^_2_^_</span> \u0d91\u0dc0\u0dd2\u0da7 \u0db8\u0dd9\u0db8 \u0d85\u0dbd\u0dcf\u0db7\u0dba \u0db8\u0dad \u0db6\u0dd0\u0dc3 \u0dba\u0dcf\u0db8 \u0d89\u0dc4\u0dad \u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dd9\u0db1\u0dca \u0db6\u0dd0\u0dc3 \u0dba\u0dcf\u0db8 \u0dc4\u0dcf \u0dc3\u0db8\u0dcf\u0db1 \u0dc0\u0dda. <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"A simple PyTorch implementation/tutorial of Generative Adversarial Networks (GAN) loss functions.": "\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd (GAN) \u0db4\u0dcf\u0da9\u0dd4 \u0d9a\u0dcf\u0dbb\u0dca\u0dba\u0dba\u0db1\u0dca \u0db4\u0dd2\u0dc5\u0dd2\u0db6\u0db3 \u0dc3\u0dbb\u0dbd PyTorch \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8/\u0db1\u0dd2\u0db6\u0db1\u0dca\u0db0\u0db1\u0dba.",
|
||||
"Generative Adversarial Networks (GAN)": "\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd (GAN)"
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"<h1>Generative Adversarial Networks (GAN)</h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1406.2661\">Generative Adversarial Networks</a>.</p>\n<p>The generator, <span translate=no>_^_0_^_</span> generates samples that match the distribution of data, while the discriminator, <span translate=no>_^_1_^_</span> gives the probability that <span translate=no>_^_2_^_</span> came from data rather than <span translate=no>_^_3_^_</span>.</p>\n<p>We train <span translate=no>_^_4_^_</span> and <span translate=no>_^_5_^_</span> simultaneously on a two-player min-max game with value function <span translate=no>_^_6_^_</span>.</p>\n<p><span translate=no>_^_7_^_</span></p>\n<p><span translate=no>_^_8_^_</span> is the probability distribution over data, whilst <span translate=no>_^_9_^_</span> probability distribution of <span translate=no>_^_10_^_</span>, which is set to gaussian noise.</p>\n<p>This file defines the loss functions. <a href=\"experiment.html\">Here</a> is an MNIST example with two multilayer perceptron for the generator and discriminator.</p>\n": "<h1>\u751f\u6210\u5bf9\u6297\u7f51\u7edc (GAN)</h1>\n<p>\u8fd9\u662f<a href=\"https://arxiv.org/abs/1406.2661\">\u751f\u6210\u5bf9\u6297\u7f51\u7edc</a>\u7684\u5b9e\u73b0\u3002</p>\n\u751f\u6210@@ <p>\u5668<span translate=no>_^_0_^_</span>\u751f\u6210\u4e0e\u6570\u636e\u5206\u5e03\u76f8\u5339\u914d\u7684\u6837\u672c\uff0c\u800c\u9274\u522b\u5668\u5219<span translate=no>_^_1_^_</span>\u7ed9\u51fa\u6765\u81ea\u6570\u636e\u800c\u4e0d\u662f<span translate=no>_^_2_^_</span>\u6765\u81ea\u6570\u636e\u7684\u6982\u7387<span translate=no>_^_3_^_</span>\u3002</p>\n<p>\u6211\u4eec\u5728\u5177\u6709\u503c\u529f\u80fd\u7684\u53cc\u4eba\u6700\u5c0f\u6700\u5927\u6e38\u620f\u4e2d<span translate=no>_^_5_^_</span>\u540c\u65f6\u8fdb\u884c\u8bad\u7ec3<span translate=no>_^_4_^_</span><span translate=no>_^_6_^_</span>\u3002</p>\n<p><span translate=no>_^_7_^_</span></p>\n<p><span translate=no>_^_8_^_</span>\u662f\u6570\u636e\u7684\u6982\u7387\u5206\u5e03\uff0c\u800c<span translate=no>_^_9_^_</span>\u6982\u7387\u5206<span translate=no>_^_10_^_</span>\u5e03\u5219\u8bbe\u7f6e\u4e3a\u9ad8\u65af\u566a\u58f0\u3002</p>\n<p>\u8fd9\u4e2a\u6587\u4ef6\u5b9a\u4e49\u4e86\u635f\u5931\u51fd\u6570\u3002<a href=\"experiment.html\">\u8fd9\u662f</a>\u4e00\u4e2a MNIST \u793a\u4f8b\uff0c\u5176\u4e2d\u5305\u542b\u4e24\u4e2a\u7528\u4e8e\u751f\u6210\u5668\u548c\u9274\u522b\u5668\u7684\u591a\u5c42\u611f\u77e5\u5668\u3002</p>\n",
|
||||
"<h2>Discriminator Loss</h2>\n<p>Discriminator should <strong>ascend</strong> on the gradient,</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><span translate=no>_^_1_^_</span> is the mini-batch size and <span translate=no>_^_2_^_</span> is used to index samples in the mini-batch. <span translate=no>_^_3_^_</span> are samples from <span translate=no>_^_4_^_</span> and <span translate=no>_^_5_^_</span> are samples from <span translate=no>_^_6_^_</span>.</p>\n": "<h2>\u9274\u522b\u5668\u4e22\u5931</h2>\n<p>\u9274\u522b\u5668\u5e94\u8be5\u5728\u68af\u5ea6\u4e0a<strong>\u5347</strong>\uff0c</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><span translate=no>_^_1_^_</span>\u662f\u5fae\u578b\u6279\u6b21\u5927\u5c0f\uff0c<span translate=no>_^_2_^_</span>\u7528\u4e8e\u7d22\u5f15\u5fae\u578b\u6279\u6b21\u4e2d\u7684\u6837\u672c\u3002<span translate=no>_^_3_^_</span>\u662f\u6765\u81ea\u7684\u6837\u672c<span translate=no>_^_4_^_</span>\uff0c<span translate=no>_^_5_^_</span>\u4e5f\u662f\u6765\u81ea\u7684\u6837\u672c<span translate=no>_^_6_^_</span>\u3002</p>\n",
|
||||
"<h2>Generator Loss</h2>\n<p>Generator should <strong>descend</strong> on the gradient,</p>\n<p><span translate=no>_^_0_^_</span></p>\n": "<h2>\u53d1\u7535\u673a\u635f\u5931</h2>\n<p>\u53d1\u7535\u673a\u5e94\u8be5<strong>\u4e0b\u964d\u5230</strong>\u68af\u5ea6\u4e0a\uff0c</p>\n<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p> <span translate=no>_^_0_^_</span> are logits from <span translate=no>_^_1_^_</span> and <span translate=no>_^_2_^_</span> are logits from <span translate=no>_^_3_^_</span></p>\n": "<p><span translate=no>_^_0_^_</span>\u662f logits \u6765\u81ea<span translate=no>_^_1_^_</span>\uff0c<span translate=no>_^_2_^_</span>logits \u6765\u81ea<span translate=no>_^_3_^_</span></p>\n",
|
||||
"<p> Create smoothed labels</p>\n": "<p>\u521b\u5efa\u7ecf\u8fc7\u5e73\u6ed1\u5904\u7406\u7684\u6807\u6ce8</p>\n",
|
||||
"<p>Labels are registered as buffered and persistence is set to <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u6807\u7b7e\u6ce8\u518c\u4e3a\u7f13\u51b2\u533a\uff0c\u5e76\u5c06\u6301\u4e45\u6027\u8bbe\u7f6e\u4e3a<span translate=no>_^_0_^_</span>\u3002</p>\n",
|
||||
"<p>We use PyTorch Binary Cross Entropy Loss, which is <span translate=no>_^_0_^_</span>, where <span translate=no>_^_1_^_</span> are the labels and <span translate=no>_^_2_^_</span> are the predictions. <em>Note the negative sign</em>. We use labels equal to <span translate=no>_^_3_^_</span> for <span translate=no>_^_4_^_</span> from <span translate=no>_^_5_^_</span> and labels equal to <span translate=no>_^_6_^_</span> for <span translate=no>_^_7_^_</span> from <span translate=no>_^_8_^_</span> Then descending on the sum of these is the same as ascending on the above gradient.</p>\n<p><span translate=no>_^_9_^_</span> combines softmax and binary cross entropy loss. </p>\n": "<p>\u6211\u4eec\u4f7f\u7528 PyTorch \u4e8c\u8fdb\u5236\u4ea4\u53c9\u71b5\u635f\u5931<span translate=no>_^_0_^_</span>\uff0c\u4e5f\u5c31\u662f\u8bf4\uff0c\u6807\u7b7e\u5728<span translate=no>_^_1_^_</span>\u54ea\u91cc\uff0c\u9884\u6d4b\u5728<span translate=no>_^_2_^_</span>\u54ea\u91cc\u3002<em>\u6ce8\u610f\u8d1f\u53f7</em>\u3002\u6211\u4eec\u4f7f\u7528\u7b49\u4e8e for fro<span translate=no>_^_3_^_</span> m<span translate=no>_^_4_^_</span> \u7684\u6807\u7b7e<span translate=no>_^_5_^_</span>\u548c\u7b49\u4e8e f<span translate=no>_^_6_^_</span> or from<span translate=no>_^_7_^_</span> \u7684\u6807\u7b7e<span translate=no>_^_8_^_</span>\u7136\u540e\u6309\u8fd9\u4e9b\u603b\u548c\u964d\u5e8f\u4e0e\u4e0a\u9762\u7684\u68af\u5ea6\u4e0a\u5347\u76f8\u540c\u3002</p>\n<p><span translate=no>_^_9_^_</span>\u7ed3\u5408\u4e86 softmax \u548c\u4e8c\u8fdb\u5236\u4ea4\u53c9\u71b5\u635f\u5931\u3002</p>\n",
|
||||
"<p>We use label smoothing because it seems to work better in some cases </p>\n": "<p>\u6211\u4eec\u4f7f\u7528\u6807\u7b7e\u5e73\u6ed1\uff0c\u56e0\u4e3a\u5b83\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\u6548\u679c\u66f4\u597d</p>\n",
|
||||
"<p>We use labels equal to <span translate=no>_^_0_^_</span> for <span translate=no>_^_1_^_</span> from <span translate=no>_^_2_^_</span> Then descending on this loss is the same as descending on the above gradient. </p>\n": "<p>\u6211\u4eec\u4f7f\u7528\u7b49\u4e8e f<span translate=no>_^_0_^_</span> or fro<span translate=no>_^_1_^_</span> m \u7684\u6807\u7b7e\uff0c<span translate=no>_^_2_^_</span>\u7136\u540e\u5728\u6b64\u635f\u5931\u4e0a\u964d\u5e8f\u4e0e\u4e0a\u9762\u68af\u5ea6\u4e0a\u7684\u964d\u5e8f\u76f8\u540c\u3002</p>\n",
|
||||
"A simple PyTorch implementation/tutorial of Generative Adversarial Networks (GAN) loss functions.": "\u751f\u6210\u5bf9\u6297\u7f51\u7edc\uff08GAN\uff09\u635f\u5931\u51fd\u6570\u7684\u7b80\u5355PyTorch\u5b9e\u73b0/\u6559\u7a0b\u3002",
|
||||
"Generative Adversarial Networks (GAN)": "\u751f\u6210\u5bf9\u6297\u7f51\u7edc (GAN)"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"<h1>Generative Adversarial Networks experiment with MNIST</h1>\n": "<h1>MNIST\u306b\u3088\u308b\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u5b9f\u9a13</h1>\n",
|
||||
"<h2>Configurations</h2>\n<p>This extends MNIST configurations to get the data loaders and Training and validation loop configurations to simplify our implementation.</p>\n": "<h2>\u30b3\u30f3\u30d5\u30a3\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3</h2>\n<p>\u3053\u308c\u306b\u3088\u308a\u3001MNIST \u306e\u69cb\u6210\u304c\u62e1\u5f35\u3055\u308c\u3001\u30c7\u30fc\u30bf\u30ed\u30fc\u30c0\u30fc\u3084\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u304a\u3088\u3073\u691c\u8a3c\u30eb\u30fc\u30d7\u306e\u69cb\u6210\u304c\u53ef\u80fd\u306b\u306a\u308a\u3001\u5b9f\u88c5\u304c\u7c21\u5358\u306b\u306a\u308a\u307e\u3059\u3002</p>\n",
|
||||
"<h3>Simple MLP Discriminator</h3>\n<p>This has three linear layers of decreasing size with <span translate=no>_^_0_^_</span> activations. The final layer has a single output that gives the logit of whether input is real or fake. You can get the probability by calculating the sigmoid of it.</p>\n": "<h3>\u30b7\u30f3\u30d7\u30eb\u306a MLP \u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc</h3>\n<p>\u3053\u308c\u306b\u306f\u3001<span translate=no>_^_0_^_</span>\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3\u3092\u884c\u3046\u3068\u30b5\u30a4\u30ba\u304c\u5c0f\u3055\u304f\u306a\u308b3\u3064\u306e\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc\u304c\u3042\u308a\u307e\u3059\u3002\u6700\u5f8c\u306e\u30ec\u30a4\u30e4\u30fc\u306b\u306f\u3001\u5165\u529b\u304c\u672c\u7269\u304b\u507d\u7269\u304b\u3092\u30ed\u30b8\u30c3\u30c8\u3067\u793a\u3059\u51fa\u529b\u304c 1 \u3064\u3042\u308a\u307e\u3059\u3002\u78ba\u7387\u306f\u3001\u305d\u306e\u30b7\u30b0\u30e2\u30a4\u30c9\u3092\u8a08\u7b97\u3059\u308b\u3053\u3068\u3067\u6c42\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059</p>\u3002\n",
|
||||
"<h3>Simple MLP Generator</h3>\n<p>This has three linear layers of increasing size with <span translate=no>_^_0_^_</span> activations. The final layer has a <span translate=no>_^_1_^_</span> activation.</p>\n": "<h3>\u30b7\u30f3\u30d7\u30eb\u306a MLP \u30b8\u30a7\u30cd\u30ec\u30fc\u30bf</h3>\n<p>\u3053\u308c\u306b\u306f\u3001<span translate=no>_^_0_^_</span>\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3\u3092\u884c\u3046\u3068\u30b5\u30a4\u30ba\u304c\u5927\u304d\u304f\u306a\u308b3\u3064\u306e\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc\u304c\u3042\u308a\u307e\u3059\u3002<span translate=no>_^_1_^_</span>\u6700\u5f8c\u306e\u30ec\u30a4\u30e4\u30fc\u306b\u306f\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059\u3002</p>\n",
|
||||
"<p> <span translate=no>_^_0_^_</span></p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p> Calculate discriminator loss</p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u640d\u5931\u306e\u8a08\u7b97</p>\n",
|
||||
"<p> Calculate generator loss</p>\n": "<p>\u767a\u96fb\u6a5f\u640d\u5931\u306e\u8a08\u7b97</p>\n",
|
||||
"<p> Initializations</p>\n": "<p>\u521d\u671f\u5316</p>\n",
|
||||
"<p> Take a training step</p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u4e00\u6b69\u3092\u8e0f\u307f\u51fa\u3059</p>\n",
|
||||
"<p>Get MNIST images </p>\n": "<p>MNIST \u306e\u753b\u50cf\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get discriminator loss </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u640d\u5931\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Increment step in training mode </p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30e2\u30fc\u30c9\u3067\u306e\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8\u30b9\u30c6\u30c3\u30d7</p>\n",
|
||||
"<p>Log stuff </p>\n": "<p>\u30ed\u30b0\u306e\u3082\u306e</p>\n",
|
||||
"<p>Set model states </p>\n": "<p>\u30e2\u30c7\u30eb\u72b6\u614b\u306e\u8a2d\u5b9a</p>\n",
|
||||
"<p>Setting exponent decay rate for first moment of gradient, <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> is important. Default of <span translate=no>_^_2_^_</span> fails. </p>\n": "<p>\u52fe\u914d\u306e\u6700\u521d\u306e\u77ac\u9593\u306b\u6307\u6570\u6e1b\u8870\u7387\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u306f\u91cd\u8981\u3067\u3059\u3002<span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span><span translate=no>_^_2_^_</span>\u30c7\u30d5\u30a9\u30eb\u30c8\u306f\u5931\u6557\u3067\u3059\u3002</p>\n",
|
||||
"<p>Train </p>\n": "<p>\u5217\u8eca</p>\n",
|
||||
"<p>Train the discriminator </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0</p>\n",
|
||||
"<p>Train the generator once in every <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092\u6bce\u56de 1 \u56de\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3057\u307e\u3059 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"Generative Adversarial Networks experiment with MNIST": "MNIST\u306b\u3088\u308b\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u5b9f\u9a13",
|
||||
"This experiment generates MNIST images using multi-layer perceptron.": "\u3053\u306e\u5b9f\u9a13\u3067\u306f\u3001\u591a\u5c64\u30d1\u30fc\u30bb\u30d7\u30c8\u30ed\u30f3\u3092\u4f7f\u7528\u3057\u3066MNIST\u753b\u50cf\u3092\u751f\u6210\u3057\u307e\u3059\u3002"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"<h1>Generative Adversarial Networks experiment with MNIST</h1>\n": "<h1>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd MNIST \u0dc3\u0db8\u0d9f \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8</h1>\n",
|
||||
"<h2>Configurations</h2>\n<p>This extends MNIST configurations to get the data loaders and Training and validation loop configurations to simplify our implementation.</p>\n": "<h2>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca</h2>\n<p>\u0d85\u0db4\u0d9c\u0dda\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dbb\u0dbd \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0daf\u0dad\u0dca\u0dad \u0db4\u0dd0\u0da7\u0dc0\u0dd4\u0db8\u0dca \u0dc3\u0dc4 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0dc3\u0dc4 \u0dc0\u0dbd\u0d82\u0d9c\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dbd\u0dd6\u0db4 \u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca \u0dbd\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0db8\u0dd9\u0dba MNIST \u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca \u0db4\u0dd4\u0dc5\u0dd4\u0dbd\u0dca \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<h3>Simple MLP Discriminator</h3>\n<p>This has three linear layers of decreasing size with <span translate=no>_^_0_^_</span> activations. The final layer has a single output that gives the logit of whether input is real or fake. You can get the probability by calculating the sigmoid of it.</p>\n": "<h3>\u0dc3\u0dbb\u0dbd\u0d91\u0db8\u0dca\u0d91\u0dbd\u0dca\u0db4\u0dd3 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf</h3>\n<p>\u0db8\u0dd9\u0dba <span translate=no>_^_0_^_</span> \u0dc3\u0d9a\u0dca\u0dbb\u0dd2\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca \u0dc3\u0db8\u0d9f \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba \u0d85\u0da9\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb \u0dad\u0dd4\u0db1\u0d9a\u0dca \u0d87\u0dad. \u0d85\u0dc0\u0dc3\u0dcf\u0db1 \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0da7 \u0dad\u0db1\u0dd2 \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba\u0d9a\u0dca \u0d87\u0dad\u0dd2 \u0d85\u0dad\u0dbb \u0d91\u0db8\u0d9f\u0dd2\u0db1\u0dca \u0d86\u0daf\u0dcf\u0db1\u0dba \u0dc3\u0dd0\u0db6\u0dd1 \u0dc4\u0ddd \u0dc0\u0dca\u0dba\u0dcf\u0da2 \u0daf \u0dba\u0db1\u0dca\u0db1 \u0db4\u0dd2\u0dc5\u0dd2\u0db6\u0db3 \u0db4\u0dd2\u0dc0\u0dd2\u0dc3\u0dd4\u0db8 \u0dbd\u0db6\u0dcf \u0daf\u0dda. \u0d91\u0dba \u0dc3\u0dd2\u0d9c\u0dca\u0db8\u0ddd\u0dba\u0dd2\u0da9\u0dca \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0d94\u0db6\u0da7 \u0dc3\u0db8\u0dca\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf\u0dc0 \u0dbd\u0db6\u0dcf \u0d9c\u0dad \u0dc4\u0dd0\u0d9a\u0dd2\u0dba. </p>\n",
|
||||
"<h3>Simple MLP Generator</h3>\n<p>This has three linear layers of increasing size with <span translate=no>_^_0_^_</span> activations. The final layer has a <span translate=no>_^_1_^_</span> activation.</p>\n": "<h3>\u0dc3\u0dbb\u0dbd\u0d91\u0db8\u0dca\u0d91\u0dbd\u0dca\u0db4\u0dd3 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba</h3>\n<p>\u0db8\u0dd9\u0dba <span translate=no>_^_0_^_</span> \u0dc3\u0d9a\u0dca\u0dbb\u0dd2\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca \u0dc3\u0db8\u0d9f \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba \u0dc0\u0dd0\u0da9\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb \u0dad\u0dd4\u0db1\u0d9a\u0dca \u0d87\u0dad. \u0d85\u0dc0\u0dc3\u0dcf\u0db1 \u0dc3\u0dca\u0dae\u0dbb\u0dba <span translate=no>_^_1_^_</span> \u0dc3\u0d9a\u0dca\u0dbb\u0dd2\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0d9a\u0dca \u0d87\u0dad. </p>\n",
|
||||
"<p> <span translate=no>_^_0_^_</span></p>\n": "<p> <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p> Calculate discriminator loss</p>\n": "<p> \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda \u0db4\u0dcf\u0da9\u0dd4\u0dc0 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1</p>\n",
|
||||
"<p> Calculate generator loss</p>\n": "<p> \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d85\u0dbd\u0dcf\u0db7\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1</p>\n",
|
||||
"<p> Initializations</p>\n": "<p> \u0d86\u0dbb\u0db8\u0dca\u0db7\u0d9a\u0d9a\u0dbb\u0dab\u0dba</p>\n",
|
||||
"<p> Take a training step</p>\n": "<p> \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0d9a\u0dca \u0d9c\u0db1\u0dca\u0db1</p>\n",
|
||||
"<p>Get MNIST images </p>\n": "<p>MNIST\u0dbb\u0dd6\u0db4 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get discriminator loss </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda \u0db4\u0dcf\u0da9\u0dd4\u0dc0 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Increment step in training mode </p>\n": "<p>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0db8\u0dcf\u0daf\u0dd2\u0dbd\u0dd2\u0dba\u0dda \u0dc0\u0dbb\u0dca\u0db0\u0d9a \u0db4\u0dd2\u0dba\u0dc0\u0dbb </p>\n",
|
||||
"<p>Log stuff </p>\n": "<p>\u0dbd\u0ddc\u0d9c\u0dca\u0daf\u0dda\u0dc0\u0dbd\u0dca </p>\n",
|
||||
"<p>Set model states </p>\n": "<p>\u0d86\u0daf\u0dbb\u0dca\u0dc1\u0dad\u0dad\u0dca\u0dc0\u0dba\u0db1\u0dca \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Setting exponent decay rate for first moment of gradient, <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> is important. Default of <span translate=no>_^_2_^_</span> fails. </p>\n": "<p>\u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda\u0db4\u0dc5\u0db8\u0dd4 \u0db8\u0ddc\u0dc4\u0ddc\u0dad \u0dc3\u0db3\u0dc4\u0dcf on \u0dcf\u0dad\u0dd3\u0dba \u0d9a\u0dca\u0dc2\u0dba \u0dc0\u0dd3\u0db8\u0dda \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba \u0dc3\u0dd0\u0d9a\u0dc3\u0dd3\u0db8 \u0dc0\u0dd0\u0daf\u0d9c\u0dad\u0dca <span translate=no>_^_1_^_</span> \u0dc0\u0dda. <span translate=no>_^_0_^_</span> <span translate=no>_^_2_^_</span> \u0d85\u0dc3\u0db8\u0dad\u0dca \u0dc0\u0dd3\u0db8\u0dda \u0db4\u0dd9\u0dbb\u0db1\u0dd2\u0db8\u0dd2. </p>\n",
|
||||
"<p>Train </p>\n": "<p>\u0daf\u0dd4\u0db8\u0dca\u0dbb\u0dd2\u0dba </p>\n",
|
||||
"<p>Train the discriminator </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Train the generator once in every <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc3\u0dd1\u0db8\u0dc0\u0dd2\u0da7\u0db8 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"Generative Adversarial Networks experiment with MNIST": "\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd MNIST \u0dc3\u0db8\u0d9f \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8",
|
||||
"This experiment generates MNIST images using multi-layer perceptron.": "\u0db8\u0dd9\u0db8 \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0db6\u0dc4\u0dd4 \u0dc3\u0dca\u0dae\u0dbb perceptron \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf MNIST \u0dbb\u0dd6\u0db4 \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2."
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"<h1>Generative Adversarial Networks experiment with MNIST</h1>\n": "<h1>\u4f7f\u7528 MNIST \u8fdb\u884c\u751f\u6210\u5bf9\u6297\u7f51\u7edc\u5b9e\u9a8c</h1>\n",
|
||||
"<h2>Configurations</h2>\n<p>This extends MNIST configurations to get the data loaders and Training and validation loop configurations to simplify our implementation.</p>\n": "<h2>\u914d\u7f6e</h2>\n<p>\u8fd9\u6269\u5c55\u4e86 MNIST \u914d\u7f6e\u4ee5\u83b7\u53d6\u6570\u636e\u52a0\u8f7d\u5668\u4ee5\u53ca\u8bad\u7ec3\u548c\u9a8c\u8bc1\u5faa\u73af\u914d\u7f6e\uff0c\u4ece\u800c\u7b80\u5316\u4e86\u6211\u4eec\u7684\u5b9e\u73b0\u3002</p>\n",
|
||||
"<h3>Simple MLP Discriminator</h3>\n<p>This has three linear layers of decreasing size with <span translate=no>_^_0_^_</span> activations. The final layer has a single output that gives the logit of whether input is real or fake. You can get the probability by calculating the sigmoid of it.</p>\n": "<h3>\u7b80\u5355\u7684 MLP \u9274\u522b\u5668</h3>\n<p>\u5b83\u6709\u4e09\u4e2a\u7ebf\u6027\u5c42\uff0c\u968f\u7740<span translate=no>_^_0_^_</span>\u6fc0\u6d3b\u7684\u5927\u5c0f\u9010\u6e10\u51cf\u5c0f\u3002\u6700\u540e\u4e00\u5c42\u6709\u4e00\u4e2a\u5355\u72ec\u7684\u8f93\u51fa\uff0c\u5b83\u7ed9\u51fa\u4e86\u8f93\u5165\u662f\u771f\u5b9e\u8fd8\u662f\u5047\u7684 logit\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7\u8ba1\u7b97\u5b83\u7684\u4e59\u72b6\u7ed3\u80a0\u6765\u83b7\u5f97\u6982\u7387\u3002</p>\n",
|
||||
"<h3>Simple MLP Generator</h3>\n<p>This has three linear layers of increasing size with <span translate=no>_^_0_^_</span> activations. The final layer has a <span translate=no>_^_1_^_</span> activation.</p>\n": "<h3>\u7b80\u5355\u7684 MLP \u751f\u6210\u5668</h3>\n<p>\u5b83\u6709\u4e09\u4e2a\u7ebf\u6027\u5c42\uff0c\u968f\u7740<span translate=no>_^_0_^_</span>\u6fc0\u6d3b\u7684\u5927\u5c0f\u4e0d\u65ad\u589e\u52a0\u3002\u6700\u540e\u4e00\u5c42\u5df2\u6fc0<span translate=no>_^_1_^_</span>\u6d3b\u3002</p>\n",
|
||||
"<p> <span translate=no>_^_0_^_</span></p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p> Calculate discriminator loss</p>\n": "<p>\u8ba1\u7b97\u9274\u522b\u5668\u635f\u5931</p>\n",
|
||||
"<p> Calculate generator loss</p>\n": "<p>\u8ba1\u7b97\u53d1\u7535\u673a\u635f\u8017</p>\n",
|
||||
"<p> Initializations</p>\n": "<p>\u521d\u59cb\u5316</p>\n",
|
||||
"<p> Take a training step</p>\n": "<p>\u8fc8\u51fa\u8bad\u7ec3\u4e00\u6b65</p>\n",
|
||||
"<p>Get MNIST images </p>\n": "<p>\u83b7\u53d6 MNIST \u56fe\u7247</p>\n",
|
||||
"<p>Get discriminator loss </p>\n": "<p>\u83b7\u5f97\u9274\u522b\u5668\u635f\u5931</p>\n",
|
||||
"<p>Increment step in training mode </p>\n": "<p>\u5728\u8bad\u7ec3\u6a21\u5f0f\u4e2d\u589e\u52a0\u6b65\u6570</p>\n",
|
||||
"<p>Log stuff </p>\n": "<p>\u65e5\u5fd7\u7684\u4e1c\u897f</p>\n",
|
||||
"<p>Set model states </p>\n": "<p>\u8bbe\u7f6e\u6a21\u578b\u72b6\u6001</p>\n",
|
||||
"<p>Setting exponent decay rate for first moment of gradient, <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> is important. Default of <span translate=no>_^_2_^_</span> fails. </p>\n": "<p>\u8bbe\u7f6e\u68af\u5ea6\u7b2c\u4e00\u65f6\u523b\u7684\u6307\u6570\u8870\u51cf\u7387<span translate=no>_^_1_^_</span>\u975e\u5e38\u91cd\u8981\u3002<span translate=no>_^_0_^_</span>\u9ed8\u8ba4\u4e3a<span translate=no>_^_2_^_</span>\u5931\u8d25\u3002</p>\n",
|
||||
"<p>Train </p>\n": "<p>\u706b\u8f66</p>\n",
|
||||
"<p>Train the discriminator </p>\n": "<p>\u8bad\u7ec3\u9274\u522b\u5668</p>\n",
|
||||
"<p>Train the generator once in every <span translate=no>_^_0_^_</span> </p>\n": "<p>\u6bcf\u9694\u4e00\u6b21\u8bad\u7ec3\u53d1\u7535\u673a<span translate=no>_^_0_^_</span></p>\n",
|
||||
"Generative Adversarial Networks experiment with MNIST": "\u4f7f\u7528 MNIST \u8fdb\u884c\u751f\u6210\u5bf9\u6297\u7f51\u7edc\u5b9e\u9a8c",
|
||||
"This experiment generates MNIST images using multi-layer perceptron.": "\u8be5\u5b9e\u9a8c\u4f7f\u7528\u591a\u5c42\u611f\u77e5\u5668\u751f\u6210 MNIST \u56fe\u50cf\u3002"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/original/index.html\">Generative Adversarial Networks - GAN</a></h1>\n<p>This is an annotated implementation of <a href=\"https://arxiv.org/abs/1406.2661\">Generative Adversarial Networks</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/original/index.html\">\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30fc\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af-GAN</a></h1>\n<p>\u3053\u308c\u306f\u3001<a href=\"https://arxiv.org/abs/1406.2661\">\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30fc\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u6ce8\u91c8\u4ed8\u304d\u5b9f\u88c5\u3067\u3059</a>\u3002</p>\n",
|
||||
"Generative Adversarial Networks - GAN": "\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30fc\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af-GAN"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/original/index.html\">Generative Adversarial Networks - GAN</a></h1>\n<p>This is an annotated implementation of <a href=\"https://arxiv.org/abs/1406.2661\">Generative Adversarial Networks</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/original/index.html\">\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd - GAN</a></h1>\n<p>\u0db8\u0dd9\u0dba <a href=\"https://arxiv.org/abs/1406.2661\">Generative Aversarial Network</a>\u0dc4\u0dd2 \u0dc0\u0dd2\u0dc0\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0dc0\u0dd3\u0db8\u0d9a\u0dd2. </p>\n",
|
||||
"Generative Adversarial Networks - GAN": "\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd - GAN"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/original/index.html\">Generative Adversarial Networks - GAN</a></h1>\n<p>This is an annotated implementation of <a href=\"https://arxiv.org/abs/1406.2661\">Generative Adversarial Networks</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/original/index.html\">\u751f\u6210\u5f0f\u5bf9\u6297\u7f51\u7edc-GAN</a></h1>\n<p>\u8fd9\u662f<a href=\"https://arxiv.org/abs/1406.2661\">\u751f\u6210\u5bf9\u6297\u7f51\u7edc</a>\u7684\u5e26\u6ce8\u91ca\u7684\u5b9e\u73b0\u3002</p>\n",
|
||||
"Generative Adversarial Networks - GAN": "\u751f\u6210\u5f0f\u5bf9\u6297\u7f51\u7edc-GAN"
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"<h1>StyleGAN 2</h1>\n": "<h1>\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2</h1>\n",
|
||||
"<h2>Generative Adversarial Networks</h2>\n": "<h2>\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af</h2>\n",
|
||||
"<h2>Progressive GAN</h2>\n": "<h2>\u30d7\u30ed\u30c3\u30b7\u30d6 GAN</h2>\n",
|
||||
"<h2>StyleGAN 2</h2>\n": "<h2>\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2</h2>\n",
|
||||
"<h2>StyleGAN</h2>\n": "<h2>\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3</h2>\n",
|
||||
"<h3>Convolution with Weight Modulation and Demodulation</h3>\n<p>This layer scales the convolution weights by the style vector and demodulates by normalizing it.</p>\n": "<h3>\u91cd\u307f\u5909\u8abf\u3068\u5fa9\u8abf\u306b\u3088\u308b\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3</h3>\n<p>\u3053\u306e\u5c64\u306f\u3001\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u91cd\u307f\u3092\u30b9\u30bf\u30a4\u30eb\u30d9\u30af\u30c8\u30eb\u3067\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3057\u3001\u6b63\u898f\u5316\u3057\u3066\u5fa9\u8abf\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<h4>AdaIN</h4>\n": "<h4>\u30a2\u30c0\u30f3</h4>\n",
|
||||
"<h4>Bilinear Up and Down Sampling</h4>\n": "<h4>\u30d0\u30a4\u30ea\u30cb\u30a2\u30a2\u30c3\u30d7/\u30c0\u30a6\u30f3\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0</h4>\n",
|
||||
"<h4>Mapping Network</h4>\n": "<h4>\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af</h4>\n",
|
||||
"<h4>No Progressive Growing</h4>\n": "<h4>\u30d7\u30ed\u30b0\u30ec\u30c3\u30b7\u30d6\u6210\u9577\u306a\u3057</h4>\n",
|
||||
"<h4>Path Length Regularization</h4>\n": "<h4>\u7d4c\u8def\u9577\u306e\u6b63\u5247\u5316</h4>\n",
|
||||
"<h4>Stochastic Variation</h4>\n": "<h4>\u78ba\u7387\u7684\u5909\u52d5</h4>\n",
|
||||
"<h4>Style Mixing</h4>\n": "<h4>\u30b9\u30bf\u30a4\u30eb\u30df\u30ad\u30b7\u30f3\u30b0</h4>\n",
|
||||
"<h4>Weight Modulation and Demodulation</h4>\n": "<h4>\u91cd\u307f\u5909\u8abf\u3068\u5fa9\u8abf</h4>\n",
|
||||
"<p> <a id=\"discriminator\"></a></p>\n<h2>StyleGAN 2 Discriminator</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>Discriminator first transforms the image to a feature map of the same resolution and then runs it through a series of blocks with residual connections. The resolution is down-sampled by <span translate=no>_^_1_^_</span> at each block while doubling the number of features.</p>\n": "<p><a id=\"discriminator\"></a></p>\n<h2>\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2 \u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306f\u3001\u307e\u305a\u753b\u50cf\u3092\u540c\u3058\u89e3\u50cf\u5ea6\u306e\u7279\u5fb4\u30de\u30c3\u30d7\u306b\u5909\u63db\u3057\u3066\u304b\u3089\u3001\u6b8b\u7559\u63a5\u7d9a\u306e\u3042\u308b\u4e00\u9023\u306e\u30d6\u30ed\u30c3\u30af\u3092\u51e6\u7406\u3057\u307e\u3059\u3002\u89e3\u50cf\u5ea6\u306f\u30d6\u30ed\u30c3\u30af\u3054\u3068\u306b\u30c0\u30a6\u30f3\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3055\u308c\u3001<span translate=no>_^_1_^_</span>\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u306f 2 \u500d\u306b\u306a\u308a\u307e\u3059\u3002</p>\n",
|
||||
"<p> <a id=\"discriminator_black\"></a></p>\n<h3>Discriminator Block</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p>Discriminator block consists of two <span translate=no>_^_1_^_</span> convolutions with a residual connection.</p>\n": "<p><a id=\"discriminator_black\"></a></p>\n<h3>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30d6\u30ed\u30c3\u30af</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30d6\u30ed\u30c3\u30af\u306f\u3001\u6b8b\u5dee\u7d50\u5408\u3092\u3082\u3064 2 <span translate=no>_^_1_^_</span> \u3064\u306e\u7573\u307f\u8fbc\u307f\u3067\u69cb\u6210\u3055\u308c\u307e\u3059\u3002</p>\n",
|
||||
"<p> <a id=\"down_sample\"></a></p>\n<h3>Down-sample</h3>\n<p>The down-sample operation <a href=\"#smooth\">smoothens</a> each feature channel and scale <span translate=no>_^_0_^_</span> using bilinear interpolation. This is based on the paper <a href=\"https://arxiv.org/abs/1904.11486\">Making Convolutional Networks Shift-Invariant Again</a>.</p>\n": "<p><a id=\"down_sample\"></a></p>\n<h3>\u30c0\u30a6\u30f3\u30b5\u30f3\u30d7\u30eb</h3>\n<p>\u30c0\u30a6\u30f3\u30b5\u30f3\u30d7\u30eb\u64cd\u4f5c\u3067\u306f\u3001<a href=\"#smooth\"><span translate=no>_^_0_^_</span>\u30d0\u30a4\u30ea\u30cb\u30a2\u88dc\u9593\u3092\u4f7f\u7528\u3057\u3066\u5404\u30d5\u30a3\u30fc\u30c1\u30e3\u30c1\u30e3\u30cd\u30eb\u3068\u30b9\u30b1\u30fc\u30eb\u304c\u6ed1\u3089\u304b\u306b\u306a\u308a\u307e\u3059</a>\u3002\u3053\u308c\u306f\u3001\u300c<a href=\"https://arxiv.org/abs/1904.11486\">\u7573\u307f\u8fbc\u307f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u518d\u3073\u30b7\u30d5\u30c8\u4e0d\u5909\u306b\u3059\u308b</a>\u300d\u3068\u3044\u3046\u8ad6\u6587\u306b\u57fa\u3065\u3044\u3066\u3044\u307e\u3059</p>\u3002\n",
|
||||
"<p> <a id=\"equalized_conv2d\"></a></p>\n<h2>Learning-rate Equalized 2D Convolution Layer</h2>\n<p>This uses <a href=\"#equalized_weights\">learning-rate equalized weights</a> for a convolution layer.</p>\n": "<p><a id=\"equalized_conv2d\"></a></p>\n<h2>\u5b66\u7fd2\u7387\u5747\u7b49\u53162D\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ec\u30a4\u30e4\u30fc</h2>\n<p>\u3053\u308c\u306f\u3001<a href=\"#equalized_weights\">\u7573\u307f\u8fbc\u307f\u5c64\u306b\u5b66\u7fd2\u7387\u304c\u5747\u7b49\u5316\u3055\u308c\u305f\u91cd\u307f\u3092\u4f7f\u7528\u3057\u307e\u3059</a>\u3002</p>\n",
|
||||
"<p> <a id=\"equalized_linear\"></a></p>\n<h2>Learning-rate Equalized Linear Layer</h2>\n<p>This uses <a href=\"#equalized_weights\">learning-rate equalized weights</a> for a linear layer.</p>\n": "<p><a id=\"equalized_linear\"></a></p>\n<h2>\u5b66\u7fd2\u7387\u5747\u7b49\u5316\u7dda\u5f62\u5c64</h2>\n<p>\u3053\u308c\u306f\u3001<a href=\"#equalized_weights\">\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc\u306e\u5b66\u7fd2\u7387\u304c\u5747\u7b49\u5316\u3055\u308c\u305f\u91cd\u307f\u3092\u4f7f\u7528\u3057\u307e\u3059</a>\u3002</p>\n",
|
||||
"<p> <a id=\"equalized_weight\"></a></p>\n<h2>Learning-rate Equalized Weights Parameter</h2>\n<p>This is based on equalized learning rate introduced in the Progressive GAN paper. Instead of initializing weights at <span translate=no>_^_0_^_</span> they initialize weights to <span translate=no>_^_1_^_</span> and then multiply them by <span translate=no>_^_2_^_</span> when using it. <span translate=no>_^_3_^_</span></p>\n<p>The gradients on stored parameters <span translate=no>_^_4_^_</span> get multiplied by <span translate=no>_^_5_^_</span> but this doesn't have an affect since optimizers such as Adam normalize them by a running mean of the squared gradients.</p>\n<p>The optimizer updates on <span translate=no>_^_6_^_</span> are proportionate to the learning rate <span translate=no>_^_7_^_</span>. But the effective weights <span translate=no>_^_8_^_</span> get updated proportionately to <span translate=no>_^_9_^_</span>. Without equalized learning rate, the effective weights will get updated proportionately to just <span translate=no>_^_10_^_</span>.</p>\n<p>So we are effectively scaling the learning rate by <span translate=no>_^_11_^_</span> for these weight parameters.</p>\n": "<p><a id=\"equalized_weight\"></a></p>\n<h2>\u5b66\u7fd2\u7387\u5747\u7b49\u5316\u91cd\u307f\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc</h2>\n<p>\u3053\u308c\u306f\u3001\u30d7\u30ed\u30b0\u30ec\u30c3\u30b7\u30d6GAN\u306e\u8ad6\u6587\u3067\u7d39\u4ecb\u3055\u308c\u305f\u5b66\u7fd2\u7387\u306e\u5747\u7b49\u5316\u306b\u57fa\u3065\u3044\u3066\u3044\u307e\u3059\u3002\u30a6\u30a7\u30a4\u30c8\u3092\u3067\u521d\u671f\u5316\u3059\u308b\u4ee3\u308f\u308a\u306b\u3001\u30a6\u30a7\u30a4\u30c8\u3092\u306b\u521d\u671f\u5316\u3057\u3001<span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u4f7f\u7528\u6642\u306b\u305d\u306e\u30a6\u30a7\u30a4\u30c8\u3092\u4e57\u7b97\u3057\u307e\u3059\u3002<span translate=no>_^_2_^_</span><span translate=no>_^_3_^_</span></p>\n<p><span translate=no>_^_4_^_</span><span translate=no>_^_5_^_</span>\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u52fe\u914d\u306f\u4e57\u7b97\u3055\u308c\u307e\u3059\u304c\u3001Adam \u306a\u3069\u306e\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc\u306f\u52fe\u914d\u306e 2 \u4e57\u5e73\u5747\u3067\u6b63\u898f\u5316\u3059\u308b\u305f\u3081\u3001\u5f71\u97ff\u306f\u3042\u308a\u307e\u305b\u3093\u3002</p>\n<p><span translate=no>_^_6_^_</span>\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc\u306e\u66f4\u65b0\u306f\u5b66\u7fd2\u7387\u306b\u6bd4\u4f8b\u3057\u307e\u3059\u3002<span translate=no>_^_7_^_</span>\u305f\u3060\u3057\u3001<span translate=no>_^_8_^_</span>\u6709\u52b9\u91cd\u307f\u306f\u305d\u308c\u306b\u6bd4\u4f8b\u3057\u3066\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002<span translate=no>_^_9_^_</span>\u5b66\u7fd2\u7387\u304c\u5747\u7b49\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u3068\u3001\u6709\u52b9\u91cd\u307f\u306f\u6b63\u306b\u6bd4\u4f8b\u3057\u3066\u66f4\u65b0\u3055\u308c\u307e\u3059</p>\u3002<span translate=no>_^_10_^_</span>\n<p>\u305d\u3053\u3067\u3001<span translate=no>_^_11_^_</span>\u3053\u308c\u3089\u306e\u91cd\u307f\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u3088\u3063\u3066\u5b66\u7fd2\u7387\u3092\u52b9\u679c\u7684\u306b\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3057\u3066\u3044\u307e\u3059\u3002</p>\n",
|
||||
"<p> <a id=\"generator\"></a></p>\n<h2>StyleGAN2 Generator</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer. <span translate=no>_^_2_^_</span> denotes a broadcast and scaling operation (noise is a single channel). <a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a> also has a style modulation which is not shown in the diagram to keep it simple.</em></small></p>\n<p>The generator starts with a learned constant. Then it has a series of blocks. The feature map resolution is doubled at each block Each block outputs an RGB image and they are scaled up and summed to get the final RGB image.</p>\n": "<p><a id=\"generator\"></a></p>\n<h2>\u30b9\u30bf\u30a4\u30eb GAN2 \u30b8\u30a7\u30cd\u30ec\u30fc\u30bf</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span>\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc\u3092\u793a\u3057\u307e\u3059\u3002<span translate=no>_^_2_^_</span>\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\u3068\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u64cd\u4f5c\u3092\u8868\u3057\u307e\u3059\uff08\u30ce\u30a4\u30ba\u306f\u5358\u4e00\u30c1\u30e3\u30cd\u30eb\uff09\u3002<a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a>\u307e\u305f\u3001\u56f3\u306b\u306f\u793a\u3055\u308c\u3066\u3044\u306a\u3044\u30b9\u30bf\u30a4\u30eb\u30e2\u30b8\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3082\u4ed8\u3044\u3066\u304a\u308a\u3001\u30b7\u30f3\u30d7\u30eb\u3055\u3092\u4fdd\u3063\u3066\u3044\u307e\u3059</em></small></p>\u3002\n<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u306f\u5b66\u7fd2\u3057\u305f\u5b9a\u6570\u304b\u3089\u59cb\u307e\u308a\u307e\u3059\u3002\u6b21\u306b\u3001\u4e00\u9023\u306e\u30d6\u30ed\u30c3\u30af\u304c\u3042\u308a\u307e\u3059\u3002\u7279\u5fb4\u30de\u30c3\u30d7\u306e\u89e3\u50cf\u5ea6\u306f\u5404\u30d6\u30ed\u30c3\u30af\u3067 2 \u500d\u306b\u306a\u308a\u307e\u3059\u3002\u5404\u30d6\u30ed\u30c3\u30af\u306f RGB \u753b\u50cf\u3092\u51fa\u529b\u3057\u3001\u305d\u308c\u3089\u3092\u62e1\u5927\u3057\u3066\u5408\u8a08\u3057\u3066\u6700\u7d42\u7684\u306a RGB \u753b\u50cf\u306b\u306a\u308a\u307e\u3059</p>\u3002\n",
|
||||
"<p> <a id=\"generator_block\"></a></p>\n<h3>Generator Block</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer. <span translate=no>_^_2_^_</span> denotes a broadcast and scaling operation (noise is a single channel). <a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a> also has a style modulation which is not shown in the diagram to keep it simple.</em></small></p>\n<p>The generator block consists of two <a href=\"#style_block\">style blocks</a> (<span translate=no>_^_4_^_</span> convolutions with style modulation) and an RGB output.</p>\n": "<p><a id=\"generator_block\"></a></p>\n<h3>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span>\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc\u3092\u793a\u3057\u307e\u3059\u3002<span translate=no>_^_2_^_</span>\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\u3068\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u64cd\u4f5c\u3092\u8868\u3057\u307e\u3059\uff08\u30ce\u30a4\u30ba\u306f\u5358\u4e00\u30c1\u30e3\u30cd\u30eb\uff09\u3002<a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a>\u307e\u305f\u3001\u56f3\u306b\u306f\u793a\u3055\u308c\u3066\u3044\u306a\u3044\u30b9\u30bf\u30a4\u30eb\u30e2\u30b8\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3082\u4ed8\u3044\u3066\u304a\u308a\u3001\u30b7\u30f3\u30d7\u30eb\u3055\u3092\u4fdd\u3063\u3066\u3044\u307e\u3059</em></small></p>\u3002\n<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u30d6\u30ed\u30c3\u30af\u306f\u30012 <a href=\"#style_block\">\u3064\u306e\u30b9\u30bf\u30a4\u30eb\u30d6\u30ed\u30c3\u30af (<span translate=no>_^_4_^_</span>\u30b9\u30bf\u30a4\u30eb\u5909\u8abf\u306b\u3088\u308b\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3</a>) \u3068 1 \u3064\u306e RGB \u51fa\u529b\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059\u3002</p>\n",
|
||||
"<p> <a id=\"gradient_penalty\"></a></p>\n<h2>Gradient Penalty</h2>\n<p>This is the <span translate=no>_^_0_^_</span> regularization penality from the paper <a href=\"https://arxiv.org/abs/1801.04406\">Which Training Methods for GANs do actually Converge?</a>.</p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>That is we try to reduce the L2 norm of gradients of the discriminator with respect to images, for real images (<span translate=no>_^_2_^_</span>).</p>\n": "<p><a id=\"gradient_penalty\"></a></p>\n<h2>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3</h2>\n<p>\u3053\u308c\u306f\u3001\u300c<a href=\"https://arxiv.org/abs/1801.04406\">GAN\u306e\u3069\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u65b9\u6cd5\u304c\u5b9f\u969b\u306b\u53ce\u675f\u3059\u308b\u306e\u304b\u300d<span translate=no>_^_0_^_</span> \u3068\u3044\u3046\u8ad6\u6587\u306e\u6b63\u5247\u5316\u306e\u30da\u30ca\u30eb\u30c6\u30a3\u3067\u3059</a>\u3002</p>\u3002\n<p><span translate=no>_^_1_^_</span></p>\n<p>\u3064\u307e\u308a\u3001\u5b9f\u969b\u306e\u753b\u50cf () \u306b\u3064\u3044\u3066\u3001\u753b\u50cf\u306b\u5bfe\u3059\u308b\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306e\u52fe\u914d\u306eL2\u30ce\u30eb\u30e0\u3092\u5c0f\u3055\u304f\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002<span translate=no>_^_2_^_</span></p>\n",
|
||||
"<p> <a id=\"mapping_network\"></a></p>\n<h2>Mapping Network</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>This is an MLP with 8 linear layers. The mapping network maps the latent vector <span translate=no>_^_1_^_</span> to an intermediate latent space <span translate=no>_^_2_^_</span>. <span translate=no>_^_3_^_</span> space will be disentangled from the image space where the factors of variation become more linear.</p>\n": "<p><a id=\"mapping_network\"></a></p>\n<h2>\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>\u3053\u308c\u306f8\u3064\u306e\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc\u3092\u5099\u3048\u305fMLP\u3067\u3059\u3002\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u3001<span translate=no>_^_1_^_</span>\u6f5c\u5728\u30d9\u30af\u30c8\u30eb\u3092\u4e2d\u9593\u6f5c\u5728\u7a7a\u9593\u306b\u30de\u30c3\u30d4\u30f3\u30b0\u3057\u307e\u3059\u3002<span translate=no>_^_2_^_</span><span translate=no>_^_3_^_</span>\u7a7a\u9593\u306f\u753b\u50cf\u7a7a\u9593\u304b\u3089\u5207\u308a\u96e2\u3055\u308c\u3001\u5909\u5316\u306e\u8981\u56e0\u304c\u3088\u308a\u76f4\u7dda\u7684\u306b\u306a\u308a\u307e\u3059</p>\u3002\n",
|
||||
"<p> <a id=\"mini_batch_std_dev\"></a></p>\n<h3>Mini-batch Standard Deviation</h3>\n<p>Mini-batch standard deviation calculates the standard deviation across a mini-batch (or a subgroups within the mini-batch) for each feature in the feature map. Then it takes the mean of all the standard deviations and appends it to the feature map as one extra feature.</p>\n": "<p><a id=\"mini_batch_std_dev\"></a></p>\n<h3>\u30df\u30cb\u30d0\u30c3\u30c1\u6a19\u6e96\u504f\u5dee</h3>\n<p>\u30df\u30cb\u30d0\u30c3\u30c1\u6a19\u6e96\u504f\u5dee\u306f\u3001\u7279\u5fb4\u30de\u30c3\u30d7\u5185\u306e\u5404\u30d5\u30a3\u30fc\u30c1\u30e3\u306b\u3064\u3044\u3066\u3001\u30df\u30cb\u30d0\u30c3\u30c1 (\u307e\u305f\u306f\u30df\u30cb\u30d0\u30c3\u30c1\u5185\u306e\u30b5\u30d6\u30b0\u30eb\u30fc\u30d7) \u5168\u4f53\u306e\u6a19\u6e96\u504f\u5dee\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u6b21\u306b\u3001\u3059\u3079\u3066\u306e\u6a19\u6e96\u504f\u5dee\u306e\u5e73\u5747\u3092\u53d6\u5f97\u3057\u3001\u305d\u308c\u3092 1 \u3064\u306e\u7279\u5fb4\u3068\u3057\u3066\u7279\u5fb4\u30de\u30c3\u30d7\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<p> <a id=\"path_length_penalty\"></a></p>\n<h2>Path Length Penalty</h2>\n<p>This regularization encourages a fixed-size step in <span translate=no>_^_0_^_</span> to result in a fixed-magnitude change in the image.</p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>where <span translate=no>_^_2_^_</span> is the Jacobian <span translate=no>_^_3_^_</span>, <span translate=no>_^_4_^_</span> are sampled from <span translate=no>_^_5_^_</span> from the mapping network, and <span translate=no>_^_6_^_</span> are images with noise <span translate=no>_^_7_^_</span>.</p>\n<p><span translate=no>_^_8_^_</span> is the exponential moving average of <span translate=no>_^_9_^_</span> as the training progresses.</p>\n<p><span translate=no>_^_10_^_</span> is calculated without explicitly calculating the Jacobian using <span translate=no>_^_11_^_</span></p>\n": "<p><a id=\"path_length_penalty\"></a></p>\n<h2>\u7d4c\u8def\u9577\u30da\u30ca\u30eb\u30c6\u30a3</h2>\n<p>\u3053\u306e\u6b63\u5247\u5316\u306b\u3088\u308a\u3001<span translate=no>_^_0_^_</span>\u56fa\u5b9a\u30b5\u30a4\u30ba\u306e\u30b9\u30c6\u30c3\u30d7\u30a4\u30f3\u304c\u4fc3\u9032\u3055\u308c\u3001\u753b\u50cf\u306e\u5927\u304d\u3055\u304c\u56fa\u5b9a\u3055\u308c\u305f\u5909\u5316\u304c\u751f\u3058\u307e\u3059\u3002</p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>\u3053\u3053\u3067\u3001<span translate=no>_^_2_^_</span><span translate=no>_^_5_^_</span>\u306f\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3055\u308c\u305f\u30e4\u30b3\u30d3\u30a2\u30f3\u3067\u3001<span translate=no>_^_3_^_</span><span translate=no>_^_6_^_</span>\u30ce\u30a4\u30ba\u306e\u5165\u3063\u305f\u753b\u50cf\u3067\u3059\u3002<span translate=no>_^_4_^_</span> <span translate=no>_^_7_^_</span></p>\n<p><span translate=no>_^_8_^_</span>\u306f\u3001<span translate=no>_^_9_^_</span>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u9032\u884c\u306b\u4f34\u3046\u6307\u6570\u79fb\u52d5\u5e73\u5747\u3067\u3059\u3002</p>\n<p><span translate=no>_^_10_^_</span>\u3092\u4f7f\u7528\u3057\u3066\u30e4\u30b3\u30d3\u30a2\u30f3\u3092\u660e\u793a\u7684\u306b\u8a08\u7b97\u305b\u305a\u306b\u8a08\u7b97\u3055\u308c\u307e\u3059 <span translate=no>_^_11_^_</span></p>\n",
|
||||
"<p> <a id=\"smooth\"></a></p>\n<h3>Smoothing Layer</h3>\n<p>This layer blurs each channel</p>\n": "<p><a id=\"smooth\"></a></p>\n<h3>\u30b9\u30e0\u30fc\u30b8\u30f3\u30b0\u30ec\u30a4\u30e4\u30fc</h3>\n<p>\u3053\u306e\u30ec\u30a4\u30e4\u30fc\u306f\u5404\u30c1\u30e3\u30f3\u30cd\u30eb\u3092\u307c\u304b\u3057\u307e\u3059</p>\n",
|
||||
"<p> <a id=\"style_block\"></a></p>\n<h3>Style Block</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer. <span translate=no>_^_2_^_</span> denotes a broadcast and scaling operation (noise is single channel).</em></small></p>\n<p>Style block has a weight modulation convolution layer.</p>\n": "<p><a id=\"style_block\"></a></p>\n<h3>\u30b9\u30bf\u30a4\u30eb\u30d6\u30ed\u30c3\u30af</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span>\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc\u3092\u793a\u3057\u307e\u3059\u3002<span translate=no>_^_2_^_</span>\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\u3068\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u64cd\u4f5c\u3092\u8868\u3057\u307e\u3059\uff08\u30ce\u30a4\u30ba\u306f\u30b7\u30f3\u30b0\u30eb\u30c1\u30e3\u30cd\u30eb</em></small></p>\uff09\u3002\n<p>\u30b9\u30bf\u30a4\u30eb\u30d6\u30ed\u30c3\u30af\u306b\u306f\u30a6\u30a7\u30a4\u30c8\u30e2\u30b8\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ec\u30a4\u30e4\u30fc\u304c\u3042\u308a\u307e\u3059\u3002</p>\n",
|
||||
"<p> <a id=\"to_rgb\"></a></p>\n<h3>To RGB</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer.</em></small></p>\n<p>Generates an RGB image from a feature map using <span translate=no>_^_2_^_</span> convolution.</p>\n": "<p><a id=\"to_rgb\"></a></p>\n<h3>RGB \u3078</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span>\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc\u3092\u793a\u3057\u307e\u3059\u3002</em></small></p>\n<p><span translate=no>_^_2_^_</span>\u7573\u307f\u8fbc\u307f\u3092\u4f7f\u7528\u3057\u3066\u3001\u7279\u5fb4\u30de\u30c3\u30d7\u304b\u3089 RGB \u753b\u50cf\u3092\u751f\u6210\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<p> <a id=\"up_sample\"></a></p>\n<h3>Up-sample</h3>\n<p>The up-sample operation scales the image up by <span translate=no>_^_0_^_</span> and <a href=\"#smooth\">smoothens</a> each feature channel. This is based on the paper <a href=\"https://arxiv.org/abs/1904.11486\">Making Convolutional Networks Shift-Invariant Again</a>.</p>\n": "<p><a id=\"up_sample\"></a></p>\n<h3>\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30eb</h3>\n<p>\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30eb\u64cd\u4f5c\u3067\u306f\u3001<span translate=no>_^_0_^_</span>\u753b\u50cf\u304c\u5404\u30d5\u30a3\u30fc\u30c1\u30e3\u30c1\u30e3\u30cd\u30eb\u3054\u3068\u306b\u62e1\u5927\u3055\u308c\u3001<a href=\"#smooth\">\u6ed1\u3089\u304b\u306b\u306a\u308a\u307e\u3059</a>\u3002\u3053\u308c\u306f\u3001\u300c<a href=\"https://arxiv.org/abs/1904.11486\">\u7573\u307f\u8fbc\u307f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u518d\u3073\u30b7\u30d5\u30c8\u4e0d\u5909\u306b\u3059\u308b</a>\u300d\u3068\u3044\u3046\u8ad6\u6587\u306b\u57fa\u3065\u3044\u3066\u3044\u307e\u3059</p>\u3002\n",
|
||||
"<p><a href=\"#equalized_linear\">Equalized learning-rate linear layers</a> </p>\n": "<p><a href=\"#equalized_linear\">\u5b66\u7fd2\u7387\u306e\u5747\u7b49\u5316\u30ea\u30cb\u30a2\u30ec\u30a4\u30e4\u30fc</a></p>\n",
|
||||
"<p><a href=\"#equalized_weight\">Weights parameter with equalized learning rate</a> </p>\n": "<p><a href=\"#equalized_weight\">\u5b66\u7fd2\u7387\u304c\u5747\u7b49\u5316\u3055\u308c\u305f\u91cd\u307f\u30d1\u30e9\u30e1\u30fc\u30bf</a></p>\n",
|
||||
"<p><a href=\"#equalized_weights\">Learning-rate equalized weights</a> </p>\n": "<p><a href=\"#equalized_weights\">\u5b66\u7fd2\u7387\u5747\u7b49\u5316\u30a6\u30a7\u30a4\u30c8</a></p>\n",
|
||||
"<p><a href=\"#mini_batch_std_dev\">Mini-batch Standard Deviation</a> </p>\n": "<p><a href=\"#mini_batch_std_dev\">\u30df\u30cb\u30d0\u30c3\u30c1\u6a19\u6e96\u504f\u5dee</a></p>\n",
|
||||
"<p><em>Our implementation is a minimalistic StyleGAN 2 model training code. Only single GPU training is supported to keep the implementation simple. We managed to shrink it to keep it at less than 500 lines of code, including the training loop.</em></p>\n": "<p><em>\u79c1\u305f\u3061\u306e\u5b9f\u88c5\u306f\u3001\u6700\u5c0f\u9650\u306eStyleGAN 2\u30e2\u30c7\u30eb\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30b3\u30fc\u30c9\u3067\u3059\u3002\u5b9f\u88c5\u3092\u30b7\u30f3\u30d7\u30eb\u306b\u4fdd\u3064\u305f\u3081\u3001\u5358\u4e00\u306e GPU \u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u307f\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u306a\u3093\u3068\u304b\u7e2e\u5c0f\u3057\u3066\u3001\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30eb\u30fc\u30d7\u3092\u542b\u3081\u3066 500 \u884c\u672a\u6e80\u306e\u30b3\u30fc\u30c9\u306b\u6291\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f</em></p>\u3002\n",
|
||||
"<p><em>toRGB</em> layer </p>\n": "<p><em>TorGB \u30ec\u30a4\u30e4\u30fc</em></p>\n",
|
||||
"<p><small><em><span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> denote feature map resolution scaling and scaling. <span translate=no>_^_2_^_</span>, <span translate=no>_^_3_^_</span>, ... denote feature map resolution at the generator or discriminator block. Each discriminator and generator block consists of 2 convolution layers with leaky ReLU activations.</em></small></p>\n": "<p><small><em><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u306e\u89e3\u50cf\u5ea6\u306e\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3068\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3092\u793a\u3057\u307e\u3059\u3002<span translate=no>_^_2_^_</span>,<span translate=no>_^_3_^_</span>,... \u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u307e\u305f\u306f\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u3067\u306e\u7279\u5fb4\u30de\u30c3\u30d7\u89e3\u50cf\u5ea6\u3092\u793a\u3057\u307e\u3059\u3002\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u3068\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u306e\u5404\u30d6\u30ed\u30c3\u30af\u306f\u3001\u30ea\u30fc\u30af\u3057\u3084\u3059\u3044ReLU\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3\u3092\u5099\u3048\u305f2\u3064\u306e\u7573\u307f\u8fbc\u307f\u5c64\u3067\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u3059</em></small></p>\u3002\n",
|
||||
"<p><small><em><span translate=no>_^_0_^_</span> denotes a linear layer. <span translate=no>_^_1_^_</span> denotes a broadcast and scaling operation (noise is a single channel). StyleGAN also uses progressive growing like Progressive GAN.</em></small></p>\n": "<p><small><em><span translate=no>_^_0_^_</span>\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc\u3092\u793a\u3057\u307e\u3059\u3002<span translate=no>_^_1_^_</span>\u30d6\u30ed\u30fc\u30c9\u30ad\u30e3\u30b9\u30c8\u3068\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u64cd\u4f5c\u3092\u8868\u3057\u307e\u3059\uff08\u30ce\u30a4\u30ba\u306f\u5358\u4e00\u30c1\u30e3\u30cd\u30eb\uff09\u3002StyleGan\u306f\u3001\u30d7\u30ed\u30b0\u30ec\u30c3\u30b7\u30d6GAN\u306e\u3088\u3046\u306a\u30d7\u30ed\u30b0\u30ec\u30c3\u30b7\u30d6\u683d\u57f9\u3082\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059</em></small></p>\u3002\n",
|
||||
"<p><small><em>These are <span translate=no>_^_0_^_</span> images generated after training for about 80K steps.</em></small></p>\n": "<p><small><em>\u3053\u308c\u3089\u306f\u3001\u7d04 80K <span translate=no>_^_0_^_</span> \u30b9\u30c6\u30c3\u30d7\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u5f8c\u306b\u751f\u6210\u3055\u308c\u305f\u753b\u50cf\u3067\u3059\u3002</em></small></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> Then it's demodulated by normalizing, <span translate=no>_^_1_^_</span> where <span translate=no>_^_2_^_</span> is the input channel, <span translate=no>_^_3_^_</span> is the output channel, and <span translate=no>_^_4_^_</span> is the kernel index.</p>\n": "<p><span translate=no>_^_0_^_</span>\u6b21\u306b\u3001\u306f\u5165\u529b\u30c1\u30e3\u30f3\u30cd\u30eb\u3001\u306f\u51fa\u529b\u30c1\u30e3\u30f3\u30cd\u30eb\u3001<span translate=no>_^_1_^_</span><span translate=no>_^_2_^_</span><span translate=no>_^_3_^_</span><span translate=no>_^_4_^_</span>\u306f\u30ab\u30fc\u30cd\u30eb\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u6b63\u898f\u5316\u3057\u3066\u5fa9\u8abf\u3055\u308c\u307e\u3059\u3002</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> convolution </p>\n": "<p><span translate=no>_^_0_^_</span>\u7573\u307f\u8fbc\u307f</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> up sampling layer. The feature space is up sampled at each block </p>\n": "<p><span translate=no>_^_0_^_</span>\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u30ec\u30a4\u30e4\u30fc\u3002\u30d5\u30a3\u30fc\u30c1\u30e3\u30fc\u30b9\u30da\u30fc\u30b9\u306f\u5404\u30d6\u30ed\u30c3\u30af\u3067\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3055\u308c\u307e\u3059</p>\u3002\n",
|
||||
"<p><span translate=no>_^_0_^_</span> where <span translate=no>_^_1_^_</span> is the input channel, <span translate=no>_^_2_^_</span> is the output channel, and <span translate=no>_^_3_^_</span> is the kernel index.</p>\n<p>The result has shape <span translate=no>_^_4_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span>\u3053\u3053\u3067\u3001<span translate=no>_^_1_^_</span>\u306f\u5165\u529b\u30c1\u30e3\u30f3\u30cd\u30eb\u3001<span translate=no>_^_2_^_</span>\u306f\u51fa\u529b\u30c1\u30e3\u30f3\u30cd\u30eb\u3001<span translate=no>_^_3_^_</span>\u306f\u30ab\u30fc\u30cd\u30eb\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3002</p>\n<p>\u7d50\u679c\u306b\u306f\u5f62\u304c\u3042\u308a\u307e\u3059 <span translate=no>_^_4_^_</span></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span></p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><strong>\ud83c\udfc3 Here's the training code: <a href=\"experiment.html\"><span translate=no>_^_0_^_</span></a>.</strong></p>\n": "<p><strong>\ud83c\udfc3 \u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30b3\u30fc\u30c9\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059:<a href=\"experiment.html\"><span translate=no>_^_0_^_</span></a>.</strong></p>\n",
|
||||
"<p>Activation function </p>\n": "<p>\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3\u6a5f\u80fd</p>\n",
|
||||
"<p>Add bias and evaluate activation function </p>\n": "<p>\u30d0\u30a4\u30a2\u30b9\u3092\u52a0\u3048\u3066\u6d3b\u6027\u5316\u95a2\u6570\u3092\u8a55\u4fa1\u3059\u308b</p>\n",
|
||||
"<p>Add padding </p>\n": "<p>\u30d1\u30c7\u30a3\u30f3\u30b0\u3092\u8ffd\u52a0</p>\n",
|
||||
"<p>Add the residual and scale </p>\n": "<p>\u6b8b\u5dee\u3092\u8ffd\u52a0\u3057\u3066\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3057\u307e\u3059</p>\n",
|
||||
"<p>All the up and down-sampling operations are accompanied by bilinear smoothing.</p>\n": "<p>\u3059\u3079\u3066\u306e\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u64cd\u4f5c\u3068\u30c0\u30a6\u30f3\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u64cd\u4f5c\u306b\u306f\u3001\u30d0\u30a4\u30ea\u30cb\u30a2\u30b9\u30e0\u30fc\u30b8\u30f3\u30b0\u304c\u4f34\u3044\u307e\u3059\u3002</p>\n",
|
||||
"<p>Append (concatenate) the standard deviations to the feature map </p>\n": "<p>\u6a19\u6e96\u504f\u5dee\u3092\u6a5f\u80fd\u30de\u30c3\u30d7\u306b\u8ffd\u52a0 (\u9023\u7d50) \u3057\u307e\u3059</p>\n",
|
||||
"<p>At each resolution, the generator network produces an image in latent space which is converted into RGB, with a <span translate=no>_^_0_^_</span> convolution. When we progress from a lower resolution to a higher resolution (say from <span translate=no>_^_1_^_</span> to <span translate=no>_^_2_^_</span> ) we scale the latent image by <span translate=no>_^_3_^_</span> and add a new block (two <span translate=no>_^_4_^_</span> convolution layers) and a new <span translate=no>_^_5_^_</span> layer to get RGB. The transition is done smoothly by adding a residual connection to the <span translate=no>_^_6_^_</span> scaled <span translate=no>_^_7_^_</span> RGB image. The weight of this residual connection is slowly reduced, to let the new block take over.</p>\n": "<p>\u305d\u308c\u305e\u308c\u306e\u89e3\u50cf\u5ea6\u3067\u3001\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u6f5c\u5728\u7a7a\u9593\u306b\u753b\u50cf\u3092\u751f\u6210\u3057\u3001<span translate=no>_^_0_^_</span>\u305d\u308c\u3092\u7573\u307f\u8fbc\u307f\u3067RGB\u306b\u5909\u63db\u3057\u307e\u3059\u3002\u4f4e\u3044\u89e3\u50cf\u5ea6\u304b\u3089\u9ad8\u3044\u89e3\u50cf\u5ea6\u3078\uff08\u305f\u3068\u3048\u3070\u304b\u3089 <span translate=no>_^_1_^_</span><span translate=no>_^_2_^_</span>\uff09\u9032\u3080\u3068\u304d\u3001<span translate=no>_^_3_^_</span>\u6f5c\u5728\u753b\u50cf\u3092\u62e1\u5927\u7e2e\u5c0f\u3057\u3001\u65b0\u3057\u3044\u30d6\u30ed\u30c3\u30af\uff08<span translate=no>_^_4_^_</span>2\u3064\u306e\u7573\u307f\u8fbc\u307f\u5c64\uff09<span translate=no>_^_5_^_</span>\u3068\u65b0\u3057\u3044\u30ec\u30a4\u30e4\u30fc\u3092\u8ffd\u52a0\u3057\u3066RGB\u306b\u3057\u307e\u3059\u3002<span translate=no>_^_6_^_</span>\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3055\u308c\u305f <span translate=no>_^_7_^_</span> RGB \u753b\u50cf\u306b\u6b8b\u4f59\u63a5\u7d9a\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3067\u3001\u30c8\u30e9\u30f3\u30b8\u30b7\u30e7\u30f3\u304c\u30b9\u30e0\u30fc\u30ba\u306b\u884c\u308f\u308c\u307e\u3059\u3002\u3053\u306e\u6b8b\u3063\u305f\u63a5\u7d9a\u90e8\u306e\u91cd\u91cf\u306f\u5f90\u3005\u306b\u6e1b\u3089\u3055\u308c\u3066\u3044\u304d\u3001\u65b0\u3057\u3044\u30d6\u30ed\u30c3\u30af\u306b\u5f15\u304d\u7d99\u304c\u308c\u307e\u3059</p>\u3002\n",
|
||||
"<p>Bias </p>\n": "<p>\u30d0\u30a4\u30a2\u30b9</p>\n",
|
||||
"<p>Blurring kernel </p>\n": "<p>\u30d6\u30e9\u30fc\u30ea\u30f3\u30b0\u30ab\u30fc\u30cd\u30eb</p>\n",
|
||||
"<p>Calculate <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8a08\u7b97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> </p>\n": "<p>\u8a08\u7b97 <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Calculate <span translate=no>_^_0_^_</span> and normalize by the square root of image size. This is scaling is not mentioned in the paper but was present in <a href=\"https://github.com/NVlabs/stylegan2/blob/master/training/loss.py#L167\">their implementation</a>. </p>\n": "<p><span translate=no>_^_0_^_</span>\u753b\u50cf\u30b5\u30a4\u30ba\u306e\u5e73\u65b9\u6839\u3067\u8a08\u7b97\u3057\u3066\u6b63\u898f\u5316\u3057\u307e\u3059\u3002\u3053\u306e\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u306b\u3064\u3044\u3066\u306f\u8ad6\u6587\u3067\u306f\u89e6\u308c\u3089\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001<a href=\"https://github.com/NVlabs/stylegan2/blob/master/training/loss.py#L167\">\u5b9f\u88c5\u306b\u306f\u5b58\u5728\u3057\u3066\u3044\u307e\u3057\u305f</a>\u3002</p>\n",
|
||||
"<p>Calculate L2-norm of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u306e L2 \u30ce\u30eb\u30e0\u306e\u8a08\u7b97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate and append <a href=\"#mini_batch_std_dev\">mini-batch standard deviation</a> </p>\n": "<p><a href=\"#mini_batch_std_dev\">\u30df\u30cb\u30d0\u30c3\u30c1\u6a19\u6e96\u504f\u5dee\u306e\u8a08\u7b97\u3068\u8ffd\u52a0</a></p>\n",
|
||||
"<p>Calculate gradients of <span translate=no>_^_0_^_</span> with respect to <span translate=no>_^_1_^_</span>. <span translate=no>_^_2_^_</span> is set to <span translate=no>_^_3_^_</span> since we want the gradients of <span translate=no>_^_4_^_</span>, and we need to create and retain graph since we have to compute gradients with respect to weight on this loss. </p>\n": "<p><span translate=no>_^_0_^_</span>\u3092\u57fa\u6e96\u3068\u3057\u305f\u52fe\u914d\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002<span translate=no>_^_1_^_</span><span translate=no>_^_2_^_</span><span translate=no>_^_3_^_</span>\u306e\u52fe\u914d\u3092\u6c42\u3081\u3066\u3044\u308b\u306e\u3067\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u307e\u305f<span translate=no>_^_4_^_</span>\u3001\u3053\u306e\u640d\u5931\u306b\u3088\u308b\u91cd\u307f\u306b\u5bfe\u3059\u308b\u52fe\u914d\u3092\u8a08\u7b97\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u305f\u3081\u3001\u30b0\u30e9\u30d5\u3092\u4f5c\u6210\u3057\u3066\u4fdd\u6301\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059</p>\u3002\n",
|
||||
"<p>Calculate gradients to get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u52fe\u914d\u3092\u8a08\u7b97\u3057\u3066\u53d6\u5f97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the mean of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u306e\u5e73\u5747\u3092\u8a08\u7b97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the norm <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30ce\u30eb\u30e0\u306e\u8a08\u7b97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the number of features for each block.</p>\n<p>Something like <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u5404\u30d6\u30ed\u30c3\u30af\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u6570\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002</p>\n<p>\u306e\u3088\u3046\u306a\u3082\u306e<span translate=no>_^_0_^_</span>\u3002</p>\n",
|
||||
"<p>Calculate the number of features for each block</p>\n<p>Something like <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5404\u30d6\u30ed\u30c3\u30af\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u6570\u3092\u8a08\u7b97\u3057\u307e\u3059</p>\n<p>\u306e\u3088\u3046\u306a\u3082\u306e <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the penalty <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30da\u30ca\u30eb\u30c6\u30a3\u306e\u8a08\u7b97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the standard deviation for each feature among <span translate=no>_^_0_^_</span> samples</p>\n<span translate=no>_^_1_^_</span><p> </p>\n": "<p><span translate=no>_^_0_^_</span>\u30b5\u30f3\u30d7\u30eb\u9593\u306e\u5404\u7279\u5fb4\u306e\u6a19\u6e96\u504f\u5dee\u3092\u8a08\u7b97\u3057\u307e\u3059</p>\n<span translate=no>_^_1_^_</span><p></p>\n",
|
||||
"<p>Check if the batch size is divisible by the group size </p>\n": "<p>\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u304c\u30b0\u30eb\u30fc\u30d7\u30b5\u30a4\u30ba\u3067\u5272\u308a\u5207\u308c\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044</p>\n",
|
||||
"<p>Convert from RGB </p>\n": "<p>RGB \u304b\u3089\u5909\u63db</p>\n",
|
||||
"<p>Convert the kernel to a PyTorch tensor </p>\n": "<p>\u30ab\u30fc\u30cd\u30eb\u3092 PyTorch \u30c6\u30f3\u30bd\u30eb\u306b\u5909\u63db\u3057\u307e\u3059</p>\n",
|
||||
"<p>Convolution </p>\n": "<p>\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3</p>\n",
|
||||
"<p>Convolutions </p>\n": "<p>\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3</p>\n",
|
||||
"<p>Create the MLP </p>\n": "<p>MLP \u3092\u4f5c\u6210\u3057\u3066\u4e0b\u3055\u3044</p>\n",
|
||||
"<p>Demodulate </p>\n": "<p>\u5fa9\u8abf\u3059\u308b</p>\n",
|
||||
"<p>Discriminator blocks </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30d6\u30ed\u30c3\u30af</p>\n",
|
||||
"<p>Down-sample </p>\n": "<p>\u30c0\u30a6\u30f3\u30b5\u30f3\u30d7\u30eb</p>\n",
|
||||
"<p>Down-sampling and <span translate=no>_^_0_^_</span> convolution layer for the residual connection </p>\n": "<p><span translate=no>_^_0_^_</span>\u6b8b\u5dee\u63a5\u7d9a\u7528\u306e\u30c0\u30a6\u30f3\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u5c64\u3068\u7573\u307f\u8fbc\u307f\u5c64</p>\n",
|
||||
"<p>Down-sampling layer </p>\n": "<p>\u30c0\u30a6\u30f3\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u30ec\u30a4\u30e4\u30fc</p>\n",
|
||||
"<p>Evaluate rest of the blocks </p>\n": "<p>\u6b8b\u308a\u306e\u30d6\u30ed\u30c3\u30af\u3092\u8a55\u4fa1</p>\n",
|
||||
"<p>Expand the learned constant to match batch size </p>\n": "<p>\u5b66\u7fd2\u3057\u305f\u5b9a\u6570\u3092\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u306b\u5408\u308f\u305b\u3066\u62e1\u5f35\u3059\u308b</p>\n",
|
||||
"<p>Expand the standard deviation to append to the feature map </p>\n": "<p>\u6a19\u6e96\u504f\u5dee\u3092\u62e1\u5f35\u3057\u3066\u7279\u5fb4\u30de\u30c3\u30d7\u306b\u8ffd\u52a0</p>\n",
|
||||
"<p>Exponential sum of <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> where <span translate=no>_^_2_^_</span> is the value of it at <span translate=no>_^_3_^_</span>-th step of training </p>\n": "<p><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e <span translate=no>_^_2_^_</span> <span translate=no>_^_3_^_</span>-\u756a\u76ee\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u306e\u5024\u306e\u6307\u6570\u548c\u3092\u6c42\u3081\u308b</p>\n",
|
||||
"<p>Final <span translate=no>_^_0_^_</span> convolution layer </p>\n": "<p><span translate=no>_^_0_^_</span>\u6700\u7d42\u7573\u307f\u8fbc\u307f\u5c64</p>\n",
|
||||
"<p>Final linear layer to get the classification </p>\n": "<p>\u5206\u985e\u3092\u884c\u3046\u305f\u3081\u306e\u6700\u5f8c\u306e\u7dda\u5f62\u30ec\u30a4\u30e4\u30fc</p>\n",
|
||||
"<p>First <a href=\"#style_block\">style block</a> changes the feature map size to <span translate=no>_^_0_^_</span> </p>\n": "<p><a href=\"#style_block\">\u6700\u521d\u306e\u30b9\u30bf\u30a4\u30eb\u30d6\u30ed\u30c3\u30af\u306f</a>\u3001\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u306e\u30b5\u30a4\u30ba\u3092\u6b21\u306e\u3088\u3046\u306b\u5909\u66f4\u3057\u307e\u3059 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>First style block for <span translate=no>_^_0_^_</span> resolution and layer to get RGB </p>\n": "<p><span translate=no>_^_0_^_</span>\u89e3\u50cf\u5ea6\u3068\u30ec\u30a4\u30e4\u30fc\u3092RGB\u306b\u3059\u308b\u6700\u521d\u306e\u30b9\u30bf\u30a4\u30eb\u30d6\u30ed\u30c3\u30af</p>\n",
|
||||
"<p>First style block with first noise tensor. The output is of shape <span translate=no>_^_0_^_</span> </p>\n": "<p>\u6700\u521d\u306e\u30ce\u30a4\u30ba\u30c6\u30f3\u30bd\u30eb\u3092\u6301\u3064\u6700\u521d\u306e\u30b9\u30bf\u30a4\u30eb\u30d6\u30ed\u30c3\u30af\u3002\u51fa\u529b\u306f\u6574\u5f62\u3057\u3066\u3044\u307e\u3059 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Flatten </p>\n": "<p>\u5e73\u5766\u5316</p>\n",
|
||||
"<p>Generative adversarial networks have two components; the generator and the discriminator. The generator network takes a random latent vector (<span translate=no>_^_0_^_</span>) and tries to generate a realistic image. The discriminator network tries to differentiate the real images from generated images. When we train the two networks together the generator starts generating images indistinguishable from real images.</p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30c6\u30a3\u30d6\u30fb\u30a2\u30c9\u30d0\u30fc\u30b5\u30ea\u30a2\u30eb\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u306f\u3001\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u3068\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u3068\u3044\u30462\u3064\u306e\u8981\u7d20\u304c\u3042\u308a\u307e\u3059\u3002\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u30e9\u30f3\u30c0\u30e0\u306a\u6f5c\u5728\u30d9\u30af\u30c8\u30eb (<span translate=no>_^_0_^_</span>) \u3092\u53d7\u3051\u53d6\u308a\u3001\u30ea\u30a2\u30eb\u306a\u753b\u50cf\u3092\u751f\u6210\u3057\u3088\u3046\u3068\u3057\u307e\u3059\u3002\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306f\u3001\u5b9f\u969b\u306e\u753b\u50cf\u3068\u751f\u6210\u3055\u308c\u305f\u753b\u50cf\u3092\u533a\u5225\u3057\u3088\u3046\u3068\u3057\u307e\u3059\u30022 \u3064\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4e00\u7dd2\u306b\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3059\u308b\u3068\u3001\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u306f\u5b9f\u969b\u306e\u753b\u50cf\u3068\u533a\u5225\u304c\u3064\u304b\u306a\u3044\u753b\u50cf\u3092\u751f\u6210\u3057\u59cb\u3081\u307e\u3059</p>\u3002\n",
|
||||
"<p>Generator blocks </p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af</p>\n",
|
||||
"<p>Get <a href=\"#equalized_weight\">learning rate equalized weights</a> </p>\n": "<p><a href=\"#equalized_weight\">\u5b66\u7fd2\u7387\u3092\u5747\u7b49\u306b\u3057\u305f\u91cd\u307f\u4ed8\u3051\u3092\u5b9f\u884c</a></p>\n",
|
||||
"<p>Get RGB image </p>\n": "<p>RGB \u30a4\u30e1\u30fc\u30b8\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get batch size </p>\n": "<p>\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get batch size, height and width </p>\n": "<p>\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u3001\u9ad8\u3055\u3001\u5e45\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get first rgb image </p>\n": "<p>\u6700\u521d\u306e RGB \u30a4\u30e1\u30fc\u30b8\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get number of pixels </p>\n": "<p>\u30d4\u30af\u30bb\u30eb\u6570\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get shape of the input feature map </p>\n": "<p>\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u306e\u5f62\u72b6\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get style vector <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30b9\u30bf\u30a4\u30eb\u30d9\u30af\u30c8\u30eb\u3092\u53d6\u5f97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get style vector from <span translate=no>_^_0_^_</span> (denoted by <span translate=no>_^_1_^_</span> in the diagram) with an <a href=\"#equalized_linear\">equalized learning-rate linear layer</a> </p>\n": "<p><a href=\"#equalized_linear\">\u5b66\u7fd2\u7387\u304c\u5747\u7b49\u5316\u3055\u308c\u305f\u7dda\u5f62\u5c64\u3067 <span translate=no>_^_0_^_</span></a> (<span translate=no>_^_1_^_</span>\u56f3\u3067\u793a\u3055\u308c\u3066\u3044\u308b) \u304b\u3089\u30b9\u30bf\u30a4\u30eb\u30d9\u30af\u30c8\u30eb\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get the device </p>\n": "<p>\u30c7\u30d0\u30a4\u30b9\u3092\u5165\u624b</p>\n",
|
||||
"<p>Get the mean standard deviation </p>\n": "<p>\u5e73\u5747\u6a19\u6e96\u504f\u5dee\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get the residual connection </p>\n": "<p>\u6b8b\u4f59\u63a5\u7d9a\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>He initialization constant </p>\n": "<p>HE \u521d\u671f\u5316\u5b9a\u6570</p>\n",
|
||||
"<p>Increment <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Initialize the weights with <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30a6\u30a7\u30a4\u30c8\u3092\u6b21\u306e\u3088\u3046\u306b\u521d\u671f\u5316\u3057\u307e\u3059\u3002<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>It maps the random latent vector (<span translate=no>_^_0_^_</span>) into a different latent space (<span translate=no>_^_1_^_</span>), with an 8-layer neural network. This gives an intermediate latent space <span translate=no>_^_2_^_</span> where the factors of variations are more linear (disentangled).</p>\n": "<p>\u30e9\u30f3\u30c0\u30e0\u306a\u6f5c\u5728\u30d9\u30af\u30c8\u30eb\uff08<span translate=no>_^_0_^_</span>\uff09\u3092\u30018\u5c64\u306e\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4f7f\u7528\u3057\u3066\u5225\u306e\u6f5c\u5728\u7a7a\u9593\uff08<span translate=no>_^_1_^_</span>\uff09\u306b\u30de\u30c3\u30d4\u30f3\u30b0\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u5909\u52d5\u306e\u8981\u56e0\u304c\u3088\u308a\u76f4\u7dda\u7684\u306a\uff08<span translate=no>_^_2_^_</span>\u3082\u3064\u308c\u304c\u89e3\u304b\u308c\u305f\uff09\u4e2d\u9593\u7684\u306a\u6f5c\u5728\u7a7a\u9593\u304c\u5f97\u3089\u308c\u307e\u3059\u3002</p>\n",
|
||||
"<p>Layer to convert RGB image to a feature map with <span translate=no>_^_0_^_</span> number of features. </p>\n": "<p>RGB <span translate=no>_^_0_^_</span> \u753b\u50cf\u3092\u591a\u6570\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u3092\u542b\u3080\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u306b\u5909\u63db\u3059\u308b\u30ec\u30a4\u30e4\u30fc\u3002</p>\n",
|
||||
"<p>Leaky Relu </p>\n": "<p>\u30ea\u30fc\u30ad\u30fc\u30ea\u30ec\u30fc</p>\n",
|
||||
"<p>Linear transformation </p>\n": "<p>\u7dda\u5f62\u5909\u63db</p>\n",
|
||||
"<p>Map <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span>\u306b\u30de\u30c3\u30d4\u30f3\u30b0 <span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Multiply the weights by <span translate=no>_^_0_^_</span> and return </p>\n": "<p>\u91cd\u307f\u5024\u3092\u639b\u3051\u3066\u8fd4\u3057\u307e\u3059\u3002<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Noise is made available to each block which helps the generator create more realistic images. Noise is scaled per channel by a learned weight.</p>\n": "<p>\u5404\u30d6\u30ed\u30c3\u30af\u306b\u30ce\u30a4\u30ba\u304c\u5165\u308b\u305f\u3081\u3001\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u306f\u3088\u308a\u30ea\u30a2\u30eb\u306a\u753b\u50cf\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u30ce\u30a4\u30ba\u306f\u3001\u5b66\u7fd2\u3057\u305f\u91cd\u307f\u306b\u3088\u3063\u3066\u30c1\u30e3\u30f3\u30cd\u30eb\u3054\u3068\u306b\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3055\u308c\u307e\u3059</p>\u3002\n",
|
||||
"<p>Noise scale </p>\n": "<p>\u30ce\u30a4\u30ba\u30b9\u30b1\u30fc\u30eb</p>\n",
|
||||
"<p>Normalize <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30ce\u30fc\u30de\u30e9\u30a4\u30ba <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Normalize the kernel </p>\n": "<p>\u30ab\u30fc\u30cd\u30eb\u3092\u6b63\u898f\u5316</p>\n",
|
||||
"<p>Number of <a href=\"#discriminator_block\">discirminator blocks</a> </p>\n": "<p><a href=\"#discriminator_block\">\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30d6\u30ed\u30c3\u30af\u306e\u6570</a></p>\n",
|
||||
"<p>Number of features after adding the standard deviations map </p>\n": "<p>\u6a19\u6e96\u504f\u5dee\u30de\u30c3\u30d7\u3092\u8ffd\u52a0\u3057\u305f\u5f8c\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u6570</p>\n",
|
||||
"<p>Number of generator blocks </p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u6570</p>\n",
|
||||
"<p>Number of output features </p>\n": "<p>\u51fa\u529b\u6a5f\u80fd\u306e\u6570</p>\n",
|
||||
"<p>Number of steps calculated <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8a08\u7b97\u3055\u308c\u305f\u30b9\u30c6\u30c3\u30d7\u6570 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Padding layer </p>\n": "<p>\u30d1\u30c7\u30a3\u30f3\u30b0\u30ec\u30a4\u30e4\u30fc</p>\n",
|
||||
"<p>Padding size </p>\n": "<p>\u30d1\u30c7\u30a3\u30f3\u30b0\u30b5\u30a4\u30ba</p>\n",
|
||||
"<p>Path length regularization encourages a fixed-size step in <span translate=no>_^_0_^_</span> to result in a non-zero, fixed-magnitude change in the generated image.</p>\n": "<p>\u30d1\u30b9\u9577\u306e\u6b63\u5247\u5316\u306b\u3088\u308a\u3001\u56fa\u5b9a\u30b5\u30a4\u30ba\u306e\u30b9\u30c6\u30c3\u30d7\u30a4\u30f3\u304c\u4fc3\u9032\u3055\u308c\u3001<span translate=no>_^_0_^_</span>\u751f\u6210\u3055\u308c\u308b\u30a4\u30e1\u30fc\u30b8\u306b\u30bc\u30ed\u4ee5\u5916\u306e\u56fa\u5b9a\u30de\u30b0\u30cb\u30c1\u30e5\u30fc\u30c9\u5909\u5316\u304c\u751f\u3058\u307e\u3059\u3002</p>\n",
|
||||
"<p>Progressive GAN generates high-resolution images (<span translate=no>_^_0_^_</span>) of size. It does so by <em>progressively</em> increasing the image size. First, it trains a network that produces a <span translate=no>_^_1_^_</span> image, then <span translate=no>_^_2_^_</span> , then an <span translate=no>_^_3_^_</span> image, and so on up to the desired image resolution.</p>\n": "<p>\u30d7\u30ed\u30b0\u30ec\u30c3\u30b7\u30d6 GAN \u306f\u3001\u30b5\u30a4\u30ba\u306e\u9ad8\u89e3\u50cf\u5ea6\u753b\u50cf (<span translate=no>_^_0_^_</span>) \u3092\u751f\u6210\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u3001<em>\u753b\u50cf\u30b5\u30a4\u30ba\u3092\u5f90\u3005\u306b\u5927\u304d\u304f\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u884c\u308f\u308c\u307e\u3059</em>\u3002\u307e\u305a\u3001<span translate=no>_^_1_^_</span>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u5b66\u7fd2\u3055\u305b\u3066\u753b\u50cf\u3092\u751f\u6210\u3057<span translate=no>_^_2_^_</span>\u3001<span translate=no>_^_3_^_</span>\u6b21\u306b\u753b\u50cf\u3092\u751f\u6210\u3059\u308b\u3068\u3044\u3063\u305f\u5177\u5408\u306b\u3001\u76ee\u7684\u306e\u753b\u50cf\u89e3\u50cf\u5ea6\u307e\u3067\u5b66\u7fd2\u3055\u305b\u307e\u3059\u3002</p>\n",
|
||||
"<p>Regularize after first step </p>\n": "<p>\u6700\u521d\u306e\u4e00\u6b69\u3092\u8e0f\u307f\u51fa\u3057\u305f\u3089\u6b63\u5247\u5316</p>\n",
|
||||
"<p>Reshape <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5f62\u3092\u5909\u3048\u308b <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Reshape <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> and return </p>\n": "<p><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u5f62\u72b6\u3092\u5909\u66f4\u3057\u3066\u623b\u308b</p>\n",
|
||||
"<p>Reshape and return </p>\n": "<p>\u5f62\u3092\u5909\u3048\u3066\u623b\u308b</p>\n",
|
||||
"<p>Reshape for smoothening </p>\n": "<p>\u5f62\u3092\u5909\u3048\u3066\u306a\u3081\u3089\u304b\u306b</p>\n",
|
||||
"<p>Reshape gradients to calculate the norm </p>\n": "<p>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u306e\u5f62\u3092\u5909\u3048\u3066\u30ce\u30eb\u30e0\u3092\u8a08\u7b97\u3057\u3088\u3046</p>\n",
|
||||
"<p>Reshape the scales </p>\n": "<p>\u4f53\u91cd\u8a08\u306e\u5f62\u3092\u5909\u3048\u3066</p>\n",
|
||||
"<p>Reshape weights </p>\n": "<p>\u30a6\u30a7\u30a4\u30c8\u306e\u5f62\u3092\u5909\u3048\u308b</p>\n",
|
||||
"<p>Return a dummy loss if we can't calculate <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8a08\u7b97\u3067\u304d\u306a\u3044\u5834\u5408\u306f\u30c0\u30df\u30fc\u30ed\u30b9\u3092\u8fd4\u3059 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Return feature map and rgb image </p>\n": "<p>\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u3068 RGB \u30a4\u30e1\u30fc\u30b8\u3092\u8fd4\u3059</p>\n",
|
||||
"<p>Return the classification score </p>\n": "<p>\u5206\u985e\u30b9\u30b3\u30a2\u3092\u8fd4\u3059</p>\n",
|
||||
"<p>Return the final RGB image </p>\n": "<p>\u6700\u7d42\u7684\u306a RGB \u30a4\u30e1\u30fc\u30b8\u3092\u8fd4\u3059</p>\n",
|
||||
"<p>Return the loss <span translate=no>_^_0_^_</span> </p>\n": "<p>\u640d\u5931\u3092\u8fd4\u3059 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Return the penalty </p>\n": "<p>\u30da\u30ca\u30eb\u30c6\u30a3\u3092\u8fd4\u305b</p>\n",
|
||||
"<p>Run it through the <a href=\"#generator_block\">generator block</a> </p>\n": "<p><a href=\"#generator_block\">\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u306b\u901a\u3057\u3066\u304f\u3060\u3055\u3044</a></p>\n",
|
||||
"<p>Run through the <a href=\"#discriminator_block\">discriminator blocks</a> </p>\n": "<p><a href=\"#discriminator_block\">\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30fb\u30d6\u30ed\u30c3\u30af\u3092\u304f\u3050\u308a\u629c\u3051\u308d</a></p>\n",
|
||||
"<p>Save kernel as a fixed parameter (no gradient updates) </p>\n": "<p>\u30ab\u30fc\u30cd\u30eb\u3092\u56fa\u5b9a\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u3057\u3066\u4fdd\u5b58 (\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u306e\u66f4\u65b0\u306a\u3057)</p>\n",
|
||||
"<p>Scale and add noise </p>\n": "<p>\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3068\u30ce\u30a4\u30ba\u306e\u8ffd\u52a0</p>\n",
|
||||
"<p>Scaled down </p>\n": "<p>\u30b9\u30b1\u30fc\u30eb\u30c0\u30a6\u30f3</p>\n",
|
||||
"<p>Scaling factor <span translate=no>_^_0_^_</span> after adding the residual </p>\n": "<p><span translate=no>_^_0_^_</span>\u6b8b\u5dee\u3092\u52a0\u3048\u305f\u5f8c\u306e\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u4fc2\u6570</p>\n",
|
||||
"<p>Second <a href=\"#style_block\">style block</a> </p>\n": "<p><a href=\"#style_block\">\u30bb\u30ab\u30f3\u30c9\u30b9\u30bf\u30a4\u30eb\u30d6\u30ed\u30c3\u30af</a></p>\n",
|
||||
"<p>Second style block with second noise tensor. The output is of shape <span translate=no>_^_0_^_</span> </p>\n": "<p>2 \u756a\u76ee\u306e\u30ce\u30a4\u30ba\u30c6\u30f3\u30bd\u30eb\u3092\u5099\u3048\u305f 2 \u756a\u76ee\u306e\u30b9\u30bf\u30a4\u30eb\u30d6\u30ed\u30c3\u30af\u3002\u51fa\u529b\u306f\u6574\u5f62\u3057\u3066\u3044\u307e\u3059 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Smoothen (blur) with the kernel </p>\n": "<p>\u30ab\u30fc\u30cd\u30eb\u306b\u3088\u308b\u30b9\u30e0\u30fc\u30b8\u30f3\u30b0 (\u307c\u304b\u3057)</p>\n",
|
||||
"<p>Smoothing layer </p>\n": "<p>\u30b9\u30e0\u30fc\u30b8\u30f3\u30b0\u30ec\u30a4\u30e4\u30fc</p>\n",
|
||||
"<p>Smoothing or blurring </p>\n": "<p>\u30b9\u30e0\u30fc\u30b8\u30f3\u30b0\u307e\u305f\u306f\u307c\u304b\u3057</p>\n",
|
||||
"<p>Split the samples into groups of <span translate=no>_^_0_^_</span>, we flatten the feature map to a single dimension since we want to calculate the standard deviation for each feature. </p>\n": "<p>\u5404\u7279\u5fb4\u306e\u6a19\u6e96\u504f\u5dee\u3092\u8a08\u7b97\u3057\u305f\u3044\u306e\u3067<span translate=no>_^_0_^_</span>\u3001\u30b5\u30f3\u30d7\u30eb\u3092\u30b0\u30eb\u30fc\u30d7\u306b\u5206\u3051\u3001\u7279\u5fb4\u30de\u30c3\u30d7\u3092 1 \u3064\u306e\u6b21\u5143\u306b\u5e73\u5766\u5316\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<p>StyleGAN 2 changes both the generator and the discriminator of StyleGAN.</p>\n": "<p>\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2 \u306f\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3\u306e\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u3068\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306e\u4e21\u65b9\u3092\u5909\u66f4\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<p>StyleGAN improves the generator of Progressive GAN keeping the discriminator architecture the same.</p>\n": "<p>StyleGAN\u306f\u3001\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u540c\u3058\u306b\u4fdd\u3061\u306a\u304c\u3089\u3001\u30d7\u30ed\u30b0\u30ec\u30c3\u30b7\u30d6GAN\u306e\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u3092\u6539\u826f\u3057\u307e\u3057\u305f\u3002</p>\n",
|
||||
"<p>StyleGAN2 uses residual connections (with down-sampling) in the discriminator and skip connections in the generator with up-sampling (the RGB outputs from each layer are added - no residual connections in feature maps). They show that with experiments that the contribution of low-resolution layers is higher at beginning of the training and then high-resolution layers take over.</p>\n": "<p>StyleGAN2 \u306f\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306b\u6b8b\u7559\u63a5\u7d9a (\u30c0\u30a6\u30f3\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3042\u308a) \u3092\u4f7f\u7528\u3057\u3001\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u3067\u306f\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3067\u306f\u30b9\u30ad\u30c3\u30d7\u30b3\u30cd\u30af\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u307e\u3059 (\u5404\u30ec\u30a4\u30e4\u30fc\u306e RGB \u51fa\u529b\u304c\u8ffd\u52a0\u3055\u308c\u308b\u305f\u3081\u3001\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u306b\u6b8b\u7559\u63a5\u7d9a\u306f\u3042\u308a\u307e\u305b\u3093)\u3002\u5b9f\u9a13\u3092\u884c\u3063\u305f\u3068\u3053\u308d\u3001\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u958b\u59cb\u6642\u306b\u306f\u4f4e\u89e3\u50cf\u5ea6\u306e\u30ec\u30a4\u30e4\u30fc\u306e\u5bc4\u4e0e\u5ea6\u304c\u9ad8\u304f\u3001\u305d\u306e\u5f8c\u306f\u9ad8\u89e3\u50cf\u5ea6\u306e\u30ec\u30a4\u30e4\u30fc\u304c\u5f15\u304d\u7d99\u3050\u3053\u3068\u304c\u793a\u3055\u308c\u3066\u3044\u307e\u3059</p>\u3002\n",
|
||||
"<p>The discriminator is a mirror image of the generator network. The progressive growth of the discriminator is done similarly.</p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306f\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30df\u30e9\u30fc\u30a4\u30e1\u30fc\u30b8\u3067\u3059\u3002\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306e\u6f38\u9032\u7684\u306a\u6210\u9577\u3082\u540c\u69d8\u306b\u884c\u308f\u308c\u307e\u3059</p>\u3002\n",
|
||||
"<p>The first style block </p>\n": "<p>\u6700\u521d\u306e\u30b9\u30bf\u30a4\u30eb\u30d6\u30ed\u30c3\u30af</p>\n",
|
||||
"<p>Then <span translate=no>_^_0_^_</span> is transformed into two vectors (<strong>styles</strong>) per layer, <span translate=no>_^_1_^_</span>, <span translate=no>_^_2_^_</span> and used for scaling and shifting (biasing) in each layer with <span translate=no>_^_3_^_</span> operator (normalize and scale): <span translate=no>_^_4_^_</span></p>\n": "<p>\u6b21\u306b\u3001<span translate=no>_^_0_^_</span>\u30ec\u30a4\u30e4\u30fc\u3054\u3068\u306b2\u3064\u306e\u30d9\u30af\u30c8\u30eb\uff08<strong>\u30b9\u30bf\u30a4\u30eb</strong>\uff09\u306b\u5909\u63db\u3055\u308c\u3001<span translate=no>_^_1_^_</span><span translate=no>_^_3_^_</span>\u6f14\u7b97\u5b50\uff08\u6b63\u898f\u5316\u3068\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\uff09\u3092\u4f7f\u7528\u3057\u3066\u5404\u30ec\u30a4\u30e4\u30fc\u306e\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3068\u30b7\u30d5\u30c8\uff08\u30d0\u30a4\u30a2\u30b9\uff09\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<span translate=no>_^_2_^_</span> <span translate=no>_^_4_^_</span></p>\n",
|
||||
"<p>Then the convolution weights <span translate=no>_^_0_^_</span> are modulated as follows. (<span translate=no>_^_1_^_</span> here on refers to weights not intermediate latent space, we are sticking to the same notation as the paper.)</p>\n": "<p>\u6b21\u306b\u3001<span translate=no>_^_0_^_</span>\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306e\u91cd\u307f\u306f\u6b21\u306e\u3088\u3046\u306b\u5909\u8abf\u3055\u308c\u307e\u3059\u3002\uff08<span translate=no>_^_1_^_</span>\u3053\u3053\u3067\u306f\u4e2d\u9593\u306e\u6f5c\u5728\u7a7a\u9593\u3067\u306f\u306a\u304f\u91cd\u307f\u3092\u6307\u3057\u307e\u3059\u3002\u8ad6\u6587\u3068\u540c\u3058\u8868\u8a18\u6cd5\u306b\u3053\u3060\u308f\u3063\u3066\u3044\u307e\u3059</p>\u3002\uff09\n",
|
||||
"<p>They remove the <span translate=no>_^_0_^_</span> operator and replace it with the weight modulation and demodulation step. This is supposed to improve what they call droplet artifacts that are present in generated images, which are caused by the normalization in <span translate=no>_^_1_^_</span> operator. Style vector per layer is calculated from <span translate=no>_^_2_^_</span> as <span translate=no>_^_3_^_</span>.</p>\n": "<p><span translate=no>_^_0_^_</span>\u30aa\u30da\u30ec\u30fc\u30bf\u3092\u53d6\u308a\u5916\u3057\u3066\u3001\u91cd\u307f\u5909\u8abf\u3068\u5fa9\u8abf\u306e\u30b9\u30c6\u30c3\u30d7\u306b\u7f6e\u304d\u63db\u3048\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u6f14\u7b97\u5b50\u306e\u6b63\u898f\u5316\u306b\u3088\u3063\u3066\u751f\u6210\u3055\u308c\u308b\u753b\u50cf\u306b\u5b58\u5728\u3059\u308b\u3001\u3044\u308f\u3086\u308b\u30c9\u30ed\u30c3\u30d7\u30ec\u30c3\u30c8\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u6539\u5584\u3059\u308b\u305f\u3081\u306e\u3082\u306e\u3067\u3059\u3002<span translate=no>_^_1_^_</span>\u30ec\u30a4\u30e4\u30fc\u3054\u3068\u306e\u30b9\u30bf\u30a4\u30eb\u30d9\u30af\u30c8\u30eb\u306f\u3001<span translate=no>_^_2_^_</span>\u304b\u3089\u8a08\u7b97\u3055\u308c\u307e\u3059<span translate=no>_^_3_^_</span>\u3002</p>\n",
|
||||
"<p>They use <strong>minibatch standard deviation</strong> to increase variation and <strong>equalized learning rate</strong> which we discussed below in the implementation. They also use <strong>pixel-wise normalization</strong> where at each pixel the feature vector is normalized. They apply this to all the convolution layer outputs (except RGB).</p>\n": "<p><strong>\u30df\u30cb\u30d0\u30c3\u30c1\u6a19\u6e96\u504f\u5dee\u3092\u4f7f\u7528\u3057\u3066\u5909\u52d5\u3092\u5897\u3084\u3057</strong>\u3001<strong>\u5b66\u7fd2\u7387\u3092\u5747\u7b49\u5316\u3057\u307e\u3059</strong>\u3002\u3053\u308c\u306b\u3064\u3044\u3066\u306f\u3001\u5b9f\u88c5\u3067\u5f8c\u8ff0\u3057\u307e\u3059\u3002\u307e\u305f\u3001<strong>\u30d4\u30af\u30bb\u30eb\u5358\u4f4d\u306e\u6b63\u898f\u5316\u3082\u4f7f\u7528\u3057\u3066\u304a\u308a</strong>\u3001\u5404\u30d4\u30af\u30bb\u30eb\u3067\u7279\u5fb4\u30d9\u30af\u30c8\u30eb\u304c\u6b63\u898f\u5316\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u3092\u3059\u3079\u3066\u306e\u7573\u307f\u8fbc\u307f\u5c64\u51fa\u529b (RGB \u3092\u9664\u304f) \u306b\u9069\u7528\u3057\u307e\u3059</p>\u3002\n",
|
||||
"<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of the paper <a href=\"https://arxiv.org/abs/1912.04958\">Analyzing and Improving the Image Quality of StyleGAN</a> which introduces <strong>StyleGAN 2</strong>. StyleGAN 2 is an improvement over <strong>StyleGAN</strong> from the paper <a href=\"https://arxiv.org/abs/1812.04948\">A Style-Based Generator Architecture for Generative Adversarial Networks</a>. And StyleGAN is based on <strong>Progressive GAN</strong> from the paper <a href=\"https://arxiv.org/abs/1710.10196\">Progressive Growing of GANs for Improved Quality, Stability, and Variation</a>. All three papers are from the same authors from <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a>.</p>\n": "<p><strong>\u3053\u308c\u306f\u3001<a href=\"https://arxiv.org/abs/1912.04958\">StyleGan 2\u3092\u7d39\u4ecb\u3059\u308b\u8ad6\u6587\u300c\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3\u306e\u753b\u8cea\u306e\u5206\u6790\u3068\u6539\u5584\u300d<a href=\"https://pytorch.org\">\u3092PyTorch\u3067\u5b9f\u88c5\u3057\u305f\u3082\u306e\u3067\u3059</a></a>\u3002</strong>StyleGan 2\u306f\u3001\u8ad6\u6587\u300c<strong><a href=\"https://arxiv.org/abs/1812.04948\">\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u305f\u3081\u306e\u30b9\u30bf\u30a4\u30eb\u30d9\u30fc\u30b9\u306e\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u300d\u306eStyleGAN\u3092\u6539\u826f\u3057\u305f\u3082\u306e\u3067\u3059</a></strong>\u3002\u307e\u305f\u3001StyleGan\u306f\u8ad6\u6587\u300c<strong>GAN\u306e\u6f38\u9032\u7684\u6210\u9577\u306b\u3088\u308b\u54c1\u8cea</strong><a href=\"https://arxiv.org/abs/1710.10196\">\u3001\u5b89\u5b9a\u6027\u3001\u30d0\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u306e\u5411\u4e0a\u300d\u306e\u30d7\u30ed\u30b0\u30ec\u30c3\u30b7\u30d6GAN\u3092\u30d9\u30fc\u30b9\u306b\u3057\u3066\u3044\u307e\u3059</a>\u30023 \u3064\u306e\u8ad6\u6587\u306f\u3059\u3079\u3066 <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA</a> AI \u306e\u540c\u3058\u8457\u8005\u306b\u3088\u308b\u3082\u306e\u3067\u3059</p>\u3002\n",
|
||||
"<p>To prevent the generator from assuming adjacent styles are correlated, they randomly use different styles for different blocks. That is, they sample two latent vectors <span translate=no>_^_0_^_</span> and corresponding <span translate=no>_^_1_^_</span> and use <span translate=no>_^_2_^_</span> based styles for some blocks and <span translate=no>_^_3_^_</span> based styles for some blacks randomly.</p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u304c\u96a3\u63a5\u3059\u308b\u30b9\u30bf\u30a4\u30eb\u304c\u76f8\u4e92\u306b\u95a2\u9023\u3057\u3066\u3044\u308b\u3068\u898b\u306a\u3055\u306a\u3044\u3088\u3046\u306b\u3001\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u306f\u30d6\u30ed\u30c3\u30af\u3054\u3068\u306b\u7570\u306a\u308b\u30b9\u30bf\u30a4\u30eb\u3092\u30e9\u30f3\u30c0\u30e0\u306b\u4f7f\u7528\u3057\u307e\u3059\u3002\u3064\u307e\u308a\u3001<span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> 2\u3064\u306e\u6f5c\u5728\u30d9\u30af\u30c8\u30eb\u3068\u305d\u308c\u306b\u5bfe\u5fdc\u3059\u308b\u3082\u306e\u3092\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3057\u3001<span translate=no>_^_2_^_</span>\u4e00\u90e8\u306e\u30d6\u30ed\u30c3\u30af\u306b\u306f\u30d9\u30fc\u30b9\u30b9\u30bf\u30a4\u30eb\u3092\u4f7f\u7528\u3057\u3001<span translate=no>_^_3_^_</span>\u4e00\u90e8\u306e\u9ed2\u4eba\u306b\u306f\u30d9\u30fc\u30b9\u30b9\u30bf\u30a4\u30eb\u3092\u30e9\u30f3\u30c0\u30e0\u306b\u4f7f\u7528\u3057\u307e\u3059</p>\u3002\n",
|
||||
"<p>Trainable <span translate=no>_^_0_^_</span> constant </p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u53ef\u80fd\u306a\u5b9a\u6570 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Try to normalize the image (this is totally optional, but sped up the early training a little) </p>\n": "<p>\u753b\u50cf\u3092\u6b63\u898f\u5316\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\uff08\u3053\u308c\u306f\u5b8c\u5168\u306b\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u304c\u3001\u521d\u671f\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3092\u5c11\u3057\u30b9\u30d4\u30fc\u30c9\u30a2\u30c3\u30d7\u3067\u304d\u307e\u3059\uff09</p>\n",
|
||||
"<p>Two <span translate=no>_^_0_^_</span> convolutions </p>\n": "<p>2 <span translate=no>_^_0_^_</span> \u3064\u306e\u7573\u307f\u8fbc\u307f</p>\n",
|
||||
"<p>Up sample the RGB image and add to the rgb from the block </p>\n": "<p>RGB \u30a4\u30e1\u30fc\u30b8\u3092\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3057\u3001\u30d6\u30ed\u30c3\u30af\u304b\u3089 RGB \u306b\u8ffd\u52a0\u3057\u307e\u3059</p>\n",
|
||||
"<p>Up sample the feature map </p>\n": "<p>\u30d5\u30a3\u30fc\u30c1\u30e3\u30fc\u30de\u30c3\u30d7\u3092\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0</p>\n",
|
||||
"<p>Up-sample and smoothen </p>\n": "<p>\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3068\u30b9\u30e0\u30fc\u30b8\u30f3\u30b0</p>\n",
|
||||
"<p>Up-sampling layer </p>\n": "<p>\u30a2\u30c3\u30d7\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u30ec\u30a4\u30e4\u30fc</p>\n",
|
||||
"<p>Update exponential sum </p>\n": "<p>\u6307\u6570\u548c\u3092\u66f4\u65b0</p>\n",
|
||||
"<p>Use grouped convolution to efficiently calculate the convolution with sample wise kernel. i.e. we have a different kernel (weights) for each sample in the batch </p>\n": "<p>\u30b0\u30eb\u30fc\u30d7\u5316\u3055\u308c\u305f\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u30b5\u30f3\u30d7\u30eb\u3054\u3068\u306e\u30ab\u30fc\u30cd\u30eb\u3067\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u52b9\u7387\u7684\u306b\u8a08\u7b97\u3067\u304d\u307e\u3059\u3002\u3064\u307e\u308a\u3001\u30d0\u30c3\u30c1\u5185\u306e\u30b5\u30f3\u30d7\u30eb\u3054\u3068\u306b\u7570\u306a\u308b\u30ab\u30fc\u30cd\u30eb\uff08\u91cd\u307f\uff09\u304c\u3042\u308a\u307e\u3059</p>\n",
|
||||
"<p>We'll first introduce the three papers at a high level.</p>\n": "<p>\u307e\u305a\u30013\u3064\u306e\u8ad6\u6587\u3092\u5927\u307e\u304b\u306b\u7d39\u4ecb\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<p>Weight modulated convolution </p>\n": "<p>\u91cd\u307f\u5909\u8abf\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3</p>\n",
|
||||
"<p>Weight modulated convolution layer </p>\n": "<p>\u91cd\u307f\u5909\u8abf\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u5c64</p>\n",
|
||||
"<p>Weight modulated convolution layer without demodulation </p>\n": "<p>\u5fa9\u8abf\u306a\u3057\u306e\u91cd\u307f\u5909\u8abf\u7573\u307f\u8fbc\u307f\u5c64</p>\n",
|
||||
"<p>Weight multiplication coefficient </p>\n": "<p>\u91cd\u91cf\u4e57\u7b97\u4fc2\u6570</p>\n",
|
||||
"<p>Whether to normalize weights </p>\n": "<p>\u30a6\u30a7\u30a4\u30c8\u3092\u6b63\u898f\u5316\u3059\u308b\u304b\u3069\u3046\u304b</p>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f <span translate=no>_^_1_^_</span></li>\n</ul><li><span translate=no>_^_2_^_</span>\u306f <span translate=no>_^_3_^_</span></li>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is <span translate=no>_^_1_^_</span>. In order to mix-styles (use different <span translate=no>_^_2_^_</span> for different layers), we provide a separate <span translate=no>_^_3_^_</span> for each <a href=\"#generator_block\">generator block</a>. It has shape <span translate=no>_^_4_^_</span>. </li>\n<li><span translate=no>_^_5_^_</span> is the noise for each block. It's a list of pairs of noise sensors because each block (except the initial) has two noise inputs after each convolution layer (see the diagram).</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u3067\u3059<span translate=no>_^_1_^_</span>\u3002\u30b9\u30bf\u30a4\u30eb\u3092\u30df\u30c3\u30af\u30b9\u3059\u308b\u305f\u3081\u306b\uff08<span translate=no>_^_2_^_</span>\u30ec\u30a4\u30e4\u30fc\u3054\u3068\u306b\u7570\u306a\u308b\u30b9\u30bf\u30a4\u30eb\u3092\u4f7f\u7528\uff09\u3001<span translate=no>_^_3_^_</span><a href=\"#generator_block\">\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u30d6\u30ed\u30c3\u30af\u3054\u3068\u306b\u500b\u5225\u306e\u30b9\u30bf\u30a4\u30eb\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059</a>\u3002\u5f62\u304c\u3042\u308a\u307e\u3059<span translate=no>_^_4_^_</span>\u3002</li>\n<li><span translate=no>_^_5_^_</span>\u306f\u5404\u30d6\u30ed\u30c3\u30af\u306e\u30ce\u30a4\u30ba\u3067\u3059\u3002\u5404\u30d6\u30ed\u30c3\u30af (\u6700\u521d\u306e\u30d6\u30ed\u30c3\u30af\u3092\u9664\u304f) \u306b\u306f\u5404\u7573\u307f\u8fbc\u307f\u5c64\u306e\u5f8c\u306b 2 \u3064\u306e\u30ce\u30a4\u30ba\u5165\u529b\u304c\u3042\u308b\u305f\u3081\u3001\u3053\u308c\u306f\u30ce\u30a4\u30ba\u30bb\u30f3\u30b5\u30fc\u306e\u30da\u30a2\u306e\u30ea\u30b9\u30c8\u3067\u3059 (\u56f3\u3092\u53c2\u7167</li></ul>)\u3002\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the <span translate=no>_^_1_^_</span> of image resolution </li>\n<li><span translate=no>_^_2_^_</span> is the dimensionality of <span translate=no>_^_3_^_</span> </li>\n<li><span translate=no>_^_4_^_</span> number of features in the convolution layer at the highest resolution (final block) </li>\n<li><span translate=no>_^_5_^_</span> maximum number of features in any generator block</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u306f\u753b\u50cf\u89e3\u50cf\u5ea6\u306e</li>\n<li><span translate=no>_^_2_^_</span>\u306e\u6b21\u5143\u3067\u3059 <span translate=no>_^_3_^_</span></li>\n<li><span translate=no>_^_4_^_</span>\u6700\u5927\u89e3\u50cf\u5ea6\u3067\u306e\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ec\u30a4\u30e4\u30fc\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u6570 (\u6700\u7d42\u30d6\u30ed\u30c3\u30af)</li>\n<li><span translate=no>_^_5_^_</span>\u4efb\u610f\u306e\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6700\u5927\u6570</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the <span translate=no>_^_1_^_</span> of image resolution </li>\n<li><span translate=no>_^_2_^_</span> number of features in the convolution layer at the highest resolution (first block) </li>\n<li><span translate=no>_^_3_^_</span> maximum number of features in any generator block</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u306f\u753b\u50cf\u89e3\u50cf\u5ea6\u306e</li>\n<li><span translate=no>_^_2_^_</span>\u6700\u5927\u89e3\u50cf\u5ea6\u3067\u306e\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ec\u30a4\u30e4\u30fc\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u6570 (1 \u756a\u76ee\u306e\u30d6\u30ed\u30c3\u30af)</li>\n<li><span translate=no>_^_3_^_</span>\u4efb\u610f\u306e\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6700\u5927\u6570</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the batch of <span translate=no>_^_1_^_</span> of shape <span translate=no>_^_2_^_</span> </li>\n<li><span translate=no>_^_3_^_</span> are the generated images of shape <span translate=no>_^_4_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u5f62\u72b6\u306e\u30d0\u30c3\u30c1\u3067\u3059 <span translate=no>_^_2_^_</span></li>\n<li><span translate=no>_^_3_^_</span>\u751f\u6210\u3055\u308c\u305f\u5f62\u72b6\u306e\u753b\u50cf\u3067\u3059 <span translate=no>_^_4_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the constant <span translate=no>_^_1_^_</span> used to calculate the exponential moving average <span translate=no>_^_2_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u6307\u6570\u79fb\u52d5\u5e73\u5747\u306e\u8a08\u7b97\u306b\u4f7f\u7528\u3055\u308c\u308b\u5b9a\u6570\u3067\u3059 <span translate=no>_^_2_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the dimensionality of <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is the number of features in the feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306e\u6b21\u5143\u3067\u3059 <span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span>\u306f\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the dimensionality of <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_3_^_</span> is the number of features in the output feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306e\u6b21\u5143\u3067\u3059 <span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span>\u306f\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li>\n<li><span translate=no>_^_3_^_</span>\u306f\u51fa\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u6a5f\u80fd\u30de\u30c3\u30d7\u3067\u3059</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span> with shape <span translate=no>_^_4_^_</span> </li>\n<li><span translate=no>_^_5_^_</span> is a tensor of shape <span translate=no>_^_6_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f\u30b7\u30a7\u30a4\u30d7\u306e\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u3067\u3059 <span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span><span translate=no>_^_3_^_</span>\u5f62\u4ed8\u304d\u3067\u3059 <span translate=no>_^_4_^_</span></li>\n<li><span translate=no>_^_5_^_</span>\u5f62\u72b6\u306e\u30c6\u30f3\u30bd\u30eb\u3067\u3059 <span translate=no>_^_6_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span> with shape <span translate=no>_^_4_^_</span> </li>\n<li><span translate=no>_^_5_^_</span> is a tuple of two noise tensors of shape <span translate=no>_^_6_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f\u30b7\u30a7\u30a4\u30d7\u306e\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u3067\u3059 <span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span><span translate=no>_^_3_^_</span>\u5f62\u4ed8\u304d\u3067\u3059 <span translate=no>_^_4_^_</span></li>\n<li><span translate=no>_^_5_^_</span>\u5f62\u72b6\u306e2\u3064\u306e\u30ce\u30a4\u30ba\u30c6\u30f3\u30bd\u30eb\u306e\u30bf\u30d7\u30eb\u3067\u3059 <span translate=no>_^_6_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span> with shape <span translate=no>_^_4_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f\u30b7\u30a7\u30a4\u30d7\u306e\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u3067\u3059 <span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span><span translate=no>_^_3_^_</span>\u5f62\u4ed8\u304d\u3067\u3059 <span translate=no>_^_4_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is style based scaling tensor of shape <span translate=no>_^_3_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f\u30b7\u30a7\u30a4\u30d7\u306e\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u3067\u3059 <span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span>\u30b9\u30bf\u30a4\u30eb\u30d9\u30fc\u30b9\u306e\u5f62\u72b6\u306e\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u30c6\u30f3\u30bd\u30eb\u3067\u3059 <span translate=no>_^_3_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input image of shape <span translate=no>_^_1_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u5f62\u72b6\u306e\u5165\u529b\u753b\u50cf\u3067\u3059 <span translate=no>_^_1_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in <span translate=no>_^_1_^_</span> and <span translate=no>_^_2_^_</span> </li>\n<li><span translate=no>_^_3_^_</span> is the number of layers in the mapping network.</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u306f\u304a\u3088\u3073\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059 <span translate=no>_^_2_^_</span></li>\n<li><span translate=no>_^_3_^_</span>\u306f\u3001\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u306e\u30ec\u30a4\u30e4\u30fc\u306e\u6570\u3067\u3059\u3002</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map </li>\n<li><span translate=no>_^_2_^_</span> is the bias initialization constant</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li>\n<li><span translate=no>_^_1_^_</span>\u306f\u51fa\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li>\n<li><span translate=no>_^_2_^_</span>\u306f\u30d0\u30a4\u30a2\u30b9\u521d\u671f\u5316\u5b9a\u6570\u3067\u3059</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map </li>\n<li><span translate=no>_^_2_^_</span> is the size of the convolution kernel </li>\n<li><span translate=no>_^_3_^_</span> is flag whether to normalize weights by its standard deviation </li>\n<li><span translate=no>_^_4_^_</span> is the <span translate=no>_^_5_^_</span> for normalizing</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li>\n<li><span translate=no>_^_1_^_</span>\u306f\u51fa\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li>\n<li><span translate=no>_^_2_^_</span>\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ab\u30fc\u30cd\u30eb\u306e\u30b5\u30a4\u30ba\u3067\u3059</li>\n<li><span translate=no>_^_3_^_</span>\u91cd\u307f\u3092\u305d\u306e\u6a19\u6e96\u504f\u5dee\u3067\u6b63\u898f\u5316\u3059\u308b\u304b\u3069\u3046\u304b\u304c\u30d5\u30e9\u30b0</li>\n<li><span translate=no>_^_4_^_</span><span translate=no>_^_5_^_</span>\u6b63\u898f\u5316\u7528\u3067\u3059</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map </li>\n<li><span translate=no>_^_2_^_</span> is the size of the convolution kernel </li>\n<li><span translate=no>_^_3_^_</span> is the padding to be added on both sides of each size dimension</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li>\n<li><span translate=no>_^_1_^_</span>\u306f\u51fa\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li>\n<li><span translate=no>_^_2_^_</span>\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30ab\u30fc\u30cd\u30eb\u306e\u30b5\u30a4\u30ba\u3067\u3059</li>\n<li><span translate=no>_^_3_^_</span>\u5404\u30b5\u30a4\u30ba\u5bf8\u6cd5\u306e\u4e21\u5074\u306b\u8ffd\u52a0\u3059\u308b\u30d1\u30c7\u30a3\u30f3\u30b0\u3067\u3059</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f\u5165\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li>\n<li><span translate=no>_^_1_^_</span>\u306f\u51fa\u529b\u30d5\u30a3\u30fc\u30c1\u30e3\u30de\u30c3\u30d7\u5185\u306e\u30d5\u30a3\u30fc\u30c1\u30e3\u306e\u6570\u3067\u3059</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of samples to calculate standard deviation across.</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u6a19\u6e96\u504f\u5dee\u3092\u8a08\u7b97\u3059\u308b\u30b5\u30f3\u30d7\u30eb\u306e\u6570\u3067\u3059\u3002</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the shape of the weight parameter</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f\u91cd\u307f\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u5f62\u72b6\u3067\u3059</li></ul>\n",
|
||||
"An annotated PyTorch implementation of StyleGAN2.": "\u30b9\u30bf\u30a4\u30ebGAN2\u306e\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u4ed8\u304dPyTorch\u5b9f\u88c5\u3002",
|
||||
"StyleGAN 2": "\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2"
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"<h1>StyleGAN 2</h1>\n": "<h1>Style\u0d9c\u0db1\u0dca2</h1>\n",
|
||||
"<h2>Generative Adversarial Networks</h2>\n": "<h2>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd</h2>\n",
|
||||
"<h2>Progressive GAN</h2>\n": "<h2>\u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3GAN</h2>\n",
|
||||
"<h2>StyleGAN 2</h2>\n": "<h2>Style\u0d9c\u0db1\u0dca2</h2>\n",
|
||||
"<h2>StyleGAN</h2>\n": "<h2>Style\u0d9c\u0db1\u0dca</h2>\n",
|
||||
"<h3>Convolution with Weight Modulation and Demodulation</h3>\n<p>This layer scales the convolution weights by the style vector and demodulates by normalizing it.</p>\n": "<h3>\u0db6\u0dbb\u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca \u0dc3\u0dc4 \u0da9\u0dd2\u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca \u0dc3\u0db8\u0d9f \u0dc3\u0d82\u0d9a\u0ddd\u0da0\u0db1\u0dba</h3>\n<p>\u0db8\u0dd9\u0db8\u0dc3\u0dca\u0dad\u0dbb\u0dba \u0dc1\u0ddb\u0dbd\u0dd3\u0dba \u0daf\u0ddb\u0dc1\u0dd2\u0d9a\u0dba \u0db8\u0d9c\u0dd2\u0db1\u0dca \u0dc3\u0d82\u0dc0\u0dc4\u0db1 \u0db6\u0dbb \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba\u0da7 \u0dbd\u0d9a\u0dca \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dbb \u0d91\u0dba \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0da9\u0dd2\u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0da7\u0dca \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<h4>AdaIN</h4>\n": "<h4>\u0d92\u0da9\u0dd2\u0db1\u0dca</h4>\n",
|
||||
"<h4>Bilinear Up and Down Sampling</h4>\n": "<h4>\u0daf\u0dca\u0dc0\u0dd2\u0db7\u0dcf\u0dc2\u0dcf\u0d89\u0dc4\u0dc5 \u0dc3\u0dc4 \u0db4\u0dc4\u0dc5 \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd3\u0db8\u0dca</h4>\n",
|
||||
"<h4>Mapping Network</h4>\n": "<h4>\u0da2\u0dcf\u0dbd\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9a\u0dbb\u0dab\u0dba</h4>\n",
|
||||
"<h4>No Progressive Growing</h4>\n": "<h4>\u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3\u0dc0\u0dbb\u0dca\u0db0\u0db1\u0dba\u0d9a\u0dca \u0db1\u0dd0\u0dad</h4>\n",
|
||||
"<h4>Path Length Regularization</h4>\n": "<h4>\u0db8\u0dcf\u0dbb\u0dca\u0d9c\u0dba\u0daf\u0dd2\u0d9c \u0dc0\u0dd2\u0db0\u0dd2\u0db8\u0dad\u0dca</h4>\n",
|
||||
"<h4>Stochastic Variation</h4>\n": "<h4>\u0dc3\u0dca\u0dae\u0dd2\u0dad\u0dd2\u0d9a\u0dc0\u0dd2\u0da0\u0dbd\u0db1\u0dba</h4>\n",
|
||||
"<h4>Style Mixing</h4>\n": "<h4>\u0dc1\u0ddb\u0dbd\u0dd2\u0dba\u0db8\u0dd2\u0dc1\u0dca\u0dbb</h4>\n",
|
||||
"<h4>Weight Modulation and Demodulation</h4>\n": "<h4>\u0db6\u0dbb\u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca \u0dc3\u0dc4 \u0da9\u0dd2\u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca</h4>\n",
|
||||
"<p> <a id=\"discriminator\"></a></p>\n<h2>StyleGAN 2 Discriminator</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>Discriminator first transforms the image to a feature map of the same resolution and then runs it through a series of blocks with residual connections. The resolution is down-sampled by <span translate=no>_^_1_^_</span> at each block while doubling the number of features.</p>\n": "<p> <a id=\"discriminator\"></a></p>\n<h2>StyleGan2 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0db4\u0dc5\u0db8\u0dd4\u0dc0 \u0dbb\u0dd6\u0db4\u0dba \u0d91\u0d9a\u0db8 \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba\u0dda \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0d9a\u0da7 \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba \u0d9a\u0dbb \u0db4\u0dc3\u0dd4\u0dc0 \u0d85\u0dc0\u0dc1\u0dda\u0dc2 \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dad\u0dcf \u0dc3\u0dc4\u0dd2\u0dad \u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2 \u0db8\u0dcf\u0dbd\u0dcf\u0dc0\u0d9a\u0dca \u0dc4\u0dbb\u0dc4\u0dcf \u0d91\u0dba \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2. \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 \u0daf\u0dd9\u0d9c\u0dd4\u0dab \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dbb \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca <span translate=no>_^_1_^_</span> \u0d91\u0d9a\u0dda \u0db4\u0dc4\u0dc5-\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2 \u0d9a\u0dbb \u0d87\u0dad. </p>\n",
|
||||
"<p> <a id=\"discriminator_black\"></a></p>\n<h3>Discriminator Block</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p>Discriminator block consists of two <span translate=no>_^_1_^_</span> convolutions with a residual connection.</p>\n": "<p> <a id=\"discriminator_black\"></a></p>\n<h3>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p>Disturistator\u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0d85\u0dc0\u0dc1\u0dda\u0dc2 \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dad\u0dcf\u0dc0\u0dba\u0d9a\u0dca \u0dc3\u0dc4\u0dd2\u0dad <span translate=no>_^_1_^_</span> \u0dc0\u0dca\u0dba\u0dcf\u0d82\u0da2\u0db1 \u0daf\u0dd9\u0d9a\u0d9a\u0dd2\u0db1\u0dca \u0dc3\u0db8\u0db1\u0dca\u0dc0\u0dd2\u0dad \u0dc0\u0dda. </p>\n",
|
||||
"<p> <a id=\"down_sample\"></a></p>\n<h3>Down-sample</h3>\n<p>The down-sample operation <a href=\"#smooth\">smoothens</a> each feature channel and scale <span translate=no>_^_0_^_</span> using bilinear interpolation. This is based on the paper <a href=\"https://arxiv.org/abs/1904.11486\">Making Convolutional Networks Shift-Invariant Again</a>.</p>\n": "<p> <a id=\"down_sample\"></a></p>\n<h3>\u0db4\u0dc4\u0dc5-\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba</h3>\n<p>\u0db4\u0dc4\u0dc5-\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0db8\u0dd9\u0dc4\u0dd9\u0dba\u0dd4\u0db8 \u0daf\u0dca\u0dc0\u0dd2\u0dbd\u0dd3\u0db1 <a href=\"#smooth\">\u0d85\u0db1\u0dca\u0dad\u0dbb\u0dca\u0db1\u0dd2\u0dc0\u0dda\u0dc2\u0dab\u0dba <span translate=no>_^_0_^_</span> \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db8\u0dd2\u0db1\u0dca \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0 \u0dc3\u0dc4 \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba</a> \u0d9a\u0dbb\u0dba\u0dd2. \u0db8\u0dd9\u0dba \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd3 \u0d87\u0dad\u0dca\u0dad\u0dda <a href=\"https://arxiv.org/abs/1904.11486\">\u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0db8\u0dad \u0dba Convolutional Networks Shift-Invariant \u0db1\u0dd0\u0dc0\u0dad\u0dad\u0dca</a>. </p>\n",
|
||||
"<p> <a id=\"equalized_conv2d\"></a></p>\n<h2>Learning-rate Equalized 2D Convolution Layer</h2>\n<p>This uses <a href=\"#equalized_weights\">learning-rate equalized weights</a> for a convolution layer.</p>\n": "<p> <a id=\"equalized_conv2d\"></a></p>\n<h2>\u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca-\u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dc3\u0db8\u0dcf\u0db1 2D \u0dc3\u0db8\u0dca\u0db8\u0dd4\u0dad\u0dd2\u0dba \u0dc3\u0dca\u0dae\u0dbb\u0dba</h2>\n<p>\u0db8\u0dd9\u0dba\u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf <a href=\"#equalized_weights\">\u0d89\u0d9c\u0dd9\u0db1\u0dd3\u0db8-\u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad \u0dc3\u0db8\u0dcf\u0db1 \u0db6\u0dbb</a> \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<p> <a id=\"equalized_linear\"></a></p>\n<h2>Learning-rate Equalized Linear Layer</h2>\n<p>This uses <a href=\"#equalized_weights\">learning-rate equalized weights</a> for a linear layer.</p>\n": "<p> <a id=\"equalized_linear\"></a></p>\n<h2>\u0d89\u0d9c\u0dd9\u0db1\u0dd3\u0db8-\u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dc3\u0db8\u0dcf\u0db1 \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb\u0dba</h2>\n<p>\u0db8\u0dd9\u0dba\u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dad\u0dbb\u0dba\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf <a href=\"#equalized_weights\">\u0d89\u0d9c\u0dd9\u0db1\u0dd3\u0db8\u0dda \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad \u0dc3\u0db8\u0dcf\u0db1 \u0db6\u0dbb</a> \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<p> <a id=\"equalized_weight\"></a></p>\n<h2>Learning-rate Equalized Weights Parameter</h2>\n<p>This is based on equalized learning rate introduced in the Progressive GAN paper. Instead of initializing weights at <span translate=no>_^_0_^_</span> they initialize weights to <span translate=no>_^_1_^_</span> and then multiply them by <span translate=no>_^_2_^_</span> when using it. <span translate=no>_^_3_^_</span></p>\n<p>The gradients on stored parameters <span translate=no>_^_4_^_</span> get multiplied by <span translate=no>_^_5_^_</span> but this doesn't have an affect since optimizers such as Adam normalize them by a running mean of the squared gradients.</p>\n<p>The optimizer updates on <span translate=no>_^_6_^_</span> are proportionate to the learning rate <span translate=no>_^_7_^_</span>. But the effective weights <span translate=no>_^_8_^_</span> get updated proportionately to <span translate=no>_^_9_^_</span>. Without equalized learning rate, the effective weights will get updated proportionately to just <span translate=no>_^_10_^_</span>.</p>\n<p>So we are effectively scaling the learning rate by <span translate=no>_^_11_^_</span> for these weight parameters.</p>\n": "<p> <a id=\"equalized_weight\"></a></p>\n<h2>\u0d89\u0d9c\u0dd9\u0db1\u0dd3\u0db8-\u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba\u0dc3\u0db8\u0dcf\u0db1 \u0db6\u0dbb \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd2\u0dba</h2>\n<p>\u0db8\u0dd9\u0dba\u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd3 \u0d87\u0dad\u0dca\u0dad\u0dda \u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3 GAN \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0dc0\u0dbd \u0dc4\u0db3\u0dd4\u0db1\u0dca\u0dc0\u0dcf \u0daf\u0dd3 \u0d87\u0dad\u0dd2 \u0dc3\u0db8\u0dcf\u0db1 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba \u0db8\u0dad \u0dba. <span translate=no>_^_0_^_</span> \u0d94\u0dc0\u0dd4\u0db1\u0dca \u0db6\u0dbb \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dc0\u0dcf \u0dc0\u0dd9\u0db1\u0dd4\u0dc0\u0da7 \u0db6\u0dbb \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb <span translate=no>_^_1_^_</span> \u0d91\u0dba \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1 <span translate=no>_^_2_^_</span> \u0dc0\u0dd2\u0da7 \u0d92\u0dc0\u0dcf \u0d9c\u0dd4\u0dab \u0d9a\u0dbb\u0db1\u0dca\u0db1. <span translate=no>_^_3_^_</span></p>\n<p>\u0d9c\u0db6\u0da9\u0dcf\u0d9a\u0dbb\u0db1 \u0dbd\u0daf <span translate=no>_^_4_^_</span> \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd3\u0db1\u0dca\u0dc4\u0dd2 \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0d9c\u0dd4\u0dab \u0d9a\u0dbb\u0db1 <span translate=no>_^_5_^_</span> \u0db1\u0db8\u0dd4\u0dad\u0dca \u0d86\u0daf\u0db8\u0dca \u0dc0\u0dd0\u0db1\u0dd2 \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0dd2\u0d9a\u0dba\u0db1\u0dca \u0dc0\u0dbb\u0dca\u0d9c \u0d9a\u0dc5 \u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0d9a \u0db0\u0dcf\u0dc0\u0db1 \u0db8\u0db0\u0dca\u0dba\u0db1\u0dca\u0dba\u0dba\u0d9a\u0dd2\u0db1\u0dca \u0d92\u0dc0\u0dcf \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1 \u0db6\u0dd0\u0dc0\u0dd2\u0db1\u0dca \u0db8\u0dd9\u0dba\u0da7 \u0db6\u0dbd\u0db4\u0dd1\u0db8\u0d9a\u0dca \u0d87\u0dad\u0dd2 \u0db1\u0ddc\u0d9a\u0dbb\u0dba\u0dd2. </p>\n<p>\u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0dd2\u0d9a\u0dbb\u0dab\u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 <span translate=no>_^_6_^_</span> \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba\u0da7 \u0dc3\u0db8\u0dcf\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dd2\u0d9a <span translate=no>_^_7_^_</span>\u0dc0\u0dda. \u0db1\u0db8\u0dd4\u0dad\u0dca <span translate=no>_^_8_^_</span> \u0db5\u0dbd\u0daf\u0dcf\u0dba\u0dd3 \u0db4\u0da9\u0dd2 \u0dc3\u0db8\u0dcf\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dd2\u0d9a\u0dc0 \u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 \u0dc0\u0dda <span translate=no>_^_9_^_</span>. \u0dc3\u0db8\u0dcf\u0db1 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba \u0dad\u0ddc\u0dbb\u0dc0, \u0db5\u0dbd\u0daf\u0dcf\u0dba\u0dd3 \u0db4\u0da9\u0dd2 \u0db4\u0db8\u0dab\u0d9a\u0dca \u0dc3\u0db8\u0dcf\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dd2\u0d9a\u0dc0 \u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 \u0dbd\u0dd0\u0db6\u0dd9\u0db1\u0dd4 \u0d87\u0dad <span translate=no>_^_10_^_</span>. </p>\n<p>\u0d91\u0db6\u0dd0\u0dc0\u0dd2\u0db1\u0dca\u0d85\u0db4\u0dd2 \u0db8\u0dd9\u0db8 \u0db6\u0dbb \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd3\u0db1\u0dca <span translate=no>_^_11_^_</span> \u0dc3\u0db3\u0dc4\u0dcf \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba effectively \u0dbd\u0daf\u0dcf\u0dba\u0dd3 \u0dbd\u0dd9\u0dc3 \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dbb\u0db8\u0dd4. </p>\n",
|
||||
"<p> <a id=\"generator\"></a></p>\n<h2>StyleGAN2 Generator</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer. <span translate=no>_^_2_^_</span> denotes a broadcast and scaling operation (noise is a single channel). <a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a> also has a style modulation which is not shown in the diagram to keep it simple.</em></small></p>\n<p>The generator starts with a learned constant. Then it has a series of blocks. The feature map resolution is doubled at each block Each block outputs an RGB image and they are scaled up and summed to get the final RGB image.</p>\n": "<p> <a id=\"generator\"></a></p>\n<h2>StyleGan2\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2. <span translate=no>_^_2_^_</span> \u0dc0\u0dd2\u0d9a\u0dcf\u0dc1\u0db1 \u0dc4\u0dcf \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab \u0db8\u0dd9\u0dc4\u0dd9\u0dba\u0dd4\u0db8\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2 (\u0dc1\u0db6\u0dca\u0daf\u0dba \u0dad\u0db1\u0dd2 \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0\u0d9a\u0dd2). <a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a> \u0dc1\u0ddb\u0dbd\u0dd3\u0dba \u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca \u0d91\u0d9a\u0d9a\u0dca \u0daf \u0d87\u0dad\u0dd2 \u0d85\u0dad\u0dbb \u0d91\u0dba \u0dc3\u0dbb\u0dbd \u0dbd\u0dd9\u0dc3 \u0dad\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dbb\u0dd6\u0db4 \u0dc3\u0da7\u0dc4\u0db1\u0dda \u0db4\u0dd9\u0db1\u0dca\u0dc0\u0dcf \u0db1\u0dd0\u0dad. </em></small></p>\n<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0d89\u0d9c\u0dd9\u0db1 \u0d9c\u0dad\u0dca \u0db1\u0dd2\u0dba\u0dad\u0dba\u0d9a\u0dd2\u0db1\u0dca \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0dc0\u0dda. \u0d91\u0dc0\u0dd2\u0da7 \u0d91\u0dba \u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2 \u0db8\u0dcf\u0dbd\u0dcf\u0dc0\u0d9a\u0dca \u0d87\u0dad. \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba \u0dc3\u0dd1\u0db8 \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0d91\u0d9a\u0d9a\u0db8 \u0daf\u0dd9\u0d9c\u0dd4\u0dab \u0dc0\u0dda \u0dc3\u0dd1\u0db8 \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0d91\u0d9a\u0d9a\u0dca\u0db8 RGB \u0dbb\u0dd6\u0db4\u0dba\u0d9a\u0dca \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dbb \u0d85\u0dc0\u0dc3\u0dcf\u0db1 RGB \u0dbb\u0dd6\u0db4\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d92\u0dc0\u0dcf \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dbb \u0dc3\u0dcf\u0dbb\u0dcf\u0d82\u0dc1\u0d9c\u0dad \u0d9a\u0dbb \u0d87\u0dad. </p>\n",
|
||||
"<p> <a id=\"generator_block\"></a></p>\n<h3>Generator Block</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer. <span translate=no>_^_2_^_</span> denotes a broadcast and scaling operation (noise is a single channel). <a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a> also has a style modulation which is not shown in the diagram to keep it simple.</em></small></p>\n<p>The generator block consists of two <a href=\"#style_block\">style blocks</a> (<span translate=no>_^_4_^_</span> convolutions with style modulation) and an RGB output.</p>\n": "<p> <a id=\"generator_block\"></a></p>\n<h3>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2. <span translate=no>_^_2_^_</span> \u0dc0\u0dd2\u0d9a\u0dcf\u0dc1\u0db1 \u0dc4\u0dcf \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab \u0db8\u0dd9\u0dc4\u0dd9\u0dba\u0dd4\u0db8\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2 (\u0dc1\u0db6\u0dca\u0daf\u0dba \u0dad\u0db1\u0dd2 \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0\u0d9a\u0dd2). <a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a> \u0dc1\u0ddb\u0dbd\u0dd3\u0dba \u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca \u0d91\u0d9a\u0d9a\u0dca \u0daf \u0d87\u0dad\u0dd2 \u0d85\u0dad\u0dbb \u0d91\u0dba \u0dc3\u0dbb\u0dbd \u0dbd\u0dd9\u0dc3 \u0dad\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dbb\u0dd6\u0db4 \u0dc3\u0da7\u0dc4\u0db1\u0dda \u0db4\u0dd9\u0db1\u0dca\u0dc0\u0dcf \u0db1\u0dd0\u0dad. </em></small></p>\n<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d9a\u0ddc\u0da7\u0dc3 <a href=\"#style_block\">\u0dc1\u0ddb\u0dbd\u0dd3\u0dba \u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2 \u0daf\u0dd9\u0d9a\u0d9a\u0dd2\u0db1\u0dca (\u0dc1\u0ddb\u0dbd\u0dd3\u0dba</a> \u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca \u0dc3\u0dc4\u0dd2\u0dad<span translate=no>_^_4_^_</span> \u0d9a\u0dd0\u0da7\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca) \u0dc3\u0dc4 RGB \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba\u0d9a\u0dd2\u0db1\u0dca \u0dc3\u0db8\u0db1\u0dca\u0dc0\u0dd2\u0dad \u0dc0\u0dda. </p>\n",
|
||||
"<p> <a id=\"gradient_penalty\"></a></p>\n<h2>Gradient Penalty</h2>\n<p>This is the <span translate=no>_^_0_^_</span> regularization penality from the paper <a href=\"https://arxiv.org/abs/1801.04406\">Which Training Methods for GANs do actually Converge?</a>.</p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>That is we try to reduce the L2 norm of gradients of the discriminator with respect to images, for real images (<span translate=no>_^_2_^_</span>).</p>\n": "<p> <a id=\"gradient_penalty\"></a></p>\n<h2>\u0d9c\u0dca\u0dbb\u0dda\u0da9\u0dd2\u0dba\u0db1\u0dca\u0da7\u0dca\u0daf\u0dac\u0dd4\u0dc0\u0db8</h2>\n<p>\u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2\u0dc0\u0dbd\u0dd2\u0db1\u0dca <span translate=no>_^_0_^_</span> \u0dc0\u0dd2\u0db0\u0dd2\u0db8\u0dad\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0daf ality \u0dd4\u0dc0\u0db8 \u0db8\u0dd9\u0dba\u0dba\u0dd2 <a href=\"https://arxiv.org/abs/1801.04406\">GANs \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dca\u0dbb\u0db8 \u0d87\u0dad\u0dca\u0dad \u0dc0\u0dc1\u0dba\u0dd9\u0db1\u0dca\u0db8 \u0d85\u0db7\u0dd2\u0dc3\u0dcf\u0dbb\u0dd3 \u0dc0\u0db1\u0dca\u0db1\u0dda \u0d9a\u0dd4\u0db8\u0d9a\u0dca\u0daf? </a>. </p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>\u0d92\u0dad\u0db8\u0dba\u0dd2 \u0d85\u0db4\u0dd2 \u0dbb\u0dd6\u0db4 \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dba\u0dd9\u0db1\u0dca \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda L2 \u0dc3\u0db8\u0dca\u0db8\u0dad\u0dba \u0d85\u0da9\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0d8b\u0dad\u0dca\u0dc3\u0dcf\u0dc4 \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dda \u0dc3\u0dd0\u0db6\u0dd1 \u0dbb\u0dd6\u0db4 \u0dc3\u0db3\u0dc4\u0dcf (<span translate=no>_^_2_^_</span>). </p>\n",
|
||||
"<p> <a id=\"mapping_network\"></a></p>\n<h2>Mapping Network</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>This is an MLP with 8 linear layers. The mapping network maps the latent vector <span translate=no>_^_1_^_</span> to an intermediate latent space <span translate=no>_^_2_^_</span>. <span translate=no>_^_3_^_</span> space will be disentangled from the image space where the factors of variation become more linear.</p>\n": "<p> <a id=\"mapping_network\"></a></p>\n<h2>\u0da2\u0dcf\u0dbd\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9a\u0dbb\u0dab\u0dba</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>\u0db8\u0dd9\u0dba\u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb 8 \u0d9a\u0dca \u0dc3\u0dc4\u0dd2\u0dad MLP \u0dc0\u0dda. \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9a\u0dbb\u0dab \u0da2\u0dcf\u0dbd\u0dba \u0d9c\u0dd4\u0db4\u0dca\u0dad \u0daf\u0ddb\u0dc1\u0dd2\u0d9a\u0dba \u0d85\u0dad\u0dbb\u0db8\u0dd0\u0daf\u0dd2 \u0d9c\u0dd4\u0db4\u0dca\u0dad <span translate=no>_^_1_^_</span> \u0d85\u0dc0\u0d9a\u0dcf\u0dc1\u0dba\u0d9a\u0da7 \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca \u0d9c\u0dad <span translate=no>_^_2_^_</span>\u0d9a\u0dbb\u0dba\u0dd2. <span translate=no>_^_3_^_</span> \u0dc0\u0dd2\u0da0\u0dbd\u0dca\u0dba\u0dad\u0dcf\u0dc0\u0dba\u0dda \u0dc3\u0dcf\u0db0\u0d9a \u0dc0\u0da9\u0dcf\u0dad\u0dca \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc0\u0db1 \u0dbb\u0dd6\u0db4 \u0d85\u0dc0\u0d9a\u0dcf\u0dc1\u0dba\u0dd9\u0db1\u0dca \u0d85\u0dc0\u0d9a\u0dcf\u0dc1\u0dba \u0dc0\u0dd2\u0dc3\u0dd4\u0dbb\u0dd4\u0dc0\u0dcf \u0dc4\u0dbb\u0dd2\u0db1\u0dd4 \u0d87\u0dad. </p>\n",
|
||||
"<p> <a id=\"mini_batch_std_dev\"></a></p>\n<h3>Mini-batch Standard Deviation</h3>\n<p>Mini-batch standard deviation calculates the standard deviation across a mini-batch (or a subgroups within the mini-batch) for each feature in the feature map. Then it takes the mean of all the standard deviations and appends it to the feature map as one extra feature.</p>\n": "<p> <a id=\"mini_batch_std_dev\"></a></p>\n<h3>\u0d9a\u0dd4\u0da9\u0dcf\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8 \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba</h3>\n<p>\u0d9a\u0dd4\u0da9\u0dcf\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0d87\u0dad\u0dd2 \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dbd\u0d9a\u0dca\u0dc2\u0dab\u0dba \u0dc3\u0db3\u0dc4\u0dcf \u0d9a\u0dd4\u0da9\u0dcf \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0d9a\u0dca (\u0dc4\u0ddd \u0d9a\u0dd4\u0da9\u0dcf \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8 \u0dad\u0dd4\u0dc5 \u0d87\u0dad\u0dd2 \u0d8b\u0db4 \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca) \u0dc4\u0dbb\u0dc4\u0dcf \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2. \u0d91\u0dc0\u0dd2\u0da7 \u0d91\u0dba \u0dc3\u0dd2\u0dba\u0dbd\u0dd4 \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba\u0db1\u0dca\u0dc4\u0dd2 \u0db8\u0db0\u0dca\u0dba\u0db1\u0dca\u0dba\u0dba \u0d9c\u0dd9\u0db1 \u0d91\u0dba \u0d91\u0d9a\u0dca \u0d85\u0db8\u0dad\u0dbb \u0d85\u0d82\u0d9c\u0dba\u0d9a\u0dca \u0dbd\u0dd9\u0dc3 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0da7 \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<p> <a id=\"path_length_penalty\"></a></p>\n<h2>Path Length Penalty</h2>\n<p>This regularization encourages a fixed-size step in <span translate=no>_^_0_^_</span> to result in a fixed-magnitude change in the image.</p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>where <span translate=no>_^_2_^_</span> is the Jacobian <span translate=no>_^_3_^_</span>, <span translate=no>_^_4_^_</span> are sampled from <span translate=no>_^_5_^_</span> from the mapping network, and <span translate=no>_^_6_^_</span> are images with noise <span translate=no>_^_7_^_</span>.</p>\n<p><span translate=no>_^_8_^_</span> is the exponential moving average of <span translate=no>_^_9_^_</span> as the training progresses.</p>\n<p><span translate=no>_^_10_^_</span> is calculated without explicitly calculating the Jacobian using <span translate=no>_^_11_^_</span></p>\n": "<p> <a id=\"path_length_penalty\"></a></p>\n<h2>\u0db8\u0dcf\u0dbb\u0dca\u0d9c\u0dba\u0daf\u0dd2\u0d9c \u0daf\u0dab\u0dca\u0da9\u0db1</h2>\n<p>\u0db8\u0dd9\u0db8\u0db1\u0dd2\u0dba\u0dcf\u0db8\u0db1\u0dba \u0db8\u0d9f\u0dd2\u0db1\u0dca \u0dbb\u0dd6\u0db4\u0dba\u0dda \u0dc3\u0dca\u0dae\u0dcf\u0dc0\u0dbb \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0dda \u0dc0\u0dd9\u0db1\u0dc3\u0d9a\u0dca \u0d87\u0dad\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 <span translate=no>_^_0_^_</span> \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0dca\u0dae\u0dcf\u0dc0\u0dbb \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0dda \u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0d9a\u0dca \u0daf\u0dd2\u0dbb\u0dd2\u0db8\u0dad\u0dca \u0d9a\u0dbb\u0dba\u0dd2. </p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>\u0da2\u0dd0\u0d9a\u0ddd\u0db6\u0dd2\u0dba\u0db1\u0dca <span translate=no>_^_2_^_</span> \u0d9a\u0ddc\u0dc4\u0dd9\u0daf <span translate=no>_^_3_^_</span>, <span translate=no>_^_4_^_</span> \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9a\u0dbb\u0dab <span translate=no>_^_5_^_</span> \u0da2\u0dcf\u0dbd\u0dba\u0dd9\u0db1\u0dca \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0dbd\u0db6\u0dcf \u0d87\u0dad, \u0dc3\u0dc4 <span translate=no>_^_6_^_</span> \u0d92\u0dc0\u0dcf \u0dc1\u0db6\u0dca\u0daf\u0dba \u0dc3\u0dc4\u0dd2\u0dad \u0dbb\u0dd6\u0db4 <span translate=no>_^_7_^_</span>. </p>\n<p><span translate=no>_^_8_^_</span> \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0 \u0d89\u0daf\u0dd2\u0dbb\u0dd2\u0dba\u0da7 \u0dba\u0dad\u0dca\u0db8 \u0d9d\u0dcf\u0dad\u0dd3\u0dba \u0da0\u0dbd\u0db1\u0dba \u0dc0\u0db1 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0dba \u0dc0\u0dda. <span translate=no>_^_9_^_</span> </p>\n<p><span translate=no>_^_10_^_</span> \u0da2\u0dd0\u0d9a\u0ddc\u0db6\u0dd2\u0dba\u0db1\u0dca \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dba\u0dd9\u0db1\u0dca \u0db4\u0dd0\u0dc4\u0dd0\u0daf\u0dd2\u0dbd\u0dd2\u0dc0 \u0d9c\u0dab\u0db1\u0dba \u0db1\u0ddc\u0d9a\u0dbb \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dd4 \u0dbd\u0dd0\u0db6\u0dda <span translate=no>_^_11_^_</span></p>\n",
|
||||
"<p> <a id=\"smooth\"></a></p>\n<h3>Smoothing Layer</h3>\n<p>This layer blurs each channel</p>\n": "<p> <a id=\"smooth\"></a></p>\n<h3>\u0dc3\u0dca\u0dae\u0dbb\u0dba\u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba</h3>\n<p>\u0db8\u0dd9\u0db8\u0dc3\u0dca\u0dad\u0dbb\u0dba \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0 \u0db6\u0ddc\u0db3 \u0d9a\u0dbb\u0dba\u0dd2</p>\n",
|
||||
"<p> <a id=\"style_block\"></a></p>\n<h3>Style Block</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer. <span translate=no>_^_2_^_</span> denotes a broadcast and scaling operation (noise is single channel).</em></small></p>\n<p>Style block has a weight modulation convolution layer.</p>\n": "<p> <a id=\"style_block\"></a></p>\n<h3>\u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0dbd\u0dca</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2. <span translate=no>_^_2_^_</span> \u0dc0\u0dd2\u0d9a\u0dcf\u0dc1\u0db1 \u0dc4\u0dcf \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab \u0db8\u0dd9\u0dc4\u0dd9\u0dba\u0dd4\u0db8\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2 (\u0dc1\u0db6\u0dca\u0daf\u0dba \u0dad\u0db1\u0dd2 \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0\u0d9a\u0dd2). </em></small></p>\n<p>\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0dbd\u0dca\u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0db6\u0dbb \u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca \u0d9a\u0dd0\u0da7\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dad\u0da7\u0dca\u0da7\u0dd4\u0dc0\u0d9a\u0dca \u0d87\u0dad. </p>\n",
|
||||
"<p> <a id=\"to_rgb\"></a></p>\n<h3>To RGB</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer.</em></small></p>\n<p>Generates an RGB image from a feature map using <span translate=no>_^_2_^_</span> convolution.</p>\n": "<p> <a id=\"to_rgb\"></a></p>\n<h3>RGB\u0dc0\u0dd9\u0dad</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2. </em></small></p>\n<p><span translate=no>_^_2_^_</span> \u0dc3\u0d82\u0dc0\u0dbd\u0dd2\u0dad \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dba\u0dd9\u0db1\u0dca \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0d9a\u0dd2\u0db1\u0dca RGB \u0dbb\u0dd6\u0db4\u0dba\u0d9a\u0dca \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<p> <a id=\"up_sample\"></a></p>\n<h3>Up-sample</h3>\n<p>The up-sample operation scales the image up by <span translate=no>_^_0_^_</span> and <a href=\"#smooth\">smoothens</a> each feature channel. This is based on the paper <a href=\"https://arxiv.org/abs/1904.11486\">Making Convolutional Networks Shift-Invariant Again</a>.</p>\n": "<p> <a id=\"up_sample\"></a></p>\n<h3>\u0d89\u0dc4\u0dc5\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba</h3>\n<p>\u0daf\u0d9a\u0dca\u0dc0\u0dcf-\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0db8\u0dd9\u0dc4\u0dd9\u0dba\u0dd4\u0db8 \u0db8\u0d9f\u0dd2\u0db1\u0dca \u0dbb\u0dd6\u0db4\u0dba \u0d89\u0dc4\u0dc5\u0da7 \u0d9c\u0dd9\u0db1 \u0dba\u0db1 <span translate=no>_^_0_^_</span> \u0d85\u0dad\u0dbb \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0 <a href=\"#smooth\">\u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2</a> . \u0db8\u0dd9\u0dba \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd3 \u0d87\u0dad\u0dca\u0dad\u0dda <a href=\"https://arxiv.org/abs/1904.11486\">\u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0db8\u0dad \u0dba Convolutional Networks Shift-Invariant \u0db1\u0dd0\u0dc0\u0dad\u0dad\u0dca</a>. </p>\n",
|
||||
"<p><a href=\"#equalized_linear\">Equalized learning-rate linear layers</a> </p>\n": "<p><a href=\"#equalized_linear\">\u0dc3\u0db8\u0dcf\u0db1 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca-\u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb</a> </p>\n",
|
||||
"<p><a href=\"#equalized_weight\">Weights parameter with equalized learning rate</a> </p>\n": "<p><a href=\"#equalized_weight\">\u0dc3\u0db8\u0dcf\u0db1 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba \u0dc3\u0dc4\u0dd2\u0dad \u0db6\u0dbb \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd2\u0dba</a> </p>\n",
|
||||
"<p><a href=\"#equalized_weights\">Learning-rate equalized weights</a> </p>\n": "<p><a href=\"#equalized_weights\">\u0d89\u0d9c\u0dd9\u0db1\u0dd3\u0db8-\u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad \u0dc3\u0db8\u0dcf\u0db1 \u0db6\u0dbb</a> </p>\n",
|
||||
"<p><a href=\"#mini_batch_std_dev\">Mini-batch Standard Deviation</a> </p>\n": "<p><a href=\"#mini_batch_std_dev\">\u0d9a\u0dd4\u0da9\u0dcf \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8 \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba</a> </p>\n",
|
||||
"<p><em>Our implementation is a minimalistic StyleGAN 2 model training code. Only single GPU training is supported to keep the implementation simple. We managed to shrink it to keep it at less than 500 lines of code, including the training loop.</em></p>\n": "<p><em>\u0d85\u0db4\u0d9c\u0dda\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0d85\u0dc0\u0db8 \u0dc0\u0dda StyleGAN 2 \u0d86\u0daf\u0dbb\u0dca\u0dc1 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dda\u0dad\u0dba. \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dbb\u0dbd \u0dbd\u0dd9\u0dc3 \u0dad\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0dc4\u0dcf\u0dba \u0dc0\u0db1\u0dca\u0db1\u0dda \u0dad\u0db1\u0dd2 GPU \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0\u0d9a\u0dca \u0db4\u0db8\u0dab\u0dd2. \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0dbd\u0dd6\u0db4\u0dba \u0d87\u0dad\u0dd4\u0dc5\u0dd4\u0dc0 \u0d9a\u0dda\u0dad \u0db4\u0dda\u0dc5\u0dd2 500 \u0d9a\u0da7 \u0dc0\u0da9\u0dcf \u0d85\u0da9\u0dd4 \u0db8\u0da7\u0dca\u0da7\u0db8\u0d9a \u0dad\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d91\u0dba \u0dc4\u0dd0\u0d9a\u0dd2\u0dbd\u0dd3\u0db8\u0da7 \u0d85\u0db4\u0da7 \u0dc4\u0dd0\u0d9a\u0dd2 \u0dc0\u0dd2\u0dba. </em></p>\n",
|
||||
"<p><em>toRGB</em> layer </p>\n": "<p><em>\u0da7\u0ddc\u0dbb\u0dca\u0da2\u0dd3\u0db6\u0dd3</em> \u0dc3\u0dca\u0dae\u0dbb\u0dba </p>\n",
|
||||
"<p><small><em><span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> denote feature map resolution scaling and scaling. <span translate=no>_^_2_^_</span>, <span translate=no>_^_3_^_</span>, ... denote feature map resolution at the generator or discriminator block. Each discriminator and generator block consists of 2 convolution layers with leaky ReLU activations.</em></small></p>\n": "<p><small><em><span translate=no>_^_0_^_</span> \u0dc3\u0dc4 <span translate=no>_^_1_^_</span> \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1 \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0dc3\u0dc4 \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2. <span translate=no>_^_2_^_</span>, <span translate=no>_^_3_^_</span>,... \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba\u0dda \u0dc4\u0ddd \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d9a\u0ddc\u0da7\u0dc3\u0dd9\u0dc4\u0dd2 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2. \u0dc3\u0dd1\u0db8 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dd9\u0d9a\u0dd4 \u0dc3\u0dc4 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0d91\u0d9a\u0d9a\u0dca \u0d9a\u0dcf\u0db1\u0dca\u0daf\u0dd4 \u0dc0\u0db1 RelU \u0dc3\u0d9a\u0dca\u0dbb\u0dd2\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca \u0dc3\u0dc4\u0dd2\u0dad \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0dc3\u0dca\u0dae\u0dbb 2 \u0d9a\u0dd2\u0db1\u0dca \u0dc3\u0db8\u0db1\u0dca\u0dc0\u0dd2\u0dad \u0dc0\u0dda. </em></small></p>\n",
|
||||
"<p><small><em><span translate=no>_^_0_^_</span> denotes a linear layer. <span translate=no>_^_1_^_</span> denotes a broadcast and scaling operation (noise is a single channel). StyleGAN also uses progressive growing like Progressive GAN.</em></small></p>\n": "<p><small><em><span translate=no>_^_0_^_</span> \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2. <span translate=no>_^_1_^_</span> \u0dc0\u0dd2\u0d9a\u0dcf\u0dc1\u0db1 \u0dc4\u0dcf \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab \u0db8\u0dd9\u0dc4\u0dd9\u0dba\u0dd4\u0db8\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd2 (\u0dc1\u0db6\u0dca\u0daf\u0dba \u0dad\u0db1\u0dd2 \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0\u0d9a\u0dd2). StyleGan \u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3 GAN \u0dc0\u0dd0\u0db1\u0dd2 \u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3 \u0dc0\u0dbb\u0dca\u0db0\u0db1\u0dba \u0daf \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0dba\u0dd2. </em></small></p>\n",
|
||||
"<p><small><em>These are <span translate=no>_^_0_^_</span> images generated after training for about 80K steps.</em></small></p>\n": "<p><small><em>\u0db8\u0dda\u0dc0\u0dcf80K \u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0\u0dd9\u0db1\u0dca \u0db4\u0dc3\u0dd4 \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf <span translate=no>_^_0_^_</span> \u0dbb\u0dd6\u0db4 \u0dc0\u0dda. </em></small></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> Then it's demodulated by normalizing, <span translate=no>_^_1_^_</span> where <span translate=no>_^_2_^_</span> is the input channel, <span translate=no>_^_3_^_</span> is the output channel, and <span translate=no>_^_4_^_</span> is the kernel index.</p>\n": "<p><span translate=no>_^_0_^_</span> \u0d91\u0dc0\u0dd2\u0da7 \u0d91\u0dba \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0d89\u0dc0\u0dad\u0dca \u0d9a\u0dbb\u0db1\u0dd4 <span translate=no>_^_2_^_</span> \u0dbd\u0dd0\u0db6\u0dda, \u0d86\u0daf\u0dcf\u0db1 \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0 <span translate=no>_^_1_^_</span> \u0d9a\u0ddc\u0dad\u0dd0\u0db1\u0daf, \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1 \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0 <span translate=no>_^_3_^_</span> \u0dc0\u0db1 \u0d85\u0dad\u0dbb <span translate=no>_^_4_^_</span> \u0dba\u0db1\u0dd4 \u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dca \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba\u0dba\u0dd2. </p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> convolution </p>\n": "<p><span translate=no>_^_0_^_</span> \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd2\u0db8 </p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> up sampling layer. The feature space is up sampled at each block </p>\n": "<p><span translate=no>_^_0_^_</span> \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2 \u0dc3\u0dca\u0dae\u0dbb\u0dba \u0daf\u0d9a\u0dca\u0dc0\u0dcf. \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d85\u0dc0\u0d9a\u0dcf\u0dc1\u0dba \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dc0\u0dcf\u0dbb\u0dab \u0daf\u0dd3 sampled \u0daf\u0d9a\u0dca\u0dc0\u0dcf </p>\u0d87\u0dad\n",
|
||||
"<p><span translate=no>_^_0_^_</span> where <span translate=no>_^_1_^_</span> is the input channel, <span translate=no>_^_2_^_</span> is the output channel, and <span translate=no>_^_3_^_</span> is the kernel index.</p>\n<p>The result has shape <span translate=no>_^_4_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span> \u0d86\u0daf\u0dcf\u0db1 \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0 <span translate=no>_^_2_^_</span> \u0dba\u0db1\u0dd4 \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1 \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0 \u0dc0\u0db1 \u0d85\u0dad\u0dbb \u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dca \u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba <span translate=no>_^_3_^_</span> \u0dc0\u0dda. <span translate=no>_^_1_^_</span> </p>\n<p>\u0db4\u0dca\u0dbb\u0dad\u0dd2result \u0dbd\u0dba \u0dc4\u0dd0\u0da9\u0dba \u0d87\u0dad <span translate=no>_^_4_^_</span> </p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span></p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><strong>\ud83c\udfc3 Here's the training code: <a href=\"experiment.html\"><span translate=no>_^_0_^_</span></a>.</strong></p>\n": "<p><strong>\ud83c\udfc3\u0db8\u0dd9\u0db1\u0dca\u0db1 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dda\u0dad\u0dba: <a href=\"experiment.html\"><span translate=no>_^_0_^_</span></a>. </strong></p>\n",
|
||||
"<p>Activation function </p>\n": "<p>\u0dc3\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d9a\u0dcf\u0dbb\u0dca\u0dba\u0dba </p>\n",
|
||||
"<p>Add bias and evaluate activation function </p>\n": "<p>\u0db1\u0dd0\u0db9\u0dd4\u0dbb\u0dd4\u0dc0\u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb \u0dc3\u0d9a\u0dca\u0dbb\u0dd2\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d9a\u0dcf\u0dbb\u0dca\u0dba\u0dba \u0d87\u0d9c\u0dba\u0dd3\u0db8\u0da7 \u0dbd\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Add padding </p>\n": "<p>\u0db4\u0dd1\u0da9\u0dd2\u0db1\u0dca\u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Add the residual and scale </p>\n": "<p>\u0d85\u0dc0\u0dc1\u0dda\u0dc2\u0dc3\u0dc4 \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>All the up and down-sampling operations are accompanied by bilinear smoothing.</p>\n": "<p>\u0dc3\u0dd2\u0dba\u0dbd\u0dd4\u0db8\u0d89\u0dc4\u0dc5 \u0dc3\u0dc4 \u0db4\u0dc4\u0dc5 \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2 \u0db8\u0dd9\u0dc4\u0dd9\u0dba\u0dd4\u0db8\u0dca \u0daf\u0dca\u0dc0\u0dd2\u0dad\u0dd2\u0dba\u0dbb\u0dca \u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba \u0dc3\u0db8\u0d9f \u0d87\u0dad. </p>\n",
|
||||
"<p>Append (concatenate) the standard deviations to the feature map </p>\n": "<p>\u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0da7 \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba (\u0dc3\u0d82\u0dba\u0dd4\u0d9a\u0dca\u0dad \u0d9a\u0dbb\u0db1\u0dca\u0db1) </p>\n",
|
||||
"<p>At each resolution, the generator network produces an image in latent space which is converted into RGB, with a <span translate=no>_^_0_^_</span> convolution. When we progress from a lower resolution to a higher resolution (say from <span translate=no>_^_1_^_</span> to <span translate=no>_^_2_^_</span> ) we scale the latent image by <span translate=no>_^_3_^_</span> and add a new block (two <span translate=no>_^_4_^_</span> convolution layers) and a new <span translate=no>_^_5_^_</span> layer to get RGB. The transition is done smoothly by adding a residual connection to the <span translate=no>_^_6_^_</span> scaled <span translate=no>_^_7_^_</span> RGB image. The weight of this residual connection is slowly reduced, to let the new block take over.</p>\n": "<p>\u0dc3\u0dd1\u0db8\u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba\u0d9a\u0daf\u0dd3\u0db8, \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0da2\u0dcf\u0dbd\u0dba \u0db8\u0d9f\u0dd2\u0db1\u0dca \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0dbb\u0dd6\u0db4\u0dba\u0d9a\u0dca \u0db1\u0dd2\u0db4\u0daf\u0dc0\u0dba\u0dd2 \u0d9c\u0dd4\u0db4\u0dca\u0dad \u0d85\u0dc0\u0d9a\u0dcf\u0dc1\u0dba\u0dda \u0d91\u0dba RGB \u0db6\u0dc0\u0da7 \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba <span translate=no>_^_0_^_</span> \u0dc0\u0dda. \u0d85\u0db4\u0dd2 \u0d85\u0da9\u0dd4 \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba\u0d9a \u0dc3\u0dd2\u0da7 \u0d89\u0dc4\u0dc5 \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba\u0d9a\u0dca \u0daf\u0d9a\u0dca\u0dc0\u0dcf \u0d89\u0daf\u0dd2\u0dbb\u0dd2\u0dba\u0da7 \u0dba\u0db1 \u0dc0\u0dd2\u0da7 (\u0dc3\u0dd2\u0da7 <span translate=no>_^_1_^_</span> \u0d9a\u0dd2\u0dba\u0db1\u0dca\u0db1 <span translate=no>_^_2_^_</span> ) \u0d85\u0db4\u0dd2 \u0d9c\u0dd4\u0db4\u0dca\u0dad \u0dbb\u0dd6\u0db4\u0dba \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dbb <span translate=no>_^_3_^_</span> \u0db1\u0dc0 \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0d91\u0d9a\u0d9a\u0dca \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db8\u0dd4 (\u0daf\u0dd9\u0d9a\u0d9a\u0dca <span translate=no>_^_4_^_</span> \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0dc3\u0dca\u0dae\u0dbb) \u0dc3\u0dc4 RGB \u0dbd\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0db1\u0dc0 <span translate=no>_^_5_^_</span> \u0dad\u0da7\u0dca\u0da7\u0dd4\u0dc0\u0d9a\u0dca. <span translate=no>_^_6_^_</span> \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf <span translate=no>_^_7_^_</span> RGB \u0dbb\u0dd6\u0db4\u0dba\u0da7 \u0d85\u0dc0\u0dc1\u0dda\u0dc2 \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dad\u0dcf\u0dc0\u0dba\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0dc3\u0d82\u0d9a\u0dca\u0dbb\u0dcf\u0db1\u0dca\u0dad\u0dd2\u0dba \u0dc3\u0dd4\u0db8\u0da7\u0dc0 \u0dc3\u0dd2\u0daf\u0dd4 \u0d9a\u0dd9\u0dbb\u0dda. \u0db1\u0dc0 \u0d9a\u0ddc\u0da7\u0dc3 \u0db7\u0dcf\u0dbb \u0d9c\u0dd0\u0db1\u0dd3\u0db8\u0da7 \u0d89\u0da9 \u0daf\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0db8\u0dd9\u0db8 \u0d85\u0dc0\u0dc1\u0dda\u0dc2 \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dad\u0dcf\u0dc0\u0dba\u0dda \u0db6\u0dbb \u0dc3\u0dd9\u0db8\u0dd9\u0db1\u0dca \u0d85\u0da9\u0dd4 \u0dc0\u0dda. </p>\n",
|
||||
"<p>Bias </p>\n": "<p>\u0db1\u0dd0\u0db9\u0dd4\u0dbb\u0dd4\u0dc0 </p>\n",
|
||||
"<p>Blurring kernel </p>\n": "<p>\u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dba\u0db6\u0ddc\u0db3 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 </p>\n",
|
||||
"<p>Calculate <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d9c\u0dab\u0db1\u0dba\u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Calculate <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> </p>\n": "<p>\u0d9c\u0dab\u0db1\u0dba\u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> </p>\n",
|
||||
"<p>Calculate <span translate=no>_^_0_^_</span> and normalize by the square root of image size. This is scaling is not mentioned in the paper but was present in <a href=\"https://github.com/NVlabs/stylegan2/blob/master/training/loss.py#L167\">their implementation</a>. </p>\n": "<p>\u0dbb\u0dd6\u0db4\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0dda \u0dc0\u0dbb\u0dca\u0d9c \u0db8\u0dd6\u0dbd\u0dba \u0d9c\u0dab\u0db1\u0dba <span translate=no>_^_0_^_</span> \u0d9a\u0dbb \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1. \u0db8\u0dd9\u0dba \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0dba\u0db1\u0dd4 \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0dc0\u0dbd \u0dc3\u0db3\u0dc4\u0db1\u0dca \u0db1\u0ddc\u0dc0\u0db1 \u0db1\u0db8\u0dd4\u0dad\u0dca <a href=\"https://github.com/NVlabs/stylegan2/blob/master/training/loss.py#L167\">\u0d92\u0dc0\u0dcf \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a</a>\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda\u0daf\u0dd3 \u0daf\u0d9a\u0dca\u0db1\u0da7 \u0dbd\u0dd0\u0db6\u0dd4\u0dab\u0dd2. </p>\n",
|
||||
"<p>Calculate L2-norm of <span translate=no>_^_0_^_</span> </p>\n": "<p>L2\u0dc4\u0dd2 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Calculate and append <a href=\"#mini_batch_std_dev\">mini-batch standard deviation</a> </p>\n": "<p><a href=\"#mini_batch_std_dev\">\u0d9a\u0dd4\u0da9\u0dcf \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba</a> \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dc4 \u0dad\u0d9a\u0dca\u0dc3\u0dda\u0dbb\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 </p>\n",
|
||||
"<p>Calculate gradients of <span translate=no>_^_0_^_</span> with respect to <span translate=no>_^_1_^_</span>. <span translate=no>_^_2_^_</span> is set to <span translate=no>_^_3_^_</span> since we want the gradients of <span translate=no>_^_4_^_</span>, and we need to create and retain graph since we have to compute gradients with respect to weight on this loss. </p>\n": "<p>\u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dba\u0dd9\u0db1\u0dca\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_1_^_</span>. <span translate=no>_^_0_^_</span> <span translate=no>_^_2_^_</span> \u0d85\u0db4\u0da7 \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0d85\u0dc0\u0dc1\u0dca\u0dba <span translate=no>_^_3_^_</span> \u0db6\u0dd0\u0dc0\u0dd2\u0db1\u0dca \u0dc3\u0d9a\u0dc3\u0dcf \u0d87\u0dad\u0dd2 \u0d85\u0dad\u0dbb <span translate=no>_^_4_^_</span>, \u0db8\u0dd9\u0db8 \u0d85\u0dbd\u0dcf\u0db7\u0dba \u0db8\u0dad \u0db6\u0dbb \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dba\u0dd9\u0db1\u0dca \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4 \u0db6\u0dd0\u0dc0\u0dd2\u0db1\u0dca \u0d85\u0db4\u0dd2 \u0db4\u0dca\u0dbb\u0dc3\u0dca\u0dae\u0dcf\u0dbb\u0dba\u0d9a\u0dca \u0db1\u0dd2\u0dbb\u0dca\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dbb \u0dbb\u0db3\u0dc0\u0dcf \u0dad\u0db6\u0dcf \u0d9c\u0dad \u0dba\u0dd4\u0dad\u0dd4\u0dba. </p>\n",
|
||||
"<p>Calculate gradients to get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dbd\u0db6\u0dcf\u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Calculate the mean of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0db8\u0db0\u0dca\u0dba\u0db1\u0dca\u0dba\u0dba\u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Calculate the norm <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc3\u0db8\u0dca\u0db8\u0dad\u0dba\u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Calculate the number of features for each block.</p>\n<p>Something like <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0d9a\u0ddc\u0da7\u0dc3 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1. </p>\n<p>\u0dc0\u0d9c\u0dda\u0daf\u0dd9\u0dba\u0d9a\u0dca <span translate=no>_^_0_^_</span>. </p>\n",
|
||||
"<p>Calculate the number of features for each block</p>\n<p>Something like <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0d9a\u0ddc\u0da7\u0dc3 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1</p>\n<p>\u0dc0\u0d9c\u0dda\u0daf\u0dd9\u0dba\u0d9a\u0dca <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Calculate the penalty <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dafpenalty \u0dd4\u0dc0\u0db8 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Calculate the standard deviation for each feature among <span translate=no>_^_0_^_</span> samples</p>\n<span translate=no>_^_1_^_</span><p> </p>\n": "<p><span translate=no>_^_0_^_</span> \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0d85\u0dad\u0dbb \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dbd\u0d9a\u0dca\u0dc2\u0dab\u0dba \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0d9c\u0dab\u0db1\u0dba</p>\n<span translate=no>_^_1_^_</span><p> </p>\n",
|
||||
"<p>Check if the batch size is divisible by the group size </p>\n": "<p>\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba \u0d85\u0db1\u0dd4\u0dc0 \u0db6\u0dd9\u0daf\u0dd2\u0dba \u0dc4\u0dd0\u0d9a\u0dd2 \u0daf\u0dd0\u0dba\u0dd2 \u0db4\u0dbb\u0dd3\u0d9a\u0dca\u0dc2\u0dcf \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Convert from RGB </p>\n": "<p>RGB\u0dc0\u0dd9\u0dad\u0dd2\u0db1\u0dca \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Convert the kernel to a PyTorch tensor </p>\n": "<p>\u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dbaPyTorch \u0da7\u0dd9\u0db1\u0dca\u0dc3\u0dbb\u0dba\u0d9a\u0dca \u0db6\u0dc0\u0da7 \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Convolution </p>\n": "<p>\u0dc3\u0d82\u0dc0\u0dbd\u0dd2\u0dad </p>\n",
|
||||
"<p>Convolutions </p>\n": "<p>\u0dc3\u0db8\u0dca\u0db8\u0dd4\u0dad\u0dd3\u0db1\u0dca </p>\n",
|
||||
"<p>Create the MLP </p>\n": "<p>MLP\u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Demodulate </p>\n": "<p>\u0dc0\u0dd2\u0dbb\u0dd6\u0db4\u0dab\u0dba\u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Discriminator blocks </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2 </p>\n",
|
||||
"<p>Down-sample </p>\n": "<p>\u0db4\u0dc4\u0dc5-\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba </p>\n",
|
||||
"<p>Down-sampling and <span translate=no>_^_0_^_</span> convolution layer for the residual connection </p>\n": "<p>\u0d85\u0dc0\u0dc1\u0dda\u0dc2\u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dad\u0dcf\u0dc0\u0dba \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dc4\u0dc5-\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd3\u0db8\u0dca \u0dc3\u0dc4 <span translate=no>_^_0_^_</span> \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd3\u0db8 \u0dc3\u0dca\u0dae\u0dbb\u0dba </p>\n",
|
||||
"<p>Down-sampling layer </p>\n": "<p>\u0db4\u0dc4\u0dc5-\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dc3\u0dca\u0dae\u0dbb\u0dba </p>\n",
|
||||
"<p>Evaluate rest of the blocks </p>\n": "<p>\u0d89\u0dad\u0dd2\u0dbb\u0dd2\u0d9a\u0ddc\u0da7\u0dc3\u0dca \u0dad\u0d9a\u0dca\u0dc3\u0dda\u0dbb\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Expand the learned constant to match batch size </p>\n": "<p>\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0da7 \u0d9c\u0dd0\u0dbd\u0db4\u0dd9\u0db1 \u0db4\u0dbb\u0dd2\u0daf\u0dd2 \u0d8b\u0d9c\u0dad\u0dca \u0db1\u0dd2\u0dba\u0dad\u0dba \u0db4\u0dd4\u0dc5\u0dd4\u0dbd\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Expand the standard deviation to append to the feature map </p>\n": "<p>\u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0da7 \u0d91\u0d9a\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0db4\u0dd4\u0dc5\u0dd4\u0dbd\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Exponential sum of <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> where <span translate=no>_^_2_^_</span> is the value of it at <span translate=no>_^_3_^_</span>-th step of training </p>\n": "<p>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0\u0dda <span translate=no>_^_3_^_</span>-th \u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0dda\u0daf\u0dd3 \u0d91\u0dc4\u0dd2 \u0dc0\u0da7\u0dd2\u0db1\u0dcf\u0d9a\u0db8 <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> <span translate=no>_^_2_^_</span> \u0d9a\u0ddc\u0dad\u0dd0\u0db1\u0daf? \u0d9d\u0dcf\u0dad\u0dd3\u0dba \u0d91\u0d9a\u0dad\u0dd4\u0dc0 </p>\n",
|
||||
"<p>Final <span translate=no>_^_0_^_</span> convolution layer </p>\n": "<p>\u0d85\u0dc0\u0dc3\u0dcf\u0db1 <span translate=no>_^_0_^_</span> \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0dc3\u0dca\u0dae\u0dbb\u0dba </p>\n",
|
||||
"<p>Final linear layer to get the classification </p>\n": "<p>\u0dc0\u0dbb\u0dca\u0d9c\u0dd3\u0d9a\u0dbb\u0dab\u0dba\u0dbd\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d85\u0dc0\u0dc3\u0dcf\u0db1 \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb\u0dba </p>\n",
|
||||
"<p>First <a href=\"#style_block\">style block</a> changes the feature map size to <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0db4\u0dc5\u0db8\u0dd4 <a href=\"#style_block\">\u0dc0\u0dd2\u0dbd\u0dcf\u0dc3\u0dd2\u0dad\u0dcf\u0dc0\u0dda \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca</a> \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0d9a\u0dbb\u0dba\u0dd2 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>First style block for <span translate=no>_^_0_^_</span> resolution and layer to get RGB </p>\n": "<p>RGB\u0dbd\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf <span translate=no>_^_0_^_</span> \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba \u0dc3\u0dc4 \u0dc3\u0dca\u0dae\u0dbb\u0dba \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dc5\u0db8\u0dd4 \u0dc0\u0dd2\u0dbd\u0dcf\u0dc3\u0dd2\u0dad\u0dcf\u0dc0\u0dda \u0d9a\u0ddc\u0da7\u0dc3 </p>\n",
|
||||
"<p>First style block with first noise tensor. The output is of shape <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0db4\u0dc5\u0db8\u0dd4\u0dc1\u0db6\u0dca\u0daf \u0da7\u0dd9\u0db1\u0dca\u0dc3\u0dbb\u0dca \u0dc3\u0dc4\u0dd2\u0dad \u0db4\u0dc5\u0db8\u0dd4 \u0dc0\u0dd2\u0dbd\u0dcf\u0dc3\u0dd2\u0dad\u0dcf\u0dc0\u0dda \u0d9a\u0ddc\u0da7\u0dc3. \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba \u0dc4\u0dd0\u0da9\u0dba\u0dd9\u0db1\u0dca \u0dba\u0dd4\u0d9a\u0dca\u0dad \u0dc0\u0dda <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Flatten </p>\n": "<p>\u0dc3\u0db8\u0dad\u0dbd\u0dcf\u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Generative adversarial networks have two components; the generator and the discriminator. The generator network takes a random latent vector (<span translate=no>_^_0_^_</span>) and tries to generate a realistic image. The discriminator network tries to differentiate the real images from generated images. When we train the two networks together the generator starts generating images indistinguishable from real images.</p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd\u0dba\u0db1\u0dca \u0dc3\u0d82\u0dbb\u0da0\u0d9a \u0daf\u0dd9\u0d9a\u0d9a\u0dca \u0d87\u0dad; \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dc3\u0dc4 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf. \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0da2\u0dcf\u0dbd\u0dba \u0d85\u0dc4\u0db9\u0dd4 \u0d9c\u0dd4\u0db4\u0dca\u0dad \u0daf\u0ddb\u0dc1\u0dd2\u0d9a\u0dba\u0d9a\u0dca (<span translate=no>_^_0_^_</span>) \u0d9c\u0dd9\u0db1 \u0dba\u0dae\u0dcf\u0dbb\u0dca\u0dae\u0dc0\u0dcf\u0daf\u0dd3 \u0dbb\u0dd6\u0db4\u0dba\u0d9a\u0dca \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0d8b\u0dad\u0dca\u0dc3\u0dcf\u0dc4 \u0d9a\u0dbb\u0dba\u0dd2. \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0da2\u0dcf\u0dbd\u0dba \u0dc3\u0dd0\u0db6\u0dd1 \u0dbb\u0dd6\u0db4 \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0dbb\u0dd6\u0db4 \u0dc0\u0dbd\u0dd2\u0db1\u0dca \u0dc0\u0dd9\u0db1\u0dca\u0d9a\u0dbb \u0dc4\u0db3\u0dd4\u0db1\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8\u0da7 \u0d8b\u0dad\u0dca\u0dc3\u0dcf\u0dc4 \u0d9a\u0dbb\u0dba\u0dd2. \u0d85\u0db4\u0dd2 \u0da2\u0dcf\u0dbd \u0daf\u0dd9\u0d9a \u0d91\u0d9a\u0da7 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0db1 \u0dc0\u0dd2\u0da7 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dc3\u0dd0\u0db6\u0dd1 \u0dbb\u0dd6\u0db4 \u0dc0\u0dbd\u0dd2\u0db1\u0dca \u0dc0\u0dd9\u0db1\u0dca \u0d9a\u0ddc\u0da7 \u0dc4\u0db3\u0dd4\u0db1\u0dcf\u0d9c\u0dad \u0db1\u0ddc\u0dc4\u0dd0\u0d9a\u0dd2 \u0dbb\u0dd6\u0db4 \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0db4\u0da7\u0db1\u0dca \u0d9c\u0db1\u0dd3. </p>\n",
|
||||
"<p>Generator blocks </p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2 </p>\n",
|
||||
"<p>Get <a href=\"#equalized_weight\">learning rate equalized weights</a> </p>\n": "<p><a href=\"#equalized_weight\">\u0d89\u0d9c\u0dd9\u0db1\u0dd3\u0db8\u0dda \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba \u0dc3\u0db8\u0dcf\u0db1 \u0db6\u0dbb</a> \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get RGB image </p>\n": "<p>RGB\u0dbb\u0dd6\u0db4\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get batch size </p>\n": "<p>\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get batch size, height and width </p>\n": "<p>\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba, \u0d8b\u0dc3 \u0dc3\u0dc4 \u0db4\u0dc5\u0dbd \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get first rgb image </p>\n": "<p>\u0db4\u0dc5\u0db8\u0dd4rgb \u0dbb\u0dd6\u0db4\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get number of pixels </p>\n": "<p>\u0db4\u0dd2\u0d9a\u0dca\u0dc3\u0dbd\u0dca\u0d9c\u0dab\u0db1 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get shape of the input feature map </p>\n": "<p>\u0d86\u0daf\u0dcf\u0db1\u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0dc4\u0dd0\u0da9\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get style vector <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0daf\u0ddb\u0dc1\u0dd2\u0d9a\u0dc1\u0ddb\u0dbd\u0dd2\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Get style vector from <span translate=no>_^_0_^_</span> (denoted by <span translate=no>_^_1_^_</span> in the diagram) with an <a href=\"#equalized_linear\">equalized learning-rate linear layer</a> </p>\n": "<p><a href=\"#equalized_linear\">\u0dc3\u0db8\u0dcf\u0db1 \u0d89\u0d9c\u0dd9\u0db1\u0dd3\u0db8-\u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad \u0dbb\u0dda\u0d9b\u0dd3\u0dba \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0dca</a> \u0dc3\u0db8\u0d9f <span translate=no>_^_0_^_</span> (\u0dbb\u0dd6\u0db4 \u0dc3\u0da7\u0dc4\u0db1\u0dd9\u0db1\u0dca \u0daf\u0dd0\u0d9a\u0dca\u0dc0\u0dda) \u0dc1\u0ddb\u0dbd\u0dd3\u0dba \u0daf\u0ddb\u0dc1\u0dd2\u0d9a\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 <span translate=no>_^_1_^_</span> </p>\n",
|
||||
"<p>Get the device </p>\n": "<p>\u0d8b\u0db4\u0dcf\u0d82\u0d9c\u0dba\u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get the mean standard deviation </p>\n": "<p>\u0db8\u0db0\u0dca\u0dba\u0db1\u0dca\u0dba\u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get the residual connection </p>\n": "<p>\u0d85\u0dc0\u0dc1\u0dda\u0dc2\u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dad\u0dcf\u0dc0\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>He initialization constant </p>\n": "<p>\u0d94\u0dc4\u0dd4\u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0db1\u0dd2\u0dba\u0dad\u0dba </p>\n",
|
||||
"<p>Increment <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc0\u0dbb\u0dca\u0db0\u0d9a\u0dba <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Initialize the weights with <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc3\u0db8\u0d9f\u0db6\u0dbb \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>It maps the random latent vector (<span translate=no>_^_0_^_</span>) into a different latent space (<span translate=no>_^_1_^_</span>), with an 8-layer neural network. This gives an intermediate latent space <span translate=no>_^_2_^_</span> where the factors of variations are more linear (disentangled).</p>\n": "<p>\u0d91\u0dba\u0d85\u0dc4\u0db9\u0dd4 \u0d9c\u0dd4\u0db4\u0dca\u0dad \u0daf\u0ddb\u0dc1\u0dd2\u0d9a\u0dba (<span translate=no>_^_0_^_</span>) \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0d9c\u0dd4\u0db4\u0dca\u0dad \u0d85\u0dc0\u0d9a\u0dcf\u0dc1\u0dba\u0d9a\u0da7 (<span translate=no>_^_1_^_</span>) \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca \u0d9c\u0dad \u0d9a\u0dbb\u0dba\u0dd2, \u0dc3\u0dca\u0dae\u0dbb 8 \u0d9a \u0dc3\u0dca\u0db1\u0dcf\u0dba\u0dd4\u0d9a \u0da2\u0dcf\u0dbd\u0dba\u0d9a\u0dca \u0d87\u0dad. \u0db8\u0dd9\u0dba \u0dc0\u0dd2\u0da0\u0dbd\u0db1\u0dba\u0db1\u0dca\u0d9c\u0dda \u0dc3\u0dcf\u0db0\u0d9a \u0dc0\u0da9\u0dcf\u0dad\u0dca \u0dbb\u0dda\u0d9b\u0dd3\u0dba (disentangled) \u0dc0\u0db1 \u0d85\u0dad\u0dbb\u0db8\u0dd0\u0daf\u0dd2 \u0d9c\u0dd4\u0db4\u0dca\u0dad <span translate=no>_^_2_^_</span> \u0d85\u0dc0\u0d9a\u0dcf\u0dc1\u0dba\u0d9a\u0dca \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0dba\u0dd2. </p>\n",
|
||||
"<p>Layer to convert RGB image to a feature map with <span translate=no>_^_0_^_</span> number of features. </p>\n": "<p>RGB\u0dbb\u0dd6\u0db4\u0dba \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c <span translate=no>_^_0_^_</span> \u0d9c\u0dab\u0db1\u0dcf\u0dc0\u0d9a\u0dca \u0dc3\u0dc4\u0dd2\u0dad \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0d9a\u0dca \u0db6\u0dc0\u0da7 \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dc3\u0dca\u0dae\u0dbb\u0dba. </p>\n",
|
||||
"<p>Leaky Relu </p>\n": "<p>\u0d9a\u0dcf\u0db1\u0dca\u0daf\u0dd4\u0dc0\u0db1 \u0dbb\u0dd2\u0dbd\u0dda </p>\n",
|
||||
"<p>Linear transformation </p>\n": "<p>\u0dbb\u0dda\u0d9b\u0dd3\u0dba\u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba </p>\n",
|
||||
"<p>Map <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> </p>\n": "<p>\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8 <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> </p>\n",
|
||||
"<p>Multiply the weights by <span translate=no>_^_0_^_</span> and return </p>\n": "<p>\u0db6\u0dbb\u0dc0\u0dd0\u0da9\u0dd2 <span translate=no>_^_0_^_</span> \u0d9a\u0dbb \u0d86\u0db4\u0dc3\u0dd4 \u0dba\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Noise is made available to each block which helps the generator create more realistic images. Noise is scaled per channel by a learned weight.</p>\n": "<p>\u0dc3\u0dd1\u0db8\u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0d91\u0d9a\u0d9a\u0da7\u0db8 \u0dc1\u0db6\u0dca\u0daf\u0dba \u0dbd\u0db6\u0dcf \u0daf\u0dd3 \u0d87\u0dad\u0dd2 \u0d85\u0dad\u0dbb \u0d91\u0db8\u0d9f\u0dd2\u0db1\u0dca \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dc0\u0da9\u0dcf\u0dad\u0dca \u0dba\u0dae\u0dcf\u0dbb\u0dca\u0dae\u0dc0\u0dcf\u0daf\u0dd3 \u0dbb\u0dd6\u0db4 \u0db1\u0dd2\u0dbb\u0dca\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0d8b\u0db4\u0d9a\u0dcf\u0dbb\u0dd3 \u0dc0\u0dda. \u0d8b\u0d9c\u0dad\u0dca \u0db6\u0dbb\u0d9a\u0dd2\u0db1\u0dca \u0d91\u0d9a\u0dca \u0db1\u0dcf\u0dbd\u0dd2\u0d9a\u0dcf\u0dc0\u0d9a\u0da7 \u0dc1\u0db6\u0dca\u0daf\u0dba \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0dc0\u0dda. </p>\n",
|
||||
"<p>Noise scale </p>\n": "<p>\u0dc1\u0db6\u0dca\u0daf\u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba </p>\n",
|
||||
"<p>Normalize <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u200d\u0dba\u0d9a\u0dbb\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Normalize the kernel </p>\n": "<p>\u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dba\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Number of <a href=\"#discriminator_block\">discirminator blocks</a> </p>\n": "<p><a href=\"#discriminator_block\">\u0da9\u0dd2\u0dc3\u0dca\u0dc3\u0dbb\u0dca\u0db8\u0dd2\u0db1\u0dda\u0da7\u0dbb\u0dca \u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2</a> \u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Number of features after adding the standard deviations map </p>\n": "<p>\u0dc3\u0db8\u0dca\u0db8\u0dad\u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8 \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0db4\u0dc3\u0dd4 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Number of generator blocks </p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2 \u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Number of output features </p>\n": "<p>\u0db1\u0dd2\u0db8\u0dd0\u0dc0\u0dd4\u0db8\u0dca\u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Number of steps calculated <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d9c\u0dab\u0db1\u0dba\u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0d9c\u0dab\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Padding layer </p>\n": "<p>\u0db4\u0dd1\u0da9\u0dd2\u0db1\u0dca\u0dc3\u0dca\u0dae\u0dbb\u0dba </p>\n",
|
||||
"<p>Padding size </p>\n": "<p>\u0db4\u0dd1\u0da9\u0dd2\u0db1\u0dca\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba </p>\n",
|
||||
"<p>Path length regularization encourages a fixed-size step in <span translate=no>_^_0_^_</span> to result in a non-zero, fixed-magnitude change in the generated image.</p>\n": "<p>\u0db8\u0dcf\u0dbb\u0dca\u0d9c\u0daf\u0dd2\u0d9c \u0db1\u0dd2\u0dba\u0dcf\u0db8\u0db1\u0dba \u0db8\u0d9f\u0dd2\u0db1\u0dca \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0dbb\u0dd6\u0db4\u0dba\u0dda \u0dc1\u0dd4\u0db1\u0dca\u0dba \u0db1\u0ddc\u0dc0\u0db1, \u0dc3\u0dca\u0dae\u0dcf\u0dc0\u0dbb \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0dda \u0dc0\u0dd9\u0db1\u0dc3\u0d9a\u0dca \u0d87\u0dad\u0dd2 <span translate=no>_^_0_^_</span> \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0dca\u0dae\u0dcf\u0dc0\u0dbb \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0dda \u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0d9a\u0dca \u0daf\u0dd2\u0dbb\u0dd2\u0db8\u0dad\u0dca \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<p>Progressive GAN generates high-resolution images (<span translate=no>_^_0_^_</span>) of size. It does so by <em>progressively</em> increasing the image size. First, it trains a network that produces a <span translate=no>_^_1_^_</span> image, then <span translate=no>_^_2_^_</span> , then an <span translate=no>_^_3_^_</span> image, and so on up to the desired image resolution.</p>\n": "<p>\u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3GAN \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0dd9\u0db1\u0dca \u0d89\u0dc4\u0dc5 \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1 \u0dbb\u0dd6\u0db4 (<span translate=no>_^_0_^_</span>) \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2. \u0d91\u0dba \u0d91\u0dc3\u0dda \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dda \u0dbb\u0dd6\u0db4\u0dba\u0dda \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba <em>\u0d9a\u0dca\u0dbb\u0db8\u0dba\u0dd9\u0db1\u0dca</em> \u0dc0\u0dd0\u0da9\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dd2. \u0db4\u0dc5\u0db8\u0dd4\u0dc0, \u0d91\u0dba <span translate=no>_^_1_^_</span> \u0dbb\u0dd6\u0db4\u0dba\u0d9a\u0dca \u0db1\u0dd2\u0db4\u0daf\u0dc0\u0db1 \u0da2\u0dcf\u0dbd\u0dba\u0d9a\u0dca \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0dba\u0dd2 <span translate=no>_^_2_^_</span> , \u0db4\u0dc3\u0dd4\u0dc0 <span translate=no>_^_3_^_</span> \u0dbb\u0dd6\u0db4\u0dba\u0d9a\u0dca, \u0dc3\u0dc4 \u0dba\u0db1\u0dcf\u0daf\u0dd2\u0dba \u0d85\u0db4\u0dda\u0d9a\u0dca\u0dc2\u0dd2\u0dad \u0dbb\u0dd6\u0db4 \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba \u0daf\u0d9a\u0dca\u0dc0\u0dcf. </p>\n",
|
||||
"<p>Regularize after first step </p>\n": "<p>\u0db4\u0dc5\u0db8\u0dd4\u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0dd9\u0db1\u0dca \u0db4\u0dc3\u0dd4 \u0dc0\u0dd2\u0db0\u0dd2\u0db8\u0dad\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Reshape <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0db1\u0dd0\u0dc0\u0dad\u0dc4\u0dd0\u0da9\u0d9c\u0dc3\u0dca\u0dc0\u0dcf <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Reshape <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> and return </p>\n": "<p>\u0db1\u0dd0\u0dc0\u0dad <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> \u0dc4\u0dd0\u0da9\u0d9c\u0dc3\u0dca\u0dc0\u0dcf \u0d86\u0db4\u0dc3\u0dd4 \u0dba\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Reshape and return </p>\n": "<p>\u0db1\u0dd0\u0dc0\u0dad\u0dc4\u0dd0\u0da9\u0d9c\u0dc3\u0dca\u0dc0\u0dcf \u0db1\u0dd0\u0dc0\u0dad \u0db4\u0dd0\u0db8\u0dd2\u0dab\u0dd3\u0db8 </p>\n",
|
||||
"<p>Reshape for smoothening </p>\n": "<p>\u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba\u0dc3\u0db3\u0dc4\u0dcf \u0db1\u0dd0\u0dc0\u0dad \u0dc3\u0d9a\u0dc3\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Reshape gradients to calculate the norm </p>\n": "<p>\u0dc3\u0db8\u0dca\u0db8\u0dad\u0dba\u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0db1\u0dd0\u0dc0\u0dad \u0dc3\u0d9a\u0dc3\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Reshape the scales </p>\n": "<p>\u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba\u0db1\u0dca\u0db1\u0dd0\u0dc0\u0dad \u0dc3\u0d9a\u0dc3\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Reshape weights </p>\n": "<p>\u0db6\u0dbb\u0db1\u0dd0\u0dc0\u0dad \u0dc3\u0d9a\u0dc3\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Return a dummy loss if we can't calculate <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d85\u0db4\u0da7\u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dc5 \u0db1\u0ddc\u0dc4\u0dd0\u0d9a\u0dd2 \u0db1\u0db8\u0dca \u0dc0\u0dca\u0dba\u0dcf\u0da2 \u0d85\u0dbd\u0dcf\u0db7\u0dba\u0d9a\u0dca \u0d86\u0db4\u0dc3\u0dd4 \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Return feature map and rgb image </p>\n": "<p>\u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8 \u0dc3\u0dc4 rgb \u0dbb\u0dd6\u0db4\u0dba \u0d86\u0db4\u0dc3\u0dd4 \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Return the classification score </p>\n": "<p>\u0dc0\u0dbb\u0dca\u0d9c\u0dd3\u0d9a\u0dbb\u0dab\u0dbd\u0d9a\u0dd4\u0dab\u0dd4 \u0d86\u0db4\u0dc3\u0dd4 \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Return the final RGB image </p>\n": "<p>\u0d85\u0dc0\u0dc3\u0dcf\u0db1RGB \u0dbb\u0dd6\u0db4\u0dba \u0d86\u0db4\u0dc3\u0dd4 \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Return the loss <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d85\u0dbd\u0dcf\u0db7\u0dba\u0d86\u0db4\u0dc3\u0dd4 \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Return the penalty </p>\n": "<p>\u0dafpenalty \u0dd4\u0dc0\u0db8 \u0d86\u0db4\u0dc3\u0dd4 \u0daf\u0dd9\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Run it through the <a href=\"#generator_block\">generator block</a> </p>\n": "<p><a href=\"#generator_block\">\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d9a\u0ddc\u0da7\u0dc3</a> \u0dc4\u0dbb\u0dc4\u0dcf \u0d91\u0dba \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Run through the <a href=\"#discriminator_block\">discriminator blocks</a> </p>\n": "<p><a href=\"#discriminator_block\">\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2</a> \u0dc4\u0dbb\u0dc4\u0dcf \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Save kernel as a fixed parameter (no gradient updates) </p>\n": "<p>\u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dba\u0dc3\u0dca\u0dae\u0dcf\u0dc0\u0dbb \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd2\u0dba\u0d9a\u0dca \u0dbd\u0dd9\u0dc3 \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1 (\u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda \u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca \u0db1\u0ddc\u0db8\u0dd0\u0dad) </p>\n",
|
||||
"<p>Scale and add noise </p>\n": "<p>\u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba\u0d9a\u0dbb \u0dc1\u0db6\u0dca\u0daf\u0dba \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Scaled down </p>\n": "<p>\u0db4\u0dc4\u0dc5\u0da7\u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dbb \u0d87\u0dad </p>\n",
|
||||
"<p>Scaling factor <span translate=no>_^_0_^_</span> after adding the residual </p>\n": "<p>\u0d85\u0dc0\u0dc1\u0dda\u0dc2\u0d91\u0d9a\u0dad\u0dd4 <span translate=no>_^_0_^_</span> \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dd9\u0db1\u0dca \u0db4\u0dc3\u0dd4 \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab \u0dc3\u0dcf\u0db0\u0d9a\u0dba </p>\n",
|
||||
"<p>Second <a href=\"#style_block\">style block</a> </p>\n": "<p>\u0daf\u0dd9\u0dc0\u0db1 <a href=\"#style_block\">\u0dc1\u0ddb\u0dbd\u0dd2\u0dba \u0dc0\u0dcf\u0dbb\u0dab</a> </p>\n",
|
||||
"<p>Second style block with second noise tensor. The output is of shape <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0daf\u0dd9\u0dc0\u0db1\u0dc1\u0db6\u0dca\u0daf \u0da7\u0dd9\u0db1\u0dca\u0dc3\u0dbb\u0dca \u0dc3\u0dc4\u0dd2\u0dad \u0daf\u0dd9\u0dc0\u0db1 \u0dc0\u0dd2\u0dbd\u0dcf\u0dc3\u0dd2\u0dad\u0dcf\u0dc0\u0dda \u0d9a\u0ddc\u0da7\u0dc3. \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba \u0dc4\u0dd0\u0da9\u0dba\u0dd9\u0db1\u0dca \u0dba\u0dd4\u0d9a\u0dca\u0dad \u0dc0\u0dda <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Smoothen (blur) with the kernel </p>\n": "<p>\u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dba\u0dc3\u0db8\u0d9f \u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba (\u0db6\u0ddc\u0db3 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8) </p>\n",
|
||||
"<p>Smoothing layer </p>\n": "<p>\u0dc3\u0dca\u0dad\u0dbb\u0dba\u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba </p>\n",
|
||||
"<p>Smoothing or blurring </p>\n": "<p>\u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba\u0dc4\u0ddd \u0db6\u0ddc\u0db3 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 </p>\n",
|
||||
"<p>Split the samples into groups of <span translate=no>_^_0_^_</span>, we flatten the feature map to a single dimension since we want to calculate the standard deviation for each feature. </p>\n": "<p>\u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca \u0dc0\u0dbd\u0da7 \u0db6\u0dd9\u0daf\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span>, \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dbd\u0d9a\u0dca\u0dc2\u0dab\u0dba \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0d85\u0db4\u0da7 \u0d85\u0dc0\u0dc1\u0dca\u0dba \u0db6\u0dd0\u0dc0\u0dd2\u0db1\u0dca \u0d85\u0db4\u0dd2 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8 \u0dad\u0db1\u0dd2 \u0db8\u0dcf\u0db1\u0dba\u0d9a\u0da7 \u0dc3\u0db8\u0dad\u0dbd\u0dcf \u0d9a\u0dbb\u0db8\u0dd4. </p>\n",
|
||||
"<p>StyleGAN 2 changes both the generator and the discriminator of StyleGAN.</p>\n": "<p>StyleGan2 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dc3\u0dc4 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0dba\u0db1 \u0daf\u0dd9\u0d9a\u0db8 \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0d9a\u0dbb\u0dba\u0dd2 StyleGan. </p>\n",
|
||||
"<p>StyleGAN improves the generator of Progressive GAN keeping the discriminator architecture the same.</p>\n": "<p>StyleGAN\u0dc4\u0dd2 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0dba\u0dd2 \u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3 GAN \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1 \u0d9c\u0dd8\u0dc4 \u0db1\u0dd2\u0dbb\u0dca\u0db8\u0dcf\u0dab \u0dc1\u0dd2\u0dbd\u0dca\u0db4\u0dba \u0d91\u0dbd\u0dd9\u0dc3\u0db8 \u0dad\u0db6\u0dcf \u0d9c\u0db1\u0dd3. </p>\n",
|
||||
"<p>StyleGAN2 uses residual connections (with down-sampling) in the discriminator and skip connections in the generator with up-sampling (the RGB outputs from each layer are added - no residual connections in feature maps). They show that with experiments that the contribution of low-resolution layers is higher at beginning of the training and then high-resolution layers take over.</p>\n": "<p>StyleGan2\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0dad\u0dd4\u0dc5 \u0d85\u0dc0\u0dc1\u0dda\u0dc2 \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dad\u0dcf (\u0db4\u0dc4\u0dc5\u0da7 \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd3\u0db8 \u0dc3\u0db8\u0d9f) \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dbb \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba\u0dda \u0d89\u0dc4\u0dc5 \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd3\u0db8\u0dca \u0dc3\u0db8\u0d9f \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dad\u0dcf \u0db8\u0d9f \u0dc4\u0dbb\u0dd2\u0db1\u0dca\u0db1 (\u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0dd9\u0db1\u0dca RGB \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba\u0db1\u0dca \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db1\u0dd4 \u0dbd\u0dd0\u0db6\u0dda - \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0dc0\u0dbd \u0d85\u0dc0\u0dc1\u0dda\u0dc2 \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dad\u0dcf \u0db1\u0ddc\u0db8\u0dd0\u0dad). \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0 \u0d86\u0dbb\u0db8\u0dca\u0db7\u0dba\u0dda \u0daf\u0dd3 \u0d85\u0da9\u0dd4 \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1 \u0dc3\u0dca\u0dae\u0dbb\u0dc0\u0dbd \u0daf\u0dcf\u0dba\u0d9a\u0dad\u0dca\u0dc0\u0dba \u0d89\u0dc4\u0dc5 \u0db8\u0da7\u0dca\u0da7\u0db8\u0d9a \u0db4\u0dc0\u0dad\u0dd2\u0db1 \u0db6\u0dc0\u0dad\u0dca \u0db4\u0dc3\u0dd4\u0dc0 \u0d85\u0db0\u0dd2-\u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1 \u0dc3\u0dca\u0dae\u0dbb \u0db7\u0dcf\u0dbb \u0d9c\u0db1\u0dca\u0db1\u0dcf \u0db6\u0dc0\u0dad\u0dca \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8\u0dca \u0dc3\u0db8\u0d9f \u0d94\u0dc0\u0dd4\u0db1\u0dca \u0db4\u0dd9\u0db1\u0dca\u0dc0\u0dcf \u0daf\u0dd9\u0dba\u0dd2. </p>\n",
|
||||
"<p>The discriminator is a mirror image of the generator network. The progressive growth of the discriminator is done similarly.</p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0dba\u0db1\u0dd4 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0da2\u0dcf\u0dbd\u0dba\u0dda \u0daf\u0dbb\u0dca\u0db4\u0dab \u0db4\u0dd2\u0dc5\u0dd2\u0db6\u0dd2\u0db9\u0dd4\u0dc0\u0d9a\u0dca \u0dc0\u0dda. \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda \u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3 \u0dc0\u0dbb\u0dca\u0db0\u0db1\u0dba \u0daf \u0d92 \u0dc4\u0dcf \u0dc3\u0db8\u0dcf\u0db1\u0dc0 \u0dc3\u0dd2\u0daf\u0dd4 \u0d9a\u0dd9\u0dbb\u0dda. </p>\n",
|
||||
"<p>The first style block </p>\n": "<p>\u0db4\u0dc5\u0db8\u0dd4\u0dc0\u0dd2\u0dbd\u0dcf\u0dc3\u0dd2\u0dad\u0dcf\u0dc0\u0dda \u0d9a\u0ddc\u0da7\u0dc3 </p>\n",
|
||||
"<p>Then <span translate=no>_^_0_^_</span> is transformed into two vectors (<strong>styles</strong>) per layer, <span translate=no>_^_1_^_</span>, <span translate=no>_^_2_^_</span> and used for scaling and shifting (biasing) in each layer with <span translate=no>_^_3_^_</span> operator (normalize and scale): <span translate=no>_^_4_^_</span></p>\n": "<p>\u0d91\u0dc0\u0dd2\u0da7 <span translate=no>_^_0_^_</span> \u0d91\u0d9a\u0dca \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0da7 \u0daf\u0ddb\u0dc1\u0dd2\u0d9a (<strong>\u0dc1\u0ddb\u0dbd\u0dd3\u0db1\u0dca</strong>) \u0daf\u0dd9\u0d9a\u0d9a\u0da7 \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba \u0dc0\u0db1 <span translate=no>_^_2_^_</span> \u0d85\u0dad\u0dbb <span translate=no>_^_1_^_</span>, \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0dda \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba \u0dc4\u0dcf \u0db8\u0dcf\u0dbb\u0dd4\u0dc0\u0dd3\u0db8 (\u0db4\u0d9a\u0dca\u0dc2\u0d9c\u0dca\u0dbb\u0dcf\u0dc4\u0dd3 \u0dc0\u0dd3\u0db8) \u0dc3\u0db3\u0dc4\u0dcf \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0dc0\u0dda <span translate=no>_^_3_^_</span> \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0d9a\u0dbb\u0dd4 (\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0dc3\u0dc4 \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab\u0dba): <span translate=no>_^_4_^_</span></p>\n",
|
||||
"<p>Then the convolution weights <span translate=no>_^_0_^_</span> are modulated as follows. (<span translate=no>_^_1_^_</span> here on refers to weights not intermediate latent space, we are sticking to the same notation as the paper.)</p>\n": "<p>\u0d91\u0dc0\u0dd2\u0da7\u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0db6\u0dbb <span translate=no>_^_0_^_</span> \u0db4\u0dc4\u0dad \u0db4\u0dbb\u0dd2\u0daf\u0dd2 \u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0da7\u0dca \u0dc0\u0dda. (<span translate=no>_^_1_^_</span> \u0db8\u0dd9\u0dc4\u0dd2 \u0daf\u0dd3 \u0d85\u0dad\u0dbb\u0db8\u0dd0\u0daf\u0dd2 \u0d9c\u0dd4\u0db4\u0dca\u0dad \u0d85\u0dc0\u0d9a\u0dcf\u0dc1\u0dba \u0db1\u0ddc\u0dc0\u0db1 \u0db4\u0da9\u0dd2 \u0d85\u0daf\u0dc4\u0dc3\u0dca, \u0d85\u0db4\u0dd2 \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0dbd\u0dd9\u0dc3 \u0d91\u0db8 \u0d85\u0d82\u0d9a\u0db1\u0dba \u0daf\u0dd0\u0da9\u0dd2\u0dc0 \u0db6\u0dd0\u0db3\u0dd3 \u0dc3\u0dd2\u0da7\u0dd2\u0db1.) </p>\n",
|
||||
"<p>They remove the <span translate=no>_^_0_^_</span> operator and replace it with the weight modulation and demodulation step. This is supposed to improve what they call droplet artifacts that are present in generated images, which are caused by the normalization in <span translate=no>_^_1_^_</span> operator. Style vector per layer is calculated from <span translate=no>_^_2_^_</span> as <span translate=no>_^_3_^_</span>.</p>\n": "<p>\u0d94\u0dc0\u0dd4\u0db1\u0dca <span translate=no>_^_0_^_</span> \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0d9a\u0dbb\u0dd4 \u0d89\u0dc0\u0dad\u0dca \u0d9a\u0dbb \u0db6\u0dbb \u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca \u0dc3\u0dc4 \u0da9\u0dd2\u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca \u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0dd9\u0db1\u0dca \u0d91\u0dba \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0dc3\u0dca\u0dae\u0dcf\u0db4\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2. \u0db8\u0dd9\u0db8\u0d9f\u0dd2\u0db1\u0dca \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0dbb\u0dd6\u0db4\u0dc0\u0dbd \u0d87\u0dad\u0dd2 \u0da2\u0dbd \u0db6\u0dd2\u0db3\u0dd2\u0dad\u0dd2 \u0d9a\u0dde\u0dad\u0dd4\u0d9a \u0dc0\u0dc3\u0dca\u0dad\u0dd4 \u0dbd\u0dd9\u0dc3 \u0d94\u0dc0\u0dd4\u0db1\u0dca \u0dc4\u0db3\u0dd4\u0db1\u0dca\u0dc0\u0db1 \u0daf\u0dda \u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4 \u0d85\u0dad\u0dbb \u0d92\u0dc0\u0dcf <span translate=no>_^_1_^_</span> \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0d9a\u0dbb\u0dd4 \u0dad\u0dd4\u0dc5 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0dc0\u0dd3\u0db8 \u0db1\u0dd2\u0dc3\u0dcf \u0d87\u0dad\u0dd2\u0dc0\u0dda. \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0d9a\u0da7 \u0dc1\u0ddb\u0dbd\u0dd3\u0dba \u0daf\u0ddb\u0dc1\u0dd2\u0d9a\u0dba \u0d9c\u0dab\u0db1\u0dba <span translate=no>_^_2_^_</span> \u0d9a\u0dbb\u0db1\u0dd4 \u0dbd\u0dd0\u0db6\u0dda <span translate=no>_^_3_^_</span>. </p>\n",
|
||||
"<p>They use <strong>minibatch standard deviation</strong> to increase variation and <strong>equalized learning rate</strong> which we discussed below in the implementation. They also use <strong>pixel-wise normalization</strong> where at each pixel the feature vector is normalized. They apply this to all the convolution layer outputs (except RGB).</p>\n": "<p>\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda\u0daf\u0dd3 \u0d85\u0db4 \u0db4\u0dc4\u0dad \u0dc3\u0dcf\u0d9a\u0da0\u0dca\u0da1\u0dcf <strong>\u0d9a\u0dc5 \u0dc0\u0dd2\u0da0\u0dbd\u0db1\u0dba \u0dc3\u0dc4 \u0dc3\u0db8\u0dcf\u0db1 \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba</strong> \u0dc0\u0dd0\u0da9\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d94\u0dc0\u0dd4\u0db1\u0dca <strong>\u0db8\u0dd2\u0db1\u0dd2\u0db6\u0dd0\u0da0\u0dca \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba</strong> \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0dba\u0dd2. \u0d94\u0dc0\u0dd4\u0db1\u0dca <strong>\u0db4\u0dd2\u0d9a\u0dca\u0dc3\u0dbd\u0dca \u0d85\u0db1\u0dd4\u0dc0 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba</strong> \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dbb \u0d91\u0dc4\u0dd2\u0daf\u0dd3 \u0dc3\u0dd1\u0db8 \u0db4\u0dd2\u0d9a\u0dca\u0dc3\u0dd9\u0dbd\u0dca \u0d91\u0d9a\u0d9a\u0db8 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0daf\u0ddb\u0dc1\u0dd2\u0d9a\u0dba \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0dc0\u0dda. \u0d94\u0dc0\u0dd4\u0db1\u0dca \u0dc3\u0dd2\u0dba\u0dbd\u0dd4 \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0dc3\u0dca\u0dae\u0dbb \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba\u0db1\u0dca \u0dc3\u0db3\u0dc4\u0dcf \u0db8\u0dd9\u0dba \u0d85\u0daf\u0dcf\u0dc5 \u0dc0\u0dda (RGB \u0dc4\u0dd0\u0dbb). </p>\n",
|
||||
"<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of the paper <a href=\"https://arxiv.org/abs/1912.04958\">Analyzing and Improving the Image Quality of StyleGAN</a> which introduces <strong>StyleGAN 2</strong>. StyleGAN 2 is an improvement over <strong>StyleGAN</strong> from the paper <a href=\"https://arxiv.org/abs/1812.04948\">A Style-Based Generator Architecture for Generative Adversarial Networks</a>. And StyleGAN is based on <strong>Progressive GAN</strong> from the paper <a href=\"https://arxiv.org/abs/1710.10196\">Progressive Growing of GANs for Improved Quality, Stability, and Variation</a>. All three papers are from the same authors from <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a>.</p>\n": "<p>\u0db8\u0dd9\u0dba <a href=\"https://pytorch.org\">PyTorch</a> \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0d9a\u0dd2 StyleGan <strong>2</strong>\u0dc4\u0db3\u0dd4\u0db1\u0dca\u0dc0\u0dcf \u0daf\u0dd9\u0db1 <a href=\"https://arxiv.org/abs/1912.04958\">StyleGan \u0dc4\u0dd2 \u0dbb\u0dd6\u0db4\u0dba\u0dda \u0d9c\u0dd4\u0dab\u0dcf\u0dad\u0dca\u0db8\u0d9a\u0db7\u0dcf\u0dc0\u0dba \u0dc0\u0dd2\u0dc1\u0dca\u0dbd\u0dda\u0dc2\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dc4 \u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8</a> . StyleGan 2 \u0dba\u0db1\u0dd4 \u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0d9a\u0dd2 <strong>StyleGan</strong> <a href=\"https://arxiv.org/abs/1812.04948\">\u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0dc0\u0dbd\u0dd2\u0db1\u0dca \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd \u0dc3\u0db3\u0dc4\u0dcf \u0dc1\u0ddb\u0dbd\u0dd2\u0dba \u0db8\u0dad \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd6 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d9c\u0dd8\u0dc4 \u0db1\u0dd2\u0dbb\u0dca\u0db8\u0dcf\u0dab \u0dc1\u0dd2\u0dbd\u0dca\u0db4\u0dba</a>. \u0dc3\u0dc4 StyleGan \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd3 \u0d87\u0dad\u0dca\u0dad\u0dda \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0dc0\u0dbd\u0dd2\u0db1\u0dca <strong>\u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3 GAN</strong> \u0db8\u0dad \u0dba <a href=\"https://arxiv.org/abs/1710.10196\">\u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dc5 \u0d9c\u0dd4\u0dab\u0dcf\u0dad\u0dca\u0db8\u0d9a\u0db7\u0dcf\u0dc0\u0dba, \u0dc3\u0dca\u0dae\u0dcf\u0dba\u0dd2\u0dad\u0dcf\u0dc0 \u0dc3\u0dc4 \u0dc0\u0dd2\u0da0\u0dbd\u0db1\u0dba \u0dc3\u0db3\u0dc4\u0dcf GANs \u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3 \u0dc0\u0dbb\u0dca\u0db0\u0db1\u0dba</a>. \u0db8\u0dd9\u0db8 \u0db4\u0dad\u0dca\u0dbb\u0dd2\u0d9a\u0dcf \u0dad\u0dd4\u0db1\u0db8 <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a>\u0dc0\u0dd9\u0dad\u0dd2\u0db1\u0dca \u0d91\u0d9a\u0db8 \u0d9a\u0dad\u0dd4\u0dc0\u0dbb\u0dd4\u0db1\u0dca\u0d9c\u0dd9\u0db1\u0dca \u0dc0\u0dda. </p>\n",
|
||||
"<p>To prevent the generator from assuming adjacent styles are correlated, they randomly use different styles for different blocks. That is, they sample two latent vectors <span translate=no>_^_0_^_</span> and corresponding <span translate=no>_^_1_^_</span> and use <span translate=no>_^_2_^_</span> based styles for some blocks and <span translate=no>_^_3_^_</span> based styles for some blacks randomly.</p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dba\u0dcf\u0db6\u0daf \u0db8\u0ddd\u0dc3\u0dca\u0dad\u0dbb \u0dc3\u0dc4\u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0\u0dd2\u0dad \u0dba\u0dd0\u0dba\u0dd2 \u0d8b\u0db4\u0d9a\u0dbd\u0dca\u0db4\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc0\u0dd0\u0dc5\u0dd0\u0d9a\u0dca\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf, \u0d94\u0dc0\u0dd4\u0db1\u0dca \u0d85\u0dc4\u0db9\u0dd4 \u0dbd\u0dd9\u0dc3 \u0dc0\u0dd2\u0dc0\u0dd2\u0db0 \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd2\u0dc0\u0dd2\u0db0 \u0db8\u0ddd\u0dc3\u0dca\u0dad\u0dbb \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0dba\u0dd2. \u0d91\u0db1\u0db8\u0dca, \u0d92\u0dc0\u0dcf \u0d9c\u0dd4\u0db4\u0dca\u0dad \u0daf\u0ddb\u0dc1\u0dd2\u0d9a \u0daf\u0dd9\u0d9a\u0d9a\u0dca <span translate=no>_^_0_^_</span> \u0dc3\u0dc4 \u0d85\u0db1\u0dd4\u0dbb\u0dd6\u0db4 <span translate=no>_^_1_^_</span> \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2 \u0d9a\u0dbb \u0dc3\u0db8\u0dc4\u0dbb \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf <span translate=no>_^_2_^_</span> \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd6 \u0db8\u0ddd\u0dc3\u0dca\u0dad\u0dbb \u0dc3\u0dc4 \u0dc3\u0db8\u0dc4\u0dbb\u0d9a\u0dca \u0dc3\u0db3\u0dc4\u0dcf <span translate=no>_^_3_^_</span> \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd6 \u0db8\u0ddd\u0dc3\u0dca\u0dad\u0dbb \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0dba\u0dd2 \u0d85\u0dc4\u0db9\u0dd4 \u0dbd\u0dd9\u0dc3 \u0d9a\u0dc5\u0dd4 \u0db4\u0dd0\u0dc4\u0dd0\u0dba\u0d9a\u0dca \u0d9c\u0db1\u0dd3. </p>\n",
|
||||
"<p>Trainable <span translate=no>_^_0_^_</span> constant </p>\n": "<p>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0d9a\u0dc5 \u0dc4\u0dd0\u0d9a\u0dd2 <span translate=no>_^_0_^_</span> \u0db1\u0dd2\u0dba\u0dad\u0dba </p>\n",
|
||||
"<p>Try to normalize the image (this is totally optional, but sped up the early training a little) </p>\n": "<p>\u0dbb\u0dd6\u0db4\u0dba\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0d8b\u0dad\u0dca\u0dc3\u0dcf\u0dc4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 (\u0db8\u0dd9\u0dba \u0db8\u0dd4\u0dc5\u0dd4\u0db8\u0db1\u0dd2\u0db1\u0dca\u0db8 \u0dc0\u0dd2\u0d9a\u0dbd\u0dca\u0db4\u0dba\u0d9a\u0dd2, \u0db1\u0db8\u0dd4\u0dad\u0dca \u0db8\u0dd4\u0dbd\u0dca \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0 \u0da7\u0dd2\u0d9a\u0d9a\u0dca \u0dc0\u0dda\u0d9c\u0dc0\u0dad\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1) </p>\n",
|
||||
"<p>Two <span translate=no>_^_0_^_</span> convolutions </p>\n": "<p><span translate=no>_^_0_^_</span> \u0dc0\u0dca\u0dba\u0dcf\u0d9a\u0dd6\u0dbd\u0dad\u0dcf \u0daf\u0dd9\u0d9a\u0d9a\u0dca </p>\n",
|
||||
"<p>Up sample the RGB image and add to the rgb from the block </p>\n": "<p>\u0d89\u0dc4\u0dc5\u0da7RGB \u0dbb\u0dd6\u0db4\u0dba \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0d9a\u0dbb \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0d91\u0d9a\u0dd9\u0db1\u0dca rgb \u0dc0\u0dd9\u0dad \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Up sample the feature map </p>\n": "<p>\u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8 \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Up-sample and smoothen </p>\n": "<p>\u0d89\u0dc4\u0dc5\u0da7\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba \u0dc3\u0dc4 \u0dc3\u0dd4\u0db8\u0da7\u0db1\u0dba </p>\n",
|
||||
"<p>Up-sampling layer </p>\n": "<p>\u0daf\u0d9a\u0dca\u0dc0\u0dcf-\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd3\u0db8\u0dca\u0dc3\u0dca\u0dae\u0dbb\u0dba </p>\n",
|
||||
"<p>Update exponential sum </p>\n": "<p>\u0d9d\u0dcf\u0dad\u0dd3\u0dba\u0db8\u0dd4\u0daf\u0dbd\u0d9a\u0dca \u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Use grouped convolution to efficiently calculate the convolution with sample wise kernel. i.e. we have a different kernel (weights) for each sample in the batch </p>\n": "<p>\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0db1\u0dd0\u0dab\u0dc0\u0dad\u0dca \u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dba \u0dc3\u0db8\u0d9f \u0dc3\u0d82\u0d9a\u0ddd\u0da0\u0db1\u0dba \u0d9a\u0dcf\u0dbb\u0dca\u0dba\u0d9a\u0dca\u0dc2\u0db8\u0dc0 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d9a\u0dcf\u0dab\u0dca\u0da9\u0d9c\u0dad \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0db1\u0dca\u0dc0\u0dd2\u0db8 \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1\u0dca\u0db1. \u0d91\u0db1\u0db8\u0dca \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dda \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba \u0dc3\u0db3\u0dc4\u0dcf \u0d85\u0db4\u0da7 \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dba\u0d9a\u0dca (\u0db6\u0dbb) \u0d87\u0dad </p>\n",
|
||||
"<p>We'll first introduce the three papers at a high level.</p>\n": "<p>\u0d85\u0db4\u0dd2\u0db8\u0dd4\u0dbd\u0dd2\u0db1\u0dca\u0db8 \u0d8b\u0dc3\u0dc3\u0dca \u0db8\u0da7\u0dca\u0da7\u0db8\u0dda \u0db4\u0dca\u0dbb\u0dc1\u0dca\u0db1 \u0db4\u0dad\u0dca\u0dbb \u0dad\u0dd4\u0db1 \u0dc4\u0db3\u0dd4\u0db1\u0dca\u0dc0\u0dcf \u0daf\u0dd9\u0db1\u0dca\u0db1\u0dd9\u0db8\u0dd4. </p>\n",
|
||||
"<p>Weight modulated convolution </p>\n": "<p>\u0db6\u0dbb\u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0da7\u0da9\u0dca \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd2\u0db8 </p>\n",
|
||||
"<p>Weight modulated convolution layer </p>\n": "<p>\u0dc3\u0dd2\u0dbb\u0dd4\u0dbb\u0dda\u0db6\u0dbb \u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0da7\u0da9\u0dca \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0dc3\u0dca\u0dae\u0dbb\u0dba </p>\n",
|
||||
"<p>Weight modulated convolution layer without demodulation </p>\n": "<p>\u0da9\u0dd2\u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0dc2\u0db1\u0dca\u0db1\u0ddc\u0db8\u0dd0\u0dad\u0dd2\u0dc0 \u0db6\u0dbb \u0db8\u0ddc\u0da9\u0dd2\u0dba\u0dd4\u0dbd\u0dda\u0da7\u0da9\u0dca \u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0dc3\u0dca\u0dae\u0dbb\u0dba </p>\n",
|
||||
"<p>Weight multiplication coefficient </p>\n": "<p>\u0db6\u0dbb\u0d9c\u0dd4\u0dab \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dc3\u0d82\u0d9c\u0dd4\u0dab\u0d9a\u0dba </p>\n",
|
||||
"<p>Whether to normalize weights </p>\n": "<p>\u0db6\u0dbb\u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4\u0daf \u0dba\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc0\u0dda <span translate=no>_^_1_^_</span> </li>\n</ul><li><span translate=no>_^_2_^_</span> \u0dc0\u0dda <span translate=no>_^_3_^_</span></li>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is <span translate=no>_^_1_^_</span>. In order to mix-styles (use different <span translate=no>_^_2_^_</span> for different layers), we provide a separate <span translate=no>_^_3_^_</span> for each <a href=\"#generator_block\">generator block</a>. It has shape <span translate=no>_^_4_^_</span>. </li>\n<li><span translate=no>_^_5_^_</span> is the noise for each block. It's a list of pairs of noise sensors because each block (except the initial) has two noise inputs after each convolution layer (see the diagram).</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc0\u0dda <span translate=no>_^_1_^_</span>. \u0db8\u0dd2\u0dc1\u0dca\u0dbb-\u0db8\u0ddd\u0dc3\u0dca\u0dad\u0dbb \u0dc3\u0db3\u0dc4\u0dcf (\u0dc0\u0dd2\u0dc0\u0dd2\u0db0 \u0dc3\u0dca\u0dae\u0dbb <span translate=no>_^_2_^_</span> \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1\u0dca\u0db1), \u0d85\u0db4\u0dd2 \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca <a href=\"#generator_block\">\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d9a\u0ddc\u0da7\u0dc3 <span translate=no>_^_3_^_</span> </a>\u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd9\u0db1\u0db8 \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1\u0dca\u0db1\u0dd9\u0db8\u0dd4. \u0d91\u0dc4\u0dd2 \u0dc4\u0dd0\u0da9\u0dba \u0d87\u0dad <span translate=no>_^_4_^_</span>. </li>\n<li><span translate=no>_^_5_^_</span> \u0dba\u0db1\u0dd4 \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0d9a\u0ddc\u0da7\u0dc3 \u0dc3\u0db3\u0dc4\u0dcf \u0dc1\u0db6\u0dca\u0daf\u0dba. \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0dc0\u0dcf\u0dbb\u0dab (\u0d86\u0dbb\u0db8\u0dca\u0db7\u0d9a \u0dc4\u0dd0\u0dbb) \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca convolution \u0dc3\u0dca\u0dae\u0dbb\u0dba \u0db4\u0dc3\u0dd4 \u0dc1\u0db6\u0dca\u0daf \u0dba\u0dd9\u0daf\u0dc0\u0dd4\u0db8\u0dca \u0daf\u0dd9\u0d9a\u0d9a\u0dca \u0d87\u0dad\u0dd2 \u0db1\u0dd2\u0dc3\u0dcf \u0d91\u0dba \u0dc1\u0db6\u0dca\u0daf \u0dc3\u0d82\u0dc0\u0dda\u0daf\u0d9a \u0dba\u0dd4\u0d9c\u0dbd \u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0\u0d9a\u0dd2 (\u0dbb\u0dd6\u0db4 \u0dc3\u0da7\u0dc4\u0db1 \u0db6\u0dbd\u0db1\u0dca\u0db1). </li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the <span translate=no>_^_1_^_</span> of image resolution </li>\n<li><span translate=no>_^_2_^_</span> is the dimensionality of <span translate=no>_^_3_^_</span> </li>\n<li><span translate=no>_^_4_^_</span> number of features in the convolution layer at the highest resolution (final block) </li>\n<li><span translate=no>_^_5_^_</span> maximum number of features in any generator block</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dbb\u0dd6\u0db4 <span translate=no>_^_1_^_</span> \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba\u0dda \u0dc0\u0dda </li>\n<li><span translate=no>_^_2_^_</span> \u0dc4\u0dd2 \u0db8\u0dcf\u0db1\u0dba\u0db1\u0dca \u0dc0\u0dda <span translate=no>_^_3_^_</span> </li>\n<li><span translate=no>_^_4_^_</span> \u0dc0\u0dd0\u0da9\u0dd2\u0db8 \u0dba\u0ddd\u0da2\u0db1\u0dcf\u0dc0 \u0daf\u0dd3 convolution \u0dc3\u0dca\u0dae\u0dbb\u0dba \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0d82\u0d9b\u0dca\u0dba\u0dcf\u0dc0 (\u0d85\u0dc0\u0dc3\u0dcf\u0db1 \u0dc0\u0dcf\u0dbb\u0dab) </li>\n<li><span translate=no>_^_5_^_</span> \u0d95\u0db1\u0dd1\u0db8 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dc0\u0dcf\u0dbb\u0dab\u0dba\u0d9a \u0d8b\u0db4\u0dbb\u0dd2\u0db8 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the <span translate=no>_^_1_^_</span> of image resolution </li>\n<li><span translate=no>_^_2_^_</span> number of features in the convolution layer at the highest resolution (first block) </li>\n<li><span translate=no>_^_3_^_</span> maximum number of features in any generator block</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dbb\u0dd6\u0db4 <span translate=no>_^_1_^_</span> \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba\u0dda \u0dc0\u0dda </li>\n<li><span translate=no>_^_2_^_</span> \u0dc0\u0dd0\u0da9\u0dd2\u0db8 \u0dba\u0ddd\u0da2\u0db1\u0dcf\u0dc0 \u0daf\u0dd3 convolution \u0dc3\u0dca\u0dae\u0dbb\u0dba \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0d82\u0d9b\u0dca\u0dba\u0dcf\u0dc0 (\u0db4\u0dc5\u0db8\u0dd4 \u0dc0\u0dcf\u0dbb\u0dab) </li>\n<li><span translate=no>_^_3_^_</span> \u0d95\u0db1\u0dd1\u0db8 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dc0\u0dcf\u0dbb\u0dab\u0dba\u0d9a \u0d8b\u0db4\u0dbb\u0dd2\u0db8 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the batch of <span translate=no>_^_1_^_</span> of shape <span translate=no>_^_2_^_</span> </li>\n<li><span translate=no>_^_3_^_</span> are the generated images of shape <span translate=no>_^_4_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> \u0dc4\u0dd0\u0da9\u0dba\u0dda \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dba\u0dd2 <span translate=no>_^_2_^_</span> </li>\n<li><span translate=no>_^_3_^_</span> \u0dc4\u0dd0\u0da9\u0dba\u0dda \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0dbb\u0dd6\u0db4 \u0dc0\u0dda <span translate=no>_^_4_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the constant <span translate=no>_^_1_^_</span> used to calculate the exponential moving average <span translate=no>_^_2_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0d9d\u0dcf\u0dad\u0dd3\u0dba \u0da0\u0dbd\u0db1\u0dba \u0dc0\u0db1 \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf <span translate=no>_^_1_^_</span> \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1 \u0db1\u0dd2\u0dba\u0dad\u0dba <span translate=no>_^_2_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the dimensionality of <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is the number of features in the feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc4\u0dd2 \u0db8\u0dcf\u0db1\u0dba\u0db1\u0dca \u0dc0\u0dda <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the dimensionality of <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_3_^_</span> is the number of features in the output feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc4\u0dd2 \u0db8\u0dcf\u0db1\u0dba\u0db1\u0dca \u0dc0\u0dda <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> \u0d86\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 \u0dc0\u0dda </li>\n<li><span translate=no>_^_3_^_</span> \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0d87\u0dad\u0dd2 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dba\u0dd2</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span> with shape <span translate=no>_^_4_^_</span> </li>\n<li><span translate=no>_^_5_^_</span> is a tensor of shape <span translate=no>_^_6_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc4\u0dd0\u0da9\u0dba\u0dda \u0d86\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dba\u0dd2 <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> \u0dc4\u0dd0\u0da9\u0dba <span translate=no>_^_3_^_</span> \u0dc3\u0db8\u0d9f \u0d87\u0dad <span translate=no>_^_4_^_</span> </li>\n<li><span translate=no>_^_5_^_</span> \u0dc4\u0dd0\u0da9\u0dba\u0dda \u0d86\u0dad\u0dad\u0dd2\u0d9a\u0dcf\u0dbb\u0dba\u0d9a\u0dd2 <span translate=no>_^_6_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span> with shape <span translate=no>_^_4_^_</span> </li>\n<li><span translate=no>_^_5_^_</span> is a tuple of two noise tensors of shape <span translate=no>_^_6_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc4\u0dd0\u0da9\u0dba\u0dda \u0d86\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dba\u0dd2 <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> \u0dc4\u0dd0\u0da9\u0dba <span translate=no>_^_3_^_</span> \u0dc3\u0db8\u0d9f \u0d87\u0dad <span translate=no>_^_4_^_</span> </li>\n<li><span translate=no>_^_5_^_</span> \u0dc4\u0dd0\u0da9\u0dba \u0dc1\u0db6\u0dca\u0daf tensors \u0daf\u0dd9\u0d9a\u0d9a\u0dca tuple \u0dc0\u0dda <span translate=no>_^_6_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span> with shape <span translate=no>_^_4_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc4\u0dd0\u0da9\u0dba\u0dda \u0d86\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dba\u0dd2 <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> \u0dc4\u0dd0\u0da9\u0dba <span translate=no>_^_3_^_</span> \u0dc3\u0db8\u0d9f \u0d87\u0dad <span translate=no>_^_4_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is style based scaling tensor of shape <span translate=no>_^_3_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc4\u0dd0\u0da9\u0dba\u0dda \u0d86\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dba\u0dd2 <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> \u0dc4\u0dd0\u0da9\u0dba\u0dda \u0dc1\u0ddb\u0dbd\u0dd2\u0dba \u0db8\u0dad \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd6 \u0db4\u0dbb\u0dd2\u0db8\u0dcf\u0dab \u0d86\u0dad\u0db1\u0dca\u0dba <span translate=no>_^_3_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input image of shape <span translate=no>_^_1_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dba\u0db1\u0dd4 \u0dc4\u0dd0\u0da9\u0dba\u0dda \u0d86\u0daf\u0dcf\u0db1 \u0dbb\u0dd6\u0db4\u0dba\u0dba\u0dd2 <span translate=no>_^_1_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in <span translate=no>_^_1_^_</span> and <span translate=no>_^_2_^_</span> </li>\n<li><span translate=no>_^_3_^_</span> is the number of layers in the mapping network.</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dba\u0db1\u0dd4 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 <span translate=no>_^_1_^_</span> \u0dc3\u0dc4 <span translate=no>_^_2_^_</span> </li>\n<li><span translate=no>_^_3_^_</span> \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9a\u0dbb\u0dab \u0da2\u0dcf\u0dbd\u0dba\u0dda \u0dc3\u0dca\u0dae\u0dbb \u0d9c\u0dab\u0db1 \u0dc0\u0dda. </li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map </li>\n<li><span translate=no>_^_2_^_</span> is the bias initialization constant</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0d86\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 \u0dc0\u0dda </li>\n<li><span translate=no>_^_1_^_</span> \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0d87\u0dad\u0dd2 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 </li>\n<li><span translate=no>_^_2_^_</span> \u0dba\u0db1\u0dd4 \u0db1\u0dd0\u0db9\u0dd4\u0dbb\u0dd4\u0dc0 \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0db1\u0dd2\u0dba\u0dad\u0dba</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map </li>\n<li><span translate=no>_^_2_^_</span> is the size of the convolution kernel </li>\n<li><span translate=no>_^_3_^_</span> is flag whether to normalize weights by its standard deviation </li>\n<li><span translate=no>_^_4_^_</span> is the <span translate=no>_^_5_^_</span> for normalizing</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0d86\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 \u0dc0\u0dda </li>\n<li><span translate=no>_^_1_^_</span> \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0d87\u0dad\u0dd2 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 </li>\n<li><span translate=no>_^_2_^_</span> \u0dba\u0db1\u0dd4 \u0dc3\u0d82\u0dc0\u0dc4\u0db1 \u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dba\u0dda \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0dba\u0dd2 </li>\n<li><span translate=no>_^_3_^_</span> \u0db0\u0da2\u0dba \u0dba\u0db1\u0dd4 \u0d91\u0dc4\u0dd2 \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0d85\u0db1\u0dd4\u0dc0 \u0db6\u0dbb \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4\u0daf \u0dba\u0db1\u0dca\u0db1\u0dba\u0dd2 </li>\n</ul><li><span translate=no>_^_4_^_</span> \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba <span translate=no>_^_5_^_</span> \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dda</li>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map </li>\n<li><span translate=no>_^_2_^_</span> is the size of the convolution kernel </li>\n<li><span translate=no>_^_3_^_</span> is the padding to be added on both sides of each size dimension</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0d86\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 \u0dc0\u0dda </li>\n<li><span translate=no>_^_1_^_</span> \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0d87\u0dad\u0dd2 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 </li>\n<li><span translate=no>_^_2_^_</span> \u0dba\u0db1\u0dd4 \u0dc3\u0d82\u0dc0\u0dc4\u0db1 \u0d9a\u0dbb\u0dca\u0db1\u0dbd\u0dba\u0dda \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0dba\u0dd2 </li>\n</ul><li><span translate=no>_^_3_^_</span> \u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0dda \u0db8\u0dcf\u0db1\u0dba\u0db1\u0dca\u0dc4\u0dd2 \u0daf\u0dd9\u0db4\u0dc3 \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4 \u0db4\u0dd1\u0da9\u0dd2\u0db1\u0dca \u0dc0\u0dda</li>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0d86\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1 \u0dc0\u0dda </li>\n<li><span translate=no>_^_1_^_</span> \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dda \u0d87\u0dad\u0dd2 \u0dc0\u0dd2\u0dc1\u0dda\u0dc2\u0dcf\u0d82\u0d9c \u0d9c\u0dab\u0db1</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of samples to calculate standard deviation across.</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d85\u0db4\u0d9c\u0db8\u0db1\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0d9c\u0dab\u0db1 \u0dc0\u0dda. </li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the shape of the weight parameter</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0db6\u0dbb \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd2\u0dba\u0dda \u0dc4\u0dd0\u0da9\u0dba\u0dba\u0dd2</li></ul>\n",
|
||||
"An annotated PyTorch implementation of StyleGAN2.": "StyleGan2 \u0dc4\u0dd2 \u0dc0\u0dd2\u0db1\u0dca\u0da7\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0db4\u0dba\u0dd2\u0da7\u0ddd\u0da0\u0dca \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8.",
|
||||
"StyleGAN 2": "Style\u0d9c\u0db1\u0dca 2"
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"<h1>StyleGAN 2</h1>\n": "<h1>StyleGan 2</h1>\n",
|
||||
"<h2>Generative Adversarial Networks</h2>\n": "<h2>\u751f\u6210\u5bf9\u6297\u7f51\u7edc</h2>\n",
|
||||
"<h2>Progressive GAN</h2>\n": "<h2>\u6e10\u8fdb\u5f0f GAN</h2>\n",
|
||||
"<h2>StyleGAN 2</h2>\n": "<h2>StyleGan 2</h2>\n",
|
||||
"<h2>StyleGAN</h2>\n": "<h2>StyleGan</h2>\n",
|
||||
"<h3>Convolution with Weight Modulation and Demodulation</h3>\n<p>This layer scales the convolution weights by the style vector and demodulates by normalizing it.</p>\n": "<h3>\u5e26\u6743\u91cd\u8c03\u5236\u548c\u89e3\u8c03\u7684\u5377\u79ef</h3>\n<p>\u8be5\u56fe\u5c42\u6309\u6837\u5f0f\u5411\u91cf\u7f29\u653e\u5377\u79ef\u6743\u91cd\uff0c\u5e76\u901a\u8fc7\u5f52\u4e00\u5316\u6765\u8fdb\u884c\u89e3\u8c03\u3002</p>\n",
|
||||
"<h4>AdaIN</h4>\n": "<h4>aDaIN</h4>\n",
|
||||
"<h4>Bilinear Up and Down Sampling</h4>\n": "<h4>\u53cc\u7ebf\u6027\u4e0a\u4e0b\u91c7\u6837</h4>\n",
|
||||
"<h4>Mapping Network</h4>\n": "<h4>\u6620\u5c04\u7f51\u7edc</h4>\n",
|
||||
"<h4>No Progressive Growing</h4>\n": "<h4>\u6ca1\u6709\u6e10\u8fdb\u5f0f\u589e\u957f</h4>\n",
|
||||
"<h4>Path Length Regularization</h4>\n": "<h4>\u8def\u5f84\u957f\u5ea6\u6b63\u5219\u5316</h4>\n",
|
||||
"<h4>Stochastic Variation</h4>\n": "<h4>\u968f\u673a\u53d8\u5f02</h4>\n",
|
||||
"<h4>Style Mixing</h4>\n": "<h4>\u98ce\u683c\u6df7\u5408</h4>\n",
|
||||
"<h4>Weight Modulation and Demodulation</h4>\n": "<h4>\u6743\u91cd\u8c03\u5236\u548c\u89e3\u8c03</h4>\n",
|
||||
"<p> <a id=\"discriminator\"></a></p>\n<h2>StyleGAN 2 Discriminator</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>Discriminator first transforms the image to a feature map of the same resolution and then runs it through a series of blocks with residual connections. The resolution is down-sampled by <span translate=no>_^_1_^_</span> at each block while doubling the number of features.</p>\n": "<p><a id=\"discriminator\"></a></p>\n<h2>StyleGan 2 \u9274\u522b\u5668</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>\u9274\u522b\u5668\u9996\u5148\u5c06\u56fe\u50cf\u8f6c\u6362\u4e3a\u5177\u6709\u76f8\u540c\u5206\u8fa8\u7387\u7684\u7279\u5f81\u56fe\uff0c\u7136\u540e\u901a\u8fc7\u4e00\u7cfb\u5217\u5177\u6709\u5269\u4f59\u8fde\u63a5\u7684\u5757\u8fdb\u884c\u8fd0\u884c\u3002\u5728\u6bcf\u4e2a\u533a\u5757<span translate=no>_^_1_^_</span>\u5904\u5bf9\u5206\u8fa8\u7387\u8fdb\u884c\u4e0b\u91c7\u6837\uff0c\u540c\u65f6\u5c06\u8981\u7d20\u6570\u91cf\u589e\u52a0\u4e00\u500d\u3002</p>\n",
|
||||
"<p> <a id=\"discriminator_black\"></a></p>\n<h3>Discriminator Block</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p>Discriminator block consists of two <span translate=no>_^_1_^_</span> convolutions with a residual connection.</p>\n": "<p><a id=\"discriminator_black\"></a></p>\n<h3>\u9274\u522b\u5668\u5757</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p>\u9274\u522b\u5668\u6a21\u5757\u7531\u4e24\u4e2a\u5e26\u6709\u5269\u4f59\u8fde\u63a5\u7684<span translate=no>_^_1_^_</span>\u5377\u79ef\u7ec4\u6210\u3002</p>\n",
|
||||
"<p> <a id=\"down_sample\"></a></p>\n<h3>Down-sample</h3>\n<p>The down-sample operation <a href=\"#smooth\">smoothens</a> each feature channel and scale <span translate=no>_^_0_^_</span> using bilinear interpolation. This is based on the paper <a href=\"https://arxiv.org/abs/1904.11486\">Making Convolutional Networks Shift-Invariant Again</a>.</p>\n": "<p><a id=\"down_sample\"></a></p>\n<h3>\u5411\u4e0b\u91c7\u6837</h3>\n<p>\u4e0b\u91c7\u6837\u64cd\u4f5c<span translate=no>_^_0_^_</span>\u4f7f\u7528\u53cc\u7ebf\u6027\u63d2\u503c\u6cd5<a href=\"#smooth\">\u5e73\u6ed1</a>\u6bcf\u4e2a\u7279\u5f81\u901a\u9053\u548c\u7f29\u653e\u3002\u8fd9\u662f\u57fa\u4e8e\u8bba\u6587\u300a<a href=\"https://arxiv.org/abs/1904.11486\">\u8ba9\u5377\u79ef\u7f51\u7edc\u518d\u6b21\u79fb\u4f4d\u4e0d\u53d8</a>\u300b\u3002</p>\n",
|
||||
"<p> <a id=\"equalized_conv2d\"></a></p>\n<h2>Learning-rate Equalized 2D Convolution Layer</h2>\n<p>This uses <a href=\"#equalized_weights\">learning-rate equalized weights</a> for a convolution layer.</p>\n": "<p><a id=\"equalized_conv2d\"></a></p>\n<h2>\u5b66\u4e60\u901f\u7387\u5747\u8861\u7684 2D \u5377\u79ef\u5c42</h2>\n<p>\u8fd9\u4f7f\u7528\u5377\u79ef\u5c42\u7684<a href=\"#equalized_weights\">\u5b66\u4e60\u901f\u7387\u5747\u8861\u6743\u91cd</a>\u3002</p>\n",
|
||||
"<p> <a id=\"equalized_linear\"></a></p>\n<h2>Learning-rate Equalized Linear Layer</h2>\n<p>This uses <a href=\"#equalized_weights\">learning-rate equalized weights</a> for a linear layer.</p>\n": "<p><a id=\"equalized_linear\"></a></p>\n<h2>\u5b66\u4e60\u901f\u7387\u5747\u8861\u7ebf\u6027\u5c42</h2>\n<p>\u8fd9\u4f7f\u7528\u7ebf\u6027\u56fe\u5c42\u7684<a href=\"#equalized_weights\">\u5b66\u4e60\u901f\u7387\u5747\u8861\u6743\u91cd</a>\u3002</p>\n",
|
||||
"<p> <a id=\"equalized_weight\"></a></p>\n<h2>Learning-rate Equalized Weights Parameter</h2>\n<p>This is based on equalized learning rate introduced in the Progressive GAN paper. Instead of initializing weights at <span translate=no>_^_0_^_</span> they initialize weights to <span translate=no>_^_1_^_</span> and then multiply them by <span translate=no>_^_2_^_</span> when using it. <span translate=no>_^_3_^_</span></p>\n<p>The gradients on stored parameters <span translate=no>_^_4_^_</span> get multiplied by <span translate=no>_^_5_^_</span> but this doesn't have an affect since optimizers such as Adam normalize them by a running mean of the squared gradients.</p>\n<p>The optimizer updates on <span translate=no>_^_6_^_</span> are proportionate to the learning rate <span translate=no>_^_7_^_</span>. But the effective weights <span translate=no>_^_8_^_</span> get updated proportionately to <span translate=no>_^_9_^_</span>. Without equalized learning rate, the effective weights will get updated proportionately to just <span translate=no>_^_10_^_</span>.</p>\n<p>So we are effectively scaling the learning rate by <span translate=no>_^_11_^_</span> for these weight parameters.</p>\n": "<p><a id=\"equalized_weight\"></a></p>\n<h2>\u5b66\u4e60\u901f\u7387\u5747\u8861\u6743\u91cd\u53c2\u6570</h2>\n<p>\u8fd9\u662f\u57fa\u4e8e Progressive GAN \u8bba\u6587\u4e2d\u4ecb\u7ecd\u7684\u5747\u8861\u5b66\u4e60\u7387\u3002<span translate=no>_^_0_^_</span>\u5b83\u4eec\u4e0d\u662f\u5728\u521d\u59cb\u5316\u6743\u91cd\uff0c\u800c\u662f\u5c06\u6743\u91cd\u521d\u59cb\u5316\u4e3a\uff0c<span translate=no>_^_1_^_</span>\u7136\u540e\u5728\u4f7f\u7528<span translate=no>_^_2_^_</span>\u65f6\u5c06\u5176\u4e58\u4ee5\u3002<span translate=no>_^_3_^_</span></p>\n<p>\u5b58\u50a8\u53c2\u6570\u7684\u68af\u5ea6\u4f1a\u88ab<span translate=no>_^_4_^_</span>\u4e58\u4ee5\uff0c<span translate=no>_^_5_^_</span>\u4f46\u8fd9\u4e0d\u4f1a\u4ea7\u751f\u5f71\u54cd\uff0c\u56e0\u4e3a\u50cf Adam \u8fd9\u6837\u7684\u4f18\u5316\u5668\u5c06\u5b83\u4eec\u5f52\u4e00\u5316\u4e3a\u68af\u5ea6\u7684\u5e73\u65b9\u3002</p>\n<p>\u4e0a\u7684\u4f18\u5316\u5668\u66f4\u65b0\u4e0e\u5b66\u4e60\u901f\u7387\u6210<span translate=no>_^_6_^_</span>\u6b63\u6bd4<span translate=no>_^_7_^_</span>\u3002\u4f46\u662f\u6709\u6548\u6743\u91cd<span translate=no>_^_8_^_</span>\u4f1a\u6309\u6bd4\u4f8b\u66f4\u65b0<span translate=no>_^_9_^_</span>\u3002\u5982\u679c\u6ca1\u6709\u5747\u8861\u7684\u5b66\u4e60\u7387\uff0c\u6709\u6548\u6743\u91cd\u5c06\u6309\u6bd4\u4f8b\u66f4\u65b0\u4e3a just<span translate=no>_^_10_^_</span>\u3002</p>\n<p>\u56e0\u6b64\uff0c\u6211\u4eec\u6b63\u5728\u6709\u6548\u5730\u7f29\u653e\u8fd9\u4e9b\u6743\u91cd\u53c2\u6570<span translate=no>_^_11_^_</span>\u7684\u5b66\u4e60\u901f\u7387\u3002</p>\n",
|
||||
"<p> <a id=\"generator\"></a></p>\n<h2>StyleGAN2 Generator</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer. <span translate=no>_^_2_^_</span> denotes a broadcast and scaling operation (noise is a single channel). <a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a> also has a style modulation which is not shown in the diagram to keep it simple.</em></small></p>\n<p>The generator starts with a learned constant. Then it has a series of blocks. The feature map resolution is doubled at each block Each block outputs an RGB image and they are scaled up and summed to get the final RGB image.</p>\n": "<p><a id=\"generator\"></a></p>\n<h2>StyleGan2 \u751f\u6210\u5668</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span>\u8868\u793a\u7ebf\u6027\u5c42\u3002<span translate=no>_^_2_^_</span>\u8868\u793a\u5e7f\u64ad\u548c\u7f29\u653e\u64cd\u4f5c\uff08\u566a\u58f0\u662f\u5355\u4e2a\u4fe1\u9053\uff09\u3002<a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a>\u8fd8\u6709\u4e00\u79cd\u98ce\u683c\u8c03\u5236\uff0c\u4e3a\u4e86\u7b80\u5355\u8d77\u89c1\uff0c\u56fe\u4e2d\u6ca1\u6709\u663e\u793a\u8fd9\u79cd\u8c03\u5236\u3002</em></small></p>\n<p>\u751f\u6210\u5668\u4ee5\u5b66\u4e60\u7684\u5e38\u6570\u5f00\u59cb\u3002\u7136\u540e\u5b83\u6709\u4e00\u7cfb\u5217\u65b9\u5757\u3002\u6bcf\u4e2a\u533a\u5757\u7684\u8981\u7d20\u56fe\u5206\u8fa8\u7387\u52a0\u500d\u3002\u6bcf\u4e2a\u6a21\u5757\u8f93\u51fa\u4e00\u4e2a RGB \u56fe\u50cf\uff0c\u7136\u540e\u653e\u5927\u548c\u6c42\u548c\u4ee5\u83b7\u5f97\u6700\u7ec8\u7684 RGB \u56fe\u50cf\u3002</p>\n",
|
||||
"<p> <a id=\"generator_block\"></a></p>\n<h3>Generator Block</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer. <span translate=no>_^_2_^_</span> denotes a broadcast and scaling operation (noise is a single channel). <a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a> also has a style modulation which is not shown in the diagram to keep it simple.</em></small></p>\n<p>The generator block consists of two <a href=\"#style_block\">style blocks</a> (<span translate=no>_^_4_^_</span> convolutions with style modulation) and an RGB output.</p>\n": "<p><a id=\"generator_block\"></a></p>\n<h3>\u53d1\u7535\u673a\u7ec4</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span>\u8868\u793a\u7ebf\u6027\u5c42\u3002<span translate=no>_^_2_^_</span>\u8868\u793a\u5e7f\u64ad\u548c\u7f29\u653e\u64cd\u4f5c\uff08\u566a\u58f0\u662f\u5355\u4e2a\u4fe1\u9053\uff09\u3002<a href=\"#to_rgb\"><span translate=no>_^_3_^_</span></a>\u8fd8\u6709\u4e00\u79cd\u98ce\u683c\u8c03\u5236\uff0c\u4e3a\u4e86\u7b80\u5355\u8d77\u89c1\uff0c\u56fe\u4e2d\u6ca1\u6709\u663e\u793a\u8fd9\u79cd\u8c03\u5236\u3002</em></small></p>\n<p>\u751f\u6210\u5668\u6a21\u5757\u7531\u4e24\u4e2a<a href=\"#style_block\">\u6837\u5f0f\u5757</a>\uff08\u5e26\u6837\u5f0f\u8c03\u5236\u7684<span translate=no>_^_4_^_</span>\u5377\u79ef\uff09\u548c\u4e00\u4e2a RGB \u8f93\u51fa\u7ec4\u6210\u3002</p>\n",
|
||||
"<p> <a id=\"gradient_penalty\"></a></p>\n<h2>Gradient Penalty</h2>\n<p>This is the <span translate=no>_^_0_^_</span> regularization penality from the paper <a href=\"https://arxiv.org/abs/1801.04406\">Which Training Methods for GANs do actually Converge?</a>.</p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>That is we try to reduce the L2 norm of gradients of the discriminator with respect to images, for real images (<span translate=no>_^_2_^_</span>).</p>\n": "<p><a id=\"gradient_penalty\"></a></p>\n<h2>\u68af\u5ea6\u60e9\u7f5a</h2>\n<p>\u8fd9\u662f\u8bba\u6587\u300a<a href=\"https://arxiv.org/abs/1801.04406\">\u54ea\u79cd\u9488\u5bf9 GAN \u7684\u8bad\u7ec3\u65b9\u6cd5\u5b9e\u9645\u4e0a\u4f1a\u6536\u655b\uff1f\u300b\u4e2d\u7684<span translate=no>_^_0_^_</span>\u6b63\u5219\u5316\u60e9\u7f5a</a>\u3002</p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>\u4e5f\u5c31\u662f\u8bf4\uff0c\u5bf9\u4e8e\u771f\u5b9e\u56fe\u50cf\uff0c\u6211\u4eec\u5c1d\u8bd5\u51cf\u5c11\u9274\u522b\u5668\u76f8\u5bf9\u4e8e\u56fe\u50cf\u7684\u68af\u5ea6\u7684 L2 \u8303\u6570 (<span translate=no>_^_2_^_</span>)\u3002</p>\n",
|
||||
"<p> <a id=\"mapping_network\"></a></p>\n<h2>Mapping Network</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>This is an MLP with 8 linear layers. The mapping network maps the latent vector <span translate=no>_^_1_^_</span> to an intermediate latent space <span translate=no>_^_2_^_</span>. <span translate=no>_^_3_^_</span> space will be disentangled from the image space where the factors of variation become more linear.</p>\n": "<p><a id=\"mapping_network\"></a></p>\n<h2>\u6620\u5c04\u7f51\u7edc</h2>\n<p><span translate=no>_^_0_^_</span></p>\n<p>\u8fd9\u662f\u4e00\u4e2a\u5305\u542b 8 \u4e2a\u7ebf\u6027\u5c42\u7684 MLP\u3002\u6620\u5c04\u7f51\u7edc\u5c06\u6f5c\u5728\u5411\u91cf\u6620\u5c04<span translate=no>_^_1_^_</span>\u5230\u4e2d\u95f4\u6f5c\u7a7a\u95f4<span translate=no>_^_2_^_</span>\u3002<span translate=no>_^_3_^_</span>\u7a7a\u95f4\u5c06\u4e0e\u56fe\u50cf\u7a7a\u95f4\u5206\u5f00\uff0c\u5728\u56fe\u50cf\u7a7a\u95f4\u4e2d\uff0c\u53d8\u5f02\u56e0\u5b50\u53d8\u5f97\u66f4\u52a0\u7ebf\u6027\u3002</p>\n",
|
||||
"<p> <a id=\"mini_batch_std_dev\"></a></p>\n<h3>Mini-batch Standard Deviation</h3>\n<p>Mini-batch standard deviation calculates the standard deviation across a mini-batch (or a subgroups within the mini-batch) for each feature in the feature map. Then it takes the mean of all the standard deviations and appends it to the feature map as one extra feature.</p>\n": "<p><a id=\"mini_batch_std_dev\"></a></p>\n<h3>\u5c0f\u6279\u91cf\u6807\u51c6\u5dee</h3>\n<p>\u5c0f\u6279\u91cf\u6807\u51c6\u5dee\u8ba1\u7b97\u8981\u7d20\u6620\u5c04\u4e2d\u6bcf\u4e2a\u8981\u7d20\u7684\u5c0f\u6279\u6b21\uff08\u6216\u5fae\u578b\u6279\u6b21\u4e2d\u7684\u5b50\u7ec4\uff09\u7684\u6807\u51c6\u5dee\u3002\u7136\u540e\uff0c\u5b83\u53d6\u6240\u6709\u6807\u51c6\u5dee\u7684\u5e73\u5747\u503c\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u4e00\u9879\u989d\u5916\u8981\u7d20\u9644\u52a0\u5230\u8981\u7d20\u5730\u56fe\u4e2d\u3002</p>\n",
|
||||
"<p> <a id=\"path_length_penalty\"></a></p>\n<h2>Path Length Penalty</h2>\n<p>This regularization encourages a fixed-size step in <span translate=no>_^_0_^_</span> to result in a fixed-magnitude change in the image.</p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>where <span translate=no>_^_2_^_</span> is the Jacobian <span translate=no>_^_3_^_</span>, <span translate=no>_^_4_^_</span> are sampled from <span translate=no>_^_5_^_</span> from the mapping network, and <span translate=no>_^_6_^_</span> are images with noise <span translate=no>_^_7_^_</span>.</p>\n<p><span translate=no>_^_8_^_</span> is the exponential moving average of <span translate=no>_^_9_^_</span> as the training progresses.</p>\n<p><span translate=no>_^_10_^_</span> is calculated without explicitly calculating the Jacobian using <span translate=no>_^_11_^_</span></p>\n": "<p><a id=\"path_length_penalty\"></a></p>\n<h2>\u8def\u5f84\u957f\u5ea6\u60e9\u7f5a</h2>\n<p>\u8fd9\u79cd\u6b63\u5219\u5316\u9f13\u52b1\u91c7\u7528\u56fa\u5b9a\u5927\u5c0f\u7684\u6b65\u8fdb\uff0c<span translate=no>_^_0_^_</span>\u4ece\u800c\u5bfc\u81f4\u56fe\u50cf\u4e2d\u7684\u56fa\u5b9a\u5e45\u5ea6\u53d8\u5316\u3002</p>\n<p><span translate=no>_^_1_^_</span></p>\n<p>\u5176\u4e2d<span translate=no>_^_2_^_</span>\u662f Jacobian<span translate=no>_^_3_^_</span>\uff0c<span translate=no>_^_4_^_</span>\u662f<span translate=no>_^_5_^_</span>\u4ece\u6d4b\u7ed8\u7f51\u7edc\u4e2d\u91c7\u6837\u7684\uff0c\u5e76\u4e14<span translate=no>_^_6_^_</span>\u662f\u6709\u566a\u70b9\u7684\u56fe\u50cf<span translate=no>_^_7_^_</span>\u3002</p>\n<p><span translate=no>_^_8_^_</span>\u662f\u8bad\u7ec3\u8fdb\u884c\u65f6\u7684<span translate=no>_^_9_^_</span>\u6307\u6570\u79fb\u52a8\u5e73\u5747\u7ebf\u3002</p>\n<p><span translate=no>_^_10_^_</span>\u8ba1\u7b97\u65f6\u672a\u4f7f\u7528\u663e\u5f0f\u8ba1\u7b97\u96c5\u53ef\u6bd4\u5f0f<span translate=no>_^_11_^_</span></p>\n",
|
||||
"<p> <a id=\"smooth\"></a></p>\n<h3>Smoothing Layer</h3>\n<p>This layer blurs each channel</p>\n": "<p><a id=\"smooth\"></a></p>\n<h3>\u5e73\u6ed1\u5c42</h3>\n<p>\u8be5\u56fe\u5c42\u6a21\u7cca\u4e86\u6bcf\u4e2a\u901a\u9053</p>\n",
|
||||
"<p> <a id=\"style_block\"></a></p>\n<h3>Style Block</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer. <span translate=no>_^_2_^_</span> denotes a broadcast and scaling operation (noise is single channel).</em></small></p>\n<p>Style block has a weight modulation convolution layer.</p>\n": "<p><a id=\"style_block\"></a></p>\n<h3>\u6837\u5f0f\u65b9\u5757</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span>\u8868\u793a\u7ebf\u6027\u5c42\u3002<span translate=no>_^_2_^_</span>\u8868\u793a\u5e7f\u64ad\u548c\u7f29\u653e\u64cd\u4f5c\uff08\u566a\u58f0\u662f\u5355\u58f0\u9053\uff09\u3002</em></small></p>\n<p>\u6837\u5f0f\u5757\u5177\u6709\u6743\u91cd\u8c03\u5236\u5377\u79ef\u5c42\u3002</p>\n",
|
||||
"<p> <a id=\"to_rgb\"></a></p>\n<h3>To RGB</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span> denotes a linear layer.</em></small></p>\n<p>Generates an RGB image from a feature map using <span translate=no>_^_2_^_</span> convolution.</p>\n": "<p><a id=\"to_rgb\"></a></p>\n<h3>\u5230 RGB</h3>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em><span translate=no>_^_1_^_</span>\u8868\u793a\u7ebf\u6027\u5c42\u3002</em></small></p>\n<p>\u4f7f\u7528<span translate=no>_^_2_^_</span>\u5377\u79ef\u4ece\u8981\u7d20\u5730\u56fe\u751f\u6210 RGB \u56fe\u50cf\u3002</p>\n",
|
||||
"<p> <a id=\"up_sample\"></a></p>\n<h3>Up-sample</h3>\n<p>The up-sample operation scales the image up by <span translate=no>_^_0_^_</span> and <a href=\"#smooth\">smoothens</a> each feature channel. This is based on the paper <a href=\"https://arxiv.org/abs/1904.11486\">Making Convolutional Networks Shift-Invariant Again</a>.</p>\n": "<p><a id=\"up_sample\"></a></p>\n<h3>\u5411\u4e0a\u91c7\u6837</h3>\n<p>\u4e0a\u91c7\u6837\u64cd\u4f5c\u5c06\u56fe\u50cf\u5411\u4e0a\u7f29\u653e<span translate=no>_^_0_^_</span>\u5e76<a href=\"#smooth\">\u5e73\u6ed1</a>\u6bcf\u4e2a\u7279\u5f81\u901a\u9053\u3002\u8fd9\u662f\u57fa\u4e8e\u8bba\u6587\u300a<a href=\"https://arxiv.org/abs/1904.11486\">\u8ba9\u5377\u79ef\u7f51\u7edc\u518d\u6b21\u79fb\u4f4d\u4e0d\u53d8</a>\u300b\u3002</p>\n",
|
||||
"<p><a href=\"#equalized_linear\">Equalized learning-rate linear layers</a> </p>\n": "<p><a href=\"#equalized_linear\">\u5747\u8861\u5b66\u4e60\u901f\u7387\u7ebf\u6027\u5c42</a></p>\n",
|
||||
"<p><a href=\"#equalized_weight\">Weights parameter with equalized learning rate</a> </p>\n": "<p><a href=\"#equalized_weight\">\u5177\u6709\u5747\u8861\u5b66\u4e60\u901f\u7387\u7684\u6743\u91cd\u53c2\u6570</a></p>\n",
|
||||
"<p><a href=\"#equalized_weights\">Learning-rate equalized weights</a> </p>\n": "<p><a href=\"#equalized_weights\">\u5b66\u4e60\u901f\u7387\u5747\u8861\u6743\u91cd</a></p>\n",
|
||||
"<p><a href=\"#mini_batch_std_dev\">Mini-batch Standard Deviation</a> </p>\n": "<p><a href=\"#mini_batch_std_dev\">\u5c0f\u6279\u91cf\u6807\u51c6\u5dee</a></p>\n",
|
||||
"<p><em>Our implementation is a minimalistic StyleGAN 2 model training code. Only single GPU training is supported to keep the implementation simple. We managed to shrink it to keep it at less than 500 lines of code, including the training loop.</em></p>\n": "<p><em>\u6211\u4eec\u7684\u5b9e\u73b0\u662f\u4e00\u4e2a\u7b80\u7ea6\u7684 StyleGan 2 \u6a21\u578b\u8bad\u7ec3\u4ee3\u7801\u3002\u4ec5\u652f\u6301\u5355\u4e2a GPU \u8bad\u7ec3\uff0c\u4ee5\u4fdd\u6301\u5b9e\u73b0\u7b80\u5355\u3002\u6211\u4eec\u8bbe\u6cd5\u7f29\u5c0f\u4e86\u5b83\uff0c\u4f7f\u5176\u4fdd\u6301\u5728\u4e0d\u5230 500 \u884c\u4ee3\u7801\u4e2d\uff0c\u5305\u62ec\u8bad\u7ec3\u5faa\u73af\u3002</em></p>\n",
|
||||
"<p><em>toRGB</em> layer </p>\n": "<p><em>torGB</em> \u5c42</p>\n",
|
||||
"<p><small><em><span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> denote feature map resolution scaling and scaling. <span translate=no>_^_2_^_</span>, <span translate=no>_^_3_^_</span>, ... denote feature map resolution at the generator or discriminator block. Each discriminator and generator block consists of 2 convolution layers with leaky ReLU activations.</em></small></p>\n": "<p><small><em><span translate=no>_^_0_^_</span>\u548c<span translate=no>_^_1_^_</span>\u8868\u793a\u8981\u7d20\u5730\u56fe\u5206\u8fa8\u7387\u7684\u7f29\u653e\u548c\u7f29\u653e\u3002<span translate=no>_^_2_^_</span>\u3001<span translate=no>_^_3_^_</span>\u3001... \u8868\u793a\u751f\u6210\u5668\u6216\u9274\u522b\u5668\u5757\u5904\u7684\u7279\u5f81\u56fe\u5206\u8fa8\u7387\u3002\u6bcf\u4e2a\u9274\u522b\u5668\u548c\u751f\u6210\u5668\u6a21\u5757\u75312\u4e2a\u5377\u79ef\u5c42\u7ec4\u6210\uff0cRelU\u6fc0\u6d3b\u6cc4\u6f0f\u3002</em></small></p>\n",
|
||||
"<p><small><em><span translate=no>_^_0_^_</span> denotes a linear layer. <span translate=no>_^_1_^_</span> denotes a broadcast and scaling operation (noise is a single channel). StyleGAN also uses progressive growing like Progressive GAN.</em></small></p>\n": "<p><small><em><span translate=no>_^_0_^_</span>\u8868\u793a\u7ebf\u6027\u5c42\u3002<span translate=no>_^_1_^_</span>\u8868\u793a\u5e7f\u64ad\u548c\u7f29\u653e\u64cd\u4f5c\uff08\u566a\u58f0\u662f\u5355\u4e2a\u4fe1\u9053\uff09\u3002StyleGan \u8fd8\u4f7f\u7528\u6e10\u8fdb\u5f0f GAN \u7b49\u6e10\u8fdb\u5f0f\u589e\u957f\u3002</em></small></p>\n",
|
||||
"<p><small><em>These are <span translate=no>_^_0_^_</span> images generated after training for about 80K steps.</em></small></p>\n": "<p><small><em>\u8fd9\u4e9b\u662f\u5728\u8bad\u7ec3\u4e86\u5927\u7ea6 80K \u6b65\u4e4b\u540e\u751f\u6210\u7684<span translate=no>_^_0_^_</span>\u56fe\u50cf\u3002</em></small></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> Then it's demodulated by normalizing, <span translate=no>_^_1_^_</span> where <span translate=no>_^_2_^_</span> is the input channel, <span translate=no>_^_3_^_</span> is the output channel, and <span translate=no>_^_4_^_</span> is the kernel index.</p>\n": "<p><span translate=no>_^_0_^_</span>\u7136\u540e\u901a\u8fc7\u5f52\u4e00\u5316\u8fdb\u884c\u89e3\u8c03\uff0c<span translate=no>_^_1_^_</span>\u5176\u4e2d<span translate=no>_^_2_^_</span>\u662f\u8f93\u5165\u901a\u9053\uff0c<span translate=no>_^_3_^_</span>\u662f\u8f93\u51fa\u901a\u9053\uff0c<span translate=no>_^_4_^_</span>\u662f\u5185\u6838\u7d22\u5f15\u3002</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> convolution </p>\n": "<p><span translate=no>_^_0_^_</span>\u5377\u79ef</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> up sampling layer. The feature space is up sampled at each block </p>\n": "<p><span translate=no>_^_0_^_</span>\u5411\u4e0a\u91c7\u6837\u5c42\u3002\u7279\u5f81\u7a7a\u95f4\u5728\u6bcf\u4e2a\u533a\u5757\u5411\u4e0a\u91c7\u6837</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> where <span translate=no>_^_1_^_</span> is the input channel, <span translate=no>_^_2_^_</span> is the output channel, and <span translate=no>_^_3_^_</span> is the kernel index.</p>\n<p>The result has shape <span translate=no>_^_4_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span>\u5176\u4e2d\uff0c<span translate=no>_^_1_^_</span>\u662f\u8f93\u5165\u901a\u9053\uff0c<span translate=no>_^_2_^_</span>\u662f\u8f93\u51fa\u901a\u9053\uff0c<span translate=no>_^_3_^_</span>\u662f\u5185\u6838\u7d22\u5f15\u3002</p>\n<p>\u7ed3\u679c\u6709\u5f62\u72b6<span translate=no>_^_4_^_</span></p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span></p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p><strong>\ud83c\udfc3 Here's the training code: <a href=\"experiment.html\"><span translate=no>_^_0_^_</span></a>.</strong></p>\n": "<p><strong>\ud83c\udfc3 \u8fd9\u91cc\u662f\u8bad\u7ec3\u4ee3\u7801\uff1a<a href=\"experiment.html\"><span translate=no>_^_0_^_</span></a>\u3002</strong></p>\n",
|
||||
"<p>Activation function </p>\n": "<p>\u6fc0\u6d3b\u529f\u80fd</p>\n",
|
||||
"<p>Add bias and evaluate activation function </p>\n": "<p>\u6dfb\u52a0\u504f\u5dee\u5e76\u8bc4\u4f30\u6fc0\u6d3b\u51fd\u6570</p>\n",
|
||||
"<p>Add padding </p>\n": "<p>\u6dfb\u52a0\u586b\u5145</p>\n",
|
||||
"<p>Add the residual and scale </p>\n": "<p>\u6dfb\u52a0\u6b8b\u5dee\u548c\u6bd4\u4f8b</p>\n",
|
||||
"<p>All the up and down-sampling operations are accompanied by bilinear smoothing.</p>\n": "<p>\u6240\u6709\u5411\u4e0a\u548c\u5411\u4e0b\u91c7\u6837\u64cd\u4f5c\u90fd\u4f34\u968f\u7740\u53cc\u7ebf\u6027\u5e73\u6ed1\u3002</p>\n",
|
||||
"<p>Append (concatenate) the standard deviations to the feature map </p>\n": "<p>\u5c06\u6807\u51c6\u5dee\u8ffd\u52a0\uff08\u8fde\u63a5\uff09\u5230\u8981\u7d20\u5730\u56fe</p>\n",
|
||||
"<p>At each resolution, the generator network produces an image in latent space which is converted into RGB, with a <span translate=no>_^_0_^_</span> convolution. When we progress from a lower resolution to a higher resolution (say from <span translate=no>_^_1_^_</span> to <span translate=no>_^_2_^_</span> ) we scale the latent image by <span translate=no>_^_3_^_</span> and add a new block (two <span translate=no>_^_4_^_</span> convolution layers) and a new <span translate=no>_^_5_^_</span> layer to get RGB. The transition is done smoothly by adding a residual connection to the <span translate=no>_^_6_^_</span> scaled <span translate=no>_^_7_^_</span> RGB image. The weight of this residual connection is slowly reduced, to let the new block take over.</p>\n": "<p>\u5728\u6bcf\u79cd\u5206\u8fa8\u7387\u4e0b\uff0c\u751f\u6210\u5668\u7f51\u7edc\u90fd\u4f1a\u5728\u6f5c\u7a7a\u95f4\u4e2d\u751f\u6210\u4e00\u5f20\u56fe\u50cf\uff0c\u7136\u540e\u5c06\u5176\u8f6c\u6362\u4e3a\u5177\u6709<span translate=no>_^_0_^_</span>\u5377\u79ef\u7684 RGB\u3002\u5f53\u6211\u4eec\u4ece\u8f83\u4f4e\u7684\u5206\u8fa8\u7387\u53d1\u5c55\u5230\u66f4\u9ad8\u7684\u5206\u8fa8\u7387\uff08\u6bd4\u5982\u4ece<span translate=no>_^_1_^_</span>\u5230<span translate=no>_^_2_^_</span>\uff09\u65f6\uff0c\u6211\u4eec\u4f1a\u7f29\u653e\u6f5c\u5728\u56fe\u50cf<span translate=no>_^_3_^_</span>\u5e76\u6dfb\u52a0\u4e00\u4e2a\u65b0\u5757\uff08\u4e24\u4e2a<span translate=no>_^_4_^_</span>\u5377\u79ef\u5c42\uff09\u548c\u4e00\u4e2a\u7528\u4e8e\u83b7\u5f97 RGB \u7684\u65b0<span translate=no>_^_5_^_</span>\u56fe\u5c42\u3002\u901a\u8fc7\u5728<span translate=no>_^_6_^_</span>\u7f29\u653e\u7684<span translate=no>_^_7_^_</span> RGB\u56fe\u50cf\u4e0a\u6dfb\u52a0\u6b8b\u4f59\u8fde\u63a5\uff0c\u53ef\u4ee5\u987a\u5229\u5b8c\u6210\u8fc7\u6e21\u3002\u8fd9\u4e2a\u5269\u4f59\u8fde\u63a5\u7684\u91cd\u91cf\u4f1a\u6162\u6162\u51cf\u8f7b\uff0c\u8ba9\u65b0\u5757\u63a5\u7ba1\u3002</p>\n",
|
||||
"<p>Bias </p>\n": "<p>\u504f\u89c1</p>\n",
|
||||
"<p>Blurring kernel </p>\n": "<p>\u6a21\u7cca\u5185\u6838</p>\n",
|
||||
"<p>Calculate <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8ba1\u7b97<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> </p>\n": "<p>\u8ba1\u7b97<span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Calculate <span translate=no>_^_0_^_</span> and normalize by the square root of image size. This is scaling is not mentioned in the paper but was present in <a href=\"https://github.com/NVlabs/stylegan2/blob/master/training/loss.py#L167\">their implementation</a>. </p>\n": "<p>\u6309\u56fe\u50cf\u5927\u5c0f\u7684\u5e73\u65b9\u6839\u8fdb\u884c\u8ba1\u7b97<span translate=no>_^_0_^_</span>\u548c\u5f52\u4e00\u5316\u3002\u8fd9\u662f\u672c\u6587\u4e2d\u672a\u63d0\u53ca\u7684\u7f29\u653e\uff0c\u4f46\u5df2\u5728<a href=\"https://github.com/NVlabs/stylegan2/blob/master/training/loss.py#L167\">\u5b9e\u65bd\u4e2d</a>\u63d0\u53ca\u3002</p>\n",
|
||||
"<p>Calculate L2-norm of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8ba1\u7b97 L2 \u8303\u6570<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate and append <a href=\"#mini_batch_std_dev\">mini-batch standard deviation</a> </p>\n": "<p>\u8ba1\u7b97\u5e76\u8ffd\u52a0<a href=\"#mini_batch_std_dev\">\u5c0f\u6279\u91cf\u6807\u51c6\u5dee</a></p>\n",
|
||||
"<p>Calculate gradients of <span translate=no>_^_0_^_</span> with respect to <span translate=no>_^_1_^_</span>. <span translate=no>_^_2_^_</span> is set to <span translate=no>_^_3_^_</span> since we want the gradients of <span translate=no>_^_4_^_</span>, and we need to create and retain graph since we have to compute gradients with respect to weight on this loss. </p>\n": "<p>\u8ba1\u7b97<span translate=no>_^_0_^_</span>\u76f8\u5bf9\u4e8e\u7684\u68af\u5ea6<span translate=no>_^_1_^_</span>\u3002<span translate=no>_^_2_^_</span>\u8bbe\u7f6e\u4e3a\uff0c<span translate=no>_^_3_^_</span>\u56e0\u4e3a\u6211\u4eec\u60f3\u8981\u68af\u5ea6<span translate=no>_^_4_^_</span>\uff0c\u5e76\u4e14\u6211\u4eec\u9700\u8981\u521b\u5efa\u548c\u4fdd\u7559\u56fe\u5f62\uff0c\u56e0\u4e3a\u6211\u4eec\u5fc5\u987b\u8ba1\u7b97\u76f8\u5bf9\u4e8e\u6b64\u635f\u5931\u7684\u6743\u91cd\u7684\u68af\u5ea6\u3002</p>\n",
|
||||
"<p>Calculate gradients to get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8ba1\u7b97\u68af\u5ea6\u4ee5\u83b7\u53d6<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the mean of <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8ba1\u7b97\u7684\u5747\u503c<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the norm <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8ba1\u7b97\u5e38\u6570<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the number of features for each block.</p>\n<p>Something like <span translate=no>_^_0_^_</span>. </p>\n": "<p>\u8ba1\u7b97\u6bcf\u4e2a\u533a\u5757\u7684\u8981\u7d20\u6570\u91cf\u3002</p>\n<p>\u6709\u70b9\u50cf<span translate=no>_^_0_^_</span>\u3002</p>\n",
|
||||
"<p>Calculate the number of features for each block</p>\n<p>Something like <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8ba1\u7b97\u6bcf\u4e2a\u533a\u5757\u7684\u8981\u7d20\u6570\u91cf</p>\n<p>\u6bd4\u5982<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the penalty <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8ba1\u7b97\u7f5a\u6b3e<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate the standard deviation for each feature among <span translate=no>_^_0_^_</span> samples</p>\n<span translate=no>_^_1_^_</span><p> </p>\n": "<p>\u8ba1\u7b97<span translate=no>_^_0_^_</span>\u6837\u672c\u4e2d\u6bcf\u4e2a\u7279\u5f81\u7684\u6807\u51c6\u5dee</p>\n<span translate=no>_^_1_^_</span><p></p>\n",
|
||||
"<p>Check if the batch size is divisible by the group size </p>\n": "<p>\u68c0\u67e5\u6279\u6b21\u5927\u5c0f\u662f\u5426\u53ef\u4ee5\u88ab\u7ec4\u5927\u5c0f\u6574\u9664</p>\n",
|
||||
"<p>Convert from RGB </p>\n": "<p>\u4ece RGB \u8fdb\u884c\u8f6c\u6362</p>\n",
|
||||
"<p>Convert the kernel to a PyTorch tensor </p>\n": "<p>\u5c06\u5185\u6838\u8f6c\u6362\u4e3a PyTorch \u5f20\u91cf</p>\n",
|
||||
"<p>Convolution </p>\n": "<p>\u5377\u79ef</p>\n",
|
||||
"<p>Convolutions </p>\n": "<p>\u5377\u79ef</p>\n",
|
||||
"<p>Create the MLP </p>\n": "<p>\u521b\u5efa MLP</p>\n",
|
||||
"<p>Demodulate </p>\n": "<p>\u89e3\u8c03</p>\n",
|
||||
"<p>Discriminator blocks </p>\n": "<p>\u9274\u522b\u5668\u5757</p>\n",
|
||||
"<p>Down-sample </p>\n": "<p>\u5411\u4e0b\u91c7\u6837</p>\n",
|
||||
"<p>Down-sampling and <span translate=no>_^_0_^_</span> convolution layer for the residual connection </p>\n": "<p>\u5269\u4f59\u8fde\u63a5\u7684\u4e0b\u91c7\u6837\u548c<span translate=no>_^_0_^_</span>\u5377\u79ef\u5c42</p>\n",
|
||||
"<p>Down-sampling layer </p>\n": "<p>\u5411\u4e0b\u91c7\u6837\u5c42</p>\n",
|
||||
"<p>Evaluate rest of the blocks </p>\n": "<p>\u8bc4\u4f30\u5176\u4f59\u7684\u533a\u5757</p>\n",
|
||||
"<p>Expand the learned constant to match batch size </p>\n": "<p>\u5c55\u5f00\u5b66\u4e60\u7684\u5e38\u91cf\u4ee5\u5339\u914d\u6279\u6b21\u5927\u5c0f</p>\n",
|
||||
"<p>Expand the standard deviation to append to the feature map </p>\n": "<p>\u5c55\u5f00\u8981\u8ffd\u52a0\u5230\u8981\u7d20\u5730\u56fe\u7684\u6807\u51c6\u5dee</p>\n",
|
||||
"<p>Exponential sum of <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span> where <span translate=no>_^_2_^_</span> is the value of it at <span translate=no>_^_3_^_</span>-th step of training </p>\n": "<p>\u8bad\u7ec3<span translate=no>_^_3_^_</span>\u7b2c-\u6b65\uff0c<span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u5176\u4e2d<span translate=no>_^_2_^_</span>\u662f\u5b83\u7684\u503c\u7684\u6307\u6570\u548c</p>\n",
|
||||
"<p>Final <span translate=no>_^_0_^_</span> convolution layer </p>\n": "<p>\u6700\u7ec8<span translate=no>_^_0_^_</span>\u5377\u79ef\u5c42</p>\n",
|
||||
"<p>Final linear layer to get the classification </p>\n": "<p>\u83b7\u5f97\u5206\u7c7b\u7684\u6700\u7ec8\u7ebf\u6027\u5c42</p>\n",
|
||||
"<p>First <a href=\"#style_block\">style block</a> changes the feature map size to <span translate=no>_^_0_^_</span> </p>\n": "<p>\u7b2c\u4e00\u4e2a<a href=\"#style_block\">\u6837\u5f0f\u5757</a>\u5c06\u8981\u7d20\u5730\u56fe\u5927\u5c0f\u66f4\u6539\u4e3a<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>First style block for <span translate=no>_^_0_^_</span> resolution and layer to get RGB </p>\n": "<p><span translate=no>_^_0_^_</span>\u5206\u8fa8\u7387\u548c\u56fe\u5c42\u7684\u7b2c\u4e00\u4e2a\u6837\u5f0f\u5757\u6765\u83b7\u5f97 RGB</p>\n",
|
||||
"<p>First style block with first noise tensor. The output is of shape <span translate=no>_^_0_^_</span> </p>\n": "<p>\u7b2c\u4e00\u4e2a\u5e26\u6709\u7b2c\u4e00\u4e2a\u566a\u58f0\u5f20\u91cf\u7684\u6837\u5f0f\u5757\u3002\u8f93\u51fa\u662f\u5f62\u72b6\u7684<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Flatten </p>\n": "<p>\u538b\u5e73</p>\n",
|
||||
"<p>Generative adversarial networks have two components; the generator and the discriminator. The generator network takes a random latent vector (<span translate=no>_^_0_^_</span>) and tries to generate a realistic image. The discriminator network tries to differentiate the real images from generated images. When we train the two networks together the generator starts generating images indistinguishable from real images.</p>\n": "<p>\u751f\u6210\u5bf9\u6297\u7f51\u7edc\u6709\u4e24\u4e2a\u7ec4\u6210\u90e8\u5206\uff1a\u751f\u6210\u5668\u548c\u9274\u522b\u5668\u3002\u751f\u6210\u5668\u7f51\u7edc\u91c7\u7528\u968f\u673a\u6f5c\u5411\u91cf (<span translate=no>_^_0_^_</span>) \u5e76\u5c1d\u8bd5\u751f\u6210\u903c\u771f\u7684\u56fe\u50cf\u3002\u9274\u522b\u5668\u7f51\u7edc\u8bd5\u56fe\u5c06\u771f\u5b9e\u56fe\u50cf\u4e0e\u751f\u6210\u7684\u56fe\u50cf\u533a\u5206\u5f00\u6765\u3002\u5f53\u6211\u4eec\u4e00\u8d77\u8bad\u7ec3\u4e24\u4e2a\u7f51\u7edc\u65f6\uff0c\u751f\u6210\u5668\u5f00\u59cb\u751f\u6210\u4e0e\u771f\u5b9e\u56fe\u50cf\u6ca1\u6709\u533a\u522b\u7684\u56fe\u50cf\u3002</p>\n",
|
||||
"<p>Generator blocks </p>\n": "<p>\u53d1\u7535\u673a\u5757</p>\n",
|
||||
"<p>Get <a href=\"#equalized_weight\">learning rate equalized weights</a> </p>\n": "<p>\u83b7\u53d6<a href=\"#equalized_weight\">\u5b66\u4e60\u901f\u7387\u5747\u8861\u6743\u91cd</a></p>\n",
|
||||
"<p>Get RGB image </p>\n": "<p>\u83b7\u53d6 RGB \u56fe\u50cf</p>\n",
|
||||
"<p>Get batch size </p>\n": "<p>\u83b7\u53d6\u6279\u6b21\u5927\u5c0f</p>\n",
|
||||
"<p>Get batch size, height and width </p>\n": "<p>\u83b7\u53d6\u6279\u6b21\u5927\u5c0f\u3001\u9ad8\u5ea6\u548c\u5bbd\u5ea6</p>\n",
|
||||
"<p>Get first rgb image </p>\n": "<p>\u83b7\u53d6\u7b2c\u4e00\u5f20 rgb \u56fe\u50cf</p>\n",
|
||||
"<p>Get number of pixels </p>\n": "<p>\u83b7\u53d6\u50cf\u7d20\u6570</p>\n",
|
||||
"<p>Get shape of the input feature map </p>\n": "<p>\u83b7\u53d6\u8f93\u5165\u8981\u7d20\u5730\u56fe\u7684\u5f62\u72b6</p>\n",
|
||||
"<p>Get style vector <span translate=no>_^_0_^_</span> </p>\n": "<p>\u83b7\u53d6\u6837\u5f0f\u77e2\u91cf<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get style vector from <span translate=no>_^_0_^_</span> (denoted by <span translate=no>_^_1_^_</span> in the diagram) with an <a href=\"#equalized_linear\">equalized learning-rate linear layer</a> </p>\n": "<p>\u4f7f\u7528<a href=\"#equalized_linear\">\u5747\u8861\u7684\u5b66\u4e60\u901f\u7387\u7ebf\u6027\u56fe\u5c42\u4ece<span translate=no>_^_0_^_</span>\uff08<span translate=no>_^_1_^_</span>\u5728\u56fe\u4e2d\u7528\u8868\u793a\uff09\u83b7\u53d6\u6837\u5f0f</a>\u5411\u91cf</p>\n",
|
||||
"<p>Get the device </p>\n": "<p>\u62ff\u5230\u8bbe\u5907</p>\n",
|
||||
"<p>Get the mean standard deviation </p>\n": "<p>\u83b7\u53d6\u5e73\u5747\u6807\u51c6\u5dee</p>\n",
|
||||
"<p>Get the residual connection </p>\n": "<p>\u83b7\u53d6\u5269\u4f59\u8fde\u63a5</p>\n",
|
||||
"<p>He initialization constant </p>\n": "<p>\u4ed6\u521d\u59cb\u5316\u5e38\u91cf</p>\n",
|
||||
"<p>Increment <span translate=no>_^_0_^_</span> </p>\n": "<p>\u589e\u91cf<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Initialize the weights with <span translate=no>_^_0_^_</span> </p>\n": "<p>\u4f7f\u7528\u521d\u59cb\u5316\u6743\u91cd<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>It maps the random latent vector (<span translate=no>_^_0_^_</span>) into a different latent space (<span translate=no>_^_1_^_</span>), with an 8-layer neural network. This gives an intermediate latent space <span translate=no>_^_2_^_</span> where the factors of variations are more linear (disentangled).</p>\n": "<p>\u5b83\u5c06\u968f\u673a\u6f5c\u5728\u5411\u91cf (<span translate=no>_^_0_^_</span>) \u6620\u5c04\u5230\u53e6\u4e00\u4e2a\u5177\u67098\u5c42\u795e\u7ecf\u7f51\u7edc\u7684\u6f5c\u5728\u7a7a\u95f4 (<span translate=no>_^_1_^_</span>) \u4e2d\u3002\u8fd9\u7ed9\u51fa\u4e86\u4e00\u4e2a\u4e2d\u95f4\u7684\u6f5c\u5728\u7a7a\u95f4\uff0c<span translate=no>_^_2_^_</span>\u5176\u4e2d\u53d8\u5316\u7684\u56e0\u5b50\u66f4\u52a0\u7ebf\u6027\uff08\u89e3\u5f00\uff09\u3002</p>\n",
|
||||
"<p>Layer to convert RGB image to a feature map with <span translate=no>_^_0_^_</span> number of features. </p>\n": "<p>\u7528\u4e8e\u5c06 RGB \u56fe\u50cf\u8f6c\u6362\u4e3a\u5177\u6709<span translate=no>_^_0_^_</span>\u591a\u4e2a\u8981\u7d20\u7684\u8981\u7d20\u5730\u56fe\u7684\u56fe\u5c42\u3002</p>\n",
|
||||
"<p>Leaky Relu </p>\n": "<p>Leaky Relu</p>\n",
|
||||
"<p>Linear transformation </p>\n": "<p>\u7ebf\u6027\u53d8\u6362</p>\n",
|
||||
"<p>Map <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> </p>\n": "<p>\u6620\u5c04<span translate=no>_^_0_^_</span>\u5230<span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Multiply the weights by <span translate=no>_^_0_^_</span> and return </p>\n": "<p>\u5c06\u6743\u91cd\u4e58\u4ee5<span translate=no>_^_0_^_</span>\u5e76\u8fd4\u56de</p>\n",
|
||||
"<p>Noise is made available to each block which helps the generator create more realistic images. Noise is scaled per channel by a learned weight.</p>\n": "<p>\u566a\u70b9\u53ef\u7528\u4e8e\u6bcf\u4e2a\u65b9\u5757\uff0c\u8fd9\u6709\u52a9\u4e8e\u751f\u6210\u5668\u521b\u5efa\u66f4\u903c\u771f\u7684\u56fe\u50cf\u3002\u566a\u58f0\u6309\u5b66\u4e60\u7684\u6743\u91cd\u6309\u6bcf\u4e2a\u901a\u9053\u8fdb\u884c\u7f29\u653e\u3002</p>\n",
|
||||
"<p>Noise scale </p>\n": "<p>\u566a\u97f3\u6807\u5ea6</p>\n",
|
||||
"<p>Normalize <span translate=no>_^_0_^_</span> </p>\n": "<p>\u89c4\u8303\u5316<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Normalize the kernel </p>\n": "<p>\u89c4\u8303\u5316\u5185\u6838</p>\n",
|
||||
"<p>Number of <a href=\"#discriminator_block\">discirminator blocks</a> </p>\n": "<p><a href=\"#discriminator_block\">\u533a\u5206\u5668\u5757</a>\u7684\u6570\u91cf</p>\n",
|
||||
"<p>Number of features after adding the standard deviations map </p>\n": "<p>\u6dfb\u52a0\u6807\u51c6\u5dee\u5730\u56fe\u540e\u7684\u8981\u7d20\u6570\u91cf</p>\n",
|
||||
"<p>Number of generator blocks </p>\n": "<p>\u53d1\u7535\u673a\u7ec4\u6570\u91cf</p>\n",
|
||||
"<p>Number of output features </p>\n": "<p>\u8f93\u51fa\u8981\u7d20\u7684\u6570\u91cf</p>\n",
|
||||
"<p>Number of steps calculated <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8ba1\u7b97\u7684\u6b65\u6570<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Padding layer </p>\n": "<p>\u586b\u5145\u5c42</p>\n",
|
||||
"<p>Padding size </p>\n": "<p>\u586b\u5145\u5927\u5c0f</p>\n",
|
||||
"<p>Path length regularization encourages a fixed-size step in <span translate=no>_^_0_^_</span> to result in a non-zero, fixed-magnitude change in the generated image.</p>\n": "<p>\u8def\u5f84\u957f\u5ea6\u6b63\u5219\u5316\u9f13\u52b1\u91c7\u7528\u56fa\u5b9a\u5927\u5c0f\u7684\u6b65\u8fdb\uff0c<span translate=no>_^_0_^_</span>\u4ece\u800c\u5728\u751f\u6210\u7684\u56fe\u50cf\u4e2d\u4ea7\u751f\u975e\u96f6\u7684\u56fa\u5b9a\u5e45\u5ea6\u53d8\u5316\u3002</p>\n",
|
||||
"<p>Progressive GAN generates high-resolution images (<span translate=no>_^_0_^_</span>) of size. It does so by <em>progressively</em> increasing the image size. First, it trains a network that produces a <span translate=no>_^_1_^_</span> image, then <span translate=no>_^_2_^_</span> , then an <span translate=no>_^_3_^_</span> image, and so on up to the desired image resolution.</p>\n": "<p>\u6e10\u8fdb\u5f0f GAN \u751f\u6210\u5927\u5c0f\u4e3a\u7684\u9ad8\u5206\u8fa8\u7387\u56fe\u50cf (<span translate=no>_^_0_^_</span>)\u3002\u5b83\u901a\u8fc7<em>\u9010\u6b65</em>\u589e\u52a0\u56fe\u50cf\u5927\u5c0f\u6765\u505a\u5230\u8fd9\u4e00\u70b9\u3002\u9996\u5148\uff0c\u5b83\u8bad\u7ec3\u4e00\u4e2a\u7f51\u7edc\uff0c\u8be5\u7f51\u7edc\u751f\u6210<span translate=no>_^_1_^_</span>\u56fe\u50cf<span translate=no>_^_2_^_</span>\uff0c\u7136\u540e\u751f\u6210<span translate=no>_^_3_^_</span>\u56fe\u50cf\uff0c\u4f9d\u6b64\u7c7b\u63a8\uff0c\u76f4\u81f3\u6240\u9700\u7684\u56fe\u50cf\u5206\u8fa8\u7387\u3002</p>\n",
|
||||
"<p>Regularize after first step </p>\n": "<p>\u7b2c\u4e00\u6b65\u540e\u6b63\u89c4\u5316</p>\n",
|
||||
"<p>Reshape <span translate=no>_^_0_^_</span> </p>\n": "<p>\u91cd\u5851<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Reshape <span translate=no>_^_0_^_</span> to <span translate=no>_^_1_^_</span> and return </p>\n": "<p>\u91cd\u5851<span translate=no>_^_0_^_</span>\u4e3a<span translate=no>_^_1_^_</span>\u7136\u540e\u8fd4\u56de</p>\n",
|
||||
"<p>Reshape and return </p>\n": "<p>\u91cd\u5851\u5e76\u8fd4\u56de</p>\n",
|
||||
"<p>Reshape for smoothening </p>\n": "<p>\u91cd\u5851\u4ee5\u5b9e\u73b0\u5e73\u6ed1</p>\n",
|
||||
"<p>Reshape gradients to calculate the norm </p>\n": "<p>\u91cd\u5851\u68af\u5ea6\u4ee5\u8ba1\u7b97\u8303\u6570</p>\n",
|
||||
"<p>Reshape the scales </p>\n": "<p>\u91cd\u5851\u5929\u5e73</p>\n",
|
||||
"<p>Reshape weights </p>\n": "<p>\u91cd\u5851\u6743\u91cd</p>\n",
|
||||
"<p>Return a dummy loss if we can't calculate <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5982\u679c\u6211\u4eec\u65e0\u6cd5\u8ba1\u7b97\uff0c\u5219\u8fd4\u56de\u865a\u62df\u635f\u5931<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Return feature map and rgb image </p>\n": "<p>\u8fd4\u56de\u7279\u5f81\u56fe\u548c rgb \u56fe\u50cf</p>\n",
|
||||
"<p>Return the classification score </p>\n": "<p>\u8fd4\u56de\u5206\u7c7b\u5206\u6570</p>\n",
|
||||
"<p>Return the final RGB image </p>\n": "<p>\u8fd4\u56de\u6700\u7ec8\u7684 RGB \u56fe\u50cf</p>\n",
|
||||
"<p>Return the loss <span translate=no>_^_0_^_</span> </p>\n": "<p>\u9000\u8fd8\u635f\u5931<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Return the penalty </p>\n": "<p>\u9000\u8fd8\u7f5a\u6b3e</p>\n",
|
||||
"<p>Run it through the <a href=\"#generator_block\">generator block</a> </p>\n": "<p>\u901a\u8fc7<a href=\"#generator_block\">\u53d1\u7535\u673a\u7ec4</a>\u8fd0\u884c\u5b83</p>\n",
|
||||
"<p>Run through the <a href=\"#discriminator_block\">discriminator blocks</a> </p>\n": "<p>\u901a\u8fc7<a href=\"#discriminator_block\">\u9274\u522b\u5668\u5757</a></p>\n",
|
||||
"<p>Save kernel as a fixed parameter (no gradient updates) </p>\n": "<p>\u5c06\u5185\u6838\u53e6\u5b58\u4e3a\u56fa\u5b9a\u53c2\u6570\uff08\u4e0d\u66f4\u65b0\u6e10\u53d8\uff09</p>\n",
|
||||
"<p>Scale and add noise </p>\n": "<p>\u7f29\u653e\u548c\u6dfb\u52a0\u566a\u70b9</p>\n",
|
||||
"<p>Scaled down </p>\n": "<p>\u7f29\u5c0f\u89c4\u6a21</p>\n",
|
||||
"<p>Scaling factor <span translate=no>_^_0_^_</span> after adding the residual </p>\n": "<p>\u6dfb\u52a0\u6b8b\u5dee<span translate=no>_^_0_^_</span>\u540e\u7684\u7f29\u653e\u7cfb\u6570</p>\n",
|
||||
"<p>Second <a href=\"#style_block\">style block</a> </p>\n": "<p>\u7b2c\u4e8c\u79cd<a href=\"#style_block\">\u6837\u5f0f\u65b9\u5757</a></p>\n",
|
||||
"<p>Second style block with second noise tensor. The output is of shape <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5177\u6709\u7b2c\u4e8c\u4e2a\u566a\u58f0\u5f20\u91cf\u7684\u7b2c\u4e8c\u6837\u5f0f\u5757\u3002\u8f93\u51fa\u662f\u5f62\u72b6\u7684<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Smoothen (blur) with the kernel </p>\n": "<p>\u4f7f\u7528\u5185\u6838\u5e73\u6ed1\uff08\u6a21\u7cca\uff09</p>\n",
|
||||
"<p>Smoothing layer </p>\n": "<p>\u5e73\u6ed1\u5c42</p>\n",
|
||||
"<p>Smoothing or blurring </p>\n": "<p>\u5e73\u6ed1\u6216\u6a21\u7cca</p>\n",
|
||||
"<p>Split the samples into groups of <span translate=no>_^_0_^_</span>, we flatten the feature map to a single dimension since we want to calculate the standard deviation for each feature. </p>\n": "<p>\u5c06\u6837\u672c\u5206\u6210\u51e0\u7ec4<span translate=no>_^_0_^_</span>\uff0c\u6211\u4eec\u5c06\u7279\u5f81\u56fe\u5c55\u5e73\u4e3a\u5355\u4e2a\u7ef4\u5ea6\uff0c\u56e0\u4e3a\u6211\u4eec\u8981\u8ba1\u7b97\u6bcf\u4e2a\u8981\u7d20\u7684\u6807\u51c6\u5dee\u3002</p>\n",
|
||||
"<p>StyleGAN 2 changes both the generator and the discriminator of StyleGAN.</p>\n": "<p>StyleGan 2 \u540c\u65f6\u66f4\u6539\u4e86 StyleGan \u7684\u751f\u6210\u5668\u548c\u9274\u522b\u5668\u3002</p>\n",
|
||||
"<p>StyleGAN improves the generator of Progressive GAN keeping the discriminator architecture the same.</p>\n": "<p>StyleGan \u6539\u8fdb\u4e86 Progressive GAN \u7684\u751f\u6210\u5668\uff0c\u4f7f\u9274\u522b\u5668\u67b6\u6784\u4fdd\u6301\u4e0d\u53d8\u3002</p>\n",
|
||||
"<p>StyleGAN2 uses residual connections (with down-sampling) in the discriminator and skip connections in the generator with up-sampling (the RGB outputs from each layer are added - no residual connections in feature maps). They show that with experiments that the contribution of low-resolution layers is higher at beginning of the training and then high-resolution layers take over.</p>\n": "<p>StyleGan2\u5728\u9274\u522b\u5668\u4e2d\u4f7f\u7528\u6b8b\u5dee\u8fde\u63a5\uff08\u5e26\u4e0b\u91c7\u6837\uff09\uff0c\u5e76\u901a\u8fc7\u4e0a\u91c7\u6837\u8df3\u8fc7\u751f\u6210\u5668\u4e2d\u7684\u8fde\u63a5\uff08\u6dfb\u52a0\u4e86\u6bcf\u4e2a\u56fe\u5c42\u7684RGB\u8f93\u51fa-\u7279\u5f81\u56fe\u4e2d\u6ca1\u6709\u6b8b\u4f59\u8fde\u63a5\uff09\u3002\u4ed6\u4eec\u8868\u660e\uff0c\u901a\u8fc7\u5b9e\u9a8c\uff0c\u5728\u8bad\u7ec3\u5f00\u59cb\u65f6\uff0c\u4f4e\u5206\u8fa8\u7387\u56fe\u5c42\u7684\u8d21\u732e\u66f4\u9ad8\uff0c\u7136\u540e\u9ad8\u5206\u8fa8\u7387\u56fe\u5c42\u63a5\u7ba1\u3002</p>\n",
|
||||
"<p>The discriminator is a mirror image of the generator network. The progressive growth of the discriminator is done similarly.</p>\n": "<p>\u9274\u522b\u5668\u662f\u53d1\u7535\u673a\u7f51\u7edc\u7684\u955c\u50cf\u3002\u9274\u522b\u5668\u7684\u6e10\u8fdb\u589e\u957f\u4e5f\u662f\u7c7b\u4f3c\u7684\u3002</p>\n",
|
||||
"<p>The first style block </p>\n": "<p>\u7b2c\u4e00\u4e2a\u6837\u5f0f\u65b9\u5757</p>\n",
|
||||
"<p>Then <span translate=no>_^_0_^_</span> is transformed into two vectors (<strong>styles</strong>) per layer, <span translate=no>_^_1_^_</span>, <span translate=no>_^_2_^_</span> and used for scaling and shifting (biasing) in each layer with <span translate=no>_^_3_^_</span> operator (normalize and scale): <span translate=no>_^_4_^_</span></p>\n": "<p>\u7136\u540e\u5c06\u6bcf\u4e2a\u56fe\u5c42\u8f6c\u6362<span translate=no>_^_0_^_</span>\u4e3a\u4e24\u4e2a\u77e2\u91cf\uff08<strong>\u6837\u5f0f</strong>\uff09<span translate=no>_^_1_^_</span>\uff0c<span translate=no>_^_2_^_</span>\u5e76\u7528\u4e8e\u5728\u6bcf\u4e2a\u56fe\u5c42\u4e2d\u8fdb\u884c\u7f29\u653e\u548c\u79fb\u52a8\uff08\u504f\u7f6e\uff09<span translate=no>_^_3_^_</span>\u8fd0\u7b97\u7b26\uff08\u5f52\u4e00\u5316\u548c\u7f29\u653e\uff09\uff1a<span translate=no>_^_4_^_</span></p>\n",
|
||||
"<p>Then the convolution weights <span translate=no>_^_0_^_</span> are modulated as follows. (<span translate=no>_^_1_^_</span> here on refers to weights not intermediate latent space, we are sticking to the same notation as the paper.)</p>\n": "<p>\u7136\u540e\u6309\u5982\u4e0b\u65b9\u5f0f\u8c03<span translate=no>_^_0_^_</span>\u5236\u5377\u79ef\u6743\u91cd\u3002\uff08<span translate=no>_^_1_^_</span>\u8fd9\u91cc\u6307\u7684\u662f\u6743\u91cd\u800c\u4e0d\u662f\u4e2d\u95f4\u7684\u6f5c\u5728\u7a7a\u95f4\uff0c\u6211\u4eec\u575a\u6301\u4f7f\u7528\u4e0e\u7eb8\u5f20\u76f8\u540c\u7684\u7b26\u53f7\u3002\uff09</p>\n",
|
||||
"<p>They remove the <span translate=no>_^_0_^_</span> operator and replace it with the weight modulation and demodulation step. This is supposed to improve what they call droplet artifacts that are present in generated images, which are caused by the normalization in <span translate=no>_^_1_^_</span> operator. Style vector per layer is calculated from <span translate=no>_^_2_^_</span> as <span translate=no>_^_3_^_</span>.</p>\n": "<p>\u4ed6\u4eec\u5c06<span translate=no>_^_0_^_</span>\u64cd\u4f5c\u5458\u79fb\u9664\uff0c\u5e76\u7528\u6743\u91cd\u8c03\u5236\u548c\u89e3\u8c03\u6b65\u9aa4\u4ee3\u66ff\u5b83\u3002\u8fd9\u5e94\u8be5\u6539\u5584\u4ed6\u4eec\u6240\u8c13\u7684\u6db2\u6ef4\u4f2a\u50cf\uff0c\u8fd9\u4e9b\u4f2a\u5f71\u5b58\u5728\u4e8e\u751f\u6210\u7684\u56fe\u50cf\u4e2d\uff0c\u8fd9\u662f\u7531<span translate=no>_^_1_^_</span>\u8fd0\u7b97\u7b26\u4e2d\u7684\u5f52\u4e00\u5316\u5f15\u8d77\u7684\u3002\u6bcf\u4e2a\u56fe\u5c42\u7684\u6837\u5f0f\u5411\u91cf\u662f\u6839\u636e\u8ba1\u7b97\u5f97\u51fa<span translate=no>_^_2_^_</span>\u7684<span translate=no>_^_3_^_</span>\u3002</p>\n",
|
||||
"<p>They use <strong>minibatch standard deviation</strong> to increase variation and <strong>equalized learning rate</strong> which we discussed below in the implementation. They also use <strong>pixel-wise normalization</strong> where at each pixel the feature vector is normalized. They apply this to all the convolution layer outputs (except RGB).</p>\n": "<p>\u4ed6\u4eec\u4f7f\u7528 <strong>minibatch\u6807\u51c6\u5dee</strong>\u6765\u589e\u52a0\u53d8\u5f02\u548c<strong>\u5747\u8861\u5b66\u4e60\u7387</strong>\uff0c\u6211\u4eec\u5728\u4e0b\u6587\u7684\u5b9e\u73b0\u4e2d\u5bf9\u6b64\u8fdb\u884c\u4e86\u8ba8\u8bba\u3002\u5b83\u4eec\u8fd8\u4f7f\u7528<strong>\u9010\u50cf\u7d20\u5f52\u4e00\u5316</strong>\uff0c\u5176\u4e2d\u7279\u5f81\u5411\u91cf\u5728\u6bcf\u4e2a\u50cf\u7d20\u5904\u8fdb\u884c\u5f52\u4e00\u5316\u3002\u5b83\u4eec\u5c06\u5176\u5e94\u7528\u4e8e\u6240\u6709\u5377\u79ef\u5c42\u8f93\u51fa\uff08RGB \u9664\u5916\uff09\u3002</p>\n",
|
||||
"<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of the paper <a href=\"https://arxiv.org/abs/1912.04958\">Analyzing and Improving the Image Quality of StyleGAN</a> which introduces <strong>StyleGAN 2</strong>. StyleGAN 2 is an improvement over <strong>StyleGAN</strong> from the paper <a href=\"https://arxiv.org/abs/1812.04948\">A Style-Based Generator Architecture for Generative Adversarial Networks</a>. And StyleGAN is based on <strong>Progressive GAN</strong> from the paper <a href=\"https://arxiv.org/abs/1710.10196\">Progressive Growing of GANs for Improved Quality, Stability, and Variation</a>. All three papers are from the same authors from <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a>.</p>\n": "<p>\u8fd9\u662f\u300a<a href=\"https://arxiv.org/abs/1912.04958\">\u5206\u6790\u548c\u63d0\u9ad8 StyleGan \u7684\u56fe\u50cf\u8d28\u91cf\u300b</a><a href=\"https://pytorch.org\">\u4e00\u6587\u7684 PyTorch</a> \u5b9e\u73b0\uff0c\u8be5\u8bba\u6587\u4ecb\u7ecd\u4e86 <strong>StyleGan 2</strong>\u3002StyleGan 2 \u662f\u5bf9\u8bba\u6587\u300a\u751f\u6210<a href=\"https://arxiv.org/abs/1812.04948\">\u5bf9\u6297\u7f51\u7edc\u7684\u57fa\u4e8e\u6837\u5f0f\u7684\u751f\u6210\u5668\u67b6\u6784\u300b\u4e2d\u5bf9</a> <strong>StyleG</strong> an \u7684\u6539\u8fdb\u3002StyleG <strong>an \u57fa\u4e8e\u8bba\u6587\u300a\u9010\u6b65</strong><a href=\"https://arxiv.org/abs/1710.10196\">\u751f\u957f GaN \u4ee5\u63d0\u9ad8\u8d28\u91cf\u3001\u7a33\u5b9a\u6027\u548c\u53d8\u5f02\u6027\u300b\u4e2d\u7684\u6e10\u8fdb\u5f0f GAN</a>\u3002\u8fd9\u4e09\u7bc7\u8bba\u6587\u5747\u51fa\u81ea <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a> \u7684\u540c\u4e00\u4f4d\u4f5c\u8005\u3002</p>\n",
|
||||
"<p>To prevent the generator from assuming adjacent styles are correlated, they randomly use different styles for different blocks. That is, they sample two latent vectors <span translate=no>_^_0_^_</span> and corresponding <span translate=no>_^_1_^_</span> and use <span translate=no>_^_2_^_</span> based styles for some blocks and <span translate=no>_^_3_^_</span> based styles for some blacks randomly.</p>\n": "<p>\u4e3a\u4e86\u9632\u6b62\u751f\u6210\u5668\u5047\u8bbe\u76f8\u90bb\u6837\u5f0f\u662f\u76f8\u5173\u7684\uff0c\u5b83\u4eec\u4f1a\u968f\u673a\u5bf9\u4e0d\u540c\u7684\u5757\u4f7f\u7528\u4e0d\u540c\u7684\u6837\u5f0f\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u4ed6\u4eec\u5bf9\u4e24\u4e2a\u6f5c\u5728\u5411\u91cf\u8fdb\u884c\u91c7\u6837\uff0c\u5bf9\u67d0\u4e9b\u5757\u8fdb\u884c\u5bf9\u5e94<span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u548c\u4f7f\u7528<span translate=no>_^_2_^_</span>\u57fa\u4e8e\u6837\u5f0f\uff0c\u5bf9\u67d0\u4e9b\u5757\u4f7f\u7528<span translate=no>_^_3_^_</span>\u57fa\u4e8e\u6837\u5f0f\u968f\u673a\u9ed1\u4eba\u3002</p>\n",
|
||||
"<p>Trainable <span translate=no>_^_0_^_</span> constant </p>\n": "<p>\u53ef\u8bad\u7ec3<span translate=no>_^_0_^_</span>\u5e38\u6570</p>\n",
|
||||
"<p>Try to normalize the image (this is totally optional, but sped up the early training a little) </p>\n": "<p>\u5c1d\u8bd5\u89c4\u8303\u5316\u56fe\u50cf\uff08\u8fd9\u5b8c\u5168\u662f\u53ef\u9009\u7684\uff0c\u4f46\u7a0d\u5fae\u52a0\u5feb\u4e86\u65e9\u671f\u8bad\u7ec3\uff09</p>\n",
|
||||
"<p>Two <span translate=no>_^_0_^_</span> convolutions </p>\n": "<p>\u4e24\u6b21<span translate=no>_^_0_^_</span>\u5377\u79ef</p>\n",
|
||||
"<p>Up sample the RGB image and add to the rgb from the block </p>\n": "<p>\u5411\u4e0a\u91c7\u6837 RGB \u56fe\u50cf\u5e76\u4ece\u65b9\u5757\u4e2d\u6dfb\u52a0\u5230 rgb</p>\n",
|
||||
"<p>Up sample the feature map </p>\n": "<p>\u5411\u4e0a\u91c7\u6837\u8981\u7d20\u5730\u56fe</p>\n",
|
||||
"<p>Up-sample and smoothen </p>\n": "<p>\u5411\u4e0a\u91c7\u6837\u548c\u5e73\u6ed1</p>\n",
|
||||
"<p>Up-sampling layer </p>\n": "<p>\u5411\u4e0a\u91c7\u6837\u5c42</p>\n",
|
||||
"<p>Update exponential sum </p>\n": "<p>\u66f4\u65b0\u6307\u6570\u548c</p>\n",
|
||||
"<p>Use grouped convolution to efficiently calculate the convolution with sample wise kernel. i.e. we have a different kernel (weights) for each sample in the batch </p>\n": "<p>\u4f7f\u7528\u5206\u7ec4\u5377\u79ef\u6765\u4f7f\u7528\u6837\u672c\u660e\u667a\u7684\u5185\u6838\u6709\u6548\u5730\u8ba1\u7b97\u5377\u79ef\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u6211\u4eec\u5728\u6279\u5904\u7406\u4e2d\u7684\u6bcf\u4e2a\u6837\u672c\u90fd\u6709\u4e0d\u540c\u7684\u5185\u6838\uff08\u6743\u91cd\uff09</p>\n",
|
||||
"<p>We'll first introduce the three papers at a high level.</p>\n": "<p>\u6211\u4eec\u5c06\u9996\u5148\u5bf9\u8fd9\u4e09\u7bc7\u8bba\u6587\u8fdb\u884c\u8f83\u9ad8\u5c42\u6b21\u7684\u4ecb\u7ecd\u3002</p>\n",
|
||||
"<p>Weight modulated convolution </p>\n": "<p>\u6743\u91cd\u8c03\u5236\u5377\u79ef</p>\n",
|
||||
"<p>Weight modulated convolution layer </p>\n": "<p>\u6743\u91cd\u8c03\u5236\u5377\u79ef\u5c42</p>\n",
|
||||
"<p>Weight modulated convolution layer without demodulation </p>\n": "<p>\u6ca1\u6709\u89e3\u8c03\u7684\u6743\u91cd\u8c03\u5236\u5377\u79ef\u5c42</p>\n",
|
||||
"<p>Weight multiplication coefficient </p>\n": "<p>\u6743\u91cd\u4e58\u6cd5\u7cfb\u6570</p>\n",
|
||||
"<p>Whether to normalize weights </p>\n": "<p>\u662f\u5426\u89c4\u683c\u5316\u6743\u91cd</p>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f<span translate=no>_^_1_^_</span></li>\n</ul><li><span translate=no>_^_2_^_</span>\u662f<span translate=no>_^_3_^_</span></li>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is <span translate=no>_^_1_^_</span>. In order to mix-styles (use different <span translate=no>_^_2_^_</span> for different layers), we provide a separate <span translate=no>_^_3_^_</span> for each <a href=\"#generator_block\">generator block</a>. It has shape <span translate=no>_^_4_^_</span>. </li>\n<li><span translate=no>_^_5_^_</span> is the noise for each block. It's a list of pairs of noise sensors because each block (except the initial) has two noise inputs after each convolution layer (see the diagram).</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f<span translate=no>_^_1_^_</span>\u3002\u4e3a\u4e86\u6df7\u5408\u6837\u5f0f\uff08\u5bf9\u4e0d\u540c\u7684\u5c42\u4f7f\u7528\u4e0d\u540c\u7684<span translate=no>_^_2_^_</span>\u6837\u5f0f\uff09\uff0c\u6211\u4eec<span translate=no>_^_3_^_</span>\u4e3a\u6bcf\u4e2a<a href=\"#generator_block\">\u751f\u6210\u5668\u6a21\u5757</a>\u63d0\u4f9b\u4e86\u5355\u72ec\u7684\u6837\u5f0f\u3002\u5b83\u6709\u5f62\u72b6<span translate=no>_^_4_^_</span>\u3002</li>\n<li><span translate=no>_^_5_^_</span>\u662f\u6bcf\u4e2a\u65b9\u5757\u7684\u566a\u58f0\u3002\u8fd9\u662f\u4e00\u5bf9\u566a\u58f0\u4f20\u611f\u5668\u7684\u5217\u8868\uff0c\u56e0\u4e3a\u6bcf\u4e2a\u6a21\u5757\uff08\u521d\u59cb\u6a21\u5757\u9664\u5916\uff09\u5728\u6bcf\u4e2a\u5377\u79ef\u5c42\u4e4b\u540e\u90fd\u6709\u4e24\u4e2a\u566a\u58f0\u8f93\u5165\uff08\u53c2\u89c1\u56fe\u8868\uff09\u3002</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the <span translate=no>_^_1_^_</span> of image resolution </li>\n<li><span translate=no>_^_2_^_</span> is the dimensionality of <span translate=no>_^_3_^_</span> </li>\n<li><span translate=no>_^_4_^_</span> number of features in the convolution layer at the highest resolution (final block) </li>\n<li><span translate=no>_^_5_^_</span> maximum number of features in any generator block</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u56fe\u50cf<span translate=no>_^_1_^_</span>\u5206\u8fa8\u7387\u7684</li>\n<li><span translate=no>_^_2_^_</span>\u662f\u7684\u7ef4\u5ea6<span translate=no>_^_3_^_</span></li>\n<li><span translate=no>_^_4_^_</span>\u5377\u79ef\u5c42\u4e2d\u5206\u8fa8\u7387\u6700\u9ad8\u7684\u8981\u7d20\u6570\uff08\u6700\u7ec8\u5757\uff09</li>\n<li><span translate=no>_^_5_^_</span>\u4efb\u4f55\u53d1\u7535\u673a\u7ec4\u4e2d\u8981\u7d20\u7684\u6700\u5927\u6570\u76ee</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the <span translate=no>_^_1_^_</span> of image resolution </li>\n<li><span translate=no>_^_2_^_</span> number of features in the convolution layer at the highest resolution (first block) </li>\n<li><span translate=no>_^_3_^_</span> maximum number of features in any generator block</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u56fe\u50cf<span translate=no>_^_1_^_</span>\u5206\u8fa8\u7387\u7684</li>\n<li><span translate=no>_^_2_^_</span>\u5377\u79ef\u5c42\u4e2d\u5206\u8fa8\u7387\u6700\u9ad8\u7684\u8981\u7d20\u6570\uff08\u7b2c\u4e00\u4e2a\u5757\uff09</li>\n<li><span translate=no>_^_3_^_</span>\u4efb\u4f55\u53d1\u7535\u673a\u7ec4\u4e2d\u8981\u7d20\u7684\u6700\u5927\u6570\u76ee</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the batch of <span translate=no>_^_1_^_</span> of shape <span translate=no>_^_2_^_</span> </li>\n<li><span translate=no>_^_3_^_</span> are the generated images of shape <span translate=no>_^_4_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u5f62\u72b6<span translate=no>_^_1_^_</span>\u7684\u6279\u6b21<span translate=no>_^_2_^_</span></li>\n<li><span translate=no>_^_3_^_</span>\u662f\u751f\u6210\u7684\u5f62\u72b6\u56fe\u50cf<span translate=no>_^_4_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the constant <span translate=no>_^_1_^_</span> used to calculate the exponential moving average <span translate=no>_^_2_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f<span translate=no>_^_1_^_</span>\u7528\u4e8e\u8ba1\u7b97\u6307\u6570\u79fb\u52a8\u5e73\u5747\u7ebf\u7684\u5e38\u6570<span translate=no>_^_2_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the dimensionality of <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is the number of features in the feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u7684\u7ef4\u5ea6<span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span>\u662f\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570\u91cf</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the dimensionality of <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_3_^_</span> is the number of features in the output feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u7684\u7ef4\u5ea6<span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span>\u662f\u8f93\u5165\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li>\n<li><span translate=no>_^_3_^_</span>\u662f\u8f93\u51fa\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u8981\u7d20\u5730\u56fe</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span> with shape <span translate=no>_^_4_^_</span> </li>\n<li><span translate=no>_^_5_^_</span> is a tensor of shape <span translate=no>_^_6_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u5f62\u72b6\u7684\u8f93\u5165\u8981\u7d20\u5730\u56fe<span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span>\u662f<span translate=no>_^_3_^_</span>\u6709\u5f62\u72b6\u7684<span translate=no>_^_4_^_</span></li>\n<li><span translate=no>_^_5_^_</span>\u662f\u5f62\u72b6\u5f20\u91cf<span translate=no>_^_6_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span> with shape <span translate=no>_^_4_^_</span> </li>\n<li><span translate=no>_^_5_^_</span> is a tuple of two noise tensors of shape <span translate=no>_^_6_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u5f62\u72b6\u7684\u8f93\u5165\u8981\u7d20\u5730\u56fe<span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span>\u662f<span translate=no>_^_3_^_</span>\u6709\u5f62\u72b6\u7684<span translate=no>_^_4_^_</span></li>\n<li><span translate=no>_^_5_^_</span>\u662f\u7531\u4e24\u4e2a\u5f62\u72b6\u7684\u566a\u58f0\u5f20\u91cf\u7ec4\u6210\u7684\u5143\u7ec4<span translate=no>_^_6_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span> with shape <span translate=no>_^_4_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u5f62\u72b6\u7684\u8f93\u5165\u8981\u7d20\u5730\u56fe<span translate=no>_^_1_^_</span></li>\n</ul><li><span translate=no>_^_2_^_</span>\u662f<span translate=no>_^_3_^_</span>\u6709\u5f62\u72b6\u7684<span translate=no>_^_4_^_</span></li>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input feature map of shape <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is style based scaling tensor of shape <span translate=no>_^_3_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u5f62\u72b6\u7684\u8f93\u5165\u8981\u7d20\u5730\u56fe<span translate=no>_^_1_^_</span></li>\n<li><span translate=no>_^_2_^_</span>\u662f\u57fa\u4e8e\u6837\u5f0f\u7684\u5f62\u72b6\u7f29\u653e\u5f20\u91cf<span translate=no>_^_3_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the input image of shape <span translate=no>_^_1_^_</span></li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u5f62\u72b6\u7684\u8f93\u5165\u56fe\u50cf<span translate=no>_^_1_^_</span></li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in <span translate=no>_^_1_^_</span> and <span translate=no>_^_2_^_</span> </li>\n<li><span translate=no>_^_3_^_</span> is the number of layers in the mapping network.</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f<span translate=no>_^_1_^_</span>\u548c\u4e2d\u7684\u8981\u7d20\u6570\u91cf<span translate=no>_^_2_^_</span></li>\n<li><span translate=no>_^_3_^_</span>\u662f\u5236\u56fe\u7f51\u7edc\u4e2d\u7684\u5c42\u6570\u3002</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map </li>\n<li><span translate=no>_^_2_^_</span> is the bias initialization constant</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u8f93\u5165\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li>\n<li><span translate=no>_^_1_^_</span>\u662f\u8f93\u51fa\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li>\n<li><span translate=no>_^_2_^_</span>\u662f\u504f\u7f6e\u521d\u59cb\u5316\u5e38\u6570</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map </li>\n<li><span translate=no>_^_2_^_</span> is the size of the convolution kernel </li>\n<li><span translate=no>_^_3_^_</span> is flag whether to normalize weights by its standard deviation </li>\n<li><span translate=no>_^_4_^_</span> is the <span translate=no>_^_5_^_</span> for normalizing</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u8f93\u5165\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li>\n<li><span translate=no>_^_1_^_</span>\u662f\u8f93\u51fa\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li>\n<li><span translate=no>_^_2_^_</span>\u662f\u5377\u79ef\u5185\u6838\u7684\u5927\u5c0f</li>\n<li><span translate=no>_^_3_^_</span>\u662f\u6807\u5fd7\u662f\u5426\u6839\u636e\u6743\u91cd\u7684\u6807\u51c6\u5dee\u5f52\u4e00\u5316\u6743\u91cd</li>\n<li><span translate=no>_^_4_^_</span>\u662f<span translate=no>_^_5_^_</span>\u7528\u4e8e\u89c4\u8303\u5316\u7684</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map </li>\n<li><span translate=no>_^_2_^_</span> is the size of the convolution kernel </li>\n<li><span translate=no>_^_3_^_</span> is the padding to be added on both sides of each size dimension</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u8f93\u5165\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li>\n<li><span translate=no>_^_1_^_</span>\u662f\u8f93\u51fa\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li>\n<li><span translate=no>_^_2_^_</span>\u662f\u5377\u79ef\u5185\u6838\u7684\u5927\u5c0f</li>\n<li><span translate=no>_^_3_^_</span>\u662f\u8981\u5728\u6bcf\u4e2a\u5c3a\u5bf8\u7ef4\u5ea6\u7684\u4e24\u8fb9\u6dfb\u52a0\u7684\u5185\u8fb9\u8ddd</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of features in the input feature map </li>\n<li><span translate=no>_^_1_^_</span> is the number of features in the output feature map</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u8f93\u5165\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li>\n<li><span translate=no>_^_1_^_</span>\u662f\u8f93\u51fa\u8981\u7d20\u5730\u56fe\u4e2d\u7684\u8981\u7d20\u6570</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the number of samples to calculate standard deviation across.</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u8981\u8ba1\u7b97\u6807\u51c6\u5dee\u7684\u6837\u672c\u6570\u3002</li></ul>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is the shape of the weight parameter</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f\u6743\u91cd\u53c2\u6570\u7684\u5f62\u72b6</li></ul>\n",
|
||||
"An annotated PyTorch implementation of StyleGAN2.": "StyleGan2 \u7684\u5e26\u6ce8\u91ca\u7684 PyTorch \u5b9e\u73b0\u3002",
|
||||
"StyleGAN 2": "StyleGan 2"
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"<h1><a href=\"index.html\">StyleGAN 2</a> Model Training</h1>\n<p>This is the training code for <a href=\"index.html\">StyleGAN 2</a> model.</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em>These are <span translate=no>_^_1_^_</span> images generated after training for about 80K steps.</em></small></p>\n<p><em>Our implementation is a minimalistic StyleGAN 2 model training code. Only single GPU training is supported to keep the implementation simple. We managed to shrink it to keep it at less than 500 lines of code, including the training loop.</em></p>\n<p><em>Without DDP (distributed data parallel) and multi-gpu training it will not be possible to train the model for large resolutions (128+). If you want training code with fp16 and DDP take a look at <a href=\"https://github.com/lucidrains/stylegan2-pytorch\">lucidrains/stylegan2-pytorch</a>.</em></p>\n<p>We trained this on <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">CelebA-HQ dataset</a>. You can find the download instruction in this <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">discussion on fast.ai</a>. Save the images inside <a href=\"#dataset_path\"><span translate=no>_^_2_^_</span> folder</a>.</p>\n": "<h1><a href=\"index.html\">\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2 \u30e2\u30c7\u30eb\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0</a></h1>\n<p><a href=\"index.html\">\u3053\u308c\u306fStyleGAN 2\u30e2\u30c7\u30eb\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30b3\u30fc\u30c9\u3067\u3059</a>\u3002</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em>\u3053\u308c\u3089\u306f\u3001\u7d04 80K <span translate=no>_^_1_^_</span> \u30b9\u30c6\u30c3\u30d7\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u5f8c\u306b\u751f\u6210\u3055\u308c\u305f\u753b\u50cf\u3067\u3059\u3002</em></small></p>\n<p><em>\u79c1\u305f\u3061\u306e\u5b9f\u88c5\u306f\u3001\u6700\u5c0f\u9650\u306eStyleGAN 2\u30e2\u30c7\u30eb\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30b3\u30fc\u30c9\u3067\u3059\u3002\u5b9f\u88c5\u3092\u30b7\u30f3\u30d7\u30eb\u306b\u4fdd\u3064\u305f\u3081\u3001\u5358\u4e00\u306e GPU \u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u307f\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u306a\u3093\u3068\u304b\u7e2e\u5c0f\u3057\u3066\u3001\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30eb\u30fc\u30d7\u3092\u542b\u3081\u3066 500 \u884c\u672a\u6e80\u306e\u30b3\u30fc\u30c9\u306b\u6291\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f</em></p>\u3002\n<p><em>DDP (\u5206\u6563\u30c7\u30fc\u30bf\u4e26\u5217) \u3068\u30de\u30eb\u30c1 GPU \u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u304c\u306a\u3051\u308c\u3070\u3001\u5927\u304d\u306a\u89e3\u50cf\u5ea6 (128 \u4ee5\u4e0a) \u3067\u30e2\u30c7\u30eb\u3092\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002</em></p><a href=\"https://github.com/lucidrains/stylegan2-pytorch\">fp16\u3068DDP\u3092\u4f7f\u3063\u305f\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30b3\u30fc\u30c9\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001lucidrains/stylegan2-pytorch\u3092\u898b\u3066\u304f\u3060\u3055\u3044\u3002</a>\n<p><a href=\"https://github.com/tkarras/progressive_growing_of_gans\">\u3053\u308c\u3092Celeba-HQ\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3067\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3057\u307e\u3057\u305f</a>\u3002\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306e\u8aac\u660e\u306f\u3001<a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">fast.ai \u306e\u3053\u306e\u30c7\u30a3\u30b9\u30ab\u30c3\u30b7\u30e7\u30f3\u306b\u3042\u308a\u307e\u3059</a>\u3002<a href=\"#dataset_path\"><span translate=no>_^_2_^_</span>\u753b\u50cf\u3092\u30d5\u30a9\u30eb\u30c0\u30fc\u306b\u4fdd\u5b58\u3057\u307e\u3059</a>\u3002</p>\n",
|
||||
"<h2>Configurations</h2>\n": "<h2>\u30b3\u30f3\u30d5\u30a3\u30ae\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3</h2>\n",
|
||||
"<h2>Dataset</h2>\n<p>This loads the training dataset and resize it to the give image size.</p>\n": "<h2>\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8</h2>\n<p>\u3053\u308c\u306b\u3088\u308a\u3001\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u304c\u8aad\u307f\u8fbc\u307e\u308c\u3001\u6307\u5b9a\u3055\u308c\u305f\u753b\u50cf\u30b5\u30a4\u30ba\u306b\u30ea\u30b5\u30a4\u30ba\u3055\u308c\u307e\u3059\u3002</p>\n",
|
||||
"<h2>Train model</h2>\n": "<h2>\u9244\u9053\u6a21\u578b</h2>\n",
|
||||
"<h3>Generate images</h3>\n<p>This generate images using the generator</p>\n": "<h3>\u753b\u50cf\u3092\u751f\u6210</h3>\n<p>\u3053\u308c\u306b\u3088\u308a\u3001\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092\u4f7f\u7528\u3057\u3066\u753b\u50cf\u304c\u751f\u6210\u3055\u308c\u307e\u3059</p>\n",
|
||||
"<h3>Generate noise</h3>\n<p>This generates noise for each <a href=\"index.html#generator_block\">generator block</a></p>\n": "<h3>\u30ce\u30a4\u30ba\u3092\u751f\u6210</h3>\n<p>\u3053\u308c\u306b\u3088\u308a\u3001<a href=\"index.html#generator_block\">\u5404\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u306b\u30ce\u30a4\u30ba\u304c\u751f\u6210\u3055\u308c\u307e\u3059</a>\u3002</p>\n",
|
||||
"<h3>Initialize</h3>\n": "<h3>[\u521d\u671f\u5316]</h3>\n",
|
||||
"<h3>Lazy regularization</h3>\n<p>Instead of calculating the regularization losses, the paper proposes lazy regularization where the regularization terms are calculated once in a while. This improves the training efficiency a lot. </p>\n": "<h3>\u30ec\u30a4\u30b8\u30fc\u30fb\u30ec\u30ae\u30e5\u30e9\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3</h3>\n<p>\u3053\u306e\u8ad6\u6587\u3067\u306f\u3001\u6b63\u5247\u5316\u640d\u5931\u3092\u8a08\u7b97\u3059\u308b\u4ee3\u308f\u308a\u306b\u3001\u6b63\u898f\u5316\u9805\u3092\u305f\u307e\u306b\u8a08\u7b97\u3059\u308b\u9045\u5ef6\u6b63\u5247\u5316\u3092\u63d0\u6848\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u52b9\u7387\u304c\u5927\u5e45\u306b\u5411\u4e0a\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<h3>Sample <span translate=no>_^_0_^_</span></h3>\n<p>This samples <span translate=no>_^_1_^_</span> randomly and get <span translate=no>_^_2_^_</span> from the mapping network.</p>\n<p>We also apply style mixing sometimes where we generate two latent variables <span translate=no>_^_3_^_</span> and <span translate=no>_^_4_^_</span> and get corresponding <span translate=no>_^_5_^_</span> and <span translate=no>_^_6_^_</span>. Then we randomly sample a cross-over point and apply <span translate=no>_^_7_^_</span> to the generator blocks before the cross-over point and <span translate=no>_^_8_^_</span> to the blocks after.</p>\n": "<h3>[\u30b5\u30f3\u30d7\u30eb] <span translate=no>_^_0_^_</span></h3>\n<p><span translate=no>_^_1_^_</span>\u3053\u308c\u306f\u30e9\u30f3\u30c0\u30e0\u306b\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3055\u308c\u3001<span translate=no>_^_2_^_</span>\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u53d6\u5f97\u3055\u308c\u307e\u3059\u3002</p>\n<p>\u307e\u305f\u3001\u30b9\u30bf\u30a4\u30eb\u30df\u30ad\u30b7\u30f3\u30b0\u3092\u9069\u7528\u3057\u3066\u3001<span translate=no>_^_3_^_</span> 2\u3064\u306e\u6f5c\u5728\u5909\u6570\u3068\u3092\u751f\u6210\u3057\u3001<span translate=no>_^_4_^_</span><span translate=no>_^_5_^_</span><span translate=no>_^_6_^_</span>\u5bfe\u5fdc\u3059\u308b\u304a\u3088\u3073\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u3082\u3042\u308a\u307e\u3059\u3002\u6b21\u306b\u3001\u30af\u30ed\u30b9\u30aa\u30fc\u30d0\u30fc\u30dd\u30a4\u30f3\u30c8\u3092\u30e9\u30f3\u30c0\u30e0\u306b\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3057\u3001<span translate=no>_^_7_^_</span>\u30af\u30ed\u30b9\u30aa\u30fc\u30d0\u30fc\u30dd\u30a4\u30f3\u30c8\u306e\u524d\u306e\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u30d6\u30ed\u30c3\u30af\u3068\u30af\u30ed\u30b9\u30aa\u30fc\u30d0\u30fc\u30dd\u30a4\u30f3\u30c8\u5f8c\u306e\u30d6\u30ed\u30c3\u30af\u306b\u9069\u7528\u3057\u307e\u3059</p>\u3002<span translate=no>_^_8_^_</span>\n",
|
||||
"<h3>Train StyleGAN2</h3>\n": "<h3>\u30c8\u30ec\u30a4\u30f3\u30b9\u30bf\u30a4\u30eb\u30ac\u30f32</h3>\n",
|
||||
"<h3>Training Step</h3>\n": "<h3>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30b9\u30c6\u30c3\u30d7</h3>\n",
|
||||
"<p> </p>\n": "<p></p>\n",
|
||||
"<p><a href=\"index.html#discriminator\">StyleGAN2 Discriminator</a> </p>\n": "<p><a href=\"index.html#discriminator\">\u30b9\u30bf\u30a4\u30eb GAN2 \u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc</a></p>\n",
|
||||
"<p><a href=\"index.html#generator\">StyleGAN2 Generator</a> </p>\n": "<p><a href=\"index.html#generator\">\u30b9\u30bf\u30a4\u30eb GAN2 \u30b8\u30a7\u30cd\u30ec\u30fc\u30bf</a></p>\n",
|
||||
"<p><a href=\"index.html#gradient_penalty\">Gradient Penalty Regularization Loss</a> </p>\n": "<p><a href=\"index.html#gradient_penalty\">\u52fe\u914d\u30da\u30ca\u30eb\u30c6\u30a3\u6b63\u5247\u5316\u640d\u5931</a></p>\n",
|
||||
"<p><a href=\"index.html#mapping_network\">Mapping network</a> </p>\n": "<p><a href=\"index.html#mapping_network\">\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af</a></p>\n",
|
||||
"<p><a href=\"index.html#path_length_penalty\">Path length penalty</a> </p>\n": "<p><a href=\"index.html#path_length_penalty\">\u7d4c\u8def\u9577\u30da\u30ca\u30eb\u30c6\u30a3</a></p>\n",
|
||||
"<p><a id=\"dataset_path\"></a> We trained this on <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">CelebA-HQ dataset</a>. You can find the download instruction in this <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">discussion on fast.ai</a>. Save the images inside <span translate=no>_^_0_^_</span> folder. </p>\n": "<p><a id=\"dataset_path\"></a><a href=\"https://github.com/tkarras/progressive_growing_of_gans\">\u3053\u308c\u3092Celeba-HQ\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3067\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3057\u307e\u3057\u305f</a>\u3002\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306e\u8aac\u660e\u306f\u3001<a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">fast.ai \u306e\u3053\u306e\u30c7\u30a3\u30b9\u30ab\u30c3\u30b7\u30e7\u30f3\u306b\u3042\u308a\u307e\u3059</a>\u3002<span translate=no>_^_0_^_</span>\u753b\u50cf\u3092\u30d5\u30a9\u30eb\u30c0\u30fc\u306b\u4fdd\u5b58\u3057\u307e\u3059\u3002</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> for Adam optimizer </p>\n": "<p><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u305d\u3057\u3066\u30a2\u30c0\u30e0\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc\u306e\u5834\u5408</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> of image resolution </p>\n": "<p><span translate=no>_^_0_^_</span>\u753b\u50cf\u89e3\u50cf\u5ea6\u306e</p>\n",
|
||||
"<p>Accumulate gradients for <span translate=no>_^_0_^_</span> </p>\n": "<p>\u306e\u52fe\u914d\u3092\u7d2f\u7a4d <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Add gradient penalty </p>\n": "<p>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u3092\u8ffd\u52a0</p>\n",
|
||||
"<p>Add model hooks to monitor layer outputs </p>\n": "<p>\u30e2\u30cb\u30bf\u30fc\u30ec\u30a4\u30e4\u30fc\u51fa\u529b\u3078\u306e\u30e2\u30c7\u30eb\u30d5\u30c3\u30af\u306e\u8ffd\u52a0</p>\n",
|
||||
"<p>Add noise tensors to the list </p>\n": "<p>\u30ce\u30a4\u30ba\u30c6\u30f3\u30bd\u30eb\u3092\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0</p>\n",
|
||||
"<p>Add path length penalty </p>\n": "<p>\u30d1\u30b9\u9577\u30da\u30ca\u30eb\u30c6\u30a3\u3092\u8ffd\u52a0</p>\n",
|
||||
"<p>Batch size </p>\n": "<p>\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba</p>\n",
|
||||
"<p>Calculate and log gradient penalty </p>\n": "<p>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u306e\u8a08\u7b97\u3068\u8a18\u9332</p>\n",
|
||||
"<p>Calculate gradients </p>\n": "<p>\u52fe\u914d\u306e\u8a08\u7b97</p>\n",
|
||||
"<p>Calculate path length penalty </p>\n": "<p>\u7d4c\u8def\u9577\u30da\u30ca\u30eb\u30c6\u30a3\u306e\u8a08\u7b97</p>\n",
|
||||
"<p>Clip gradients for stabilization </p>\n": "<p>\u5b89\u5b9a\u5316\u306e\u305f\u3081\u306e\u30af\u30ea\u30c3\u30d7\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3</p>\n",
|
||||
"<p>Compute gradients </p>\n": "<p>\u52fe\u914d\u306e\u8a08\u7b97</p>\n",
|
||||
"<p>Continuous <a href=\"../../utils.html#cycle_dataloader\">cyclic loader</a> </p>\n": "<p><a href=\"../../utils.html#cycle_dataloader\">\u9023\u7d9a\u30b5\u30a4\u30af\u30eb\u30ed\u30fc\u30c0\u30fc</a></p>\n",
|
||||
"<p>Convert to PyTorch tensor </p>\n": "<p>PyTorch \u30c6\u30f3\u30bd\u30eb\u306b\u5909\u63db</p>\n",
|
||||
"<p>Create an experiment </p>\n": "<p>\u30c6\u30b9\u30c8\u3092\u4f5c\u6210</p>\n",
|
||||
"<p>Create configurations object </p>\n": "<p>\u8a2d\u5b9a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Create data loader </p>\n": "<p>\u30c7\u30fc\u30bf\u30ed\u30fc\u30c0\u30fc\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Create dataset </p>\n": "<p>\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Create discriminator and generator </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u3068\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Create mapping network </p>\n": "<p>\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Create optimizers </p>\n": "<p>\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Create path length penalty loss </p>\n": "<p>\u30d1\u30b9\u9577\u306e\u30da\u30ca\u30eb\u30c6\u30a3\u30ed\u30b9\u3092\u4f5c\u6210</p>\n",
|
||||
"<p>Data loader </p>\n": "<p>\u30c7\u30fc\u30bf\u30ed\u30fc\u30c0\u30fc</p>\n",
|
||||
"<p>Device to train the model on. <a href=\"https://docs.labml.ai/api/helpers.html#labml_helpers.device.DeviceConfigs\"><span translate=no>_^_0_^_</span></a> picks up an available CUDA device or defaults to CPU. </p>\n": "<p>\u30e2\u30c7\u30eb\u3092\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u3059\u308b\u30c7\u30d0\u30a4\u30b9\u3002<a href=\"https://docs.labml.ai/api/helpers.html#labml_helpers.device.DeviceConfigs\"><span translate=no>_^_0_^_</span></a>\u4f7f\u7528\u53ef\u80fd\u306a CUDA \u30c7\u30d0\u30a4\u30b9\u3092\u9078\u629e\u3059\u308b\u304b\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067 CPU \u306b\u8a2d\u5b9a\u3057\u307e\u3059</p>\u3002\n",
|
||||
"<p>Dimensionality of <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> </p>\n": "<p>\u3068\u306e\u6b21\u5143 <span translate=no>_^_0_^_</span> <span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Discriminator and generator loss functions. We use <a href=\"../wasserstein/index.html\">Wasserstein loss</a> </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u3068\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u306e\u640d\u5931\u95a2\u6570<a href=\"../wasserstein/index.html\">\u30ef\u30c3\u30b5\u30fc\u30b7\u30e5\u30bf\u30a4\u30f3\u30ed\u30b9\u3092\u4f7f\u3044\u307e\u3059</a></p>\n",
|
||||
"<p>Discriminator and generator losses </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u3068\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u306e\u640d\u5931</p>\n",
|
||||
"<p>Discriminator classification for generated images </p>\n": "<p>\u751f\u6210\u3055\u308c\u305f\u753b\u50cf\u306e\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u5206\u985e</p>\n",
|
||||
"<p>Discriminator classification for real images </p>\n": "<p>\u5b9f\u753b\u50cf\u306e\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u5206\u985e</p>\n",
|
||||
"<p>Expand <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> for the generator blocks and concatenate </p>\n": "<p><span translate=no>_^_0_^_</span><span translate=no>_^_1_^_</span>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u3092\u62e1\u5f35\u3057\u3066\u9023\u7d50\u3059\u308b</p>\n",
|
||||
"<p>Expand <span translate=no>_^_0_^_</span> for the generator blocks </p>\n": "<p><span translate=no>_^_0_^_</span>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u7528\u306b\u62e1\u5f35</p>\n",
|
||||
"<p>Flush tracker </p>\n": "<p>\u30d5\u30e9\u30c3\u30b7\u30e5\u30c8\u30e9\u30c3\u30ab\u30fc</p>\n",
|
||||
"<p>Generate images </p>\n": "<p>\u753b\u50cf\u3092\u751f\u6210</p>\n",
|
||||
"<p>Generate noise for each generator block </p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u3054\u3068\u306b\u30ce\u30a4\u30ba\u3092\u751f\u6210</p>\n",
|
||||
"<p>Generate noise to add after the first convolution layer </p>\n": "<p>\u30ce\u30a4\u30ba\u3092\u751f\u6210\u3057\u3066\u6700\u521d\u306e\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u5c64\u306e\u5f8c\u306b\u8ffd\u52a0\u3057\u307e\u3059</p>\n",
|
||||
"<p>Generate noise to add after the second convolution layer </p>\n": "<p>\u30ce\u30a4\u30ba\u3092\u751f\u6210\u3057\u3066 2 \u756a\u76ee\u306e\u30b3\u30f3\u30dc\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u5c64\u306e\u5f8c\u306b\u8ffd\u52a0\u3057\u307e\u3059</p>\n",
|
||||
"<p>Generator & Discriminator learning rate </p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u3068\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306e\u5b66\u7fd2\u7387</p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u53d6\u5f97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span>\u53d6\u5f97\u3057\u3066 <span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Get discriminator loss </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u640d\u5931\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get generator loss </p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30ed\u30b9\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get noise </p>\n": "<p>\u30ce\u30a4\u30ba\u304c\u51fa\u308b</p>\n",
|
||||
"<p>Get number of generator blocks for creating style and noise inputs </p>\n": "<p>\u30b9\u30bf\u30a4\u30eb\u5165\u529b\u3068\u30ce\u30a4\u30ba\u5165\u529b\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306e\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30d6\u30ed\u30c3\u30af\u306e\u6570\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get real images from the data loader </p>\n": "<p>\u30c7\u30fc\u30bf\u30ed\u30fc\u30c0\u30fc\u304b\u3089\u5b9f\u969b\u306e\u753b\u50cf\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get the paths of all <span translate=no>_^_0_^_</span> files </p>\n": "<p><span translate=no>_^_0_^_</span>\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Get the the <span translate=no>_^_0_^_</span>-th image </p>\n": "<p><span translate=no>_^_0_^_</span>-\u756a\u76ee\u306e\u753b\u50cf\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Gradient penalty coefficient <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u4fc2\u6570 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Height/width of the image </p>\n": "<p>\u753b\u50cf\u306e\u9ad8\u3055/\u5e45</p>\n",
|
||||
"<p>How often to log generated images </p>\n": "<p>\u751f\u6210\u3055\u308c\u305f\u753b\u50cf\u3092\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u983b\u5ea6</p>\n",
|
||||
"<p>How often to save model checkpoints </p>\n": "<p>\u30e2\u30c7\u30eb\u30c1\u30a7\u30c3\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u4fdd\u5b58\u3059\u308b\u983b\u5ea6</p>\n",
|
||||
"<p>Ignore if <span translate=no>_^_0_^_</span> </p>\n": "<p>\u6b21\u306e\u5834\u5408\u306f\u7121\u8996 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Initialize </p>\n": "<p>[\u521d\u671f\u5316]</p>\n",
|
||||
"<p>List to store noise </p>\n": "<p>\u30ce\u30a4\u30ba\u3092\u4fdd\u5b58\u3059\u308b\u30ea\u30b9\u30c8</p>\n",
|
||||
"<p>Log discriminator loss </p>\n": "<p>\u30ed\u30b0\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u640d\u5931</p>\n",
|
||||
"<p>Log discriminator model parameters occasionally </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30e2\u30c7\u30eb\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u6642\u3005\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b</p>\n",
|
||||
"<p>Log generated images </p>\n": "<p>\u751f\u6210\u3055\u308c\u305f\u753b\u50cf\u3092\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b</p>\n",
|
||||
"<p>Log generator loss </p>\n": "<p>\u30ed\u30b0\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u306e\u640d\u5931</p>\n",
|
||||
"<p>Loop for <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30eb\u30fc\u30d7\u7528 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Mapping network learning rate (<span translate=no>_^_0_^_</span> lower than the others) </p>\n": "<p>\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u5b66\u7fd2\u7387 (<span translate=no>_^_0_^_</span>\u4ed6\u3088\u308a\u3082\u4f4e\u3044)</p>\n",
|
||||
"<p>Mix styles </p>\n": "<p>\u30df\u30c3\u30af\u30b9\u30b9\u30bf\u30a4\u30eb</p>\n",
|
||||
"<p>Multiply by coefficient and add gradient penalty </p>\n": "<p>\u4fc2\u6570\u3092\u639b\u3051\u3066\u52fe\u914d\u30da\u30ca\u30eb\u30c6\u30a3\u3092\u52a0\u3048\u308b</p>\n",
|
||||
"<p>Next block has <span translate=no>_^_0_^_</span> resolution </p>\n": "<p><span translate=no>_^_0_^_</span>\u6b21\u306e\u30d6\u30ed\u30c3\u30af\u306b\u306f\u89e3\u50cf\u5ea6\u304c\u3042\u308a\u307e\u3059</p>\n",
|
||||
"<p>Noise resolution starts from <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30ce\u30a4\u30ba\u5206\u89e3\u80fd\u306f\u6b21\u304b\u3089\u59cb\u307e\u308a\u307e\u3059 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Number of blocks in the generator (calculated based on image resolution) </p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u5185\u306e\u30d6\u30ed\u30c3\u30af\u6570 (\u753b\u50cf\u306e\u89e3\u50cf\u5ea6\u306b\u57fa\u3065\u3044\u3066\u8a08\u7b97)</p>\n",
|
||||
"<p>Number of images </p>\n": "<p>\u753b\u50cf\u6570</p>\n",
|
||||
"<p>Number of layers in the mapping network </p>\n": "<p>\u30de\u30c3\u30d4\u30f3\u30b0\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u30ec\u30a4\u30e4\u30fc\u6570</p>\n",
|
||||
"<p>Number of steps to accumulate gradients on. Use this to increase the effective batch size. </p>\n": "<p>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u84c4\u7a4d\u3059\u308b\u30b9\u30c6\u30c3\u30d7\u306e\u6570\u3002\u3053\u308c\u3092\u4f7f\u3063\u3066\u6709\u52b9\u306a\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u3092\u5897\u3084\u3057\u3066\u304f\u3060\u3055\u3044\u3002</p>\n",
|
||||
"<p>Optimizers </p>\n": "<p>\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc</p>\n",
|
||||
"<p>Path length penalty calculation interval </p>\n": "<p>\u30d1\u30b9\u9577\u30da\u30ca\u30eb\u30c6\u30a3\u8a08\u7b97\u9593\u9694</p>\n",
|
||||
"<p>Probability of mixing styles </p>\n": "<p>\u30b9\u30bf\u30a4\u30eb\u304c\u6df7\u5728\u3059\u308b\u78ba\u7387</p>\n",
|
||||
"<p>Random cross-over point </p>\n": "<p>\u30e9\u30f3\u30c0\u30e0\u30af\u30ed\u30b9\u30aa\u30fc\u30d0\u30fc\u30dd\u30a4\u30f3\u30c8</p>\n",
|
||||
"<p>Reset gradients </p>\n": "<p>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u30ea\u30bb\u30c3\u30c8</p>\n",
|
||||
"<p>Resize the image </p>\n": "<p>\u753b\u50cf\u306e\u30b5\u30a4\u30ba\u3092\u5909\u66f4</p>\n",
|
||||
"<p>Return images and <span translate=no>_^_0_^_</span> </p>\n": "<p>\u753b\u50cf\u3092\u8fd4\u3059\u3068 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Return noise tensors </p>\n": "<p>\u30ea\u30bf\u30fc\u30f3\u30fb\u30ce\u30a4\u30ba\u30fb\u30c6\u30f3\u30bd\u30eb</p>\n",
|
||||
"<p>Run the training loop </p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30eb\u30fc\u30d7\u3092\u5b9f\u884c\u3059\u308b</p>\n",
|
||||
"<p>Sample <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span>\u30b5\u30f3\u30d7\u30eb\u3068 <span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Sample images from generator </p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u304b\u3089\u306e\u30b5\u30f3\u30d7\u30eb\u753b\u50cf</p>\n",
|
||||
"<p>Save model checkpoints </p>\n": "<p>\u30e2\u30c7\u30eb\u30c1\u30a7\u30c3\u30af\u30dd\u30a4\u30f3\u30c8\u306e\u4fdd\u5b58</p>\n",
|
||||
"<p>Set configurations and override some </p>\n": "<p>\u69cb\u6210\u3092\u8a2d\u5b9a\u3057\u3001\u4e00\u90e8\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3059\u308b</p>\n",
|
||||
"<p>Set models for saving and loading </p>\n": "<p>\u4fdd\u5b58\u304a\u3088\u3073\u8aad\u307f\u8fbc\u307f\u7528\u306e\u30e2\u30c7\u30eb\u3092\u8a2d\u5b9a\u3059\u308b</p>\n",
|
||||
"<p>Set tracker configurations </p>\n": "<p>\u30c8\u30e9\u30c3\u30ab\u30fc\u69cb\u6210\u3092\u8a2d\u5b9a</p>\n",
|
||||
"<p>Skip calculating path length penalty during the initial phase of training </p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u521d\u671f\u6bb5\u968e\u3067\u306f\u3001\u7d4c\u8def\u9577\u306e\u30da\u30ca\u30eb\u30c6\u30a3\u306e\u8a08\u7b97\u3092\u7701\u7565</p>\n",
|
||||
"<p>Start the experiment </p>\n": "<p>\u5b9f\u9a13\u3092\u59cb\u3081\u308b</p>\n",
|
||||
"<p>Take a training step </p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u4e00\u6b69\u3092\u8e0f\u307f\u51fa\u3059</p>\n",
|
||||
"<p>Take optimizer step </p>\n": "<p>\u6700\u9069\u5316\u306e\u4e00\u6b69\u3092\u8e0f\u307f\u51fa\u3059</p>\n",
|
||||
"<p>The first block has only one <span translate=no>_^_0_^_</span> convolution </p>\n": "<p>\u6700\u521d\u306e\u30d6\u30ed\u30c3\u30af\u306b\u306f\u7573\u307f\u8fbc\u307f\u304c 1 <span translate=no>_^_0_^_</span> \u3064\u3057\u304b\u3042\u308a\u307e\u305b\u3093</p>\n",
|
||||
"<p>The interval at which to compute gradient penalty </p>\n": "<p>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u3092\u8a08\u7b97\u3059\u308b\u9593\u9694</p>\n",
|
||||
"<p>Total number of training steps </p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30b9\u30c6\u30c3\u30d7\u306e\u7dcf\u6570</p>\n",
|
||||
"<p>Train the discriminator </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0</p>\n",
|
||||
"<p>Train the generator </p>\n": "<p>\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0</p>\n",
|
||||
"<p>Training mode state for logging activations </p>\n": "<p>\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3\u3092\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u305f\u3081\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30e2\u30fc\u30c9\u72b6\u614b</p>\n",
|
||||
"<p>Transformation </p>\n": "<p>\u30c8\u30e9\u30f3\u30b9\u30d5\u30a9\u30fc\u30e1\u30fc\u30b7\u30e7\u30f3</p>\n",
|
||||
"<p>Update <span translate=no>_^_0_^_</span>. Set whether to log activation </p>\n": "<p>[\u66f4\u65b0] <span translate=no>_^_0_^_</span>\u3002\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30b7\u30e7\u30f3\u3092\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u8a2d\u5b9a</p>\n",
|
||||
"<p>We need to calculate gradients w.r.t. real images for gradient penalty </p>\n": "<p>\u52fe\u914d\u30da\u30ca\u30eb\u30c6\u30a3\u306e\u305f\u3081\u306b\u306f\u3001\u5b9f\u969b\u306e\u753b\u50cf\u306b\u5bfe\u3057\u3066\u52fe\u914d\u3092\u8a08\u7b97\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059</p>\n",
|
||||
"<p>Whether to log model layer outputs </p>\n": "<p>\u30e2\u30c7\u30eb\u30ec\u30a4\u30e4\u30fc\u306e\u51fa\u529b\u3092\u30ed\u30b0\u306b\u8a18\u9332\u3059\u308b\u304b\u3069\u3046\u304b</p>\n",
|
||||
"<p>Without mixing </p>\n": "<p>\u6df7\u5408\u305b\u305a\u306b</p>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> path to the folder containing the images </li>\n<li><span translate=no>_^_1_^_</span> size of the image</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u753b\u50cf\u3092\u542b\u3080\u30d5\u30a9\u30eb\u30c0\u30fc\u3078\u306e\u30d1\u30b9</li>\n<li><span translate=no>_^_1_^_</span>\u753b\u50cf\u306e\u30b5\u30a4\u30ba</li></ul>\n",
|
||||
"An annotated PyTorch implementation of StyleGAN2 model training code.": "StyleGAN2 \u30e2\u30c7\u30eb\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30b3\u30fc\u30c9\u306e\u6ce8\u91c8\u4ed8\u304d PyTorch \u5b9f\u88c5\u3002",
|
||||
"StyleGAN 2 Model Training": "\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2 \u30e2\u30c7\u30eb\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0"
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"<h1><a href=\"index.html\">StyleGAN 2</a> Model Training</h1>\n<p>This is the training code for <a href=\"index.html\">StyleGAN 2</a> model.</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em>These are <span translate=no>_^_1_^_</span> images generated after training for about 80K steps.</em></small></p>\n<p><em>Our implementation is a minimalistic StyleGAN 2 model training code. Only single GPU training is supported to keep the implementation simple. We managed to shrink it to keep it at less than 500 lines of code, including the training loop.</em></p>\n<p><em>Without DDP (distributed data parallel) and multi-gpu training it will not be possible to train the model for large resolutions (128+). If you want training code with fp16 and DDP take a look at <a href=\"https://github.com/lucidrains/stylegan2-pytorch\">lucidrains/stylegan2-pytorch</a>.</em></p>\n<p>We trained this on <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">CelebA-HQ dataset</a>. You can find the download instruction in this <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">discussion on fast.ai</a>. Save the images inside <a href=\"#dataset_path\"><span translate=no>_^_2_^_</span> folder</a>.</p>\n": "<h1><a href=\"index.html\">StyleGan 2</a> \u0d86\u0daf\u0dbb\u0dca\u0dc1 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0</h1>\n<p>\u0dc3\u0db3\u0dc4\u0dcf\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dda\u0dad\u0dba \u0db8\u0dd9\u0dba\u0dba\u0dd2 <a href=\"index.html\">StyleGan 2</a> \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba. </p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em>\u0db8\u0dda\u0dc0\u0dcf80K \u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0\u0dd9\u0db1\u0dca \u0db4\u0dc3\u0dd4 \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf <span translate=no>_^_1_^_</span> \u0dbb\u0dd6\u0db4 \u0dc0\u0dda. </em></small></p>\n<p><em>\u0d85\u0db4\u0d9c\u0dda\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0d85\u0dc0\u0db8 \u0dc0\u0dda StyleGAN 2 \u0d86\u0daf\u0dbb\u0dca\u0dc1 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dda\u0dad\u0dba. \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dbb\u0dbd \u0dbd\u0dd9\u0dc3 \u0dad\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc3\u0dc4\u0dcf\u0dba \u0dc0\u0db1\u0dca\u0db1\u0dda \u0dad\u0db1\u0dd2 GPU \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0\u0d9a\u0dca \u0db4\u0db8\u0dab\u0dd2. \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0dbd\u0dd6\u0db4\u0dba \u0d87\u0dad\u0dd4\u0dc5\u0dd4\u0dc0 \u0d9a\u0dda\u0dad \u0db4\u0dda\u0dc5\u0dd2 500 \u0d9a\u0da7 \u0dc0\u0da9\u0dcf \u0d85\u0da9\u0dd4 \u0db8\u0da7\u0dca\u0da7\u0db8\u0d9a \u0dad\u0db6\u0dcf \u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d91\u0dba \u0dc4\u0dd0\u0d9a\u0dd2\u0dbd\u0dd3\u0db8\u0da7 \u0d85\u0db4\u0da7 \u0dc4\u0dd0\u0d9a\u0dd2 \u0dc0\u0dd2\u0dba. </em></p>\n<p><em>\u0da9\u0dd3\u0da9\u0dd3\u0db4\u0dd3(\u0db6\u0dd9\u0daf\u0dcf \u0dc4\u0dbb\u0dd2\u0db1 \u0dbd\u0daf \u0daf\u0dad\u0dca\u0dad \u0dc3\u0db8\u0dcf\u0db1\u0dca\u0dad\u0dbb\u0dc0) \u0dc3\u0dc4 \u0db6\u0dc4\u0dd4-gpu \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0 \u0db1\u0ddc\u0db8\u0dd0\u0dad\u0dd2\u0dc0 \u0dc0\u0dd2\u0dc1\u0dcf\u0dbd \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1 (128+) \u0dc3\u0db3\u0dc4\u0dcf \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0db1\u0ddc\u0dc4\u0dd0\u0d9a\u0dd2 \u0dc0\u0db1\u0dd4 \u0d87\u0dad. \u0d94\u0db6\u0da7 fp16 \u0dc3\u0dc4 DDP \u0dc3\u0db8\u0d9f \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dda\u0dad\u0dba \u0d85\u0dc0\u0dc1\u0dca\u0dba \u0db1\u0db8\u0dca <a href=\"https://github.com/lucidrains/stylegan2-pytorch\">\u0dbd\u0dd4\u0dc3\u0dd2\u0da9\u0dca\u0dbb\u0dba\u0dd2\u0dc0\u0dca/\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0dbd\u0dd9\u0d9c\u0db1\u0dca2-\u0db4\u0dba\u0dd2\u0da7\u0ddd\u0da0\u0dca</a>\u0daf\u0dd9\u0dc3 \u0db6\u0dbd\u0db1\u0dca\u0db1. </em></p>\n<p>\u0d85\u0db4\u0dd2\u0db8\u0dd9\u0dba <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">\u0dc3\u0dd9\u0dbd\u0dd9\u0db6\u0dcf-\u0d91\u0da0\u0dca\u0d9a\u0dd2\u0dba\u0dd4 \u0daf\u0dad\u0dca\u0dad \u0d9a\u0da7\u0dca\u0da7\u0dbd\u0dba</a>\u0db8\u0dad \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dc5\u0dd9\u0db8\u0dd4. <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">fast.ai \u0dc4\u0dd2 \u0db8\u0dd9\u0db8 \u0dc3\u0dcf\u0d9a\u0da0\u0dca\u0da1\u0dcf\u0dc0\u0dda\u0daf\u0dd3</a>\u0db6\u0dcf\u0d9c\u0dad \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d8b\u0db4\u0daf\u0dd9\u0dc3\u0dca \u0d94\u0db6\u0da7 \u0dc3\u0ddc\u0dba\u0dcf\u0d9c\u0dad \u0dc4\u0dd0\u0d9a\u0dd2\u0dba. <a href=\"#dataset_path\"><span translate=no>_^_2_^_</span> \u0dc6\u0ddd\u0dbd\u0dca\u0da9\u0dbb\u0dba</a>\u0dad\u0dd4\u0dc5 \u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd6\u0dbb \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1. </p>\n",
|
||||
"<h2>Configurations</h2>\n": "<h2>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca</h2>\n",
|
||||
"<h2>Dataset</h2>\n<p>This loads the training dataset and resize it to the give image size.</p>\n": "<h2>\u0daf\u0dad\u0dca\u0dad\u0d9a\u0da7\u0dca\u0da7\u0dbd\u0dba</h2>\n<p>\u0db8\u0dd9\u0dba\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0daf\u0dad\u0dca\u0dad \u0d9a\u0da7\u0dca\u0da7\u0dbd\u0dba \u0db4\u0da7\u0dc0\u0db1 \u0d85\u0dad\u0dbb \u0d91\u0dba \u0dbd\u0db6\u0dcf \u0daf\u0dd9\u0db1 \u0dbb\u0dd6\u0db4\u0dba\u0dda \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba\u0da7 \u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<h2>Train model</h2>\n": "<h2>\u0daf\u0dd4\u0db8\u0dca\u0dbb\u0dd2\u0dba\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba</h2>\n",
|
||||
"<h3>Generate images</h3>\n<p>This generate images using the generator</p>\n": "<h3>\u0dbb\u0dd6\u0db4\u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1</h3>\n<p>\u0db8\u0dd9\u0dba\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dba\u0dd9\u0db1\u0dca \u0dbb\u0dd6\u0db4 \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2</p>\n",
|
||||
"<h3>Generate noise</h3>\n<p>This generates noise for each <a href=\"index.html#generator_block\">generator block</a></p>\n": "<h3>\u0dc1\u0db6\u0dca\u0daf\u0dba\u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1</h3>\n<p>\u0db8\u0dd9\u0dba\u0d91\u0d9a\u0dca \u0d91\u0d9a\u0dca <a href=\"index.html#generator_block\">\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d9a\u0ddc\u0da7\u0dc3</a>\u0dc3\u0db3\u0dc4\u0dcf \u0dc1\u0db6\u0dca\u0daf\u0dba \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2</p>\n",
|
||||
"<h3>Initialize</h3>\n": "<h3>\u0d86\u0dbb\u0db8\u0dca\u0db7\u0d9a\u0dbb\u0db1\u0dca\u0db1</h3>\n",
|
||||
"<h3>Lazy regularization</h3>\n<p>Instead of calculating the regularization losses, the paper proposes lazy regularization where the regularization terms are calculated once in a while. This improves the training efficiency a lot. </p>\n": "<h3>\u0d9a\u0db8\u0dca\u0db8\u0dd0\u0dbd\u0dd2\u0dc0\u0dd2\u0db0\u0dd2\u0db8\u0dad\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8</h3>\n<p>\u0db1\u0dd2\u0dba\u0dcf\u0db8\u0db1\u0dba\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0db4\u0dcf\u0da9\u0dd4 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc0\u0dd9\u0db1\u0dd4\u0dc0\u0da7, \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0d9a\u0db8\u0dca\u0db8\u0dd0\u0dbd\u0dd2 \u0db1\u0dd2\u0dba\u0dcf\u0db8\u0db1\u0dba \u0dba\u0ddd\u0da2\u0db1\u0dcf \u0d9a\u0dbb\u0db1 \u0d85\u0dad\u0dbb \u0d91\u0dc4\u0dd2\u0daf\u0dd3 \u0dc0\u0dd2\u0db0\u0dd2\u0db8\u0dad\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0db1\u0dd2\u0dba\u0db8\u0dba\u0db1\u0dca \u0dc0\u0dbb\u0d9a\u0da7 \u0dc0\u0dbb\u0d9a\u0dca \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dd4 \u0dbd\u0dd0\u0db6\u0dda. \u0db8\u0dd9\u0dba \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dcf\u0dbb\u0dca\u0dba\u0d9a\u0dca\u0dc2\u0db8\u0dad\u0dcf\u0dc0 \u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"<h3>Sample <span translate=no>_^_0_^_</span></h3>\n<p>This samples <span translate=no>_^_1_^_</span> randomly and get <span translate=no>_^_2_^_</span> from the mapping network.</p>\n<p>We also apply style mixing sometimes where we generate two latent variables <span translate=no>_^_3_^_</span> and <span translate=no>_^_4_^_</span> and get corresponding <span translate=no>_^_5_^_</span> and <span translate=no>_^_6_^_</span>. Then we randomly sample a cross-over point and apply <span translate=no>_^_7_^_</span> to the generator blocks before the cross-over point and <span translate=no>_^_8_^_</span> to the blocks after.</p>\n": "<h3>\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba <span translate=no>_^_0_^_</span></h3>\n<p>\u0db8\u0dd9\u0db8\u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd <span translate=no>_^_1_^_</span> \u0d85\u0dc4\u0db9\u0dd4 \u0dbd\u0dd9\u0dc3 \u0dc3\u0dc4 \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9a\u0dbb\u0dab <span translate=no>_^_2_^_</span> \u0da2\u0dcf\u0dbd\u0dba\u0dd9\u0db1\u0dca \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1. </p>\n<p>\u0d92\u0dc0\u0d9c\u0dda\u0db8 \u0d85\u0db4\u0dd2 \u0d9c\u0dd4\u0db4\u0dca\u0dad \u0dc0\u0dd2\u0da0\u0dbd\u0dca\u0dba\u0dba\u0db1\u0dca \u0daf\u0dd9\u0d9a\u0d9a\u0dca \u0da2\u0db1\u0db1\u0dba <span translate=no>_^_3_^_</span> <span translate=no>_^_4_^_</span> <span translate=no>_^_5_^_</span> \u0dc4\u0dcf \u0d85\u0db1\u0dd4\u0dbb\u0dd6\u0db4 \u0dbd\u0db6\u0dcf \u0d91\u0dc4\u0dd2\u0daf\u0dd3 \u0dc3\u0db8\u0dc4\u0dbb \u0dc0\u0dd2\u0da7 \u0dc1\u0ddb\u0dbd\u0dd2\u0dba \u0db8\u0dd2\u0dc1\u0dca\u0dbb \u0d85\u0daf\u0dcf\u0dc5 <span translate=no>_^_6_^_</span>\u0dc0\u0dda. \u0d89\u0db1\u0dca\u0db4\u0dc3\u0dd4 \u0d85\u0db4\u0dd2 \u0d85\u0dc4\u0db9\u0dd4 \u0dbd\u0dd9\u0dc3 \u0dc4\u0dbb\u0dc3\u0dca \u0d95\u0dc0\u0dbb\u0dca \u0dbd\u0d9a\u0dca\u0dc2\u0dca\u0dba\u0dba\u0d9a\u0dca \u0dc3\u0dcf\u0db8\u0dca\u0db4\u0dbd \u0d9a\u0dbb \u0dc4\u0dbb\u0dc3\u0dca \u0d95\u0dc0\u0dbb\u0dca <span translate=no>_^_7_^_</span> \u0dbd\u0d9a\u0dca\u0dc2\u0dca\u0dba\u0dba\u0da7 \u0db4\u0dd9\u0dbb \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2 <span translate=no>_^_8_^_</span> \u0dc0\u0dbd\u0da7 \u0dc3\u0dc4 \u0db4\u0dc3\u0dd4\u0dc0 \u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2 \u0dc0\u0dbd\u0da7 \u0d85\u0daf\u0dcf\u0dc5 \u0dc0\u0dd9\u0db8\u0dd4. </p>\n",
|
||||
"<h3>Train StyleGAN2</h3>\n": "<h3>\u0daf\u0dd4\u0db8\u0dca\u0dbb\u0dd2\u0dba\u0dc0\u0dd2\u0dbd\u0dcf\u0dbaGan2</h3>\n",
|
||||
"<h3>Training Step</h3>\n": "<h3>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0db4\u0dd2\u0dba\u0dc0\u0dbb</h3>\n",
|
||||
"<p> </p>\n": "<p> </p>\n",
|
||||
"<p><a href=\"index.html#discriminator\">StyleGAN2 Discriminator</a> </p>\n": "<p><a href=\"index.html#discriminator\">Stylegan2 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf</a> </p>\n",
|
||||
"<p><a href=\"index.html#generator\">StyleGAN2 Generator</a> </p>\n": "<p><a href=\"index.html#generator\">StyleGan2 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba</a> </p>\n",
|
||||
"<p><a href=\"index.html#gradient_penalty\">Gradient Penalty Regularization Loss</a> </p>\n": "<p><a href=\"index.html#gradient_penalty\">Gradient \u0daf\u0dab\u0dca\u0da9\u0db1 \u0db1\u0dd2\u0dba\u0dcf\u0db8\u0db1\u0dba \u0d85\u0d9e\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7</a> </p>\n",
|
||||
"<p><a href=\"index.html#mapping_network\">Mapping network</a> </p>\n": "<p><a href=\"index.html#mapping_network\">\u0da2\u0dcf\u0dbd \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9a\u0dbb\u0dab\u0dba</a> </p>\n",
|
||||
"<p><a href=\"index.html#path_length_penalty\">Path length penalty</a> </p>\n": "<p><a href=\"index.html#path_length_penalty\">\u0db8\u0dcf\u0dbb\u0dca\u0d9c\u0dba \u0daf\u0dd2\u0d9c \u0daf\u0dac\u0dd4\u0dc0\u0db8</a> </p>\n",
|
||||
"<p><a id=\"dataset_path\"></a> We trained this on <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">CelebA-HQ dataset</a>. You can find the download instruction in this <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">discussion on fast.ai</a>. Save the images inside <span translate=no>_^_0_^_</span> folder. </p>\n": "<p><a id=\"dataset_path\"></a> \u0d85\u0db4\u0dd2 \u0db8\u0dd9\u0dba <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">\u0dc3\u0dd9\u0dbd\u0dd9\u0db6\u0dcf-\u0d91\u0da0\u0dca\u0d9a\u0dd2\u0dba\u0dd4 \u0daf\u0dad\u0dca\u0dad \u0d9a\u0da7\u0dca\u0da7\u0dbd\u0dba</a> \u0db8\u0dad \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dc5\u0dd9\u0db8\u0dd4. <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">fast.ai \u0dc4\u0dd2 \u0db8\u0dd9\u0db8 \u0dc3\u0dcf\u0d9a\u0da0\u0dca\u0da1\u0dcf\u0dc0\u0dda\u0daf\u0dd3</a>\u0db6\u0dcf\u0d9c\u0dad \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d8b\u0db4\u0daf\u0dd9\u0dc3\u0dca \u0d94\u0db6\u0da7 \u0dc3\u0ddc\u0dba\u0dcf\u0d9c\u0dad \u0dc4\u0dd0\u0d9a\u0dd2\u0dba. <span translate=no>_^_0_^_</span> \u0dc6\u0ddd\u0dbd\u0dca\u0da9\u0dbb\u0dba \u0dad\u0dd4\u0dc5 \u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd6\u0dbb \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1. </p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> for Adam optimizer </p>\n": "<p><span translate=no>_^_0_^_</span> \u0dc3\u0dc4 \u0d86\u0daf\u0db8\u0dca \u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dbb\u0dab\u0dba <span translate=no>_^_1_^_</span> \u0dc3\u0db3\u0dc4\u0dcf </p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> of image resolution </p>\n": "<p><span translate=no>_^_0_^_</span> \u0dbb\u0dd6\u0db4 \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba\u0dda </p>\n",
|
||||
"<p>Accumulate gradients for <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc3\u0db3\u0dc4\u0dcf\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0dc3\u0db8\u0dd4\u0da0\u0dca\u0da0\u0dba <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Add gradient penalty </p>\n": "<p>\u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda\u0daf penalty \u0dd4\u0dc0\u0db8 \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Add model hooks to monitor layer outputs </p>\n": "<p>\u0dc3\u0dca\u0dae\u0dbb\u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba\u0db1\u0dca \u0d85\u0db0\u0dd3\u0d9a\u0dca\u0dc2\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d86\u0daf\u0dbb\u0dca\u0dc1 \u0d9a\u0ddc\u0d9a\u0dd4 \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Add noise tensors to the list </p>\n": "<p>\u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0\u0da7\u0dc1\u0db6\u0dca\u0daf \u0d86\u0dad\u0dad\u0dd3\u0db1\u0dca \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Add path length penalty </p>\n": "<p>\u0db8\u0dcf\u0dbb\u0dca\u0d9c\u0daf\u0dd2\u0d9c \u0daf penalty \u0dd4\u0dc0\u0db8 \u0d91\u0d9a\u0dad\u0dd4 </p>\n",
|
||||
"<p>Batch size </p>\n": "<p>\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca\u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba </p>\n",
|
||||
"<p>Calculate and log gradient penalty </p>\n": "<p>\u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda\u0daf penalty \u0dd4\u0dc0\u0db8 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb \u0dbd\u0ddc\u0d9c\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Calculate gradients </p>\n": "<p>\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a\u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Calculate path length penalty </p>\n": "<p>\u0db8\u0dcf\u0dbb\u0dca\u0d9c\u0dba\u0daf\u0dd2\u0d9c \u0daf penalty \u0dd4\u0dc0\u0db8 \u0d9c\u0dab\u0db1\u0dba </p>\n",
|
||||
"<p>Clip gradients for stabilization </p>\n": "<p>\u0dc3\u0dca\u0dae\u0dcf\u0dba\u0dd3\u0d9a\u0dbb\u0dab\u0dba\u0dc3\u0db3\u0dc4\u0dcf \u0d9a\u0dca\u0dbd\u0dd2\u0db4\u0dca \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a </p>\n",
|
||||
"<p>Compute gradients </p>\n": "<p>\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a\u0d9c\u0dab\u0db1\u0dba </p>\n",
|
||||
"<p>Continuous <a href=\"../../utils.html#cycle_dataloader\">cyclic loader</a> </p>\n": "<p>\u0d85\u0d9b\u0dab\u0dca\u0da9 <a href=\"../../utils.html#cycle_dataloader\">\u0da0\u0d9a\u0dca\u0dbb\u0dd3\u0dba \u0d9a\u0dcf\u0dbb\u0d9a\u0dba</a> </p>\n",
|
||||
"<p>Convert to PyTorch tensor </p>\n": "<p>PyTorch\u0da7\u0dd9\u0db1\u0dca\u0dc3\u0dbb\u0dba \u0db6\u0dc0\u0da7 \u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create an experiment </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8\u0d9a\u0dca \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create configurations object </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dc0\u0dc3\u0dca\u0dad\u0dd4\u0dc0 \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create data loader </p>\n": "<p>\u0daf\u0dad\u0dca\u0dad\u0db4\u0dd0\u0da7\u0dc0\u0dd4\u0db8 \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create dataset </p>\n": "<p>\u0daf\u0dad\u0dca\u0dad\u0dc3\u0db8\u0dd4\u0daf\u0dcf\u0dba \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create discriminator and generator </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0dc3\u0dc4 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create mapping network </p>\n": "<p>\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9a\u0dbb\u0dab\u0da2\u0dcf\u0dbd\u0dba\u0d9a\u0dca \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create optimizers </p>\n": "<p>\u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dbb\u0dab\u0dba\u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create path length penalty loss </p>\n": "<p>\u0db8\u0dcf\u0dbb\u0dca\u0d9c\u0daf\u0dd2\u0d9c \u0daf penalty \u0dd4\u0dc0\u0db8\u0dca \u0db1\u0dd0\u0dad\u0dd2\u0dc0\u0dd3\u0db8 </p>\n",
|
||||
"<p>Data loader </p>\n": "<p>\u0daf\u0dad\u0dca\u0dad\u0d9a\u0dcf\u0dbb\u0d9a\u0dba </p>\n",
|
||||
"<p>Device to train the model on. <a href=\"https://docs.labml.ai/api/helpers.html#labml_helpers.device.DeviceConfigs\"><span translate=no>_^_0_^_</span></a> picks up an available CUDA device or defaults to CPU. </p>\n": "<p>\u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0dba\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d8b\u0db4\u0d9a\u0dbb\u0dab\u0dba. <a href=\"https://docs.labml.ai/api/helpers.html#labml_helpers.device.DeviceConfigs\"><span translate=no>_^_0_^_</span></a> \u0dbd\u0db6\u0dcf \u0d9c\u0dad \u0dc4\u0dd0\u0d9a\u0dd2 CUDA \u0d8b\u0db4\u0dcf\u0d82\u0d9c\u0dba\u0d9a\u0dca \u0d85\u0dc4\u0dd4\u0dbd\u0db1\u0dc0\u0dcf \u0dc4\u0ddd CPU \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0db4\u0dd9\u0dbb\u0db1\u0dd2\u0db8\u0dd2. </p>\n",
|
||||
"<p>Dimensionality of <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> </p>\n": "<p>\u0db8\u0dcf\u0db1\u0dba\u0db1\u0dca\u0dc4\u0dd2 <span translate=no>_^_0_^_</span> \u0dc3\u0dc4 <span translate=no>_^_1_^_</span> </p>\n",
|
||||
"<p>Discriminator and generator loss functions. We use <a href=\"../wasserstein/index.html\">Wasserstein loss</a> </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0dc3\u0dc4 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0db1\u0dd0\u0dad\u0dd2\u0dc0\u0dd3\u0db8\u0dda \u0d9a\u0dcf\u0dbb\u0dca\u0dba\u0dba\u0db1\u0dca. \u0d85\u0db4\u0dd2 <a href=\"../wasserstein/index.html\">\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca \u0db1\u0dd0\u0dad\u0dd2\u0dc0\u0dd3\u0db8</a> \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db8\u0dd4 </p>\n",
|
||||
"<p>Discriminator and generator losses </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0dc3\u0dc4 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0db4\u0dcf\u0da9\u0dd4 </p>\n",
|
||||
"<p>Discriminator classification for generated images </p>\n": "<p>\u0da2\u0db1\u0db1\u0dba\u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0dbb\u0dd6\u0db4 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dc0\u0dbb\u0dca\u0d9c\u0dd3\u0d9a\u0dbb\u0dab\u0dba </p>\n",
|
||||
"<p>Discriminator classification for real images </p>\n": "<p>\u0dc3\u0dd0\u0db6\u0dd1\u0dbb\u0dd6\u0db4 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dc0\u0dbb\u0dca\u0d9c\u0dd3\u0d9a\u0dbb\u0dab\u0dba </p>\n",
|
||||
"<p>Expand <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> for the generator blocks and concatenate </p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d9a\u0dd4\u0da7\u0dca\u0da7\u0dd2 <span translate=no>_^_0_^_</span> \u0dc3\u0dc4 \u0dc3\u0d82\u0dba\u0dd4\u0d9a\u0dca\u0dad \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 <span translate=no>_^_1_^_</span> \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dd4\u0dc5\u0dd4\u0dbd\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Expand <span translate=no>_^_0_^_</span> for the generator blocks </p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0d9a\u0ddc\u0da7\u0dc3\u0dca <span translate=no>_^_0_^_</span> \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dd4\u0dc5\u0dd4\u0dbd\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Flush tracker </p>\n": "<p>\u0dc6\u0dca\u0dbd\u0dc2\u0dca\u0da7\u0dca\u0dbb\u0dd0\u0d9a\u0dbb\u0dca </p>\n",
|
||||
"<p>Generate images </p>\n": "<p>\u0dbb\u0dd6\u0db4\u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Generate noise for each generator block </p>\n": "<p>\u0d91\u0d9a\u0dca\u0d91\u0d9a\u0dca \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d9a\u0ddc\u0da7\u0dc3 \u0dc3\u0db3\u0dc4\u0dcf \u0dc1\u0db6\u0dca\u0daf\u0dba \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Generate noise to add after the first convolution layer </p>\n": "<p>\u0db4\u0dc5\u0db8\u0dd4\u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0dd9\u0db1\u0dca \u0db4\u0dc3\u0dd4 \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc1\u0db6\u0dca\u0daf\u0dba \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Generate noise to add after the second convolution layer </p>\n": "<p>\u0daf\u0dd9\u0dc0\u0db1\u0d9a\u0dd0\u0da7\u0dd2 \u0d9c\u0dd0\u0dc3\u0dd4\u0dab\u0dd4 \u0dc3\u0dca\u0dae\u0dbb\u0dba\u0da7 \u0db4\u0dc3\u0dd4 \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc1\u0db6\u0dca\u0daf\u0dba \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Generator & Discriminator learning rate </p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0dc3\u0dc4 \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba </p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dbd\u0db6\u0dcf\u0d9c\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> </p>\n": "<p>\u0dbd\u0db6\u0dcf <span translate=no>_^_0_^_</span> \u0d9c\u0db1\u0dca\u0db1 <span translate=no>_^_1_^_</span> </p>\n",
|
||||
"<p>Get discriminator loss </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda \u0db4\u0dcf\u0da9\u0dd4\u0dc0 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get generator loss </p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0db1\u0dd0\u0dad\u0dd2\u0dc0\u0dd3\u0db8 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get noise </p>\n": "<p>\u0dc1\u0db6\u0dca\u0daf\u0dba\u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get number of generator blocks for creating style and noise inputs </p>\n": "<p>\u0dc1\u0ddb\u0dbd\u0dd2\u0dba\u0dc3\u0dc4 \u0dc1\u0db6\u0dca\u0daf \u0dba\u0dd9\u0daf\u0dc0\u0dd4\u0db8\u0dca \u0db1\u0dd2\u0dbb\u0dca\u0db8\u0dcf\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d9a\u0ddc\u0da7\u0dc3\u0dca \u0d9c\u0dab\u0db1 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get real images from the data loader </p>\n": "<p>\u0daf\u0dad\u0dca\u0dad\u0db4\u0dd0\u0da7\u0dc0\u0dd4\u0db8\u0dd9\u0db1\u0dca \u0dc3\u0dd0\u0db6\u0dd1 \u0dbb\u0dd6\u0db4 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get the paths of all <span translate=no>_^_0_^_</span> files </p>\n": "<p>\u0dc3\u0dd2\u0dba\u0dbd\u0dd4\u0db8 <span translate=no>_^_0_^_</span> \u0dbd\u0dd2\u0db4\u0dd2\u0d9c\u0ddc\u0db1\u0dd4 \u0dc0\u0dbd \u0db8\u0dcf\u0dbb\u0dca\u0d9c \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get the the <span translate=no>_^_0_^_</span>-th image </p>\n": "<p><span translate=no>_^_0_^_</span>-th \u0dbb\u0dd6\u0db4\u0dba \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Gradient penalty coefficient <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda\u0daf\u0dab\u0dca\u0da9\u0db1 \u0dc3\u0d82\u0d9c\u0dd4\u0dab\u0d9a\u0dba <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Height/width of the image </p>\n": "<p>\u0dbb\u0dd6\u0db4\u0dba\u0dda\u0d8b\u0dc3/\u0db4\u0dc5\u0dbd </p>\n",
|
||||
"<p>How often to log generated images </p>\n": "<p>\u0da2\u0db1\u0db1\u0dba\u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd6\u0dbb \u0dbd\u0ddc\u0d9c\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dda \u0d9a\u0dd9\u0dc3\u0dda\u0daf? </p>\n",
|
||||
"<p>How often to save model checkpoints </p>\n": "<p>\u0d86\u0daf\u0dbb\u0dca\u0dc1\u0db8\u0dd4\u0dbb\u0db4\u0ddc\u0dbd\u0dc0\u0dbd\u0dca \u0dc3\u0dd4\u0dbb\u0dd0\u0d9a\u0dd3\u0db8\u0da7 \u0d9a\u0ddc\u0db4\u0db8\u0dab \u0dc0\u0dcf\u0dbb\u0dba\u0d9a\u0dca </p>\n",
|
||||
"<p>Ignore if <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0db1\u0db8\u0dca\u0db1\u0ddc\u0dc3\u0dbd\u0d9a\u0dcf \u0dc4\u0dbb\u0dd2\u0db1\u0dca\u0db1 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Initialize </p>\n": "<p>\u0d86\u0dbb\u0db8\u0dca\u0db7\u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>List to store noise </p>\n": "<p>\u0dc1\u0db6\u0dca\u0daf\u0dba\u0d9c\u0db6\u0da9\u0dcf \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0 </p>\n",
|
||||
"<p>Log discriminator loss </p>\n": "<p>\u0dbd\u0ddc\u0d9c\u0dca\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda \u0d85\u0dbd\u0dcf\u0db7\u0dba </p>\n",
|
||||
"<p>Log discriminator model parameters occasionally </p>\n": "<p>\u0dc0\u0dd2\u0da7\u0dd2\u0db1\u0dca\u0dc0\u0dd2\u0da7 \u0dbd\u0ddc\u0d9c\u0dca \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0d86\u0d9a\u0dd8\u0dad\u0dd2 \u0db4\u0dbb\u0dcf\u0db8\u0dd2\u0dad\u0dd3\u0db1\u0dca </p>\n",
|
||||
"<p>Log generated images </p>\n": "<p>\u0dbd\u0ddc\u0d9c\u0dca\u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0dbb\u0dd6\u0db4 </p>\n",
|
||||
"<p>Log generator loss </p>\n": "<p>\u0dbd\u0ddc\u0d9c\u0dca\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0db1\u0dd0\u0dad\u0dd2\u0dc0\u0dd3\u0db8 </p>\n",
|
||||
"<p>Loop for <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dbd\u0dd6\u0db4\u0dca\u0dc3\u0db3\u0dc4\u0dcf <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Mapping network learning rate (<span translate=no>_^_0_^_</span> lower than the others) </p>\n": "<p>\u0da2\u0dcf\u0dbd\u0d89\u0d9c\u0dd9\u0db1\u0dd4\u0db8\u0dca \u0d85\u0db1\u0dd4\u0db4\u0dcf\u0dad\u0dba \u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9c\u0dad \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 (\u0d85\u0db1\u0dd9\u0d9a\u0dca \u0d92\u0dc0\u0dcf\u0da7 \u0dc0\u0da9\u0dcf<span translate=no>_^_0_^_</span> \u0d85\u0da9\u0dd4) </p>\n",
|
||||
"<p>Mix styles </p>\n": "<p>\u0db8\u0ddd\u0dc3\u0dca\u0dad\u0dbb\u0db8\u0dd2\u0dc1\u0dca\u0dbb \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Multiply by coefficient and add gradient penalty </p>\n": "<p>\u0dc3\u0d82\u0d9c\u0dd4\u0dab\u0d9a\u0dba\u0db8\u0d9c\u0dd2\u0db1\u0dca \u0d9c\u0dd4\u0dab \u0d9a\u0dbb \u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda \u0daf penalty \u0dd4\u0dc0\u0db8 \u0d91\u0d9a\u0dad\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Next block has <span translate=no>_^_0_^_</span> resolution </p>\n": "<p>\u0d8a\u0dc5\u0d9f\u0dc0\u0dcf\u0dbb\u0dab\u0dba\u0da7 <span translate=no>_^_0_^_</span> \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba\u0d9a\u0dca \u0d87\u0dad </p>\n",
|
||||
"<p>Noise resolution starts from <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc1\u0db6\u0dca\u0daf\u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0dc0\u0db1\u0dca\u0db1\u0dda <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Number of blocks in the generator (calculated based on image resolution) </p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba\u0dda \u0db6\u0dca\u0dbd\u0ddc\u0d9a\u0dca \u0d9c\u0dab\u0db1 (\u0dbb\u0dd6\u0db4 \u0dc0\u0dd2\u0db7\u0dda\u0daf\u0db1\u0dba \u0db8\u0dad \u0db4\u0daf\u0db1\u0db8\u0dca\u0dc0 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dd4 \u0dbd\u0dd0\u0db6\u0dda) </p>\n",
|
||||
"<p>Number of images </p>\n": "<p>\u0dbb\u0dd6\u0db4\u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Number of layers in the mapping network </p>\n": "<p>\u0dc3\u0dd2\u0dad\u0dd2\u0dba\u0db8\u0dca\u0d9a\u0dbb\u0dab\u0da2\u0dcf\u0dbd\u0dba\u0dda \u0dc3\u0dca\u0dae\u0dbb \u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Number of steps to accumulate gradients on. Use this to increase the effective batch size. </p>\n": "<p>\u0db8\u0dad\u0db5\u0dbd\u0dba \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0dc3\u0db8\u0dd4\u0da0\u0dca\u0da0\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0d9c\u0dab\u0db1. Effective \u0dbd\u0daf\u0dcf\u0dba\u0dd3 \u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba \u0dc0\u0dd0\u0da9\u0dd2 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0db8\u0dd9\u0dba \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1\u0dca\u0db1. </p>\n",
|
||||
"<p>Optimizers </p>\n": "<p>\u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0d9a\u0dbb\u0dab\u0dba </p>\n",
|
||||
"<p>Path length penalty calculation interval </p>\n": "<p>\u0db8\u0dcf\u0dbb\u0dca\u0d9c\u0daf\u0dd2\u0d9c \u0daf penalty \u0dd4\u0dc0\u0db8\u0dca \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0db4\u0dbb\u0dad\u0dbb\u0dba </p>\n",
|
||||
"<p>Probability of mixing styles </p>\n": "<p>\u0db8\u0ddd\u0dc3\u0dca\u0dad\u0dbb\u0db8\u0dd2\u0dc1\u0dca\u0dbb \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dc3\u0db8\u0dca\u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf\u0dc0 </p>\n",
|
||||
"<p>Random cross-over point </p>\n": "<p>\u0d85\u0dc4\u0db9\u0dd4\u0dc4\u0dbb\u0dc3\u0dca \u0d95\u0dc0\u0dbb\u0dca \u0dbd\u0d9a\u0dca\u0dc2\u0dca\u0dba\u0dba </p>\n",
|
||||
"<p>Reset gradients </p>\n": "<p>\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a\u0dba\u0dc5\u0dd2 \u0db4\u0dd2\u0dc4\u0dd2\u0da7\u0dd4\u0dc0\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Resize the image </p>\n": "<p>\u0dbb\u0dd6\u0db4\u0dba\u0dc0\u0dd9\u0db1\u0dc3\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Return images and <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0d86\u0db4\u0dc3\u0dd4\u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd6\u0dbb \u0dc3\u0dc4 <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Return noise tensors </p>\n": "<p>\u0d86\u0db4\u0dc3\u0dd4\u0dc1\u0db6\u0dca\u0daf \u0d86\u0dad\u0dad\u0dd3\u0db1\u0dca </p>\n",
|
||||
"<p>Run the training loop </p>\n": "<p>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dbd\u0dd6\u0db4\u0dba \u0db0\u0dcf\u0dc0\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Sample <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> </p>\n": "<p>\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba <span translate=no>_^_0_^_</span> \u0dc3\u0dc4 <span translate=no>_^_1_^_</span> </p>\n",
|
||||
"<p>Sample images from generator </p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba\u0dd9\u0db1\u0dca \u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2 \u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd6\u0dbb </p>\n",
|
||||
"<p>Save model checkpoints </p>\n": "<p>\u0d86\u0daf\u0dbb\u0dca\u0dc1\u0db8\u0dd4\u0dbb\u0db4\u0ddc\u0dbd\u0dc0\u0dbd\u0dca \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Set configurations and override some </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca\u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 \u0dc3\u0dc4 \u0dc3\u0db8\u0dc4\u0dbb \u0d92\u0dc0\u0dcf \u0d85\u0db7\u0dd2\u0db6\u0dc0\u0dcf \u0dba\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Set models for saving and loading </p>\n": "<p>\u0d89\u0dad\u0dd2\u0dbb\u0dd2\u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dc4 \u0db4\u0dd0\u0da7\u0dc0\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0d86\u0d9a\u0dd8\u0dad\u0dd2 \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Set tracker configurations </p>\n": "<p>\u0da7\u0dca\u0dbb\u0dd0\u0d9a\u0dbb\u0dca\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Skip calculating path length penalty during the initial phase of training </p>\n": "<p>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0\u0dda\u0d86\u0dbb\u0db8\u0dca\u0db7\u0d9a \u0d85\u0daf\u0dd2\u0dba\u0dbb\u0dda\u0daf\u0dd3 \u0db8\u0dcf\u0dbb\u0dca\u0d9c \u0daf\u0dd2\u0d9c \u0daf penalty \u0dd4\u0dc0\u0db8 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0db8\u0d9f \u0dc4\u0dbb\u0dd2\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Start the experiment </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Take a training step </p>\n": "<p>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0db4\u0dd2\u0dba\u0dc0\u0dbb\u0d9a\u0dca \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Take optimizer step </p>\n": "<p>\u0db4\u0dca\u0dbb\u0dc1\u0dc3\u0dca\u0dad\u0dd2\u0d9a\u0dbb\u0dab\u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>The first block has only one <span translate=no>_^_0_^_</span> convolution </p>\n": "<p>\u0db4\u0dc5\u0db8\u0dd4\u0d9a\u0ddc\u0da7\u0dc3 \u0d87\u0dad\u0dca\u0dad\u0dda \u0d91\u0d9a\u0dca <span translate=no>_^_0_^_</span> \u0dc3\u0d82\u0dc0\u0dc4\u0db1\u0dba\u0d9a\u0dca \u0db4\u0db8\u0dab\u0dd2 </p>\n",
|
||||
"<p>The interval at which to compute gradient penalty </p>\n": "<p>\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a\u0daf penalty \u0dd4\u0dc0\u0db8 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4 \u0d9a\u0dcf\u0dbd \u0dc3\u0dd3\u0db8\u0dcf\u0dc0 </p>\n",
|
||||
"<p>Total number of training steps </p>\n": "<p>\u0db8\u0dd4\u0dc5\u0dd4\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0db4\u0dd2\u0dba\u0dc0\u0dbb \u0d9c\u0dab\u0db1 </p>\n",
|
||||
"<p>Train the discriminator </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Train the generator </p>\n": "<p>\u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a\u0dba\u0db1\u0dca\u0dad\u0dca\u0dbb\u0dba \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Training mode state for logging activations </p>\n": "<p>\u0dbd\u0ddc\u0d9c\u0dca\u0dc0\u0dd3\u0db8 \u0dc3\u0d9a\u0dca\u0dbb\u0dd2\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0db8\u0dcf\u0daf\u0dd2\u0dbd\u0dd2\u0dba\u0dda \u0dad\u0dad\u0dca\u0dc0\u0dba </p>\n",
|
||||
"<p>Transformation </p>\n": "<p>\u0db4\u0dbb\u0dd2\u0dc0\u0dbb\u0dca\u0dad\u0db1\u0dba </p>\n",
|
||||
"<p>Update <span translate=no>_^_0_^_</span>. Set whether to log activation </p>\n": "<p>\u0dba\u0dcf\u0dc0\u0dad\u0dca\u0d9a\u0dcf\u0dbd\u0dd3\u0db1\u0d9a\u0dd2\u0dbb\u0dd3\u0db8 <span translate=no>_^_0_^_</span>. \u0dc3\u0d9a\u0dca\u0dbb\u0dd2\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dbd\u0ddc\u0d9c\u0dca \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4\u0daf \u0dba\u0db1\u0dca\u0db1 \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>We need to calculate gradients w.r.t. real images for gradient penalty </p>\n": "<p>\u0d85\u0db4\u0dd2\u0db5\u0dbd\u0dba \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0daf\u0dac\u0dd4\u0dc0\u0db8 \u0dc3\u0db3\u0dc4\u0dcf wr. \u0dc3\u0dd0\u0db6\u0dd1 \u0dbb\u0dd6\u0db4 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0d85\u0dc0\u0dc1\u0dca\u0dba </p>\n",
|
||||
"<p>Whether to log model layer outputs </p>\n": "<p>\u0d86\u0daf\u0dbb\u0dca\u0dc1\u0dc3\u0dca\u0dae\u0dbb \u0db4\u0dca\u0dbb\u0dad\u0dd2\u0daf\u0dcf\u0db1\u0dba\u0db1\u0dca \u0dbd\u0ddc\u0d9c\u0dca \u0d9a\u0dc5 \u0dba\u0dd4\u0dad\u0dd4\u0daf \u0dba\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Without mixing </p>\n": "<p>\u0db8\u0dd2\u0dc1\u0dca\u0dbb\u0db1\u0ddc\u0d9a\u0dbb </p>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> path to the folder containing the images </li>\n<li><span translate=no>_^_1_^_</span> size of the image</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span> \u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd6\u0dbb \u0d85\u0da9\u0d82\u0d9c\u0dd4 \u0dc6\u0ddd\u0dbd\u0dca\u0da9\u0dbb\u0dba\u0da7 \u0dba\u0db1 \u0db8\u0dcf\u0dbb\u0dca\u0d9c\u0dba </li>\n<li><span translate=no>_^_1_^_</span> \u0dbb\u0dd6\u0db4\u0dba\u0dda \u0db4\u0dca\u0dbb\u0db8\u0dcf\u0dab\u0dba</li></ul>\n",
|
||||
"An annotated PyTorch implementation of StyleGAN2 model training code.": "StyleGan2 \u0d86\u0daf\u0dbb\u0dca\u0dc1 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0d9a\u0dda\u0dad\u0dba \u0dc0\u0dd2\u0dc0\u0dbb\u0dca\u0dae\u0db1\u0dba \u0d9a\u0dbb\u0db1 \u0dbd\u0daf PyTorch \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8.",
|
||||
"StyleGAN 2 Model Training": "StyleGan 2 \u0d86\u0daf\u0dbb\u0dca\u0dc1 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0"
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"<h1><a href=\"index.html\">StyleGAN 2</a> Model Training</h1>\n<p>This is the training code for <a href=\"index.html\">StyleGAN 2</a> model.</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em>These are <span translate=no>_^_1_^_</span> images generated after training for about 80K steps.</em></small></p>\n<p><em>Our implementation is a minimalistic StyleGAN 2 model training code. Only single GPU training is supported to keep the implementation simple. We managed to shrink it to keep it at less than 500 lines of code, including the training loop.</em></p>\n<p><em>Without DDP (distributed data parallel) and multi-gpu training it will not be possible to train the model for large resolutions (128+). If you want training code with fp16 and DDP take a look at <a href=\"https://github.com/lucidrains/stylegan2-pytorch\">lucidrains/stylegan2-pytorch</a>.</em></p>\n<p>We trained this on <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">CelebA-HQ dataset</a>. You can find the download instruction in this <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">discussion on fast.ai</a>. Save the images inside <a href=\"#dataset_path\"><span translate=no>_^_2_^_</span> folder</a>.</p>\n": "<h1><a href=\"index.html\">StyleGan 2</a> \u6a21\u578b\u8bad\u7ec3</h1>\n<p>\u8fd9\u662f <a href=\"index.html\">StyleGan 2</a> \u6a21\u578b\u7684\u8bad\u7ec3\u4ee3\u7801\u3002</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><small><em>\u8fd9\u4e9b\u662f\u5728\u8bad\u7ec3\u4e86\u5927\u7ea6 80K \u6b65\u4e4b\u540e\u751f\u6210\u7684<span translate=no>_^_1_^_</span>\u56fe\u50cf\u3002</em></small></p>\n<p><em>\u6211\u4eec\u7684\u5b9e\u73b0\u662f\u4e00\u4e2a\u7b80\u7ea6\u7684 StyleGan 2 \u6a21\u578b\u8bad\u7ec3\u4ee3\u7801\u3002\u4ec5\u652f\u6301\u5355\u4e2a GPU \u8bad\u7ec3\uff0c\u4ee5\u4fdd\u6301\u5b9e\u73b0\u7b80\u5355\u3002\u6211\u4eec\u8bbe\u6cd5\u7f29\u5c0f\u4e86\u5b83\uff0c\u4f7f\u5176\u4fdd\u6301\u5728\u4e0d\u5230 500 \u884c\u4ee3\u7801\u4e2d\uff0c\u5305\u62ec\u8bad\u7ec3\u5faa\u73af\u3002</em></p>\n<p><em>\u5982\u679c\u6ca1\u6709 DDP\uff08\u5206\u5e03\u5f0f\u6570\u636e\u5e76\u884c\uff09\u548c\u591a GPU \u8bad\u7ec3\uff0c\u5c06\u65e0\u6cd5\u4e3a\u5927\u5206\u8fa8\u7387\uff08128+\uff09\u8bad\u7ec3\u6a21\u578b\u3002\u5982\u679c\u4f60\u60f3\u7528 fp16 \u548c DDP \u8bad\u7ec3\u4ee3\u7801\uff0c\u53ef\u4ee5\u770b\u770b l <a href=\"https://github.com/lucidrains/stylegan2-pytorch\">ucidrains/stylegan2-pytorch</a>\u3002</em></p>\n<p>\u6211\u4eec\u5728 <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">Celeba-HQ \u6570\u636e\u96c6</a>\u4e0a\u8bad\u7ec3\u4e86\u8fd9\u4e2a\u3002\u4f60\u53ef\u4ee5\u5728\u8fd9\u7bc7\u5173\u4e8e <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">fast.ai \u7684\u8ba8\u8bba</a>\u4e2d\u627e\u5230\u4e0b\u8f7d\u8bf4\u660e\u3002\u5c06\u56fe\u50cf\u4fdd\u5b58\u5728<a href=\"#dataset_path\"><span translate=no>_^_2_^_</span>\u6587\u4ef6\u5939\u4e2d</a>\u3002</p>\n",
|
||||
"<h2>Configurations</h2>\n": "<h2>\u914d\u7f6e</h2>\n",
|
||||
"<h2>Dataset</h2>\n<p>This loads the training dataset and resize it to the give image size.</p>\n": "<h2>\u6570\u636e\u96c6</h2>\n<p>\u8fd9\u5c06\u52a0\u8f7d\u8bad\u7ec3\u6570\u636e\u96c6\u5e76\u5c06\u5176\u8c03\u6574\u4e3a\u7ed9\u5b9a\u7684\u56fe\u50cf\u5927\u5c0f\u3002</p>\n",
|
||||
"<h2>Train model</h2>\n": "<h2>\u706b\u8f66\u6a21\u578b</h2>\n",
|
||||
"<h3>Generate images</h3>\n<p>This generate images using the generator</p>\n": "<h3>\u751f\u6210\u56fe\u50cf</h3>\n<p>\u8fd9\u4f1a\u4f7f\u7528\u751f\u6210\u5668\u751f\u6210\u56fe\u50cf</p>\n",
|
||||
"<h3>Generate noise</h3>\n<p>This generates noise for each <a href=\"index.html#generator_block\">generator block</a></p>\n": "<h3>\u4ea7\u751f\u566a\u97f3</h3>\n<p>\u8fd9\u4f1a\u4e3a\u6bcf\u4e2a<a href=\"index.html#generator_block\">\u53d1\u7535\u673a\u7ec4</a>\u4ea7\u751f\u566a\u58f0</p>\n",
|
||||
"<h3>Initialize</h3>\n": "<h3>\u521d\u59cb\u5316</h3>\n",
|
||||
"<h3>Lazy regularization</h3>\n<p>Instead of calculating the regularization losses, the paper proposes lazy regularization where the regularization terms are calculated once in a while. This improves the training efficiency a lot. </p>\n": "<h3>\u61d2\u60f0\u6b63\u5219\u5316</h3>\n\u672c@@ <p>\u6587\u6ca1\u6709\u8ba1\u7b97\u6b63\u5219\u5316\u635f\u5931\uff0c\u800c\u662f\u63d0\u51fa\u4e86\u61d2\u60f0\u7684\u6b63\u5219\u5316\uff0c\u5373\u5076\u5c14\u8ba1\u7b97\u4e00\u6b21\u6b63\u5219\u5316\u9879\u3002\u8fd9\u5927\u5927\u63d0\u9ad8\u4e86\u8bad\u7ec3\u6548\u7387\u3002</p>\n",
|
||||
"<h3>Sample <span translate=no>_^_0_^_</span></h3>\n<p>This samples <span translate=no>_^_1_^_</span> randomly and get <span translate=no>_^_2_^_</span> from the mapping network.</p>\n<p>We also apply style mixing sometimes where we generate two latent variables <span translate=no>_^_3_^_</span> and <span translate=no>_^_4_^_</span> and get corresponding <span translate=no>_^_5_^_</span> and <span translate=no>_^_6_^_</span>. Then we randomly sample a cross-over point and apply <span translate=no>_^_7_^_</span> to the generator blocks before the cross-over point and <span translate=no>_^_8_^_</span> to the blocks after.</p>\n": "<h3>\u6837\u672c<span translate=no>_^_0_^_</span></h3>\n<p>\u8fd9\u662f<span translate=no>_^_1_^_</span>\u968f\u673a\u91c7\u6837\u5e76<span translate=no>_^_2_^_</span>\u4ece\u6620\u5c04\u7f51\u7edc\u4e2d\u83b7\u53d6\u3002</p>\n<p>\u6709\u65f6\u6211\u4eec\u8fd8\u4f1a\u5e94\u7528\u6837\u5f0f\u6df7\u5408\uff0c\u6211\u4eec\u751f\u6210\u4e24\u4e2a\u6f5c\u5728\u53d8\u91cf<span translate=no>_^_3_^_</span>\u548c<span translate=no>_^_4_^_</span>\u5e76\u5f97\u5230\u76f8\u5e94\u7684<span translate=no>_^_5_^_</span>\u548c<span translate=no>_^_6_^_</span>\u3002\u7136\u540e\u6211\u4eec\u968f\u673a\u91c7\u6837\u4e00\u4e2a\u4ea4\u53c9\u70b9\uff0c\u7136\u540e\u5e94\u7528<span translate=no>_^_7_^_</span>\u4e8e\u4ea4\u53c9\u70b9\u4e4b\u524d\u7684\u751f\u6210\u5668\u65b9\u5757\u548c<span translate=no>_^_8_^_</span>\u4e4b\u540e\u7684\u533a\u5757\u3002</p>\n",
|
||||
"<h3>Train StyleGAN2</h3>\n": "<h3>Train styleGan2</h3>\n",
|
||||
"<h3>Training Step</h3>\n": "<h3>\u8bad\u7ec3\u6b65\u9aa4</h3>\n",
|
||||
"<p> </p>\n": "<p></p>\n",
|
||||
"<p><a href=\"index.html#discriminator\">StyleGAN2 Discriminator</a> </p>\n": "<p><a href=\"index.html#discriminator\">StyleGan2 \u9274\u522b\u5668</a></p>\n",
|
||||
"<p><a href=\"index.html#generator\">StyleGAN2 Generator</a> </p>\n": "<p><a href=\"index.html#generator\">StyleGan2 \u751f\u6210\u5668</a></p>\n",
|
||||
"<p><a href=\"index.html#gradient_penalty\">Gradient Penalty Regularization Loss</a> </p>\n": "<p><a href=\"index.html#gradient_penalty\">\u68af\u5ea6\u60e9\u7f5a\u6b63\u5219\u5316\u635f\u5931</a></p>\n",
|
||||
"<p><a href=\"index.html#mapping_network\">Mapping network</a> </p>\n": "<p><a href=\"index.html#mapping_network\">\u6d4b\u7ed8\u7f51\u7edc</a></p>\n",
|
||||
"<p><a href=\"index.html#path_length_penalty\">Path length penalty</a> </p>\n": "<p><a href=\"index.html#path_length_penalty\">\u8def\u5f84\u957f\u5ea6\u60e9\u7f5a</a></p>\n",
|
||||
"<p><a id=\"dataset_path\"></a> We trained this on <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">CelebA-HQ dataset</a>. You can find the download instruction in this <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">discussion on fast.ai</a>. Save the images inside <span translate=no>_^_0_^_</span> folder. </p>\n": "<p><a id=\"dataset_path\"></a>\u6211\u4eec\u5728 <a href=\"https://github.com/tkarras/progressive_growing_of_gans\">Celeba-HQ \u6570\u636e\u96c6</a>\u4e0a\u8bad\u7ec3\u4e86\u8fd9\u4e2a\u3002\u4f60\u53ef\u4ee5\u5728\u8fd9\u7bc7\u5173\u4e8e <a href=\"https://forums.fast.ai/t/download-celeba-hq-dataset/45873/3\">fast.ai \u7684\u8ba8\u8bba</a>\u4e2d\u627e\u5230\u4e0b\u8f7d\u8bf4\u660e\u3002\u5c06\u56fe\u50cf\u4fdd\u5b58\u5728<span translate=no>_^_0_^_</span>\u6587\u4ef6\u5939\u4e2d\u3002</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> for Adam optimizer </p>\n": "<p><span translate=no>_^_0_^_</span>\u5bf9<span translate=no>_^_1_^_</span>\u4e8e Adam \u4f18\u5316\u5668\u6765\u8bf4</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> of image resolution </p>\n": "<p><span translate=no>_^_0_^_</span>\u7684\u56fe\u50cf\u5206\u8fa8\u7387</p>\n",
|
||||
"<p>Accumulate gradients for <span translate=no>_^_0_^_</span> </p>\n": "<p>\u7d2f\u79ef\u68af\u5ea6<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Add gradient penalty </p>\n": "<p>\u6dfb\u52a0\u6e10\u53d8\u60e9\u7f5a</p>\n",
|
||||
"<p>Add model hooks to monitor layer outputs </p>\n": "<p>\u6dfb\u52a0\u6a21\u578b\u6302\u63a5\u4ee5\u76d1\u89c6\u5c42\u8f93\u51fa</p>\n",
|
||||
"<p>Add noise tensors to the list </p>\n": "<p>\u5c06\u566a\u58f0\u5f20\u91cf\u6dfb\u52a0\u5230\u5217\u8868\u4e2d</p>\n",
|
||||
"<p>Add path length penalty </p>\n": "<p>\u589e\u52a0\u8def\u5f84\u957f\u5ea6\u60e9\u7f5a</p>\n",
|
||||
"<p>Batch size </p>\n": "<p>\u6279\u91cf\u5927\u5c0f</p>\n",
|
||||
"<p>Calculate and log gradient penalty </p>\n": "<p>\u8ba1\u7b97\u5e76\u8bb0\u5f55\u68af\u5ea6\u635f\u5931</p>\n",
|
||||
"<p>Calculate gradients </p>\n": "<p>\u8ba1\u7b97\u68af\u5ea6</p>\n",
|
||||
"<p>Calculate path length penalty </p>\n": "<p>\u8ba1\u7b97\u8def\u5f84\u957f\u5ea6\u635f\u5931</p>\n",
|
||||
"<p>Clip gradients for stabilization </p>\n": "<p>\u7528\u4e8e\u7a33\u5b9a\u7684\u526a\u8f91\u6e10\u53d8</p>\n",
|
||||
"<p>Compute gradients </p>\n": "<p>\u8ba1\u7b97\u68af\u5ea6</p>\n",
|
||||
"<p>Continuous <a href=\"../../utils.html#cycle_dataloader\">cyclic loader</a> </p>\n": "<p>\u8fde\u7eed<a href=\"../../utils.html#cycle_dataloader\">\u5faa\u73af\u88c5\u8f7d\u673a</a></p>\n",
|
||||
"<p>Convert to PyTorch tensor </p>\n": "<p>\u8f6c\u6362\u4e3a pyTorch \u5f20\u91cf</p>\n",
|
||||
"<p>Create an experiment </p>\n": "<p>\u521b\u5efa\u5b9e\u9a8c</p>\n",
|
||||
"<p>Create configurations object </p>\n": "<p>\u521b\u5efa\u914d\u7f6e\u5bf9\u8c61</p>\n",
|
||||
"<p>Create data loader </p>\n": "<p>\u521b\u5efa\u6570\u636e\u52a0\u8f7d\u5668</p>\n",
|
||||
"<p>Create dataset </p>\n": "<p>\u521b\u5efa\u6570\u636e\u96c6</p>\n",
|
||||
"<p>Create discriminator and generator </p>\n": "<p>\u521b\u5efa\u9274\u522b\u5668\u548c\u751f\u6210\u5668</p>\n",
|
||||
"<p>Create mapping network </p>\n": "<p>\u521b\u5efa\u6d4b\u7ed8\u7f51\u7edc</p>\n",
|
||||
"<p>Create optimizers </p>\n": "<p>\u521b\u5efa\u4f18\u5316\u5668</p>\n",
|
||||
"<p>Create path length penalty loss </p>\n": "<p>\u521b\u5efa\u8def\u5f84\u957f\u5ea6\u60e9\u7f5a\u635f\u5931</p>\n",
|
||||
"<p>Data loader </p>\n": "<p>\u6570\u636e\u52a0\u8f7d\u5668</p>\n",
|
||||
"<p>Device to train the model on. <a href=\"https://docs.labml.ai/api/helpers.html#labml_helpers.device.DeviceConfigs\"><span translate=no>_^_0_^_</span></a> picks up an available CUDA device or defaults to CPU. </p>\n": "<p>\u7528\u4e8e\u8bad\u7ec3\u6a21\u578b\u7684\u8bbe\u5907\u3002<a href=\"https://docs.labml.ai/api/helpers.html#labml_helpers.device.DeviceConfigs\"><span translate=no>_^_0_^_</span></a>\u9009\u62e9\u53ef\u7528\u7684 CUDA \u8bbe\u5907\u6216\u9ed8\u8ba4\u4e3a CPU\u3002</p>\n",
|
||||
"<p>Dimensionality of <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span>\u548c\u7684\u7ef4\u5ea6<span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Discriminator and generator loss functions. We use <a href=\"../wasserstein/index.html\">Wasserstein loss</a> </p>\n": "<p>\u9274\u522b\u5668\u548c\u53d1\u751f\u5668\u635f\u8017\u51fd\u6570\u3002\u6211\u4eec\u4f7f\u7528 <a href=\"../wasserstein/index.html\">Wasserstein \u7684\u635f\u5931</a></p>\n",
|
||||
"<p>Discriminator and generator losses </p>\n": "<p>\u9274\u522b\u5668\u548c\u53d1\u7535\u673a\u635f\u8017</p>\n",
|
||||
"<p>Discriminator classification for generated images </p>\n": "<p>\u751f\u6210\u56fe\u50cf\u7684\u9274\u522b\u5668\u5206\u7c7b</p>\n",
|
||||
"<p>Discriminator classification for real images </p>\n": "<p>\u771f\u5b9e\u56fe\u50cf\u7684\u9274\u522b\u5668\u5206\u7c7b</p>\n",
|
||||
"<p>Expand <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> for the generator blocks and concatenate </p>\n": "<p><span translate=no>_^_0_^_</span>\u5c55<span translate=no>_^_1_^_</span>\u5f00 and for \u751f\u6210\u5668\u5757\u5e76\u8fde\u63a5</p>\n",
|
||||
"<p>Expand <span translate=no>_^_0_^_</span> for the generator blocks </p>\n": "<p><span translate=no>_^_0_^_</span>\u4e3a\u53d1\u7535\u673a\u7ec4\u5c55\u5f00</p>\n",
|
||||
"<p>Flush tracker </p>\n": "<p>\u51b2\u6d17\u8ffd\u8e2a\u5668</p>\n",
|
||||
"<p>Generate images </p>\n": "<p>\u751f\u6210\u56fe\u50cf</p>\n",
|
||||
"<p>Generate noise for each generator block </p>\n": "<p>\u4e3a\u6bcf\u4e2a\u53d1\u7535\u673a\u7ec4\u751f\u6210\u566a\u58f0</p>\n",
|
||||
"<p>Generate noise to add after the first convolution layer </p>\n": "<p>\u751f\u6210\u8981\u5728\u7b2c\u4e00\u4e2a\u5377\u79ef\u5c42\u4e4b\u540e\u6dfb\u52a0\u7684\u566a\u6ce2</p>\n",
|
||||
"<p>Generate noise to add after the second convolution layer </p>\n": "<p>\u751f\u6210\u8981\u5728\u7b2c\u4e8c\u4e2a\u5377\u79ef\u5c42\u4e4b\u540e\u6dfb\u52a0\u7684\u566a\u6ce2</p>\n",
|
||||
"<p>Generator & Discriminator learning rate </p>\n": "<p>\u751f\u6210\u5668\u548c\u9274\u522b\u5668\u5b66\u4e60\u901f\u7387</p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5f97\u5230<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> </p>\n": "<p>\u83b7\u53d6<span translate=no>_^_0_^_</span>\u548c<span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Get discriminator loss </p>\n": "<p>\u83b7\u5f97\u9274\u522b\u5668\u635f\u5931</p>\n",
|
||||
"<p>Get generator loss </p>\n": "<p>\u83b7\u5f97\u53d1\u7535\u673a\u635f\u5931</p>\n",
|
||||
"<p>Get noise </p>\n": "<p>\u5f97\u5230\u566a\u97f3</p>\n",
|
||||
"<p>Get number of generator blocks for creating style and noise inputs </p>\n": "<p>\u83b7\u53d6\u7528\u4e8e\u521b\u5efa\u6837\u5f0f\u548c\u566a\u58f0\u8f93\u5165\u7684\u751f\u6210\u5668\u6a21\u5757\u7684\u6570\u91cf</p>\n",
|
||||
"<p>Get real images from the data loader </p>\n": "<p>\u4ece\u6570\u636e\u52a0\u8f7d\u5668\u83b7\u53d6\u771f\u5b9e\u56fe\u50cf</p>\n",
|
||||
"<p>Get the paths of all <span translate=no>_^_0_^_</span> files </p>\n": "<p>\u83b7\u53d6\u6240\u6709<span translate=no>_^_0_^_</span>\u6587\u4ef6\u7684\u8def\u5f84</p>\n",
|
||||
"<p>Get the the <span translate=no>_^_0_^_</span>-th image </p>\n": "<p>\u83b7\u53d6\u7b2c<span translate=no>_^_0_^_</span>-th \u5f20\u56fe\u7247</p>\n",
|
||||
"<p>Gradient penalty coefficient <span translate=no>_^_0_^_</span> </p>\n": "<p>\u68af\u5ea6\u60e9\u7f5a\u7cfb\u6570<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Height/width of the image </p>\n": "<p>\u56fe\u50cf\u7684\u9ad8\u5ea6/\u5bbd\u5ea6</p>\n",
|
||||
"<p>How often to log generated images </p>\n": "<p>\u8bb0\u5f55\u751f\u6210\u7684\u56fe\u50cf\u7684\u9891\u7387</p>\n",
|
||||
"<p>How often to save model checkpoints </p>\n": "<p>\u4fdd\u5b58\u6a21\u578b\u68c0\u67e5\u70b9\u7684\u9891\u7387</p>\n",
|
||||
"<p>Ignore if <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5ffd\u7565\u5982\u679c<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Initialize </p>\n": "<p>\u521d\u59cb\u5316</p>\n",
|
||||
"<p>List to store noise </p>\n": "<p>\u5b58\u50a8\u566a\u97f3\u7684\u5217\u8868</p>\n",
|
||||
"<p>Log discriminator loss </p>\n": "<p>\u65e5\u5fd7\u9274\u522b\u5668\u4e22\u5931</p>\n",
|
||||
"<p>Log discriminator model parameters occasionally </p>\n": "<p>\u5076\u5c14\u8bb0\u5f55\u9274\u522b\u5668\u6a21\u578b\u53c2\u6570</p>\n",
|
||||
"<p>Log generated images </p>\n": "<p>\u65e5\u5fd7\u751f\u6210\u7684\u56fe\u50cf</p>\n",
|
||||
"<p>Log generator loss </p>\n": "<p>\u65e5\u5fd7\u751f\u6210\u5668\u4e22\u5931</p>\n",
|
||||
"<p>Loop for <span translate=no>_^_0_^_</span> </p>\n": "<p>\u5faa\u73af\u5bfb\u56de<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Mapping network learning rate (<span translate=no>_^_0_^_</span> lower than the others) </p>\n": "<p>\u6620\u5c04\u7f51\u7edc\u5b66\u4e60\u7387\uff08<span translate=no>_^_0_^_</span>\u4f4e\u4e8e\u5176\u4ed6\uff09</p>\n",
|
||||
"<p>Mix styles </p>\n": "<p>\u6df7\u5408\u98ce\u683c</p>\n",
|
||||
"<p>Multiply by coefficient and add gradient penalty </p>\n": "<p>\u4e58\u4ee5\u7cfb\u6570\u5e76\u6dfb\u52a0\u68af\u5ea6\u60e9\u7f5a</p>\n",
|
||||
"<p>Next block has <span translate=no>_^_0_^_</span> resolution </p>\n": "<p>\u4e0b\u4e00\u4e2a\u533a\u5757\u6709<span translate=no>_^_0_^_</span>\u5206\u8fa8\u7387</p>\n",
|
||||
"<p>Noise resolution starts from <span translate=no>_^_0_^_</span> </p>\n": "<p>\u566a\u58f0\u5206\u8fa8\u7387\u4ece<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Number of blocks in the generator (calculated based on image resolution) </p>\n": "<p>\u751f\u6210\u5668\u4e2d\u7684\u5757\u6570\uff08\u6839\u636e\u56fe\u50cf\u5206\u8fa8\u7387\u8ba1\u7b97\uff09</p>\n",
|
||||
"<p>Number of images </p>\n": "<p>\u56fe\u50cf\u6570\u91cf</p>\n",
|
||||
"<p>Number of layers in the mapping network </p>\n": "<p>\u5236\u56fe\u7f51\u7edc\u4e2d\u7684\u56fe\u5c42\u6570</p>\n",
|
||||
"<p>Number of steps to accumulate gradients on. Use this to increase the effective batch size. </p>\n": "<p>\u7d2f\u79ef\u68af\u5ea6\u7684\u6b65\u6570\u3002\u4f7f\u7528\u5b83\u53ef\u4ee5\u589e\u52a0\u6709\u6548\u6279\u6b21\u5927\u5c0f\u3002</p>\n",
|
||||
"<p>Optimizers </p>\n": "<p>\u4f18\u5316\u5668</p>\n",
|
||||
"<p>Path length penalty calculation interval </p>\n": "<p>\u8def\u5f84\u957f\u5ea6\u60e9\u7f5a\u8ba1\u7b97\u95f4\u9694</p>\n",
|
||||
"<p>Probability of mixing styles </p>\n": "<p>\u6df7\u5408\u6837\u5f0f\u7684\u6982\u7387</p>\n",
|
||||
"<p>Random cross-over point </p>\n": "<p>\u968f\u673a\u4ea4\u53c9\u70b9</p>\n",
|
||||
"<p>Reset gradients </p>\n": "<p>\u91cd\u7f6e\u6e10\u53d8</p>\n",
|
||||
"<p>Resize the image </p>\n": "<p>\u8c03\u6574\u56fe\u50cf\u5927\u5c0f</p>\n",
|
||||
"<p>Return images and <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8fd4\u56de\u56fe\u50cf\u548c<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Return noise tensors </p>\n": "<p>\u8fd4\u56de\u566a\u58f0\u5f20\u91cf</p>\n",
|
||||
"<p>Run the training loop </p>\n": "<p>\u8fd0\u884c\u8bad\u7ec3\u5faa\u73af</p>\n",
|
||||
"<p>Sample <span translate=no>_^_0_^_</span> and <span translate=no>_^_1_^_</span> </p>\n": "<p>\u6837\u672c<span translate=no>_^_0_^_</span>\u548c<span translate=no>_^_1_^_</span></p>\n",
|
||||
"<p>Sample images from generator </p>\n": "<p>\u6765\u81ea\u751f\u6210\u5668\u7684\u6837\u672c\u56fe\u50cf</p>\n",
|
||||
"<p>Save model checkpoints </p>\n": "<p>\u4fdd\u5b58\u6a21\u578b\u68c0\u67e5\u70b9</p>\n",
|
||||
"<p>Set configurations and override some </p>\n": "<p>\u8bbe\u7f6e\u914d\u7f6e\u5e76\u8986\u76d6\u4e00\u4e9b</p>\n",
|
||||
"<p>Set models for saving and loading </p>\n": "<p>\u8bbe\u7f6e\u7528\u4e8e\u4fdd\u5b58\u548c\u52a0\u8f7d\u7684\u6a21\u578b</p>\n",
|
||||
"<p>Set tracker configurations </p>\n": "<p>\u8bbe\u7f6e\u8ddf\u8e2a\u5668\u914d\u7f6e</p>\n",
|
||||
"<p>Skip calculating path length penalty during the initial phase of training </p>\n": "<p>\u5728\u8bad\u7ec3\u7684\u521d\u59cb\u9636\u6bb5\u8df3\u8fc7\u8ba1\u7b97\u8def\u5f84\u957f\u5ea6\u635f\u5931</p>\n",
|
||||
"<p>Start the experiment </p>\n": "<p>\u5f00\u59cb\u5b9e\u9a8c</p>\n",
|
||||
"<p>Take a training step </p>\n": "<p>\u8fc8\u51fa\u8bad\u7ec3\u4e00\u6b65</p>\n",
|
||||
"<p>Take optimizer step </p>\n": "<p>\u91c7\u53d6\u4f18\u5316\u5668\u6b65\u9aa4</p>\n",
|
||||
"<p>The first block has only one <span translate=no>_^_0_^_</span> convolution </p>\n": "<p>\u7b2c\u4e00\u4e2a\u65b9\u5757\u53ea\u6709\u4e00\u4e2a<span translate=no>_^_0_^_</span>\u5377\u79ef</p>\n",
|
||||
"<p>The interval at which to compute gradient penalty </p>\n": "<p>\u8ba1\u7b97\u68af\u5ea6\u60e9\u7f5a\u7684\u95f4\u9694</p>\n",
|
||||
"<p>Total number of training steps </p>\n": "<p>\u8bad\u7ec3\u6b65\u6570\u603b\u6570</p>\n",
|
||||
"<p>Train the discriminator </p>\n": "<p>\u8bad\u7ec3\u9274\u522b\u5668</p>\n",
|
||||
"<p>Train the generator </p>\n": "<p>\u8bad\u7ec3\u53d1\u7535\u673a</p>\n",
|
||||
"<p>Training mode state for logging activations </p>\n": "<p>\u65e5\u5fd7\u8bb0\u5f55\u6fc0\u6d3b\u7684\u8bad\u7ec3\u6a21\u5f0f\u72b6\u6001</p>\n",
|
||||
"<p>Transformation </p>\n": "<p>\u8f6c\u578b</p>\n",
|
||||
"<p>Update <span translate=no>_^_0_^_</span>. Set whether to log activation </p>\n": "<p>\u66f4\u65b0<span translate=no>_^_0_^_</span>\u3002\u8bbe\u7f6e\u662f\u5426\u8bb0\u5f55\u6fc0\u6d3b</p>\n",
|
||||
"<p>We need to calculate gradients w.r.t. real images for gradient penalty </p>\n": "<p>\u6211\u4eec\u9700\u8981\u7528\u771f\u5b9e\u56fe\u50cf\u8ba1\u7b97\u68af\u5ea6\u4ee5\u83b7\u5f97\u68af\u5ea6\u60e9\u7f5a</p>\n",
|
||||
"<p>Whether to log model layer outputs </p>\n": "<p>\u662f\u5426\u8bb0\u5f55\u6a21\u578b\u5c42\u8f93\u51fa</p>\n",
|
||||
"<p>Without mixing </p>\n": "<p>\u4e0d\u6df7\u5408</p>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> path to the folder containing the images </li>\n<li><span translate=no>_^_1_^_</span> size of the image</li></ul>\n": "<ul><li><span translate=no>_^_0_^_</span>\u5305\u542b\u56fe\u50cf\u7684\u6587\u4ef6\u5939\u7684\u8def\u5f84</li>\n<li><span translate=no>_^_1_^_</span>\u56fe\u50cf\u7684\u5927\u5c0f</li></ul>\n",
|
||||
"An annotated PyTorch implementation of StyleGAN2 model training code.": "StyleGan2 \u6a21\u578b\u8bad\u7ec3\u4ee3\u7801\u7684\u5e26\u6ce8\u91ca\u7684 PyTorch \u5b9e\u73b0\u3002",
|
||||
"StyleGAN 2 Model Training": "StyleGan 2 \u6a21\u578b\u8bad\u7ec3"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/stylegan/index.html\">StyleGAN 2</a></h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of the paper <a href=\"https://arxiv.org/abs/1912.04958\">Analyzing and Improving the Image Quality of StyleGAN</a> which introduces <strong>StyleGAN2</strong>. StyleGAN 2 is an improvement over <strong>StyleGAN</strong> from the paper <a href=\"https://arxiv.org/abs/1812.04948\">A Style-Based Generator Architecture for Generative Adversarial Networks</a>. And StyleGAN is based on <strong>Progressive GAN</strong> from the paper <a href=\"https://arxiv.org/abs/1710.10196\">Progressive Growing of GANs for Improved Quality, Stability, and Variation</a>. All three papers are from the same authors from <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/stylegan/index.html\">\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2</a></h1>\n<p><strong>\u3053\u308c\u306f\u3001StyleGAN2\u3092\u7d39\u4ecb\u3059\u308b\u8ad6\u6587\u300c<a href=\"https://arxiv.org/abs/1912.04958\">StyleGAN\u306e\u753b\u8cea\u306e\u5206\u6790\u3068\u6539\u5584\u300d<a href=\"https://pytorch.org\">\u3092PyTorch\u3067\u5b9f\u88c5\u3057\u305f\u3082\u306e\u3067\u3059</a></a>\u3002</strong>StyleGan 2\u306f\u3001\u8ad6\u6587\u300c<strong><a href=\"https://arxiv.org/abs/1812.04948\">\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u305f\u3081\u306e\u30b9\u30bf\u30a4\u30eb\u30d9\u30fc\u30b9\u306e\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u300d\u306eStyleGAN\u3092\u6539\u826f\u3057\u305f\u3082\u306e\u3067\u3059</a></strong>\u3002\u307e\u305f\u3001StyleGan\u306f\u8ad6\u6587\u300c<strong>GAN\u306e\u6f38\u9032\u7684\u6210\u9577\u306b\u3088\u308b\u54c1\u8cea</strong><a href=\"https://arxiv.org/abs/1710.10196\">\u3001\u5b89\u5b9a\u6027\u3001\u30d0\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u306e\u5411\u4e0a\u300d\u306e\u30d7\u30ed\u30b0\u30ec\u30c3\u30b7\u30d6GAN\u3092\u30d9\u30fc\u30b9\u306b\u3057\u3066\u3044\u307e\u3059</a>\u30023 \u3064\u306e\u8ad6\u6587\u306f\u3059\u3079\u3066 <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA</a> AI \u306e\u540c\u3058\u8457\u8005\u306b\u3088\u308b\u3082\u306e\u3067\u3059</p>\u3002\n",
|
||||
"StyleGAN 2": "\u30b9\u30bf\u30a4\u30eb\u30ac\u30f3 2"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/stylegan/index.html\">StyleGAN 2</a></h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of the paper <a href=\"https://arxiv.org/abs/1912.04958\">Analyzing and Improving the Image Quality of StyleGAN</a> which introduces <strong>StyleGAN2</strong>. StyleGAN 2 is an improvement over <strong>StyleGAN</strong> from the paper <a href=\"https://arxiv.org/abs/1812.04948\">A Style-Based Generator Architecture for Generative Adversarial Networks</a>. And StyleGAN is based on <strong>Progressive GAN</strong> from the paper <a href=\"https://arxiv.org/abs/1710.10196\">Progressive Growing of GANs for Improved Quality, Stability, and Variation</a>. All three papers are from the same authors from <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/stylegan/index.html\">Style\u0d9c\u0db1\u0dca 2</a></h1>\n<p>\u0db8\u0dd9\u0dba\u0d85 <a href=\"https://pytorch.org\">PyTorch</a> \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 <a href=\"https://arxiv.org/abs/1912.04958\">\u0dc0\u0dd2\u0dc1\u0dca\u0dbd\u0dda\u0dc2\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0dc4 \u0dbb\u0dd6\u0db4\u0dba\u0dda \u0d9c\u0dd4\u0dab\u0dcf\u0dad\u0dca\u0db8\u0d9a\u0db7\u0dcf\u0dc0\u0dba \u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 StyleGan</a> \u0dc4\u0db3\u0dd4\u0db1\u0dca\u0dc0\u0dcf \u0daf\u0dd9\u0db1 <strong>StyleGan 2</strong>. StyleGan 2 \u0dba\u0db1\u0dd4 \u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0d9a\u0dd2 <strong>StyleGan</strong> <a href=\"https://arxiv.org/abs/1812.04948\">\u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0dc0\u0dbd\u0dd2\u0db1\u0dca \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d85\u0dc4\u0dd2\u0dad\u0d9a\u0dbb \u0da2\u0dcf\u0dbd \u0dc3\u0db3\u0dc4\u0dcf \u0dc1\u0ddb\u0dbd\u0dd2\u0dba \u0db8\u0dad \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd6 \u0d8b\u0dad\u0dca\u0db4\u0dcf\u0daf\u0d9a \u0d9c\u0dd8\u0dc4 \u0db1\u0dd2\u0dbb\u0dca\u0db8\u0dcf\u0dab \u0dc1\u0dd2\u0dbd\u0dca\u0db4\u0dba</a>. \u0dc3\u0dc4 StyleGan \u0db4\u0daf\u0db1\u0db8\u0dca \u0dc0\u0dd3 \u0d87\u0dad\u0dca\u0dad\u0dda \u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 \u0dc0\u0dbd\u0dd2\u0db1\u0dca <strong>\u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3 GAN</strong> \u0db8\u0dad \u0dba <a href=\"https://arxiv.org/abs/1710.10196\">\u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dc5 \u0d9c\u0dd4\u0dab\u0dcf\u0dad\u0dca\u0db8\u0d9a\u0db7\u0dcf\u0dc0\u0dba, \u0dc3\u0dca\u0dae\u0dcf\u0dba\u0dd2\u0dad\u0dcf\u0dc0 \u0dc3\u0dc4 \u0dc0\u0dd2\u0da0\u0dbd\u0db1\u0dba \u0dc3\u0db3\u0dc4\u0dcf GANs \u0db4\u0dca\u0dbb\u0d9c\u0dad\u0dd2\u0dc1\u0dd3\u0dbd\u0dd3 \u0dc0\u0dbb\u0dca\u0db0\u0db1\u0dba</a>. \u0db8\u0dd9\u0db8 \u0db4\u0dad\u0dca\u0dbb\u0dd2\u0d9a\u0dcf \u0dad\u0dd4\u0db1\u0db8 <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a>\u0dc0\u0dd9\u0dad\u0dd2\u0db1\u0dca \u0d91\u0d9a\u0db8 \u0d9a\u0dad\u0dd4\u0dc0\u0dbb\u0dd4\u0db1\u0dca\u0d9c\u0dd9\u0db1\u0dca \u0dc0\u0dda. </p>\n",
|
||||
"StyleGAN 2": "Style\u0d9c\u0db1\u0dca 2"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/stylegan/index.html\">StyleGAN 2</a></h1>\n<p>This is a <a href=\"https://pytorch.org\">PyTorch</a> implementation of the paper <a href=\"https://arxiv.org/abs/1912.04958\">Analyzing and Improving the Image Quality of StyleGAN</a> which introduces <strong>StyleGAN2</strong>. StyleGAN 2 is an improvement over <strong>StyleGAN</strong> from the paper <a href=\"https://arxiv.org/abs/1812.04948\">A Style-Based Generator Architecture for Generative Adversarial Networks</a>. And StyleGAN is based on <strong>Progressive GAN</strong> from the paper <a href=\"https://arxiv.org/abs/1710.10196\">Progressive Growing of GANs for Improved Quality, Stability, and Variation</a>. All three papers are from the same authors from <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/stylegan/index.html\">StyleGan 2</a></h1>\n<p>\u8fd9\u662f\u300a<a href=\"https://arxiv.org/abs/1912.04958\">\u5206\u6790\u548c\u63d0\u9ad8 StyleGan \u7684\u56fe\u50cf\u8d28\u91cf\u300b</a><a href=\"https://pytorch.org\">\u4e00\u6587\u7684 PyTorch</a> \u5b9e\u73b0\uff0c\u8be5\u8bba\u6587\u4ecb\u7ecd\u4e86 <strong>StyleGan2</strong>\u3002StyleGan 2 \u662f\u5bf9\u8bba\u6587\u300a\u751f\u6210<a href=\"https://arxiv.org/abs/1812.04948\">\u5bf9\u6297\u7f51\u7edc\u7684\u57fa\u4e8e\u6837\u5f0f\u7684\u751f\u6210\u5668\u67b6\u6784\u300b\u4e2d\u5bf9</a> <strong>StyleG</strong> an \u7684\u6539\u8fdb\u3002StyleG <strong>an \u57fa\u4e8e\u8bba\u6587\u300a\u9010\u6b65</strong><a href=\"https://arxiv.org/abs/1710.10196\">\u751f\u957f GaN \u4ee5\u63d0\u9ad8\u8d28\u91cf\u3001\u7a33\u5b9a\u6027\u548c\u53d8\u5f02\u6027\u300b\u4e2d\u7684\u6e10\u8fdb\u5f0f GAN</a>\u3002\u8fd9\u4e09\u7bc7\u8bba\u6587\u5747\u51fa\u81ea <a href=\"https://twitter.com/NVIDIAAI\">NVIDIA AI</a> \u7684\u540c\u4e00\u4f4d\u4f5c\u8005\u3002</p>\n",
|
||||
"StyleGAN 2": "StyleGan 2"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"<h1>WGAN experiment with MNIST</h1>\n": "<h1>MNIST\u3068\u306eWGAN\u5b9f\u9a13</h1>\n",
|
||||
"<p>Create configs object </p>\n": "<p>\u30b3\u30f3\u30d5\u30a3\u30b0\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Create experiment </p>\n": "<p>\u5b9f\u9a13\u3092\u4f5c\u6210</p>\n",
|
||||
"<p>Import <a href=\"./index.html\">Wasserstein GAN losses</a> </p>\n": "<p><a href=\"./index.html\">\u30f4\u30a1\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3GAN\u306e\u8f38\u5165\u640d\u5931</a></p>\n",
|
||||
"<p>Import configurations from <a href=\"../dcgan/index.html\">DCGAN experiment</a> </p>\n": "<p><a href=\"../dcgan/index.html\">DCGAN</a> \u5b9f\u9a13\u304b\u3089\u69cb\u6210\u3092\u30a4\u30f3\u30dd\u30fc\u30c8</p>\n",
|
||||
"<p>Override configurations </p>\n": "<p>\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u8a2d\u5b9a</p>\n",
|
||||
"<p>Set configurations options for Wasserstein GAN losses </p>\n": "<p>\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3GAN\u640d\u5931\u306e\u69cb\u6210\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8a2d\u5b9a</p>\n",
|
||||
"<p>Start the experiment and run training loop </p>\n": "<p>\u5b9f\u9a13\u3092\u958b\u59cb\u3057\u3066\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30eb\u30fc\u30d7\u3092\u5b9f\u884c\u3059\u308b</p>\n",
|
||||
"This experiment generates MNIST images using convolutional neural network.": "\u3053\u306e\u5b9f\u9a13\u3067\u306f\u3001\u7573\u307f\u8fbc\u307f\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4f7f\u7528\u3057\u3066 MNIST \u753b\u50cf\u3092\u751f\u6210\u3057\u307e\u3059\u3002",
|
||||
"WGAN experiment with MNIST": "MNIST\u3068\u306eWGAN\u5b9f\u9a13"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"<h1>WGAN experiment with MNIST</h1>\n": "<h1>MNIST\u0dc3\u0db8\u0d9f WGAN \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8</h1>\n",
|
||||
"<p>Create configs object </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dc0\u0dc3\u0dca\u0dad\u0dd4\u0dc0 \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create experiment </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Import <a href=\"./index.html\">Wasserstein GAN losses</a> </p>\n": "<p>\u0d86\u0db1\u0dba\u0db1 <a href=\"./index.html\">\u0dc0\u0ddc\u0dc2\u0dbb\u0dca GAN \u0db4\u0dcf\u0da9\u0dd4</a> </p>\n",
|
||||
"<p>Import configurations from <a href=\"../dcgan/index.html\">DCGAN experiment</a> </p>\n": "<p><a href=\"../dcgan/index.html\">DCGAN \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8\u0dd9\u0db1\u0dca</a> \u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca \u0d86\u0db1\u0dba\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Override configurations </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca\u0d85\u0db7\u0dd2\u0db6\u0dc0\u0dcf \u0dba\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Set configurations options for Wasserstein GAN losses </p>\n": "<p>\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dcaGAN \u0db4\u0dcf\u0da9\u0dd4 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dda \u0dc0\u0dd2\u0d9a\u0dbd\u0dca\u0db4 \u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Start the experiment and run training loop </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0dbd\u0dd6\u0db4\u0dba \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"This experiment generates MNIST images using convolutional neural network.": "\u0db8\u0dd9\u0db8 \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0db8\u0d9c\u0dd2\u0db1\u0dca \u0dc3\u0d82\u0dc0\u0dc4\u0db1 \u0dc3\u0dca\u0db1\u0dcf\u0dba\u0dd4\u0d9a \u0da2\u0dcf\u0dbd\u0dba \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db8\u0dd2\u0db1\u0dca MNIST \u0dbb\u0dd6\u0db4 \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2.",
|
||||
"WGAN experiment with MNIST": "MNIST \u0dc3\u0db8\u0d9f WGAN \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"<h1>WGAN experiment with MNIST</h1>\n": "<h1>WGAN \u4f7f\u7528 MNIST \u8fdb\u884c\u5b9e\u9a8c</h1>\n",
|
||||
"<p>Create configs object </p>\n": "<p>\u521b\u5efa\u914d\u7f6e\u5bf9\u8c61</p>\n",
|
||||
"<p>Create experiment </p>\n": "<p>\u521b\u5efa\u5b9e\u9a8c</p>\n",
|
||||
"<p>Import <a href=\"./index.html\">Wasserstein GAN losses</a> </p>\n": "<p>\u8fdb\u53e3 <a href=\"./index.html\">Wasserstein GAN \u4e8f\u635f</a></p>\n",
|
||||
"<p>Import configurations from <a href=\"../dcgan/index.html\">DCGAN experiment</a> </p>\n": "<p>\u4ece <a href=\"../dcgan/index.html\">DCGAN \u5b9e\u9a8c</a>\u5bfc\u5165\u914d\u7f6e</p>\n",
|
||||
"<p>Override configurations </p>\n": "<p>\u8986\u76d6\u914d\u7f6e</p>\n",
|
||||
"<p>Set configurations options for Wasserstein GAN losses </p>\n": "<p>\u4e3a Wasserstein GAN \u635f\u8017\u8bbe\u7f6e\u914d\u7f6e\u9009\u9879</p>\n",
|
||||
"<p>Start the experiment and run training loop </p>\n": "<p>\u5f00\u59cb\u5b9e\u9a8c\u5e76\u8fd0\u884c\u8bad\u7ec3\u5faa\u73af</p>\n",
|
||||
"This experiment generates MNIST images using convolutional neural network.": "\u672c\u5b9e\u9a8c\u4f7f\u7528\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u751f\u6210 MNIST \u56fe\u50cf\u3002",
|
||||
"WGAN experiment with MNIST": "WGAN \u4f7f\u7528 MNIST \u8fdb\u884c\u5b9e\u9a8c"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"<h1>Gradient Penalty for Wasserstein GAN (WGAN-GP)</h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a>.</p>\n<p><a href=\"../index.html\">WGAN</a> suggests clipping weights to enforce Lipschitz constraint on the discriminator network (critic). This and other weight constraints like L2 norm clipping, weight normalization, L1, L2 weight decay have problems:</p>\n<p>1. Limiting the capacity of the discriminator 2. Exploding and vanishing gradients (without <a href=\"../../../normalization/batch_norm/index.html\">Batch Normalization</a>).</p>\n<p>The paper <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a> proposal a better way to improve Lipschitz constraint, a gradient penalty.</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p>where <span translate=no>_^_1_^_</span> is the penalty weight and</p>\n<span translate=no>_^_2_^_</span><p>That is we try to keep the gradient norm <span translate=no>_^_3_^_</span> close to <span translate=no>_^_4_^_</span>.</p>\n<p>In this implementation we set <span translate=no>_^_5_^_</span>.</p>\n<p>Here is the <a href=\"experiment.html\">code for an experiment</a> that uses gradient penalty.</p>\n": "<h1>\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3 GAN (WGAN-GP) \u306e\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3</h1>\n<p>\u3053\u308c\u306f\u3001<a href=\"https://arxiv.org/abs/1704.00028\">\u30f4\u30a1\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3GAN\u306e\u6539\u826f\u578b\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u5b9f\u88c5\u3067\u3059</a>\u3002</p>\n<p><a href=\"../index.html\">WGAN\u306f</a>\u3001\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u30ea\u30c3\u30d7\u30b7\u30c3\u30c4\u5236\u7d04\u3092\u9069\u7528\u3059\u308b\u305f\u3081\u306b\u30a6\u30a7\u30a4\u30c8\u3092\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3059\u308b\u3053\u3068\u3092\u63d0\u6848\u3057\u3066\u3044\u308b\uff08\u8a55\u8ad6\u5bb6\uff09\u3002\u3053\u308c\u306b\u52a0\u3048\u3066\u3001L2 \u30ce\u30eb\u30e0\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3001\u30a6\u30a7\u30a4\u30c8\u6b63\u898f\u5316\u3001L1\u3001L2 \u30a6\u30a7\u30a4\u30c8\u6e1b\u8870\u306a\u3069\u306e\u4ed6\u306e\u30a6\u30a7\u30a4\u30c8\u5236\u7d04\u306b\u306f\u554f\u984c\u304c\u3042\u308a\u307e\u3059</p>\u3002\n<p>1\u3002\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306e\u5bb9\u91cf\u5236\u9650 2.<a href=\"../../../normalization/batch_norm/index.html\">\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u304c\u7206\u767a\u3057\u305f\u308a\u6d88\u3048\u305f\u308a\u3059\u308b (\u30d0\u30c3\u30c1\u6b63\u898f\u5316\u306a\u3057)</a></p>\n<p>\u8ad6\u6587\u300c<a href=\"https://arxiv.org/abs/1704.00028\">Wasserstein GAN\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u6539\u5584</a>\u300d\u306f\u3001\u52fe\u914d\u30da\u30ca\u30eb\u30c6\u30a3\u3067\u3042\u308b\u30ea\u30c3\u30d7\u30b7\u30c3\u30c4\u5236\u7d04\u3092\u6539\u5584\u3059\u308b\u3088\u308a\u826f\u3044\u65b9\u6cd5\u3092\u63d0\u6848\u3057\u3066\u3044\u307e\u3059\u3002</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p><span translate=no>_^_1_^_</span>\u30da\u30ca\u30eb\u30c6\u30a3\u30a6\u30a7\u30a4\u30c8\u306f\u3069\u3053\u3067</p>\n<span translate=no>_^_2_^_</span><p>\u3064\u307e\u308a\u3001<span translate=no>_^_3_^_</span>\u52fe\u914d\u306e\u30ce\u30eb\u30e0\u3092\u8fd1\u304f\u306b\u4fdd\u3064\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002<span translate=no>_^_4_^_</span></p>\n<p><span translate=no>_^_5_^_</span>\u3053\u306e\u5b9f\u88c5\u3067\u306f\u8a2d\u5b9a\u3057\u307e\u3057\u305f\u3002</p>\n<p><a href=\"experiment.html\">\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u3092\u4f7f\u7528\u3059\u308b\u5b9f\u9a13\u306e\u30b3\u30fc\u30c9\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059</a>\u3002</p>\n",
|
||||
"<h2>Gradient Penalty</h2>\n": "<h2>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3</h2>\n",
|
||||
"<p>Calculate gradients of <span translate=no>_^_0_^_</span> with respect to <span translate=no>_^_1_^_</span>. <span translate=no>_^_2_^_</span> is set to ones since we want the gradients of <span translate=no>_^_3_^_</span>, and we need to create and retain graph since we have to compute gradients with respect to weight on this loss. </p>\n": "<p><span translate=no>_^_0_^_</span>\u3092\u57fa\u6e96\u3068\u3057\u305f\u52fe\u914d\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002<span translate=no>_^_1_^_</span><span translate=no>_^_2_^_</span>\u306e\u52fe\u914d\u3092\u6c42\u3081\u3066\u3044\u308b\u306e\u30671\u306b\u8a2d\u5b9a\u3057<span translate=no>_^_3_^_</span>\u3001\u3053\u306e\u640d\u5931\u306e\u91cd\u307f\u306b\u5bfe\u3059\u308b\u52fe\u914d\u3092\u8a08\u7b97\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u305f\u3081\u3001\u30b0\u30e9\u30d5\u3092\u4f5c\u6210\u3057\u3066\u4fdd\u6301\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059</p>\u3002\n",
|
||||
"<p>Calculate the norm <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30ce\u30eb\u30e0\u306e\u8a08\u7b97 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get batch size </p>\n": "<p>\u30d0\u30c3\u30c1\u30b5\u30a4\u30ba\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Reshape gradients to calculate the norm </p>\n": "<p>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u306e\u5f62\u3092\u5909\u3048\u3066\u30ce\u30eb\u30e0\u3092\u8a08\u7b97\u3057\u3088\u3046</p>\n",
|
||||
"<p>Return the loss <span translate=no>_^_0_^_</span> </p>\n": "<p>\u640d\u5931\u3092\u8fd4\u3059 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span></li></ul>\n<p><span translate=no>_^_4_^_</span> since we set <span translate=no>_^_5_^_</span> for this implementation.</p>\n": "<ul><li><span translate=no>_^_0_^_</span>\u306f <span translate=no>_^_1_^_</span></li>\n</ul><li><span translate=no>_^_2_^_</span>\u306f <span translate=no>_^_3_^_</span></li>\n<p><span translate=no>_^_4_^_</span><span translate=no>_^_5_^_</span>\u3053\u306e\u5b9f\u88c5\u306b\u7740\u624b\u3057\u305f\u304b\u3089\u3067\u3059\u3002</p>\n",
|
||||
"An annotated PyTorch implementation/tutorial of\n Improved Training of Wasserstein GANs.": "\u6ce8\u91c8\u4ed8\u304d\u306e PyTorch \u5b9f\u88c5/\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\n \u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3GAN\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u304c\u6539\u5584\u3055\u308c\u307e\u3057\u305f\u3002",
|
||||
"Gradient Penalty for Wasserstein GAN (WGAN-GP)": "\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3 GAN (WGAN-GP) \u306e\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"<h1>Gradient Penalty for Wasserstein GAN (WGAN-GP)</h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a>.</p>\n<p><a href=\"../index.html\">WGAN</a> suggests clipping weights to enforce Lipschitz constraint on the discriminator network (critic). This and other weight constraints like L2 norm clipping, weight normalization, L1, L2 weight decay have problems:</p>\n<p>1. Limiting the capacity of the discriminator 2. Exploding and vanishing gradients (without <a href=\"../../../normalization/batch_norm/index.html\">Batch Normalization</a>).</p>\n<p>The paper <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a> proposal a better way to improve Lipschitz constraint, a gradient penalty.</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p>where <span translate=no>_^_1_^_</span> is the penalty weight and</p>\n<span translate=no>_^_2_^_</span><p>That is we try to keep the gradient norm <span translate=no>_^_3_^_</span> close to <span translate=no>_^_4_^_</span>.</p>\n<p>In this implementation we set <span translate=no>_^_5_^_</span>.</p>\n<p>Here is the <a href=\"experiment.html\">code for an experiment</a> that uses gradient penalty.</p>\n": "<h1>Wasserstein GAN (WGAN-GP) \u7684\u68af\u5ea6\u60e9\u7f5a</h1>\n<p>\u8fd9\u662f <a href=\"https://arxiv.org/abs/1704.00028\">Wasserstein GAN \u6539\u8fdb\u8bad\u7ec3\u7684</a>\u5b9e\u73b0\u3002</p>\n<p><a href=\"../index.html\">WGAN</a> \u5efa\u8bae\u524a\u51cf\u6743\u91cd\u4ee5\u5bf9\u9274\u522b\u5668\u7f51\u7edc\u5f3a\u5236\u6267\u884c Lipschitz \u9650\u5236\uff08\u8bc4\u8bba\u5bb6\uff09\u3002\u8fd9\u4e2a\u548c\u5176\u4ed6\u6743\u91cd\u7ea6\u675f\uff0c\u5982L2\u6807\u51c6\u524a\u51cf\u3001\u6743\u91cd\u6807\u51c6\u5316\u3001L1\u3001L2\u6743\u91cd\u8870\u51cf\u90fd\u6709\u95ee\u9898\uff1a</p>\n<p>1.\u9650\u5236\u9274\u522b\u5668\u7684\u5bb9\u91cf 2.\u5206\u89e3\u548c\u6d88\u5931\u6e10\u53d8\uff08\u4e0d\u5e26<a href=\"../../../normalization/batch_norm/index.html\">\u6279\u91cf\u5f52\u4e00\u5316</a>\uff09\u3002</p>\n<p>\u8bba\u6587\u300a<a href=\"https://arxiv.org/abs/1704.00028\">\u6539\u8fdb\u4e86 Wasserstein GaN \u7684\u8bad\u7ec3\u300b</a>\u63d0\u51fa\u4e86\u6539\u8fdb Lipschitz \u7ea6\u675f\u7684\u66f4\u597d\u65b9\u6cd5\uff0c\u5373\u68af\u5ea6\u60e9\u7f5a\u3002</p>\n<p><span translate=no>_^_0_^_</span></p>\n<p>\u60e9\u7f5a\u91cd<span translate=no>_^_1_^_</span>\u91cf\u5728\u54ea\u91cc</p>\n<span translate=no>_^_2_^_</span><p>\u4e5f\u5c31\u662f\u8bf4\uff0c\u6211\u4eec\u5c3d\u91cf\u4fdd\u6301\u68af\u5ea6\u8303<span translate=no>_^_3_^_</span>\u6570\u63a5\u8fd1<span translate=no>_^_4_^_</span>\u3002</p>\n<p>\u5728\u8fd9\u4e2a\u5b9e\u73b0\u4e2d\uff0c\u6211\u4eec\u8bbe\u7f6e<span translate=no>_^_5_^_</span>\u3002</p>\n<p>\u4ee5\u4e0b\u662f\u4f7f\u7528\u68af\u5ea6\u60e9\u7f5a<a href=\"experiment.html\">\u7684\u5b9e\u9a8c\u7684\u4ee3\u7801</a>\u3002</p>\n",
|
||||
"<h2>Gradient Penalty</h2>\n": "<h2>\u68af\u5ea6\u60e9\u7f5a</h2>\n",
|
||||
"<p>Calculate gradients of <span translate=no>_^_0_^_</span> with respect to <span translate=no>_^_1_^_</span>. <span translate=no>_^_2_^_</span> is set to ones since we want the gradients of <span translate=no>_^_3_^_</span>, and we need to create and retain graph since we have to compute gradients with respect to weight on this loss. </p>\n": "<p>\u8ba1\u7b97<span translate=no>_^_0_^_</span>\u76f8\u5bf9\u4e8e\u7684\u68af\u5ea6<span translate=no>_^_1_^_</span>\u3002<span translate=no>_^_2_^_</span>\u8bbe\u7f6e\u4e3a 1\uff0c\u56e0\u4e3a\u6211\u4eec\u60f3\u8981\u68af\u5ea6<span translate=no>_^_3_^_</span>\uff0c\u6211\u4eec\u9700\u8981\u521b\u5efa\u548c\u4fdd\u7559\u56fe\u5f62\uff0c\u56e0\u4e3a\u6211\u4eec\u5fc5\u987b\u8ba1\u7b97\u76f8\u5bf9\u4e8e\u6b64\u635f\u5931\u7684\u6743\u91cd\u7684\u68af\u5ea6\u3002</p>\n",
|
||||
"<p>Calculate the norm <span translate=no>_^_0_^_</span> </p>\n": "<p>\u8ba1\u7b97\u5e38\u6570<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Get batch size </p>\n": "<p>\u83b7\u53d6\u6279\u6b21\u5927\u5c0f</p>\n",
|
||||
"<p>Reshape gradients to calculate the norm </p>\n": "<p>\u91cd\u5851\u68af\u5ea6\u4ee5\u8ba1\u7b97\u8303\u6570</p>\n",
|
||||
"<p>Return the loss <span translate=no>_^_0_^_</span> </p>\n": "<p>\u9000\u8fd8\u635f\u5931<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<ul><li><span translate=no>_^_0_^_</span> is <span translate=no>_^_1_^_</span> </li>\n<li><span translate=no>_^_2_^_</span> is <span translate=no>_^_3_^_</span></li></ul>\n<p><span translate=no>_^_4_^_</span> since we set <span translate=no>_^_5_^_</span> for this implementation.</p>\n": "<ul><li><span translate=no>_^_0_^_</span>\u662f<span translate=no>_^_1_^_</span></li>\n</ul><li><span translate=no>_^_2_^_</span>\u662f<span translate=no>_^_3_^_</span></li>\n<p><span translate=no>_^_4_^_</span>\u56e0\u4e3a\u6211\u4eec<span translate=no>_^_5_^_</span>\u4e3a\u8fd9\u4e2a\u5b9e\u73b0\u505a\u597d\u4e86\u51c6\u5907\u3002</p>\n",
|
||||
"An annotated PyTorch implementation/tutorial of\n Improved Training of Wasserstein GANs.": "\u5e26\u6ce8\u91ca\u7684 PyTorch \u5b9e\u73b0/\u6559\u7a0b\n \u6539\u8fdb\u4e86 Wasserstein GAN \u7684\u8bad\u7ec3\u3002",
|
||||
"Gradient Penalty for Wasserstein GAN (WGAN-GP)": "Wasserstein GAN (WGAN-GP) \u7684\u68af\u5ea6\u60e9\u7f5a"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"<h1>WGAN-GP experiment with MNIST</h1>\n": "<h1>MNIST\u3068\u306eWGAN-GP\u5b9f\u9a13</h1>\n",
|
||||
"<h2>Configuration class</h2>\n<p>We extend <a href=\"../../original/experiment.html\">original GAN implementation</a> and override the discriminator (critic) loss calculation to include gradient penalty.</p>\n": "<h2>\u8a2d\u5b9a\u30af\u30e9\u30b9</h2>\n<p><a href=\"../../original/experiment.html\">\u30aa\u30ea\u30b8\u30ca\u30eb\u306eGAN\u5b9f\u88c5\u3092\u62e1\u5f35\u3057</a>\u3001\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\uff08\u30af\u30ea\u30c6\u30a3\u30c3\u30af\uff09\u640d\u5931\u8a08\u7b97\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u52fe\u914d\u30da\u30ca\u30eb\u30c6\u30a3\u3092\u542b\u3081\u307e\u3057\u305f\u3002</p>\n",
|
||||
"<p> </p>\n": "<p></p>\n",
|
||||
"<p> This overrides the original discriminator loss calculation and includes gradient penalty.</p>\n": "<p>\u3053\u308c\u306f\u5143\u306e\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u640d\u5931\u8a08\u7b97\u3088\u308a\u3082\u512a\u5148\u3055\u308c\u3001\u52fe\u914d\u30da\u30ca\u30eb\u30c6\u30a3\u3082\u542b\u307e\u308c\u307e\u3059\u3002</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate gradient penalties in training mode </p>\n": "<p>\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30e2\u30fc\u30c9\u3067\u306e\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u306e\u8a08\u7b97</p>\n",
|
||||
"<p>Create configs object </p>\n": "<p>\u30b3\u30f3\u30d5\u30a3\u30b0\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210</p>\n",
|
||||
"<p>Create experiment </p>\n": "<p>\u5b9f\u9a13\u3092\u4f5c\u6210</p>\n",
|
||||
"<p>Get discriminator losses </p>\n": "<p>\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30ed\u30b9\u3092\u53d6\u5f97</p>\n",
|
||||
"<p>Gradient penalty coefficient <span translate=no>_^_0_^_</span> </p>\n": "<p>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u4fc2\u6570 <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Import configurations from <a href=\"../experiment.html\">Wasserstein experiment</a> </p>\n": "<p><a href=\"../experiment.html\">\u30ef\u30c3\u30b5\u30fc\u30b7\u30e5\u30bf\u30a4\u30f3\u306e\u5b9f\u9a13\u304b\u3089\u69cb\u6210\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b</a></p>\n",
|
||||
"<p>Log stuff </p>\n": "<p>\u30ed\u30b0\u306e\u3082\u306e</p>\n",
|
||||
"<p>Override configurations </p>\n": "<p>\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u8a2d\u5b9a</p>\n",
|
||||
"<p>Require gradients on <span translate=no>_^_0_^_</span> to calculate gradient penalty </p>\n": "<p><span translate=no>_^_0_^_</span>\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u3092\u8a08\u7b97\u3059\u308b\u306b\u306f\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u30aa\u30f3\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059</p>\n",
|
||||
"<p>Sample <span translate=no>_^_0_^_</span> </p>\n": "<p>[\u30b5\u30f3\u30d7\u30eb] <span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Skip gradient penalty otherwise </p>\n": "<p>\u305d\u308c\u4ee5\u5916\u306e\u5834\u5408\u306f\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3\u3092\u30b9\u30ad\u30c3\u30d7</p>\n",
|
||||
"<p>Start the experiment and run training loop </p>\n": "<p>\u5b9f\u9a13\u3092\u958b\u59cb\u3057\u3066\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u30eb\u30fc\u30d7\u3092\u5b9f\u884c\u3059\u308b</p>\n",
|
||||
"This experiment generates MNIST images using convolutional neural network.": "\u3053\u306e\u5b9f\u9a13\u3067\u306f\u3001\u7573\u307f\u8fbc\u307f\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4f7f\u7528\u3057\u3066 MNIST \u753b\u50cf\u3092\u751f\u6210\u3057\u307e\u3059\u3002",
|
||||
"WGAN-GP experiment with MNIST": "MNIST\u3068\u306eWGAN-GP\u5b9f\u9a13"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"<h1>WGAN-GP experiment with MNIST</h1>\n": "<h1>MNIST\u0dc3\u0db8\u0d9f WGAN-GP \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8</h1>\n",
|
||||
"<h2>Configuration class</h2>\n<p>We extend <a href=\"../../original/experiment.html\">original GAN implementation</a> and override the discriminator (critic) loss calculation to include gradient penalty.</p>\n": "<h2>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0db4\u0db1\u0dca\u0dad\u0dd2\u0dba</h2>\n<p>\u0d85\u0db4\u0dd2 <a href=\"../../original/experiment.html\">\u0db8\u0dd4\u0dbd\u0dca GAN \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8</a> \u0daf\u0dd3\u0dbb\u0dca extend \u0d9a\u0dbb \u0dc0\u0dbb\u0dca\u0d9c\u0dd3\u0d9a\u0dbb\u0dab \u0daf penalty \u0dd4\u0dc0\u0db8 \u0d87\u0dad\u0dd4\u0dc5\u0dad\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf (\u0dc0\u0dd2\u0da0\u0dcf\u0dbb\u0d9a) \u0db4\u0dcf\u0da9\u0dd4 \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0d85\u0db7\u0dd2\u0db6\u0dc0\u0dcf \u0dba\u0db8\u0dd4. </p>\n",
|
||||
"<p> </p>\n": "<p> </p>\n",
|
||||
"<p> This overrides the original discriminator loss calculation and includes gradient penalty.</p>\n": "<p> \u0db8\u0dd9\u0dba\u0db8\u0dd4\u0dbd\u0dca \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda \u0d85\u0dbd\u0dcf\u0db7\u0dba \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0d85\u0db7\u0dd2\u0db6\u0dc0\u0dcf \u0dba\u0db1 \u0d85\u0dad\u0dbb \u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda \u0daf penalty \u0dd4\u0dc0\u0db8\u0dca \u0daf \u0d87\u0dad\u0dd4\u0dc5\u0dad\u0dca \u0dc0\u0dda. </p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Calculate gradient penalties in training mode </p>\n": "<p>\u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0db4\u0dca\u0dbb\u0d9a\u0dcf\u0dbb\u0dba\u0dda\u0daf\u0dd3 \u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda \u0daf ties \u0dd4\u0dc0\u0db8\u0dca \u0d9c\u0dab\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create configs object </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dc0\u0dc3\u0dca\u0dad\u0dd4\u0dc0 \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Create experiment </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0dc3\u0dcf\u0daf\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Get discriminator losses </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda \u0db4\u0dcf\u0da9\u0dd4 \u0dbd\u0db6\u0dcf \u0d9c\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Gradient penalty coefficient <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda\u0daf\u0dab\u0dca\u0da9\u0db1 \u0dc3\u0d82\u0d9c\u0dd4\u0dab\u0d9a\u0dba <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Import configurations from <a href=\"../experiment.html\">Wasserstein experiment</a> </p>\n": "<p><a href=\"../experiment.html\">\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8\u0dd9\u0db1\u0dca</a> \u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca \u0d86\u0db1\u0dba\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Log stuff </p>\n": "<p>\u0dbd\u0ddc\u0d9c\u0dca\u0daf\u0dda\u0dc0\u0dbd\u0dca </p>\n",
|
||||
"<p>Override configurations </p>\n": "<p>\u0dc0\u0dd2\u0db1\u0dca\u0dba\u0dcf\u0dc3\u0dba\u0db1\u0dca\u0d85\u0db7\u0dd2\u0db6\u0dc0\u0dcf \u0dba\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Require gradients on <span translate=no>_^_0_^_</span> to calculate gradient penalty </p>\n": "<p>\u0db5\u0dbd\u0dba\u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0daf\u0dac\u0dd4\u0dc0\u0db8 \u0d9c\u0dab\u0db1\u0dba <span translate=no>_^_0_^_</span> \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0da7 \u0db8\u0dad \u0db5\u0dbd\u0dba \u0d85\u0db1\u0dd4\u0d9a\u0dca\u0dbb\u0db8\u0dd2\u0d9a \u0d85\u0dc0\u0dc1\u0dca\u0dba </p>\n",
|
||||
"<p>Sample <span translate=no>_^_0_^_</span> </p>\n": "<p>\u0db1\u0dd2\u0dba\u0dd0\u0daf\u0dd2\u0dba <span translate=no>_^_0_^_</span> </p>\n",
|
||||
"<p>Skip gradient penalty otherwise </p>\n": "<p>\u0dc0\u0dd9\u0db1\u0dad\u0dca\u0d86\u0d9a\u0dcf\u0dbb\u0dba\u0d9a\u0dd2\u0db1\u0dca \u0dc1\u0dca\u0dbb\u0dda\u0dab\u0dd2\u0dba\u0dda \u0daf penalty \u0dd4\u0dc0\u0db8 \u0db8\u0d9f \u0dc4\u0dbb\u0dd2\u0db1\u0dca\u0db1 </p>\n",
|
||||
"<p>Start the experiment and run training loop </p>\n": "<p>\u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf\u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0d86\u0dbb\u0db8\u0dca\u0db7 \u0d9a\u0dbb \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4 \u0dbd\u0dd6\u0db4\u0dba \u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dbb\u0db1\u0dca\u0db1 </p>\n",
|
||||
"This experiment generates MNIST images using convolutional neural network.": "\u0db8\u0dd9\u0db8 \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8 \u0db8\u0d9c\u0dd2\u0db1\u0dca \u0dc3\u0d82\u0dc0\u0dc4\u0db1 \u0dc3\u0dca\u0db1\u0dcf\u0dba\u0dd4\u0d9a \u0da2\u0dcf\u0dbd\u0dba \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db8\u0dd2\u0db1\u0dca MNIST \u0dbb\u0dd6\u0db4 \u0da2\u0db1\u0db1\u0dba \u0d9a\u0dbb\u0dba\u0dd2.",
|
||||
"WGAN-GP experiment with MNIST": "MNIST \u0dc3\u0db8\u0d9f WGAN-GP \u0d85\u0dad\u0dca\u0dc4\u0daf\u0dcf \u0db6\u0dd0\u0dbd\u0dd3\u0db8"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"<h1>WGAN-GP experiment with MNIST</h1>\n": "<h1>WGAN-GP \u4f7f\u7528 MNIST \u8fdb\u884c\u5b9e\u9a8c</h1>\n",
|
||||
"<h2>Configuration class</h2>\n<p>We extend <a href=\"../../original/experiment.html\">original GAN implementation</a> and override the discriminator (critic) loss calculation to include gradient penalty.</p>\n": "<h2>\u914d\u7f6e\u7c7b</h2>\n<p>\u6211\u4eec\u6269\u5c55\u4e86<a href=\"../../original/experiment.html\">\u6700\u521d\u7684 GAN \u5b9e\u73b0</a>\uff0c\u5e76\u8986\u76d6\u4e86\u9274\u522b\u5668\uff08\u6279\u8bc4\u8005\uff09\u635f\u5931\u8ba1\u7b97\uff0c\u4ee5\u5305\u62ec\u68af\u5ea6\u60e9\u7f5a\u3002</p>\n",
|
||||
"<p> </p>\n": "<p></p>\n",
|
||||
"<p> This overrides the original discriminator loss calculation and includes gradient penalty.</p>\n": "<p>\u8fd9\u4f1a\u8986\u76d6\u6700\u521d\u7684\u9274\u522b\u5668\u635f\u8017\u8ba1\u7b97\uff0c\u5e76\u5305\u62ec\u68af\u5ea6\u60e9\u7f5a\u3002</p>\n",
|
||||
"<p><span translate=no>_^_0_^_</span> </p>\n": "<p><span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Calculate gradient penalties in training mode </p>\n": "<p>\u8ba1\u7b97\u8bad\u7ec3\u6a21\u5f0f\u4e2d\u7684\u68af\u5ea6\u60e9\u7f5a</p>\n",
|
||||
"<p>Create configs object </p>\n": "<p>\u521b\u5efa\u914d\u7f6e\u5bf9\u8c61</p>\n",
|
||||
"<p>Create experiment </p>\n": "<p>\u521b\u5efa\u5b9e\u9a8c</p>\n",
|
||||
"<p>Get discriminator losses </p>\n": "<p>\u83b7\u5f97\u9274\u522b\u5668\u635f\u5931</p>\n",
|
||||
"<p>Gradient penalty coefficient <span translate=no>_^_0_^_</span> </p>\n": "<p>\u68af\u5ea6\u60e9\u7f5a\u7cfb\u6570<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Import configurations from <a href=\"../experiment.html\">Wasserstein experiment</a> </p>\n": "<p>\u4ece <a href=\"../experiment.html\">Wasserstein \u5b9e\u9a8c</a>\u5bfc\u5165\u914d\u7f6e</p>\n",
|
||||
"<p>Log stuff </p>\n": "<p>\u65e5\u5fd7\u7684\u4e1c\u897f</p>\n",
|
||||
"<p>Override configurations </p>\n": "<p>\u8986\u76d6\u914d\u7f6e</p>\n",
|
||||
"<p>Require gradients on <span translate=no>_^_0_^_</span> to calculate gradient penalty </p>\n": "<p>\u9700\u8981\u5f00\u542f\u68af\u5ea6<span translate=no>_^_0_^_</span>\u624d\u80fd\u8ba1\u7b97\u68af\u5ea6\u635f\u5931</p>\n",
|
||||
"<p>Sample <span translate=no>_^_0_^_</span> </p>\n": "<p>\u6837\u672c<span translate=no>_^_0_^_</span></p>\n",
|
||||
"<p>Skip gradient penalty otherwise </p>\n": "<p>\u5426\u5219\u8df3\u8fc7\u68af\u5ea6\u60e9\u7f5a</p>\n",
|
||||
"<p>Start the experiment and run training loop </p>\n": "<p>\u5f00\u59cb\u5b9e\u9a8c\u5e76\u8fd0\u884c\u8bad\u7ec3\u5faa\u73af</p>\n",
|
||||
"This experiment generates MNIST images using convolutional neural network.": "\u672c\u5b9e\u9a8c\u4f7f\u7528\u5377\u79ef\u795e\u7ecf\u7f51\u7edc\u751f\u6210 MNIST \u56fe\u50cf\u3002",
|
||||
"WGAN-GP experiment with MNIST": "WGAN-GP \u4f7f\u7528 MNIST \u8fdb\u884c\u5b9e\u9a8c"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/wasserstein/gradient_penalty/index.html\">Gradient Penalty for Wasserstein GAN (WGAN-GP)</a></h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a>.</p>\n<p><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">WGAN</a> suggests clipping weights to enforce Lipschitz constraint on the discriminator network (critic). This and other weight constraints like L2 norm clipping, weight normalization, L1, L2 weight decay have problems:</p>\n<p>1. Limiting the capacity of the discriminator 2. Exploding and vanishing gradients (without <a href=\"https://nn.labml.ai/normalization/batch_norm/index.html\">Batch Normalization</a>).</p>\n<p>The paper <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a> proposal a better way to improve Lipschitz constraint, a gradient penalty. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/wasserstein/gradient_penalty/index.html\">\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3 GAN (WGAN-GP) \u306e\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3</a></h1>\n<p>\u3053\u308c\u306f\u3001<a href=\"https://arxiv.org/abs/1704.00028\">\u30f4\u30a1\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3GAN\u306e\u6539\u826f\u578b\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u5b9f\u88c5\u3067\u3059</a>\u3002</p>\n<p><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">WGAN\u306f</a>\u3001\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u30fb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u30ea\u30c3\u30d7\u30b7\u30c3\u30c4\u5236\u7d04\u3092\u9069\u7528\u3059\u308b\u305f\u3081\u306b\u30a6\u30a7\u30a4\u30c8\u3092\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3059\u308b\u3053\u3068\u3092\u63d0\u6848\u3057\u3066\u3044\u308b\uff08\u8a55\u8ad6\u5bb6\uff09\u3002\u3053\u308c\u306b\u52a0\u3048\u3066\u3001L2 \u30ce\u30eb\u30e0\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3001\u30a6\u30a7\u30a4\u30c8\u6b63\u898f\u5316\u3001L1\u3001L2 \u30a6\u30a7\u30a4\u30c8\u6e1b\u8870\u306a\u3069\u306e\u4ed6\u306e\u30a6\u30a7\u30a4\u30c8\u5236\u7d04\u306b\u306f\u554f\u984c\u304c\u3042\u308a\u307e\u3059</p>\u3002\n<p>1\u3002\u30c7\u30a3\u30b9\u30af\u30ea\u30df\u30cd\u30fc\u30bf\u30fc\u306e\u5bb9\u91cf\u5236\u9650 2.<a href=\"https://nn.labml.ai/normalization/batch_norm/index.html\">\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u304c\u7206\u767a\u3057\u305f\u308a\u6d88\u3048\u305f\u308a\u3059\u308b (\u30d0\u30c3\u30c1\u6b63\u898f\u5316\u306a\u3057)</a></p>\n<p>\u8ad6\u6587\u300c<a href=\"https://arxiv.org/abs/1704.00028\">Wasserstein GAN\u306e\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u306e\u6539\u5584</a>\u300d\u306f\u3001\u52fe\u914d\u30da\u30ca\u30eb\u30c6\u30a3\u3067\u3042\u308b\u30ea\u30c3\u30d7\u30b7\u30c3\u30c4\u5236\u7d04\u3092\u6539\u5584\u3059\u308b\u3088\u308a\u826f\u3044\u65b9\u6cd5\u3092\u63d0\u6848\u3057\u3066\u3044\u307e\u3059\u3002</p>\n",
|
||||
"Gradient Penalty for Wasserstein GAN (WGAN-GP)": "\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3 GAN (WGAN-GP) \u306e\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30da\u30ca\u30eb\u30c6\u30a3"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/wasserstein/gradient_penalty/index.html\">Gradient Penalty for Wasserstein GAN (WGAN-GP)</a></h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a>.</p>\n<p><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">WGAN</a> suggests clipping weights to enforce Lipschitz constraint on the discriminator network (critic). This and other weight constraints like L2 norm clipping, weight normalization, L1, L2 weight decay have problems:</p>\n<p>1. Limiting the capacity of the discriminator 2. Exploding and vanishing gradients (without <a href=\"https://nn.labml.ai/normalization/batch_norm/index.html\">Batch Normalization</a>).</p>\n<p>The paper <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a> proposal a better way to improve Lipschitz constraint, a gradient penalty. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/wasserstein/gradient_penalty/index.html\">\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca GAN (WGAN-GP) \u0dc3\u0db3\u0dc4\u0dcf \u0d9c\u0dca\u0dbb\u0dda\u0da9\u0dd2\u0dba\u0db1\u0dca\u0da7\u0dca \u0daf penalty \u0dd4\u0dc0\u0db8</a></h1>\n<p>\u0db8\u0dd9\u0dba <a href=\"https://arxiv.org/abs/1704.00028\">\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca GANs \u0dc0\u0dd0\u0da9\u0dd2\u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dc5 \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0</a>\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dba\u0dd2. </p>\n<p>\u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0ddc\u0da7 \u0dc3\u0dd0\u0dbd\u0d9a\u0dd3\u0db8\u0dda \u0da2\u0dcf\u0dbd\u0dba\u0dda (\u0dc0\u0dd2\u0da0\u0dcf\u0dbb\u0d9a)<a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">\u0dbd\u0dd2\u0db4\u0dca\u0dc3\u0dca\u0da0\u0dd2\u0da7\u0dca\u0dc3\u0dca \u0d85\u0dc0\u0dc4\u0dd2\u0dbb\u0dad\u0dcf \u0db6\u0dbd\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf WGAN</a> \u0dc0\u0dd2\u0dc3\u0dd2\u0db1\u0dca \u0d9a\u0dca\u0dbd\u0dd2\u0db4\u0dd2\u0db1\u0dca \u0db6\u0dbb \u0dba\u0ddd\u0da2\u0db1\u0dcf \u0d9a\u0dbb\u0dba\u0dd2. \u0db8\u0dd9\u0dba \u0dc3\u0dc4 L2 \u0dc3\u0db8\u0dca\u0db8\u0dad \u0d9a\u0dca\u0dbd\u0dd2\u0db4\u0dd2\u0db1\u0dca \u0d9a\u0dd2\u0dbb\u0dd3\u0db8, \u0db6\u0dbb \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba \u0d9a\u0dd2\u0dbb\u0dd3\u0db8, L1, L2 \u0db6\u0dbb \u0d9a\u0dca\u0dc2\u0dba \u0dc0\u0dd3\u0db8 \u0dc0\u0dd0\u0db1\u0dd2 \u0dc0\u0dd9\u0db1\u0dad\u0dca \u0db6\u0dbb \u0db6\u0dcf\u0db0\u0d9a \u0d9c\u0dd0\u0da7\u0dc5\u0dd4 \u0d87\u0dad:</p>\n<p>1. \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0db8\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1\u0dcf\u0d9c\u0dda \u0db0\u0dcf\u0dbb\u0dd2\u0dad\u0dcf\u0dc0 \u0dc3\u0dd3\u0db8\u0dcf \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 2. \u0db4\u0dd4\u0db4\u0dd4\u0dbb\u0dcf \u0dba\u0dcf\u0db8 \u0dc3\u0dc4 \u0d85\u0dad\u0dd4\u0dbb\u0dd4\u0daf\u0dc4\u0db1\u0dca \u0dc0\u0dd3\u0db8 ( <a href=\"https://nn.labml.ai/normalization/batch_norm/index.html\">\u0d9a\u0dab\u0dca\u0da9\u0dcf\u0dba\u0db8\u0dca \u0dc3\u0dcf\u0db8\u0dcf\u0db1\u0dca\u0dba\u0d9a\u0dbb\u0dab\u0dba</a>\u0db1\u0ddc\u0db8\u0dd0\u0dad\u0dd2\u0dc0). </p>\n<p>\u0d9a\u0da9\u0daf\u0dcf\u0dc3\u0dd2 <a href=\"https://arxiv.org/abs/1704.00028\">\u0dc0\u0dd0\u0da9\u0dd2\u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dbb\u0db1 \u0dbd\u0daf \u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca GANS \u0db4\u0dd4\u0dc4\u0dd4\u0dab\u0dd4\u0dc0</a> Lipschitz \u0d85\u0dc0\u0dc4\u0dd2\u0dbb\u0dad\u0dcf \u0dc0\u0dd0\u0da9\u0dd2 \u0daf\u0dd2\u0dba\u0dd4\u0dab\u0dd4 \u0d9a\u0dd2\u0dbb\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf \u0dc0\u0da9\u0dcf \u0dc4\u0ddc\u0db3 \u0d9a\u0dca\u0dbb\u0db8\u0dba\u0d9a\u0dca \u0dba\u0ddd\u0da2\u0db1\u0dcf \u0d9a\u0dbb\u0dba\u0dd2. </p>\n",
|
||||
"Gradient Penalty for Wasserstein GAN (WGAN-GP)": "\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca GAN (WGAN-GP) \u0dc3\u0db3\u0dc4\u0dcf \u0d9c\u0dca\u0dbb\u0dda\u0da9\u0dd2\u0dba\u0db1\u0dca\u0da7\u0dca \u0daf penalty \u0dd4\u0dc0\u0db8"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/wasserstein/gradient_penalty/index.html\">Gradient Penalty for Wasserstein GAN (WGAN-GP)</a></h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a>.</p>\n<p><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">WGAN</a> suggests clipping weights to enforce Lipschitz constraint on the discriminator network (critic). This and other weight constraints like L2 norm clipping, weight normalization, L1, L2 weight decay have problems:</p>\n<p>1. Limiting the capacity of the discriminator 2. Exploding and vanishing gradients (without <a href=\"https://nn.labml.ai/normalization/batch_norm/index.html\">Batch Normalization</a>).</p>\n<p>The paper <a href=\"https://arxiv.org/abs/1704.00028\">Improved Training of Wasserstein GANs</a> proposal a better way to improve Lipschitz constraint, a gradient penalty. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/wasserstein/gradient_penalty/index.html\">Wasserstein GAN (WGAN-GP) \u7684\u68af\u5ea6\u60e9\u7f5a</a></h1>\n<p>\u8fd9\u662f <a href=\"https://arxiv.org/abs/1704.00028\">Wasserstein GAN \u6539\u8fdb\u8bad\u7ec3\u7684</a>\u5b9e\u73b0\u3002</p>\n<p><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">WGAN</a> \u5efa\u8bae\u524a\u51cf\u6743\u91cd\u4ee5\u5bf9\u9274\u522b\u5668\u7f51\u7edc\u5f3a\u5236\u6267\u884c Lipschitz \u9650\u5236\uff08\u8bc4\u8bba\u5bb6\uff09\u3002\u8fd9\u4e2a\u548c\u5176\u4ed6\u6743\u91cd\u7ea6\u675f\uff0c\u5982L2\u6807\u51c6\u524a\u51cf\u3001\u6743\u91cd\u6807\u51c6\u5316\u3001L1\u3001L2\u6743\u91cd\u8870\u51cf\u90fd\u6709\u95ee\u9898\uff1a</p>\n<p>1.\u9650\u5236\u9274\u522b\u5668\u7684\u5bb9\u91cf 2.\u5206\u89e3\u548c\u6d88\u5931\u6e10\u53d8\uff08\u4e0d\u5e26<a href=\"https://nn.labml.ai/normalization/batch_norm/index.html\">\u6279\u91cf\u5f52\u4e00\u5316</a>\uff09\u3002</p>\n<p>\u8bba\u6587\u300a<a href=\"https://arxiv.org/abs/1704.00028\">\u6539\u8fdb\u4e86 Wasserstein GaN \u7684\u8bad\u7ec3\u300b</a>\u63d0\u51fa\u4e86\u6539\u8fdb Lipschitz \u7ea6\u675f\u7684\u66f4\u597d\u65b9\u6cd5\uff0c\u5373\u68af\u5ea6\u60e9\u7f5a\u3002</p>\n",
|
||||
"Gradient Penalty for Wasserstein GAN (WGAN-GP)": "Wasserstein GAN (WGAN-GP) \u7684\u68af\u5ea6\u60e9\u7f5a"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">Wasserstein GAN - WGAN</a></h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1701.07875\">Wasserstein GAN</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3 GAN-WGAN</a></h1>\n<p><a href=\"https://arxiv.org/abs/1701.07875\">\u3053\u308c\u306f\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3</a> GAN \u306e\u5b9f\u88c5\u3067\u3059\u3002</p>\n",
|
||||
"Wasserstein GAN - WGAN": "\u30ef\u30c3\u30b5\u30fc\u30b9\u30bf\u30a4\u30f3 GAN-WGAN"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">Wasserstein GAN - WGAN</a></h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1701.07875\">Wasserstein GAN</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca GAN - WGAN</a></h1>\n<p>\u0db8\u0dd9\u0dba <a href=\"https://arxiv.org/abs/1701.07875\">\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca GAN</a>\u0d9a\u0dca\u0dbb\u0dd2\u0dba\u0dcf\u0dad\u0dca\u0db8\u0d9a \u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dba\u0dd2. </p>\n",
|
||||
"Wasserstein GAN - WGAN": "\u0dc0\u0ddc\u0dc3\u0dbb\u0dca\u0dc3\u0dca\u0da7\u0dba\u0dd2\u0db1\u0dca GAN - WGAN"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"<h1><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">Wasserstein GAN - WGAN</a></h1>\n<p>This is an implementation of <a href=\"https://arxiv.org/abs/1701.07875\">Wasserstein GAN</a>. </p>\n": "<h1><a href=\"https://nn.labml.ai/gan/wasserstein/index.html\">Wasserstein GAN-WGAN</a></h1>\n<p>\u8fd9\u662f <a href=\"https://arxiv.org/abs/1701.07875\">Wasserstein GAN</a> \u7684\u5b9e\u73b0\u3002</p>\n",
|
||||
"Wasserstein GAN - WGAN": "Wasserstein GAN-WGAN"
|
||||
}
|
||||
Reference in New Issue
Block a user