深度学习入门必读 | 深度学习算法技术原理和发展

前言:Hello大家好,我是小哥谈。随着人工智能技术的发展,深度学习已经成为了一个热门话题。为了让大家能够更清晰直观的了解深度学习,今天这篇文章就重点给大家介绍一下深度学习算法的技术原理和发展!🌈

     目录

🚀1.人工智能、机器学习和深度学习的概念

🚀2.深度学习原理

🚁2.1 模型训练过程

🚁2.2 推理过程

🚀3.前沿技术介绍

🚁3.1 在线学习

🚁3.2 小样本学习

🚀4.算法发展趋势 

🚁4.1 硬件与算法解耦

🚁4.2 全面智能化

🚀1.人工智能、机器学习和深度学习的概念

人工智能的概念最早于1956年在达特茅斯会议上被提出。人工智能的目标是让机器像人类一样学习与思考,像人类一 样完成特定任务。 机器学习是实现人工智能的一种途径,主要是通过设计一些算法让机器可以自动“学习和预测”。🌴

算法即一系列清晰的指令, 用来描述解决问题的方法。 所以,通俗地讲,机器学习算法就是让计算机去分析已有数据,找到其中的规律(模型),然后使用这个规律(模型)去 分析新数据的一种方法。机器学习中的“训练”与“预测”过程即对应人类学习中的“归纳”和“推测”过程。🌴

机器学习和人类学习的区别如下图所示:👇

深度学习是目前最热门的机器学习算法。深度学习通过训练海量数据自动得出模型,与传统机器学习最大的区别是,不需要人工提取特征的环节。由于深度学习需要海量数据进行模型训练,其学习参数量通常也很庞大,所以,需要大量的算力来支撑。 得益于计算机硬件基础设施的改善数据量的日益丰富以及模型训练技巧的发展,深度学习在很多复杂应用中凸显出巨 大潜力,并且效果也在不断提升。🌱

由以上所述,我们可以知道人工智能包含机器学习,而机器学习则包含深度学习,所以这三者的关系如下图所示: 


🚀2.深度学习原理

深度学习(英语:deep learning),是一个多层神经网络,是一种机器学习方法。在深度学习出现之前,由于诸如局部最优解和梯度消失之类的技术问题,没有对具有四层或更多层的深度神经网络进行充分的训练,导致其性能也不佳。但是,近年来,Hinton等人通过研究多层神经网络,提高学习所需的海量数据以及计算机硬件基础设施等,使充分学习成为可能。最后的结果是,深度学习显示出高性能,压倒了其他方法,解决了与图像、语音等有关的问题,并在2010年代流行。🍁

深度学习主要分模型训练过程推理过程

  • 模型训练过程:对数据进行训练得到模型。
  • 推理过程:使用训练得到的模型对新数据进行推理预测。

🚁2.1 模型训练过程

大量数据是深度学习的基础,对于实际中较常使用的深度学习来说,还需要对数据进行标注,其作用是告诉模型应该学习的内容是什么。常见的数据标注包括对数据进行分类、标框或者区域标注等操作。🌻

说明:

关于如何进行图像数据的标注,请参考我的另一篇文章。♨️♨️♨️

YOLOv5入门实践(1)— 手把手教你使用labelimg标注数据集(附安装包+使用教程)

模型训练是根据任务特点设置神经网络结构,并定义损失函数(用于衡量网络推断值与真实值之间的差异),然后将原始数据和标注文件输入到神经网络中,通过对数据进行迭代训练,使损失函数达到最小,即网络的输出结果与真实值之间 误差最小。模型训练其实是一个反复调整神经网络模型参数的过程,最终使得神经网络具有一定的判断能力。

说明:

关于如何进行模型训练以及训练时候的模型调参,请参考我的另两篇文章。♨️♨️♨️

YOLOv5入门实践(2)— 手把手教你使用YOLOv5训练自己的安全帽佩戴检测模型

YOLOv5源码中的参数超详细解析(5)— 训练部分train.py

🚁2.2 推理过程

推理过程就是将训练过程中得到的神经网络模型应用于实际任务中,对于未知数据,也能提供正确答案。具体流程为:

a. 对视频帧做预处理,主要通过对图像进行缩放和补黑边等操作,使其更符合网络输入要求,降低对检测效果的影响。🍉

b. 将预处理后的图像输入到已训练好的神经网络中,经过网络计算之后,输出相应的标签或者坐标值。 对于某些任务,通常还要经过非极大值抑制等后处理过程,才能得到最终结果。🍆

说明:

关于如何对视频帧进行处理以及后处理过程的非极大抑制原理,请参考我的另外两篇文章。♨️♨️♨️ 

YOLOv5基础知识入门(2)— YOLOv5核心基础知识讲解

目标检测中NMS(非极大值抑制)原理解析


🚀3.前沿技术介绍

🚁3.1 在线学习

传统算法模型大部分通过离线学习获得。离线学习要求在模型训练前准备好所有数据,且通常当模型训练完之后再进行 预测。模型上线后,在一段时间内都不会改变,直到下一次算法包和模型更新。而在线学习是一个动态学习的过程,先通过离线训练获得一个初始模型,然后再用新数据动态调整该模型,使得模型预测效果不断提升。🌹

在线学习在学习新数据的同时,保留了之前学习到的知识,之前的数据不需要重复学习。由于在新的训练中充分利用了历史训练结果,所以减少了训练时间和存储空间,但是无法得到整个训练集的先验知识。 🌸

🚁3.2 小样本学习

智能安防领域,有些场景的训练数据比较难获取。没有数据积累,直接对少量数据进行训练,得到的模型效果差。小样本学习的引入可以解决这个问题。小样本学习,即在对某些拥有大量数据的类别进行学习的基础上,只需要新增少量新类别数据,就能快速地学习到新类别的模型。🍈

例如,近年来兴起的“长鼻子”校车,其外形与传统车型有差别,导致无法识别出该车型。运用小样本学习理论,在传统车型识别算法基础上,新增少量校车数据进行训练,可以快速训练出校车车型识别算法。🍒


🚀4.算法发展趋势 

🚁4.1 硬件与算法解耦

传统摄像机与其功能都是强耦合的,例如人像卡口摄像机一般只支持人像相关的智能业务,若想进行车辆检测,则需要重新购买摄像机。🍏

在后期,可以让硬件与算法进行解耦。举例说明就像用户可以根据需要下载不同的手机App。如果在摄像机上实现算法与硬件解耦,那么用户也可以像下载手机App一样,根据不同的使用场景,下载不同的摄像机算法 App。这样,就可以在同一台摄像机上实现不同的智能业务,最大限度地提高摄像机的使用灵活性。🌳

摄像机算法App可以消除不同生产厂商、不同算法、不同模型训练框架以及不同智能业务之间的界限,真正实现按需定义摄像机,实现客户与生产厂商共赢。🍄

🚁4.2 全面智能化

智能业务对摄像机的安装角度距离光照条件目标像素大小要求都比较高,导致安装调测耗时长,且调测过程中需 要人工经验做支撑。💊

如果摄像机可以自己判断抓拍目标质量,并通过判断结果去自动调整摄像机参数(如变倍、清晰度以及聚焦、宽动态等),这样就可以实现真正的智能化,也可以节省人力成本。👑

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

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

相关文章

Python中的PDF文本提取:使用fitz和wxPython库(带进度条)

引言: 处理大量PDF文档的文本提取任务可能是一项繁琐的工作。本文将介绍一个使用Python编写的工具,可通过简单的操作一键提取大量PDF文档中的文本内容,极大地提高工作效率。 import wx import pathlib import fitzclass PDFExtractor(wx.Fr…

自动化测试po模式是什么

一、什么是PO模式 全称:page object model 简称:POM/PO PO模式最核心的思想是分层,实现松耦合!实现脚本重复使用,实现脚本易维护性! 主要分三层: 1.基础层BasePage:封装一些最基…

LVS负载均衡(DR)

文章目录 LVS-DR模式配置原理注DR配置添加VIP下载ipvsadm在DR上管理LVS Real-Server RS配置绑定VIP到环回网卡添加访问VIP的路由配置ARP抑制测试: LVS-DR模式配置 原理 当客户端发起请求后由DR处理,通过算法将流量转发至Real-Server中的某一个处理。然后…

HDFS介绍

目录 ​编辑 一、HDFS基础 1.1 概述 1.2 HDFS的设计目标 1.2.1 硬件故障 1.2.2 流式数据访问 1.2.3 超大数据集 1.2.4 简单的一致性模型 1.2.5 移动计算而不是移动数据 1.2.6 跨异构硬件和软件平台的可移植性 1.3 基础概念 1.3.1 块(Block) 1.3.2 复制…

【MySQL】检索数据使用数据处理函数

函数 与其他大多数计算机语言一样,SQL支持利用函数来处理数据。函数一般是在数据上执行的,它给数据的转换和处理提供了方便。 函数没有SQL的可移植性强:能运行在多个系统上的代码称为可移植的。多数SQL语句是可移植的,而函数的可…

虹科案例 | PLC如何应用于建筑的3D打印?

客户:Rebuild 合作伙伴:ASTOR 应用:用于建筑的大尺寸3D打印 应用产品:3D混凝土打印机 (一)应用背景 自从20世纪80年代以来,增材制造技术(即3D打印)不断发展。大部分3D打印…

ArduPilot开源代码之Companion Computers简单分析

ArduPilot开源代码之Companion Computers简单分析 1. 源由2. 伴机系统2.1 APSync2.2 DroneKit2.3 FlytOS2.4 Maverick2.5 ROS2.6 Rpanion-server 3. 总结4. 参考资料 1. 源由 从稳定性,社区群体,以及开源方式的角度看,Ardupilot是不错的选择…

HttpRunner自动化测试工具之录制工具使用--使用抓包工具通过命令转成yml文件

录制工具使用: 为了简化测试用例的编写工作,HttpRunner实现了测试用例生成的功能,对应的转换工具为一个独立的项目:har2case 使用操作步骤: 1、通过抓包工具获取HAR格式的数据包 2、通过命令har2case har的数据包路径…

40.利用欧拉法求解微分方程组(matlab程序)

1.简述 求解微分方程的时候,如果不能将求出结果的表达式,则可以对利用数值积分对微分方程求解,获取数值解。欧拉方法是最简单的一种数值解法。前面介绍过MATLAB实例讲解欧拉法求解微分方程,今天实例讲解欧拉法求解一阶微分方程组。…

车载软件架构 —— 闲聊几句AUTOSAR OS(十一)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕的就是把别人的眼光当成自己生活的唯一标…

TBB库中实现协程(coroutine)的源码说明

源码请见: https://github.com/oneapi-src/oneTBB/blob/master/src/tbb/co_context.h 在windows系统,TBB(也就是intel 的 oneTBB库),通过windwos fiber(纤程)来实现协程(coroutine)。 创建一个协程,代码很简洁: inline void create_coroutine(corouti…

C++动态规划经典试题解析之打家劫舍系列

1.前言 力扣上有几道与打家劫舍相关的题目,算是学习动态规划时常被提及的经典试题,很有代表性,常在因内大大小小的社区内看到众人对此类问题的讨论。 学习最好的方式便是归纳总结、借鉴消化,基于这个目的,本文对此类问题也做了讲解,在一些优秀思想的基础上添加了个人观…

react中PureComponent的理解与使用

一、作用 它是一个纯组件,会做一个数据的浅比较,当props和state没改变的时候,不会render重新渲染, 改变后才会render重新渲染,提高性能。 二、使用 三、注意 它不能和shouldComponentUpdate生命周期同时使用。因为它…

【CSS】3D卡片效果

效果 index.html <!DOCTYPE html> <html><head><title> Document </title><link type"text/css" rel"styleSheet" href"index.css" /></head><body><div class"card"><img…

【JAVA】继承

作者主页&#xff1a;paper jie的博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精…

HDFS集群滚动升级以及回滚相关

HDFS集群滚动升级以及回滚相关 介绍不停机滚动升级非联邦HA集群联邦HA集群 停机升级--非HA集群HDFS集群降级和回滚异同点共同点不同点 HA集群降级&#xff08;downgrade&#xff09;注意事项 集群回滚操作 介绍 在hadoop v2中&#xff0c;HDFS支持namenode高可用&#xff08;H…

如何将 dubbo filter 拦截器原理运用到日志拦截器中?

业务背景 我们希望可以在使用日志拦截器时&#xff0c;定义属于自己的拦截器方法。 实现的方式有很多种&#xff0c;我们分别来看一下。 拓展阅读 java 注解结合 spring aop 实现自动输出日志 java 注解结合 spring aop 实现日志traceId唯一标识 java 注解结合 spring ao…

思科单臂路由、lacp链路聚合、NAT实验

实验拓扑图&#xff1a; 实验目的&#xff1a; 如图所示配置相应IP地址和VLAN&#xff0c;并通过在AR1上配置单臂路由&#xff0c;实现VLAN10和VLAN20的主机能够在VLAN间通信&#xff1b;在SW1和SW2的三条链路实施链路聚合&#xff0c;使用静态LACP模式&#xff0c;使一条链…

Visual Studio在Debug模式下,MFC工程中包含Eigen库时的定义冲突的问题

Visual Studio在Debug模式下&#xff0c;MFC工程中包含Eigen库时的定义冲突的问题 报错信息 Eigen\src\Core\PlainObjectBase.h(143,5): error C2061: 语法错误: 标识符“THIS_FILE” Eigen\src\Core\PlainObjectBase.h(143,1): error C2333: “Eigen::PlainObjectBase::opera…

LeetCode 热题 100 JavaScript--102. 二叉树的层序遍历

给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 示例 2&#xff1a; 输入&#xff1a;root [1…