背景
众所周知,神经网络分为有向网络,无向网络。典型的无向网络有CRF、Autoencoder、RBM等。由于Autoencoder和RBM是层级结构,也叫双向网络。这种是专门设计的双向网络,具有很好的理论依据(特别是RBM)。用的更多的网络,比如NN、CNN等都是单向网络。
PGM
理论好,实践弱
概率图模型,又称有向图模型。
实际上我们是可以通过后验概率,计算图模型的反向。
但是
- PGM中的后验概率计算一般都很复杂,特别是对于深层PGM,要算很多层叠的微积分。没有
- 模型的求解难
- 深层模型要用EM算法,
- 由于后验求不出来,大家就采用很多近似方法(比如变分)以及基于采样的方法。
得益于漂亮的理论基础,PGM也曾大放异彩,占领学术界和工业界高地。比如曾经风靡的HMM,LDA。涌现了Jordan Blei Daffni Ng一大批牛人。
但是PGM的深层扩展性较差,常见的比较深层的PGM就是Blei大神的LDA了。然而神经网络已经动不动上百层了。
随着大数据来临,PGM越来越力不从心,渐渐被神经网络取代。
RBM
理论漂亮,实践,大家还是用autoencoder,而不用RBM。
复杂性
CRF
条件随机场,又叫概率无向图,
NN
首先我们来看一下,RBM和autoencoder是怎样可逆的?
autoencoder
强制学习双向的全连接参数W。
deconv
神奇的CNN逆过程。
在我的世界观里,CNN是用来特征学习的,网络是单向的,特别是卷积层和pooling层是不可逆的。
然而竟然听说有deconv network。
实际上就是类似autoencoder的思想。
反池化过程
反激活
在Alexnet中,relu函数是用于保证每层输出的激活值都是正数,因此对于反向过程,我们同样需要保证每层的特征图为正值,也就是说这个反激活过程和激活过程没有什么差别,都是直接采用relu函数。
反卷积
信号里的卷积是不可逆的,比如高通滤波,难道还能把高频还原?显然是行不通的。
这里只是采用autoencoder的思想,强制学习双向的卷积kernel。
反全连接
应用
deconvolutional network相关文章,其实deconv的用处还挺广的,涉及到visualization/pixel-wiseprediction/unsupervised learning/image generation都会用到deconv的结构。比如Deconvolutional Network[1][2]做图片的unsupervised feature learning,ZF-Net论文中的卷积网络可视化[3],FCN网络中的upsampling[4],GAN中的Generative图片生成[5]。
参考
- How does a deconvolutional neural network work? | Quora
- 如何理解深度学习中的deconvolution networks? | 知乎
- 可视化理解卷积神经网络 | CSDN
Adaptive deconvolutional networks for mid and high level feature learning