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

news/2025/1/9 5:41:17/

前言: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.ppmy.cn/news/1009880.html

相关文章

生成式 AI 简介:使用 Python 从头开始学习 GenAI

一、介绍 大家好!,欢迎来到“使用 Python 从头开始学习生成 AI”系列。本系列涵盖了数据科学家和软件工程师可以了解的有关生成式 AI 的所有内容,并在这个奇妙的 GenAI 领域开始他们的旅程。我将告诉你从Python到机器学习,然后是深…

VS+Qt环境下解决中文乱码问题

目录 原因解决方案总结 原因 使用VSQt出现中文乱码的情况一般都是给控件添加中文文本时出现,而控件需要的字符串类型是QString,默认是utf-8。在 Visual Studio 中,源代码文件的默认执行字符集可能是 Windows 默认的 ANSI 字符集,…

CS 144 Lab Four 收尾 -- 网络交互全流程解析

CS 144 Lab Four 收尾 -- 网络交互全流程解析 引言Tun/Tap简介tcp_ipv4.cc文件配置信息初始化cs144实现的fd家族体系基于自定义fd体系进行数据读写的adapter适配器体系自定义socket体系自定义事件循环EventLoop模板类TCPSpongeSocket详解listen_and_accept方法_tcp_main方法_in…

怎样将项目jar包放到服务器上

目录 1、在配置文件中配置账号密码 2.在父级的pom里面,加上这个标签 3. deploy部署 4. 注:这两个id得匹配上(原因:有的人会只有上传到测试包的权限,id对应,拥有账号密码的才能有权限) 5.子项…

使用ubuntu-base制作根文件系统

1:ubuntu官网下载最小根文件系统: 放置到电脑的ubuntu中, Mkdir Ubuntu_rootfs Cd Ubuntu_rootfs Sudo tar –zxvf Ubuntu-bash-xxxxxx.tar.gz 2:电脑的ubuntu安装qemu搭建arm模拟系统 将/usr/bin/qemu-arm-static/(64位拷贝…

输入一个整数,输出它的位数 ← while

【题目描述】 输入一个整数&#xff0c;输出它的位数。【算法代码】 #include <bits/stdc.h> using namespace std;int sum; int main(){int x;cin>>x;while(x){xx/10;sum;}cout<<sum<<endl;return 0; } /* in:987654321 out:9 */

Spring Boot Logback日志格式改为JSON

在阿里云、或者日志分析时使用JSON格式输出日志更加方便。 依赖 增加Logbak JSON解析依赖。 另外需要注意的是JSON格式输出依赖Jackson&#xff0c;根据工程情况按需添加Jackson依赖。 <!--日志--><dependency><groupId>ch.qos.logback.contrib</grou…

用Rust实现23种设计模式之 享元模式

关注我&#xff0c;学习Rust不迷路&#xff01;&#xff01; 享元模式是一种结构型设计模式&#xff0c;它通过共享对象来减少内存使用和提高性能。以下是享元模式的优点和使用场景&#xff1a; 优点&#xff1a; 减少内存使用&#xff1a;享元模式通过共享对象来减少内存使…