卷积神经网络 - 卷积神经网络与深度学习的历史篇
序言
卷积神经网络( Convolutional Neural Networks, CNN \text{Convolutional Neural Networks, CNN} Convolutional Neural Networks, CNN)与深度学习作为人工智能领域的两大重要分支,其发展历程充满了探索与突破。深度学习,作为一系列算法的统称,旨在模拟人类大脑中的学习和思维过程,其核心在于通过神经网络的多层结构自动构建并提取数据特征。而卷积神经网络,作为深度学习的代表算法之一,特别擅长于处理图像和视频等具有网格化特征的数据,其发展历程更是与计算机视觉领域的进步紧密相连。
历史脉络概述
-
卷积神经网络的历史可以追溯到 20 20 20世纪 60 60 60年代,当时美国神经生物学家大卫·休伯尔( David Hubel \text{David Hubel} David Hubel)和托斯坦·维厄瑟尔( Torsten Wiesel \text{Torsten Wiesel} Torsten Wiesel)对猫视觉系统的研究为后来的卷积神经网络奠定了理论基础。
-
然而,直到 20 20 20世纪 80 80 80年代,日本科学家福岛邦彦才首次提出了包含卷积层和池化层的神经网络结构,为卷积神经网络的诞生奠定了基础。
-
随后, Yann LeCun \text{Yann LeCun} Yann LeCun在 1998 1998 1998年提出了 LeNet-5 \text{LeNet-5} LeNet-5,将反向传播算法应用于卷积神经网络的训练,标志着现代卷积神经网络的雏形形成。
-
进入 21 21 21世纪后,随着计算能力的提升和大数据的兴起,深度学习及卷积神经网络迎来了爆发式增长。
-
特别是在 2012 2012 2012年的 ImageNet ‾ \underline{\text{ImageNet}} ImageNet图像识别大赛中, AlexNet \text{AlexNet} AlexNet的出色表现彻底改变了图像识别领域的格局,卷积神经网络开始成为计算机视觉领域的主流技术。
-
此后, VGGNet \text{VGGNet} VGGNet、 GoogleNet \text{GoogleNet} GoogleNet、 ResNet \text{ResNet} ResNet等网络框架相继涌现,不断推动着卷积神经网络的发展和应用。
卷积神经网络与深度学习的历史
- 卷积网络在深度学习的历史中发挥了重要作用。
- 它们是将研究大脑获得的深刻理解成功用于机器学习应用的关键例子。
- 它们也是第一个表现良好的深度模型之一,远远早于任意深度模型被认为是可行的。
- 卷积网络也是第一个解决重要商业应用的神经网络,并且仍然是当今深度学习商业应用的前沿。
- 例如,在 20 20 20 世纪 90 90 90 年代, AT&T \text{AT\&T} AT&T 的神经网络研究小组开发了一个用于读取支票的卷积网络( LeCun et al.,2001 \text{LeCun et al.,2001} LeCun et al.,2001)。
- 到 90 90 90 年代末, NEC \text{NEC} NEC 部署的这个系统用于读取美国所有支票的 10 % 10% 10%以上。后来,微软部署了若干个基于卷积网络的 OCR \text{OCR} OCR 和手写识别系统 ( Simard et al., 2003 \text{Simard et al., 2003} Simard et al., 2003)。
- 我们将在后续篇章卷积网络的应用中介绍关于卷积网络的这种应用和更现代应用的更多细节。
- 到 2010 2010 2010 年以前的更为深入的卷积网络历史可以参见 ( LeCun et al., 2010 \text{LeCun et al., 2010} LeCun et al., 2010)。
- 卷积网络也被用来赢得许多比赛。当前对深度学习的商业兴趣的热度始于 Krizhevsky et al. (2012a) \text{Krizhevsky et al. (2012a)} Krizhevsky et al. (2012a) 赢得了 ImageNet \text{ImageNet} ImageNet 对象识别挑战,但是卷积网络已经被用于赢得其他机器学习和计算机视觉竞赛了,这些比赛在几年前影响较小。
- 卷积网络是用反向传播训练的第一个有效的深度网络之一。
- 现在仍不完全清楚为什么卷积网络在一般的反向传播网络被认为已经失败时反而成功了。
- 可能简单地归结为卷积网络比全连接网络计算效率更高,因此使用它们运行多个实验并调整它们的实现和超参数更容易。
- 更大的网络也似乎更容易训练。
- 利用现代硬件,大型全连接的网络对许多任务也执行得很合理,即使使用过去那些全连接网络被认为不能工作的很好的数据集和当时流行的激活函数时,现在也能执行得很好。
- 可能神经网络成功的主要阻碍是心理(实践者没有期望神经网络有效,所以他们没有认真努力地使用神经网络)。
- 无论如何,幸运的是卷积网络在几十年前就表现良好。
- 在许多方面,它们为余下的深度学习传递火炬,并为一般的神经网络被接收铺平了道路。
- 卷积网络提供了一种方法来专业化神经网络,以处理具有清楚的网格结构拓扑的数据,以及将这样的模型放大到非常大的尺寸。
- 这种方法在二维图像拓扑上是最成功的。
- 为了处理一维序列数据,我们接下来转向神经网络框架的另一种强大的专业化:循环神经网络。
总结
卷积神经网络与深度学习的历史是一部不断探索与突破的科技史。从最初的理论研究到如今的广泛应用,它们不仅改变了计算机视觉领域的面貌,也深刻影响着自然语言处理、医疗诊断、金融分析等多个领域。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,卷积神经网络与深度学习将在未来发挥更加重要的作用,为人类社会的发展贡献更多力量。
关于卷积神经网络往期内容回顾
卷积神经网络 - 引言篇
卷积神经网络 - 卷积运算篇
卷积神经网络 - 动机(Motivation)篇
卷积神经网络 - 池化(Pooling)篇
卷积神经网络 - 卷积与池化作为一种无限强的先验篇
卷积神经网络 - 基本卷积函数的变体篇
卷积神经网络 - 结构化输出篇
卷积神经网络 - 数据类型篇
卷积神经网络 - 高效的卷积算法篇
卷积神经网络 - 随机或无监督的特征篇
卷积神经网络 - 卷积神经网络的神经科学基础篇
相关文章:
卷积神经网络 - 卷积神经网络与深度学习的历史篇
序言 卷积神经网络( Convolutional Neural Networks, CNN \text{Convolutional Neural Networks, CNN} Convolutional Neural Networks, CNN)与深度学习作为人工智能领域的两大重要分支,其发展历程充满了探索与突破。深度学习,作…...
初识 Floodfall 算法
文章目录 **一、Floodfall 算法的概述****二、深度优先搜索(DFS)和广度优先搜索(BFS)在 Floodfall 算法中的应用****三、算法的基本原理****四、应用场景** 一、Floodfall 算法的概述 Floodfall 算法通常用于解决与区域填充、图的…...
[Linux] LVM挂载的硬盘重启就掉的问题解决
问题:系统重启后挂在逻辑卷的盘会掉(必现) 环境:SUSE Linux 11 SP4 原因:boot.lvm是关闭的 解决:boot.lvm设置开启 参考资料: linux下lvm状态Not avaliable问题排查及处理(常见Suse操作系统…...
YOLOv8改进 | 主干网络 | 用EfficientNet卷积替换backbone【教程+代码 】
秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有80+篇内容,内含各种Head检测头、损失函数Loss、…...
数据库规范化设计 5大基本原则
规范化设计原则是数据库设计的基本原则,有助于减少数据冗余,提高数据一致性和完整性,简化数据管理,增强数据安全性,对整个开发项目至关重要。而缺乏规范化设计会导致数据冗余,增加存储成本,引发…...
【nginx】解决k8s中部署nginx转发不会自动更新域名解析启动失败的问题
文章目录 1. 问题2.解决办法3.扩展说明3.1 DNS解析阶段划分3.2 问题说明3.2.1 先看/etc/resolv.conf说明3.2.2 针对第一个问题3.2.3 针对第二个问题 【后端】NginxluaOpenResty高性能实践 参考: https://blog.csdn.net/u010837612/article/details/123275026 1. 问…...
LeetCode637 二叉树的层平均值
前言 题目: 637. 二叉树的层平均值 文档: 代码随想录——二叉树的层平均值 编程语言: C 解题状态: 求取平均值的时候出现了点问题 思路 C中,浮点数的相加会产生精度误差,求取平均值时最好只在最后一步进行…...
王学岗ASM
服务发现 package com.example.testasm;import android.content.Context; import android.os.Bundle;import androidx.activity.EdgeToEdge; import androidx.appcompat.app.AppCompatActivity; import androidx.core.graphics.Insets; import androidx.core.view.ViewCompat;…...
【数据结构】—— 队列
1、队列的概念2、队列的结构如何选择合适的数据结构实现队列(数组or链表) 3、队列的链式存储3.1 队列的链式存储结构3.2 队列的常见接口3.3 队列的接口实现初始化判空入队列出队列获取队头元素获取队尾元素获取节点个数销毁 3.4 源代码 4、队列的顺序存储…...
vue中openlayers过滤高亮显示某个图层
vue中openlayers过滤高亮显示某个图层 openlayers库没有直接支持这样设置,所以可以使用库:ol-ext,地址:https://viglino.github.io/ol-ext/examples/filter/map.filter.crop.html 效果: 关键代码: /**…...
WPF篇(11)-ToolTip控件(提示工具)+Popup弹出窗口
ToolTip控件 ToolTip控件继承于ContentControl,它不能有逻辑或视觉父级,意思是说它不能以控件的形式实例化,它必须依附于某个控件。因为它的功能被设计成提示信息,当鼠标移动到某个控件上方时,悬停一会儿,…...
【mysql 第一篇章】系统和数据库的交互方法
一、宏观的查看系统怎么和数据库交互 在我们刚刚接触系统和数据库的时候不明白其中的原理,只知道系统和数据库是需要交互的。所以我们会理解成上图的形式。 二、MYSQL 驱动 随着我们的学习时间的加长以及对程序的了解,发现链接数据库是需要有别的工具辅…...
数据结构-位运算总结
位运算总结: 1.求位1的个数 191. 位1的个数 - 力扣(LeetCode) 有两种写法: 1.是把该数不断的去与0x1相与,得到该数的最后一位的值,然后判断他是不是1,再把该数更新一下整体往后移动一位也就…...
java 异常堆栈的由来
编写的程序代码内部错误产生的异常,如调用对象为空(空指针异常)、数组越界异常、除0异常等。这种通常称为未检查的异常(Runtime异常子类),在虚拟机中执行时会集中处理这些异常。其他运行中异常,通过throw语句主动抛出的…...
【推荐系统】【多任务学习】Progressive Layered Extraction (PLE)
Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations 文章目录 Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations1 论文出处2 背景2.1 背景介…...
java -转win32/win64免安装jre环境运行
由于java 转为exe,只能在装有JDK环境的电脑运行, 发给其他人也不能运行,缺少环境,程序自己背着jre走 1.先打好jar 包 2.使用exe4j 把jar包转成exe 运行程序 3.使用inno stup ,把exe运行程序加上jre环境 以下是具体实现…...
算法板子:容斥原理——求出 1∼n 中能被质数 p1,p2,…,pm 中的至少一个数整除的整数有多少个
1. 题目要点 1. 设:求1~10中能被质数2和3中至少一个数整除的数有多少个。1~10中能被质数2整除的数的集合记为S1{2,4,6,8,10},能被质数3整除的数的集合记为S2{3,6,9},能同时被质数2和3整数的数的集合为S1∩S2{6} 2. 这道题的目的是求S1∪S2∪S…...
用gurobipy求解带不等式约束条件的优化问题
1. 引入 在当今的数据驱动世界中,优化问题无处不在,从工程设计到经济模型,再到机器学习算法的调参,优化都是实现效率最大化、成本最小化或性能最优化的关键工具。 这里有一个典型的数学优化问题,目标是在给定的约束条…...
漏洞复现-Adobe ColdFusion 远程代码执行漏洞(CVE-2023-38203)
1.漏洞描述 Adobe ColdFusion是一种服务器端的Web应用开发平台。它由Adobe Systems开发,用于创建动态的、交互式的Web应用程序和网站。 Adobe ColdFusion在2018u17及之前版本、2021u7及之前版本和2023u1及之前版本中存在任意代码执行漏洞。该漏洞是由于反序列化不…...
Spring-MyBatis整合:No qualifying bean of type ‘XXX‘ available: ...
1.看一下核心配置中有没有导入myBatis配置 2.看一下service和dao有没有相应注解 3.看一下MyBatisConfig中有没有对sqlSessionFactory和mapperScannerConfigurer注释成bean对象以及有没有配置映射文件路径...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
leetcode73-矩阵置零
leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...
