深度学习之NN->CNN
2016-09-23 13:53
148 查看
刚刚步入研二,研一的时候由于各种原因单单接触到的只是人工的特征,以及基础的机器学习类的知识。直到这学期才开始直到了解CNN及各种深度学习方面的知识。
博主话不多说,这篇博客是我的第一篇博客,希望能给自己开个好头吧。
由于在深度学习方面我只是单单的接触到了CNN,所以我想就我看到的资料来给自己总结一下CNN的过程及内部细节。
注:本文大部分都是采取摘录的方式进行总结。
一、NN (神经网络)
顾名思义,由各个神经一样组成的网络。
人的神经系统有860亿个神经元,每个神经元从树突接受信号,从轴突传递信号。信号(x0)顺着轴突传递信号,受到了激励变成了w0x0,我们认为这其中的w0是可以学习到的。然后将这些信号进行汇总,如果超过了某个阈值则表明可以被激活。
总结下:每个神经元对输入信号x0和权重w0做内积,加上bias,通过sigmoid激励函数,输出结果。
常用激励函数:
1、sigmoid
公式:σ(x)=1/(1+e−x)
当年用sigmoid的特别多,这两年没有了几乎。
主要缺点如下:
1、实际梯度下降过程中,容易饱和和终止梯度传递。由于反向传播过程依赖于梯度,而一元函数中梯度就是斜率,如图可见在x很大或者很小的时候,斜率为0。我们最后的梯度是中间这些梯度相乘得到的,故如果中间梯度较小,则会将最终结果拉为0。
2、函数输出没有中心化。如果输出的结果均值不为0,那么反向传播的梯度要么全为正,要么全为负。这带来的后果是:反向传播得到的梯度用来更新权重时得到不是平缓的迭代变化,而是锯齿形的变化过程。
相对比,第一个缺点更严重些。
博主话不多说,这篇博客是我的第一篇博客,希望能给自己开个好头吧。
由于在深度学习方面我只是单单的接触到了CNN,所以我想就我看到的资料来给自己总结一下CNN的过程及内部细节。
注:本文大部分都是采取摘录的方式进行总结。
一、NN (神经网络)
顾名思义,由各个神经一样组成的网络。
人的神经系统有860亿个神经元,每个神经元从树突接受信号,从轴突传递信号。信号(x0)顺着轴突传递信号,受到了激励变成了w0x0,我们认为这其中的w0是可以学习到的。然后将这些信号进行汇总,如果超过了某个阈值则表明可以被激活。
总结下:每个神经元对输入信号x0和权重w0做内积,加上bias,通过sigmoid激励函数,输出结果。
常用激励函数:
1、sigmoid
公式:σ(x)=1/(1+e−x)
当年用sigmoid的特别多,这两年没有了几乎。
主要缺点如下:
1、实际梯度下降过程中,容易饱和和终止梯度传递。由于反向传播过程依赖于梯度,而一元函数中梯度就是斜率,如图可见在x很大或者很小的时候,斜率为0。我们最后的梯度是中间这些梯度相乘得到的,故如果中间梯度较小,则会将最终结果拉为0。
2、函数输出没有中心化。如果输出的结果均值不为0,那么反向传播的梯度要么全为正,要么全为负。这带来的后果是:反向传播得到的梯度用来更新权重时得到不是平缓的迭代变化,而是锯齿形的变化过程。
相对比,第一个缺点更严重些。
相关文章推荐
- 机器学习-->深度学习-->卷积神经网络(CNN)
- <<C语言深度剖析>>学习笔记之五:指针与数组
- <<C语言深度剖析>>学习之八之文件结构
- 深度学习Matlab工具箱代码注释——cnntrain.m
- 深度学习系列之CNN核心内容
- 深度学习(十七)基于改进Coarse-to-fine CNN网络的人脸特征点定位-ICCV 2013
- <<C语言深度剖析>>学习笔记之一:C语言中32个关键字
- 深度学习(十八)基于R-CNN的物体检测-CVPR 2014-未完待续
- 【深度学习】研究Fast rcnn代码
- 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-02-基于Python的卷积运算
- 深度学习与自然语言处理之四:卷积神经网络模型(CNN)
- 在Mac下,深度学习CNN库Overfeat的配置及使用
- 深度学习(主要是CNN)用于图片的分类和检测总结
- 深度学习之卷积神经网络CNNs
- 深度学习Matlab工具箱代码注释——cnnsetup.m
- <<C语言深度剖析>>学习之七之函数
- 深度学习阅读笔记(四)之卷积网络CNN
- 【深度学习】研究FastRcnn代码
- 深度学习(DL)与卷积神经网络(CNN)学习随笔-05-基于Python的LeNet之CNN
- 深度学习(十四)基于CNN的性别、年龄识别