深度学习系统学习系列【1】之基本知识

文章目录

  • 说明
  • 基础知识
    • 人工智能、机器学习、深度学习的关系
    • 机器学习
    • 传统机器学习的缺陷
    • 选择深度学习的原因
    • 深度学习的关键问题
    • 深度学习的应用
    • 深度学习的加速硬件GPU
    • 环境搭建
    • 主流深度学习框架对比

说明

  • 文章属于个人学习笔记内容,仅供学习和交流。
  • 内容参考深度学习原理与实践》陈仲铭版和个人学习经历和收获而来。

基础知识

人工智能、机器学习、深度学习的关系

  • 人工智能的问题基本上分为6个方向:问题求解、知识推理、规划问题、不确定性推理、通信感知与行动、学习问题
  • 机器学习主要有 3 个方向:分类、回归、关联性分析
    在这里插入图片描述
  • 深度学习的定义是:具有两层以上的神经网络。

在这里插入图片描述

  • 深度神经网络其实是深度学习的基础,深度学习的应用和技术绝大部分都是基于深度神经网络框架。

  • 神经网络的特点:具有更多的神经元;具有更复杂的网络连接方式;拥有惊人的计算量;能够自动提取数据高维特征。

  • 深度网络主要是指具有深层的神经网络,包括:人工神经网络(ANN)、卷积神经网络(CNN)、循环神经网络(RNN)。

机器学习

  • 机器学习按照方法主要可以分为两大类:监督学习和无监督学习。其中监督学习主要由分类和回归等问题组成,深度学习则属于监督学习当中的一种;无监督学习主要由聚类和关联分析等问题组成。
  • 机器学习中的监督学习是指使用算法对有标注的数据进行解析,从数据中学习特定的结构模型,使用模型来对未知的新数据进行预测。通俗来说,监督学习就是通过对数据进行分析,找到数据的表达模型,然后套用该模型来做决策。
  • 监督学习的一般方法主要分为训练和预测阶段
    • 在训练阶段(对数据进行分析的阶段),根据原始的数据进行特征提取【特征工程】。得到特征后,使用决策树、随机森林等模型算法去分析数据之间的特征或者关系,最终得到关于输入数据的模型(Model)。
    • 在预测阶段,同样提取数据后,使用训练阶段获得的模型对特征向量进行预测,得到最终的标签(Labels)。
      在这里插入图片描述

  • 机器学习算法中不同的模型使用自己特定的规则去解释输入的数据,然后对新输入的数据进行预测和判断。例如决策树的模型,是构建一个树形结构,一个节点代表一种数据类型,一个叶子节点则代表一种类别;线性回归模型利用线性回归方程创建一组参数来表示输入的数据之间的关系;神经网络则有一组权重参数向量来代表节点之间的关系。

传统机器学习的缺陷

  • 在实际情况中,如果输入的数据受到影响导致特征数据变化,传统机器学习的算法的有效性就会降低,如当遇到雨雪天气时,马路一旁的标志牌变模糊,抑或标志牌被树木遮挡时,标志牌的特征也会改变。

选择深度学习的原因

  • 深度学习自动筛选数据,自动提取数据高维特征。选择深度学习,一方面它节省时间,降低工作量,提高工作效率;另一方面是深度学习的效果,在众多领域能够获得比人类预测的更好的效果:此外,深度学习还可以与大数据无缝结合,输入庞大的数据集进行大数据端到端的学习过程,这种大道至简的理念吸引着无数的研究者。
    在这里插入图片描述

深度学习的关键问题

  • 深度学习开发的关键问题:
  1. 深度网络模型需要输入的数据类型?
  2. 深度网络模型需要提取的数据内容?
  3. 深度网络模型的选择?
  4. 使用模型后预期的结果?

  1. 第一个问题,数据类型可以是图片、文挡、语音,根据具体的任务需求确定。
  2. 第二个问题,明确要从模型中提取数据体类型后,就可以更加清晰地定义网络模型的损失函数。
  3. 第三个问题,落实到神经网络的实现中,例如卷积神经网络 CNN 中大概用的网络层数,循环神经网络 RNN 中应该定义的循环层数和时间步等。
  4. 第四个问题,更加有利于把深度学习的算法与模型结合到工程项目当中,真正帮助我们解决实际问题。

深度学习的应用

  1. 图像处理:Mask R-CNN对图像进行目标检测和图形语义分割。
    在这里插入图片描述
  2. 高精度地图:通过使用深度学习的感知算法对激光雷达和摄像头采集到的路面信息进行融合,制作成高精度地图。
    在这里插入图片描述
  3. 机器人:深度学习技术的突破使得机器人的复杂感知变为可能。
  4. 医疗健康诊断:利用深度学习技术对细胞影像图进行分剖,检查病变细胞
    在这里插入图片描述

深度学习的加速硬件GPU

  • 三U之CPU、GPU、NPU

  • 硬件加速器是深度学习应用的核心要素,能够获得巨大的计算性能提升。

  • GPU 作为硬件加速器之一, 通过大量图形处理单元与 CPU协同工作,对深度学习、数据分析,以及大量计算的工程应用进行加速。

  • 统一计算设备架构(Compute Unified Device Architecture, CUDA)。随着 GPU 的发展, GPU 开始主要为显示图像做优化,在计算上超越通用的 CPU。 NVIDIA 推出 CUDA这一通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

  • GPU 是大规模并行架构,擅长处理并行任务。GPU 的并行架构非常合适深度学习需要高效的矩阵操作和大量的卷积操作。

  • GPU的特性:高宽带;高速缓存性能;并行单元多。

  • 用 GPU来进行深度学习,在 L 1 L1 L1高速缓存中和 G P U GPU GPU的寄存器上存储大量的数据,反复使用卷积操作和矩阵乘法操作,而不用担心运算应度慢的问题。 假设有一个 100 M B 100MB 100MB的矩阵,根据寄存器的数量和高速缓存的大小把该矩阵分解成多个如 3 × 3 3×3 3×3的小矩阵,然后以 10 − 80 T B / s 10-80TB/s 1080TB/s的速度与一个三通道的 3 × 3 3×3 3×3的小矩阵相乘完成一次卷积操作。

  • 对于深度学习的加速器GPU,初学者推荐使用 NVIDIA显卡。英伟达公司押注人工智能与深度学习,GPU资源充分。CUDA平台来说,其社区完善,很多开源解决方案为后续编程。

环境搭建

  • 人工智能学习环境配置

主流深度学习框架对比

  • 五大主流深度学习框架优缺点对比表
    五大主流深度学习框架优缺点对比表

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

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

相关文章

论文笔记-基于多层感知器(MLP)的多变量桥式起重机自适应安全制动与距离预测

《IET Cyber-Systems and Robotics》出版山东大学 Tenglong Zhang 和 Guoliang Liu 团队的研究成果,文章题为“Adaptive Safe Braking and Distance Prediction for Overhead Cranes With Multivariation Using MLP”。 摘要 桥式起重机的紧急制动及其制动距离预测是…

DeepSeek实战--各版本对比

1.对比 版本参数量优势劣势使用场景竞品DeepSeek-V36710亿(MoE架构,激活370亿)开源、高效推理(60 TPS)、低成本(API费用低)、中文处理能力突出(90%准确率多模态能力有限通用任务&am…

从0开始建立Github个人博客(hugoPaperMod)

从0开始建立Github个人博客(hugo&PaperMod) github提供给每个用户一个网址,用户可以建立自己的静态网站。 一、Hugo hugo是一个快速搭建网站的工具,由go语言编写。 1.安装hugo 到hugo的github标签页Tags gohugoio/hugo选择一个版本&#xff0c…

【AI论文】WebThinker:赋予大型推理模型深度研究能力

摘要:大型推理模型(LRMs),如OpenAI-o1和DeepSeek-R1,展示了令人印象深刻的长期推理能力。 然而,他们对静态内部知识的依赖限制了他们在复杂的知识密集型任务上的表现,并阻碍了他们生成需要综合各…

Linux_sudo命令的使用与机制

1、sudo命令的作用 sudo(全称 superuser do)是 Linux/Unix 系统中权限管理的核心工具。 允许普通用户在授权下以其他用户(默认是 root)的权限执行命令,而无需直接登录账户。 2、sudo命令的典型使用场景 sudo 覆盖了系…

Scrapy框架之 中间件的使用

爬虫中间件 特点:主要处理蜘蛛(Spider)和下载器(Downloader)之间的请求和响应。可以对蜘蛛生成的请求进行拦截、修改或过滤,也可以对下载器返回给蜘蛛的响应进行处理。适用场景: 请求过滤与修改…

供应链算法整理(一)--- 销量预估

在供应链管理领域有较多的预估场景,例如送达时长预估、销量预估、用电量预估。特别的在智能供应链领域,销量和库存的管理的智能化也依赖销量预估,因此在本文我们整理了 销量预估的算法详细的技术方案。 时间序列预测在最近两年内发生了巨大的…

第4篇:服务层抽象与复用逻辑

在业务系统复杂度指数级增长的今天,服务层(Service Layer)的合理设计直接影响着系统的可维护性和扩展性。本文将深入剖析 Egg.js 框架中的服务层架构设计,从基础实现到高级封装,全方位讲解企业级应用的开发实践。 一、…

Java学习手册:Spring 数据访问

一、Spring JDBC JdbcTemplate :Spring JDBC 提供了 JdbcTemplate 类,它简化了数据库操作,提供了丰富的 API 来执行数据库访问任务。JdbcTemplate 可以自动处理数据库连接的获取、释放,SQL 语句的执行,结果集的处理等…

递归、搜索和回溯算法《递归》

在之前的优选算法当中我们已经学习了一些基本的算法,那么接下来我们就要来学习算法当中的一大重要章节——递归、搜索和回溯算法,其实也就是大家常常听到的dfs、bfs;其实本质就是递归,在学习搜索、回溯等算法的过程当中我们会先来…

Java进阶--设计模式

设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样&#xff0…

如何禁止AutoCAD这类软件联网

推荐二、三方法,对其他软件影响最小 一、修改Hosts文件 Hosts文件是一个存储域名与IP地址映射关系的文本文件,通过修改Hosts文件可以将AutoCAD的域名指向本地回环地址(127.0.0.1),从而实现禁止联网的目的。具体步骤如…

深度学习框架搭建(Vscode/Anaconda/CUDA/Pytroch)

目录 ​​​​​​一 Vscode安装 二、Anaconda安装 三、更新显卡驱动 四、安装CUDA 五、安装Pytorch 六、Vscode配置 七、出现的问题汇总 ​​​​​​一 Vscode安装 在 Windows 上安装 访问 VS Code 官网 https://code.visualstudio.com/,点击 "Downl…

结构模式识别理论与方法

我们在前文《模式识别的基本概念与理论体系》中就已经提及“模式分类”。 具体内容看我的CSDN文章:模式识别的基本概念与理论体系-CSDN博客 模式的识别方法主要有统计模式识别方法和结构模式识别方法两大类。统计模式识别方法提出得较早,理论也较成熟…

12.多边形的三角剖分 (Triangulation) : Fisk‘s proof

目录 1.Fisks proof Trangulation Coloring Domination Pigeon-Hold Principle Generation 2.Orthogonal Polygons (正交多边形) Necessity of floor(n4) Sufficiency by convex Quadrilateralization Generalization 1.Fisks proof Trangulation 引入内对角线&…

面经-计算机网络——OSI七层模型与TCP/IP四层模型的对比详解

OSI七层模型与TCP/IP四层模型的对比详解 一、图示解析:分层封装结构 你提供的图清晰展示了网络通信中从应用层到物理层的封装过程,每一层都会对上层的数据加上自己的头部信息(Header): 应用层: 应用…

React Native本地存储方案总结

1. AsyncStorage(键值对存储) 适用场景:简单键值对存储(如用户配置、Token、缓存数据)。特点:异步、轻量、API 简单,但性能一般,不推荐存储大量数据。安装:npm install …

Arduino程序函数详解与实际案例

一、Arduino程序的核心架构与函数解析 Arduino程序的核心由两个函数构成:setup() 和 loop()。这两个函数是所有Arduino代码的骨架,它们的合理使用决定了程序的结构和功能。 1.1 setup() 函数:初始化阶段 setup() 函数在程序启动时仅执行一次,用于完成初始化配置,例如设置…

【Unity】使用Socket建立客户端和服务端并进行通信的例子

Socket服务端: using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; public class SocketServer { public static Socket listenSocket;//监听Socket public static List<Socket>…

Qt connect第五个参数

在 Qt 中&#xff0c;QObject::connect 函数的第五个参数用于指定 连接类型&#xff08;Qt::ConnectionType&#xff09;&#xff0c;它决定了信号与槽之间的通信方式。以下是各枚举值的详解及使用场景&#xff1a; 1. Qt::AutoConnection&#xff08;默认值&#xff09; 行为…