CNN(卷积神经网络)备忘

 最近在学习关于机器学习,用python的TensorFlow搭建了一个简单的CNN来测试,综合了一些大牛的帖子,给自己做一个备忘。

       CNN实则是一种的非线性拟合,输入是一个图像矩阵,输出为分类结果。

1、 卷积层的作用:每一个卷积层由多个神经元(filter)构成,filter可以理解为是一个滤波器,正如电路中的滤波器一样,他可以增强某一种信号,抑制其他信号。在CNN中 一个filter就是对一种特别的特征提取,比如说对一个哆啦A梦的图片进行卷积,每一个神经元(filter)就能提取出一种特征出来,比如一个filter提取他的鼻子,用另一个提取他的嘴巴等等,那么当filter足够多的时候,filter就应该加复数,变成filters,我们就可以识别出一个完整的哆啦A梦了。  每一个filter有多个卷积核(kernel),取决于其深度(depth),也就是说filter是一个立体的结构,当filter与图片卷积完成以后会生成一个特征映射图(feature map)。

   2、激活函数(activation function):通过函数把神经元输出的特征作取舍和映射,解决非线性问题。加入的原因:由于线性模型的表达能力不够,直观地说,无法像曲线一样去逼近数据,所以必须要加入非线性的因素。(补充:神经网络的数学基础是处处可微的,原因是在求解神经网络的参数时,用到的是梯度下降的方式求解,因此激活函数也要求是可微的。)

传统神经网络的实质是线性拟合:          y=w1*x1+w2*x2+b  的形式。(很明显是一个线性拟合)

        激活函数(Activation Function )分类:

  1)Sigmoid:

有函数可知,输出的值是在0-1之间的,而且有一个饱和效应。(当x大于5或小于-5是,梯度就接近于0 了,约为0.007。)它是将定义域为(-∞,+∞)转换为(0,1)的范围,存在梯度饱和线性。

 

  2) tanh(x):

其中:

             

这个函数其实和Sigmoid比较像,只是它是将定义域为(-∞,+∞)转换为(-1,1)的范围,依然存在梯度饱和线性。

  3) ReLU(Rectified Linear Unit, 修正线性单元):通常指代以斜坡函数及其变种为代表的非线性函数。

                    为了克服梯度饱和,加快训练的速度,提出了这种Activation Function。

其优点是:克服了梯度饱和,可以在训练时加快训练速度。

3、池化层的作用:在保持特征的情况下,防止过拟合的产生。

 

4、全连接层:全连接层是选对卷积层来说的,全连接层就是把所有的特征通过权重联系起来,综合考虑所有提取到的特征来分析,这个东西到底是什么,即卷积层的作用是对特征的提取,全连接层的作用是分类。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值