【深度学习基础(1)】什么是深度学习,深度学习与机器学习的区别、深度学习基本原理,深度学习的进展和未来

news2025/4/7 13:00:56

文章目录

    • 一. 深度学习概念
    • 二. 深度学习与机器学习的区别
    • 三. 理解深度学习的工作原理
      • 1. 每层的转换进行权重参数化
      • 2. 怎么衡量神经网络的质量
      • 3. 怎么减小损失值
    • 四. 深度学习已取得的进展
    • 五. 人工智能的未来 - 不要太过焦虑跟不上

一. 深度学习概念

先放一张图来理解下人工智能、机器学习、神经网络和深度学习之间的关系。

在这里插入图片描述

 

深度学习是机器学习的一个分支领域:它从数据中学习表示,强调从连续的层中学习,这些层对应于越来越有意义的表示。

 

1.深度的概念

  • 深度学习之“深度”并不是说这种方法能够获取更深层次的理解,而是指一系列连续的表示层。数据模型所包含的层数被称为该模型的深度(depth)。
  • 现代深度学习模型通常包含数十个甚至上百个连续的表示层,它们都是从训练数据中自动学习(how)而来的。

 

2.分层表示是通过什么模型学习得到的

在深度学习中,这些分层表示是通过叫作神经网络(neural network)的模型学习得到的。神经网络的结构是逐层堆叠。

浅层学习
与之相对,其他机器学习方法的重点通常是仅学习一两层的数据表示(例如获取像素直方图,然后应用分类规则),因此有时也被称为浅层学习(shallow learning)。

 

3.深度学习网络和大脑模型有关吗?

“神经网络”这一术语来自于神经生物学,然而,虽然深度学习的一些核心概念是从人们对大脑(特别是视觉皮层)的理解中汲取部分灵感而形成的,但深度学习模型并不是大脑模型。没有证据表明大脑的学习机制与现代深度学习模型的学习机制相同。你最好也忘掉读过的深度学习与生物学之间的假想联系。就我们的目的而言,深度学习是从数据中学习表示的一种数学框架。

 

4.深度学习算法学到的数据表示是什么样的?

我们来看一个深度神经网络如何对数字图像进行变换,以便识别图像中的数字,如图所示。
![[Pasted image 20240430205224.png]]

信息穿过过滤器不断提纯数据

这个神经网络将数字图像变换为与原始图像差别越来越大的表示,而其中关于最终结果的信息越来越丰富。你可以将深度神经网络看作多级信息蒸馏(information distillation)过程:信息穿过连续的过滤器,其纯度越来越高(对任务的帮助越来越大)。

![[Pasted image 20240430210018.png]]
 

5.这就是深度学习的技术定义:一种多层的学习数据表示的方法。

这个想法很简单,但事实证明,如果具有足够大的规模,那么非常简单的机制将产生魔法般的效果。

 

二. 深度学习与机器学习的区别

深度学习是机器学习的一种特殊形式,两者的区别在于其所处理的数据类型和学习方法。

经典的机器学习算法需要人工干预,先对数据集进行预处理,然后再将其导入模型。这意味着人要在模型的输入数据中定义和标记特定特征,并组织到表格中,然后再将其导入机器学习模型。相反,深度学习算法不需要这种级别的预处理,并且能够理解非结构化数据,例如文本文档、像素数据图像或音频数据文件
在这里插入图片描述

在有大量数据,却缺乏相关主题的背景知识或手头有复杂耗时的任务的情况下,深度学习可能优于经典机器学习。

 

三. 理解深度学习的工作原理

1. 每层的转换进行权重参数化

在神经网络中,每层对输入数据所做的具体操作保存在该层的权重(weight)中,权重实质上就是一串数字。用术语来讲,每层实现的变换由其权重来参数化(parameterize),如图。权重有时也被称为该层的参数(parameter)。在这种语境下,学习的意思就是为神经网络的所有层找到一组权重值,使得该神经网络能够将每个示例的输入与其目标正确地一一对应。

在这里插入图片描述

但问题来了:一个深度神经网络可能包含上千万个参数,找到所有参数的正确取值似乎是一项非常艰巨的任务,特别是考虑到修改一个参数值将影响其他所有参数的行为。

 

2. 怎么衡量神经网络的质量

  • 若要控制某个事物,首先需要能够观察它。若要控制神经网络的输出,需要能够衡量该输出与预期结果之间的距离。这是神经网络损失函数(lossfunction)的任务,该函数有时也被称为目标函数(objective function)或代价函数(cost function)。
  • 损失函数的输入是神经网络的预测值与真实目标值(你希望神经网络输出的结果),它的输出是一个距离值,反映该神经 网络在这个示例上的效果好坏,如图。

![[Pasted image 20240430211717.png]]

 

3. 怎么减小损失值

深度学习的基本技巧是将损失值作为反馈信号,来对权重值进行微调,以降低当前示例对应的损失值,如图。这种调节是优化器(optimizer)的任务,它实现了所谓的反向传播(backpropagation)算法,这是深度学习的核心算法。

![[Pasted image 20240430212311.png]]

训练循环:使损失函数最小化

由于一开始对神经网络的权重进行随机赋值,因此神经网络仅实现了一系列随机变换,其输出值自然与理想结果相去甚远,相应地,损失值也很大。但是,神经网络每处理一个示例,权重值都会向着正确的方向微调,损失值也相应减小。这就是训练循环(training loop),将这种循环重复足够多的次数(通常是对数千个示例进行数十次迭代),得到的权重值可以使损失函数最小化。具有最小损失值的神经网络,其输出值与目标值尽可能地接近,这就是一个训练好的神经网络。

再次强调,一旦具有足够大的规模,这个简单的机制将产生魔法般的效果。

 

四. 深度学习已取得的进展

深度学习已经实现了以下突破,它们都是机器学习历史上非常困难的领域:

  • 接近人类水平的图像分类
  • 接近人类水平的语音识别
  • 接近人类水平的手写文字识别
  • 大幅改进的机器翻译
  • 大幅改进的文本到语音转换数字助理,比如谷歌助理(Google Assistant)和亚马逊Alexa
  • 接近人类水平的自动驾驶
  • 更好的广告定向投放,谷歌、百度、必应都在使用
  • 更好的互联网搜索结果
  • 能够回答用自然语言提出的问题
  • 在下围棋时战胜人类

我们已成功将深度学习应用于许多问题,而这些问题在几年前还被认为是无法解决的。这些问题包括自动识别档案馆保存的上万份古代手稿,使用简单的智能手机在田间检测植物病害并对其进行分类,协助肿瘤医师或放射科医生解读医学影像数据,预测洪水、飓风甚至地震等自然灾害,等等。
 

all in 深度学习

随着每一个里程碑的出现,我们越来越接近这样一个时代:深度学习在人类从事的每一项活动和每一个领域中都能为我们提供帮助,包括科学、医学、制造业、能源、交通、软件开发、农业,甚至是艺术创作。

 

五. 人工智能的未来 - 不要太过焦虑跟不上

虽然我们对人工智能的短期期望可能不切实际,但长期来看,前景是光明的。我们才刚刚开始将深度学习应用于许多重要的问题,从医疗诊断到数字助理。在这些问题上,深度学习都具有变革性的意义。

 

在过去十年里,人工智能研究一直在以惊人的速度向前发展,这在很大程度上是由于人工智能短暂历史中前所未见的资金投入,但到目前为止,这些进展很少能够转化为改变世界的产品和流程
 

深度学习的大多数研究成果尚未得到应用,至少尚未应用到它在各行各业中能够解决的所有问题上。医生和会计师都还没有使用人工智能,你在日常生活中可能也并不经常使用人工智能技术。

当然,你可以向智能手机提出一些简单的问题并得到合理的回答,也可以在亚马逊网站上得到相当有用的产品推荐,还可以在谷歌相册中搜索“生日”并立刻找到你女儿上个月生日聚会的照片。这些技术已经比过去进步很多了,但类似的工具仍然只是日常生活的陪衬。人工智能尚未转变为我们工作、思考和生活的核心。

 

参考:
《Python深度学习(第二版)》–弗朗索瓦·肖莱
https://www.redhat.com/zh/topics/digital-transformation/what-is-deep-learning

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

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

相关文章

不同路径 1 2

class Solution {public int uniquePaths(int m, int n) {int[][] dpnew int[m][n];//记录到每个格子有多少种路径for(int i0;i<m;i) dp[i][0]1;for(int j0;j<n;j) dp[0][j]1;//初始化for(int i1;i<m;i){for(int j1;j<n;j){dp[i][j]dp[i-1][j]dp[i][j-1];}}return …

【IR 论文】HyDE:让 LLM 对 query 做查询改写来改进 Dense Retrieval

论文&#xff1a;Precise Zero-Shot Dense Retrieval without Relevance Labels ⭐⭐⭐⭐ CMU, ACL 2023, arXiv:2212.10496 Code: github.com/texttron/hyde 文章目录 论文速读总结 论文速读 在以往的 dense retrieval 思路中&#xff0c;需要对 input query 做 encode 来得到…

Spring6 当中 Bean 的生命周期的详细解析:有五步,有七步,有十步

1. Spring6 当中 Bean 的生命周期的详细解析&#xff1a;有五步&#xff0c;有七步&#xff0c;有十步 文章目录 1. Spring6 当中 Bean 的生命周期的详细解析&#xff1a;有五步&#xff0c;有七步&#xff0c;有十步每博一文案1.1 什么是 Bean 的生命周期1.2 Bean 的生命周期 …

Halcon 检测物体定位点

文章目录 get_domain 返回所有输入图像的定义域作为一个区域add_channels 给区域增加灰度值find_shape_model 发现匹配模板find_shape_models 发现最佳模板示例 get_domain 返回所有输入图像的定义域作为一个区域 Halcon 中的区域 get_domain(Image : Domain : : ) Image : …

【JavaWeb Day 2 - JS 】

JavaWeb Day 2 - JS JS背景故事1. JS 引入方式2. JS 基本语法2.2 变量2.3 数据类型2.4 运算符 3. JS 函数4. JS 对象4.1 Array对象4.2 String对象4.3 JSON对象4.4 BOM对象4.4.1 windows 对象4.4.2 location 对象 4.5 DOM 对象DOM 案例 5. JS 事件监听5.1 JS 事件绑定 及 常见事…

Docker--compose概述与部署

目录 一、概述 1. Compose简介 1.1 docker compose常用命令 1.2 Compose配置常用字段 2. YAML简介 2.1 YAML支持的数据结构 2.2 YML文件编写注意事项 2.3 Docker Compose文件结构 3. Docker-Compose安装 ​编辑 4.docker Compose撰写nginx 镜像 1. 准备环境 ​编辑…

TinyMaix在x210开发板上的移植

目录 说明 环境准备 编译代码 源程序下载 修改tm_port.文件 修改CMake文件 测试程序运行 说明 我们教学中使用的x210开发板使用S5PV210这款CPU&#xff0c;它是根据三星的smdkv210开发板进行裁剪设计的&#xff0c;这个开发板非常的老了&#xff0c;不过在有经费购买新…

如何进行面向对象分析、面向对象设计和面向对象编程

目录 1.引言 2.案例介绍和难点剖析 3.如何进行面向对象分析 4.如何进行面向对象设计 5.如何进行面向对象编程 6.总结 1.引言 面向对象分析(OOA)、面向对象设计(00D)和面向对象编程(OOP)是面向对象开发的3个主要环节。 在以往的工作中&#xff0c;作者发现&#xff0c;很多…

one command each day on Linux

url address 1.12) grep Linux下面查找文本命令grep, 类似于Window编辑器的ctrlF查找我们想要的内容, PS:对比learning skill 看一下它的基础用法,准备一个目录文件和文本文件, 打印出这个单词,或者包含有这个字母的所有字符串 [rootiZ2vc5lqzt23aweti4j777Z ~]# grep hel…

【JAVA】part5-Java集合

Java 集合 Java集合概述 Java数组的局限性 数组初始化后大小不可变&#xff1b;数组只能按索引顺序存取。 Java的java.util包主要提供了以下三种类型的集合&#xff1a; List&#xff1a;一种有序列表的集合&#xff0c;例如&#xff0c;按索引排列的Student的List&#xff1b…

我们到底需要什么样的 BTC 一层协议?

在之前的一篇文章里 -- 《Runes 协议上线五天&#xff0c;大家在 FUD 什么&#xff1f;》&#xff0c;我简单分析了大家对 Runes 协议 FUD 的底层原因&#xff1a;目前的一层协议只是支持了毫无新鲜叙事的资产滥发&#xff0c;并没有实现让资产流动起来的更大价值。也正因为除了…

Vue阶段练习:初始化渲染、获取焦点

阶段练习主要承接Vue 生命周期-CSDN博客 &#xff0c;学习完该部分内容后&#xff0c;进行自我检测&#xff0c;每个练习主要分为效果显示、需求分析、静态代码、完整代码、总结 四个部分&#xff0c;效果显示和准备代码已给出&#xff0c;我们需要完成“完整代码”部分。 练习…

C#调用skiasharp操作并绘制图片

之前学习ViewFaceCore时采用Panel控件和GDI将图片及识别出的人脸方框和关键点绘制出来&#xff0c;本文将其修改为基于SKControl和SKCanvas实现相同的显示效果并支持保存为本地图片。   新建Winform项目&#xff0c;在Nuget包管理器中搜索并安装一下SkiaSharp和ViewFaceCore…

Ubuntu安装Neo4j

Ubuntu&#xff08;在线版&#xff09; 更新软件源 sudo apt-get update 添加Neo4j官方存储库 wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - 将地址添加到系统的软件包源列表中 echo deb https://debian.neo4j.com stable latest | su…

.NET操作 Access (MSAccess)

注意&#xff1a;新项目推荐 Sqlite &#xff0c;Access需要注意的东西太多了&#xff0c;比如OFFICE版本&#xff0c;是X86还是X64 连接字符串 ProviderMicrosoft.ACE.OleDB.15.0;Data Source"GetCurrentProjectPath"\\test.accdb//不同的office版本 连接字符串有…

Mellanox网卡打流命令ib_write_bw执行遇到Couldn‘t listen to port 18515原因与解决办法?

要点 要点&#xff1a; ib默认使用18515命令 相关命令&#xff1a; netstat -tuln | grep 18515 ib_write_bw --help |grep port# server ib_write_bw --ib-devmlx5_1 --port 88990 # client ib_write_bw --ib-devmlx5_0 1.1.1.1 --port88990现象&#xff1a; 根因&#xf…

Spring Boot的热部署工具“AND”Swagger测试工具

Spring Boot的热部署&Swagger测试页面的使用 热部署指的是在项目无需重启的情况下&#xff0c;只需要刷新页面&#xff0c;即可获得已经修改的样式或功能。要注意该工具一般用于开发环境&#xff0c;在生产环境中最好不要添加这个工具。 对于无需重启便可刷新这么方便的工…

JAVA面试题分享---多线程与线程池

多线程 什么是线程?线程和进程的区别?&#xff08;了解&#xff09; 线程&#xff1a;是进程的一个实体&#xff0c;是 cpu 调度和分派的基本单位&#xff0c;是比进程更小的 可以独立运行的基本单位。 进程&#xff1a;具有一定独立功能的程序关于某个数据集合上的一次运…

edge 入门基础了解使用

随着Windows 11的发布&#xff0c;Microsoft Edge也迎来了新的更新和改进。作为一名长期使用Edge的用户&#xff0c;我不仅注意到了这些表面的变化&#xff0c;还深入研究了Edge在Windows 11上的新特性和潜在优势。 快捷方式 查找框 在Microsoft Edge浏览器中&#xff0c;按…

经典网络解读——EfficientnetV2

论文&#xff1a;EfficientNetV2: Smaller Models and Faster Training&#xff08;2021.4&#xff09; 作者&#xff1a;Mingxing Tan, Quoc V. Le 链接&#xff1a;https://arxiv.org/abs/2104.00298 代码&#xff1a;https://github.com/google/automl/tree/master/efficien…