既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
−
σ
(
H
i
∗
)
∥
−
∥
σ
(
H
i
−
)
−
σ
(
H
i
∗
)
∥
)
\begin{aligned} \mathcal{L}_{S D L}^{H_{i}}= & S P\left(\left|\mu\left(H_{i}{+}\right)-\mu\left(H_{i}{*}\right)\right|-\left|\mu\left(H_{i}{-}\right)-\mu\left(H_{i}{*}\right)\right|\right)+S P\left(\left|\sigma\left(H_{i}{+}\right)-\sigma\left(H_{i}{*}\right)\right|-\left|\sigma\left(H_{i}{-}\right)-\sigma\left(H_{i}{*}\right)\right|\right) \end{aligned}
LSDLHi=SP(
μ(Hi+)−μ(Hi∗)
−
μ(Hi−)−μ(Hi∗)
)+SP(
σ(Hi+)−σ(Hi∗)
−
σ(Hi−)−σ(Hi∗)
)
L
S
D
L
Q
i
=
S
P
(
∥
μ
(
Q
i
)
−
μ
(
H
i
∗
)
∥
−
∥
μ
(
Q
i
−
)
−
μ
(
H
i
∗
)
∥
)
S
P
(
∥
σ
(
Q
i
)
−
σ
(
H
i
∗
)
∥
−
∥
σ
(
Q
i
−
)
−
σ
(
H
i
∗
)
∥
)
\begin{aligned} \mathcal{L}_{S D L}^{Q_{i}}= & S P\left(\left|\mu\left(Q_{i}{+}\right)-\mu\left(H_{i}{*}\right)\right|-\left|\mu\left(Q_{i}{-}\right)-\mu\left(H_{i}{*}\right)\right|\right) +S P\left(\left|\sigma\left(Q_{i}{+}\right)-\sigma\left(H_{i}{*}\right)\right|-\left|\sigma\left(Q_{i}{-}\right)-\sigma\left(H_{i}{*}\right)\right|\right) \end{aligned}
LSDLQi=SP(
μ(Qi+)−μ(Hi∗)
−
μ(Qi−)−μ(Hi∗)
)+SP(
σ(Qi+)−σ(Hi∗)
−
σ(Qi−)−σ(Hi∗)
)
其中,u表示均值、
σ
\sigma
σ表示方差,SP (x) = ln(1 +
e
x
e^x
ex),最终的SDL损失如下:
L
S
D
L
i
=
λ
1
L
S
D
L
H
i
λ
2
L
S
D
L
Q
i
λ
3
∥
R
I
R
M
(
I
i
∗
)
−
I
i
∗
∥
1
\mathcal{L}_{S D L_{i}}=\lambda_{1} \mathcal{L}_{S D L}^{H_{i}}+\lambda_{2} \mathcal{L}_{S D L}^{Q_{i}}+\lambda_{3}\left|R I R M\left(I_{i}{*}\right)-I_{i}{*}\right|_{1}
LSDLi=λ1LSDLHi+λ2LSDLQi+λ3∥RIRM(Ii∗)−Ii∗∥1
下图展示了,在加入基于SDM驱动的关键信息选择策略,可以更好地过滤出
H
1
H_1
H1和
Q
2
‘
Q_2^`
Q2‘上的非关键结构性信息,进而使得图像特征
H
2
H_2
H2的结构和语义变得更加合理。因此,合成图像的结构也更合理:
3.3、分布归一化模块(DNM)
在鉴别器方面,复杂的图像分布使得鉴别器很难区分当前输入图像是从真实图像分布中采样的还是从生成的图像分布中采样的。并且生成器很难使生成的分布与真实图像分布保持一致,有必要降低分布的复杂性。而数据归一化机制可以降低数据的噪声和内部协变量移位,进一步提高模型的学习效率,是一种有效的去噪和降低复杂性的策略。
对于此,归一化模块使用变分自动编码器以帮助鉴别器更好地区分“真”图像和“假”图像。变分自动编码器(VAE)[24]作为一种生成模型,可以有效地去噪潜在分布,降低分布的复杂性。假设图像的潜在嵌入向量服从高斯分布N(µ,σ),然后将N(µ,σ)归一化为标准正态分布N(0,1)。基于VAE图像重建的优势,归一化后的嵌入向量可以保留关键语义视觉信息。DNM的结构如下所示:
其包含两个子模块:鉴别器Di和VAE模块Ai:
- 鉴别器模块很常规,其由编码器
E
D
E^D
ED(·)和逻辑分类器ψ(·)组成。
E
D
E^D
ED(·)将图像x编码为嵌入向量v.将嵌入向量v与文本嵌入s结合,馈送给逻辑分类器ψ(·),用于识别x是真实图像还是生成图像。
图像中视觉信息的多样性、背景的杂乱性以及其他非关键视觉信息使得嵌入向量v的分布变得复杂,使得x的识别更加困难。
- 因此采用VAE模块对嵌入向量V的潜在分布进行归一化和去噪。除了降低图像潜在分布的复杂性外,使用VAE还可以推动编码后的图像特征向量V来记录重要的图像语义。
DNM模块将V AE和鉴别器j相结合,可以有效地降低图像嵌入V构造的分布的复杂性,丰富图像嵌入V的高级语义信息,这种归一化的嵌入有助于鉴别器更好地区分“假”图像和“真”图像。因此,生成器也可以更好地将生成的分布与真实图像分布对齐。
整个DNM主要步骤如下:
- 给定图像x, x首先被馈送给编码器ED(·),ED(·)输出图像潜在嵌入v
- 逻辑分类器φ(·)给出v的均值和方差,并构建一个高斯分布:
N
(
μ
~
(
φ
(
v
)
)
,
σ
~
(
φ
(
v
)
)
)
N(\tilde{\mu}(\varphi(v)), \tilde{\sigma}(\varphi(v)))
N(μ(φ(v)),σ(φ(v))),通过KL散度进一步将这个高斯分布归一化为
z
∗
=
z
⋅
σ
~
(
φ
(
v
)
)
)
μ
~
(
φ
(
v
)
)
,
z
∼
N
(
0
,
1
)
\left.z^{*}=z \cdot \tilde{\sigma}(\varphi(v))\right)+\tilde{\mu}(\varphi(v)), z \sim N(0,1)
z∗=z⋅σ(φ(v)))+μ(φ(v)),z∼N(0,1),
3. z
∗
z^*
z∗和文本嵌入s进行拼接,然后输入解码器DE(·)重构图像
x
∗
x^*
x∗。
4. 重构的图像与原图像计算损失,优化模型。
VAE与GAN联合训练,基于VAE的下变分界,DNM中VAE模块的损失函数可以定义为:
L
D
i
D
D
=
∥
I
^
i
−
D
i
E
(
φ
i
(
E
D
(
I
^
i
)
)
,
s
)
∥
1
∥
I
i
∗
−
D
i
E
(
φ
i
(
E
D
(
I
i
∗
)
)
,
s
)
∥
1
K
L
(
N
(
μ
~
i
(
φ
i
(
E
D
(
I
^
i
)
)
)
,
σ
~
i
(
φ
i
(
E
D
(
I
^
i
)
)
)
)
)
∥
N
(
0
,
1
)
)
K
L
(
N
(
μ
~
i
(
φ
i
(
E
D
(
I
i
∗
)
)
)
,
σ
~
i
(
φ
i
(
E
D
(
I
i
∗
)
)
)
)
)
∥
N
(
0
,
1
)
)
\begin{aligned} \mathcal{L}_{D_{i}{D}}{D}= & \left|\hat{I}_{i}-D_{i}{E}\left(\varphi_{i}\left(E{D}\left(\hat{I}_{i}\right)\right), s\right)\right|_{1}+\left|I_{i}{*}-D_{i}{E}\left(\varphi_{i}\left(E{D}\left(I_{i}{*}\right)\right), s\right)\right|_{1} \ & \left.+K L\left(N\left(\tilde{\mu}_{i}\left(\varphi_{i}\left(E^{D}\left(\hat{I}_{i}\right)\right)\right), \tilde{\sigma}_{i}\left(\varphi_{i}\left(E^{D}\left(\hat{I}_{i}\right)\right)\right)\right)\right) | N(0,1)\right) \ & \left.+K L\left(N\left(\tilde{\mu}_{i}\left(\varphi_{i}\left(E{D}\left(I_{i}{*}\right)\right)\right), \tilde{\sigma}_{i}\left(\varphi_{i}\left(E{D}\left(I_{i}{*}\right)\right)\right)\right)\right) | N(0,1)\right) \end{aligned}
LDiDD=
Ii−DiE(φi(ED(Ii)),s)
1+
Ii∗−DiE(φi(ED(Ii∗)),s)
1+KL(N(μi(φi(ED(I^i))),σi(φi(ED(I^i)))))∥N(0,1))+KL(N(μi(φi(ED(Ii∗))),σi(φi(ED(Ii∗)))))∥N(0,1))
分布一致性损失为:
L
G
i
D
=
K
L
(
N
(
μ
~
i
(
φ
i
(
E
D
(
I
^
i
)
)
)
,
σ
~
i
(
φ
i
(
E
D
(
I
^
i
)
)
)
)
)
∥
N
(
0
,
1
)
)
∥
I
i
∗
−
D
i
E
(
φ
i
(
E
D
(
I
^
i
)
)
,
s
)
∥
1
,
\begin{aligned} \mathcal{L}_{G_{i}^{D}}= & \left.K L\left(N\left(\tilde{\mu}_{i}\left(\varphi_{i}\left(E^{D}\left(\hat{I}_{i}\right)\right)\right), \tilde{\sigma}_{i}\left(\varphi_{i}\left(E^{D}\left(\hat{I}_{i}\right)\right)\right)\right)\right) | N(0,1)\right) \ & +\left|I_{i}{*}-D_{i}{E}\left(\varphi_{i}\left(E^{D}\left(\hat{I}_{i}\right)\right), s\right)\right|_{1}, \end{aligned}
LGiD=KL(N(μi(φi(ED(I^i))),σi(φi(ED(I^i)))))∥N(0,1))+
Ii∗−DiE(φi(ED(I^i)),s)
1,
将两个损失函数
L
G
i
D
L_{G^D_i}
LGiD和LDDi表示为分布对抗损失(DAL)项。在鉴别器的训练阶段,LDDi有助于鉴别器更好地区分合成图像与真实图像,更好地学习生成图像与真实图像潜在分布之间的分布决策边界。在生成器的训练阶段,LGDi可以帮助生成器学习并捕获归一化潜空间中的真实图像分布。
四、损失函数
结合上述模块,在DRGAN的第i阶段,定义生成损耗
L
G
i
L_{Gi}
LGi和判别损耗
L
D
i
L_{Di}
LDi为:
L
G
i
=
−
1
2
E
I
^
i
∼
P
G
i
[
log
D
i
(
I
^
i
)
]
⏟
unconditional loss
−
1
2
E
I
^
i
∼
P
G
i
[
log
D
i
(
I
^
i
,
s
)
]
⏟
conditional loss
;
\mathcal{L}_{G_{i}}=\underbrace{-\frac{1}{2} \mathbb{E}_{\hat{I}_{i} \sim P_{G_{i}}}\left[\log D_{i}\left(\hat{I}_{i}\right)\right]}_{\text {unconditional loss }}-\underbrace{\frac{1}{2} \mathbb{E}_{\hat{I}_{i} \sim P_{G_{i}}}\left[\log D_{i}\left(\hat{I}_{i}, s\right)\right]}_{\text {conditional loss }} ;
LGi=unconditional loss
−21EIi∼PGi[logDi(Ii)]−conditional loss
21EIi∼PGi[logDi(Ii,s)];
L
D
i
=
−
1
2
E
I
i
∗
∼
P
data
i
[
log
D
i
(
I
i
∗
)
]
−
1
2
E
I
^
i
∼
P
G
i
[
log
(
1
−
D
i
(
I
^
i
)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
G
i
L_{Gi}
LGi和判别损耗
L
D
i
L_{Di}
LDi为:
L
G
i
=
−
1
2
E
I
^
i
∼
P
G
i
[
log
D
i
(
I
^
i
)
]
⏟
unconditional loss
−
1
2
E
I
^
i
∼
P
G
i
[
log
D
i
(
I
^
i
,
s
)
]
⏟
conditional loss
;
\mathcal{L}_{G_{i}}=\underbrace{-\frac{1}{2} \mathbb{E}_{\hat{I}_{i} \sim P_{G_{i}}}\left[\log D_{i}\left(\hat{I}_{i}\right)\right]}_{\text {unconditional loss }}-\underbrace{\frac{1}{2} \mathbb{E}_{\hat{I}_{i} \sim P_{G_{i}}}\left[\log D_{i}\left(\hat{I}_{i}, s\right)\right]}_{\text {conditional loss }} ;
LGi=unconditional loss
−21EIi∼PGi[logDi(Ii)]−conditional loss
21EIi∼PGi[logDi(Ii,s)];
L
D
i
=
−
1
2
E
I
i
∗
∼
P
data
i
[
log
D
i
(
I
i
∗
)
]
−
1
2
E
I
^
i
∼
P
G
i
[
log
(
1
−
D
i
(
I
^
i
)
[外链图片转存中…(img-xvYQNd7I-1714978589165)]
[外链图片转存中…(img-BXxJAsEu-1714978589166)]
[外链图片转存中…(img-E9NdmtU4-1714978589166)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新