深度学习的数学(五):将恶魔的工作翻译为神经网络的语言

2020 年 4 月 05 日

深度学习的数学(五):将恶魔的工作翻译为神经网络的语言

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


上一节我们通过恶魔讲解了神经网络的结构。本节我们将恶魔的工作用神经网络的语言来描述。


恶魔之间的“交情”表示权重


上一节考察了恶魔组织识别手写数字 0、1 的结构。将这个组织替换为神经网络,我们就能理解神经单元发挥良好的团队精神进行模式识别的结构。


首先,将恶魔看作神经单元。隐藏层住着 3 个隐藏恶魔 A、B、C,可以解释为隐藏层有 3 个神经单元 A、B、C。输出层住着 2 个输出恶魔 0、1,可以解释为输出层有 2 个神经单元 0、1。此外,输入层住着 12 个恶魔的手下,可以解释为输入层有 12 个神经单元(下图)。



接下来,将恶魔的“交情”看作神经单元的权重。隐藏恶魔 A 与手下④、⑦性情相投,这样的关系可以认为是从输入层神经单元④、⑦指向隐藏层神经单元 A 的箭头的权重较大。同样地,隐藏恶魔 B 与手下⑤、⑧性情相投,可以认为是从输入层神经单元⑤、⑧指向隐藏层神经单元 B 的箭头的权重较大。隐藏恶魔 C 与手下⑥、⑨性情相投,可以认为是从输入层神经单元⑥、⑨指向隐藏层神经单元 C 的箭头的权重较大。



注:关于权重,请参考 1-2 节、1-3 节。


隐藏恶魔 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 的本来面目。


上一节中为隐藏恶魔 A、B、C 设定分别喜欢模式 A、B、C 的特征,也是出于这个原因。


以上是在隐藏层部署 3 个神经单元的理由。通过让这个神经网络实际读取图像数据并得出令人信服的结论,可以确认这个预估的正确性。


关于具体的确认方法,我们将在第 3 章考察。


神经网络与生物的类比


让我们从生物的观点来看神经网络。


请想象一下生物看东西时的情形。可以认为,输入层神经单元相当于视细胞,隐藏层神经单元相当于视神经细胞,输出层神经单元相当于负责判断的大脑神经细胞群。


不过,相当于隐藏层神经单元的视神经细胞实际上存在吗?例如,第一个神经单元对前面图中的模式 A 做出反应,像这样的视神经细胞存在吗?


实际上,1958 年美国生理学家大卫· 休伯尔(David Hunter Hubel)和托斯坦· 威泽尔(Torsten Wiesel)发现存在这种细胞,这种细胞被命名为特征提取细胞。对某种模式做出强烈反应的视神经细胞有助于动物的模式识别。想到本节考察的“恶魔”在大脑中实际存在,这真是非常有意思的事情。


备注 人工智能研究中的几次热潮

人工智能的研究大约是从 20 世纪 50 年代开始的,其发展史与计算机的发展史有所重合,可以划分为以下 3 次热潮。

世代年代关键主要应用领域
第1代20 世纪 50 ~ 60 年代逻辑为主智力游戏等
第2代20 世纪 80 年代知识为主机器人、机器翻译
第3代2010 年至今数据为主模式识别、语音识别


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



相关阅读


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


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


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


深度学习的数学(四):用恶魔来讲解神经网络的结构


2020 年 4 月 05 日 10:001138

评论

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

一线大厂开源三份JDK+Spring+Mybatis源码笔记

Java架构追梦

Java spring 源码 jdk mybatis

区块链溯源平台优势,区块链溯源系统解决方案

13530558032

周立齐出任电动车联合创始人:网红经济背后的病态消费心理

石头IT视角

从一个模糊词查询需求的处理方案讨论到一种极速匹配方案的实现

行如风

模糊匹配 双数组trie树 ahocorasick ac自动机 黑名单过滤

SGY奇点交易所系统源码开发

DV:19924636653

软件开发

快速接入 | 从 0 到 1 构建语音聊天室

拍乐云Pano

音视频 RTC 实时语音 语音聊天室 语聊房

如何基于 SDK 快速开发一款IoT App 控制智能灯(iOS 版)

IoT云工坊

ios App 物联网 IoT sdk

扒开 SqlSession 的外衣

田维常

mybatis

移动生态盘点与HMS生态解析

华章IT

华为 Android Studio 移动开发 HMS

智慧社区综合管理平台搭建,智慧平安城市建设

13530558032

从MongoID的生成讨论分布式唯一ID生成方案

行如风

雪花算法 分布式ID 全局唯一ID 流星算法

智慧仓储管理系统,是否能解决购物狂欢节后新一轮爆仓危机?

一只数据鲸鱼

物联网 数据可视化 智慧物流 智慧仓储

英特尔力邀150家产业大咖推动Evo严苛认证,打造PC界的奥斯卡

intel001

盘点 2020 | 10 天开发前台系统技术系列

老魚

CSS 前端 全栈 js 盘点2020

字节二面跪拜“Redis源码”后,面试官直接推荐这份笔记!真是NB

比伯

Java 编程 架构 面试 程序人生

什么是浮点数?

Kaito

计算机基础 浮点数

高空立体云防控系统搭建,智能化平安小区建设方案

t13823115967

平安小区 智慧平安社区建设

抢先体验全新升级版Eternal Wallet!

Geek_c610c0

数字货币 数字货币钱包开发

应急指挥中心平台搭建,移动可视化指挥解决方案

t13823115967

可视化数据分析搭建 应急指挥

重点人员管控系统开发,情报研判系统开发

13530558032

限时!字节Java程序性能优化宝典开源,原来这才叫性能优化

996小迁

程序员 面试 性能优化 笔记

九环智能合约开发

V19927655815

APP开发

云视频技术领军人赵加雨:如何提升在线教育课堂互动体验

拍乐云Pano

音视频 在线教育 RTC 互动课堂 白板

为什么说rollup比webpack更适合打包库

fengxianqi

前端 Rollup webpack

没能进入大数据领域

escray

面经 面试经历 101次面试

智能合约交易所系统开发

DV:19924636653

软件开发

如何通过 Serverless 轻松识别验证码?

Serverless Devs

人工智能 Serverless 云原生

人工智能不过尔尔,基于Python3深度学习库Keras/TensorFlow打造属于自己的聊天机器人(ChatRobot)

刘悦的技术博客

人工智能 tensorflow chatbot 聊天机器人 keras

重磅|中国PostgreSQL分会与腾讯云战略合作协议签订

PostgreSQLChina

数据库 postgresql 软件 开源社区

直播中不可缺少的一环-rtmp直播推流

anyRTC开发者

音视频 WebRTC CDN RTC RTMP

星域母子币系统软件开发|星域母子币APP开发

开發I852946OIIO

系统开发

深度学习的数学(五):将恶魔的工作翻译为神经网络的语言-InfoQ