电子发烧友App

硬声App

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

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

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>PyTorch教程19.4之多保真超参数优化

PyTorch教程19.4之多保真超参数优化

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

资料介绍

即使在中等规模的数据集上,训练神经网络也可能很昂贵。根据配置空间(第 19.1.1.2 节),超参数优化需要数十到数百次函数评估才能找到性能良好的超参数配置。正如我们在19.3 节中看到的 ,我们可以通过利用并行资源显着加快 HPO 的整体时钟时间,但这并不会减少所需的总计算量。

在本节中,我们将展示如何加速超参数配置的评估。随机搜索等方法为每个超参数评估分配相同数量的资源(例如,epoch 数、训练数据点)。图 19.4.1 描绘了一组使用不同超参数配置训练的神经网络的学习曲线。经过几个 epoch 之后,我们已经能够在视觉上区分性能良好和次优的配置。然而,学习曲线是嘈杂的,我们可能仍然需要全部 100 个 epoch 来确定表现最好的一个。

https://file.elecfans.com/web2/M00/AA/48/pYYBAGR9PYOAF8kfAAxEY-DeiWg543.svg

图 19.4.1随机超参数配置的学习曲线

多保真超参数优化将更多资源分配给有前途的配置,并尽早停止对性能不佳的配置的评估。这加快了优化过程,因为我们可以为相同的资源总量尝试更多的配置。

更正式地说,我们扩展了第 19.1.1 节中的定义 ,这样我们的目标函数 f(x,r)获得额外的输入 r∈[rmin,rmax], 指定我们愿意为配置评估花费的资源量x. 我们假设错误 f(x,r)随着r,而计算成本c(x,r)增加。通常, r表示训练神经网络的时期数,但它也可以是训练子集大小或交叉验证折叠数。

from collections import defaultdict
import numpy as np
from scipy import stats
from d2l import torch as d2l

d2l.set_figsize()

19.4.1。连续减半

使随机搜索适应多保真度设置的最简单方法之一是连续减半 Jamieson 和 Talwalkar,2016 年Karnin等人,2013 年基本思想是从N配置,例如从配置空间随机采样,并训练它们中的每一个 rmin只有时代。然后,我们丢弃一部分表现最差的试验,并对其余试验进行更长时间的训练。重复这个过程,更少的试验运行更长时间,直到至少有一个试验达到rmax时代。

更正式地说,考虑最低预算rmin(例如 1 个 epoch),最大预算rmax,例如 max_epochs在我们之前的例子中,还有一个减半常数 η∈{2,3,…}. 为简单起见,假设 rmax=rminηK, 和K∈I. 那么初始配置的数量是N=ηK. 让我们定义一组梯级 R={rmin,rminη,rminη2,…,rmax}.

一轮连续减半的过程如下。我们从跑步开始N试验到第一梯级rmin. 对验证错误进行排序,我们保持顶部1/η分数(相当于ηK−1配置)并丢弃所有其余的。幸存的试验被训练用于下一个梯级(rminηepochs),然后重复该过程。在每个梯级,一个1/η部分试验存活下来,他们的训练继续进行η倍大的预算。有了这个特别的选择N, 只有一个试验将被训练到全部预算rmax. 一旦这样一轮连续的减半完成,我们就会用一组新的初始配置开始下一轮,迭代直到总预算用完。

https://file.elecfans.com/web2/M00/A9/CE/poYBAGR9PYmAFbkqAAozwWvrwco526.svg

图 19.4.2随机超参数配置的学习曲线。

我们将第 19.2 节HPOScheduler的基类子类化 ,以实现连续减半,允许通用 对象对配置进行采样(在我们下面的示例中,它将是 a )。此外,用户必须通过最少的资源HPOSearcherRandomSearcherrmin, 最大资源 rmaxη作为输入。在我们的调度程序中,我们维护一个配置队列,这些配置仍需要针对当前梯级进行评估ri. 每次我们跳到下一个梯级时,我们都会更新队列。

class SuccessiveHalvingScheduler(d2l.HPOScheduler): #@save
  def __init__(self, searcher, eta, r_min, r_max, prefact=1):
    self.save_hyperparameters()
    # Compute K, which is later used to determine the number of configurations
    self
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1ADI高性能电源管理解决方案
  2. 2.43 MB   |  446次下载  |  免费
  3. 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
  4. 5.67 MB   |  134次下载  |  1 积分
  5. 3基于STM32单片机智能手环心率计步器体温显示设计
  6. 0.10 MB   |  120次下载  |  免费
  7. 4如何正确测试电源的纹波
  8. 0.36 MB   |  5次下载  |  免费
  9. 5550W充电机原理图
  10. 0.13 MB   |  2次下载  |  6 积分
  11. 6USB的PD快充协议电压诱骗控制器FS312A中文手册
  12. 1.51 MB   |  2次下载  |  免费
  13. 7USB的PD和OC快充协议电压诱骗控制器FS312B中文手册
  14. 1.35 MB   |  2次下载  |  免费
  15. 8ADI公司串行端口开发和故障排除指南
  16. 343.09KB   |  1次下载  |  免费

本月

  1. 1ADI高性能电源管理解决方案
  2. 2.43 MB   |  446次下载  |  免费
  3. 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
  4. 5.67 MB   |  134次下载  |  1 积分
  5. 3基于STM32单片机智能手环心率计步器体温显示设计
  6. 0.10 MB   |  120次下载  |  免费
  7. 4使用单片机实现七人表决器的程序和仿真资料免费下载
  8. 2.96 MB   |  44次下载  |  免费
  9. 53314A函数发生器维修手册
  10. 16.30 MB   |  31次下载  |  免费
  11. 6美的电磁炉维修手册大全
  12. 1.56 MB   |  22次下载  |  5 积分
  13. 7感应笔电路图
  14. 0.06 MB   |  10次下载  |  免费
  15. 8使用TL431设计电源
  16. 0.67 MB   |  8次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935119次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420062次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233084次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191367次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183335次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81581次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73807次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65987次下载  |  10 积分