速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

深度学习究竟是个啥?

  • 2016-01-05
  • 本文字数:1868 字

    阅读完需:约 6 分钟

“当我每次解雇一名语言学家的时候,那么语音识别的性能就在上升”。
——IBM 的 Frederick Jelinek

如果说语言学家代指机器学习和固定的模型结构,那么深度学习意味着专家整体性能的提高。

深度学习是一个本质上引人入胜的主题,非常令人憧憬。Michel Herszak 在 LinkedIn 写了一篇博客,谈到了其对于深度学习的理解。

深度学习简述

深度学习已经在计算机视觉、语言识别和自然语言理解等多个领域取得了巨大的成就。深度学习的概念源于人工神经网络的研究。深度学习结构包含一个多隐层的多层感知器。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。

深度学习的概念由 Hinton 等人于 2006 年提出。基于深度信念网络 (DBN) 提出非监督贪婪逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外 Lecun 等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。

深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。深度学习就是一种特征学习方法,把原始数据通过一些简单的但是非线性的模型转变成为更高层次的,更加抽象的表达。

深入介绍深入学习

深入研究深度学习,发现其包含三个核心概念:多层组合、端到端的学习和分布式表示。

多层组合

多层表示更符合人类的学习方式,神经网络作为其中的一种,可以从一个单一的感知输入中产生多种理解,例如一个单词的发音(与其类比,深度学习具有惊人的相似)。从一个单词的发音到大脑的理解之间存在多个隐层,这与深度学习的过程很一致。多层表示中最令人兴奋的一件事情就是,原来在处理数据分类任务的时候,是通过数据科学家建模神经网络,而现在他们可以自动生成数据模型。

当前多数分类、回归等学习方法为浅层结构算法,很多情况下只有一层表示,其局限性在于有限样本和计算单元情况下对复杂函数的表示能力有限,针对复杂分类问题其泛化能力受到一定制约。深度学习可通过学习一种深层非线性网络结构,实现复杂函数逼近,表征输入数据分布式表示,并展现了强大的从少数样本集中学习数据集本质特征的能力。(多层的好处是可以用较少的参数表示复杂的函数)

端到端的学习

在早期的深度学习中,关于语音识别的很多早期工作都存在一个问题,即各层表示之间的连接太密集。这个问题,Google 的语音 API 也遇到过,它会导致系统的过拟合问题。

今天,深度学习是一种端到端的学习方式,整个学习过程中不需要中间的和显著的人类参与。直接把海量数据投放到算法中,让数据自己说话,系统会自动从数据中学习。从输入到输出是一个完全自动的过程。

同样,可以再次将其再次与人类大脑随着时间的发展进行类比,这些变化影响了人们对于信息的提取方式。

分布式表示

深度学习算法本质上是分布式概念的应用。分布式表示背后的想法是,观察到的信息是众多因素协同工作所产生的结果。它将堆积如山的数据转化为数据流的组合。

这里举一个简单的例子:假如你想用一台电脑存储有关车辆的数据。

  • 首先,你有一辆大的蓝色福特汽车。
  • 其次,你有一个巨大的白色大众汽车。
  • 第三,你有一辆闪亮的 McQueen 汽车。
  • 第四,你有一个大的红色的 Vauxhal 汽车。

通过这种方式,你需要将所有数据存储到一个单一的存储单元中。当有一台新的车辆数据要加入的时候,需要加载数据单元的整个负载。这似乎不是很高效。

那么想象一下存储这些车辆的一种新方式。事实上,可以使用三个存储单元:一个用来描述尺寸(小型、中型、大型灯),一个用来存储颜色,最后一个存储品牌。这样就可以存储想要的所有车辆,都有非常相同的三个存储内存单元。这种工作方法是分布式表示的一个例子。从最基本的意义上讲,这代表了神经元一起工作的方式。而且它是深度机器学习的一个高效的例子。

总之,深度学习是关于自动学习要建模的数据的潜在(隐含)分布的多层(复杂)表达的算法。换句话来说,深度学习算法自动的提取分类需要的低层次或者高层次特征。Deep learning 能够得到更好地表示数据的特征,同时由于模型的层次、参数很多,能够具备足够强的表示能力。当然,deep learning 本身也不是完美的,也不是解决世间任何机器学习问题的利器。


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2016-01-05 18:005801
用户头像

发布了 268 篇内容, 共 123.1 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

达观助手AI写作下载安装教程及特色功能详解,速速收藏体验!

NLP资深玩家

5 分钟带你小程序入门 [实战总结分享]

程序员海军

小程序 微信小程序 前端 三周年连更

一文读懂封装

断墨寻径

#java 三周年征文

影驰 GeForce RTX 4070显卡正式开售!星曜 OC系列首发评测抢先看

Geek_2d6073

Go语言开发小技巧&易错点100例(三)

闫同学

Go 三周年连更

慌了?ChatGPT吃我的饭,还要掀我碗

引迈信息

AI 低代码 ChatGPT JNPF

MobTech ShareSDK|如何从分享到回流

MobTech袤博科技

一文读懂Annotation

老周聊架构

三周年连更

C生万物 | 反汇编深挖【函数栈帧】的创建和销毁

Fire_Shield

C语言 汇编 三周年连更 函数栈帧

不要过于吹捧ChatGPT:人工智能生成文字还有很大提升空间

石头IT视角

全球首个完全开源的指令跟随大模型;T5到GPT-4最全盘点

OneFlow

危中蕴机:Oi! Network展现出的勇气和决心

股市老人

云原生时代全链路观测体系构建

嘉为蓝鲸

ContentProvider介绍

梦笔生花

ContextClassLoader 三周年连更

一文读懂域名注册

火山引擎边缘云

证书 域名 域名服务器

devops|中小公司不要做研发效能度量

laofo

DevOps 研发效能 效能度量 DevOps工具链 研发效能度量

程序员如何保住自己的饭碗?| 社区征文

liuzhen007

程序员 三周年征文

盘点 8 款好用的 API 接口文档管理工具

Liam

程序员 接口文档 API 接口规范 接口编写

kubernetes indexer源码解析

欢乐的阿苏

golang DevOps cache 源码阅读 #Kubernetes#

DevOps系列之 —— 持续规划与设计(三)敏捷项目管理的方法【Kanban 与 Scrum】

若尘

DevOps #DevOps 三周年连更

论程序员的为码之“道”

酱紫的小白兔

Unity 之 转微信小游戏本地数据存储

陈言必行

Unity 三周年连更

RabbitMQ组件介绍

穿过生命散发芬芳

RabbitMQ 三周年连更

vue3 +ts 如何安装封装axios

肥晨

Vue3 三周年连更

zookeeper的节点加密方式及分布式锁实现过程

浅羽技术

三周年连更

对话ChatGPT:Prompt是普通人“魔法”吗?

Alter

【坚果派-坚果】获取OpenHarmony 3.2 Release源码的两种方式

坚果

HarmonyOS OpenHarmony OpenHarmony3.2 三周年连更

一文掌握 Go 文件的读取操作

陈明勇

Go golang 文件读取 三周年连更

加速文件传输协议如何工作

镭速

车企外卷:一个关于智能手机的“围城故事”

脑极体

手机 车企

HuggingGPT 强势来袭,LLM+ 专家模型,迈向更通用的AI

Zilliz

Zilliz Towhee ChatGPT LLM huggingface

深度学习究竟是个啥?_语言 & 开发_张天雷_InfoQ精选文章