Convolutional Neural Networks(CNN) 有关概念
2017-01-19 19:12
309 查看
在浅层神经网络中,我们一般采用fully connected layer(全连接层)进行层和层的连接。
即Output=f(Wx+b),其中f是一个非线性函数。
从上面的表达式中,我们可以看出,这层的任何一个输出神经元都和全部的输入神经元相连。
随着网络的加深,如何加快训练速度变成了一个很现实的问题。我们采取了一种方法:CNNs来显著减少参数个数,从而加快了训练速度。
CNNs基于如下从认知心理学得到的一个现象:
人识别图像的,对信息进行最初级加工的神经元的任务是感知图像的一个局部是否有一个边缘(Edge)。
这句话里面值得借鉴的点是:“局部”。
在CNN中,局部被体现在了两个方面。
1.一个输出神经元不必和所有输入神经元相连:连接局部性
2.连接到同一个输出神经元的输入神经元要在同一个局部:位置局部性。
于是就有如下的卷积函数。
yij=fks({xsi+di;sj+dj}0≤di,dj<k;Wks)
其中
xij表示位于(i,j)处的输入
yij表示位于(i,j)处的输出
s表示跨度(stride)
Wks表示函数fks的参数
k(kernel size)表征感受野(receptive field)的大小(k×k)
感受野就是连接到特定输出神经元的输入神经元的统称。
从上面的式子可以看出,相邻的两个输出神经元对应的感受野的间隔为s,每一个输出神经元的感受野的大小为k
更需要指出的是,fks和i,j无关,也就是对于不同的输出神经元,他们用的卷积函数是完全一样的,也就是对于不同的输出神经元,我们都同时用同一种参数。
总结一下,CNN减少参数的手段:
1. 连接局部性,一个输出神经元不用和所有的输入神经元相连
2. 空间局部性,与一个输出神经元连接的输入神经元空间位置上相邻
3. 参数一致性,所有的输出神经元共享同一套参数。
即Output=f(Wx+b),其中f是一个非线性函数。
从上面的表达式中,我们可以看出,这层的任何一个输出神经元都和全部的输入神经元相连。
随着网络的加深,如何加快训练速度变成了一个很现实的问题。我们采取了一种方法:CNNs来显著减少参数个数,从而加快了训练速度。
CNNs基于如下从认知心理学得到的一个现象:
人识别图像的,对信息进行最初级加工的神经元的任务是感知图像的一个局部是否有一个边缘(Edge)。
这句话里面值得借鉴的点是:“局部”。
在CNN中,局部被体现在了两个方面。
1.一个输出神经元不必和所有输入神经元相连:连接局部性
2.连接到同一个输出神经元的输入神经元要在同一个局部:位置局部性。
于是就有如下的卷积函数。
yij=fks({xsi+di;sj+dj}0≤di,dj<k;Wks)
其中
xij表示位于(i,j)处的输入
yij表示位于(i,j)处的输出
s表示跨度(stride)
Wks表示函数fks的参数
k(kernel size)表征感受野(receptive field)的大小(k×k)
感受野就是连接到特定输出神经元的输入神经元的统称。
从上面的式子可以看出,相邻的两个输出神经元对应的感受野的间隔为s,每一个输出神经元的感受野的大小为k
更需要指出的是,fks和i,j无关,也就是对于不同的输出神经元,他们用的卷积函数是完全一样的,也就是对于不同的输出神经元,我们都同时用同一种参数。
总结一下,CNN减少参数的手段:
1. 连接局部性,一个输出神经元不用和所有的输入神经元相连
2. 空间局部性,与一个输出神经元连接的输入神经元空间位置上相邻
3. 参数一致性,所有的输出神经元共享同一套参数。
相关文章推荐
- CNN(Convolutional Neural Networks)算法
- 卷积神经网络简介(Convolutional Neural Networks,简称CNN)
- Convolutional neural networks(CNN) (十三) Convolutional Neural Network Exercise
- CS231n lecture 5 Convolutional Neural Networks(CNN)
- Convolutional neural networks(CNN) (七) Softmax Regression Exercise
- Convolutional neural networks(CNN) (五) PCA in 2D Exercise
- Convolutional neural networks(CNN) (九) Implement deep networks for digit classification Exercise
- 卷积神经网络CNN(Convolutional Neural Networks)没有原理只有实现
- [CS231n-CNN] Convolutional Neural Networks: architectures, convolution / pooling layers
- 卷积神经网络(Convolutional Neural Networks,简称CNN)
- Convolutional neural networks(CNN) (四) Learn features for handwritten digits Exercise(Vectorization)
- 回顾一些重要的CNN改进模型(你真的了解 Convolutional Neural Networks 么)
- Convolutional Neural Networks (CNNs / ConvNets)
- [Neural Networks] (Convolutional Neural Networks)CNN-卷积神经网络学习
- Convolutional neural networks(CNN) (一) 入门参考
- Convolutional neural networks(CNN) (六) PCA and Whitening Exercise
- (Convolutional Neural Networks)CNN-卷积神经网络学习
- Convolutional neural networks(CNN) (八) Self-Taught Learning Exercise
- Convolutional neural networks(CNN) (十一) Convolution and Pooling Exercise
- TensorFlow练习4: CNN, Convolutional Neural Networks