当前位置: 首页 > news >正文

深度学习简史

一、说明

        为了学习好深度学习,有必要知道深度学习的整个成长历史,可以说,深度学习的发展历程伴随整个人工智能的成长历程,本文将介绍这个历程的关键性历史节点。

二、深度学习的旅程

2.1 深度学习的当前认知

        深度学习是机器学习的一个更进化的分支,它使用算法层来处理数据,模仿思维过程,或开发抽象

        它通常用于视觉识别物体和理解人类语音。信息通过每一层传递,前一层的输出为下一层提供输入。网络中的第一层称为输入层,最后一层称为输出层。

        输入和输出之间的所有层都称为隐藏层。每层通常都是一个简单、统一的算法,包含一种激活函数。

        特征提取是深度学习的另一个方面。它用于模式识别和图像处理。特征提取使用算法自动构建有意义的数据“特征”,以达到训练、学习和理解的目的。通常是一个数据科学家,或者程序员,负责特征提取。

2.2 深度学习的发起

        深度学习的历史可以追溯到1943年,当时沃尔特·皮茨和沃伦·麦卡洛克创建了一个基于神经网络人类大脑的那个时刻为标志。

        他们使用了算法和数学的组合,他们称之为“阈值逻辑”来模仿思维过程。从那时起,深度学习一直在稳步发展,其发展只经历了两次重大突破。两人都与臭名昭著的人有关人工智能的冬天。

2.3 20世纪60年代

        亨利·J·凯利 (Henry J. Kelley) 因开发连续性基础知识而受到赞誉反向传播模型1960 年。1962 年,Stuart Dreyfus 开发了仅基于链式法则的更简单版本。虽然反向传播的概念(用于训练目的的误差反向传播)确实在 20 世纪 60 年代初就已经存在,但它笨拙且低效,直到 1985 年才变得有用。

        开发深度学习算法的最早努力来自 Alexey Grigoryevich Ivakhnenko(开发了数据处理的分组方法)和 Valentin Grigorʹevich Lapa(《控制论和预测技术》的作者)于 1965 年提出。他们使用具有多项式(复杂方程)激活函数的模型,然后对模型进行统计分析。然后,从每一层中,统计选择的最佳特征被转发到下一层(一个缓慢的手动过程)。

2.4 20世纪70年代

        20 世纪 70 年代,第一个人工智能冬天开始了,这是无法兑现承诺的结果。缺乏资金的影响限制了深度学习和人工智能研究。幸运的是,有人在没有资金的情况下进行了这项研究。

        首先 ”卷积神经网络”是福岛邦彦使用的。福岛设计了具有多个池化层和卷积层的神经网络。1979年,他开发了一种名为Neocognitron的人工神经网络,该网络采用分层、多层设计。这种设计使计算机能够“学习”识别视觉模式。这些网络类似于现代版本,但采用了多层重复激活的强化策略进行训练,随着时间的推移,这种策略会变得更加强大。此外,福岛的设计允许通过增加某些连接的“重量”来手动调整重要功能。

        其中的许多概念新认知机继续使用。

        自上而下的连接和新的学习方法的使用使得各种神经网络得以实现。当同时呈现多个模式时,选择性注意模型可以通过将注意力从一种模式转移到另一种模式来分离和识别各个模式。(我们许多人在多任务处理时使用相同的过程)。现代神经认知机不仅可以识别缺失信息的模式(例如不完整的数字5),还可以通过添加缺失的信息来完成图像。这可以用“推理”来形容。

        反向传播(利用误差训练深度学习模型)在 1970 年得到了显着发展。正是在那时,Seppo Linnainmaa 撰写了他的硕士论文,其中包括用于反向传播的 FORTRAN 代码。

        不幸的是,这个概念直到 1985 年才应用于神经网络。当时 Rumelhart、Williams 和 Hinton 证明了神经网络中的反向传播可以提供“有趣的”分布表示。从哲学上讲,这一发现揭示了认知心理学中的问题:人类的理解是否依赖于符号逻辑(计算主义)或分布式表示(连接主义)。

2.5 20世纪80年代和90年代

        1989 年,Yann LeCun 在贝尔实验室首次提供了反向传播的实际演示。他将卷积神经网络与反向传播读取“手写”数字。该系统最终被用来读取手写支票的号码。

        这段时间也是人工智能第二个冬天(1985-90年代)的开始,这也影响了神经网络和深度学习的研究。许多过于乐观的人夸大了人工智能的“直接”潜力,超出了预期并激怒了投资者。愤怒如此强烈,“人工智能”一词达到了伪科学的程度。幸运的是,一些人继续致力于人工智能和深度学习的研究,并取得了一些重大进展。1995 年,Dana Cortes 和 Vladimir Vapnik 开发了支持向量机(一种用于映射和识别相似数据的系统)。用于循环神经网络的 LSTM(长短期记忆)由 Sepp Hochreiter 和 Juergen Schmidhuber 于 1997 年开发。

        深度学习的下一个重大演变发生在 1999 年,当时计算机处理数据和 GPU 的速度开始变得更快(图形处理单元)被开发出来。通过 GPU 处理图片,更快的处理速度在 10 年内将计算速度提高了 1000 倍。在此期间,神经网络开始与支持向量机竞争。虽然神经网络与支持向量机相比可能较慢,但神经网络使用相同的数据提供了更好的结果。神经网络还具有随着更多训练数据的添加而不断改进的优势。

2.6 2000年-2010年

        2000年左右,梯度消失问题出现了。人们发现,下层形成的“特征”(教训)并没有被上层学习,因为没有学习信号到达这些层。这并不是所有神经网络的基本问题,只是那些采用基于梯度的学习方法的神经网络的基本问题。问题的根源在于某些激活函数。许多激活函数压缩了它们的输入,进而以某种混乱的方式减小了输出范围。这产生了映射在极小范围内的大面积输入。在这些输入区域中,较大的变化将减少为输出的较小变化,从而导致梯度消失。解决这个问题的两个解决方案是逐层预训练和开发长短期记忆。

        2001年,META Group(现称为Gartner)的一份研究报告将数据增长的挑战和机遇描述为三维的。该报告将数据量的增加和数据速度的增加描述为数据源和类型范围的增加。这是为应对刚刚开始的大数据冲击做好准备的呼吁。

        2009 年,斯坦福大学人工智能教授李飞飞发起了图像网,组建了一个包含超过 1400 万张标记图像的免费数据库。互联网现在和过去都充满了未标记的图像。“训练”神经网络需要标记图像。李教授说:“我们的愿景是大数据将改变机器学习的工作方式。数据驱动学习。”

2.7 2011-2020

        到 2011 年,GPU 的速度显着提高,使得“无需”逐层预训练即可训练卷积神经网络。随着计算速度的提高,深度学习在效率和速度方面具有明显的优势。一个例子是亚历克斯网,一种卷积神经网络,其架构在 2011 年和 2012 年期间赢得了多项国际比赛。整流线性单元用于提高速度和 dropout。

        同样是在 2012 年,Google Brain 发布了一个名为“猫实验。这个自由奔放的项目探索了“无监督学习”的困难。深度学习使用“监督学习,”这意味着卷积神经网络是使用标记数据进行训练的(想想来自 ImageNet 的图像)。使用无监督学习,卷积神经网络会获得未标记的数据,然后被要求寻找重复出现的模式。

        猫实验使用了分布在 1000 多台计算机上的神经网络。从 YouTube 上随机获取一千万张“未标记”图像,显示给系统,然后允许训练软件运行。训练结束时,发现最高层的一个神经元对猫的图像反应强烈。该项目创始人吴恩达 (Andrew Ng) 表示:“我们还发现了一个对人脸反应非常强烈的神经元。” 无监督学习仍然是深度学习领域的一个重要目标。

        这生成对抗神经网络(GAN)于 2014 年推出。GAN 由 Ian Goodfellow 创建。通过 GAN,两个神经网络在游戏中相互对抗。游戏的目标是让一个网络模仿一张照片,并欺骗对手相信它是真实的。对手当然是在寻找破绽。游戏一直进行到近乎完美的照片欺骗对手为止。GAN 提供了一种完善产品的方法(并且也开始被骗子使用)。

三、深度学习和商业的未来

        深度学习提供了基于图像的产品搜索(Ebay、Etsy)以及在装配线上检查产品的有效方法。第一个支持消费者便利,第二个是商业生产力的例子。

        目前,演变人工智能依赖于深度学习。深度学习仍在不断发展,需要创造性的想法。

        语义技术正在与深度学习一起使用人工智能更上一层楼,提供听起来更自然、更人性化的对话。

        银行和金融服务机构正在使用深度学习来实现交易自动化、降低风险、检测欺诈并向投资者提供人工智能/聊天机器人建议。EIU(经济学人智库)的一份报告显示,86% 的金融服务机构计划到 2025 年增加人工智能投资。

        深度学习和人工智能正在影响新商业模式的创建。这些企业正在创造拥抱深度学习、人工智能和现代技术的新企业文化。

相关文章:

  • Windows内存取证-中等难度 -上篇
  • 行业追踪,2023-10-30
  • 计算机网络_04_传输层
  • 逻辑斯蒂回归
  • UE5 日记(人物连招:蒙太奇动画通知(含视频链接))
  • 【每日一题Day363】LC275H 指数Ⅱ | 二分答案
  • iOS调试技巧——使用Python 自定义LLDB
  • Cannot connect to the Docker
  • Linux网卡
  • 如何防范AI诈骗:从了解到保护
  • 【MySQL】C语言连接数据库
  • 分类预测 | Matlab实现KOA-CNN-BiGRU-selfAttention多特征分类预测(自注意力机制)
  • Scala基本数据类型和运算符
  • 【计算机网络】浏览器的通信能力
  • dbeaver配置es连接org.elasticsearch.xpack.sql.jdbc.EsDriver
  • canvas 五子棋游戏
  • HashMap ConcurrentHashMap
  • spring cloud gateway 源码解析(4)跨域问题处理
  • 程序员该如何有效的找工作?
  • 从setTimeout-setInterval看JS线程
  • 当SetTimeout遇到了字符串
  • 近期前端发展计划
  • 七牛云假注销小指南
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (30)数组元素和与数字和的绝对差
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)LINQ之路
  • (转)visual stdio 书签功能介绍
  • (转载)hibernate缓存
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .mysql secret在哪_MySQL如何使用索引
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net web项目 调用webService
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .net经典笔试题
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • ?.的用法
  • @基于大模型的旅游路线推荐方案
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [asp.net core]project.json(2)
  • [BZOJ2281][SDOI2011]黑白棋(K-Nim博弈)
  • [CentOs7]iptables防火墙安装与设置
  • [LeetCode]—Anagrams 回文构词法
  • [LeetCode周赛复盘] 第 310 场周赛20220911
  • [Machine Learning][Part 7]神经网络的基本组成结构
  • [Oh My C++ Diary]类继承和类组合(内嵌类)初始化的不同
  • [Redis源码阅读]当你输入get/set命令的时候,Redis做了什么