深度学习简史
一、说明
为了学习好深度学习,有必要知道深度学习的整个成长历史,可以说,深度学习的发展历程伴随整个人工智能的成长历程,本文将介绍这个历程的关键性历史节点。
二、深度学习的旅程
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 年增加人工智能投资。
深度学习和人工智能正在影响新商业模式的创建。这些企业正在创造拥抱深度学习、人工智能和现代技术的新企业文化。
相关文章:
深度学习简史
一、说明 为了学习好深度学习,有必要知道深度学习的整个成长历史,可以说,深度学习的发展历程伴随整个人工智能的成长历程,本文将介绍这个历程的关键性历史节点。 二、深度学习的旅程 2.1 深度学习的当前认知 深度学习是机器学习的…...
CSRF 和 XSS 是什么
在Web开发中,安全性是至关重要的。然而,随着网络攻击技术的不断演进,跨站请求伪造(CSRF)和跨站脚本攻击(XSS)成为了最常见和具有破坏力的网络安全威胁之一。本文将介绍CSRF和XSS的概念、原理以及…...

亚信科技发布“电信级”核心交易数据库AntDB7.0,助力政企“信”创未来!
昨日,亚信科技AntDB数据库 7.0产品线上发布会成功举办,数千位关注亚信科技、关注国产数据库,致力于推动数据库行业变革的专家、客户热情参与,并对发布会及产品给予高度评价。 新增两大技术特性 作为我国最早一批独立研发的通用型…...

硬件调试-电源纹波测量
硬件调试-电源纹波测量 Fang XS.1452512966qq.com如果有错误,希望被指出,学习技术的路难免会磕磕绊绊量的积累引起质的变化感谢酸奶大佬提供的硬件技术指导; 电源纹波 百度百科定义如下: 纹波是由于直流稳定电源的电压波动而造…...

【洛谷算法题】P5710-数的性质【入门2分支结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5710-数的性质【入门2分支结构】🌏题目描述🌏输入格式&a…...

arcgis图上添加发光效果!
看完本文, 你可以不借助外部图片素材, 让你的图纸符号表达出你想要的光! 我们以之前的某个项目图纸为例,来介绍下让符号发光的技术! 第一步—底图整理 准备好栅格影像底图、行政边界的矢量数据,确保“数据合适、位置正确、边界吻合”。 确定好图纸的大小、出图比例、投…...

[MySQL]——SQL预编译、动态sql
键盘敲烂,年薪30万🌈 目录 一、SQL的预编译 📕一条SQL语句的执行过程 📕弊端 📕预编译SQL的优势 📕两种参数占位符 📕小结 二、动态SQL 📕概念介绍: Ǵ…...

安装ifconfig命令(两步搞定)
如果你输入ifconfig显示没有这条命令,最可能的原因就是你在安装CentOS,先择的是最小安装模式,默认不安装ifconfig等命令, 解决办法:1. yum安装ifconfig这个命令包。命令:yum search ifconfig 2.通过yum …...

【蓝桥杯 第十届省赛Java B组】真题训练(A - H)H待更新
目录 A、组队 - 看图一眼出答案 B、不同子串 - 字符串模拟 set去重 C、数列求值 - 模拟取余 D、数的分解 - 三重暴力 E、迷宫 - bfs 判断路径 F、特别数的和 - 弱智模拟 G、外卖店优先级 - map 暴力(90%通过率) H、人物相关性分析 - A、组队 -…...
【牛客题】二进制求和 <模拟>
给定两个用字符串表示的二进制数,返回他们的和。 数据范围:字符串长度满足 1 ≤ n ≤ 1 0 5 10^5 105 ,字符串中只含有 0 和 1,且保证除 0 以外的二进制数没有前导零的情况。 示例输入: "101","1&qu…...
Error:Only idle or expired IP address can be disabled.
华为数通设备,在配置DHCP排除地址时可能会出现以下情况 Error:Only idle or expired IP address can be disabled. 这是因为地址已经被分配出去,所以现在无法进行排除 解决方法 1.先进入接口关闭DHCP [CE2-GigabitEthernet0/0/1]undo dhcp select g…...

Xubuntu16.04系统中create_ap开启5G网络的踩坑记录
Xubuntu16.04系统中安装create_ap创建无线AP: https://blog.csdn.net/qq_45445740/article/details/133972642?spm1001.2014.3001.5501 目录 1.create_ap.conf 配置文件解析2.关于信号强度和延时2.1 信号强度2.2 信号延时2.3 网络延时测试工具推荐——PingPlotter …...

8. 一文快速学懂常用工具——Linux命令(上)
本章讲解知识点 引言 指令学习 本专栏适合于软件开发刚入职的学生或人士,有一定的编程基础,帮助大家快速掌握工作中必会的工具和指令。本专栏针对面试题答案进行了优化,尽量做到好记、言简意赅。如专栏内容有错漏,欢迎在评论区指…...
@RestController注解说明
在Spring框架中,RestController注解是一个非常重要的注解,它用于将一个类标记为RESTful风格的控制器。本文将详细介绍RestController注解的作用和用法,并提供示例以帮助读者更好地理解和使用它。 RestController的作用 RestController注解是…...
Excel中行列范围的转换
将 行:1,4-5,8,11 列:a,c-e,f 这种写法转换成单元格地址的方法。 public static Tuple<List<int>, List<string>> ConvertRowColumn(string rowRep, string colRep){List<int> rowIdxs new List<int>();rowRep rowRep.…...

golang的类型断言
前言:原因很简单,写的代码panic了。报错如下。为此专门看下golang的类型断言。 “[PANIC]interface conversion: interface {} is string, not float64”。 1、类型断言(assertion) 所谓“类型断言”即判断一个变量是不是某个类型的实例(简单来讲就是判…...
监听dom变化,监听dom属性变化
一、利用new MutationObserver const config {attributes: true, // 监听属性变化childList: true, // 监听子节点变subtree: true // 监听后代元素变化};jianting new MutationObserver(() > {this.changeFun()});jianting.observe(dom, config) /监听 jianting.disconne…...

mfc140u.dll丢失怎么修复,mfc140u.dll文件有什么作用
今天我想和大家分享的是关于mfc140u.dll文件丢失的解决方法。在我们使用电脑的过程中,有时候会遇到一些错误提示,其中比较常见的就是“无法找到mfc140u.dll文件”。那么,这个文件是什么呢?它有什么作用呢? 首先&#…...
关于MySql update语句不能用子查询的解决办法
关于MySql update语句不能用子查询的解决办法 使用MySql数据库语法操作update时,第一时间想到的是一下写法: UPDATE purchase_request_detail SET convert_to_voucher_id2, convert_to_voucher_typeinventory-voucher WHERE detail_id IN (select deta…...
【WinForm】WinForm程序C#分屏显示
文章目录 前言1. 准备工作2. 步骤3 示例代码4. 结论 前言 在开发WinForm应用程序时,有时我们需要在另一个屏幕上显示与主界面内容相同的界面。本文将介绍如何使用C#克隆正在运行的界面,并在另一个屏幕上显示相同的内容。 1. 准备工作 在开始之前&…...

单板机8088C语言计划
计划将原来用汇编写的小程序,用C语言重新写一遍 计划2个月能完成 然后再试试,能不能用C写一下固件BootLoad 和一个类似Dos时代的Debug调试器...
Linux中检查当前用户是不是root
Linux中检查当前用户是不是root 检查当前用户是否为root用户。如果是root用户,输出“当前用户是root”;否则,输出“当前用户不是root”。 创建一个 aaa.sh脚本文件 写入如下内容 #!/bin/bash# 检查当前用户的UID是否为0(root用…...

题海拾贝:P8598 [蓝桥杯 2013 省 AB] 错误票据
Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路! 我的博客:<但凡. 我的专栏:《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞,关注! 1、题…...

【pycharm】如何连接远程仓库进行版本管理(应用版本)
软件:Pycharm OS:Windows 一、Git基础设置 这里略过Git安装,需要可以参考:windows安装git(全网最详细,保姆教程)-CSDN博客 1. 配置Git 打开GitBash。分次输入下列命令。 git config --…...
5.31 数学复习笔记 22
前面的笔记,全部写成一段,有点难以阅读。现在改进一下排版。另外,写笔记实际上就是图一个放松呢,关键还是在于练习。 目前的计划是,把讲义上面的高数例题搞清楚之后,大量刷练习册上面的题。感觉不做几本练…...

Win10秘笈:两种方式修改网卡物理地址(MAC)
Win10秘笈:两种方式修改网卡物理地址(MAC) 在修改之前,可以先确定一下要修改的网卡MAC地址,查询方法有很多种,比如: 1、在设置→网络和Internet→WLAN/以太网,如下图所示。 2、在控…...
WPF的交互核心:命令系统(ICommand)
命令系统(ICommand) 1 RelayCommand实现2 CanExecute控制按钮可用性3 参数传递(CommandParameter)3.1 静态参数绑定:3.2 动态参数绑定:3.3 复杂对象参数: 4 异步命令实现5 常见问题排查 WPF的命…...

在win10/11下Node.js安装配置教程
下载安装 官网链接https://nodejs.org/zh-cn 下载好以后双击打开,点击下一步 勾选,然后下一步 选择路径、下一步 下一步 配置环境 找到我们安装的文件夹,创建两个文件夹 node_global node_cache 在CMD中配置路径 npm config set p…...

【sa-token】 sa-token非 web 上下文无法获取 HttpServletRequest。
Springboot cloud gateway集成sa-token中报错 cn.dev33.satoken.exception.NotWebContextException: 非 web 上下文无法获取 HttpServletRequestat cn.dev33.satoken.spring.SpringMVCUtil.getRequest(SpringMVCUtil.java:45) ~[sa-token-spring-boot-starter-1.38.0.jar:?]官…...

电商售后服务系统与其他系统集成:实现售后流程自动化
在竞争激烈的电商市场中,优质的售后服务对于提升用户满意度和忠诚度至关重要。然而,售后服务流程通常涉及多个环节和系统,如何高效地管理这些流程,减少人工干预,提升服务效率,是电商企业亟待解决的问题。电…...