深度对抗网络用于分割(语义分割)——Adversarial Learning for Semi-Supervised Semantic Segmentation
Adversarial Learning for Semi-Supervised Semantic Segmentation
这篇文章引入对抗网络,做半监督学习,想法很好,也被证明有效果,但是有多大的提高有待商榷。可以说这篇文章的思路重点在于思想。
-
网络结构
- 分割网络
用的是DeepLab-v2+ResNet-101+ASPP结构。分割网络可以说很一般了,这篇paper的重点不在分割网络。
- 判别器
也和传统的判别器网络相似,具体可以看U NSUPERVISED R EPRESENTATION LEARNINGWITH DEEP CONVOLUTIONAL
GENERATIVE ADVERSARIAL NETWORKS的判别器部分。判别器卷积用到了4*4卷积核,很奇怪第一见用偶数核大小? -
有监督学习部分:
- 训练判别器:
最小化$L_D$,S()表示分割网络,D(.)是判别器网络,$y_n$是GT。
- 训练分割网络
$L_{seg}=L_{ce}+\lambda_{adv}L_{adv}+\lambda_{semi}L_{semi}$,
$L_{adv}$是对抗loss(adversarial loss),$L_{semi}$ 是半监督loss.
$L_{ce}$是交叉熵loss,就不过多介绍。
$L_{adv}=-\sum_{h,w}log(D(S(X_n))^{(h,w)}).$
$L_{adv}$是相当于间接增大当分割网络预测出来的loss值,理论上是能对网络收敛起到作用。
$L_{semi}$将在下面提到。
- 无标签训练(所谓的半监督学习)
应该这篇paper最具创新的点了,引入无监督的思路来做分割。重点介绍下这个训练过程,没有标签的话,即,模型只可以得到分割网络结果$S(X_n)$和得到判别器网络概率图(或者置信图)$D(S(X_n))$.这个无监督的想法就是自己教自己那些是好的,但是也要给他规定“好”的标准。
而这个$L_{semi}$就是标准就是取置信足够高的标准。
- 训练实现:
我提出三个问题:
-
无标签和有标签怎么训练?
文章给出回答是,在监督学习5000之后,交替训练(interleave)
-
判别器的GT是什么?
文章给出的是,原图的GT,也就说这个网络本质上还是做基于像素的判别。
-
为什么判别器最后给出的是置信图(Confinence map)?
文章好像没有提到。
- 训练判别器: