这一篇就先不讲别的,先详细说一下上一篇构想的双向网络。
这一篇重点会放在反卷积神经网络(Deconvolutional networks)中首先推荐一下博客https://blog.csdn.net/hjimce/article/details/50544370
以及这篇博客中提到的2篇文章:
Visualizing and Understanding Convolutional Networks 这一篇详细描述了卷积神经网络到底干了什么,将他们进行了可视化。
Adaptive Deconvolutional Networks for Mid and High Level Feature Learning
反卷积神经网络的开山鼻祖:
Deconvolutional Networks
上边的文章都可以直接百度并搜索下载到。
首先反卷积神经网络是干什么的?我们理解了卷积神经网络当中卷积层的意义就不难知道反卷积的意义。卷积层是实现特征提取的,在Visualizing and Understanding Convolutional Networks一文中提到了卷积层从图片中提取到的是什么。我们如果再继续深入理解一下卷积操作,就需要理解中间层提取特征的活动。
反卷积的原理与概念在双向网络中十分重要,详细的解释参考博客https://blog.csdn.net/hjimce/article/details/50544370,反池化,反卷积,反激活等等,只要是CNN采用的方法,都将其逆向化。
再重申一下,双向网络是正向实现从特征到数据(图片)的映射,而反向实现数据到特征的映射,而在训练完成后,只利用正向网络。期间,如果正向和反向都使用同一批神经元,那么这些神经元就具有双向传播的功能,这种神经元目前讨论的不多,相信以后会有人去研究。另一种通过2个网络分别实现正向传播和反向传播。拿图片来说,正向就是一个反卷积的过程,反向是一个卷积的过程。

上图就是一个将正向传播和反向传播分为2个网络来进行的,其中特征是我们相对于图片2所提的需求,我们通过正向网络黑色的部分求得图片1,然后将图片1,输入蓝色部分得到其特征,同时也将图片2输入这个网络得到特征,图中蓝色部分和黄色部分的权重完全相同,最终得到2张图片的特征差异就是我们所求的损失函数。
另外在进行生成图片1的网络训练中,我们可以为图片1设置一个评价函数,将评价函数的值也作为损失函数的一部分,使得需求训练的数据集更小。
利用双向神经元的过程也大致如此,只不过从特征到数据的映射是同步的,如下图所示,蓝色网络是黑色网络的复制,只起单向的传递。将特征进行比较得出损失函数。

本文深入探讨反卷积神经网络(Deconvolutional Networks)原理及其在特征学习中的应用,对比卷积神经网络,解释双向网络如何实现数据与特征的相互转换。

2282

被折叠的 条评论
为什么被折叠?



