动手学深度学习

第四章多层感知机

4.1多层感知机

最简单的深度网络称为多层感知机。多层感知机由多层神经元组成, 每一层与它的上一层相连,从中接收输入。本质上是一个二分类模型,等价于批量为1的梯度下降。下面,我们以图的方式描述了多层感知机。

 

 

这个多层感知机有4个输入,3个输出,其隐藏层包含5个隐藏单元。 输入层不涉及任何计算,因此使用此网络产生输出只需要实现隐藏层和输出层的计算。 因此,这个多层感知机中的层数为2。 注意,这两个层都是全连接的。 每个输入都会影响隐藏层中的每个神经元, 而隐藏层中的每个神经元又会影响输出层中的每个神经元。

 通用近似定理:多层感知机可以通过隐藏神经元,捕捉到输入之间复杂的相互作用, 这些神经元依赖于每个输入的值。 我们可以很容易地设计隐藏节点来执行任意计算。 例如,在一对输入上进行基本逻辑操作,多层感知机是通用近似器。 即使是网络只有一个隐藏层,给定足够的神经元和正确的权重, 我们可以对任意函数建模,尽管实际中学习该函数是很困难的。 神经网络有点像C语言。 C语言和任何其他现代编程语言一样,能够表达任何可计算的程序。 但实际上,想出一个符合规范的程序才是最困难的部分。

在隐含层中我们选择的都是非线性的激活函数,为什么呢?原因是,如果我们选择线性函数对输入经行处理后,还是一个线性函数,等价于线性感知机,达不到我们上面通用近似定理所说的对任意函数进行模拟。

下面介绍几种常用的激活函数,并用代码实现:

ReLU函数:

 sigmoid函数:

 

 

 tanh函数:

 

 

4.2多层感知机从零实现

这里我们从代码角度展示一下实现,我们选择了relu函数作为激活函数,损失函数这一块由于我们已经从零实现过softmax函数, 因此在这里我们直接使用高级API中的内置函数来计算softmax和交叉熵损失。

 

这里有个问题,我们可以看到多层感知机模型的损失确实下降了,但是模型精度不高。会不会是我们数据多了,模型拟合性好了,所以损失下降,精度变化还得继续向下学习。

下面简洁实现,我们快速展示一下。

本质上还是没有什么变化的,就是这里采用了两个全连接层。 

当然,我们也可以通过改变epoch和学习率来提高模型性能:

 

4.4模型选择、欠拟合和过拟合

 训练误差(training error)是指, 模型在训练数据集上计算得到的误差。 

泛化误差(generalization error)是指, 模型应用在同样从原始样本的分布中抽取的无限多数据样本时,模型误差的期望。

过拟合是由于模型的学习能力相对于数据来说过于强大,反过来说,欠拟合是因为模型的学习能力相对于数据来说过于低下。举个例子,在计算机学习识别树叶过程中,过拟合表现为把样本不一般的特性都学到了,比如认为只有周边有锯齿的才是树叶:而欠拟合呢就是认为绿色的都是树叶。在机器学习过程中,欠拟合一般比较好克服。

将模型在训练数据上拟合的比在潜在分布中更接近的现象称为过拟合(overfitting), 用于对抗过拟合的技术称为正则化(regularization)。

 当我们有更复杂的模型和更少的样本时,我们预计训练误差会下降,但泛化误差会增大。 模型复杂性由什么构成是一个复杂的问题。 一个模型是否能很好地泛化取决于很多因素。 例如,具有更多参数的模型可能被认为更复杂, 参数有更大取值范围的模型可能更为复杂。 通常对于神经网络,我们认为需要更多训练迭代的模型比较复杂, 而需要早停(early stopping)的模型(即较少训练迭代周期)就不那么复杂。

通过一张图来展示一下。

 

那么如何解决这些问题呢?下面我们主要介绍两种方法,权重衰减和暂退法。

 权重衰减(weight decay)是最广泛使用的正则化的技术之一, 它通常也被称为L2正则化

 暂退法在前向传播过程中,计算每一内部层的同时注入噪声,这已经成为训练神经网络的常用技术。 这种方法之所以被称为暂退法,因为我们从表面上看是在训练过程中丢弃(drop out)一些神经元。 在整个训练过程的每一次迭代中,标准暂退法包括在计算下一层之前将当前层中的一些节点置零。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值