自动驾驶(九)---------深度学习(CNN)

一个不搞深度学习的程序员,绝对不是好的程序员!

CNN卷积神经网络,是一种多层神经网络,通常包含数据输入层、卷积计算层、ReLU激活层、池化层、全连接层。

                             

1. 卷积层

       卷积层是通过一个可调参数的卷积核与上一层特征图进行滑动卷积运算,再加上一个偏置量得到一个净输出,然后调用激活函数得出卷积结果。

                                                  自动驾驶(九)---------深度学习(CNN)_第1张图片

         同一层一般有多个卷积核,因此一层图像,经过卷积层,得到多层输出。

2 抽样层(池化层)

       抽样层是将输入的特征图用nxn的窗口划分成多个不重叠的区域,然后对每个区域计算出最大值或者均值,使图像缩小了n倍,最后加上偏置量通过激活函数得到抽样数据。

                                               自动驾驶(九)---------深度学习(CNN)_第2张图片

       池化就是图像降采样,因此不会导致层数变多。

3. 全连接层

        连接所有的特征,需要大量的参数,和卷积不同的是,这些参数都不相同,所以优化起来很麻烦。

                                                                 

       全连接层是为了感受全部的数据变化,不会加层数,也不会改变每一层的尺寸。

       不论是卷积还是全连接,都是采用神经元的基本结构,都要用到激活函数,这里就不详述了。CNN网络中前几层的卷积层参数量占比小,计算量占比大;而后面的全连接层正好相反,大部分CNN网络都具有这个特点。因此我们在进行计算加速优化时,重点放在卷积层;进行参数优化、权值裁剪时,重点放在全连接层。

剩下的就是不同网络,采用不同的组合方式:

    1 手写体:  

    2 GoogleLeNet:

                             这里写图片描述

反向传播:

       https://blog.csdn.net/xierhacker/article/details/53431207

你可能感兴趣的:(自动驾驶)