当前位置: 首页 > wzjs >正文

高效网站推广费用国外搜索引擎大全

高效网站推广费用,国外搜索引擎大全,校园设计网站,六盘水北京网站建设知识点: 随机种子内参的初始化神经网络调参指南 参数的分类调参的顺序各部分参数的调整心得 作业:对于day41的简单cnn,看看是否可以借助调参指南进一步提高精度。 一、随机种子 1.torch中使用随机数的场景 (1)权重、偏…
知识点:
  1. 随机种子
  2. 内参的初始化
  3. 神经网络调参指南
    1. 参数的分类
    2. 调参的顺序
    3. 各部分参数的调整心得

作业:对于day41的简单cnn,看看是否可以借助调参指南进一步提高精度。

一、随机种子

1.torch中使用随机数的场景

(1)权重、偏置的随机初始化

(2)数据加载(shuffling打乱)与批次加载(随机批次加载)的随机化

(3)数据增强的随机化(随机旋转、缩放、平移、裁剪等)

(4)随机正则化dropout

(5)优化器中的随机性

2.随机种子作用

(1)python的随机种子,需要确保random模块、以及一些无序数据结构的一致性

(2)numpy的随机种子,控制数组的随机性

(3)torch的随机种子,控制张量的随机性,在cpu和gpu上均适用

(4)cuDNN(CUDA Deep Neural Network library ,CUDA 深度神经网络库)的随机性,针对cuda的优化算法的随机性

二、参数初始化

  • 避免梯度消失或爆炸:如果神经网络的权重初始化过大或过小,会导致梯度在反向传播过程中迅速消失或爆炸。例如,当权重初始化为非常小的值时,激活函数的导数可能接近于零,使得梯度在传播过程中逐渐减小,导致网络难以更新权重;而当权重初始化为非常大的值时,激活函数的导数可能变得非常大,使得梯度在传播过程中迅速增大,导致权重更新过于剧烈,网络无法收敛。

  • 打破对称性:在多层神经网络中,如果所有权重都初始化为相同的值,那么在训练过程中,每一层的神经元会以相同的方式更新权重,导致网络无法学习到复杂的特征。通过随机初始化权重,可以打破这种对称性,使每个神经元能够学习到不同的特征,从而提高网络的表达能力。

  • 加速收敛:合适的参数初始化可以使网络在训练初期更快地收敛到一个较好的状态,减少训练所需的迭代次数,提高训练效率。

三、神经网络调参

1.神经网络超参数类别

网络参数:包括网络层之间的交互方式(如相加、相乘或串接)、卷积核的数量和尺寸、网络层数(深度)和激活函数等。

优化参数:一般指学习率、批样本数量、不同优化器的参数及部分损失函数的可调参数。

正则化参数:如权重衰减系数、丢弃比率(dropout)。

2.调参顺序

模型能训练(基础配置)→ 提升性能(核心参数)→ 最后,抑制过拟合(正则化)

之前的模型,主要都是停留在第一步,先跑起来。如果想要更进一步提高精度,就需要进一步调参。以下是进一步调参的流程:

(1)参数初始化----有预训练的参数直接起飞

        预训练参数是最好的参数初始化方法,在训练前先找找类似的论文有无预训练参数,其次是Xavir,尤其是小数据集的场景,多找论文找到预训练模型是最好的做法。关于预训练参数,我们介绍过了,优先动深层的参数,因为浅层是通用的;其次是学习率要采取分阶段的策略。

        如果从0开始训练的话,PyTorch 默认用 Kaiming 初始化(适配 ReLU)或 Xavier 初始化(适配 Sigmoid/Tanh)。

(2)batchsize---测试下能允许的最高值

        当Batch Size 太小的时候,模型每次更新学到的东西太少了,很可能白学了因为缺少全局思维。所以尽可能高一点,16的倍数即可,越大越好。

(3)epoch---这个不必多说,默认都是训练到收敛位置,可以采取早停策略

        学习率就是参数更新的步长,LR 过大→不好收敛;LR 过小→训练停滞(陷入局部最优)

        一般最开始用adam快速收敛,然后sgd收尾,一般精度会高一点;只能选一个就adam配合调度器使用。比如 CosineAnnealingLR余弦退火调度器、StepLR固定步长衰减调度器,比较经典的搭配就是Adam + ReduceLROnPlateau,SGD + CosineAnnealing,或者Adam → SGD + StepLR。

(4)学习率与调度器----收益最高,因为鞍点太多了,模型越复杂鞍点越多

(5)模型结构----消融实验或者对照试验

        如卷积核尺寸等,一般就是7*7、5*5、3*3这种奇数对构成,其实我觉得无所谓,最开始不要用太过分的下采样即可。

        神经元的参数,直接用 Kaiming 初始化(适配 ReLU,PyTorch 默认)或 Xavier 初始化(适配 Sigmoid/Tanh)。

(6)损失函数---选择比较少,试出来一个即可,高手可以自己构建

大部分我们目前接触的任务都是单个损失函数构成的,正常选即可

分类任务

        1) 交叉熵损失函数Cross-Entropy Loss--多分类场景

        2) 二元交叉熵损失函数Binary Cross-Entropy Loss--二分类场景

        3) Focal Loss----类别不平衡场景

注意点:

- CrossEntropyLoss内置 Softmax,输入应为原始 logits(非概率)。

- BCEWithLogitsLoss内置 Sigmoid,输入应为原始 logits。

- 若评价指标为准确率,用交叉熵损失;若为 F1 分数,考虑 Focal Loss 或自定义损失。

回归任务

        1) 均方误差MSE

        2) 绝对误差MAE

也要根据场景和数据特点来选,不同损失受到异常值的影响程度不同

(7)激活函数---选择同样较少

        视情况选择,一般默认relu或者其变体,如leaky relu,再或者用tanh。只有二分类任务最后的输出层用sigmoid,多分类任务用softmax,其他全部用relu即可。此外,还有特殊场景下的,比如GELU(适配 Transformer)

(8)正则化参数---主要是droupout,等到过拟合了用,上述所有步骤都为了让模型过拟合

        droupout一般控制在0.2-0.5之间,这里说一下小技巧,先追求过拟合后追求泛化性。也就是说先把模型做到过拟合,然后在慢慢增加正则化程度。

        正则化中,如果train的loss可以很低,但是val的loss还是很高,则说明泛化能力不强,优先让模型过拟合,在考虑加大正则化提高泛化能力,可以分模块来droupout,可以确定具体是那部分参数导致过拟合,这里还有个小trick是引入残差链接后再利用droupout

注:调参顺序并不固定,而且也不是按照重要度来选择,是按照方便程度来选择,比如选择少的选完后,会减小后续实验的成本。

http://www.dtcms.com/wzjs/509198.html

相关文章:

  • 房产网站建设批发微博推广怎么做
  • 无锡微信网站推广平台引流推广怎么做
  • 手机网站建设哪家公司好长沙百度推广排名优化
  • 朝阳区手机网站建设服务郑州网站优化外包顾问
  • 创建app平台需要多少钱新乡seo优化
  • 网站活动专题页面谷歌浏览器 官网下载
  • 有没有外国网站可以做兼职翻译的百度推广怎么开户
  • 杭州做家教网站网站优化及推广
  • 智能模板建站网站seo分析报告
  • 网站建设参考文献外文网站外链优化方法
  • 建立自己的网站可以采用的方式有安卓aso优化
  • wordpress实现商城河南企业站seo
  • 网站建设费可以计入办公费用么怎么让自己上百度
  • 产品外观设计网站搜索引擎的两个基本方法
  • 知名的政府网站建设企业百度的营销策略
  • 中山营销网站建设联系方式seo交流qq群
  • 虚拟主机 域名 和网站关系太原网站建设方案优化
  • 宝安做网站的app推广策略
  • 交易平台网站建设项目需求东莞seo网站优化排名
  • 在哪些网站可以做企业名称预审北京优化核酸检测
  • 电子商务网站建设 教材天津seo网络营销
  • 四川建设部网站官网北京建站优化
  • 2021年360搜索关键词优化软件
  • 现在做网站的都是靠仿站的吗常州seo外包
  • 网站代码怎么优化北京网聘咨询有限公司
  • JavaScript做的网站潍坊百度快速排名优化
  • 简述一个网站开发流程快速建站教程
  • 简述网站建设过程网络舆情分析师
  • 响应式布局代码怎么写seo公司seo教程
  • 购物帮 做特惠的导购网站软件开发工具