这篇文章概述了深度学习中使用的一些 概念和术语。
目标是介绍 神经网络,为大家提供 神经元和激活函数 的入门介绍(不包含背后的数学知识)。 什么是人工神经网络? 神经网络能够利用多层神经元学习复杂的模式,这些神经元会对数据进行数学变换。 输入层和输出层之间的层被称为“隐藏层” 神经网络具有一种独特的能力,可以学习并识别数据中的复杂特征关系,而这些关系可能对于其他传统的算法来说难以直接发现或建模。 多层感知器(MLP) 上面的图表是一个多层感知器(MLP)。 一个MLP至少要有三层:输入层、隐藏层和输出层。 它们是完全连接的,即一层中的每个节点都通过权重与下一层中的每个节点相连。 深度学习这一术语用于指代由许多隐藏层构建的机器学习模型:深度神经网络。 什么是神经元? 人工神经元(也被称为感知器)是一个数学函数。 它接收一个或多个输入,这些输入乘以被称为“权重”的值并相加。 然后,这个值被传递给一个非线性函数,称为激活函数,以生成神经元的输出。 x值指的是输入,要么是原始特征,要么是前一层隐藏层的输入。 在每一层中,还有一个偏置b,它可以帮助更好地拟合数据。 神经元将值a传递给下一层中与之连接的所有神经元,或者将其作为最终值返回。
计算从线性方程开始:
在添加非线性激活函数之前:
这就引出了我们接下来的问题…… 大家有想系统学习机器学习深度学习的,可以看看下面三篇文章,里面包含机器学习深度学习从入门到进阶的资料(PDF都打包好了,可以直接获取)。 什么是激活函数? 激活函数是神经元应用的一个非线性函数,用于在网络中引入非线性特性。 如果第一个变量的变化对应于第二个变量的恒定变化,那么这种关系就是线性的。 非线性关系意味着第一个变量的变化并不一定对应于第二个变量的恒定变化。 然而,它们可能会相互影响,但看起来是不可预测的。 通过引入非线性,我们可以更好地捕捉数据中的模式。 这是一个直观的例子。
最佳拟合线性和非线性模型 线性激活函数
直线函数:a是一个常数 值可能会变得非常大 仅线性函数本身无法捕捉复杂的模式
Sigmoid激活函数
是一个非线性函数,因此可以捕捉更复杂的模式 输出值是有界的,因此不会变得太大 可能会受到“梯度消失”的影响
双曲正切激活函数
是一个非线性函数,因此可以捕捉更复杂的模式 输出值是有界的,因此不会变得太大 可能会受到“梯度消失”的影响
修正线性单元(ReLU)激活函数
Leaky ReLU激活函数
是一个非线性函数,因此可以捕捉更复杂的模式 尝试解决“ReLU死亡问题” 值可能会变得非常大
另外,除了使用0.01,它也可以是一个参数α,该参数在训练过程中与权重一起学习。 这被称为参数化ReLU(PReLU):
Softmax激活函数
大家有想系统学习机器学习深度学习的,可以看看下面三篇文章,里面包含机器学习深度学习从入门到进阶的资料(PDF都打包好了,可以直接获取)。
|