当前位置:网站首页>【科研-学习-pytorch】7-梯度、激活函数和loss
【科研-学习-pytorch】7-梯度、激活函数和loss
2022-08-09 00:25:00 【helloworld_Fly】
梯度
导数-derivate
导数是函数对变量的变化率,包含意义广泛;是一个标量;
偏微分
对某一变量的导数,多个变量时偏微分表示对指定向量的导数;
梯度
对不同变量的导数,是向量,包含方向和数值;
凸函数,用到凸优化问题;
对于不同函数,使用梯度更新思想,将对应损失函数和权重偏导梯度更新,调整学习参数;
鞍点,难以优化的函数;
如何优化
- 初始化-initialization
初始化决定权重的初始位置,若初始化离局部极小值近则容易导致进入局部极小值;
- learning-rate
学习率对于训练过程极其重要,若初始学习率过大,容易震荡不收敛;
先调小稳定后放大至稳定结果;
- 动量-moment
当陷入局部极小值后难以通过梯度更新突破局部极小值,此时引入动量,类似于惯性作用,当陷入局部极小时通过梯度更新加上惯性作用能突破这个值,找到全局最优解;
激活函数
感知机
从青蛙神经元感应启发而来,分段函数,小于0为0,大于0为1;
但是不可导的分段函数,不方便求导;
sigmoid
f ( x ) = 1 1 + e − x f(x) = \frac{1}{1+e^{-x}} f(x)=1+e−x1
对于sigmoid函数进行求导,可得:
f(x)的导数为:f(x)(1 - f(x))
sigmoid函数可将数值压缩到0-1之间,便于概率、像素值计算;
但缺点是对于sigmoid函数极大时得到梯度为0,即梯度无法更新,出现梯度弥散现象;
使用方式:torch.sigmoid(a)
tanh
在RNN中使用较多,也有将函数范围作用到固定范围内,便于稳定训练;
Relu
relu函数梯度值变换和其函数类似,导数连续且计算方便;保持梯度稳定;
loss
Mean Squared Error
Cross Entropy Loss
边栏推荐
猜你喜欢
随机推荐
【StoneDB Class】入门第三课:StoneDB 的安装编译
非科班毕业生,五面阿里:四轮技术面 +HR 一面已拿 offer
After the sessionStorage value is changed, the value obtained by the page using window.sessionStorage.getItem() will not be updated
阿里云服务器买完不知道如何使用(新手入门教程)
整流十—双二阶广义积分锁相
flutter Future的正确用法
mysql在查询出来的数据前添加序号
【Full arrangement】
为什么软件开发方法论让你觉得糟糕?
安装wcf框架
Error executing sql file from Mysql Workbench: Error executing task: 'ascii' codec can't decode byte 0xd0 in position 26:
Discourse 的关闭主题(Close Topic )和重新开放主题
小G砍树 (换根dp)
Unity3D小白学习日记(02):U3D如何连接SQL SERVER数据库(亲测可行!)
三角果计数
Dart高级(一)——泛型与Json To Bean
A - A + B Problem II
数学模型建立常用方法
MySQL5.7安装教程图解
WeChat applet console error - summary 】 【









