首页 > 其他分享 >应用数学与机器学习基础 - 深度学习的动机与挑战篇

应用数学与机器学习基础 - 深度学习的动机与挑战篇

时间:2024-06-30 22:29:49浏览次数:3  
标签:动机 机器 泛化 boldsymbol 学习 算法 深度 训练样本

序言

深度学习,作为当代人工智能领域的核心驱动力,其动机源于对模拟人类智能深层认知机制的渴望。我们追求的是让机器能够像人类一样理解、分析并应对复杂多变的世界。然而,这一追求之路并非坦途,面临着数据获取与处理的挑战、模型复杂度的控制、计算资源的巨大消耗等重重障碍。尽管如此,深度学习的潜力和广阔前景激励着我们不断探索前行,以期望实现更智能、更自主的未来。

深度学习的动机与挑战

  • 简单的机器学习算法在很多不同的重要问题上都效果良好。但是它们不能成功解决人工智能中的核心问题,如语音识别或者对象识别。

  • 深度学习发展动机的一部分原因是传统学习算法在这类人工智能问题上泛化能力不行。

  • 动机与挑战

    • 介绍为何处理高维数据时在新样本上泛化特别困难?
    • 为何传统机器学习中实现泛化的机制不适合学习高维空间中复杂的函数?
    • 高维空间经常涉及巨大计算代价。深度学习旨在克服这些困难,以及一些其他难题。
  • 维数灾难(curse of dimensionality)

    • 概念:
      • 当数据的维数很高时,很多机器学习问题变得相当困难。这种现象称为维数灾难(curse of dimensionality)。
      • 特别值得注意的是,一组变量不同的可能配置数量会随着变量数目的增加而指数级增长。
    • 维数灾难发生在计算机科学的许多地方,在机器学习中尤其如此。由维数灾难带来的一个挑战是统计挑战
    • 维数灾难实例
      • 如下图(由Nicolas Chapados提供)所示,当数据的相关维度增大时(从左向右,依次是一维、二维、三维),我们感兴趣的configuration的数目会随之指数性地增长。
        在这里插入图片描述

      • 说明:

        • 左边这个一维例子:我们用一个变量来区分所感兴趣的仅仅10个区域。当每个区域都有足够的样本数时,学习算法能够轻易地泛化得很好。泛化的一个直接方法是估计目标函数在每个区域的值
        • 中间这个二维例子:对每个变量区分10个不同的值更加困难。我们需要追踪 10 × 10 = 100 10\times10=100 10×10=100个区域,至少需要很多样本来覆盖所有的区域。
        • 右边这个三维例子:区域数量增加到了 1 0 3 = 1000 10^3=1000 103=1000个区域,至少需要更多的样本。对于需要区分的 d d d维以及 v v v个值来说,我们需要 O ( v d ) \Omicron(v^d) O(vd)个区域和样本。
      • 统计挑战产生于 x \boldsymbol{x} x的可能配置数目远大于训练样本的数目。

      • 为了充分理解这个问题,我们假设输入空间如上图所示被分成网格。

        • 低维情况
          • 我们可以用由数据占据的少量网格去描述这个空间。泛化到新数据点时,通过检测和新输入在相同网格中的训练样本,我们可以判断如何处理新数据点。
          • 例如,如果要估计某点 x \boldsymbol{x} x处的概率密度,我们可以返回 x \boldsymbol{x} x处单位体积内训练样本的数目除以训练样本的总数。
          • 如果希望对一个样本进行分类,我们可以返回相同网格中训练样本最多的类别。
          • 如果是做回归分析,我们可以平均该网格中样本对应的目标值。但是,如果网格中没有样本,该怎么办?
        • 高维情况
          • 因为在高维空间中参数配置数目远大于样本数目,大部分配置没有相关的样本。我们如何能在这些新配置中找到一些有意义的东西?
          • 许多传统机器学算法只是简单地假设在一个新点的输出应大致和最接近的训练点的输出相同。然后在高维空间中,这个假设是不够的。
  • 局部不变性和平滑正则化(Local Constancy and Smoothness Regularization)

    • 为了更好地泛化,机器学习算法需要由先验信念引导应该学习什么类型的函数。此前,我们已经看到过由模型参数的概率分布形成的先验。
    • 通俗地讲,我们也可以说先验信念直接影响函数本身,而仅仅通过它们对函数的影响来间接改变参数。
    • 此外,我们还能通俗地说,先验信念还间接地体现在选择一些偏好某类函数的算法,尽管这些偏好并没有通过我们对不同函数置信程度的概率分布表现出来(也许根本没法表现)。
    • 局部不变性先验(local constancy prior)
      • 其中最广泛使用的隐式”先验“是平滑先验(smoothness prior)或局部不变性先验(local constancy prior)。这个先验表明我们学习的函数不应在小区域内发生很大的变化。

      • 很多简单算法完全依赖于此先验达到良好的泛化,其结果是不能推广去解决人工智能级别任务中的统计挑战。我们将介绍深度学习如何引入额外的(显式的和隐式的)先验去降低复杂任务中的泛化误差。这里,我们解释为什么单是平滑先验不足以应对这些任务。

      • 有许多不同的方法来隐式地或显式地表示学习函数应该是光滑或局部不变的先验。所有这些不同的方法都旨在鼓励学习过程能够学习出函数 f ∗ f^{\ast} f∗对于大多数设置 x \boldsymbol{x} x和小变动 ϵ \epsilon ϵ,都满足条件: f ∗ ( x ) = f ∗ ( x + ϵ ) f^{\ast}(\boldsymbol{x})=f^{\ast}(\boldsymbol{x}+\epsilon) f∗(x)=f∗(x+ϵ)

        • 换言之,如果我们知道对应输入 x \boldsymbol{x} x的答案(例如, x \boldsymbol{x} x是个有标签的训练样本),那么该答案对于 x \boldsymbol{x} x的领域应该也适用。
        • 如果在有些领域中我们有几个好答案,那么我们可以组合它们(通过某种形式的平均或插值法)以产生一个尽可能和大多数输入一致的答案。
      • 局部不变方法的一个极端例子是 k k k-最近邻系列的学习算法。

        • 当一个区域里的所有点 x \boldsymbol{x} x在训练集中的 k k k个最近邻是一样的,那么对这些点的预测也是一样的。当 k = 1 k=1 k=1时,不同区域的数目不会比训练样本还多。
        • 局部核(local kernel):
          • 虽然 k k k-最近邻算法复制了附近训练样本的输出,大部分核机器也是在和附近训练样本相关的训练集输出上插值。一类重要的核函数是局部核(local kernel),其核函数: k ( μ , v ) k(\boldsymbol{\mu},\boldsymbol{v}) k(μ,v)在 μ = v \boldsymbol{\mu}=\boldsymbol{v} μ=v时很大,当 μ \boldsymbol{\mu} μ和 v \boldsymbol{v} v距离拉大时而减小。
          • 局部核可以看作是执行模板匹配的相似函数,用于度量测试样本 x \boldsymbol{x} x和每个训练样本 x ( i ) \boldsymbol{x}^{(i)} x(i)有多么相似。
        • 决策树也有平滑先验的局限性
          • 因为它将输入空间分成和叶节点一样多的区间,并在每个区间使用单独的参数(或者有些决策树的拓展有多个参数)。
          • 如果目标函数需要至少拥有 n n n个叶节点的树才能精确表示,那么至少需要 n n n个训练样本去拟合。需要几倍于 n n n的样本去达到预测输出上的某种统计置信度
      • 总的来说,区分输入空间中 O ( k ) \Omicron(k) O(k)个区间,所有的这些方法需要 O ( k ) \Omicron(k) O(k)个样本。通常会有 O ( k ) \Omicron(k) O(k)个参数, O ( 1 ) \Omicron(1) O(1)参数对应于 O ( k ) \Omicron(k) O(k)区间之一。最近邻算法中,每个训练样本至多用于定义一个区间。

        • 最近邻算法如何将输入空间分区域例子
          在这里插入图片描述

        • 说明:

          • 每个区域内的一个样本(这里用圆圈表示)定义了区域边界(这里用线表示)。
          • 每个样本相关的 y y y值定义了对应区域内所有数据点的输出。
          • 由最近邻定义并且匹配几何模式的区域被叫做Voronoi图。这些连续区域的数量不能比训练样本的数量增加的更快。
          • 尽管此图具体说明了最近邻算法的表现,其他的单纯依赖局部光滑先验的机器学习算法也表现出了类似的泛化能力:每个训练样本仅仅能告诉学习者如何在其周围的相邻区域泛化。
      • 有没有什么方法能表示区间数目训练样本数目还多的复杂函数

        • 显然,只是假设函数的平滑性不能做到这点。
        • 例如,想象目标函数作用在西洋跳棋盘上。棋盘包含许多变化,但只有一个简单的结构。想象一下,如果训练样本数目远小于棋盘上的黑白方块数目,那么会发生什么。
        • 基于局部泛化和平滑性或局部不变性先验,如果新点和某个训练样本位于相同的棋盘方块中,那么我们能够保证正确地预测新点的颜色。
        • 但如果新点所在的方块没有训练样本,学习器不一定能举一反三。如果仅依靠这个先验,一个样本只能告诉我们它所在的方块的颜色。获得整个棋盘颜色的唯一方法是其上的每个方块至少要有一个样本。
      • 只要在要学习的真实函数的峰值和谷值处有足够多的样本,那么平滑性假设和相关的无参数学习算法的效果都非常好。

        • 当要学习的函数足够平滑,并且只在少数几维变动,这样做一般没问题。
        • 在高维空间中,即使是非常平滑的函数,也会在不同维度上有不同的平滑变动程度。
        • 如果函数在不同的区间中表现不一样,那么就非常难用一组训练样本去刻画函数。
        • 如果函数是复杂的(我们想区分多于训练样本数目的大量区间),有希望很好地泛化么?
      • 回答这些问题:是否可以有效地表示复杂的函数,以及所估计的函数是否可以很好地泛化到新的输入——答案是有。

        • 关键观点是,只要我们通过额外假设生成数据的分布来建立区域间的依赖关系,那么 O ( k ) \Omicron(k) O(k)个样本足以描述多如 O ( 2 k ) \Omicron(2^k) O(2k)的大量区间。
        • 通过这种方式,我们确实能做到非局部的泛化。为了利用这些优势,许多不同的深度学习算法都提出了一些适用于多种人工智能AI任务的或隐或显的假设。
      • 许多不同的深度学习算法提出隐式或显式的适用于大范围人工智能问题的合理假设,使其可以利用这些优势

      • 一些其他的机器学些方法往往会提出更强的,针对特定问题的假设。

        • 例如,假设目标函数是周期性的,我们很容易解决棋盘问题。
        • 通常,神经网络不会包含这些很强的,针对特定任务的假设,因此神经网络可以泛化到更广泛的各种结构中。
        • 人工智能任务的结构非常复杂,很难限制到简单的,人工手动指定的性质,如周期性,因此我们希望学习算法具有更通用的假设。
        • 深度学习的核心思想是假设数据由因素或特征组合产生,这些因素或特征可能来自一个层次结构的多个层级。
        • 许多其他类似的通用假设进一步提高了深度学习算法。这些很温和的假设允许了样本数目和可区分区间数目之间的指数增益。
  • 流形学习(manifold learning)

    • 流形是一个机器学习中很多想法内在的重要概念。
    • 流形(manifold learning)
      • 概念:
        • 流形(manifold learning)指连接在一起的区域。数学上,它是指一组点,且每个点都有其邻域。给定一个任意的点,其流形局部看起来像是欧几里得空间。日常生活中,我们将地球视为二维平面,但实际上它是三维空间中的球状流形。
      • 每个点周围邻域的定义暗示着存在变换能够从一个位置移动到其邻域位置。例如在地球表面这个流形中,我们可以朝东南西北走。
      • 尽管术语”流形“有正式的数学定义,但是机器学习倾向于更松散地定义一组点,只需要考虑少数嵌入在高维空间中的自由度或维数就能很好地近似。每一维都对应着局部的变动方向。
      • 如果我们希望机器学习算法学习 R n \mathbb{R}^n Rn上的所有感兴趣的函数,那么很多机器学习问题看上去都是不可解的。
    • 流形学习(manifold learning)
      • 概念:
        • 流形学习(manifold learning)算法通过一个假设来克服这个障碍,该假设认为 R n \mathbb{R}^n Rn中大部分区域都是无效的输入,感兴趣的输入只分布在包含少量点的子集构成的一组流形中,而学习函数中感兴趣输出的变动只位于流形中的方向,或者感兴趣的变动只发生在我们从一个流形移动到另一个流形的时候。
      • 流形学习是在连续数值数据和无监督学习的设定下被引入的,尽管这个概率集中的想法也能够泛化到离散数据和监督学习的设定下:关键假设仍然是概率质量高度集中。
    • 数据位于低维流形的假设并不总是对的或者有用的。我们认为在人工智能的一些场景中,如涉及到处理图像,声音或者文本,流形假设至少是近似对的。这个假设的支持证据包含两类观察结果。
    • 流形假设(manifold hypothesis)
      • 第一个支持流形假设 (manifold hypothesis) 的观察是现实生活中的图像,文本,声音的概率分布都是高度集中的。均匀的噪扰从来没有和这类领域的结构化输入相似过。

总结

深度学习的动机在于模拟人脑复杂而强大的认知能力,实现机器对数据的深层理解和智能决策。然而,其挑战同样严峻:海量数据的获取与处理、模型训练的计算资源需求、过拟合与泛化能力的平衡等。尽管面临这些困难,但深度学习已经在图像识别、自然语言处理等领域取得了显著成果,预示着其广阔的发展前景和潜在的巨大价值。我们将持续探索与改进,以推动深度学习技术的不断进步。

往期重要内容回顾

标签:动机,机器,泛化,boldsymbol,学习,算法,深度,训练样本
From: https://blog.csdn.net/benny_zhou2004/article/details/139955017

相关文章

  • Vue3学习(一)
    创建组件实例:我们传入 createApp 的对象实际上是一个组件import{createApp}from'vue'//从一个单文件组件中导入根组件importAppfrom'./App.vue'constapp=createApp(App)大多数真实的应用都是由一棵嵌套的、可重用的组件树组成的。App(rootcomponent)├......
  • springboot学习-2
    springboot配置配置文件格式-res中appli.properties中设置-同目录下application.yml主要serve:port:80(注意空格)无提示则fileproj-struc选择项目点击绿色叶子追加配置文件-application.yaml优先级properties>yml>ymal同上一个yaml-大小写-只能空格不能tab-属性前......
  • 【深度学习】图形模型基础(3):从零开始认识机器学习模型
    1.引言机器学习,这一古老而又充满活力的领域,其历史可追溯至上世纪中叶。然而,直到20世纪90年代初,机器学习才开始展现出其广泛的应用潜力。在过去的十年里,机器学习更是迎来了前所未有的蓬勃发展,其应用范畴广泛,不仅在网络搜索、自动驾驶汽车、医学成像和语音识别等领域大放异彩......
  • 【深度学习】图形模型基础(1):使用潜在变量模型进行数据分析的box循环
    1.绪论探索数据背后的隐藏规律,这不仅是数据分析的艺术,更是概率模型展现其威力的舞台。在这一过程中,潜在变量模型尤为关键,它成为了数据驱动问题解决的核心引擎。潜在变量模型的基本理念在于,那些看似复杂、杂乱无章的数据表象之下,往往隐藏着一种更为简洁、有序的结构和规律,只......
  • Perl语言入门学习:从基础到实践
    Perl,全称为“PracticalExtractionandReportingLanguage”,是一种高效、灵活的编程语言,尤其擅长于文本处理、系统管理和报告生成。其丰富的库支持和正则表达式能力,让Perl成为数据挖掘、日志分析和自动化脚本编写的理想选择。本文旨在引导初学者迈出Perl编程的第一步,通过实际......
  • Linux操作系统学习:day08
    内容来自:Linux介绍视频推荐:Linux基础入门教程-linux命令-vim-gcc/g++-动态库/静态库-makefile-gdb调试目录day0853、命令和编辑模式之间的切换54、命令模式到末行模式的切换与末行模式下的保存退出命令模式到末行模式的切换保存退出55、末行模式下的替换操作56、末......
  • springboot学习-1
    创建project(联网)ideaspringinitialler(jdk1.8)mavenjavajarjava8依赖springweb2.5.0OK入门案例依次点击保留pom和src文件controller(开发完成)运行Application类(tomcat在boot框架中)简单的原因在于pom中的parent和springframework.boot快速启动(依赖于pom中的插件......
  • 第三次学习总结
    Java,作为一门广泛应用的编程语言,已经深深地影响了软件开发领域。随着互联网技术的飞速发展,Java在服务器端、移动端、嵌入式系统等领域都发挥着重要的作用。本文将从Java的基本概念、特性、核心技术以及实际应用等方面进行总结,以期帮助初学者更好地掌握Java编程技能。Java是一种面......
  • 2024我们该学习大模型吗?
    一、引言在快速变化的科技行业中,人工智能(AI)大模型已成为研究和应用的热点。随着AI技术的不断进步,特别是在自然语言处理、计算机视觉和机器学习平台等领域,许多专业人士开始将目光投向AI大模型的开发和应用。二、AI大模型兴起的原因AI大模型的兴起得益于几个关键因素。首......
  • 纯血版!“一杯冰美式的时间” 了解鸿蒙HarmonyOS Next应用开发者学习路径!
    前言最新数据显示,在中国智能手机市场,鸿蒙操作系统的份额达到10%,鸿蒙开发者数量更是超过240万,鸿蒙生态已经与iOS、安卓形成了“三分天下”的格局,成为当下的风口。如今,为了抢占巨大的鸿蒙市场,Top20移动互联网公司中有半数已经启动了鸿蒙原生应用开发,其中包括支付宝、美团等各......