在学习深度学习的相关知识之前,我们首先得了解什么是神经网络,解开神经网络的神秘面纱后,什么是深度学习的问题也就迎刃而解。我依旧会采用我习惯的方式:先给出例子直观理解,在给出定义深入理解,最后在实际应用中强化理解。
一、什么是神经网络?
(1)感知机就是单个神经元
看到神经网络自然会想到,这是一个仿生学的概念(模拟动物大脑中的神经网络),既然是一张网必然是无数个点线组成,那么首先了解神经网络最基本的单位(感知机)肯定没错。
两个输入的感知机
图中是一个接收两个输入信号的感知机的例子。x1、x2是输入信号, y是输出信号,w1、w2是权重(w是weight的首字母)。图中的○圆圈称为"神经元"或者"节点"。输入信号被送往神经元时,会被分别乘以固定的权重。神经元会计算传送过来的信号的总和,只有当这个总和超过了某个界限值时,才会输出1**。这也称为"神经元被激活"** 。这里将这个界限值称为阈值,用符号θ表示。
写成数学公式的形式如下:
权重越大说明这个信号越重要。
(2)多层感知机便构成了网络即神经网络
叠加了多层的感知机,被成为多层感知机,这里面首先就得先弄懂什么是"层"layer
2层神经网络
上图中的感知机总共由 3层构成,但是因为拥有权重的层实质上只有2层(第0层和第1层之间,第1层和第2层之间),所以称为"2层神经网络"。更简单的记忆方式就是不计算第0层。
- 第0层的两个神经元接收输入信号,并将信号发送至第1层的神经元
- 第1层的神经元将信号发送至第2层的神经元,第2层的神经元输出y
单层感知机(也称作单层神经网络)本质上是一个线性分类器。它的决策边界是由输入特征的线性组合所确定的,这意味着它只能划分线性可分的数据集。对于非线性可分的数据集,单层感知机无法找到一个适当的决策边界来进行有效的分类。
**多层感知机(也称作神经网络)**则能够表示非线性空间。这是因为多层感知机由多层神经元组成,每一层的输出可以作为下一层的输入。在网络中引入非线性激活函数(如sigmoid)之后,即使每一层单独看都是线性的,但多层的非线性变换叠加在一起就可以学习到极其复杂的非线性决策边界,从而解决非线性可分的问题。
(3)神经网络的定义
神经网络或者叫人工神经网络,它是一种模仿生物神经系统结构和功能的计算模型,由大量的人工神经元及其相互连接构成,用于解决各种机器学习和模式识别问题。在神经网络中,每个神经元都有输入端接收信号,通过加权和及非线性变换(激活函数)处理这些信号,并在其输出端产生响应。神经元之间通过权重连接,形成了多层的网络结构,允许网络进行复杂的模式识别、分类、回归和其他类型的预测任务。
看完神经网络的定义后,有必要对其中的一些词汇做出解释。
① 神经网络分哪些层?
神经网络的分层
|----------------|-------------------------|
| 名词 | 解释 |
| 输入层 | 接收外部特征的输入 |
| 中间层(又叫隐藏层) | 至少有一个或多个中间层,负责对输入数据进行学习 |
| 输出层 | 生成最终的预测结果 |
我在这里只介绍最基本的三个层,其他的像是池化层卷积层后面的文章再展开说。
② 神经网络到底在学习什么?
参数:权重w和偏置b
在机器学习中,特征的提取是需要人的参与,倘若特征特别多或者难以人工提取呢?神经网络的出现就是为了解决这个问题。因此神经网络的一个重要性质是它可以自动地从数据中学习到合适的权重参数
③ 一些符号的说明
|---------------------------------------------------------------------------------------------------------------|--------------------------------------------|
| | 表示第1个输入 |
| | 上标表示第1层网络的权重,下标表示它来自前一层的第1个节点,输出到后一层的第二个节点 |
| | 表示第一层的第一个节点 |
| | 第1层网络中第1个节点的偏置 |
[符号解释]
二、神经网络和深度学习什么关系?
深度学习则是神经网络的扩展和深化。传统的神经网络只有两到三层,而深度学习则使用了更深层次的网络结构(通常是十几层或者更多),这也是"深度"一词的由来。深度学习通过这种更深层次的神经网络,可以从原始输入数据中学习到更加复杂和高级的特征,具有更强大的学习和处理能力。