我正在学习 StyleGAN 架构,我对映射网络的目的感到困惑。在原始论文中它说:
我们的映射网络由 8 个全连接层组成,所有输入和输出激活(包括 z 和 w)的维数为 512。
并且没有关于这个网络以任何方式被训练的信息。
就像,它不会产生一些无意义的价值吗?
我试过创建一个这样的网络(但形状更小(16,)
):
import tensorflow as tf
import numpy as np
model = tf.keras.models.Sequential()
model.add(tf.keras.Input(shape=(16)))
for i in range(7):
model.add(tf.keras.layers.Dense(16, activation='relu'))
model.compile()
然后根据一些随机值对其进行评估:
g = tf.random.Generator.from_seed(34)
model(
g.normal(shape=(16, 16))
)
我得到一些随机输出,例如:
array([[0. , 0.01045225, 0. , 0. , 0.02217731,
0.00940356, 0.02321716, 0.00556996, 0. , 0. ,
0. , 0.03117323, 0. , 0. , 0.00734158,
0. ],
[0.03159791, 0.05680077, 0. , 0. , 0. ,
0. , 0.05907414, 0. , 0. , 0. ,
0. , 0. , 0.03110216, 0.04647615, 0. ,
0.04566741],
.
. # More similar vectors goes there
.
[0. , 0.01229661, 0.00056016, 0. , 0.03534952,
0.02654905, 0.03212402, 0. , 0. , 0. ,
0. , 0.0913604 , 0. , 0. , 0. ,
0. ]], dtype=float32)>
我错过了什么?网上有没有关于训练Mapping Network的资料?有什么数学解释吗?真的很困惑:(