机器学习和人工智能入门AI机器学习及python实现

卷积神经网络入门及思考--Apple的学习笔记

2019-01-13  本文已影响2人  applecai

一,学习内容

1.专业术语必须先理解含义

输入层,隐层,卷积核及其参数的含义,卷积层,池化层,全链接层,权值共享,激活函数等。

2.Lenet5每层的参数需要会看,并且自己知道如何计算。

3.需要理解为什么经过卷积核后就可以提取特征,进行识别。

  比如Lenet5对于识别手写数字非常好,这和他的网络结构设置有关系。每个卷积核可以提取不同的特征,比如横线和竖线,右旋,左旋等。

4.需要理解池化层作用及卷积层作用及如何设计

  池化层就是把压缩数据的,一般用2*2。卷积核是提取特征的,每个卷积核设计为提取不同特征。

5.与卷积相关的数学基础需要理解。

  知道卷积核如何求内积,逻辑回归函数sigmod和对数损失函数进行最优化。需要知道sigmod求导的推导,并且知道求偏导的推算。

6. 要从零开始写一个神经网络,通常的方法是什么。

  定义网络结构(指定输出层、隐藏层、输出层的大小)

初始化模型参数

循环操作:执行前向传播/计算损失/执行后向传播/权值更新

二,学习目的

是能看懂LeNet-5的参数,并且自己用keras建立一个卷积神经网络进行训练及识别。

目前理解的不是很深入,对于如何设计卷积核还不太清楚。

期望后续自己做一个工程,并且把每层的特征映射保存为图片,进行直观比较及对比。

三,问题思考

在理论学习的过程中,我在过程中边学边记录问题,然后再去解决这些问题,问题都解决了,我就认为我自己已经入门了。这些问题如下。

1. cost function为什么是求平方差

--有很多种,按分类或者线性回归来区分。

2. 为什么最后一层要用softmax?

--多分类,看成概率问题。

3. 梯度下降是求x对应的y的最小值时候的参数值吗?

--梯度下降可以求最小值的,对的。终止条件就是x一直更新,然后y(t+1)-y(t)约等于0.000001的时候(阈值可以自己设置)

4. 神经网络中的w权重值和卷积核有什么关系?

--是相同的关系。一开始卷积核(参数W和b)都被“初始化”成很小的“随机值

5. 为什么用反向传播的方法来更新权重值?和梯度下降没有任何关系吧?

--原理就是梯度下降,只不过反向传播用链式法则

6. 神经网络的损失函数是什么?softmax吗?

--不是softmax,损失函数我们采用交叉熵损失

7. 卷积神经网络中权重共享是什么意思?

--输入使用同样的权重,目的是减少参数。

8. 卷积核的值会被更新吗?

--会的,一开始通过卷积核权重来更新特征map,然后特征map会传入分类器函数,再建立损失函数。所以求损失函数的时候会调用到map中的卷积核权重参数。

9. 激活函数的作用?

--构建分类器模型进行分类,就像机器学习中用的SVM就是通过感知机分类的

10. Lenet5全链接层的作用,为什么卷积核数量是120?

--全连接最后一层,120代表就是类别数量。Lenet可以识别120类内容,若只要识别0-9数字,则120可以改为10。

11. S2和C3层怎么又I=[1,2,3]是什么意思?

--因为为局部链接,是Lenet5专门这样设计的

12. 为什么模型都用y=wx+b?

--图像中的像素变换,这本质是一个线性回归的问题

13. sigmod是损失函数吗?

--sigmod是分类器,通过输出不同的概率来找到最大概率对应的对象完成分类。损失函数一般用交叉熵。

14. 卷积核6个,每个卷积核都一样吗?

--一般卷积核都是不同的,每个卷积核可以提取一种特征。

15. 卷积神经网络中一个圆圈神经元是什么意思?

--代表一个图像像素。

16. 为什么要用交叉熵做损失函数而不用平方差?

--因为交叉熵下降快

四,参考

< Good_LeNet-5详解>

< good_卷积神经网络CNN原理详解>

上一篇下一篇

猜你喜欢

热点阅读