深度学习调参(炼丹)指南来了!

Datawhale Datawhale     2023-01-22     728

关键词:

 Datawhale干货 

方向:深度学习调参,编辑:机器之心

「大量的实践经验已被提炼成这份强大的深度学习模型调参指南。」——Geoffrey Hinton。

众所周知,AI 的超参数决定着模型学习效果和速度。相比普通机器学习任务,深度学习需要的训练时间较长,因此调参技巧就显得尤为重要。

但鉴于深度学习「炼丹」的特性,不同的模型需要不同的超参数,而每个超参的意义又不同,在不同实验中,参数和调整的方向又都不一样。调参这件事一直以来没有固定的套路,每个人都有自己的经验,因此经常会出现一些似是而非的理论,比如:

  • Random seed = 0 得到坏的结果

  • Random seed = 42 得到好的结果

为了破除「迷信」,高举科学旗帜,近日来自谷歌大脑、哈佛大学的研究人员发布了《Deep Learning Tuning Playbook》,旨在帮助大家解决这一 AI 领域的老大难问题。

项目 GitHub 上线仅一天就已收获了上千 Star 量:

项目地址:https://github.com/google-research/tuning_playbook

该项目也得到了图灵奖获得者,谷歌 AI 科学家 Geoffrey Hinton 等人的转推支持。Geoffrey Hinton 表示「大量的实践经验已被提炼成这份强大的深度学习模型调参指南。」

文档意义

这份调参指南适用于对改进深度学习模型性能感兴趣的工程师和研究人员。阅读这份指南需要掌握机器学习和深度学习的基本知识。

这份指南的主要内容是调整超参数,也涉及深度学习训练的其他方面,例如 pipeline 实现和优化。指南假设机器学习问题是一个监督学习问题或自监督学习问题,但其中的一些规定也适用于其他类型的问题。

当前,深度神经网络就像一个黑箱,要想在实践中获得良好的性能,需要付出大量的努力和猜测。更糟糕的是,很少有人记录各种研究获得良好结果的实际方法。人们似乎在回避详解实践中的调参问题,也极少分享经验。这让深度学习专家获得的实验结果,与普通从业者复现相似方法获得的结果差距悬殊。

随着深度学习方法的成熟并对世界产生重要影响,深度学习社区需要更多涵盖有用方法的资源,包括对于获得良好结果至关重要的所有实用细节。

本项目是一个由五名研究人员和工程师组成的团队,他们在深度学习领域工作多年,其中一些人早在 2006 年就开始了。

该团队已经将深度学习应用于从语音识别到天文学的各个领域的问题,并在此过程中学到了很多东西。本文档源于工程师们训练神经网络、教授新机器学习工程师以及为同事提供深度学习实践建议的经验。虽然深度学习早已从实验室实践的机器学习方法发展为数十亿人使用的技术驱动产品,但它作为一门工程学科仍处于起步阶段。

该指南是谷歌研究人员在构建自有深度学习方法时产生的,它代表了作者在撰写本文时的观点,而不是任何客观规律。为此,作者鼓励发现其中存在问题的读者提出替代建议和令人信服的证据,以便不断更新完善这份指南。

需要说明的是,这不是 TensorFlow 等谷歌产品的官方支持文档。

指南内容

该指南包含哪些内容?可以分为四大部分:

  • 指导开始新项目

  • 改善模型性能的科学方法

  • 如何决定每次训练运行步数

  • 训练过程中的其他经验

例如第一部分,你开始新项目时如何选择模型架构、优化器、batch 大小等,都有详细的经验指导。

该指南中关于选择模型架构的经验。

而后关于「炼丹」的模型性能改进、训练运行的步数等也有经验分享。

可以说,这份指南可以教你提升模型性能的大量细节。看完上面目录,大家可以去Github细致学习了。

整理不易,三连

你都有哪些炼丹神器深度学习(rnn、cnn)调参的经验?

对于rnn和cnn这种深度学习模型,常用的炼丹神器可能包括:调节学习率:学习率较小可以保证模型在训练时稳定,但是训练速度较慢;学习率较大可能会使模型在训练时快速收敛,但是有可能导致过拟合。调节隐藏单元数量:隐... 查看详情

深度学习如炼丹,你有哪些迷信做法?网友:randomseed=42结果好

 Datawhale推荐 编辑:陈萍、杜伟,来源:机器之心调参的苦与泪,还有那些「迷信的做法」。每个机器学习领域的研究者都会面临调参过程的考验,当往往说来容易做来难。调参的背后往往是通宵达旦的论文... 查看详情

2023「炼丹」gpu选购指南来了:英伟达3080和4070ti成性价比之王

Alex发自凹非寺量子位|公众号QbitAI春暖花开,各位深度学习er想不想给自己的“丹炉”升级一波?“炼丹”爱好者们应该知道,在该领域中,**GPU的总体表现完胜CPU。那么GPU应该怎么选?不妨来看看这篇超级详... 查看详情

谷歌推出深度学习调优手册,不到一天狂揽1200星,hinton转发|github

...?现在,一份上线不到一天就狂揽1200+星的《深度学习调优手册》来了。△数字还在飞速上涨,估计马上就要登热榜了这可能是市面上首个如此全面的炼丹宝典,由5位谷歌工程师大佬合作总结。这些大佬们都已... 查看详情

深度学习炼丹-数据预处理和增强(代码片段)

前言一,Normalization概述1.1,Normalization定义1.2,什么情况需要Normalization1.3,DataNormalization方法1.4,示例代码二,normalizeimages2.1,图像normalization定义2.2,图像normalization的好处2.3,PyTorch实践图像normalization三,数据增强(扩增)3.1,open... 查看详情

深度学习调参体验

 深度学习调参体验(二)1.激活函数选择:常用的激活函数有relu、leaky-relu、sigmoid、tanh等。对于输出层,多分类任务选用softmax输出,二分类任务选用sigmoid输出,回归任务选用线性输出。而对于中间隐层,则优先选择relu激活... 查看详情

深度学习装机指南:从gpu到显示器,全套硬件推荐

前言:硬件设备,是任何一名深度学习er不可或缺的核心装备。各位初级调参魔法师们,你们有没有感到缺少那一根命中注定的魔杖?可是,各种CPU、GPU、内存条、外设,那么多品牌种类型号参数,到底该怎么选?文章内容较长... 查看详情

ai眼中的世界——人工智能绘画进阶

...先放一张AI画的图片给大家欣赏一下哈哈 众所周知,深度学习又称深度炼丹,炼丹最重要的就是丹方(训练的参数),我们进阶就是调参哈哈,谁还不是调参大佬呢(bushi先上几张好看的图片 参数01.... 查看详情

深度学习调参技巧

文章目录前言一些大的注意事项总结前言深度学习调参有哪些技巧?一些大的注意事项1.刚开始,先上小规模数据,模型往大了放,只要不爆显存,能用256个filter你就别用128个.直接奔着过拟合去.没错,就是训练过拟合网络,连测试集... 查看详情

ubuntu+docker+pycharm环境深度学习远程炼丹使用教程(代码片段)

文章目录前言一、docker环境准备1.下载镜像2.运行容器3.给容器安装openssh-server和openssh-client4.vim打开并修改配置文件5.创建docker中root用户的密码:6.重启ssh服务7.确认docker容器内python位置8.生成新的镜像9.导出镜像10.导入镜像二... 查看详情

深度学习如何调参,lrn全称为localresponsenormalization,dropout叫作随机失活

深度学习如何调参调参就是trial-and-error.没有其他捷径可以走.唯一的区别是有些人盲目的尝试,有些人思考后再尝试.快速尝试,快速纠错这是调参的关键.首先说下可视化:我个人的理解,对于可视化,更多的还是帮助人类以自己熟悉的... 查看详情

深度学习训练时的调参技巧

...让权重均值为0,方差为2/in+out,可以初始化的不大不小在深度网络中,随机初始化权重,使用SGD的话一般处理的都不好,这是因为初始化的权重太小了。优化器的选择用Adam或者AdamG 查看详情

手把手写深度学习(18):finetune微调clip模型的原理代码调参技巧

前言:在前面的博客《手把手写深度学习(16):用CILP预训练模型搭建图文检索系统/以图搜图/关键词检索系统》中介绍了如何在图文检索、以图搜图、关键词检索等任务中使用CLIP。这篇博客重点讲解代码和调参技巧。目录CLIP原理... 查看详情

深度学习远程炼丹:一文离线完成ubuntu+docker+pycharm环境配置(代码片段)

文章目录前言一、Ubuntu离线安装docker二、dockerhub下载合适镜像三、配置docker容器1.运行容器2.给容器安装openssh-server和openssh-client3.vim打开并修改配置文件4.创建docker中root用户的密码:5.重启ssh服务6.确认docker容器内python位置7.测... 查看详情

深度学习炼丹-数据标准化(代码片段)

前言一般机器学习任务其工作流程可总结为如下所示pipeline。在工业界,数据预处理步骤对模型精度的提高的发挥着重要作用。对于机器学习任务来说,广泛的数据预处理一般有四个阶段(视觉任务一般只需DataTransformation):数据... 查看详情

重磅!深度学习知识总结和调参技巧开放下载了

...智能正在进入一个蓬勃发展的新时期,这主要得益于深度学习和CV领域近年来的发展和成就。在这其中,卷积神经网络的成功也带动了更多学术和商业应用的发展和进步。为了避免“内卷”,更多人选择学习进阶,... 查看详情

卷积填充步长;卷积神经网络的卷积核大小个数,卷积层数如何确定呢;深度学习如何调参;

卷积、填充、步长;卷积神经网络的卷积核大小、个数,卷积层数如何确定呢;深度学习如何调参;目录CNN基础知识——卷积(Convolution)、填充(Padding)、步长(Stride)【卷积(Convolution)】 查看详情

卷积填充步长;卷积神经网络的卷积核大小个数,卷积层数如何确定呢;深度学习如何调参;

卷积、填充、步长;卷积神经网络的卷积核大小、个数,卷积层数如何确定呢;深度学习如何调参;目录CNN基础知识——卷积(Convolution)、填充(Padding)、步长(Stride)【卷积(Convolution)】 查看详情