深度学习-激活函数

激活函数

常用的四种激活函数:
• sigmoid
• tanh
• ReLu
• Leaky ReLu

Sigmoid

在这里插入图片描述
sigmoid函数的值域:(0,1),现在基本上使用sigmoid函数的场合很少,大多数情况下使用tanh 函数替代, tanh 函数在所有场合都优于 sigmoid 函数。除非在二分类情况下,期待输出的y值为0或1(而不是-1和1)
在这里插入图片描述

Tanh

在这里插入图片描述
tanh 函数是 sigmoid 的向下平移和伸缩后的结果。对它进行了变形后,穿过了(0,0)点,并且值域介于+1 和-1 之间。结果表明,如果在隐藏层上使用tanh 函数,效果总是优于 sigmoid 函数。且在训练一个算法模型时,如果使用 tanh 函数代替sigmoid 函数中心化数据,使得数据的平均值更接近 0 而不是sigmoid函数的0.5
sigmoid和tanh函数的缺点:
在z特别大或者特别小的情况下,导数的梯度或者函数的斜率会变得特别小,最后就会接近于 0,导致降低梯度下降的速度。
在这里插入图片描述

ReLu

在这里插入图片描述
修正线性单元(Rectified linear unit,ReLU)是在机器学习中很流行的一个函数,用其替代sigmoid函数可大幅加速梯度下降的过程,降低训练时间。
如图,函数分为两个部分,左半部分z<0时,函数值恒 = 0,导数 = 0;右半部分当z >= 0 时,函数是斜率为1的线性函数,导数恒 = 1.
这有一些选择激活函数的经验法则:
如果输出是 0、 1 值(二分类问题),则输出层选择 sigmoid /tanh函数,然后其它的所有单元都选择 Relu 函数。

在这里插入图片描述

Leaky ReLu

在这里插入图片描述
Leaky ReLu是Relu的改装版,当z是负值时,这个函数的值不是等于 0,而是轻微的倾斜,为什么常数是 0.01?其实是个经验值,当然,也可以选择不同的参数。 这个函数通常比 Relu 激活函数效果要好,尽管在实际中 Leaky ReLu 使用的并不多。
Relu由于在z < 0时,梯度直接为0,神经元此时不会训练,即大大加速了模型训练,节约时间。但同时会产生所谓的稀疏性,为了平衡稀疏性和模型训练效率,才诞生了 Leaky ReLu。
在这里插入图片描述

激活函数的导数

Sigmoid

在这里插入图片描述

Tanh

在这里插入图片描述

ReLu

在这里插入图片描述

Leaky ReLu

在这里插入图片描述

"java大数据人工智能培训学校全套教材"系列课程由1000集视频构成,基本就 是1)时下流行的java培训学校主流内部教材,2)和市面上培训学校的通 行的课程体系几乎一样。所以这套课程都能自己学下来,等于上了培训学校一次,完全可以找个java工程师的工作了。   通过学习卷积神经网络概述,为什么引入神经网络来做识别,判断,预测,训练模型,激活函数,sigmoid激活函数,导数和切线,sigmoid激活函数如何求导,链式法则,梯度,梯度下降法与delta法则,BP(back propagation)误差逆传播神经网络,卷积到底有什么作用?如何做到特征提取,池化的名字由来,dropout,Anaconda Prompt的用法,Jupyter notebook的用法,Spyder的用法,建立安装Tensorflow所需的Anaconda虚拟环境,如何在Anaconda虚拟环境安装Tensorflow与Keras概念等让大家对人工智能,卷积神经网络快速入门。 课程特色:专业细致,偏案例,理论强。 课程软件使用:Anaconda,Spyder,Jupyter notebook 重要声明: 1) 如果感觉噪音大,可以选择不用耳机,加音箱或用电脑原声  2) 既然我们的名字叫人工智能深度学习卷积神经网络入门,这个课程的特点就在于成本最低的, 让你最快速的,最容易的入门。人工智能深度学习卷积神经网络入门的最大的难点在于入门入不了,从而最终放弃。俗话说师傅领进门,修行在个人。只要入了门了,后面的事都好办。选课前,务必注意本章的学习目标和内容。想学更多,注意后边的课程。
Linux创始人Linus Torvalds有一句名言:Talk is cheap, Show me the code.(冗谈不够,放码过来!)。 代码阅读是从入门到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。   YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。 YOLOv3的实现Darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。   本课程将解析YOLOv3的实现原理和源码,具体内容包括:      YOLO目标检测原理       神经网络及Darknet的C语言实现,尤其是反向传播的梯度求解和误差计算       代码阅读工具及方法       深度学习计算的利器:BLAS和GEMM       GPU的CUDA编程方法及在Darknet的应用       YOLOv3的程序流程及各层的源码解析   本课程将提供注释后的Darknet的源码程序文件。   除本课程《YOLOv3目标检测:原理与源码解析》外,本人推出了有关YOLOv3目标检测的系列课程,包括:   《YOLOv3目标检测实战:训练自己的数据集》   《YOLOv3目标检测实战:交通标志识别》   《YOLOv3目标检测:原理与源码解析》   《YOLOv3目标检测:网络模型改进方法》   建议先学习课程《YOLOv3目标检测实战:训练自己的数据集》或课程《YOLOv3目标检测实战:交通标志识别》,对YOLOv3的使用方法了解以后再学习本课程。
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页