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

前言: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 全面智能化

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux学习之正则表达式元字符和grep命令

cat /etc/redhat-release看到操作系统的版本是CentOS Linux release 7.6.1810 (Core),uname -r可以看到内核版本是3.10.0-957.21.3.el7.x86_64。 正则表达式是一种搜索字符串的模式,通俗点理解,也就是普通字符和元字符共同组成的字符集合匹…

【Megatron-DeepSpeed】张量并行工具代码mpu详解(三):张量并行层的实现及测试

相关博客 【Megatron-DeepSpeed】张量并行工具代码mpu详解(三):张量并行层的实现及测试 【Megatron-DeepSpeed】张量并行工具代码mpu详解(一):并行环境初始化 【Megatron-DeepSpeed】张量并行工具代码mpu详解(二):Collective通信操作的封装ma…

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

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

多线程案例(3)-定时器

文章目录 多线程案例三三、 定时器 大家好,我是晓星航。今天为大家带来的是 多线程案例三 相关的讲解!😀 多线程案例三 三、 定时器 定时器是什么 定时器也是软件开发中的一个重要组件. 类似于一个 “闹钟”. 达到一个设定的时间之后, 就…

Python Opencv实践 - 基本图像IO操作

import numpy as np import cv2 as cv import matplotlib.pyplot as plt#读取图像 #cv2.IMREAD_COLOR: 读取彩色图像,忽略alpha通道,也可以直接写1 #cv2.IMREAD_GRAYSCALE: 读取灰度图,也可以直接写0 #cv2.IMREAD_UNCHANGED: 读取…

SQL ASNI where from group order 顺序

SQL语句执行顺序: from–>where–>group by -->having — >select --> order 第一步:from语句,选择要操作的表。 第二步:where语句,在from后的表中设置筛选条件,筛选出符合条件的记录。 …

JavaScript实践:用Canvas开发一个可配置的大转盘抽奖功能

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已…

【瑞吉外卖项目复写】基本部分复写笔记

Day1 瑞吉外卖项目概述 mysql的数据源配置 spring:datasource:druid:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/regie?serverTimezoneAsia/Shanghai&useUnicodetrue&characterEncodingutf-8&zeroDateTimeBehaviorconvertTo…

【C++】深入浅出STL之vector类

文章篇幅较长,越3万余字,建议电脑端访问 文章目录 一、前言二、vector的介绍及使用1、vector的介绍2、常用接口细述1)vector类对象的默认成员函数① 构造函数② 拷贝构造③ 赋值重载 2)vector类对象的访问及遍历操作① operator[]…

windows永久暂停更新

目录 1.winr,输入regedit打开注册表 2.打开注册表的这个路径: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 右键空白地方新建QWORD值命名为:FlightSettingsMaxPauseDays 3.双击FlightSettingsMaxPauseDays,修改里面的值为100000,右边基数设置…

区块链实验室(14) - 编译FISCO-BCOS

FISCO-BCOS是一种区块链平台,与Hyperledger和Ethereum有些不同,详见FISCO BCOS 区块链 编译FISCO BCOS源码的目的是修改或者新增其中功能模块,进行对比实验,验证新想法、新创意的效果。编译的步骤很简单,按技术文档一…

JavaWeb三大组件 —— Servlet

目录 servlet 注册servlet 父pom pom文件 1、通过注解注册 2、使用ServletRegistrationBean注册 API三生三世 第一生Servlet 第二生SpringMVC 今生SpringBoot servlet Servlet的作用: 接受请求参数、处理请求,响应结果,(就…

flask中的应用上下文

flask中的应用上下文 Flask应用上下文主要包含两个对象:current_app和g。这两个对象在处理请求期间都是全局可访问的,但在每个请求结束时都会被重置。 current_app:这是当前激活的Flask应用的实例。在大多数情况下,你可以将其视为…

回归预测 | MATLAB实现SO-CNN-GRU蛇群算法优化卷积门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现SO-CNN-GRU蛇群算法优化卷积门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现SO-CNN-GRU蛇群算法优化卷积门控循环单元多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现SO-CNN-GRU蛇群算法优化卷积门控循…

go-zero超强工具goctl的常用命令api,rpc,model及其构建的服务解析

goctl api 详情移步: go-zero的路由机制解析 基于go-zero的api服务刨析并对比与gin的区别 goctl rpc goctl支持多种rpc,较为流行的是google开源的grpc,这里主要介绍goctl rpc protoc的代码生成与使用。 protoc是grpc的命令,作用…

uniapp uview文件上传的文件不是文件流,该如何处理?用了uni.chooseImage预览功能要如何做

在使用uniapp开发,运用的ui是用uview,这边需要做一个身份认证,如下图 使用的是uview的u-upload组件,可是这个组件传给后端的不是文件流 后端接口需要的是文件流格式,后面使用了uniapp的选择图片或者拍照的api&#x…

UltraToolBars Crack,动画菜单和多种显示样式

UltraToolBars Crack,动画菜单和多种显示样式 创建模仿Microsoft Office 2000外观的健壮应用程序。 UltraToolBars包括11个用于创建可自定义工具栏的界面增强控件,包括:个性化菜单、弹出型工具栏、集成选项卡控件等。PictureRegion技术使表单和组件能够采…

实现vscode上用gdb调试stm32

实现vscode上用gdb调试stm32 这周负责编写设备的某个模块,其中遇到了一些变量地址不正确的错误,按理这种底层变量错误用gdb一类的调试器就能很快查到,可是初入嵌入式一行,此C语言非彼C语言,对于gdb怎么对接到项目上根…

微服务系列<3>---微服务的调用组件 rpc 远程调用

什么是rpc调用,让我们调用远程方法就像调用本地方法一样 这就属于rpc调用 rpc是针对于本地来说的 调用远程方法根调用本地方法一样 如果能达到这种效果 就是rpc调用如果达到一种效果 调用远程和调用本地一样 他就是一种rpc框架2个微服务 之间发的调用 我们之前通过ribbon的方式…

【数模】预测模型

一、灰色系统 白色系统:系统信息完全明确灰色系统:系统部分信息已知,部分信息未知 对在一定范围内变化的、与时间有关的灰色过程进行预测。过程:原始数据找规律→生成强规律性的数据序列→建立微分方程来预测未来趋势 黑色系统&a…