【模型训练阶段的参数更新】_预训练过程更新哪些参数-程序员宅基地

技术标签: 机器学习  ML  

转载 https://blog.csdn.net/weixin_44402973/article/details/95048196

机器学习中的两大类参数:

超参数:在模型训练之前需要设置的参数,而不是通过训练得到的参数数据。比如:学习率,深层神经网络隐藏层数。

模型参数:模型要学习的参数,比如:权重W和偏置b,其是在网络训练过程中自动学习和更新。

在深度学习中,在我们搭建好神经网络模型之后,最重要的是参数学习。在此之前, 我们先要弄懂,什么是前向算法和反向传播算法。

前向算法:从网络输入到网络最终输出的过程称为前向算法。如下图(来自慕课官网):

反向传播算法(BP):模型参数学习的方法,由Hinton等人提出。用来解决网络优化问题,通过调节输出层的结果和真实值之间的偏差来进行逐层调节参数。该学习过程是一个不断迭代的过程。如下图(来自慕课官网):

损失函数(LOSS):神经网络模型参数学习的目标函数。常见损失函数由交叉熵损失函数,L1 loss,L2 loss 等。即L2 loss:min\left \| WX-Y \right \|^{2}.

如何对损失函数优化呢?

这里需要介绍导数,偏导数,梯度概念。

导数:(一元函数)是变化率,是切线的斜率,是瞬时速度,是加速度。

偏导数:一个多元函数的偏导数,就是它关于其中一个变量的导数而保持其他变量恒定

方向导数:在函数定义域的内点,对某一方向求导得到的导数。一般为二元函数和三元函数的方向导数,方向导数可分为沿直线方向和沿曲线方向的方向导数。

梯度:其本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

了解完上述概念之后,那么如何优化损失函数呢?

首先明确最小二乘法和梯度下降法区别:最小二乘法的目标:求误差的最小平方和,对应有两种:线性和非线性。线性最小二乘的解是closed-form即,而非线性最小二乘没有closed-form,通常用迭代法求解,而梯度下降法就是迭代法的一种。

参数求解方法:

  • 如果对于凸函数,可以之间求导,让导数为0进行求解。
  • 对于非凸函数,需要使用梯度下降法/梯度上升法进行对参数迭代更新。

迭代求解算法:

梯度上升法/梯度下降法:沿着梯度方向对参数进行更新,可以求解线性和非线性问题。如下图:

牛顿法:求解非线性最小二乘的迭代法(一定程度上可视为标准非线性最小二乘求解方法)。

利用梯度下降法求解最优解,结果的最优性和步长(学习率 Learning rate)相关,大的学习率导致参数更新快,小的学习率,参数更新慢。

利用梯度下降法求解最优解,结果的最优性和初始化参数的值相关。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lj2048/article/details/108885875

智能推荐

数据结构与算法——搜索_c++某网格向外面扩展不考虑方向-程序员宅基地

文章浏览阅读129次。文章目录1.内容概述2.岛屿数量2.1 题目描述1.内容概述2.岛屿数量2.1 题目描述给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"],_c++某网格向外面扩展不考虑方向

如何遍历DOM:HTML节点遍历技巧-程序员宅基地

文章浏览阅读734次。介绍本系列中的前一个教程如何访问DOM中的元素 ,介绍了如何使用document对象的内置方法通过ID,类,标记名称和查询选择器来访问HTML元素。 我们知道,DOM被构造为一个以document节点为根节点和每个其他节点(包括元素,注释和文本节点)作为各个分支的节点树 。通常情况下,您将需要在DOM中移动,而不事先指定每个元素。 学习如何浏览DOM树并从分支转移到分支对于理解如何使用JavaSc..._遍历body所有子节点dom

python 子函数调用父函数的变量_python中子类调用父类函数的方法示例-程序员宅基地

文章浏览阅读1.7k次。前言本文主要给大家介绍了关于python子类调用父类函数的相关内容,Python中子类中的__init__()函数会覆盖父类的函数,一些情况往往需要在子类里调用父类函数。下面话不多说了,来一起看看详细的介绍:如下例程里,???处是需要调用父类函数的地方,接下来结合例程具体介绍。# -*- coding:utf-8 -*-class Student:def __init__(self,name):s..._python函数中的变量可以在子函数中访问吗

动画Animation_必须为“system.windows.media.animation.doubleanimation-程序员宅基地

文章浏览阅读543次。Animation概述System.Windows.Media.Animation 命名空间提供一些类型,这些类型支持属性动画功能,包括时间线、演示图板和关键帧。.17个“类型名+Animation”类,这些类使用插值。 22个“类型名+AnimationUsingKeyFrames”类,这些类使用关键帧动画。 3个“类型名+AnimationUsingPath”类,这些类使用基于路径的动画。简单动画DoubleAnimation在指定的Duration上使用线性..._必须为“system.windows.media.animation.doubleanimationusingkeyframes”指定 t

文献阅读:RoFormer: Enhanced Transformer with Rotary Position Embedding-程序员宅基地

文章浏览阅读3k次,点赞6次,收藏19次。文献阅读:RoFormer: Enhanced Transformer with Rotary Position Embedding1. 工作简介2. 常见位置编码方式1. 绝对位置编码1. Bert2. Attention Is All You Need2. 相对位置编码1. 经典相对位置编码2. XLNet3. T54. DeBerta3. RoPE方法介绍4. 实验效果考察1. 翻译任务上的表现2. 预训练任务上的表现3. GLUE下游Finet.._enhanced transformer with rotary position embedding

电赛 | 坡道行驶电动小车(省电赛一等奖作品)_爬坡小车电赛设计方案-程序员宅基地

文章浏览阅读1.1w次,点赞20次,收藏154次。本文为读者投稿,分享的是一个四川省电子设计竞赛一等奖作品。竞赛题目 今年的四川省电子设计竞赛共有四道题目,基于我们对做车比较了解,所以选择了c题————坡道行驶电动小车,该题目要求如下:..._爬坡小车电赛设计方案

随便推点

RK3588网口拓展:8口千兆傻瓜式交换机RTL8370N_rtl8370使用-程序员宅基地

文章浏览阅读422次。有问题发到评论区_rtl8370使用

vue三级联动下拉菜单_vue三级联动下拉列表怎么实现-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏3次。给每个下拉菜单绑定一个change事件。当下拉菜单选项改变时,在组件中设置新数据,使得下级下拉菜单的选项随之改变。Vue.js是构建用户界面的渐进式框架,它可以轻松实现下拉菜单的三级联动。为绑定下拉菜单的选项,我们需要设计一个对应的数据结构。可以使用一个数组变量表示三级联动的选项。将设计好的数据绑定到菜单的选项中,并在组件的mounted钩子函数中初始化数据。在Vue组件中,设计一个select组件,它包含三个联动的下拉菜单。为了实现多级联动,我们可以使用递归的方法在组件中实现。_vue三级联动下拉列表怎么实现

烂笔头笔记:关于frontend-maven-plugin插件无法下载nodejs和npm的问题_windows环境下无法从github下载frontend-maven-plugin:1.12.0-程序员宅基地

文章浏览阅读1.4w次,点赞6次,收藏7次。目录简介解决方法参考资料简介frontend-maven-plugin是一个将maven与nodejs结合的插件,旨在maven生命周期中帮你下载并且本地(相对于项目来说)安装一份node和npm,并且执行npm install命令,并且还能执行其他的组合命令例如:Bower, Grunt, Gulp, Jspm, Karma, 或者 Webpack. 支持Windows, OS X 和Lin..._windows环境下无法从github下载frontend-maven-plugin:1.12.0

江苏科技大学计算机科学与技术,江苏科技大学计算机科学与技术专业2016年在江苏理科高考录取最低分数线...-程序员宅基地

文章浏览阅读117次。类似问题答案天津科技大学计算机类(计算机科学与技术(信息处理))专业2016年在山西理科高考录...学校 地 区 专业 年份 批次 类型 分数 天津科技大学 山西 计算机类(计算机科学与技术(信息处理)) 2016 二批 理科 475 学校 地 区 专业 年份 批次 类型 分数 天津科技大学 山西 计算机类(计算机科学与技术(信息处理)) 2016 二批 理科 475河南科技大学计算机科学与技术专..._江苏科技大学2016计算机本科录取线

【百度大脑新品体验】驾驶行为分析_为什么选用百度智能云驾驶行为分析接口-程序员宅基地

文章浏览阅读4k次,点赞2次,收藏6次。【百度大脑新品体验】驾驶行为分析作者:才能我浪费991.功能描述:针对车载场景,识别驾驶员使用手机、抽烟、不系安全带、双手离开方向盘等动作姿态,分析预警危险驾驶行为,提升行车安全性2.平台接入具体接入方式比较简单,可以参考我的另一个帖子,这里就不重复了:http://ai.baidu.com/forum/topic/show/9433273.调用攻略(Python3)及评测3.1首..._为什么选用百度智能云驾驶行为分析接口

深度学习模型Intel与ARM部署性能分析,Intel和ARM CPU上CNN计算速度差距分析。_arm中数据搬运速度太慢-程序员宅基地

文章浏览阅读8.5k次,点赞23次,收藏63次。我们的一个业务是在Intel CPU的电脑上,进行深度学习模型算法的开发。模型有用到OpenCV,Pytorch,还有QT界面,大多数使用的是图像处理和CNN特征提取和分类的功能,处理的是摄像头输入视频,图片这两类数据。考虑到要求实时处理,我们设计的各个功能模块,能够20fps运行和显示,以及在minutes时间内,输出后处理分析的结果,就能达到预定效果。随后采用docker,部署整个环境到ARM CPU的服务器上。_arm中数据搬运速度太慢