激活函数以及损失函数
sigmoid
sigmoid函数和tanh函数是研究早期被广泛使用的2种激活函数。两者都为S型饱和函数。
当sigmoid 函数输入的值趋于正无穷或负无穷时,梯度会趋近零,从而发生梯度弥散现象
。sigmoid函数的输出恒为正值,不是以零为中心的,这会导致权值更新时只能朝一个方向更新,从而影响收敛速度。
tanh激活函数是sigmoid 函数的改进版,是以零为中心的对称函数,收敛速度快,不容易出现 loss 值晃动,
但是无法解决梯度弥散的问题
。
2个函数的计算量都是指数级的,计算相对复杂。softsign 函数是 tanh 函数的改进版,为 S 型饱和函数,以零为中心,值域为(−1,1)。
公式
更多可以直接看
|
|
交叉熵
有木有发现,伯努利分布加上log就是交叉熵。
另外其实可以理解交叉熵就是极大似然估计加上log。
如何解释梯度消失呢?
描述
梯度消失是指模型在反向传播的过程中,更上层模型获取到的梯度值越来越小,导致更上层的权重基本保持不变,导致整个模型无法正常收敛以及训练。
原因?
其出现原因在Xavier Glorot和Yoshua Bengio在2010年的一篇论文中阐述了一些观点,包含像当时流行的sigmoid激活函数以及均值为0标准差为1的权重初始化方案,每层输出的方差远大于输入的方差,随着网络的延伸,方差在每一层之后都会增加,直到激活函数在顶层达到饱和为止。而实际像simoid这种激活函数随x的增大其导数值趋向于0,导致在反向传播的过程中,基本没有什么可以传播回去。
解决方式?
他提出应该在每一层网络的输出的方差等于其输入的方差。但是除非该层具有相等数量的输入和神经元,否则这条条件无法满足,故提出一些这种方案,像Xavier初始化或者Glorot初始化。
激活函数以及损失函数相关推荐
- Keras深度学习实战(4)——深度学习中常用激活函数和损失函数详解
Keras深度学习实战(4)--深度学习中常用激活函数和损失函数详解 常用激活函数 Sigmoid 激活函数 Tanh 激活函数 ReLU 激活函数 线性激活函数 Softmax 激活函数 损失函数 ...
- 深度学习关于激活函数和损失函数的调研
关于激活函数和损失函数的调研 1) 激活函数(Activation Function) 背景 Sigmoid函数 tanh函数 Relu函数 Leaky Relu函数(PReLu) ELU(Expon ...
- 神经网络中的激活函数与损失函数深入理解推导softmax交叉熵
神经网络中的激活函数与损失函数&深入理解softmax交叉熵 前面在深度学习入门笔记1和深度学习入门笔记2中已经介绍了激活函数和损失函数,这里做一些补充,主要是介绍softmax交叉熵损失函数 ...
- randn函数加噪声_NLP入门指南01:感知机、激活函数、损失函数
单层感知机 最简单的神经网络单元,感知机模拟生物神经元而来,有输入.输出,信号从输入流向输出. 每一个感知机都有一个输入 ,一个输出 ,和三个参数构成,它们分别是: 权重(weight) 偏置(bia ...
- 激活函数、损失函数和优化函数的比较
激活函数:将神经网络上一层的输入,经过神经网络层的非线性变换转换后,通过激活函数,得到输出.常见的激活函数包括:sigmoid, tanh, relu等. 损失函数:度量神经网络的输出的预测值,与实际 ...
- Tensorflow2.1基础知识---复杂度、学习率、激活函数、损失函数
文章目录 复杂度 学习率 激活函数 损失函数 复杂度 空间复杂度(用层数和待优化的参数个数表示) 层数 = 隐藏层的层数+1个输出层(输入层不算) 总参数 = 总w + 总b 时间复杂度: 乘加运算次 ...
- 激活函数与损失函数及其常见问题
一.激活函数 Sigmoid.tanh.ReLU.LeakyReLU.PReLU.RReLU 0.激活函数的作用 神经网络为什么需要激活函数:首先数据的分布绝大多数是非线性的,而一般神经网络的计算是线 ...
- 激活函数,损失函数以及学习率
学习记录 (一)激活函数 1. 什么是激活函数 2. 常用的激活函数 2.1 sigmoid函数 2.2 tanh函数 2.3 ReLU函数 2.4 Leaky ReLU函数 3. 为什么要用非线性激 ...
- (tensorflow笔记)神经网络中的一些关键概念(学习率、激活函数、损失函数、欠拟合和过拟合、正则化和优化器)
目录 1.神经网络复杂度 空间复杂度 时间复杂度 2.学习率策略 指数衰减学习率 分段常数衰减 3.激活函数 sigmoid tanh ReLU Leaky ReLU 建议 4.损失函数 均方误差损失 ...
- 【深度学习】激活函数和损失函数
4.3 激活函数 作用: 当神经网络中上一层的输出直接作为下一层的输入时,每层之间的关系是线性关系,即相当于f(x)=x,此时神经网络的拟合能力较弱.为了使得神经网络有更好的拟合能力,在每一层网络之间 ...
最新文章
- 写了个Linux包过滤防火墙
- 用C语言扩展Python的功能
- ubuntu QT 编译报错 -1: error: cannot find -lGL问题的解决方法
- 第一节:从面向对象思想(oo)开发、接口、抽象类以及二者比较
- (ECC)椭圆曲线加密算法原理和C++实现源码
- Bitmap文件格式+生成一个BMP文件
- 一步一步分析vue之_data属性
- python发送邮件并返回提示_python-邮件提醒功能
- Redis如何支持高并发的访问
- 以命令行的方式运行activity
- vim编辑器常见使用
- MySQL的常用SQL脚本
- 车座自动排水阀行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- Q96:PT(1):方格纹理(Checker)(2)——2D Checker
- FileRecv VNCViewer 使用方法
- 兄弟连php课程大纲,LAMP兄弟连PHP课程学习笔记 第四天 流程控制分支语句
- 中央处理器cpu中的什么是计算机的指挥中,计算机中央处理器CPU的组成有哪些
- 优秀IT项目经理的基本要求
- Congrats !
- opencv 图片上画一条线