深度学习及其基本原理

  • 深度学习的 Ups and Downs
  • 概念区分
  • 神经网络的构成
  • 深度学习基本原理
  • 深度学习的普遍近似定理
  • 扩展:反卷积网络——可视化每一层提取的特征

深度学习的 Ups and Downs

  • 1958:感知机(线性模型)
  • 1969:感知机有局限性
  • 1980s:多层感知机
    和今天的深度神经网络没有显著区别
  • 1986:反向传播
    通常超过 3 层的隐藏层没有帮助
  • 1989:1 层隐藏层就“足够好”,为什么要深层?
  • 2006:RBM 初始化
  • 2009:GPU
  • 2011:开始在语音识别领域流行
  • 2012:赢得 ILSVRC 图像竞赛
  • 2015.2:图像识别超越人类水平
  • 2016.3:Alpha GO 击败李世石
  • 2016.10:语音识别系统达到人类水平

概念区分

深度学习属于机器学习,深度学习 本质上是一个三层或更多层的神经网络。这些神经网络试图模拟人脑(尽管远未达到其功能),支持从大量数据中进行"学习"。

神经网络是一种模仿生物神经系统的计算模型,它由多个神经元组成,每个神经元都可以接收、处理和传递信息。它模仿人脑的机制来解释数据,例如图像,声音和文本。神经网络可以有不同的结构和类型,例如 卷积神经网络、循环神经网络、生成对抗网络等。

深度学习是利用深层的神经网络来实现机器学习的目标,例如图像识别、自然语言处理、语音识别等。将模型处理得更为复杂,从而使模型对数据的理解更加深入。

神经网络的构成

典型的神经网络如下图所示:

在这里插入图片描述

可以看到,典型的神经网络由

  • 输入层
  • 中间层/隐层
  • 输出层

共三层所构成。

  • 神经元:表示输入、中间数值、输出数值点。例如:在图中的一个个小圆圈,分别表示不同的神经元。
  • 权重:神经元传导时,要乘以一个系数,这个系数叫做权重值。例如:从上图中输入层的神经元要传导到隐层的神经元,输入层的神经元要乘以一个系数后到达隐层,即:隐层=输入层*权重

在这里插入图片描述

深度学习基本原理

深度学习,是通过 一层又一层的隐层 实现了复杂的功能。

以图像识别为例,假设我们要识别一幅图像内的 语义信息。实现起来,具体为:

  • 第 1 层:提取图像的 最基础的底层特征,包括 纹理、边缘、色彩等
  • 第 2 层:将第 1 层的特征排列组合,并找到有用的组合信息。此时会找到 曲线、轮廓等特征
  • 第 3 层:对第 2 层的特征排列组合,并找到有用的组合信息。此时,会找到 高级特征,例如 眼睛、鼻子、嘴等等
  • 第 4 层:对第 3 层的特征进行排列组合,并找到有用的组合信息。此时,会找到有用的 语义信息,例如 打电话、奔跑等语义信息

该过程的简单示意如下图所示:

在这里插入图片描述

所以,深度学习的处理逻辑 就是:首先提取低级特征,然后对低级特征不断地在更高的级别上进行排列组合,并寻找组合后的有用信息。

深度学习的普遍近似定理

深度学习的普遍近似定理(Universal Approximation Theorem)表明,具有足够参数的深度神经网络(即深度学习模型)在理论上能够以任意精度逼近(拟合)任何连续函数

这个定理的内容并非深度学习可以逼近任何函数,而是对于任何 连续函数,存在一个深度神经网络可以以足够精度近似它。

  • 可以把深度学习看作是一种 函数的组合,每一层都是一个函数,它的输入是上一层的输出,它的输出是下一层的输入。
  • 每一层的函数都有一些参数,比如权重(weight)和偏置(bias),它们可以通过训练来调整,使得整个网络的输出更接近目标函数的值。
  • 每一层的函数还有一个特殊的成分,叫做 激活函数(activation function),它是一个非线性的函数,比如 sigmoid、tanh、ReLU 等,它的作用是 给网络增加非线性的能力,使得网络可以拟合更复杂的函数。
  • 如果没有激活函数,那么无论网络有多少层,它都只能拟合线性的函数,因为线性函数的组合还是线性函数。
  • 有了激活函数,网络就可以拟合非线性的函数,而且层数越多,拟合的能力越强,因为网络可以提取更高层次的特征,更好地适应数据的分布。

具体来说,Universal Approximation Theorem 的形式有点技术性,但大致的理解是:

在足够深、足够宽(指神经网络中有足够多的神经元)的情况下,深度神经网络具有足够的表达能力,可以逼近连续函数的任何形状。

这是 因为深度神经网络的层次结构允许它学习复杂的特征和表示

扩展:反卷积网络——可视化每一层提取的特征

论文《Visualizing and Understanding Convolutional Networks》提供了一种有效的方法,来 可视化和理解卷积网络的内部工作机制,从而帮助我们设计和改进网络模型。

其中介绍的一种用于可视化和理解卷积网络的技术,叫做 反卷积网络(Deconvnet)。反卷积网络是一种与卷积网络相反的结构,它可以 将卷积网络的中间层的特征图映射回像素空间从而展示出每一层所提取的特征和激活的模式

通过反卷积网络,我们可以观察到 卷积网络的每一层都学习到了什么有用的知识,例如:

  • 第一层:学习到了一些 简单的边缘和颜色 的检测器,类似于 传统的滤波器
  • 第二层:学习到了一些 由边缘和颜色组成的更复杂的形状和纹理 的检测器,例如 圆角、条纹、斑点等
  • 第三层:学习到了一些 由形状和纹理组成的更高级的特征 的检测器,例如 眼睛、鼻子、轮胎等
  • 第四层:学习到了一些 由高级特征组成的更具体的物体 的检测器,例如 狗、猫、人脸等
  • 第五层:学习到了一些 由具体物体组成的更抽象的类别 的检测器,例如 动物、汽车、飞机等

在这里插入图片描述

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

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

相关文章

SpringCloud-高级篇(五)

一:分布式事务理论基础 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 一致性(Consistency) 事务前后数据的完整性必须保持一致。 隔离性&…

【九章斩题录】Leetcode:面试题 01.03. URL化(C/C++)

精品题解 🔥 《九章斩题录》 👈 猛戳订阅 面试题 01.03. URL化 📚 题目:URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。…

【JDK21】详解虚拟线程

目录 1.概述 2.虚拟线程是为了解决哪些问题 2.1.线程切换的巨大代价 2.2.哪些情况会造成线程的切换 2.3.线程资源是有限的 3.虚拟线程 4.适用场景 1.概述 你发任你发,我用JAVA8?JDK21可能要对这句话say no了。 现在Oracle JDK是每4个版本&#x…

最新版小权云黑系统 骗子添加查询源码

小权云黑系统添加骗子,查询骗子,可添加团队后台方便审核用,在线反馈留言系统,前台提交骗子,后台需要审核才能过,后台使用光年UI界面,新增导航列表,可给网站添加导航友链,…

qt国际化多语言

vs + qt 方法 一 (1)生成.pro文件 如果报错: cannot find any qt projects to export 则执行如下: 然后重新生成 pro文件。 (2)生成ts文件 (方法1)在项目文件(xxx.pro) 文件添加: TRANSLATIONS += en.ts zh_CN.ts 然后打开cmd命令,进入项目目录,执行 l…

Spring中的循环依赖问题

目录 1、什么是Spring的循环依赖? 2、如何避免循环依赖问题? 3、Spring的三级缓存 小结 1、什么是Spring的循环依赖? Spring框架中的循环依赖问题是指两个或多个bean之间相互依赖,形成闭环,导致无法完成实例化的问…

【力扣】907.子数组的最小值之和

【力扣】907.子数组的最小值之和 文章目录 【力扣】907.子数组的最小值之和1. 题目介绍2. 解法2.1 方法一:单调栈2.2 方法二:动态规划 3. Danger参考 1. 题目介绍 给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr …

ubuntu虚拟机设置跳不出来

前几天在使用ubuntu虚拟机的时候不知道哪一步出错了,导致右上角的设置按钮失效了,怎么点设置界面都出不来。 上网查阅后,有人说是显示器的原因,但是我点设置再点左上角activity并没有显示有设置窗口。 最后找到了解决办法&#xf…

【刷题笔记】分糖果||数组||暴力通过||符合思维方式||多案例分析

分发糖果 文章目录 分发糖果1 题目描述2 题目分析2.1 寻找波峰波谷2.2 从波底往波峰攀爬!2.2 计算糖果 3 代码附录1 1 题目描述 https://leetcode.cn/problems/candy/ n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&…

Unity性能优化技巧篇

资源导入优化 随着项目越来越大,资源越来越多,有一套资源导入自动化设置很有必要,它不但可以减少你的工作量,也能更好的统一管理资源,保证资源的导入设置最优,还不会出错。 AssetPostprocessor 在Unity中…

Mo0n(月亮) MCGS触摸屏在野0day利用,强制卡死锁屏

项目:https://github.com/MartinxMax/Mo0n 后面还会不会在,我可就不知道了奥…还不收藏点赞关注 扫描存在漏洞的设备 #python3 Mo0n.py -scan 192.168.0.0/24 入侵锁屏 #python3 Mo0n.py -rhost 192.168.0.102 -lock 解锁 #python3 Mo0n.py -rhost 192.168.0.102 -unlock …

【Spring Boot】Swagger的常用注解

在Swagger的开发过程中,我们需要在Controller代码等处添加相应的注解,以便可以提高生成的接口文档的可读性为了解决这些问题,Swagger提供了很多的注解,通过这些注解,我们可以更好更清晰的描述我们的接口,包…

相机内存卡照片删除怎么恢复?没有备份可这样操作

在使用相机时,不小心删除了重要的照片可能是每位摄影爱好者的噩梦。然而,通过一些恢复方法,我们有机会挽救被删除的照片。本文将详细介绍相机内存卡照片删除恢复的方法。 图片来源于网络,如有侵权请告知 如果您误删了相机内存卡中…

项目实战——苍穹外卖(DAY10)

如果之前有改过端口号造成WebSocket无法连接的,可以看本篇文章“来单提醒”前的内容进行解决。 课程内容 Spring Task 订单状态定时处理 WebSocket 来单提醒 客户催单 功能实现:订单状态定时处理、来单提醒和客户催单 订单状态定时处理&#xff1a…

242. 有效的字母异位词

这篇文章会收录到 :算法通关村第十二关-白银挑战字符串经典题目-CSDN博客 242. 有效的字母异位词 描述 : 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t …

11【保姆级】-GO语言的struct

11【保姆级】-GO语言的struct 一、Go的面向对象1.1 说明 二、结构体2.1 结构体和结构体变量(实例)的区别和联系2.2 声明结构体 和 细节说明2.3 结构体在内存中的布局2.4 创建结构体和访问结构体的四种方式 在学习GO语言时: 先建立整体框架,然后再去抠细节…

C语言错误处理之sterror和perror函数以及断言处理方式

目录 前言 sterror函数 perror函数 断言处理方式 前言 在错误处理一中,我们解释了C语言三种处理方式中的错误号处理方式,这一篇我们在基于上一篇的基础上加入了sterror函数与perror函数,以及断言处理方式的内容...... sterror函数 包含…

fastsocket提升nginx CPS性能分析

fastsocket是针对单机网络性能优化,提升单机的cps。 提升现在单机7LB服务的性能,预计cps的性能提升一倍。 内核对nginx的性能瓶颈损耗主要在内核的三把锁。 1. accpet的全局队列的sk_lock锁 2. new_inode中的全局inode_lock锁 3. sock_alloc_file中的…

【每日一题】子数组的最小值之和

文章目录 Tag题目来源题目解读解题思路方法一:贡献法单调栈 写在最后 Tag 【贡献法】【单调栈】【数组】【2023-11-27】 题目来源 907. 子数组的最小值之和 题目解读 计算整数数组的连续子数组中最小值的和。 解题思路 本题朴素的解决思想是求出所有的连续子数组…

小航助学题库蓝桥杯题库stem选拔赛(21年1月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSDN博客 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)_程序猿下山的博客-CSD…