深度学习的发展历程

深度学习的起源

       在机器学习中,我们经常使用两种方式来表示特征:局部表示(Local Representation)和分布式表示(Distributed Representation)。以颜色表示为例,见下图:

       要学习到一种好的高层语义表示(一般为分布式表示),通常需要从底层特征开始,经过多步非线性转换才能得到。深层结构的优点是可以增加特征的重用性,从而指数级地增加表示能力。因此,表示学习的关键是构建具有一定深度的多层次特征表示[Bengio et al., 2013]。在传统的机器学习中,也有很多有关特征学习的方法,比如主成分分析、线性判别分析、独立成分分析等。但是,传统的特征学习一般是通过人为地设计一些准则,然后根据这些准则来选取有效的特征。特征的学习是和最终预测模型的学习分开进行的,因此学习到的特征不一定可以提升最终模型的性能。

       为了学习一种好的表示,需要构建具有一定“深度”的模型,并通过学习算法来让模型自动学习出好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测模型的准确率。所谓“深度”是指原始数据进行非线性特征转换的次数。如果把一个表示学习系统看作一个有向图结构,深度也可以看作从输入节点到输出节点所经过的最长路径的长度。这样我们就需要一种学习方法可以从数据中学习一个“深度模型”,这就是深度学习(Deep Learning,DL)。深度学习是机器学习的一个子问题,其主要目的是从数据中自动学习到有效的特征表示。

       深度学习是将原始的数据特征通过多步的特征转换得到一种特征表示,并进一步输入到预测函数得到最终结果。和“浅层学习”不同,深度学习需要解决的关键问题是贡献度分配问题(Credit Assignment Problem,CAP)[Minsky, 1961]。

神经网络的发展

神经网络的发展大致经过五个阶段。

第一阶段:模型提出

第一阶段为1943年~1969年,是神经网络发展的第一个高潮期。在此期间,科学家们提出了许多神经元模型和学习规则。

        1943 年,心理学家 Warren McCulloch 和数学家 Walter Pitts 最早提出了一 种基于简单逻辑运算的人工神经网络,这种神经网络模型称为MP模型,至此开启了人工神经网络研究的序幕。1948 年,Alan Turing 提出了一种“B 型图灵机”。“B 型图灵机”可以基于Hebbian法则来进行学习。1951 年,McCulloch和 Pitts 的学生 Marvin Minsky 建造了第一台神经网络机SNARC。1958年,Rosenblatt提出了一种可以模拟人类感知能力的神经网络模型,称为感知器(Perceptron),并提出了一种接近于人类学习过程(迭代、试错)的学习算法。

       在这一时期,神经网络以其独特的结构和处理信息的方法,在许多实际应用领域(自动控制、模式识别等)中取得了显著的成效。

第二阶段:冰河期

第二阶段为1969年~1983年,是神经网络发展的第一个低谷期。在此期间,神经网络的研究处于长年停滞及低潮状态。

       1969 年,Marvin Minsky 出版《感知器》一书,指出了神经网络的两个关键缺陷:一是感知器无法处理“异或”回路问题;二是当时的计算机无法支持处理大型神经网络所需要的计算能力。这些论断使得人们对以感知器为代表的神经网络产生质疑,并导致神经网络的研究进入了十多年的“冰河期”。

        但在这一时期,依然有不少学者提出了很多有用的模型或算法。1974 年, 哈佛大学的 Paul Werbos 发明反向传播算法(BackPropagation,BP)[Werbos, 1974],但当时未受到应有的重视。1980年,福岛邦彦提出了一种带卷积和子采样操作的多层神经网络:新知机(Neocognitron)[Fukushima, 1980]。新知机的提出是受到了动物初级视皮层简单细胞和复杂细胞的感受野的启发.但新知机并没有采用反向传播算法,而是采用了无监督学习的方式来训练,因此也没有引起足够的重视。

第三阶段:反向传播算法引起的复兴

第三阶段为1983年~1995年,是神经网络发展的第二个高潮期。这个时期中,反向传播算法重新激发了人们对神经网络的兴趣。

       1983 年,物理学家 John Hopfield 提出了一种用于联想记忆(Associative Memory)的神经网络,称为Hopfield 网络。Hopfield 网络在旅行商问题上取得 了当时最好结果,并引起了轰动。 1984年,Geoffrey Hinton提出一种随机化版本的Hopfield网络,即玻尔兹曼机(Boltzmann Machine)。 

       真正引起神经网络第二次研究高潮的是反向传播算法。20 世纪 80 年代中期,一种连接主义模型开始流行,即分布式并行处理(Parallel Distributed Processing,PDP)模型[McClelland et al., 1986]。反向传播算法也逐渐成为PDP模型的主要学习算法。这时,神经网络才又开始引起人们的注意,并重新成为新的研究热点。随后,[LeCun et al., 1989]将反向传播算法引入了卷积神经网络,并在 手写体数字识别上取得了很大的成功[LeCun et al., 1998]。反向传播算法是迄今最为成功的神经网络学习算法。目前在深度学习中主要使用的自动微分可以看作反向传播算法的一种扩展。

       然而,梯度消失问题(Vanishing Gradient Problem)阻碍神经网络的进一 步发展,特别是循环神经网络。为了解决这个问题,[Schmidhuber, 1992]采用两步来训练一个多层的循环神经网络:

       1)通过无监督学习的方式来逐层训练每一 层循环神经网络,即预测下一个输入;

       2)通过反向传播算法进行精调。

第四阶段:流行度降低

第四阶段为 1995 年~2006 年,在此期间,支持向量机和其他更简单的方法(例如线性分类器)在机器学习领域的流行度逐渐超过了神经网络。

       虽然神经网络可以很容易地增加层数、神经元数量,从而构建复杂的网络, 但其计算复杂性也会随之增长。当时的计算机性能和数据规模不足以支持训练大规模神经网络。在 20 世纪 90 年代中期,统计学习理论和以支持向量机为代表的机器学习模型开始兴起。相比之下,神经网络的理论基础不清晰、优化困难、可解释性差等缺点更加凸显,因此神经网络的研究又一次陷入低潮。

第五阶段:深度学习的崛起

第五阶段为从 2006 年开始至今,在这一时期研究者逐渐掌握了训练深层神经网络的方法,使得神经网络重新崛起。

        [Hinton et al., 2006] 通过逐层预训练来学习一个深度信念网络,并将其权重作为一个多层前馈神经网络的初始化权重,再用反向传播算法进行精调。这 种“预训练 + 精调”的方式可以有效地解决深度神经网络难以训练的问题。随着深度神经网络在语音识别[Hinton et al., 2012]和图像分类[Krizhevsky et al., 2012]等任务上的巨大成功,以神经网络为基础的深度学习迅速崛起。近年来,随着大规模并行计算以及 GPU 设备的普及,计算机的计算能力得以大幅提高。此外,可供机器学习的数据规模也越来越大。在强大的计算能力和海量的数据规模支持下,计算机已经可以端到端地训练一个大规模神经网络,不再需要借助预训练的方式。各大科技公司都投入巨资研究深度学习,神经网络迎来第三次高潮。

总结

       深度学习以神经网络为主要模型,一开始用来解决机器学习中的表示学习问题。但是由于其强大的能力,其后深度学习越来越多地用来解决一些通用人工智能问题,比如推理、决策等,广泛应用于车牌识别、人脸识别、语音识别、智能助手、推荐系统、自动驾驶等领域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/53422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iPhone手机清理软件:照片清理功能全解析

在数字化生活中,智能手机成为我们记录生活点滴的主要工具,尤其是iPhone,以其卓越的相机功能备受用户青睐。然而,成千上万的照片迅速堆积,不仅占用了大量存储空间,还使得设备运行缓慢。在众多解决方案中&…

【数据分享】《中国城市统计年鉴》(1985-2023)全PDF版本 第一次补档

数据介绍 中国城市,如同一本生动的历史书,承载着经济、社会的快速变迁。《中国城市统计年鉴》记录了城市的发展轨迹,是我们理解城市化进程、洞察城市挑战的重要指南。 这份年鉴的数据庞大而详实,囊括了中国城市发展的多个方面。…

船舶机械设备5G智能工厂物联数字孪生平台,推进制造业数字化转型

船舶机械设备5G智能工厂物联数字孪生平台,推进制造业数字化转型。在当今数字化浪潮推动下,船舶制造业正经历着前所未有的变革。为了应对市场的快速变化,提升生产效率,降低成本,并增强国际竞争力,船舶机械设…

海底生物检测-目标检测数据集(包括VOC格式、YOLO格式)

海底生物检测-目标检测数据集(包括VOC格式、YOLO格式) 数据集: 链接:https://pan.baidu.com/s/1Kp4Reqt4tq1IafVF33IrnA?pwddxbv 提取码:dxbv 数据集信息介绍: 共有 7383 张图像和一一对应的标注文件 标…

仕考网:事业编考试考什么?

事业编考试科目为: 《职测》《综应》《公基》三选二 事业编有哪些招考形式? ①联考 多省份统一考试,考试时间、考试内容相同,每年两次,上半年5月和下半年10月各一次; ②单招 用人单位单独招聘,考试时间和内容自…

js原型与原型链详解(万文总结,一文搞懂原型链!)

目录 一,原型 1, 对象 2,原型(原型对象) 二,隐式原型__proto__ 1,__proto__ 2,考你一下 三,原型链 1,Object.prototype 2,链 四,练…

C++第四十七弹---深入理解异常机制:try, catch, throw全面解析

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1.C语言传统的处理错误的方式 2.C异常概念 3. 异常的使用 3.1 异常的抛出和捕获 3.2 异常的重新抛出 3.3 异常安全 3.4 异常规范 4.自定义…

OpenCV结构分析与形状描述符(8)点集凸包计算函数convexHull()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 查找一个点集的凸包。 函数 cv::convexHull 使用斯克拉斯基算法(Sklansky’s algorithm)来查找一个二维点集的凸包&#…

java基础-IO(1)

1、从计算机的存储说起 电脑电脑,有电才能发挥出“脑”的作用,没电就是破铜烂铁一堆,根据电的特性(高低电平)巧妙的使用0、1组合,记住了万事万物,才得以让"破铜烂铁"发挥出神奇的功效…

为什么我选择这款PR剪辑软件?打工人亲测好用!

现在大家都爱看短视频和Vlog,要是你会剪辑视频,那可就牛了。不管是出去玩拍的视频,还是工作需要,都能派上用场。我就是个爱旅行、爱剪辑的发烧友,今天给你们推荐三款特别好用的视频剪辑软件,尤其是PR剪辑&a…

C语言 | Leetcode C语言题解之第386题字典序排数

题目&#xff1a; 题解&#xff1a; int* lexicalOrder(int n, int* returnSize){int *ret (int *)malloc(sizeof(int) * n);int number 1;for (int i 0; i < n; i) {ret[i] number;if (number * 10 < n) {number * 10;} else {while (number % 10 9 || number 1 …

解读三国历史中的配角们:探索未被书写的故事 - 《三国配角演义》读后感

在传统的三国叙事中&#xff0c;英雄主角们的事迹往往被无限放大&#xff0c;而那些默默无闻的小人物则被忽视。然而&#xff0c;《三国配角演义》通过挖掘历史细节&#xff0c;赋予这些小角色新的生命。书中用微小的史料合理推断&#xff0c;构建了他们不为人知的精彩故事。 …

C语言进阶版第8课—指针(2)

文章目录 1. 数组名的理解2. 指针访问数组3. 一维数组传参本质4. 冒泡排序5. 二级指针6. 指针数组7. 指针数组模拟二维数组 1. 数组名的理解 sizeof&#xff08;数组名&#xff09;— 这里的数组名代表整个数组&#xff0c;计算的也是整个数组的大小&数组名 — 这里的数组名…

使用 ELK Stack 进行云原生日志记录和监控:AWS 中的开发运营方法

使用 ELK Stack 进行云原生日志记录和监控 欢迎来到雲闪世界。在当今的云原生世界中&#xff0c;日志记录和监控是强大的 DevOps 策略的重要组成部分。监控应用程序性能、跟踪错误和分析日志对于确保无缝操作和主动识别潜在问题至关重要。在本文中&#xff0c;我们将指导您使用…

Vue——Diff算法

目录 什么是Diff算法&#xff1f; 比较方式 1. 同层比较 2. 双端比较 双端比较的步骤&#xff1a; 3. 通过 key 来优化比较 原理分析 1. 虚拟 DOM 和真实 DOM 2. Diff 算法的基本原理 3. 双端比较优化 4. 通过 key 进行优化 5. 具体操作 6. 原理总结 声明&#xf…

AWS SES服务 Golang接入教程(排坑版)

因为刚来看的时候 也迷迷糊糊的 所以 先讲概念 再上代码 一 基础设置 这里需要完成两个最基础的设置任务 1 是验证至少一个收件电子邮箱 2 【很关键】是验证发送域。即身份里的域类型的身份。&#xff08;可以理解为配置你的域名邮箱服务器&#xff08;SMPT&#xff09;为亚马…

Flink问题记录

尚硅谷Flink1.17问题记录 上手pom依赖循环递归WordCountStreamDemo中readTextFile是deprecated&#xff08;强烈反对的&#xff09;Flink本地模式开启WebUI 上手 pom依赖循环递归 pom依赖中&#xff1a; <dependency><groupId>org.apache.flink</groupId>&…

前端开发中遇到的小问题以及解决方案记录2

1、H5中适配屏幕的工具-postcss-px-to-viewport postcss-px-to-viewport。因为设计稿一般给的都是375px宽度的&#xff0c;所以假如一个字体是16px&#xff0c;那么在开发中不能直接写死为16px&#xff0c;因为各个厂商的手机屏幕大小是不同的&#xff0c;所以要根据屏幕大小去…

【人工智能学习笔记】1_人工智能基础

本系列是个人学习《阿里云人工智能工程师ACA认证免费课程&#xff08;2023版&#xff09;》的笔记&#xff0c;仅为个人学习记录&#xff0c;欢迎交流&#xff0c;感谢批评指正 人工智能概述 智能的三大能力&#xff1a;感知、记忆与思维、学习与适应能力人工智能的定义 明斯基…

正规表达式例题

解析&#xff1a;从题意可知&#xff0c;a可以有零个或多个&#xff0c;b有1个或多个 选项A&#xff1a;这里a至少有1个&#xff0c;不符合题意 选项B&#xff1a;a^*bb^*&#xff0c;a是0个或多个&#xff0c;b可以是1个或多个&#xff0c;符合题意 选项C和选项D&#xff0…