【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

【Yolo的听课笔记一】深度学习初步 Softmax, DNN, Wide&&Deep Model

我是刚刚接触计算机视觉的小白Yolo,很多知识都处于摸索阶段。为了记录自己的学习历程,我在这里把自己的学习内容进行总结.
听课笔记系列是为了整理自己在各个课程中的笔记,主要是回顾课堂内容,也融入了一些自己的理解和网上资料。

目录

背景介绍

深度学习的应用

深度学习在计算机视觉、自然语言处理等很多方面都有非常广泛的应用。这方面的资料比较多,在这里只对课堂上讲过的几种简单进行总结如下:
- 计算机视觉:包括图像分类,图像检索、风格迁移、无人驾驶等
- NLP上的应用:模仿写作、代码编写、文字识别等
- 综合应用:看图说话等

神经网络非线性能力及原理

得分函数

得分函数:得分函数是一种输入到输出的映射关系。对于一个给定的输入,比如一张小猫的图片,通过一系列复杂的变换能得到这个输入对应于每个类别的得分数值,分数最大的对应类别就是分类结果。

计算过程:得分函数的形式一般记为:

f(x,W)=Wxb
其中x为输入的一个列向量,W为权重矩阵。
举个例子:一张图片是32*32*3(长宽为32个像素,3位通道),那就可以构建一个32*32*3=3072维的一个列向量,把他作为x输入。假如要分为10类,那么W就是一个10*3072的一个矩阵。Wx后得出一个10*1的一个列向量f,把它作为得分函数。
【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

计算实例:为了方便分析,我们用一个4*4*3的图像进行分析,它由四个像素点组成,我们将其拉成一个列向量xi,权重参数W是一个3*4的矩阵,输出为一个13的列向量,参数b为偏置项。我们最终得到这只小猫属于每个类别的得分数值。
【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

损失函数

损失函数:损失函数是一个衡量错误和损失程度的函数。上文中得分函数给出了输入与输出之间的关系,我们可以得到三个类别对应的数值,但无法对分类效果进行评判,损失函数即是为解决这个问题而提出的。

注意点
- 对于一个给定的W,我们可以由像素映射到类目得分,根据得分和实际的差异,我们可以调整参数W,使映射结果与实际类别吻合.从这个角度考虑,损失函数就是用来衡量吻合度的。
- 损失函数又被称为代价函数(cost function )或客观度(objective)

hinge loss/支持向量机损失

hinge loss:在机器学习中,hinge loss常作为分类器训练时的损失函数。hinge loss用于“最大间隔”分类,特别是针对于支持向量机(SVM).

【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

  • hinge loss表示所得分类与标准答案之间的差异,通过设置”警戒线”进行差异的比较.在线性模型中,设置了与正确分类点距离为Δ的点作为警戒,从而损失函数为: -
    【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model
  • 实例分析
    【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

交叉熵损失
为了能更直观的对得分情况进行比较,我们在这里把得分转化为概率,这个转化过程由一个单调函数完成.于训练集中的第i张图片数据xi在W下会有一个得分结果向量yi,则损失函数记作
【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

  • 对两种损失函数的理解:
    一方面,hinge loss函数没有进过归一化,而交叉熵函数是经过归一化的函数.在另一方面,交叉熵函数用概率来衡量分类的效果,不可能达到最优情况(概率为0),而hinge loss函数可以达到最优情况(只需所有的分类情况都在警戒线之外即可).
    【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

神经网络

神经网络是由输入层 ,隐层和输出层组成。由感知器可以延申得到浅层神经网络和深度神经网络!

【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

神经网络完成逻辑与

当三个权值分别为-30,20和20时,输出值为

g(3020x120x2)
当且只当x1,x2为1这个值大于0,此时即称为逻辑与.
【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model
所得到的边界由取交集获得
【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

神经网络完成逻辑或

当三个权值分别为-10,20和20时,输出值为

g(1020x120x2)
x1x2为1这个值大于0,此时即称为逻辑或.
【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model
###神经网络的非线性切分
结合神经网络线性分类器的逻辑与和逻辑或操作,我们可以对图像进行非线性操作:
【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model
随着结构的变化,神经网络对图像的分类能力也会发生变化:
【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

神经网络的表达力和过拟合

单隐层神经网络从理论上讲可以对任何连续函数进行拟合,但随着隐含层数目的增多,神经网络的拟合能力变强.【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model
虽然一定程度上结构的复杂化可以提高神经网络的有关性能,但如果结构过于复杂则会导致过拟合.【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

传递函数

sigmoid函数和双S函数是我们在机器学习里经常用到的两种传递函数,值得一提的是,sigmoid函数具有较好的数学特性,处处可导且其其导数为:

f(x)=f(x)(1f(x)).
【Yolo的听课笔记一】七月在线 深度学习第四期 深度学习初步 Softmax, DNN, Wide&&Deep Model

神经网络之BP算法

在后续文章中将对BP神经网络进行详细推导,此处不再赘述