深度学习的发展历史与关键技术

深度学习的发展历史与关键技术

    • 引言
    • 1. 早期神经网络:感知机
    • 2. 多层感知机
    • 3. 梯度下降算法
    • 4. 反向传播算法
    • 5. 深度神经网络
    • 6. 深度学习的发展历程
      • 6.1 早期阶段
      • 6.2 重新复兴
      • 6.3 深度学习的兴起
    • 结论

引言

深度学习作为人工智能领域的一个重要分支,在过去几十年取得了巨大的进步,并在各个领域得到了广泛应用。本文将介绍深度学习的发展历史,从早期的感知机到如今的深度神经网络,同时介绍深度学习中的一些关键技术和公式。

1. 早期神经网络:感知机

感知机是早期神经网络模型的代表,由Frank Rosenblatt于1957年提出。它由一个输入层和一个输出层组成,其中每个输入都与输出层的每个神经元相连,具有一定的权重。感知机的输出是输入的加权和经过阈值函数的结果。其数学表达式为:

y = sign ( ∑ i w i x i + b ) y = \text{sign}(\sum_{i} w_i x_i + b) y=sign(iwixi+b)

其中, y y y为输出, x i x_i xi为输入, w i w_i wi为对应的权重, b b b为阈值。

2. 多层感知机

虽然感知机能够解决一些简单的分类问题,但是它无法处理非线性可分的数据集。为了解决这个问题,科学家们开始研究多层感知机(Multilayer Perceptron,MLP)。MLP在感知机的基础上增加了一个或多个隐藏层,使得模型能够学习更复杂的函数。MLP的数学表达式可以表示为:

h i = σ ( ∑ j w i j x j + b i ) y k = σ ( ∑ i v k i h i + c k ) h_i = \sigma(\sum_{j} w_{ij} x_j + b_i) \\ y_k = \sigma(\sum_{i} v_{ki} h_i + c_k) hi=σ(jwijxj+bi)yk=σ(ivkihi+ck)

其中, h i h_i hi为隐藏层神经元的输出, y k y_k yk为输出层神经元的输出, σ \sigma σ为激活函数, w i j w_{ij} wij v k i v_{ki} vki分别表示输入层到隐藏层和隐藏层到输出层的权重, b i b_i bi c k c_k ck为对应的偏置。

3. 梯度下降算法

梯度下降算法是深度学习中常用的优化算法,用于调整模型参数使得损失函数达到最小值。其基本思想是沿着损失函数梯度的反方向更新参数,直到达到损失函数的局部最小值。梯度下降算法的数学表达式为:

θ t + 1 = θ t − α ∇ J ( θ t ) \theta_{t+1} = \theta_t - \alpha \nabla J(\theta_t) θt+1=θtαJ(θt)

其中, θ \theta θ为模型参数, J ( θ ) J(\theta) J(θ)为损失函数, ∇ J ( θ ) \nabla J(\theta) J(θ)为损失函数对参数的梯度, α \alpha α为学习率。

4. 反向传播算法

反向传播算法是用于计算神经网络模型中参数梯度的方法,通过链式法则将输出层的误差逐层向前传播,从而计算出每一层的参数梯度。反向传播算法的数学表达式为:

δ j L = ∂ J ∂ z j L δ j l = ( ∑ k w j k l + 1 δ k l + 1 ) ⋅ σ ′ ( z j l ) \delta_j^L = \frac{\partial J}{\partial z_j^L} \\ \delta_j^l = (\sum_{k} w_{jk}^{l+1} \delta_k^{l+1}) \cdot \sigma'(z_j^l) δjL=zjLJδjl=(kwjkl+1δkl+1)σ(zjl)

其中, δ j l \delta_j^l δjl表示第 l l l层第 j j j个神经元的误差, z j l z_j^l zjl为第 l l l层第 j j j个神经元的加权输入, σ ′ \sigma' σ为激活函数的导数。

5. 深度神经网络

深度神经网络(Deep Neural Network,DNN)是一种多层次的神经网络结构,包括多个隐藏层,每个隐藏层都包含多个神经元。深度神经网络通过层层传递信息来提取输入数据的高级特征,从而实现对复杂数据的建模和分类。其数学表达式可以表示为:

h i l = σ ( ∑ j w i j l h j l − 1 + b i l ) h_i^l = \sigma(\sum_{j} w_{ij}^l h_j^{l-1} + b_i^l) hil=σ(jwijlhjl1+bil)

其中, h i l h_i^l hil为第 l l l层第 i i i个神经元的输出, w i j l w_{ij}^l wijl为第 l l l层第 i i i个神经元与第 l − 1 l-1 l1层第 j j j个神经元之间的权重, b i l b_i^l bil为对应的偏置。

6. 深度学习的发展历程

6.1 早期阶段

  • 1957年,Frank Rosenblatt提出了感知机模型,开启了神经网络研究的先河。
  • 1969年,Marvin Minsky和Seymour Papert指出了感知机模型的局限性,导致了神经网络的第一次寒冬。

6.2 重新复兴

  • 1986年,Rumelhart等人提出了反向传播算法,为神经网络的训练提供了有效方法。
  • 1998年,Yann LeCun等人提出了LeNet模型,成功应用于手写数字识别任务。

6.3 深度学习的兴起

  • 2012年,Alex Krizhevsky等人提出了AlexNet模型,在ImageNet竞赛上取得了突破性的成果。
  • 2014年,VGGNet、GoogLeNet等模型相继提出,推动了深度学习技术的发展。
  • 2015年- 2015年,ResNet模型由Microsoft Research提出,通过引入残差连接解决了深度神经网络训练过程中的梯度消失和梯度爆炸问题,进一步加深了网络的深度。
  • 同年,Generative Adversarial Networks(生成对抗网络,GAN)由Ian Goodfellow等人提出,引入了生成器和判别器的对抗训练机制,可以生成逼真的图像,开辟了深度学习在生成模型领域的新方向。
  • 2016年,AlphaGo击败了世界围棋冠军李世石,这一事件引发了对深度学习在人工智能领域的广泛关注和探讨,深度学习成为热门话题。
  • 2017年,Attention Mechanism(注意力机制)被引入神经网络,提高了模型对长距离依赖关系的建模能力,大大提升了机器翻译和自然语言处理任务的效果。
  • 2018年,BERT模型(Bidirectional Encoder Representations from Transformers)由Google提出,通过双向Transformer模型预训练,取得了在多项自然语言处理任务上的state-of-the-art结果,引领了自然语言处理领域的新潮流。
  • 2019年至今,深度学习技术在语音识别、图像识别、自然语言处理、医学影像分析等领域持续发展,并不断推动人工智能技术的创新与应用。

结论

深度学习的发展历史经历了从感知机到深度神经网络的演进过程,经历了几次寒冬与复兴,直至现今成为人工智能领域最炙手可热的技术之一。关键技术包括感知机、多层感知机、梯度下降算法、反向传播算法等,这些技术的不断发展推动了深度学习领域的进步。在未来,随着计算机算力的增强、数据规模的扩大以及算法的不断优化,深度学习技术将会在更多领域展现出强大的应用潜力,为人类社会带来更多的便利与进步。

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

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

相关文章

蓝桥杯嵌入式总结

用到外部时钟:UART,ADC,RTC 用到中断:UART,TIM LED_KEY: 将高低电平写入对应引脚 HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET); 读取对应引脚的电平状态 HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0) UART: 发送: int fputc(int …

P1331 海战 (深搜)

题目背景 在峰会期间,武装部队得处于高度戒备。警察将监视每一条大街,军队将保卫建筑物,领空将布满了 F-2003 飞机。 此外,巡洋船只和舰队将被派去保护海岸线。不幸的是,因为种种原因,国防海军部仅有很少的…

设置Chrome打开链接在新标签页显示

Chrome版本 版本 123.0.6312.106(正式版本) (64 位) 下面这两个页面都有设置按钮: https://www.google.com/?pli1或者https://www.google.com/?hlzh-CN 要先退出账号,要不然看不到右下角的 “设置” 。…

TCP/IP协议、HTTP协议和FTP协议等网络协议包简介

文章目录 一、常见的网络协议二、TCP/IP协议1、TCP/IP协议模型被划分为四个层次2、TCP/IP五层模型3、TCP/IP七层模型 三、FTP网络协议四、Http网络协议1、Http网络协议简介2、Http网络协议的内容3、HTTP请求协议包组成4、HTTP响应协议包组成 一、常见的网络协议 常见的网络协议…

内部类(InnerClass) 总结

类的成员之五:内部类1. 什么是内部类? 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类(InnerClass),类B则称为外部类(OuterClass)。 内部只供外部类使用 2. 为什么需要内部…

富格林:正规思路实现得益出金

富格林悉知,随着金融市场的不断发展,黄金作为一种正规投资品种被越来越多投资者认识,在黄金投资市场中,有各种各样复杂的信息,投资者要懂得明辨是非,树立正规做单思路避免受害亏损。以下也为大家总结几点正…

STM32为什么不能跑Linux?

STM32是一系列基于ARM Cortex-M微控制器的产品,它们主要用于嵌入式系统中。而Linux则是一个开源的类Unix操作系统,主要面向的是桌面电脑、服务器等资源丰富的计算机。虽然理论上可以将Linux移植到STM32上运行,但是由于两者之间存在着很多技术…

vivado 配置存储器器件编程2

为双 QSPI (x8) 器件创建配置存储器文件 您可使用 write_cfgmem Tcl 命令来为双 QSPI (x8) 器件生成 .mcs 镜像。此命令会将配置数据自动拆分为 2 个独立 的 .mcs 文件。 注释 : 为 SPIx8 生成 .mcs 时指定的大小即为这 2 个四通道闪存器件的总大小。…

QA测试开发工程师面试题满分问答5: 内存溢出和内存泄漏问题

概念阐述 内存溢出(Memory Overflow)和内存泄漏(Memory Leak)是与计算机程序中的内存管理相关的问题,它们描述了不同的情况。 内存溢出是指程序在申请内存时,要求的内存超出了系统所能提供的可用内存资源…

SSM框架学习——Eclipse创建Spring MVC maven项目

Spring MVC项目创建 什么是Spring MVC Spring MVC是Spring内置的,实现了Web MVC设计模式的框架。 它解决了Web开发过程中很多的问题,例如参数接收、表单验证等。另外它采用松散耦合可插拔组件等结构,具有相对较高的灵活性和扩展性。 Spri…

vue创建项目下载动态路由v-for mounted websocket :style :class store使用说明

在Vue中创建一个项目,并整合动态路由、v-for、mounted生命周期钩子、WebSocket、:style、:class以及Vuex的store,涉及到多个Vue核心特性的使用。下面我将简要说明如何逐步整合这些特性。 1. 创建Vue项目 使用Vue CLI创建项目: 2. 配置动态路…

html怎么实现axios发请求,并且实现跨域

方案是代理服务器 前端处理 一、下包 save是开发环境的意思 可以单独弄个server文件夹或者其他也行 npm install express --savenpm install http-proxy-middleware --save二、准备proxy-server.js文件 const express = require(express) const {createProxyMiddleware } = r…

C++ 类(初篇)

类的引入 C语言中,结构体中只能定义变量,在C中,结构体内不仅可以定义变量,也可以定义函数。 而为了区分C和C我们将结构体重新命名成class去定义 类的定义 标准格式: class className {// 类体:由成员函…

【计算机网络】epoll

IO多路转接 - epoll 一、I/O多路转接之 epoll1. epoll 接口(1)epoll_create()(2)epoll_wait()(3)epoll_ctl() 2. epoll 原理3. epoll 的优点4. epoll 的使用5. epoll 的工作模式(1)水…

实验四 Java图形界面与事件处理(头歌)

实验四 Java图形界面与事件处理(头歌) 制作不易!点个关注!给大家带来更多的价值! 目录 实验四 Java图形界面与事件处理(头歌) 制作不易!点个关注!给大家带来更多的价值!代码如下: 代码如下&…

platformio创建项目卡死问题(ctl解决)

vscode上安装完platformio后,创建一个新项目,始终在转圈,查阅官网文档后发现可以使用ctl在终端中创建项目,本文方案的前提是终端走了代理。 根据官网命令安装ctl: curl -fsSL -o get-platformio.py https://raw.gith…

case语句

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 CASE 语句的执行方式与 IF...THEN...ELSIF 语句的执行方式类似,但是它是通过一个表达式的值来决定执行哪个分支 CASE 选择器表达式 WHEN 条件 1 THEN 语句序列 …

2024.03.23校招 实习 内推 面经

绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、校招 | 元戎启行 2024春招(内推) 校招 | 元戎启行 2024春招(内推) 2、校招 | 博雅工道机器人 2024春季校园招聘开始了! 校招…

内网穿透实践

一、使用介绍 由于绝大部份人的网络都是处在内网之中,这导致你在本地电脑上写的一些web服务器(又或者其它网络相关的功能),都是无法将链接发给别人使用查看的。 并且由于大部分人采用的方案也都是在本地进行测试开发&#xff0c…

dotnet依赖注入与IOC(包含Autofac的使用)

文章目录 依赖注入与IOCIOC依赖注入DIAutofac轻量容器的使用 依赖注入与IOC IOC IOC 是 Inversion of Control(控制反转)的缩写。在软件开发中,IOC 是一种设计模式,它改变了传统的程序设计流程,使得对象之间的依赖关系…