《深度学习的数学》chap1 神经网络的思想
文章目录
- 1-1 神经网络和深度学习
- 神经网络
- 用神经网络实现的人工智能
- “人教导机器”类型的人工智能的问题
- 1-2 神经元工作的数学表示
- 整理神经元的工作
- 神经元工作的数学表示
- 点火条件的图形表示
- 1-3 激活函数:将神经元的工作一般化
- 简化神经元的图形
- 激活函数
- Sigmoid函数
- 偏置
- 1-4 什么是神经网络
- 神经网络
- 神经网络各层的职责
- 例子:手写数字识别
- 输入层
- 输出层
- 隐藏层
- 1-5 用恶魔来讲解神经网络的结构
- 重要的隐藏层
- 思路:由神经单元之间的关系强度给出答案
- 恶魔的心的偏置
- 从关系中得到信息
- 1-6 将恶魔的工作翻译为神经网络的语言
- 恶魔之间的“交情”表示权重
- 模型的合理性
- 恶魔的人数
- 神经网络与生物的类比
- 1-7 网络自学习的神经网络
- 从数学角度看神经网络的学习
- 神经网络: Neural Network,NN
1-1 神经网络和深度学习
神经网络
-
生物学上的神经元(neuron)
-
神经元形成网络
-
对于其他多个神经元传递过来的信号,如果它们的和
- 不超过某个固定大小的值(阈值),则神经元不做出反应
- 超过某个固定大小的值(阈值),则神经元做出反应(称为点火),向另外的神经元传递固定强度的信号
- 在这多个信号之中,每个信号对应的权重不一样
-
将神经元的工作在数学上抽象化,并以其为单位人工地形成网络, 这样的人工网络就是神经网络。将构成大脑的神经元的集合体抽象为数学模型,这就是神经网络的出发点。
用神经网络实现的人工智能
- 以往的人工智能需要人们事先将各种各样的知识教给机器,这在工业机器人等方面取得了很大成功
- 而对于用神经网络实现的人工智能,人们只需要简单地提供数据即可。神经网络接收数据后,会从网络的关系中自己学习并理解。
“人教导机器”类型的人工智能的问题
-
“人教导机器”类型的人工智能无法胜任图像、语音的模式识别,因为要把所有东西都教给计算机是不现实的
-
解决方式就是 神经网络以及由其发展而来的深度学习
- 由人提供数据,然后由神经网络自己进行学习
1-2 神经元工作的数学表示
整理神经元的工作
-
神经元的构成:细胞体、树突、轴突
- 其他神经元的信号(输入信号)通过树突传递到细胞体(神经元本体),细胞体把从其他多个神经元传递进来的输入信号进行合并加工,然后再通过轴突前端的突触传递给别的神经元
- 其他神经元的信号(输入信号)通过树突传递到细胞体(神经元本体),细胞体把从其他多个神经元传递进来的输入信号进行合并加工,然后再通过轴突前端的突触传递给别的神经元
-
如何对输入信号合并加工?
-
神经元固有的边界值:阈值
-
不超过阈值:忽略接收到的信号,不做反应
-
平时说到的神经敏感,是不是就是阈值太低? (待查)
-
-
超过阈值:细胞体做出反应,向与轴突连接的其他神经元传递信号,称为点火
点火的神经元输出信号是怎么样的?
- 信号的大小是固定的。即便从邻近的神经元接收到很大的刺激,或者轴突连接 着其他多个神经元,这个神经元也只输出固定大小的信号。点火的输出 信号是由 0 或 1 表示的数字信息
-
-
神经元工作的数学表示
-
输入信号的表示
-
输出信号的表示
-
点火条件的判定
- 例1
点火条件的图形表示
-
以神经元的输入信号和为横轴,神经元的输出信号y为纵轴,当信号值和小于 θ \theta θ时, y y y值取0,反之 y y y值取1
-
用函数式来表示
- 单位阶跃函数
-
利用单位阶跃函数表示点火条件
1-3 激活函数:将神经元的工作一般化
简化神经元的图形
激活函数
-
根据点火与否,生物学上的神经元的输出 y 分别取值 1 和 0
- 然而,如果除去“生物”这个条件,这个“0 和 1 的限制”也应该是 可以解除的。这时表示点火与否的下式(1- 2 节式 (3))就需要修正
- 然而,如果除去“生物”这个条件,这个“0 和 1 的限制”也应该是 可以解除的。这时表示点火与否的下式(1- 2 节式 (3))就需要修正
-
神经元和神经单元
Sigmoid函数
-
单位阶跃函数和Sigmoid函数的对比
-
sigmoid函数输出值的解释
偏置
这里的 θ \theta θ称为阈值,在生物学上是表现神经元特性的值。直观上讲, θ \theta θ表示神经元的感受能力,若 θ \theta θ值较大,则神经元不易兴奋(感受迟钝),若值较小,则神经元容易兴奋(敏感)
-
变式 , 偏置bias
-
生物上的阈值
-
-
变式 : 内积
1-4 什么是神经网络
神经网络
-
回顾神经单元
- 将这样的神经单元连接为网络状,就形成了神经网络。
神经网络各层的职责
-
构成这个网络的各层称为 输入层、隐藏层、输出层,其中隐藏层也被称为中间层,各层分别执行特定的信号处理操作
-
输入层、隐藏层(中间层)、输出层
-
输入层
- 读取给予神经网络的信息。属于这个层的神经单元没有 输入箭头,它们是简单的神经单元,只是将从数据得到的值原样输出
-
隐藏层
-
执行前面所复习过的处理操作 (1) 和 (2)。在神经 网络中,这是实际处理信息的部分
-
-
输出层
- 与隐藏层一样执行信息处理操作 (1) 和 (2),并显示神经网络 计算出的结果,也就是整个神经网络的输出
-
例子:手写数字识别
-
建立一个神经网络,用来识别通过4x3像素的图像读取的手写数字0和1。学习数据是64张图像,其中像素是单色二值
-
这个简单的神经网络的特征是,前一层的神经单元与下一层的所有 神经单元都有箭头连接,这样的层构造称为全连接层(fully connected layer)。这种形状对于计算机的计算而言是十分容易的。
输入层
- 输入层由 12 个神经单元构成,对此我们立刻就能够理解,因为神经 网络一共需要读取 4×3 = 12 个像素信息。
- 输入层的神经单元的输入与输出是相同的。一定要引入激活函数 a(z) 的话,可以用恒等函数(a(z) = z)来充当
输出层
-
输出层由两个神经单元构成,这是因为我们的题目是识别两种手写数字 0 和 1,需要一个在读取手写数字 0 时输出较大值(即反应较大)的 神经单元,以及一个在读取手写数字 1 时输出较大值的神经单元
-
例如,将 Sigmoid 函数作为激活函数使用。在这种情况下,读取数字 0 的图像时,输出层上方的神经单元的输出值比下方的神经单元的输出值大;而读取数字 1 的图像时,输出层下方的神经单元的输出值比上方的神 经单元的输出值大,如下图所示。像这样,根据输出层的神经单元的输 出的大小,对整个神经网络进行判断。
隐藏层
1-5 用恶魔来讲解神经网络的结构
- 隐藏层负责 特征提取 ,本节介绍隐藏层
重要的隐藏层
思路:由神经单元之间的关系强度给出答案
-
假设有一个如下图所示的恶魔组织,隐藏层住着3个隐藏恶魔A、B、C,输出层住着2个输出恶魔0和1。输入层有12个手下1~12为隐藏恶魔A、B、C服务。
注:这里将生物学中的特征提取细胞的工作抽象化为3个恶魔A、B、C。
-
最下层(输入层)的12个手下分别住在4×3像素图像的各个像素上,其工作是如果像素信号为OFF(值为0);就处于休眠状态;如果像素信号为ON(值为1)则变得兴奋,并将兴奋度信息传递给他们的主人隐藏恶魔A、B、C。
注:即便不是黑白二值像素的情况,处理方式也是相同的。
不过,隐藏恶魔A、B、C有不同的喜好。他们分别喜欢下图所示的模式A、模式B、模式C的图案。这个性质影响了神经网络的特性。(看清他们的不同“偏好”,就是我们最初所提及的设计者的预估。)
住在最上层的2个输出恶魔也是从住在下层的3个隐藏恶魔那里得到兴奋度信息。与隐藏恶魔一样,他们将得到的兴奋度信息进行整合,根据其值的大小,自己也变兴奋。然后,这些输出恶魔的兴奋度就成为整个恶魔组织的意向。如果输出恶魔0的兴奋度比输出恶魔1的兴奋度大,神经网络就判定图像的数字为0,反之则判定为1。
可见,恶魔的世界里也存在着人际关系。
隐藏恶魔A、B、C对模式有着各自的偏好,与12个手下有不同的交情。隐藏恶魔A的偏好是之前的模式A,因此与④、⑦性情相投。因为模式A的4号像素与7号像素是ON,所以理所当然地与对应的看守人④、⑦性情相投。这里写的真好玩哈哈哈
同样地,手下⑤、⑧与隐藏恶魔B,手下⑥、⑨与隐藏恶魔C性情相投,因此他们之间传递兴奋度的管道也变粗了(下图)。
住在隐藏层的隐藏恶魔A、B、C与住在上层的2个输出恶魔也有着人际关系。由于某种羁绊,输出恶魔О与隐藏恶魔A、C性情相投,而输出恶魔1与隐藏恶魔B性情相投。
以上就是恶魔组织的所有人际关系。除了隐藏恶魔A、B、C有不一样的偏好以外,这是一个人类社会中到处都可能存在的简单的组织。
读到这里想到了 如果 下面一群人想去请一个人说一件事 , 众人说服都无效,还是得让亲近他的人去劝说哈哈哈, 然后就起到了点火激活的效果! 神经网络真是和生活息息相关捏!
-
例如,读入手写的0
于是,作为像素看守人的手下④、⑦和手下⑥、⑨看到这个图像非常兴奋
这时,兴奋的手下④、⑦向性情相投的隐藏恶魔A传递了较强的兴奋度信息,兴奋的手下⑥、⑨也向性情相投的隐藏恶魔C传递了较强的兴奋度信息。相对地,几乎没有手下向隐藏恶魔B传递兴奋度信息(下图)。
接收了来自手下的兴奋度信息的隐藏恶魔们会怎样呢?接收了较强的兴奋度信息的隐藏恶魔A和隐藏恶魔C自然也变兴奋了。另一方面,隐藏恶魔B变得怎样呢?因为几乎没有从手下接收到兴奋度信息,所以一直保持冷静。
住在最上层的输出恶魔变得怎样了呢?输出恶魔О由于与兴奋的隐藏恶魔A、C关系亲密,从而获得了较强的兴奋度信息,所以自己也兴奋起来了。相对地,输出恶魔1与隐藏恶魔A、C关系疏远,而与之关系亲密的隐藏恶魔B一直保持冷静,所以输出恶魔1没有获得兴奋度信息,因此也保持冷静。
这样一来,读取手写数字0的图像后,根据恶魔之间的连锁关系,最终得到了“输出恶魔О兴奋,输出恶魔1冷静”的结果。根据前文中的“如果输出恶魔0的兴奋度比输出恶魔1的兴奋度大,神经网络就判断图像的数字为0”,恶魔的网络推导出了0这个解答。
恶魔的心的偏置
这里的噪声暂时没有get到
- 在这个恶魔组织中,下层的兴奋度会或多或少地传递到上层。
- 但是,除了具有亲密关系的各层之间传递的兴奋度信息以外,还遗漏了少量信息,就是“噪声”。
- 如果这些噪声迷住了恶魔的心,就会导致无法正确地传递兴奋度信息。
- 因此,这就需要减少噪声的功能。
- 对于恶魔组织的情形,我们就将这个功能称为“心的偏置”吧!
- 具体来说,将偏置放在恶魔的心中,以忽略少量的噪声。这个“心的偏置”是各个恶魔固有的值(也就是个性)。
从关系中得到信息
- 像上面那样,恶魔组织实现了手写数字的模式识别。我们应该关注到,是恶魔之间的关系(也就是交情)和各个恶魔的个性(也就是心的偏置)协力合作推导出了答案。也就是说,网络作为一个整体做出了判断。
1-6 将恶魔的工作翻译为神经网络的语言
恶魔之间的“交情”表示权重
-
上一节考察了恶魔组织识别手写数字0、1的结构。将这个组织替换为神经网络,我们就能理解神经单元发挥良好的团队精神进行模式识别的结构。
-
首先,将恶魔看作神经单元。隐藏层住着3个隐藏恶魔A、B、C,可以解释为隐藏层有3个神经单元A、B、C。输出层住着2个输出恶魔0、1,可以解释为输出层有2个神经单元0、1。此外,输入层住着12个恶魔的手下,可以解释为输入层有12个神经单元(下图)。
-
接下来,将恶魔的“交情”看作神经单元的权重。隐藏恶魔 A 与手 下④、⑦性情相投,这样的关系可以认为是从输入层神经单元④、⑦指向隐藏层神经单元 A 的箭头的权重较大。同样地,隐藏恶魔 B 与手下⑤、 ⑧性情相投,可以认为是从输入层神经单元⑤、⑧指向隐藏层神经单元 B 的箭头的权重较大。隐藏恶魔 C 与手下⑥、⑨性情相投,可以认为是从 输入层神经单元⑥、⑨指向隐藏层神经单元 C 的箭头的权重较大。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kkuoC3yv-1669539044442)(https://cdn.jsdelivr.net/gh/xin007-kong/picture_new/img/20221127164409.png)]
-
隐藏恶魔 A、C 与上层的输出恶魔 0 性情相投,这个关系表示从隐藏层神经单元 A、C 指向输出层神经单元 0 的箭头的权重较大。同样地,隐藏恶魔 B 与输出恶魔 1 性情相投,这个关系表示从隐藏层神经单元 B 指 向输出层神经单元 1 的箭头的权重较大
-
这样解释的话,神经网络读入手写数字 0 时,神经单元 A 和 C 的输出值较大,输出层神经单元 0 的输出值较大。于是,根据神经网络整体 的关系,最终识别出数字 0。
-
在像这个神经网络那样前一层与下一层全连接的情况下,在输入 0 的图像时,原本不希望做出反应的隐藏层神经单元 B 以及输出层神经单元 1 也有信号传递,因此需要禁止这样的信号并使信号变清晰,这样的功能就是偏置,在恶魔组织中表现为“心的偏置”。
-
如上所述,权重和偏置的协力合作使得图像识别成为可能。这就是 “由神经网络中的关系得出答案” 的思想
模型的合理性
- 即使将恶魔的活动转换为了神经网络,也无法保证可以求出能够实现恶魔的工作的权重和偏置。
- 而如果能够实际建立基于这个想法的神经网络,并能够充分地解释所给出的数据,就能够验证以上话题的合理性。
- 这需要数学计算,必须将语言描述转换为数学式。为此,我们会在第 2 章进行一些准备工作,并从 第 3 章开始进行实际的计算
恶魔的人数
-
住在输出层的输出恶魔的人数是2人。为了判断图像中的数字是0还是1,2人是合适的
-
住在隐藏层的隐藏恶魔的人数是3人。为什么是3人呢?如本节开头所讲的那样,这是由于存在某种预估,如下图所示
- 根据该图可以预估数字0包含了图中的模式A和C,数字1包含了模式B。因此,只要准备好对上图的模式A、B、C做出反应的神经单元,就能够判断图像中的数字是0还是1。这3个神经单元正是隐藏恶魔A、B、C的本来面目。
-
以上是在隐藏层部署3个神经单元的理由。通过让这个神经网络实际读取图像数据并得出令人信服的结论,可以确认这个预估的正确性。关于具体的确认方法,我们将在第3章考察。
神经网络与生物的类比
-
可以认为,输入层神经单元相当于视细胞,隐藏层神经单元相当于视神经细胞,输出层神经单元相当于负责判断的大脑神经细胞群
1-7 网络自学习的神经网络
在前面的 1- 5 节和 1- 6 节中,我们利用恶魔这个角色,考察了识别 输入图像的机制。具体来说,就是根据恶魔组织中的关系来判断。不过, 之前的讲解中事先假定了权重的大小,也就是假定了各层恶魔之间的人际关系。
- 那么,这个权重的大小(恶魔的关系)是如何确定的呢?神经网络中比较重要的一点就是利用网络自学习算法来确定权重大小。
从数学角度看神经网络的学习
-
神经网络的参数确定方法分为有监督学习和无监督学习。本书只介绍有监督学习。
-
有监督学习是指,为了确定神经网络的权重和偏置,事先给予数据,这些数据称为学习数据(也称为训练数据)。根据给定的学习数据确定权重和偏置,称为学习
-
那么,神经网络是怎样学习的呢?思路极其简单:计算神经网络得出的预测值与正解的误差,确定使得误差总和达到最小的权重和偏置。这在数学上称为模型的最优化
-
关于预测值与正解的误差总和,有各种各样的定义。本书采用的 是最古典的定义:针对全部学习数据,计算预测值与正解的误差的平方(称为平方误差),然后再相加。这个误差的总和称为代价函数(cost function),用符号 CT 表示(T 是 Total 的首字母)
-
利用平方误差确定参数的方法在数学上称为最小二乘法,它在统计学中是回归分析的常规手段
-
-
本书将在2-12节以回归分析为例来具体考察什么是最小二乘法。
-
另外,本书以手写数字的模式识别为例进行说明。因此,学习数据是图像数据,学习实例是图像实例。
计算预测值与正解的误差的平方(称为平方误差),然后再相加。这个误差的总和称为代价函数(cost function),用符号 CT 表示(T 是 Total 的首字母)-
利用平方误差确定参数的方法在数学上称为最小二乘法,它在统计学中是回归分析的常规手段
-
-
本书将在2-12节以回归分析为例来具体考察什么是最小二乘法。
-
另外,本书以手写数字的模式识别为例进行说明。因此,学习数据是图像数据,学习实例是图像实例。
-
需要注意的是,神经网络的权重是允许出现负数的,但在用生物学进行类比时不会出现负数,也难以将负数作为神经传递物质的量。可以看出,神经网络从生物那里得到启发,又飞跃到了与生物世界不同的另一个世界。