深度学习基本理论
一、感知机
深度学习的实现是多层的神经单元相互传递信息(传递信息的方式也就是以矩阵相乘的形式传递后面详细介绍)每层神经元都是以感知机作为单位。我们与门和或门进行举例:
首先我们看与门的真值表:
或门的真值表
x1和x2作为输入,y为输出。通过真值表我们就能发现当x1和x2同为1的时候,y才能为1。现在我们用感知机来实现这个与门。
感知机的架构类似于图示,但是要实现感知机还需要一个激活函数,我们与门假设激活函数为:
因此我们设置参数w1和w2以及b就可以进行与门的预测。我们假设w1和w2的值各为 -1,-1。b的值为1.5。我们发现参数符合这个真值表。能够利用这个感知机进行预测与门。同理或门我们以同样的方式也可以进行预测。
如果我们用此感知机预测异或门呢?我们首先看异或门的真值表:
首先给出结论,不能用上述一个感知机进行预测异或门。为了解决这个问题我们将这两个问题进行图形化解释。
在与门中可以看到,真值表的分布,可以按照一个线性将他们分开。也就是说可以用一个感知机进行预测。
再看或门的真值表在二维坐标系上。
可以看到异或门的真值表在二维上不能用一个线性函数进行区分开。
为了解决该问题,我们尝试增加感知机层数。
当我们尝试增加感知机的层数,添加与门和或门的层就可以解决异或门的问题。也就是说我们增加层数,改变了预测函数。由直线变成其他的类型函数。
二、深度学习的学习过程
当我们构建了一个深度学习模型,它是如何进行学习的呢?
(1)首先要明白函数的梯度和偏导数。
我们假设有一个函数
假设我们的参数在(x0,y0)上,找一个方向进行移动达到最小值。我们由高数中的知识可以知道沿着他的偏导方向就是变化最大的方向。因此我们就可以这样调参
其中n是一个很小的数,防止调解过大。
按照同样的道理,我们根据模型计算出他的损失函数,按照这个原理进行调参就是神经网络的学习。
三、激活函数
神经网络的激活函数是用在神经网络层中,当当前层获取上一层的数据,就需要激活函数进行一次转换。也就实现了神经网络层的连接。目前比较流行的是sigmoid函数和ReLU函数。
(1)sigmoid函数