如何理解卷积、权值共享、池化
2015-04-12 18:45
218 查看
要理解卷积,首先你要理解什么是全连接和局部连接,全连接是什么?举个例子,100*100大小的图像,假设有100个隐含神经元,那么就有100*100*100个连接,
太可怕,局部连接是什么,假设每个隐含神经元只局部连接10*10,那么就有10*10*100个连接。
那么什么是卷积,什么又是权值共享?
说道权值共享,就需要提到感受野,感受野其实就是一个隐含神经元的局部连接大小,权值共享就是感受野的权值一样,也就是说,假设这层的感受野是2*2,这层隐含神经元就会有100*(2*2+1)的连接,这里代表偏置。
卷积呢?这里的卷积和信号里面的卷积还是有一定区别的,这里的目的是,用小样本来学习大样本的特征,假如小样本是8*8,那么每个神经元就可以得到(100-8+1)*(100-8+1)个特征,这一层就一共有100*93*93个卷积特征。
什么是池化呢?
上面卷积不是获得了特征吗?可是还是有很多的维数啊,100*93*93维的卷积特征,太庞大了,为了解决这个问题,首先回忆一下,我们之所以决定使用卷积后的特征是因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值
(或最大值)。这些概要统计特征不仅具有低得多的维度 (相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合)。这种聚合的操作就叫做池化 (pooling),有时也称为平均池化或者最大池化 (取决于计算池化的方法)。
也就是说,池化就是特征的聚合统计,依据于图像的静态性属性。
做完以上工作,再进行全连接层的建立,训练,并加上分类器,分类器可有有很多,KNN,softmax,SVM等等,再进行常规的训练,也可以用wake-sleep的训练。
太可怕,局部连接是什么,假设每个隐含神经元只局部连接10*10,那么就有10*10*100个连接。
那么什么是卷积,什么又是权值共享?
说道权值共享,就需要提到感受野,感受野其实就是一个隐含神经元的局部连接大小,权值共享就是感受野的权值一样,也就是说,假设这层的感受野是2*2,这层隐含神经元就会有100*(2*2+1)的连接,这里代表偏置。
卷积呢?这里的卷积和信号里面的卷积还是有一定区别的,这里的目的是,用小样本来学习大样本的特征,假如小样本是8*8,那么每个神经元就可以得到(100-8+1)*(100-8+1)个特征,这一层就一共有100*93*93个卷积特征。
什么是池化呢?
上面卷积不是获得了特征吗?可是还是有很多的维数啊,100*93*93维的卷积特征,太庞大了,为了解决这个问题,首先回忆一下,我们之所以决定使用卷积后的特征是因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值
(或最大值)。这些概要统计特征不仅具有低得多的维度 (相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合)。这种聚合的操作就叫做池化 (pooling),有时也称为平均池化或者最大池化 (取决于计算池化的方法)。
也就是说,池化就是特征的聚合统计,依据于图像的静态性属性。
做完以上工作,再进行全连接层的建立,训练,并加上分类器,分类器可有有很多,KNN,softmax,SVM等等,再进行常规的训练,也可以用wake-sleep的训练。
相关文章推荐
- 卷积神经网络卷积层和池化层学习、权值共享!!
- 如何理解卷积神经网络中的权值共享
- 权值共享和卷积核(滤波器)
- java中如何理解多个对象共享同一个静态成员变量(多个实例的static变量会共享同一块内存区域)
- 如何理解卷积
- 如何理解深度学习中的卷积?
- 深度学习---之权值共享与全卷积替代全连接层的训练加速
- cnn中权值共享理解
- 如何理解空洞卷积(dilated convolution)
- [置顶] CNN中的卷积和池化的理解
- 如何理解最简单的CNN代码(卷积层到全链接层)
- 如何理解session和cookie的关系(例子那是相当的好理解),附带session共享
- 如何理解时域卷积和滤波的关系
- cnn中权值共享理解
- 如何简单理解卷积
- CNN中的权值共享理解
- CNN之权值共享的理解
- 如何理解卷积:信号处理、图像处理中的应用
- 如何理解“不要通过共享内存来通信,而应该通过通信来共享内存”?
- 利用Tensorflow和matplotlib直观理解CNN的卷积层与池化层