| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 深度学习知识总结——3. 激活函数与非线性输出(Activation function and Nonlinear Output) -> 正文阅读 |
|
[人工智能]深度学习知识总结——3. 激活函数与非线性输出(Activation function and Nonlinear Output) |
关于激活函数与非线性输出首先,我们先弄清楚一个问题。在实际的应用场景中输入的参数可能有多个,比如以经典的机器学习样本集鸢尾花为例
所以,使用激活函数的目的,就是为了影响计算图每一层的输出,打破输出值与输入参数之间的线性关系。你可以理解为在每一层的输出过程中加入一点“玄学”的元素。 在线性模型上增加激活函数
那么增加了激活函数的模型就变成了这样: 由于激活函数的存在,使得输出不再是简简单单的线性输出,你不必担心由于新增了激活函数后,导致原模型中梯度的消失。事实上你可以类比一下 normalize 这种操作(在图形图像上很常见,比如把原始数据转换成浮点后经过滤波等操作后,为了可视化,需要把处理后的数据重新映射到[0, 255]的区间),梯度经过新函数变换后依然保留。 那么我们常用的激活函数有哪些呢? 常见的几个激活函数Sigmoid 函数严格来说,Sigmoid函数不止一个,任何符合 σ ( x ) = 1 1 + e ? x \sigma(x) = \frac{1}{1+ e^{-x}} σ(x)=1+e?x1?函数图像的,都可以被归类为Sigmoid函数,这是一种经常被用来做 0-1 分类问题的函数。 其函数式写为: σ ( x ) = 1 1 + e ? x \sigma(x) = \frac{1}{1+ e^{-x}} σ(x)=1+e?x1? 除它之外,还有比较相似的tanh函数,其输出图像是:
这类函数的优点: 在于它可导,并且值域在有限范围区间,如 [0, 1],可以使神经元的输出标准化。 缺点:
tanh 函数属于Sigmoid函数的一种,但是和老大哥所不同,它的取值范围是 [-1, 1] σ ( x ) = e x ? e ? x e x + e ? x \sigma(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} σ(x)=ex+e?xex?e?x? 缺点和Sigmoid函数一样,但是优点是解决了Sigmoid只能在[0, 1]之间的问题,其取值范围是[-1 , 1] ReLu 函数有些地方叫它整流函数,它可以对神经元输出进行有针对性的数据过滤作用。比方说,数据经过一定的处理后,输出的值包含符号为正的有效数据和符号为负的噪音数据,为了避免噪音数据输入到下一层的网络,所以可以使用这个函数,过滤需要的数据。 从函数图像上看,它是分段函数,基本的ReLu函数的函数式表达为: σ ( x ) = { 0 x < 0 x x ≥ 0 \sigma(x) =\left\{\begin{matrix} 0 & x < 0\\ x & x \geq 0\\ \end{matrix}\right. σ(x)={0x?x<0x≥0? 当然,这个方向并不固定,根据需要也可以反过来,例如
σ
(
x
)
=
{
0
x
>
0
x
x
≤
0
\sigma(x) =\left\{\begin{matrix} 0 & x > 0\\ x & x \leq 0\\ \end{matrix}\right.
σ(x)={0x?x>0x≤0? 优点:
缺点:
即便改进型避免了负轴的梯度归零的问题,但是ReLu存在的缺点,实际上只是得到了轻微修正而已,可以说这个系列的激活函数是缺点和优点都十分突出的函数家族。 来做个简单的应用吧假设我们有这么一张表,这是一张我比较喜欢的辉光管工作时长表,这种前苏联时代的老玩意由于适用寿命都不长,所以如果持续点亮,那么在一定时候就会坏掉。
也就是说,当时间到1.5年后,辉光管一定会坏掉,那么问题是1.4年的时候,它坏掉的机率有多大? 我们用Torch来执行一下,首先使用一个线性模型对数据进行预测,并且为了增加一点玄学的成分,用Sigmoid作为激活函数,BCE函数作为损失函数,然后看看预测情况如何
输出结果是:
如果四舍五入,那么y = 0,也就是说1.4年后,坏掉的可能性是53%,其实概率还是挺大的呢~ 后记如果你刚接触Ai框架,你可能看到这里有点懵,这些函数都是干嘛的,有什么用。其实我计划把如何使用这些Ai框架的内容放在后面,这部分属于理论范畴,我们弄明白神经元是怎么工作的先。 另外,关于激活函数就我介绍的这么些吗?其实目前公布的有很多,这里只是提到了一些对于初学者来说常用和简单的类型。在某乎上有这么一个帖子目前总结了目前常用的激活函数总类,你可以去那帖子上面看看。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 18:50:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |