电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>PyTorch教程12.1之优化和深度学习

PyTorch教程12.1之优化和深度学习

2023-06-05 | pdf | 0.38 MB | 次下载 | 免费

资料介绍

在本节中,我们将讨论优化与深度学习之间的关系以及在深度学习中使用优化的挑战。对于一个深度学习问题,我们通常会先定义一个 损失函数一旦我们有了损失函数,我们就可以使用优化算法来尝试最小化损失。在优化中,损失函数通常被称为优化问题的目标函数。按照传统和约定,大多数优化算法都与最小化有关如果我们需要最大化目标,有一个简单的解决方案:只需翻转目标上的标志。

12.1.1。优化目标

尽管优化为深度学习提供了一种最小化损失函数的方法,但从本质上讲,优化和深度学习的目标是根本不同的。前者主要关注最小化目标,而后者关注在给定有限数据量的情况下找到合适的模型。第 3.6 节中,我们详细讨论了这两个目标之间的区别。例如,训练误差和泛化误差通常不同:由于优化算法的目标函数通常是基于训练数据集的损失函数,因此优化的目标是减少训练误差。然而,深度学习(或更广泛地说,统计推断)的目标是减少泛化误差。为了完成后者,除了使用优化算法来减少训练误差外,我们还需要注意过度拟合。

%matplotlib inline
import numpy as np
import torch
from mpl_toolkits import mplot3d
from d2l import torch as d2l
%matplotlib inline
from mpl_toolkits import mplot3d
from mxnet import np, npx
from d2l import mxnet as d2l

npx.set_np()
%matplotlib inline
import numpy as np
import tensorflow as tf
from mpl_toolkits import mplot3d
from d2l import tensorflow as d2l

为了说明上述不同的目标,让我们考虑经验风险和风险。如第 4.7.3.1 节所述 ,经验风险是训练数据集的平均损失,而风险是整个数据群的预期损失。下面我们定义两个函数:风险函数f和经验风险函数g假设我们只有有限数量的训练数据。结果,这里g 不如 平滑f

def f(x):
  return x * torch.cos(np.pi * x)

def g(x):
  return f(x) + 0.2 * torch.cos(5 * np.pi * x)
def f(x):
  return x * np.cos(np.pi * x)

def g(x):
  return f(x) + 0.2 * np.cos(5 * np.pi * x)
def f(x):
  return x * tf.cos(np.pi * x)

def g(x):
  return f(x) + 0.2 * tf.cos(5 * np.pi * x)

下图说明了训练数据集上经验风险的最小值可能与风险的最小值(泛化误差)位于不同的位置。

def annotate(text, xy, xytext): #@save
  d2l.plt.gca().annotate(text, xy=xy, xytext=xytext,
              arrowprops=dict(arrowstyle='->'))

x = torch.arange(0.5, 1.5, 0.01)
d2l.set_figsize((4.5, 2.5))
d2l.plot(x, [f(x), g(x)], 'x', 'risk')
annotate('min of\nempirical risk', (1.0, -1.2), (0.5, -1.1))
annotate('min of risk', (1.1, -1.05), (0.95, -0.5))
https://file.elecfans.com/web2/M00/AA/44/pYYBAGR9OLCARSaKAAEhrWBFT9M534.svg
def annotate(text, xy, xytext): #@save
  d2l.plt.gca().annotate(text, xy=xy, xytext=xytext,
              arrowprops=dict(arrowstyle='->'))

x = np.arange(0.5, 1.5, 0.01)
d2l.set_figsize((4.5, 2.5))
d2l.plot(x, [f(x), g(x)], 'x', 'risk')
annotate('min of\nempirical risk', (1.0, -1.2), (0.5, -1.1))
annotate('min of risk', (1.1, -1.05), (0.95, -0.5))
https://file.elecfans.com/web2/M00/AA/44/pYYBAGR9OLCARSaKAAEhrWBFT9M534.svg
def annotate(text, xy, xytext): #@save
  d2l.plt.gca().annotate(text, xy=xy, xytext=xytext,
              arrowprops=dict(arrowstyle='->'))

x = tf.range(0.5, 1.5, 0.01)
d2l.set_figsize((4.5, 2.5))
d2l.plot(x, [f(x), g(x)], 'x', 'risk')
annotate('min of\nempirical risk', (1.0, -1.2), (0.5, -1.1))
annotate('min of risk', (1.1, -1.05), (0.95, -0.5))
https://file.elecfans.com/web2/M00/A9/CA/poYBAGR9OLWAAe0DAAEhtoAyqDg129.svg

12.1.2。深度学习中的优化挑战

在本章中,我们将特别关注优化算法在最小化目标函数方面的性能,而不是模型的泛化误差。3.1 节中,我们区分了优化问题中的解析解和数值解。在深度学习中,大多数目标函数都很复杂,没有解析解。相反,我们必须使用数值优化算法。本章的优化算法都属于这一类。

深度学习优化有很多挑战。一些最令人烦恼的是局部最小值、鞍点和梯度消失。让我们来看看它们。

12.1.2.1。局部最小值

对于任何目标函数f(x), 如果值f(x)x小于的值f(x)在附近的任何其他点x, 然后f(x)可能是局部最小值。如果值f(x)x是整个域内目标函数的最小值,则f(x)是全局最小值。

例如,给定函数

(12.1.1)f(x)=x⋅cos(πx) for −1.0≤x≤2.0,

我们可以逼近这个函数的局部最小值和全局最小值。

x = torch.arange(-1.0, 2.0, 0.01)
d2l.plot(x, [f(x), ], 'x', 'f(x)')
annotate('local minimum', (-0.3, -0.25), (-0.77, -1.0))
annotate('global minimum', (1.1, -0.95), (0.6, 0.8))
https://file.elecfans.com/web2/M00/AA/44/pYYBAGR9OLeAVduAAACoUAH2ZEc074.svg
x = np.arange(-1.0, 2.0, 0.01)
d2l.plot(x, [f(x), ], 'x', 'f(x)')
annotate('local minimum', (-0.3, -0.25), (-0.77, -1.0))
annotate('global minimum', 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费