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

    文章

    4327

    浏览量

    62571
  • 梯度
    +关注

    关注

    0

    文章

    30

    浏览量

    10317
  • 可视化
    +关注

    关注

    1

    文章

    1194

    浏览量

    20934

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

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

收藏 人收藏

    评论

    相关推荐

    常见的几种可视化介绍

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

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

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

    keras可视化介绍

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

    两种标准信号之间的函数变换

    函数变换的方法解决两种标准信号之间的转换,进而阐述了数学在解决实际问题中的应用。关键词:函数变换、标准信号。Abstract: This paper resolved the conversion between two st
    发表于 08-05 08:14 8次下载

    基于面绘制与体绘制的CT可视化实现方法

    医学图像可视化方法分为面绘制和体绘制。讨论了两种绘制方法的思想和优缺点,介绍两种算法的机理和实现过程。采用Visualizati
    发表于 02-21 14:48 37次下载

    函数可视化与Matlab作

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

    三种波形函数振荡器电路

    三种波形函数振荡器电路
    发表于 02-25 16:10 1056次阅读
    <b class='flag-5'>三种</b>波形<b class='flag-5'>函数</b>振荡器电路

    Python的三种函数应用及代码

    布尔值。举例如下: 2.map()函数的用法 map(func,seq)函数包含个参数,map()适用于列表seq所有的元素,它返回一个新的列表(被函数func改变后的列表)。 3.
    发表于 11-15 13:07 1356次阅读
    Python的<b class='flag-5'>三种</b><b class='flag-5'>函数</b>应用及代码

    ReLU到Sinc的26神经网络激活函数可视化大盘点

    本文介绍了26个激活函数的图示及其一阶导数,在神经网络中,激活函数决定来自给定输入集的节点的输出,其中非线性
    发表于 01-11 17:42 3.1w次阅读
    ReLU到Sinc的26<b class='flag-5'>种</b>神经网络<b class='flag-5'>激活</b><b class='flag-5'>函数</b><b class='flag-5'>可视化</b>大盘点

    帕塞瓦定理的两种常见形式

    帕塞瓦定理的两种常见形式, 在我的《随机信号分析》里面作为附录4, 即帕塞瓦定理的两种常见形式, 第三种形式即不
    的头像 发表于 04-02 11:13 9821次阅读

    CNN的三种可视化方法介绍

    导读 对神经网络进行可视化分析不管是在学习上还是实际应用上都有很重要的意义,基于此,本文介绍了3CNN的可视化方法:可视化中间特征图,
    的头像 发表于 12-29 11:49 2440次阅读

    详解十激活函数的优缺点

    激活函数(Activation Function)是一添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。类似于人类大脑中基于神经元的模型,
    的头像 发表于 03-05 16:15 1.3w次阅读
    详解十<b class='flag-5'>种</b><b class='flag-5'>激活</b><b class='flag-5'>函数</b>的优缺点

    卷积神经网络激活函数的作用

    起着至关重要的作用,它们可以增加网络的非线性,提高网络的表达能力,使网络能够学习到更加复杂的特征。本文将详细介绍卷积神经网络中激活函数的作用、常见
    的头像 发表于 07-03 09:18 869次阅读

    前馈神经网络的基本结构和常见激活函数

    激活函数的非线性变换,能够学习和模拟复杂的函数映射,从而解决各种监督学习任务。本文将详细阐述前馈神经网络的基本结构,包括其组成层、权重和偏置、激活
    的头像 发表于 07-09 10:31 773次阅读

    RNN的损失函数与优化算法解析

    函数有以下几种: 交叉熵损失函数 :交叉熵(Cross Entropy)是一评估个概率分布之间差异的度量方法,即通过比较模型预测的概率分
    的头像 发表于 11-15 10:16 363次阅读