【深度学习】P1 引言:深度学习的万家灯火
目录
- 人工智能
- 深度学习
- 深度学习推荐学习路线
- 深度学习的历史趋势
人工智能
当人类第一次构思可编程计算机时,就已经在思考计算机能否变得智能。如今,人工智能已经成为一个具有众多实际应用和活跃研究课题的领域,并且正在蓬勃发展。
在人工智能早期,那些对人类智力来说非常困难、但对计算机来说相对简单的问题得以迅速解决。而对于计算机真正的挑战一直没有变 —— 那些对人来说很容易执行、但却抽象、很难形式化描述的任务。这种任务,我们人类往往能够凭借直觉轻易解决。
深度学习
针对这些问题,计算机领域的先驱们给出的解决方案:让计算机从经验中学习,并根据层次化的概念体系来理解世界,每个概念则通过与某些相对简单的概念之间的关系来定义。层次化的概念,让计算机得以从简单的关系中通过构造“深”层次的结构来解决复杂问题、“理解”复杂概念,这张建立在彼此之上的结构,我们形象的称之为:深度学习(Deep Learning)。
机器学习
而机器学习(Machine Learning),则是让AI通过从原始数据中提取模式。通过提取特征、修改参数、构建模型,从而实现将表示映射到输出。
表示学习
然而,针对一些复杂、形式化的问题,我们也很难知道应该提取哪些特征。解决这个问题的途径之一就是使用机器学习来发掘表示本身,而不仅仅把表示映射到输出,这种方法我们称为:表示学习(representation learning)。
# 自编码器
表示学习典型例子是:自编码器(autoencoder)。自编码器是由一个编码器(encoder)函数和一个解码器(decoder)函数组合而成。编码器函数将输入数据转换为一种不同的表示,而解码器函数则将这个新的表示转换回原来的形式。我们期望当输入数据经过编码器和解码器之后尽可能多地保留信息,同时希望新的表示有各种好的特性,这就是自编码器的训练目标。
# 变差因素
那么,当设计用于学习特征的算法时,我们的目标通常是分离出能解释观察数据的变差因素(factors of variation)。什么是变差因素呢?这个概念比较抽象 —— 变差因素中的这些“因素”,通常是显示世界中观察不到的物体或者不可观测的力,但会真切影响到可观测的量。这些因素在人类中会以“概念”的形式,去尝试解释和推断并存储在人类的思维中。比如在分析语音时,变差因素可能包含说话者的年龄、性别、口音等等,而不仅局限于语音的词语内容。
# 深度学习
在现实的人工智能应用中,困难主要来源于多个变差因素同时影响着我们能够观察到的每一个数据,我们需要从数据中理清、抽取出高层次、抽象的特征。这就回到了我们的主题 —— 需要通过深度的网络构建深度学习。
深度学习
深度学习,就是让计算机通过较简单的概念来构建复杂的概念、通过较为简单的表示来表达复杂表示,从而解决表示学习中的核心问题。一个深度学习的典型例子 —— 多层感知机(multilayer perception MLP),通过将许多简单的函数复合而成网络,通过顺序执行,不断参考早期指令的结果,并依据内容提供新的表示。但事实上,并非所有信息都蕴含着解释输入的变差因素,这些表示还存储着如状态信息等用于辅助程序理解输入的内容。详细关于多层感知机的内容请见后续博文。
度量深度
那么深度学习中网络的“深度”,该如何度量?
目前主要有两种度量模型深度的方式:
- 一种方式是基于评估架构所需执行的顺序指令的数目。通过将模型表示为给定输入,确定用来作为一个步骤的函数,计算得到对应输出的流程图,该图的最长路径视为模型深度。
- 另一种是在深度概率模型中使用的方法,其并非将计算图的深度作为模型深度,而是将描述概念彼此如何关联的图视为模型的深度。因而深度概率模型计算的深度一定小于图的深度,因为每个概念表示的、经过精细化后的计算流程图一定比概念本身的图更深。
这两种度量深度的方式(一种通过实际图深度,一种通过概念深度)并非存在哪一种更有意义的情况。对于架构的深度,也不存在一个单一的确定值。此外,也不存在模型多么深才能被修饰为“深”的共识。但毋庸置疑的是,深度学习研究的模型涉及更多学到功能或学到概念的组合。
而深度学习,作为一种特殊的机器学习方法,通过将大千世界表示为嵌套的层次概念体系,将复杂概用简单概念的联系来定义,从一般抽象概括到高级抽象表示。
下图通过维恩图展示了深度学习既是一种表示学习,也是一种机器学习:
下图通过流程图展示了AI系统的不同部分如何在不同的AI学科中彼此相关。
*注:其中灰色部分为从数据中学习的组建。
深度学习推荐学习路线
万卷不离其宗,不管读者以什么方式学习深度学习——B站免费的课程(吴恩达、李宏毅、李沐)、书籍(《深度学习》(花书)、《动手学深度学习》(李沐)),在一开始最好都有一个清晰的概念图指引。
下图为普适性的深度学习路线指引。
如上图所示,建议读者在深入学习深度学习之前,首先掌握线性代数、概率论、机器学习与数值计算的基本知识与概念常识。
真正开始深度学习,要从深度前馈网络开始,到正则化(Regularization)、优化方法(Optimization),再到卷积神经网络(CNNs)、循环神经网络(RNNs),结合实践方法论(Pratical Methodology)与应用实践出真理。
掌握上两个部分的内容,可以开始第三个核心部分的学习,从线性因子模型(Linear Factor Models)到自编码器(Autoencoders)以及结构化概率模型(Structured Probabilistic Models),再继续向下拓展延伸。
当然,在学习深度学习之前,会假设读者都具备计算机科学背景,也假设读者熟悉编程,请读者也自行查漏补缺。
深度学习的历史趋势
深度学习的历史,最早追溯到 20 世纪 40 年代。一般认为,深度学习的发展经历了 3 次发展浪潮:
- 20世纪40年代到60年代:深度学习出现在控制论(cybernetics)
- 20世纪80年代到90年代:深度学习表现为联结主义(connectionism)
- 2006年始,才正式以深度学习之名。
彼时,深度学习被认为是模拟生物学习的计算模型,被认为是受到生物大脑所启发而设计出来的系统。而深度学习的神经观点主要受到如下思想的启发:大脑作为例子证明智能行为是可能的,因此在概念上,建立智能的直接途径是逆向大脑背后的计算原理。因此,第一次浪潮随着生物学习理论的发展,实现有第一个深度学习模型——感知机,第二次浪潮为反向传播算法的出现,彼时可以训练具有一两层隐藏层的神经网络模型,第三次浪潮,也就是深度学习,则是因为数据的积累与算力的跃升。对于第二次浪潮与第三次浪潮的主要推动者,请大家记住这三位计算机科学家和他们带来的贡献。
这三位科学家被称为"深度学习三巨头",他们的贡献奠定了现代人工智能的基础:
Yann LeCun(杨立昆)
- 卷积神经网络(CNN)的开创者:LeCun在1980年代末开发了卷积神经网络架构,这项技术彻底改变了计算机视觉领域。他最著名的工作包括LeNet-5网络,成功应用于手写数字识别,为后来的图像识别技术奠定了基础。
- 反向传播算法的推广:他在反向传播算法的理论和实践方面做出了重要贡献,使深度网络的训练成为可能。
- 能量模型:提出了基于能量的学习模型,为无监督学习提供了新的理论框架。
Geoffrey Hinton(杰弗里·辛顿)
- 反向传播算法的共同发明者:Hinton与其他研究者共同开发了反向传播算法,这是训练多层神经网络的核心技术。
- 深度置信网络:在2006年提出了深度置信网络(Deep Belief Networks),重新点燃了人们对深度学习的兴趣,被认为是深度学习复兴的关键时刻。
- Dropout技术:发明了Dropout正则化技术,有效解决了深度网络的过拟合问题。
Yoshua Bengio(约书亚·本吉奥)
- 循环神经网络和序列学习:Bengio在RNN和LSTM网络方面做出了重要贡献,推动了自然语言处理和序列数据建模的发展。
- 注意力机制:他的团队在注意力机制的发展中发挥了重要作用,这项技术后来成为Transformer架构的核心。
- 表示学习理论:在深度学习的理论基础方面贡献突出,特别是在表示学习和生成模型方面。
- 生成对抗网络相关工作:在生成模型领域有重要贡献,推动了深度生成模型的发展。
这三位科学家因其在深度学习领域的开创性贡献,共同获得了2018年图灵奖,被誉为"深度学习教父"。他们的工作不仅在学术界产生了深远影响,也为今天AI技术的广泛应用奠定了基础。
2025.09 长椿街