网站首页 > 文章精选 正文
上一篇,我们介绍如何用数学的方式来表示神经元。神经元是我们大脑接收外界信息的基础单位。下图可以更详细的观察神经元的结构。
备注:神经元按照传输方向及功能可分为三种:感觉神经元、运动神经元、联络神经元。不同功能、不同区域的神经元外型有所差异,依照突起的多寡分成多极神经元、单极神经元(伪单极神经元)、双极神经元。如感觉神经元中的伪单极神经元,因为看起来只有一个突触,只有单一条轴突,没有树突而得名。
通过数学抽象表达的神经元,其实非常简单,看起来就是一个多元一次函数式。让我们再来回顾一下:
假设来自周围相邻神经元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,本篇内容到此搞一段落,期待更精彩的内容,请关注本账号,再见!
猜你喜欢
- 2025-01-09 图注意力网络论文详解和PyTorch实现
- 2025-01-09 使用scikit-learn为PyTorch 模型进行超参数网格搜索
- 2025-01-09 神经网络调试:梯度可视化
- 2025-01-09 涨姿势!「手动」调试神经网络,可以这样做
- 2025-01-09 图深度学习,入门教程七,残差多层图注意力模型
- 2025-01-09 深度学习的秘密武器:用 PyTorch 的 torch.nn.ReLU 打造高效模型
- 2025-01-09 基于深度学习的运动想象脑机接口研究综述
- 2025-01-09 使用多尺度patch合成来做高分辨率的图像复原
- 2025-01-09 神经网络训练tricks
- 2025-01-09 汇总|实时性语义分割算法
- 04-23关于linux coreutils/sort.c源码的延展思考最小堆为什么不用自旋
- 04-23一文精通如何使用二叉树
- 04-23二叉树(Binary Tree)
- 04-23数据结构入门:树(Tree)详细介绍
- 04-23数据结构错题收录(六)
- 04-23Kubernetes原理深度解析:万字图文全总结!
- 04-23一站式速查知识总结,助您轻松驾驭容器编排技术(水平扩展控制)
- 04-23kubectl常用删除命令
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)