深度学习及其基本原理

深度学习的 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)。反卷积网络是一种与卷积网络相反的结构,它可以 将卷积网络的中间层的特征图映射回像素空间从而展示出每一层所提取的特征和激活的模式

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

  • 第一层:学习到了一些 简单的边缘和颜色 的检测器,类似于 传统的滤波器
  • 第二层:学习到了一些 由边缘和颜色组成的更复杂的形状和纹理 的检测器,例如 圆角、条纹、斑点等
  • 第三层:学习到了一些 由形状和纹理组成的更高级的特征 的检测器,例如 眼睛、鼻子、轮胎等
  • 第四层:学习到了一些 由高级特征组成的更具体的物体 的检测器,例如 狗、猫、人脸等
  • 第五层:学习到了一些 由具体物体组成的更抽象的类别 的检测器,例如 动物、汽车、飞机等
相关推荐
TY-202522 分钟前
三、神经网络——网络优化方法
人工智能·深度学习·神经网络
纪伊路上盛名在1 小时前
(鱼书)深度学习入门1:python入门
人工智能·python·深度学习
停走的风2 小时前
二刷(李宏毅深度学习,醍醐灌顶,长刷长爽)
人工智能·深度学习
TY-20252 小时前
二、深度学习——损失函数
人工智能·深度学习
Python×CATIA工业智造2 小时前
列表页与详情页的智能识别:多维度判定方法与工业级实现
爬虫·深度学习·pycharm
CoovallyAIHub2 小时前
单目深度估计重大突破:无需标签,精度超越 SOTA!西湖大学团队提出多教师蒸馏新方案
深度学习·算法·计算机视觉
CoovallyAIHub2 小时前
从FCOS3D到PGD:看深度估计如何快速搭建你的3D检测项目
深度学习·算法·计算机视觉
九章云极AladdinEdu2 小时前
华为昇腾NPU与NVIDIA CUDA生态兼容层开发实录:手写算子自动转换工具链(AST级代码迁移方案)
人工智能·深度学习·opencv·机器学习·华为·数据挖掘·gpu算力
向左转, 向右走ˉ2 小时前
PyTorch随机擦除:提升模型抗遮挡能力
人工智能·pytorch·python·深度学习
feifeikon2 小时前
SFT与Lora
人工智能·深度学习·机器学习