nature-deep learning

发布时间 2023-06-07 17:30:53作者: dctwan

Title:Deep learning

Authors:Yann LeCun Yoshua Bengio & Geoffrey Hinton

doi:10.1038/nature14539

1. 概述

使用多处理层学习数据不同层次的抽象表示,在语音识别、视觉识别、目标检测,以及药物发明、基因学等领域取得了最佳的表现。使用反向传播算法更新模型参数,以学习大量数据集中的复杂结构。

机器学习的应用已经深入到日常生活的方方面面,推荐系统、内容过滤、智能手机等等。传统的机器学习方法需要人工采取工程方法,利用比较专业的知识设计专门的特征提取器,将原始数据转换成合适的内部表示或特征向量。

表示学习是一种能够自动选取有用特征的方法,直接送入原始数据即可。深度学习是一种多层表示学习方法,通过大量简单的非线性模块,可以将一个层次的表示转换为更高更轻量更抽象的表示层次,能够学习非常复杂的函数。

参考花书第一章引言中的例子,如下

image-20230607095335154

深度学习的关键是,每一层的表示不是人工设计的,而是从数据中学习到的

深度学习提出之后,打破了机器学习领域中多项应用的瓶颈

  • 感知

    图像识别、语音识别

  • 自然语言处理

    话题分类、语义分析、问题回答、机器翻译

  • 医学

    重建大脑回路、预测非编码DNA突变对基因表达和疾病的影响

  • 物理学

    粒子加速器数据分析

深度学习在不久的将来会取得更多的成就,因为其需要很少的人工设计,且能够利用计算资源和数据量飞速增加的优势。

2. 监督学习

需要带有标签的数据用于训练,使用梯度下降算法,更新模型中的参数,训练好模型之后,在位置数据上测试模型的泛化性能。

对于传统的机器学习监督学习,需要手工设计特征提取器,需要工程化的方法和领域专业知识。但深度学习可以使用通用的学习方式,自动选择好的特征进行学习。这是深度学习的关键优势。

3. 反向传播

可以使用梯度下降算法训练多层网络,但需要计算对于大量参数的梯度,反向传播算法(Hinton是贡献者之一)能够方便的计算出对于参数的梯度,其本质是求导的链式法则

image-20230607143555401

4. 卷积神经网络

用于处理多维数组形式的数据,如3通道RGB彩色图像,视频等

image-20230607151618422

一个特征图中的所有单元共享同一个卷积核(过滤器),一层中的不同特征图使用不同的卷积核,这么做的直观理解是

卷积神经网络的4个关键思想

  • 局部链接

    多维数组形式的数据(图像),局部的一些值可能是高度相关的,构成一个可以区分的单位,比如:眼睛、爪子等,因此使用局部链接,也就是卷积核,

  • 共享权重

    这样的单位可以出现在图像中的任何位置,比如:两个眼睛(一左一右),四个爪子(四个不同的位置),一个特征图共享同一个卷积核(也就是共享权重),这个卷积核就可以检测这个图片中所有相同模式,使用多个卷积核就可以检测不同的部位(模式)

  • 池化

    将语义相似的特征合并成为1个,有待进一步学习...

  • 多层次

    与多层次神经网络的思想相同,先抽取局部低层次的特征,再组合成高层次的特征

5.基于深度卷积网络的图像理解

image-20230607155756401

image-20230607160315508

6.分布式表示和语言处理

没看懂...,貌似在讲生成模型(的雏形)?

7.循环神经网络

处理输入是一个序列的任务

image-20230607164714972

以机器翻译为例,提出了Encoder-Decoder模型,很像Transformer

输入语言A的句子,经过Encoder,生成该句子的语义向量,将语义向量送入Decoder,以单词接龙的形式输出语言B翻译句子

  • Encoder

    获取高层次抽象的语义向量

  • Decoder

    将语义向量转换成目标形式的文字输出,通常采用文字接龙形式

上述Encoder-Decoder模型是从文字to文字,也可以是从图像to文字,也就是上文提到的图像理解

感悟点

感觉Encoder-Decoder这个模型的应用非常灵活,人们对于想要表的想法有很多的形式,可以是图像、文字、语音、视频,在这些形式背后是人们所想的语义信息,通过这个模型,可以实现同一语义信息下不同表达形式的转换。通过这样的方式,尽管机器不能自己创造出语义信息(所有的输入输出和处理都是围绕人类给定的语义信息),但机器已经具备的理解和以不同形式转述的能力。

为了解决长期依赖关系,文中提出了LSTM,后面又提出了Transformer

对于RNN的理解参考:我的RNN学习笔记

我的知识漏洞:如何训练RNN,即如何使用反向传播算法更新参数

8.未来展望

  1. 无监督学习

    人类和动物的学习是无监督的,通过观察来了解现实世界,而不是被告诉每一个物体的名称

  2. 深度学习+强化学习

    训练模型玩游戏

  3. 自然语言理解

    使用RNN模型理解整个句子或文档,当模型学会有选择性地一次关注一个部分时,效果会更好

  4. 表示学习+复杂推理相结合的系统

    不懂...

总结

  1. 了解了深度学习相比于传统机器学习的优势
  2. 感叹深度学习对传统机器学习应用性能表现上的突破
  3. 对卷积神经网络有了更深层次的认识
  4. Encoder-Decoder产生了比较强烈的感悟
  5. 认识到对于其他一些很重要的领域了解不足,比如强化学习、无监督学习,需加强学习