2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

深度学习的数学(二):神经元工作的数学表示

  • 2020-04-02
  • 本文字数:2525 字

    阅读完需:约 8 分钟

深度学习的数学(二):神经元工作的数学表示

编者按:本文节选自图灵程序设计丛书 《深度学习的数学》一书中的部分章节。


前文所述,神经网络是以从神经元抽象出来的数学模型为出发点的。下面,我们将更详细地考察神经元的工作,并将其在数学上抽象化。

整理神经元的工作

人的大脑是由多个神经元互相连接形成网络而构成的。也就是说,一个神经元从其他神经元接收信号,也向其他神经元发出信号。大脑就是根据这个网络上的信号的流动来处理各种各样的信息的。



让我们来更详细地看一下神经元传递信息的结构。如上图所示,神经元是由细胞体、树突、轴突三个主要部分构成的。其他神经元的信号(输入信号)通过树突传递到细胞体(也就是神经元本体)中,细胞体把从其他多个神经元传递进来的输入信号进行合并加工,然后再通过轴突前端的突触传递给别的神经元。


那么,神经元究竟是怎样对输入信号进行合并加工的呢?让我们来看看它的构造。


假设一个神经元从其他多个神经元接收了输入信号,这时如果所接收的信号之和比较小,没有超过这个神经元固有的边界值(称为 阈值),这个神经元的细胞体就会忽略接收到的信号,不做任何反应。



注:对于生命来说,神经元忽略微小的输入信号,这是十分重要的。反之,如果神经元对于任何微小的信号都变得兴奋,神经系统就将“情绪不稳定”。


不过,如果输入信号之和超过神经元固有的边界值(也就是阈值),细胞体就会做出反应,向与轴突连接的其他神经元传递信号,这称为点火。



那么,点火时神经元的输出信号是什么样的呢?有趣的是,信号的大小是固定的。即便从邻近的神经元接收到很大的刺激,或者轴突连接着其他多个神经元,这个神经元也只输出固定大小的信号。点火的输出信号是由 0 或 1 表示的数字信息。

神经元工作的数学表示

让我们整理一下已经考察过的神经元点火的结构。


(i) 来自其他多个神经元的信号之和成为神经元的输入。


(ii) 如果这个信号之和超过神经元固有的阈值,则点火。


(iii) 神经元的输出信号可以用数字信号 0 和 1 来表示。即使有多个输出端,其值也是同一个。


下面让我们用数学方式表示神经元点火的结构。


首先,我们用数学式表示输入信号。由于输入信号是来自相邻神经元的输出信号,所以根据 (iii),输入信号也可以用“有”“无”两种信息表示。因此,用变量 表示输入信号时,如下所示。



注:与视细胞直接连接的神经元等个别神经元并不一定如此,因为视细胞的输入是模拟信号。


接下来,我们用数学式表示输出信号。根据 (iii),输出信号可以用表示点火与否的“有”“无”两种信息来表示。因此,用变量 表示输出信号时,如下所示。




最后,我们用数学方式来表示点火的判定条件。


从 (i) 和 (ii) 可知,神经元点火与否是根据来自其他神经元的输入信号的和来判定的,但这个求和的方式应该不是简单的求和。例如在网球比赛中,对于来自视觉神经的信号和来自听觉神经的信号,大脑是通过改变权重来处理的。因此,神经元的输入信号应该是考虑了权重的信号之和。用数学语言来表示的话,例如,来自相邻神经元 1、2、3 的输入信号分别为 ,则神经元的输入信号之和可以如下表示。


式中的 是输入信号 对应的 权重(weight)。



根据 (ii),神经元在信号之和超过阈值时点火,不超过阈值时不点火。于是,利用式 (1),点火条件可以如下表示。



这里, 是该神经元固有的阈值。


例 1 来自两个神经元 1、2 的输入信号分别为变量 ,权重为 ,神经元的阈值为 。当 时,考察信号之和 的值与表示点火与否的输出信号 的值。


输入 $\boldsymbol{x_1} $输入 $\boldsymbol{x_2} $和 $\boldsymbol{w_1x_1+w_2x_2} $点火输出信号 $\boldsymbol{y}$
00$5\times0+3\times0=0<4$0
01$5\times0+3\times1=3<4$0
10$5\times1+3\times0=5\geqslant4$1
11$5\times1+3\times1=8\geqslant4$1

点火条件的图形表示

下面我们将表示点火条件的式 (2) 图形化。以神经元的输入信号之和为横轴,神经元的输出信号 为纵轴,将式 (2) 用图形表示出来。如下图所示,当信号之和小于 时, 取值 0,反之 取值 1。



如果用函数式来表示这个图形,就需要用到下面的 单位阶跃函数


单位阶跃函数的图形如下所示。



利用单位阶跃函数 ,式 (2) 可以用一个式子表示如下。


点火的式子:


通过下表可以确认式 (3) 和式 (2) 是一样的。


|||||


|-|-|


|0(无点火)|小于 ||0|


|1(点火)|大于等于 ||1|


此外,该表中的 (式 (3) 的阶跃函数的参数)的表达式


称为该神经元的 加权输入


备注 的处理

有的文献会像下面这样处理式 (2) 的不等号。

在生物上这也许是很大的差异,不过对于接下来的讨论而言是没有问题的。因为我们的主角是 Sigmoid 函数,所以不会发生这样的问题。


图书简介http://www.ituring.com.cn/book/2593



相关阅读


深度学习的数学(一):神经网络和深度学习


2020-04-02 10:002484

评论

发布
暂无评论
发现更多内容

LabVIEW设置应用程序显示标签透明

不脱发的程序猿

LabVIVE 美化应用程序

正确的文档排版方式

源字节1号

自己动手写Docker系列 -- 6.3 手动配置容器网络(下)

Go Docker 4月月更

如何发挥测试策略的指导性作用

KJ Meng

DevOps 研发管理 测试 自动化测试 测试策略

手撕《Google SRE Book》

一席

轻量化项目管理思路

秋去冬来春未远

需求管理 问题管理 问题和需求区别

一文搞懂SPI通信协议

不脱发的程序猿

spi 嵌入式 通信协议

5种高大上的yml文件读取方式,你知道吗?

码农参上

springboot 配置文件 4月月更

LabVIEW显示控件中内容过长设置自动滚动条

不脱发的程序猿

LabVIEW 设置自动滚动条

瑞萨IDE:CS+ for CC进行BootLoader升级时开发环境配置

不脱发的程序猿

嵌入式 汽车电子 MCU 瑞萨 CS+ for CC

在线Excel转CSV工具

入门小站

工具

云原生训练营毕业总结

hcyycb

Java多线程归纳整理

高山觅流水

多线程

redis优化系列(三)解决主从配置后的常见问题

乌龟哥哥

4月月更

瑞萨IDE:CS+ for CC下载、安装和基础使用

不脱发的程序猿

ide 瑞萨 汽车级MCU CS+ for CC

瑞萨IDE:CS+ for CC新建工程配置方法

不脱发的程序猿

ide 汽车电子 CS+ for CC 瑞萨MCU

Scrum Patterns之理解各种团队模式

Bruce Talk

Scrum 敏捷开发 Agile Scrum Patterns

LabVIEW采集鼠标、键盘数据

不脱发的程序猿

LabVIEW 获取鼠标、键盘输入数据

Robot OS添加开机启动服务

轻口味

android 4月月更 AOSP

Go 语言入门很简单:时间包

宇宙之一粟

时间 Go 语言 4月月更

在线时序流程图制作工具

入门小站

工具

LabVIEW修改应用程序窗口外观

不脱发的程序猿

LabVIEW 修改应用程序窗口外观

「面向信仰编程」Draven 专访:像写代码一样,用树形的结构写文章

Shopee技术团队

Go 语言 技术播客

C语言总结_函数知识

DS小龙哥

4月月更

什么是区块链数字藏品,它具有什么价值?

CECBC

14岁懂社会-《给想要成为医生的你》读书笔记

懒时小窝

读书笔记 读书

linux之pkill命令

入门小站

DaaS大数据服务简析

穿过生命散发芬芳

4月月更

修改,编译,GDB调试openjdk8源码(docker环境下)

程序员欣宸

Java JVM 4月月更

OpenHarmony开源开发者成长计划,寻找改变世界的开源新生力!

科技汇

网络协议之:sctp流控制传输协议

程序那些事

Java Netty 程序那些事 4月月更

深度学习的数学(二):神经元工作的数学表示_AI&大模型_涌井良幸,涌井贞美_InfoQ精选文章