11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

深度学习入门(一):神经网络

  • 2020-03-29
  • 本文字数:2121 字

    阅读完需:约 7 分钟

深度学习入门(一):神经网络

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


神经网络的例子

用图来表示神经网络的话,如图 1 所示。我们把最左边的一列称为 输入层 ,最右边的一列称为 输出层 ,中间的一列称为 中间层 。中间层有时也称为 隐藏层 。“隐藏”一词的意思是,隐藏层的神经元(和输入层、输出层不同)肉眼看不见。另外,本书中把输入层到输出层依次称为第 0 层、第 1 层、第 2 层(层号之所以从 0 开始,是为了方便后面基于 Python 进行实现)。图 1 中,第 0 层对应输入层,第 1 层对应中间层,第 2 层对应输出层。



图 1 神经网络的例子


图 1 中的网络一共由 3 层神经元构成,但实质上只有 2 层神经元有权重,因此将其称为“2 层网络”。请注意,有的书也会根据构成网络的层数,把图 1 的网络称为“3 层网络”。本书将根据实质上拥有权重的层数(输入层、隐藏层、输出层的总数减去 1 后的数量)来表示网络的名称。


只看图 1 的话,神经网络的形状类似上一章的感知机。实际上,就神经元的连接方式而言,与上一章的感知机并没有任何差异。那么,神经网络中信号是如何传递的呢?


复习感知机

在观察神经网络中信号的传递方法之前,我们先复习一下感知机。现在来思考一下图 2 中的网络结构。



图 2 复习感知机


图 2 中的感知机接收 两个输入信号,输出 。如果用数学式来表示图 2 中的感知机,则如式(3.1)所示。


是被称为偏置的参数,用于控制神经元被激活的容易程度;而 是表示各个信号的权重的参数,用于控制各个信号的重要性。


顺便提一下,在图 2 的网络中,偏置 并没有被画出来。如果要明确地表示出 ,可以像图 3 那样做。图 3 中添加了权重为 的输入信号 1。这个感知机将 、1 三个信号作为神经元的输入,将其和各自的权重相乘后,传送至下一个神经元。在下一个神经元中,计算这些加权信号的总和。如果这个总和超过 0,则输出 1,否则输出 0。另外,由于偏置的输入信号一直是 1,所以为了区别于其他神经元,我们在图中把这个神经元整个涂成灰色。


现在将式(3.1)改写成更加简洁的形式。为了简化式(3.1),我们用一个函数来表示这种分情况的动作(超过 0 则输出 1,否则输出 0)。引入新函数 ,将式(3.1)改写成下面的式(3.2)和式(3.3)。



图 3 明确表示出偏置


式(3.2)中,输入信号的总和会被函数 转换,转换后的值就是输出 。然后,式(3.3)所表示的函数 ,在输入超过 0 时返回 1,否则返回 0。因此,式(3.1)和式(3.2)、式(3.3)做的是相同的事情。


激活函数登场

刚才登场的 函数会将输入信号的总和转换为输出信号,这种函数一般称为 激活函数 (activation function)。如“激活”一词所示,激活函数的作用在于决定如何来激活输入信号的总和。


现在来进一步改写式(3.2)。式(3.2)分两个阶段进行处理,先计算输入信号的加权总和,然后用激活函数转换这一总和。因此,如果将式(3.2)写得详细一点,则可以分成下面两个式子。


首先,式(3.4)计算加权输入信号和偏置的总和,记为 。然后,式(3.5)用 函数将 转换为输出


之前的神经元都是用一个○表示的,如果要在图中明确表示出式(3.4)和式(3.5),则可以像图 4 这样做。



图 4 明确显示激活函数的计算过程


如图 4 所示,表示神经元的○中明确显示了激活函数的计算过程,即信号的加权总和为节点 ,然后节点 被激活函数 转换成节点 。本书中,“神经元”和“节点”两个术语的含义相同。这里,我们称 为“节点”,其实它和之前所说的“神经元”含义相同。


通常如图 5 的左图所示,神经元用一个○表示。本书中,在可以明确神经网络的动作的情况下,将在图中明确显示激活函数的计算过程,如图 5 的右图所示。



图 5 左图是一般的神经元的图,右图是在神经元内部明确显示激活函数的计算过程的图( 表示输入信号的总和, 表示激活函数, 表示输出)


下面,我们将仔细介绍激活函数。激活函数是连接感知机和神经网络的桥梁。


本书在使用“感知机”一词时,没有严格统一它所指的算法。一般而言,“朴素感知机”是指单层网络,指的是激活函数使用了阶跃函数 1 的模型。“多层感知机”是指神经网络,即使用 sigmoid 函数(后述)等平滑的激活函数的多层网络。


1 阶跃函数是指一旦输入超过阈值,就切换输出的函数。


图书简介https://www.ituring.com.cn/book/1921



2020-03-29 19:25485

评论

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

2022语言与智能技术竞赛再升级,推出NLP四大前沿任务

百度大脑

多方系统集成的启示

QualityFocus

集成测试 系统集成

linux之软连接和硬连接的区别

入门小站

Linux

[Day29]-[数组]将一维数组转变成二维数组

方勇(gopher)

LeetCode 数据结构算法

从概念、部署到优化,Kubernetes Ingress 网关的落地实践

阿里巴巴云原生

阿里云 Kubernetes 云原生 网关

linux之软连接和硬连接的区别

入门小站

Linux

ECA 认证备考指南

Se7en

CorelDRAW Graphics Suite2022中文版

茶色酒

cdr2022

参加 KubeVela 开源之夏,给你的云计算编程能力加个 Buff

阿里巴巴云原生

阿里云 云原生 开源之夏

Selenium自动化应该避免的测试场景

FunTester

从玩法到经济模型,PlatoFarm元宇宙处处体现“P2E”精髓

威廉META

Apache ShardingSphere 代码格式化实战 —— Spotless

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

你竟不劝我坚持

QualityFocus

职业规划 职业生涯规划

[Day28]-[二叉树]左叶子之和

方勇(gopher)

LeetCode 数据结构与算法

我们在讲的 Database Plus,到底能解决什么样的问题?

SphereEx

Apache 数据库 开源 ShardingSphere SphereEx

重学架构之电商秒杀系统

陈华英

架构实战营

清华校友走进百度 用科技赋能产业智能化转型

百度大脑

DaaS服务之分布式日志/缓存/对象存储

穿过生命散发芬芳

4月月更

细数云上综合治理始末,华为云联创营解码企业运维之道

Geek_2d6073

关于K8s中Service Account的一些笔记:Pod内部如何访问K8s集群

山河已无恙

k8s 4月月更

浮点数-Float-Double转二进制

入门小站

工具

R 编程语言 - 简介

海拥(haiyong.site)

R语言 4月月更

制造蝴蝶飓风,微众区块链的蝶变和ESG新使命

脑极体

资源画像,让容器资源规格的填写不再纠结

阿里巴巴云原生

阿里云 容器 云原生

在线Excel转SQL工具

入门小站

工具

RTC 科普视频丨聊聊空间音频的原理与其背后的声学原理

声网

RTE技术详解 空间音频

深度学习入门(一):神经网络_AI_斋藤康毅_InfoQ精选文章