深度学习及其基本原理

深度学习的 Ups and Downs

  • 1958:感知机(线性模型)
  • 1969:感知机有局限性
  • 1980s:多层感知机
    和今天的深度神经网络没有显著区别
  • 1986:反向传播
    通常超过 3 层的隐藏层没有帮助
  • 1989:1 层隐藏层就"足够好",为什么要深层?
  • 2006:RBM 初始化
  • 2009:GPU
  • 2011:开始在语音识别领域流行
  • 2012:赢得 ILSVRC 图像竞赛
  • 2015.2:图像识别超越人类水平
  • 2016.3:Alpha GO 击败李世石
  • 2016.10:语音识别系统达到人类水平

概念区分

深度学习属于机器学习 ,深度学习 本质上是一个三层或更多层的神经网络。这些神经网络试图模拟人脑(尽管远未达到其功能),支持从大量数据中进行"学习"。

神经网络是一种模仿生物神经系统的计算模型,它由多个神经元组成,每个神经元都可以接收、处理和传递信息 。它模仿人脑的机制来解释数据,例如图像,声音和文本。神经网络可以有不同的结构和类型,例如 卷积神经网络、循环神经网络、生成对抗网络等。

深度学习是利用深层的神经网络来实现机器学习的目标,例如图像识别、自然语言处理、语音识别等。将模型处理得更为复杂,从而使模型对数据的理解更加深入。

神经网络的构成

典型的神经网络如下图所示:

可以看到,典型的神经网络由

  • 输入层
  • 中间层/隐层
  • 输出层

共三层所构成。

  • 神经元:表示输入、中间数值、输出数值点。例如:在图中的一个个小圆圈,分别表示不同的神经元。
  • 权重 :神经元传导时,要乘以一个系数,这个系数叫做权重值。例如:从上图中输入层的神经元要传导到隐层的神经元,输入层的神经元要乘以一个系数后到达隐层,即:隐层=输入层*权重

深度学习基本原理

深度学习,是通过 一层又一层的隐层 实现了复杂的功能。

以图像识别为例,假设我们要识别一幅图像内的 语义信息。实现起来,具体为:

  • 第 1 层:提取图像的 最基础的底层特征 ,包括 纹理、边缘、色彩等
  • 第 2 层:将第 1 层的特征排列组合,并找到有用的组合信息。此时会找到 曲线、轮廓等特征
  • 第 3 层:对第 2 层的特征排列组合,并找到有用的组合信息。此时,会找到 高级特征 ,例如 眼睛、鼻子、嘴等等
  • 第 4 层:对第 3 层的特征进行排列组合,并找到有用的组合信息。此时,会找到有用的 语义信息 ,例如 打电话、奔跑等语义信息

该过程的简单示意如下图所示:

所以,深度学习的处理逻辑 就是:首先提取低级特征,然后对低级特征不断地在更高的级别上进行排列组合,并寻找组合后的有用信息。

深度学习的普遍近似定理

深度学习的普遍近似定理 (Universal Approximation Theorem)表明,具有足够参数的深度神经网络(即深度学习模型)在理论上能够以任意精度逼近(拟合)任何连续函数

这个定理的内容并非深度学习可以逼近任何函数,而是对于任何 连续函数,存在一个深度神经网络可以以足够精度近似它。

  • 可以把深度学习看作是一种 函数的组合,每一层都是一个函数,它的输入是上一层的输出,它的输出是下一层的输入。
  • 每一层的函数都有一些参数,比如权重(weight)和偏置(bias),它们可以通过训练来调整,使得整个网络的输出更接近目标函数的值。
  • 每一层的函数还有一个特殊的成分,叫做 激活函数 (activation function),它是一个非线性的函数,比如 sigmoid、tanh、ReLU 等,它的作用是 给网络增加非线性的能力,使得网络可以拟合更复杂的函数。
  • 如果没有激活函数,那么无论网络有多少层,它都只能拟合线性的函数,因为线性函数的组合还是线性函数。
  • 有了激活函数,网络就可以拟合非线性的函数,而且层数越多,拟合的能力越强,因为网络可以提取更高层次的特征,更好地适应数据的分布。

具体来说,Universal Approximation Theorem 的形式有点技术性,但大致的理解是:

在足够深、足够宽(指神经网络中有足够多的神经元)的情况下,深度神经网络具有足够的表达能力,可以逼近连续函数的任何形状。

这是 因为深度神经网络的层次结构允许它学习复杂的特征和表示

扩展:反卷积网络------可视化每一层提取的特征

论文《Visualizing and Understanding Convolutional Networks》提供了一种有效的方法,来 可视化和理解卷积网络的内部工作机制,从而帮助我们设计和改进网络模型。

其中介绍的一种用于可视化和理解卷积网络的技术,叫做 反卷积网络 (Deconvnet)。反卷积网络是一种与卷积网络相反的结构,它可以 将卷积网络的中间层的特征图映射回像素空间从而展示出每一层所提取的特征和激活的模式

通过反卷积网络,我们可以观察到 卷积网络的每一层都学习到了什么有用的知识,例如:

  • 第一层:学习到了一些 简单的边缘和颜色 的检测器,类似于 传统的滤波器
  • 第二层:学习到了一些 由边缘和颜色组成的更复杂的形状和纹理 的检测器,例如 圆角、条纹、斑点等
  • 第三层:学习到了一些 由形状和纹理组成的更高级的特征 的检测器,例如 眼睛、鼻子、轮胎等
  • 第四层:学习到了一些 由高级特征组成的更具体的物体 的检测器,例如 狗、猫、人脸等
  • 第五层:学习到了一些 由具体物体组成的更抽象的类别 的检测器,例如 动物、汽车、飞机等
相关推荐
余生H8 分钟前
transformer.js(三):底层架构及性能优化指南
javascript·深度学习·架构·transformer
代码不行的搬运工28 分钟前
神经网络12-Time-Series Transformer (TST)模型
人工智能·神经网络·transformer
罗小罗同学36 分钟前
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
深度学习·机器学习·transformer
孤独且没人爱的纸鹤39 分钟前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭42 分钟前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~43 分钟前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
极客代码1 小时前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
Seeklike1 小时前
11.22 深度学习-pytorch自动微分
人工智能·pytorch·深度学习
YRr YRr1 小时前
如何使用 PyTorch 实现图像分类数据集的加载和处理
pytorch·深度学习·分类
HPC_fac130520678165 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力