提交 435f23fc 编写于 作者: W wizardforcel

2021-01-02 15:44:17

上级 6052ed1d
......@@ -690,9 +690,9 @@ StackedGAN 的详细网络模型可以在“图 6.2.2”中看到。 为简洁
![](img/B14853_06_09.png)
图 6.2.2:StackedGAN 包含编码器和 GAN 的堆栈。 对编码器进行预训练以执行分类。 `Generator[1]``G[1]`学会合成`f`<sub>1f</sub> 功能 假标签`y`<sub>f,</sub>和潜在代码`z`<sub>1f</sub>`Generator[0]``G[0]`均使用这两个伪特征`f`<sub>1f 生成伪图像</sub> 和潜在代码`z`<sub>0f</sub>
图 6.2.2:StackedGAN 包含编码器和 GAN 的堆栈。 对编码器进行预训练以执行分类。 `Generator[1]``G[1]`学会合成`f[1f]`功能 假标签`y[f]`和潜在代码`z[1f]``Generator[0]``G[0]`均使用这两个伪特征`f[1f]`生成伪图像和潜在代码`z[0f]`
StackedGAN 以*编码器*开头。 它可能是训练有素的分类器,可以预测正确的标签。 可以将中间特征向量`f`<sub>1r</sub> 用于 GAN 训练。 对于 MNIST,我们可以使用基于 CNN 的分类器,类似于在“第 1 章”, *Keras 引入高级深度学习*中讨论的分类器。
StackedGAN 以*编码器*开头。 它可能是训练有素的分类器,可以预测正确的标签。 可以将中间特征向量`f[1r]`用于 GAN 训练。 对于 MNIST,我们可以使用基于 CNN 的分类器,类似于在“第 1 章”,“Keras 高级深度学习”中讨论的分类器。
“图 6.2.3”显示了*编码器*及其在`tf.keras`中的网络模型实现:
......@@ -766,7 +766,7 @@ def build_encoder(inputs, num_labels=10, feature1_dim=256):
return enc0, enc1
```
`Encoder[0]`输出`f[1r]`是我们想要的`256`维特征向量*生成器* 1 学习合成。 可以将用作`Encoder[0]``E[0]`的辅助输出。 训练整个*编码器*以对 MNIST 数字进行分类,即`x[r]`。 正确的标签*和* <sub>r</sub> <sub></sub>`Encoder[1]``E[1]`。 在此过程中,学习了的中间特征集`f[1r]`,可用于`Generator[0]`训练。 当针对该编码器训练 GAN 时,下标`r`用于强调和区分真实数据与伪数据。
`Encoder[0]`输出`f[1r]`是我们想要的`256`维特征向量*生成器* 1 学习合成。 可以将用作`Encoder[0]``E[0]`的辅助输出。 训练整个*编码器*以对 MNIST 数字进行分类,即`x[r]`。 正确的标签`y[r]``Encoder[1]``E[1]`。 在此过程中,学习了的中间特征集`f[1r]`,可用于`Generator[0]`训练。 当针对该编码器训练 GAN 时,下标`r`用于强调和区分真实数据与伪数据。
假设*编码器*输入(`x[r]`)中间特征(`f[1r]`)和标签(`y[r]`),每个 GAN 都采用通常的区分-对抗方式进行训练。 损耗函数由“表 6.2.1”中的“公式 6.2.1”至“公式 6.2.5”给出。“公式 6.2.1”和“公式 6.2.2”是通用 GAN 的常见损耗函数。 StackedGAN 具有两个附加损失函数,即**有条件****熵**
......@@ -784,7 +784,7 @@ def build_encoder(inputs, num_labels=10, feature1_dim=256):
图 6.2.4:图 6.2.3 的简化版本,仅显示![](img/B14853_06_040.png)计算中涉及的网络元素
但是,条件损失函数引入了一个新问题。 发生器忽略输入噪声代码`z[i]`,仅依赖`f`<sub>i + 1</sub> 。 熵损失函数“公式 6.2.4”中的![](img/B14853_06_041.png)确保发生器不会忽略噪声代码`z[i]`* Q 网络*从发生器的输出中恢复噪声代码。 恢复的噪声和输入噪声之间的差异也通过 *L2* 或欧几里德距离(MSE)进行测量。
但是,条件损失函数引入了一个新问题。 发生器忽略输入噪声代码`z[i]`,仅依赖`f[i + 1]`。 熵损失函数“公式 6.2.4”中的![](img/B14853_06_041.png)确保发生器不会忽略噪声代码`z[i]`* Q 网络*从发生器的输出中恢复噪声代码。 恢复的噪声和输入噪声之间的差异也通过`L2`或欧几里德距离(MSE)进行测量。
“图 6.2.5”显示了![](img/B14853_06_042.png)计算中涉及的网络元素:
......@@ -806,7 +806,7 @@ def build_encoder(inputs, num_labels=10, feature1_dim=256):
图 6.2.7:Keras 中的 StackedGAN 生成器模型
“列表 6.2.2”说明了构建与 *Generator* <sub>0</sub>*Generator* 相对应的两个生成器(`gen0``gen1`)的函数。 <sub>1</sub>`gen1`发生器由三层`Dense`层组成,标签为和噪声代码`z[1]`<sub>f</sub> 作为输入。 第三层生成伪造的`f[1]`<sub>f</sub> 特征。 `gen0`生成器类似于我们介绍的其他 GAN 生成器,可以使用`gan.py`中的生成器生成器实例化:
“列表 6.2.2”说明了构建与`Generator[0]``Generator[1]`相对应的两个生成器(`gen0``gen1`)的函数。 `gen1`发生器由三层`Dense`层组成,标签为和噪声代码`z[1f]`作为输入。 第三层生成伪造的`f[1f]`特征。 `gen0`生成器类似于我们介绍的其他 GAN 生成器,可以使用`gan.py`中的生成器生成器实例化:
```py
# gen0: feature1 + z0 to feature0 (image)
......
......@@ -37,11 +37,11 @@
贝叶斯深度学习将预测与不确定性信息相关联。 让我们看看它是如何工作的。
在我们的常规深度学习模型中,包括权重 *`w`* 和偏差 *`b`* 的参数是通过**最大似然估计**优化的 (**MLE**):
在我们的常规深度学习模型中,包括权重`w`和偏差`b`的参数是通过**最大似然估计**优化的 (**MLE**):
*w = argma`x[w]`logP(x,y | w)*
`w = argmax[w] logP(x, y | w)`
训练模型后,参数的每个系数(例如![](img/70cea0c9-e117-425b-b461-abf4d08ab1d1.png))都是标量,例如 *w <sub> 1 </sub> = 1**w <sub> 2 </sub> = 3*
训练模型后,参数的每个系数(例如![](img/70cea0c9-e117-425b-b461-abf4d08ab1d1.png))都是标量,例如`w[1] = 1``w[2] = 3`
相反,在贝叶斯学习中,每个系数都与一个分布相关联。 例如,它们可以处于高斯分布![](img/116b4a14-a219-493f-9d5d-b7991e04a81e.png),如下图所示:
......
......@@ -46,7 +46,7 @@ LBP 模式生成的主要步骤如下:
*`W[2]`= [0,1,... 1]*
5. 将差数组`W[2]`乘以二项式权重 2 <sup>p</sup> ,将二进制数组`W[2]`转换​​为表示十进制数组 W <sub>的 LBP 代码 ] 3:</sub>
5. 将差数组`W[2]`乘以二项式权重`2^p`,将二进制数组`W[2]`转换​​为表示十进制数组`W[LBP]`的代码 3:
![](img/671d8a02-d3ae-47a5-9bcf-4d71d14e6201.png)
......
......@@ -80,7 +80,7 @@ CNN 的图像过滤和处理方法包括执行多种操作,所有这些操作
![](img/d37f03a9-c3a6-4796-8ca8-0c40c106eb73.png)
在上图中,在上一节输出的 5 x 5 图像上使用了 1 x 1 卷积滤波器值 1,但实际上它可以是任何数字。 在这里,我们可以看到使用 1 x 1 过滤器可以保留其高度和宽度,而深度则增加到过滤器通道的数量。 这是 1 x 1 滤波器的基本优点。 三维内核(`f`*<sub>i</sub>* )中三个(1 x 1 x 3)单元中的每一个都与输入的相应三个单元相乘 (`A`*<sub>i</sub>* )。 然后,将这些值与 ReLU 激活函数(`b`*<sub>i</sub>* )一起加在一起,以形成单个元素(`Z`):
在上图中,在上一节输出的 5 x 5 图像上使用了 1 x 1 卷积滤波器值 1,但实际上它可以是任何数字。 在这里,我们可以看到使用 1 x 1 过滤器可以保留其高度和宽度,而深度则增加到过滤器通道的数量。 这是 1 x 1 滤波器的基本优点。 三维内核(`f[i]`)中三个(1 x 1 x 3)单元中的每一个都与输入的相应三个单元相乘 (`A[i]`)。 然后,将这些值与 ReLU 激活函数(`b[i]`)一起加在一起,以形成单个元素(`Z`):
![](img/f772de26-1cb9-482d-9bfd-27910c641878.png)
......
......@@ -507,12 +507,12 @@ GAN 的一些实际用例如下:
以下列表描述了上述方程式的元素:
* `h`<sub>[`n`]</sub> =当前节点`n`的状态嵌入
* `h`<sub>*ne*</sub> <sub>[`n`]</sub> =节点`n`邻域的状态嵌入 ]
* `x`<sub>[`n`]</sub> =节点的特征`n`
* `x`<sub>`e`[`n`]</sub> =节点边缘的特征`n`
* `x`<sub>*ne* [`n`]</sub> =节点`n`的邻域特征
* `o`<sub>[`n`]</sub> =节点`n`的输出
* `h[n]`当前节点`n`的状态嵌入
* `h_ne[n]`为节点`n`邻域的状态嵌入
* `x[n]`为节点`n`的特征
* `xe[n]`为节点`n`边缘的特征
* `x_ne[n]`节点`n`的邻域特征
* `o[n]`节点`n`的输出
如果`H``X`是通过堆叠所有状态和所有特征而构建的向量,则可以为 GNN 迭代状态写以下方程式:
......@@ -530,9 +530,9 @@ GAN 的一些实际用例如下:
以下列表描述了上述方程式的元素:
* `g`<sub>*θ*</sub> =滤波器参数,也可以视为卷积权重
* `x`=输入信号
* `U`=标准化图拉普拉斯![](img/747421bf-3b58-478d-aae6-1ac114dcfa84.png)的特征向量矩阵
* `g[θ]`滤波器参数,也可以视为卷积权重
* `x`输入信号
* `U`标准化图拉普拉斯![](img/747421bf-3b58-478d-aae6-1ac114dcfa84.png)的特征向量矩阵
Kipf 和 Welling(在其文章*中使用图卷积网络进行半监督分类,ICLR 2017* )进一步简化了此方法,以解决诸如以下这样的过拟合问题:
......
......@@ -173,13 +173,13 @@ for pair in POSE_PAIRS:
![](img/d44ab73e-308f-4e9b-915c-6c0299867377.png)
在这里,`K`是关节总数, *L <sub>pd</sub>* 是 FPD 的预测关节置信度图, *m <sub>ks</sub>* 是学生模型预测的`$1[$2]`关节的置信度图,而 m *<sub>kt</sub>* 是 教师模型预测的`k`<sub>th</sub> 联合。
在这里,`K`是关节总数,`L[pd]`是 FPD 的预测关节置信度图, `m[ks]`是学生模型预测的`$1[$2]`关节的置信度图,而`m[kt]`是 教师模型预测的第`k`联合。
* 总体损失函数如下:
![](img/12c75f63-6358-4566-9007-1f3bcfbf9dec.png)
此处, *L <sub>fpd</sub>* 是整体 FPD 损失函数, *L <sub>gt</sub>* 是用于地面真相注释的置信度图,而`M`是权重函数。
此处, `L[fpd]`是整体 FPD 损失函数,`L[gt]`是用于地面真相注释的置信度图,而`M`是权重函数。
* 使用前面描述的损失函数分别训练教师模型和目标模型。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册