李宏毅机器学习PTT的理解(1)深度学习的介绍

深度学习的介绍

机器学习就像是寻找一个合适的函数,我们输入数据就可以得到想要的结果,比如:
李宏毅机器学习PTT的理解(1)深度学习的介绍_第1张图片
在语音识别中,我们输入一段语音,函数的输出值就是识别的结果;在图像识别中,输入一张照片,函数可以告诉我们分类的结果;在围棋游戏中,输出的下一步落子的位置等。
学习的框架大致如下:
李宏毅机器学习PTT的理解(1)深度学习的介绍_第2张图片
创建的模型可以看成是一系列的函数,输入我们的训练数据后,计算代价函数的值,选择一个最好的函数形式用于我们的模型,然后在测试集上进行测试,看能否呈现理想的结果。所以我们的学习大致可以分为三步:
李宏毅机器学习PTT的理解(1)深度学习的介绍_第3张图片
形象点就像是那个笑话,把大象装进冰箱分为几步.。。。

李宏毅机器学习PTT的理解(1)深度学习的介绍_第4张图片
那么在深度学习中,我们第一步不是定义一系列的函数,而是建立一个神经网络
李宏毅机器学习PTT的理解(1)深度学习的介绍_第5张图片
下面来看深度学习的相关知识,首先我们看一下人脑中我们是怎么处理信息的,高中生物的知识可以想起来了:

李宏毅机器学习PTT的理解(1)深度学习的介绍_第6张图片
我们首先来看一下单个神经元是如何工作的
李宏毅机器学习PTT的理解(1)深度学习的介绍_第7张图片
ai(i= 1,2…k)是我们的输入,与权重做点积,加上偏置b传入激活函数便可以得到输出a。激活函数我们很常用的一个便是Logistic 回归中的sigmoid函数:
李宏毅机器学习PTT的理解(1)深度学习的介绍_第8张图片
不同的神经元之间的连接便可以组成不同的网络模型,每一个神经元都可以有不同的权重和偏置值。如果每个神经元都彼此连接的话,便可以得到密集连接网络:
李宏毅机器学习PTT的理解(1)深度学习的介绍_第9张图片
李宏毅机器学习PTT的理解(1)深度学习的介绍_第10张图片

在全连接的神经网络中,所谓深就是指模型的隐藏层数很多,此外就是输入层和输出层:每一层由多个神经元组成
李宏毅机器学习PTT的理解(1)深度学习的介绍_第11张图片
此外在输出层,Softmax常用于多分类问题,所有输出值的和为1,输出的概率值最大的那个类别就是我们的结果:
李宏毅机器学习PTT的理解(1)深度学习的介绍_第12张图片
例如在下面的图像识别的例子中,经过我们模型的计算,第二个概率值为0.7,所以我们判别图像中的数字为2
李宏毅机器学习PTT的理解(1)深度学习的介绍_第13张图片
具体的模型可以形象化的表示为如下,每个输入都是一个256维的向量,经过神经网络模型给出对于每一个类别的概率值,从而识别是哪一个数字;中间的网络模型需要我们设计,并设置比较好的超参数

李宏毅机器学习PTT的理解(1)深度学习的介绍_第14张图片
接下来我们来看Step2:goodness of function,把大象装进冰箱!
在手写数字识别问题中,我们有如下的训练数据,我们希望我们的模型可以很好的识别出是哪个字:
李宏毅机器学习PTT的理解(1)深度学习的介绍_第15张图片
我们模型设计为
李宏毅机器学习PTT的理解(1)深度学习的介绍_第16张图片
每一个输入的图像都是一张16*16,大小为256像素的图像,所以输入就是一个256维的向量,输入到模型训练,然后通过输出层的Softmax给出最后的结果,比如数字为1时,那么我们的输出y1的值就应该是最大的。

那么我们该如何定义我们的损失函数呢?我们可以以网络的输出和真实值之间的距离作为损失,一个好的函数应该尽可能的减小损失,使得输出值逼近真实值。
李宏毅机器学习PTT的理解(1)深度学习的介绍_第17张图片
当我们的输入不止一个数据时,我们就需要计算总损失值L,我们希望找到一个函数集和适合网络的参数集,使得损失值尽可能的小

李宏毅机器学习PTT的理解(1)深度学习的介绍_第18张图片
第三步就是我们选择最好的函数,关上冰箱门
当我们的模型隐藏层很多,每一层的神经元数目很多时,我们的参数就会有很多,枚举每一个参数值显然是不切实际的
李宏毅机器学习PTT的理解(1)深度学习的介绍_第19张图片
所以我们就要寻找其他的方法来解决这个问题,梯度下降法就一个很好的选择,初始化参数后,我们通过计算梯度值不断的接近一个局部的最小值
李宏毅机器学习PTT的理解(1)深度学习的介绍_第20张图片
计算过程可以这样来看
李宏毅机器学习PTT的理解(1)深度学习的介绍_第21张图片
在三维图像中,我们可以更形象化的看出梯度下降是如何执行的

李宏毅机器学习PTT的理解(1)深度学习的介绍_第22张图片

你可能感兴趣的:(Deep,Learning,李宏毅系列课程)