深度学习笔记一

第一部分:神经网络

我们认识到的神经元
这里写图片描述
到输入输出系统的转变
这里写图片描述

这里写图片描述

这里描述的神经系统的优点在于,我们不需要去了解我追求的输入X与输出Y之间的内部联系,我只需要通过大量的样本训练来获得合适的权值即可。

而深度学习的目的是给定一些样本点,用合适的曲线揭示这些样本点随着自变量的变化关系。不过样本点不再限定为(x,y)点对。而是可以由向量、矩阵等等组成的广义点对(x,y)。此时,(x,y)之间的关系十分复杂,不太可能用一个简单函数表示(简单函数:包括初等函数、较简单的对应映射、能用较简单的概率分布函数表示出来),而多层神经网络可以表示这种关系。因而,多层神经网络的本质就是一个多层复合的函数

我们使用圆圈来表示神经网络的输入,标上“+1”的圆圈被称为偏置节点,也就是截距项。神经网络最左边的一层叫做输入层,最右的一层叫做输出层(本例中,输出层只有一个节点)。中间所有节点组成的一层叫做隐藏层,因为我们不能在训练样本集中观测到它们的值。同时可以看到,以上神经网络的例子中有3个输入单元(偏置单元不计在内),3个隐藏单元及一个输出单元。

我们用nl来表示网络的层数,本例中nl=3,我们将第l层记为Ll,于是L1是输入层,输出层是Ln。本例神经网络有参数这里写图片描述,其中 这里写图片描述(下面的式子中用到)是第l 层第 j 单元与第 l+1 层第 i 单元之间的联接参数(其实就是连接线上的权重,注意标号顺序), bi(l) 是第 l+1 层第 i 单元的偏置项。因此在本例中, 这里写图片描述这里写图片描述 。注意,没有其他单元连向偏置单元(即偏置单元没有输入),因为它们总是输出+1 。同时,我们用 sl 表示第 l 层的节点数(偏置单元不计在内)。

我们用 这里写图片描述 表示第 l 层第 i 单元的激活值(输出值)。当 l=1时, 这里写图片描述 ,也就是第 i 个输入值(输入值的第 i 个特征)。对于给定参数集合 这里写图片描述,我们的神经网络就可以按照函数 这里写图片描述 来计算输出结果。本例神经网络的计算步骤如下:

这里写图片描述

反向传播算法

  1. 求梯度:按照之前的思路,我们最终的目标是获得一组好的参数,一般是采用成本函数作为目标函数。然后,训练目标就是通过不断调整Wij来是的cost值达到最小。cost函数也可以看成是由所有待求权值Wij为自变量的复合函数,且基本是非凸。在实际中发现,采用梯度下降法可以有效的求解最小化cost函数的问题。即要通过loss(f(x),YGT)= loss(ω),要使二者尽可能接近。
  2. 梯度下降:需要给定一个初始点,并求出该点的梯度向量,然后以负梯度方向为搜索方向,以一定的步长进行搜索,从而确定下一个迭代点,再计算该新梯度方向,如此重复直到cost收敛。
    这里写图片描述

第二部分:卷积神经网络

提出问题:我们经常要处理的数据中,例如一个200 *200 *3(这里的3是指RGB三色)的图像,会让神经元包含120000个权重值。而网络中肯定不止一个神经元,那么参数的量就会快速增大,大量参数还会导致过拟合。

因此我们提出了卷积神经网络,利用滤波器的卷积性质,来训练滤波器即可。知乎上有一个讲卷积神经网络的帖子https://www.zhihu.com/question/52668301/answer/194998098
这里以这个帖子为基础讲一下我的总结和理解。

一个简单的卷积神经网络是由各种层按照顺序排列组成,网络中的每一个层使用一个可以微分的函数将激活数据从一个层传递到另一个层。卷积神经网络主要有三种类型的层构成:卷积层(Conv),池化层(Pooling)和全连接层(FC)。通过将这些层叠加起来,就可以构建一个完整的卷积神经网络。

卷积层

构建卷积神经网络的核心层,它产生了网络中大部分的计算量

滤波器的性质:如果我们用一张图来训练包含这张图的所有权重,会有以下几个弊端:a.只有一个训练样本,根本无法实现想要的效果,图片的识别不变性也无从谈起。 b.就是前面所提出的问题,权参数太多太过复杂(权重b0是共用的)。

因此,我们根据一个系统的卷积特性提出了滤波器。这样参数的个数就会大幅减少,而且能够满足不变性。

不同的滤波器效果会不一样
这里写图片描述

数据处理
a. 之前在讨论时,我们是在一个平面上的,但实际上一个图片还有depth维(但depth是贯穿的,不用在这个维度上考虑步长),考虑进去有

这里写图片描述

b. zero padding:为了使图像在卷积后不会变小,我们根据滤波器的大小,适当的在边缘围圈。为了方便,我们一般选择(3x3,1)或(5x5,2)的zero padding。

c.需要强调的一个思路是,输出的depth可以不是1。我们可以将不同的滤波结果当成不同depth层,从而进一步实现自己想要的效果。
这里写图片描述

这样卷积后输出的长方体可以作为新的输入送入另一个卷积层中处理。

局部感受野
这里写图片描述

d.加入非线性:可以加入激励函数进行变换
这里写图片描述

如ReLU变换

这里写图片描述

e.对于具体的计算,可以利用知乎帖中提到的“矩阵乘法执行卷积”,当然如果学过数字信号处理,也可以用快速傅里叶变换。如果准备使用快速傅里叶变换的话,与其补0不如把滤波器设成2的整数次。

池化层

在通过卷积获得特征以后,下一步我们希望利用这些特征去做分类。理论上讲,人们可以利用所有提取得到的特征去训练分类器,例如sofmax分类器,但这样面临计算量的挑战。

通常在连续的卷积层之间会周期性的插入一个池化层。他的作用是逐渐降低数据体的空间尺寸,从而减少网络中的参数的数量,使得计算资源耗费变少,也能有效的控制过拟合。

我们能够注意到,如果单一的按照之前的权重设置与相乘,无论设置多少层,在加成线性运算后,其最终的结果都会变成只有一层。因此我们考虑引入池化层(max pooling)来做非线性变换。其优点是能够凸显出重要的信息起选择作用。缺点则是有些周边信息对某个概念是否存在的判定有影响。
这里写图片描述

全连接层

全连接层中,神经元对于前一层中所有激活数据都是全部连接的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值