网站首页 > 技术文章 正文
上一篇,我们介绍如何用数学的方式来表示神经元。神经元是我们大脑接收外界信息的基础单位。下图可以更详细的观察神经元的结构。
备注:神经元按照传输方向及功能可分为三种:感觉神经元、运动神经元、联络神经元。不同功能、不同区域的神经元外型有所差异,依照突起的多寡分成多极神经元、单极神经元(伪单极神经元)、双极神经元。如感觉神经元中的伪单极神经元,因为看起来只有一个突触,只有单一条轴突,没有树突而得名。
通过数学抽象表达的神经元,其实非常简单,看起来就是一个多元一次函数式。让我们再来回顾一下:
假设来自周围相邻神经元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,本篇内容到此搞一段落,期待更精彩的内容,请关注本账号,再见!
猜你喜欢
- 2024-10-02 数据库连接池内存泄漏问题的分析和解决方案
- 2024-10-02 复古与未来合二为一 日产Max-Out Convertible概念车亮相
- 2024-10-02 MAX-OUT 运动敞篷车概念车 suv敞篷跑车
- 2024-10-02 日产Max-Out概念车亮相,定位两门两座跑车
- 2024-10-02 Go语言核心36讲(Go语言实战与应用二十五)--学习笔记
- 2024-10-02 最新研究成果:想加薪赶紧去休假! 调研发现民企积极安排除夕休假
- 2024-10-02 日产发布全新EV概念车 拟搭载全固态电池
- 2024-10-02 反转设计惹人爱!这款全新 Air Max 98“Inside Out”你喜欢吗?
- 2024-10-02 2023上海车展:日产Max-Out概念车首发亮相
- 2024-10-02 新车 | 双座敞篷跑车,双电机四驱,日产Max-Out概念车上海车展亮相
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)