一.深度学习概念
深度学习(Deep Learning)是机器学习的分支,是指使用多层的神经网络进行机器学习的一种手法抖音百科。它学习样本数据的内在规律和表示层次,最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。以下是对深度学习概念的详细介绍:
深度学习基于人工神经网络,其神经元之间的每个连接(突触)都可以传输信号,接收神经元可以处理信号后再发信号通知与之相连的下层神经元。神经元具有激活和抑制两种状态,且神经元和突触之间存在权重,用来权衡信号的强度,权重会随着学习的进行而变化。通常,神经元是分层的,信号从第一层(输入)传播到最后一层(输出),同时信号也可以多次遍历某些层之后进行输出。通过不断地调整神经元之间的权重和偏置,使得模型能够最小化预测结果与真实结果之间的误差,这个过程通常使用反向传播算法来实现。
二.特点
- 自动特征学习:深度学习能够自动从数据中学习特征,将特征学习融入模型建立的过程中,减少了人为设计特征所造成的不完备性。
- 强大的表示能力:随着神经网络层数的增加,网络的非线性表征能力也越来越强,理论上可以将其映射到几乎任何函数,因此可以应对多种复杂问题。
- 数据驱动:对数据的依赖性很高,数据量越大,其性能表现也越好,通过调整参数,还可以进一步提升其性能上限。
- 适应性强:在各个领域都有广泛应用,并且具有较好的适应性。
三.常用模型
- 卷积神经网络(CNN):主要用于图像和视频处理,通过卷积层、池化层和全连接层等组件,自动提取图像的特征,如边缘、纹理、形状等。
- 循环神经网络(RNN):适用于处理序列数据,如文本、语音等,能够捕捉序列中的长期依赖关系。
- 生成对抗网络(GAN):由生成器和判别器组成,通过对抗训练的方式,使得生成器能够生成与真实数据相似的样本。
- 深度强化学习(DRL):将深度学习与强化学习相结合,用于解决决策和控制问题,如机器人控制、游戏等。
四.结构示意
- 输入层:接收外部输入数据,每个节点对应一个输入特征,将输入数据传递到下一层。比如在图像识别中,输入层的节点可以是图像的像素值。
- 隐藏层:位于输入层和输出层之间,可包含一层或多层。隐藏层中的神经元对输入数据进行复杂的特征提取和变换,通过非线性激活函数来增加模型的表达能力。不同的隐藏层可以学习到不同层次的特征。
- 输出层:根据隐藏层的输出进行最终的决策或预测,输出结果可以是分类标签的概率、数值预测等。例如在手写数字识别任务中,输出层会输出输入图像属于每个数字类别的概率。
五.输入层详解
1. 节点(神经元)的构成与功能
- 节点数量:输入层节点的数量取决于输入数据的特征数量。例如,在一个简单的房价预测模型中,如果我们使用房屋面积、卧室数量、房龄这三个特征来预测房价,那么输入层就会有 3 个节点,每个节点对应一个特征。又如,对于一个处理 MNIST 手写数字图像识别的神经网络,图像是 28×28 像素的灰度图,每个像素可以看作一个特征,所以输入层节点数量为 28×28 = 784 个。
- 功能:每个节点并不执行复杂的计算,其主要功能是接收外部数据并将数据原封不动地传递到下一层(隐藏层)。它就像是数据的搬运工,将现实世界中的数据信息传递到神经网络这个 “智能工厂” 中进行加工处理。
2. 数据类型与格式
- 数值型数据:这是最常见的输入数据类型。例如在预测销售额与广告投入关系的模型中,广告投入金额、历史销售额等都是数值型数据。这些数值可以是整数或浮点数,直接输入到对应的节点。
- 分类数据:当输入数据是分类信息时,如商品的类别(服装、电子产品、食品等),通常需要进行编码处理才能输入到神经网络。常见的编码方式有独热编码(One - Hot Encoding)。以商品类别为例,如果有 3 种商品类别,那么 “服装” 可以编码为 [1, 0, 0],“电子产品” 编码为 [0, 1, 0],“食品” 编码为 [0, 0, 1],然后将这些编码后的向量输入到输入层节点。
- 图像数据:图像数据通常以矩阵形式表示,其元素值代表像素的颜色强度等信息。如前面提到的 MNIST 手写数字图像,是一个二维矩阵,每个元素是 0 - 255 之间的整数,表示该像素的灰度值。对于彩色图像,一般是三维矩阵,额外的维度表示不同的颜色通道(如 RGB 图像的红、绿、蓝通道)。
- 序列数据:像时间序列数据(如股票价格随时间的变化)或文本数据(由单词序列组成)。对于时间序列数据,每个时间点的观测值可以作为输入层的一个节点输入;对于文本数据,通常需要先将单词转换为向量表示(如词嵌入),然后再输入到输入层。
3. (输入特征)x
- 含义:代表输入到神经网络的数据特征。在实际应用中,这些特征是对现实世界中事物或现象的一种量化描述.在图像识别任务里,可能是图像的像素值,每个像素点的亮度或颜色值就是一个特征。
- 表示形式:通常以向量的形式表示。假设我们有个输入特征,那么输入向量可以写成 x=[x1,x2,x3....]。
4. 偏置 (Bias)b
- 含义:偏置是一个可学习的常数项,它为神经网络的计算引入了一个额外的自由度。直观上,偏置可以理解为在神经网络的计算过程中添加的一个 “基础值”,帮助模型更好地拟合数据。以简单的线性回归模型为例(这里是权重,是自变量,是因变量),就是当时的取值,它允许模型在不依赖输入特征的情况下,调整输出的基准水平。在神经网络中,偏置的作用类似,它让神经元能够对输入特征之外的因素做出响应,从而使模型能够学习到更复杂的模式。
- 作用:
- 增加模型灵活性:在神经网络中,每个神经元都计算输入信号的加权和,并通过激活函数输出。如果没有偏置,当所有输入特征都为 0 时,神经元的输出将仅取决于权重与输入的乘积之和,结果也为 0(假设初始权重也为 0)。然而,现实中的数据分布往往非常复杂,可能存在一些固有偏移或与输入特征无关的因素影响最终输出。偏置的引入使得即使输入特征为 0,神经元也能有非零输出,从而增加了模型的表达能力和灵活性,使模型能够更好地拟合各种复杂的数据分布。
- 协助模型收敛:在训练神经网络时,偏置可以帮助模型更快地收敛到最优解。通过调整偏置值,模型可以更有效地探索参数空间,避免陷入局部最优解。例如,在训练一个图像分类模型时,偏置能够帮助模型更快地适应不同图像数据集的特性,提高训练效率和分类准确率。
表示形式:在神经网络中,每个神经元都有自己的偏置。对于输入层到隐藏层的连接,假设隐藏层有个神经元,那么就会有个偏置值,分别记为b1,b2,b3...。这些偏置值与输入特征相结合,共同参与神经网络的前向传播计算。例如,对于隐藏层的第个神经元,其输入的计算为:,其中是输入层第个节点到隐藏层第个节点的权重