动手学深度学习:7.1 优化与深度学习

本节探讨优化在深度学习中的角色,优化算法旨在最小化损失函数,但目标与深度学习的泛化误差降低不同。在深度学习中,由于复杂的优化问题常无解析解,需依赖数值方法。面临的主要挑战包括局部最小值,这可能导致模型在训练过程中陷入次优状态。
摘要由CSDN通过智能技术生成

7.1 优化与深度学习

本节将讨论优化与深度学习的关系,以及优化在深度学习中的挑战。在一个深度学习问题中,我们通常会预先定义一个损失函数。有了损失函数以后,我们就可以使用优化算法试图将其最小化。在优化中,这样的损失函数通常被称作优化问题的目标函数(objective function)。依据惯例,优化算法通常只考虑最小化目标函数。其实,任何最大化问题都可以很容易地转化为最小化问题,只需令目标函数的相反数为新的目标函数即可。

7.1.1 优化与深度学习的关系

虽然优化为深度学习提供了最小化损失函数的方法,但本质上,优化与深度学习的目标是有区别的。 在3.11节(模型选择、欠拟合和过拟合)中,我们区分了训练误差和泛化误差。 由于优化算法的目标函数通常是一个基于训练数据集的损失函数,优化的目标在于降低训练误差。 而深度学习的目标在于降低泛化误差。为了降低泛化误差,除了使用优化算法降低训练误差以外,还需要注意应对过拟合。

本章中,我们只关注优化算法在最小化目标函数上的表现,而不关注模型的泛化误差。

7.1.2 优化在深度学习中的挑战

我们在3.1节(线性回归)中对优化问题的解析解和数值解做了区分。深度学习中绝大多数目标函数都很复杂。因此,很多优化问题并不存在解析解,而需要使用基于数值方法的优化算法找到近似解,即数值解。本书中讨论的优化算法都是这类基于数值方法的算法。为了求得最小化目标函数的数值解,我们将通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。

优化在深度学习中有很多挑战。下面描述了其中的两个挑战,即局部最小值和鞍点。为了更好地描述问题,我们先导入本节中实验需要的包或模块。

%matplotlib inline
import sys
sys.path.append("..") 
import d2lzh_pytorch as d2l
from mpl_toolkits import mplot3d # 三维画图
import numpy as npCopy to clipboardErrorCopied

7.1.2.1 局部最小值

对于目标函数f(x)f(x) f(x)f(x)=xcos(πx),1.0x2.<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值