计算机系统应用教程网站

网站首页 > 技术文章 正文

#轻松学习深度学习(AI) 4 神经元的一般化

btikc 2024-10-02 12:05:05 技术文章 11 ℃ 0 评论

上一篇,我们介绍如何用数学的方式来表示神经元。神经元是我们大脑接收外界信息的基础单位。下图可以更详细的观察神经元的结构。

备注:神经元按照传输方向及功能可分为三种:感觉神经元、运动神经元、联络神经元。不同功能、不同区域的神经元外型有所差异,依照突起的多寡分成多极神经元、单极神经元(伪单极神经元)、双极神经元。如感觉神经元中的伪单极神经元,因为看起来只有一个突触,只有单一条轴突,没有树突而得名。

通过数学抽象表达的神经元,其实非常简单,看起来就是一个多元一次函数式。让我们再来回顾一下:

假设来自周围相邻神经元1、神经元2、神经元3的输入,信号变量分别为x1、x2、x3,则神经元的输入信号和的数学表达为:

w1x1 + w2x2 + w3x3

这里边的w1、w2、w3分别是输入信号x1、x2、x3的权重(weight)。

我们还介绍了神经元在信号传输中,如果输入信号超过神经元的阈值,细胞体就会做出反应,通过轴突连接其他的神经元(树突)传递信号,称为“点火”。那么“点火的”的数学表示如下:

定义y为信号输出,f定义为点火函数,θ来代替上篇中阈值threshold,则点火的式子为:

y = f(w1x1 + w2x2 + w3x3 -θ)

而如果在简化一步,定义函数z=w1x1 + w2x2 + w3x3 -θ,则上式可以简化为:

y = f(z)

这篇内容,我们将神经元再进一步一般化,推广到更大规模的形式上。

一,神经元的简化模型

为了直观的描述神经元,我们用下图表示:

如果再进一步简化这个模型,便于大规模的应用和推广,如下图所示:

上面我们说到的神经元,是以生物学命名沿袭下来。我们用数学方式进行抽象和归纳进行了简化,为了有所区别,我们称之为神经单元。

二,激活函数

神经元进行数学上的抽象后,对于输出信号也将进行一般化处理。根据是否点火,神经元的输出y取值为1和0.

无输出: y = 0 (可以理解为无点火)

有输出: y = 1 (可以理解为有点火)

这时,点火的式子可以表示为:

y = u(w1x1 + w2x2 + w3x3 -θ)

备注:y是输出函数,u是点火函数,θ为阈值

我们将上式一般化后,变化为:

y = a(w1x1 + w2x2 + w3x3 -θ)

备注:这里的a是模型建模者定义的函数,称为激活函数(activation function)。x1、x2、x3是输入值,y是函数a取到的值。当然实际输入不止3个参数,可以有很多个。

经过一般化处理后的式子,也是神经网路数学抽象的最基本形态,这个式子你要记住哈。另外,对于神经单元的数学表示的输出,并非神经元输出的1或者0来表示,它是一个任意数字,这个数字所表示的意义取决于模型建模者给出的定义。对比神经元的1或0,可以描述为兴奋度、反应度、活性度等等。

三,Sigmoid函数

激活函数普遍代表意义的Sigmoid函数,其输出值是介于0到1中的某一个值。此函数的图像是连续、光滑,在数学意义上是可导。在这里我们顺便讲一下激活函数。

激活函数的作用是给神经元引入非线性。没有激活函数,神经网络的本质将发生变化,此时不管神经网络有多少层,最终的输出将成为输入的线性组合,这将导致神经网络退化成感知机,也就是由一个线性加权组合表达的分类器。神经网络之所以被公认的强大,可以拟合任何函数,正是因为它的非线性。

激活函数有很多,常用的激活函数包括sigmoid、tanh、ReLU、Leaky ReLU、ELU、SELU、PReLU、Dice、maxout、softmax等,其中Leaky ReLU、ELU、SELU、PReLU、Dice的原理都是ReLU为基础进行一些改进,softmax是sigmoid的拓展,主要用于多分类网络的最后一层。

为了简化讲述,除了sigmoid函数作为我们通用的激活函数外,其他的激活函数大家可以先不用了解那么多。如果感兴趣的话,可以自行搜索。

通过对上图Simoid函数的图像观察,可以看到输出值接近1表示兴奋度高,接近0表示兴奋度低。

四,理解偏置

在上面,我们定义了激活函数的数学表达式:

y = a(w1x1 + w2x2 + w3x3 -θ)

其中的θ是阈值,表示这个神经元的敏感程度。如果θ值很大,说明不容易兴奋,如果θ值小,则说明很容易兴奋。换句话就是,如果要点火成功,必须是输入信号和权重都够大,才可以刺激到这个神经元,也以为着此神经元不敏感。反之亦然。

我们对这个式子再进一步的变形,如下所示:

y = a(w1x1 + w2x2 + w3x3 + b)

备注:b可以理解为取值-θ。b也给与一个特定的称号——偏置(bias)。

我们令:

z = w1x1 + w2x2 + w3x3 + b

这个式子也就是我们定义为加权输入,可以理解为神经单元所有的输入值和权重的乘积的和,并与偏置b(阈值-θ)相加。而z就是我们的加权函数。

更为一般的表达可以参考下图所示:


附带不同激活函数的图像表示:

OK,本篇内容到此搞一段落,期待更精彩的内容,请关注本账号,再见!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表