0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

三种常见的损失函数和两种常用的激活函数介绍和可视化

电子工程师 来源:lq 2019-05-05 11:42 次阅读

【导语】本文对梯度函数和损失函数间的关系进行了介绍,并通过可视化方式进行了详细展示。另外,作者对三种常见的损失函数和两种常用的激活函数也进行了介绍和可视化。

你需要掌握关于神经网络训练的基础知识。本文尝试通过可视化方法,对损失函数、梯度下降和反向传播之间的关系进行介绍。

损失函数和梯度下降之间的关系

为了对梯度下降过程进行可视化,我们先来看一个简单的情况:假设神经网络的最后一个节点输出一个权重数w,该网络的目标值是0。在这种情况下,网络所使用的损失函数为均方误差(MSE)。

当w大于0时,MSE的导数 dy/dw 值为正。dy/dw 为正的原因可以解释为,w中的正方向变化将导致y的正方向变化。为了减少损失值,需要在w的负方向上进行如下变换:

当w小于0时,MSE的导数 dy/dw 值为负,这意味着w中的正方向变化将导致y的负方向变化。 为了减少损失,需要在w的正方向上做如下变换:

因此,权重更新的公式如下:

其中 learning_rate 是一个常量,用于调节每次更新的导数的百分比。调整 Learning_rate 值主要是用于防止w更新步伐太小或太大,或者避免梯度爆炸(梯度太大)或梯度消失的问题(梯度太小)。

下图展示了一个更长且更贴近实际的计算过程,在该计算过程中,需要使用sigmoid激活函数对权重进行处理。为了更新权重w1,相对于w1的损失函数的导数可以以如下的方式得到:

损失函数对权重的求导过程

从上面阐释的步骤可以看出,神经网络中的权重由损失函数的导数而不是损失函数本身来进行更新或反向传播。因此,损失函数本身对反向传播并没有影响。下面对各类损失函数进行了展示:

L2损失函数

MSE(L2损失)的导数更新的步长幅度为2w。 当w远离目标值0时,MSE导数的步长幅度变化有助于向w反向传播更大的步长,当w更接近目标值0时,该变化使得向w进行反向传播的步长变小。

L1损失函数

MAE(L1损失)的导数是值为1或负1的常数,这可能不是理想的区分w与目标值之间距离的方式。

交叉熵损失函数

交叉熵损失函数中w的范围是0和1之间。当w接近1时,交叉熵减少到0。交叉熵的导数是 -1/w。

Sigmoid激活函数

Sigmoid函数的导数值域范围在0到0.25之间。 sigmoid函数导数的多个乘积可能会得到一个接近于0的非常小的数字,这会使反向传播失效。这类问题常被称为梯度消失。

Relu激活函数

Relu是一个较好的激活函数,其导数为1或0,在反向传播中使网络持续更新权重或不对权重进行更新。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3846

    浏览量

    61228
  • 梯度
    +关注

    关注

    0

    文章

    30

    浏览量

    10251
  • 可视化
    +关注

    关注

    1

    文章

    1003

    浏览量

    20542

原文标题:可视化深入理解损失函数与梯度下降 | 技术头条

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Pandas中的四绘图函数

    数据可视化):Pandas中的绘图函数
    发表于 09-04 09:04

    TensorFlow TensorBoard可视化数据流图

    间变化的:还可以使用 tf.summary.histogram 可视化梯度、权重或特定层的输出分布:摘要将在会话操作中生成。可以在计算图中定义 tf.merge_all_summaries OP 来
    发表于 07-22 21:26

    可视化的应用和优势

    ,为此可视化运维系统登场了。  可视化的应用  宏观场景可视化:在特定的环境中对随着时间推移而不断变化的目标实体进行检测,可以直观、
    发表于 12-02 11:52

    深度学习中的类别激活热图可视化介绍

    深度学习中的类别激活热图可视化
    发表于 02-03 07:02

    常见的几种可视化介绍

    说说常见的几种可视化一、信息可视化信息可视化就是对抽象数据进行直观视觉呈现的研究,抽象数据既包含数值数据,也包含非数值数据如文本信息、地图信息等,它们可通过利用图形图像处理、人机交互、
    发表于 07-12 07:49

    介绍两种常见的压控电流源电路的设计

    电流源是一非常常用的电路,如工业中4-20mA输出,LED恒流驱动,以及一些传感器可能也需要恒流驱动等。本篇文章介绍两种常见的压控电流源电
    发表于 07-30 07:31

    介绍两种常用的微型水泵

    的应用。下面介绍两种常用的微型水泵——微型电磁泵、微型隔膜泵。电磁泵的工作原理电磁泵是一电磁驱动的柱塞泵,是一高压微型泵;其特点为:结构
    发表于 09-10 07:09

    机器人工具箱中的常用函数介绍

    这一节,就机器人工具箱中的一些常用函数做一下简单的介绍。机器人工具箱在机器人建模、轨迹规划、控制、可视化仿真等方面给机器人的研究和学习提供便利条件,大大提高了研究和工作效率。在机器人
    发表于 09-15 09:04

    STM32的三种boot模式介绍

    、示例验证总结参考资料任务摘要请说明STM32的三种Boot模式的差异,并在之前第11-12周“C语言各种变量的存储地址”作业代码基础上,研究至少两种boot模式下,代码下载(烧录)运行后所在的地址位置,与理论对比验证。一、认识boot1.
    发表于 12-10 07:46

    单片机三种常用的软件架构

    一个合适的软件架构不仅结构清晰,而且可以便于开发与维护。便于帮助开发者把握整个工程的框架三种常用的软件架构:1.顺序执行的前后台系统2.时间片轮询系统3.多任务操作系统顺序执行的前后台系统程序以变量
    发表于 01-07 08:29

    Keras可视化神经网络架构的4方法

    解模型结构、激活函数、模型参数形状(神经元数量)等keras 中有一些现成的包可以创建我们的神经网络模型的可视化表示。前个包可以在模型训练之前使用(只需要定义和编译模型);但是Ten
    发表于 11-02 14:55

    经验分享|BI数据可视化报表布局——容器

    容器功能是一用于数据可视化图表排版的功能,主要作用对图表进行有效的布局调整,或者用于巧妙在同一地方安排多个不同类型的数据可视化图表,供使用者点击切换浏览。目前,在奥威BI软件上一同有
    发表于 03-15 17:10

    keras可视化介绍

    , 0.24421487748622894]5 训练过程的可视化:keras + Tensorboard Tensorboard提供训练过程可视化的功能,是通过keras的回调函数来实现的。 # 截取部分代码如下
    发表于 08-18 07:53

    函数可视化与Matlab作

    函数可视化与Matlab作2.1 实验与观察:函数可视化2.1.1 Matlab二维绘图命令1.周期函数与线性p-周期
    发表于 10-17 00:30 1998次阅读
    <b class='flag-5'>函数</b>的<b class='flag-5'>可视化</b>与Matlab作

    训练深度学习神经网络的常用5个损失函数

    被称为损失函数损失函数的选择与神经网络模型从示例中学习的特定预测建模问题(例如分类或回归)有关。在本文中我们将介绍
    的头像 发表于 10-19 11:17 484次阅读
    训练深度学习神经网络的<b class='flag-5'>常用</b>5个<b class='flag-5'>损失</b><b class='flag-5'>函数</b>