佛系调参
文章平均质量分 85
机器学习、深度学习调参与优化
我是大黄同学呀
要相信光
展开
-
记录我の秋招之旅【23届 CV算法岗】
记录我的2023秋招之旅,最终上岸阿里巴巴CV算法岗原创 2022-12-21 23:49:08 · 1460 阅读 · 15 评论 -
CVPR19 - 调参干货《Bag of Tricks for Image Classification with Convolutional Neural Network》
文章目录原文地址论文阅读方法初识相知2. Training Procedures3. Large-batch training3.1 Large-batch training3.2 Low-precision traing4. ResNet Architecture5. Training Refinemets5.1 Cosine Learning Rate Decay5.2 Label Smoothing5.3 Knowledge Distillation5.4 Mixup Training6. Tran原创 2021-07-10 23:34:08 · 514 阅读 · 4 评论 -
Pytorch:交叉熵损失(CrossEntropyLoss)以及标签平滑(LabelSmoothing)的实现
浅谈Label SmoothingLabel Smoothing也称之为标签平滑,其实是一种防止过拟合的正则化方法。传统的分类loss采用softmax loss,先对全连接层的输出计算softmax,视为各类别的置信度概率,再利用交叉熵计算损失。 在这个过程中尽可能使得各样本在正确类别上的输出概率为1,这要使得对应的z值为+∞,这拉大了其与其他类别间的距离。现在假设一个多分类任务标签是[1,0,0],如果它本身的label的出现了问题,这对模型的伤害是非常大的,因为在训练的过程中强行学习一个非本原创 2021-07-03 12:07:22 · 26470 阅读 · 30 评论 -
模型调参原则及基本策略
文章目录炼丹总原则参考炼丹总原则图来自参考链接[1]首先对于所有的深度学习模型,我们都希望达到的最终目的:它能够真正解决实际问题。这也就意味着不仅需要它们在见过的数据集上表现好(训练集、甚至包括测试集),还要在未来的生产环境中对未知数据的表现也要足够好,这对我们“炼丹”工程师也就提出了要求。那么我们怎么去训练模型,并且评价一个模型的好坏呢?工业环境:通常的一个做法是将收集到的数据集进行划分,划分为训练集与测试集(均已标注好标签)参考[1] 李宏毅2021机器学习...原创 2021-03-07 21:07:29 · 2074 阅读 · 0 评论 -
深度学习中那些常用的优化方法:从SGD到Adam
文章目录参考资料SGD with Momentum(SGDM)AdagradRMSPropAdamSGDM vs AdamTowards Improving AdamAMSGradAdaBoundToward Improving SGDMCyclical LRSGDROne-cycle LRAdam Need Warm-upRAdamLookaheadNesterov accelerated gradient(NAG)NadamL2 regurization or Weight decay?Somethin原创 2020-07-21 16:17:49 · 2030 阅读 · 0 评论 -
Pytorch:几行代码轻松实现Warm up + Cosine Anneal LR
Warm up 浅谈warm up是深度学习炼丹时常用的一种手段,由于一开始参数不稳定,梯度较大,如果此时学习率设置过大可能导致数值不稳定。使用warm up有助于减缓模型在初始阶段对mini-batch的提前过拟合现象,保持分布的平稳,其次也有助于保持模型深层的稳定性。详见 https://www.zhihu.com/question/338066667/answer/771252708torch.optim.lr_scheduler.LambdaLRpytorch给我们提供了很多调整学习率的原创 2021-02-23 23:13:05 · 22285 阅读 · 26 评论 -
Pytorch:迁移学习时使用部分预训练模型
文章目录应用场景如何下载常用的预训练模型1. 按照源码设置相应的参数:2. 复制所需部分的模型参数3. 打印参数验证应用场景通常在一些现实任务中,我们所能拿到的数据比较少,而深度学习模型的参数更新通常需要大量的数据来驱动,所以我们就可以对某些层用到预训练模型。如何下载常用的预训练模型通常在Pytorch的github上可以找到torchvision一些模型源码(比如VGG,ResNet,G...原创 2020-03-10 16:12:08 · 2444 阅读 · 0 评论 -
PyTorch:学习(踩坑)记录
文章目录本文目的1.PyTorch中的CrossEntropyLoss本文目的记录Pytorch使用过程中的经验,避免再次踩坑,保持更新ing…1.PyTorch中的CrossEntropyLoss官方API:class torch.nn.CrossEntropyLoss(weight=None, size_average=True)调用时参数:input : 包含每个类的得分,2-D...原创 2020-02-24 16:57:19 · 964 阅读 · 0 评论 -
Pytorch:探讨Dropout
文章目录Dropout是什么?有什么用?测试?训练?PyTorch测试Dropout是什么?有什么用?在我另外一篇解读AlexNet网络的博文中,我提到了Dropout被Alex用来防止模型过拟合:Dropout就是把隐藏层中神经元的输出设置为0,每个神经元被Dropout概率为r(这是个超参数,在这个网络中r=0.5),这些被‘dropout’掉的神经元不会参与前向计算和后向传播。每次输入...原创 2020-03-05 22:46:11 · 2907 阅读 · 6 评论 -
如何训练好一个神经网络?
文章目录参考依据两个现象1.神经网络的训练没有想象中简单2. 神经网络训练的失败往往是悄无声息的正确的训练方式1. 数据第一!2. 制作端到端的训练/验证框架 + 得到baselines3. 过拟合4. 正则化5. 调参6. 精益求精参考依据参考自Andrej Karpathy大佬(特斯拉AI总监,李飞飞学生)的博客:http://karpathy.github.io/2019/04/25/r...原创 2020-04-10 23:13:35 · 6806 阅读 · 0 评论 -
记录关于“k-折交叉验证”的一次探讨(21-1-27)
起源最近做了一次比赛,在数据集的划分上出了一点问题,导致模型在训练集与验证集上面表现效果较好,但测试集却出现了过拟合的现象。因此在思考在对数据没有任何先验的条件下,如何科学地划分训练集与验证集,从而避免过拟合。突然想起之前看机器学习方面知识,有一个防止模型过拟合的方式:K-折交叉验证,大致知道其做法,但不知道在实际环境中如何使用,因此有了以下讨论。问题一假设我现在有一批数据(训练+验证),使用5-折交叉验证划分训练集与验证集,那么可以分别训练得到5个模型,其中有1个模型(超参)在其对应的验证集上表现较原创 2021-01-28 20:27:54 · 1061 阅读 · 0 评论 -
谈谈对Adagrad和尺度归一化的一些理解
文章目录参考视频Adaptive Learning RatesAdagradFeature Scaling参考视频参考自:李宏毅Machine Learning P5(Gradient Descent),在此基础上融入一些自己的理解:https://www.bilibili.com/video/BV1JE411g7XF?p=5Adaptive Learning RatesLearning Rate对于机器学习/深度学习来说,都是一个非常重要的超参数。如果过大,Model将无法收敛,过小,Model原创 2020-07-16 18:09:14 · 958 阅读 · 2 评论