CNN的相关知识点有哪些

发布时间:2022-01-14 16:27:36 作者:iii
来源:亿速云 阅读:156

这篇文章主要介绍了CNN的相关知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CNN的相关知识点有哪些文章都会有所收获,下面我们一起来看看吧。

CNN(卷积神经网络)

图像识别中采用卷积神经网络,这里大致的介绍下CNN的运行原理。在很久以前呢其实图像识别采用的是传统的方法,比如SVM。在12年的ImageNet大会中,来自多伦多大学的 Geoffrey Hinton、Ilya Sutskever 和 Alex Krizhevsky 提交了名为“AlexNet”的深度卷积神经网络算法,这种算法的图形识别错误率低至 16%,比第二名低超过 40%。可以这么说,人工智能在“看特定的图”这件事上第一次接近了人类。 
这里提一下上面提到的深度学习课程就是由Geoffrey Hinton 讲授的。 
而图像识别中的神经网络一般会采用卷积神经网络,即CNN。

层级结构

一般的神经网络采用了全连接的方式,这样的话会导致参数量太大。Cnn以及rnn都修改了网络结构以使其能达到特定的功能。 
全连接的神经网络如下: 
CNN的相关知识点有哪些

隐层的话其实可以是0~N多层,如果没有隐层,而激活函数又采用了逻辑函数,那么就成了逻辑回归模型了。这里只画了两层。 
而卷积神经网络主要有以下几种层次 
1)数据输入层 
2)卷积计算层 
3)Relu激活层 
4)池化层 
5)全连接层 
6)输出层

数据输入层

数据输入层和全连接层一样的,就是第0层。一般来说图形图像处理前需要进行数据的预处理,比如图片的大小放缩到一致,主要有如下的处理方法: 
1)去均值,比如一个图片的像素,RGB形式的吧,范围都在0~256之间。将其都减去均值,得到每个特征的维度均值为0. 
2)归一化,就是降维度的数值缩放到一个幅度内。 
3)降维

卷积计算层

这个应该是CNN的一个比较关键的地方了,首先看卷积运算,卷积是对两个实变函数的一种数学运算。这里不想讲的太复杂,比如 
CNN的相关知识点有哪些

这里x是输入,w是核函数就是需要将x转换到其他的特征中。下面将二维平面的情况展示: 
CNN的相关知识点有哪些

这是进行了一次的卷积运算,这里我们很明显的知道参数共享的。在一次卷积运算的过程中,这些kernel是保持不变的。变得是每次滑动窗口的数据。 
这里介绍三个相关的概念: 
1)步长,如上图是1。 
2)滑动窗口,上面的是一个2*2的大小。 
3)填充值,因为在步长大于1的情况下,可能导致滑动窗口在向右移动的过程中,右边没有值了,这个时候需要值进行填充,一般采用0值填充。还有一个原因就是当步长为1的时候,如果不进行填充会导致输出的维度低于输入的维度,这样经过几次迭代,就没有输入了…… 
形象化的如下图,周围补了一圈的0填充。 
CNN的相关知识点有哪些

注意这里只是一个下一层的一个神经元的情况如果是n个,就会有n次卷积运算了。

Relu激活层

当通过卷积运算之后需要经过激活函数进行非线性变换。常的激活函数如下: 
1)Sigmoid 
2)Relu 
3)Tanh 
4)Elu 
5)Maxout 
6)Leaky relu 
可以参考:https://en.wikipedia.org/wiki/Activation_function 
CNN的相关知识点有哪些

在cnn中有如下一些经验: 
1)CNN尽量不要用sigmoid ,因为sigmoid会导致梯度消失问题。 
2)首先使用relu 
3)然后使用leaky relu 
4)如果不行,采用maxout

池化层

由于图片的像素点很多,如果不进行压缩处理,那么会导致参数过多,就过拟合啦。所以需要将图片大小进行压缩。那咋个压缩呢?只能采用下采样啦。如下图所示: 
CNN的相关知识点有哪些

这个有点像卷积计算,但是呢,没有kernel。一般采用的是 
1)Max 
2)Average 
两种下采样方式,不过用的多的还是max。因为average会带来新的特征值,不太好。

全连接层

经过了若干的卷积层,池化层,在输出层的前一层,加一个全连接层,用于最后的输出。 
输出层 
最后就是再次通过一个激活函数输出数据了。 
总的层级结构如下: 
CNN的相关知识点有哪些

一般来说,CNN的结构中,会有若干的卷积层,然后通过激活层,然后池化,然后继续卷积等等,最后全连接输出数据。不过有的也不用全连接做最后一层,用一维的卷积层代替。

CNN的相关知识点有哪些

正则化

在深度学习中,优化算法基本都是采用的SGD。正则化不是像传统的方式L1或者L2。而是通过一定的概率丢弃神经网络节点,这就被称为dropout 
如下图所示,每次运算的时候随机的使一些节点失效。或者可以理解,选择神经节点服从一个概率分布。 
CNN的相关知识点有哪些

通过dropout的方式可以防止过拟合 
1)神经元的个数少了,参数减小,那么根据机器学习的VC维可以得到过拟合风险减小。 
2)通过随机的丢弃一些神经元,可以组成不同的神经网络,最后做到一个aggregation的神经网络,就像随机森林一样的的想法。

典型结构

CNN常见的结构有: 
1)LeNet ,最早用于数字识别 
2)AlexNet ,2012年的视觉大赛冠军 
3)ZF Net,2013年的视觉大赛冠军 
4)Google Net,2014年 
5)VGG Net,2014年 
6)ResNet,2015年,152层。 

关于“CNN的相关知识点有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“CNN的相关知识点有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. JVM相关的知识点有哪些
  2. React的相关知识点有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

cnn

上一篇:如何进行mr与spark的比较

下一篇:springboot整合quartz定时任务框架的方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》