深度学习简介-程序员宅基地

技术标签: 深度学习  人工智能  

一、深度学习简介

  1. 深度学习是一种基于神经网络的学习方法。和传统的机器学习方法相比,深度学习模型一般需要更丰富的数据、更强大的计算资源,同时也能达到更高的准确率。目前,深度学习方法被广泛应用于计算机视觉、自然语言处理、强化学习等领域。
  2. 深度学习的目标:学习样本数据的内在规律和表示层次。
  3. 深度学习的最终目标:让机器能够像人一样具有分析、学习能力、能够识别文字、图像和声音等数据。
  4. 深度学习在搜索技术、数据挖掘、机器学习、机器学习、自然语言处理、多媒体学习、语音识别、推荐和个性化技术以及其他相关领域都取得了很多成果。
  5. 深度学习的定义:是具有多层次特征描述的特征学习。(通过一些简单但非线性的模块将每一层特征描述(从未加工的数据开始)转化为更高一层的、更为抽象一些的特征描述。)
  6. 深度学习进步的表现:在图像分类与识别、语音识别与合成、人脸识别、视频分类与行为识别等领域都有着不俗的表现。列如:人脸识别采用深度学习方法后的识别率超过了目前非深度学习算法以及人类的识别率,深度学习技术在语音识别领域更是取得了突破性的进展,在大规模图像分类问题上也远超传统方法。
  7. 深度学习在生活中的运用:纹理识别、行人检测、场景标记、门牌识别等领域。
  8. 深度学习关键:这些层次的特征不是由人工设计的,而是使用一种通用的学习步骤从数据中学习获取的(学习得到的)。这些学习过程中获得的信息对文字、图像和声音等数据的解释有很大的帮助。
  9. 深度学习与人工智能、机器学习的关系:
  10. 深度学习的常见应用:图像分类、图像分割、图像生成、图像标题的生成、图像风格转换、目标检测、物体测量、物体分拣、视觉定位、情感分析、无人驾驶、机器翻译、文本到语音转换、手写文字转录和音频生成。

二、计算机视觉的基本任务

1.计算机视觉:shi

  • 计算机视觉是指使用计算机一级相关设备对生物视觉的一种模拟。
  • 主要任务:通过对采集的图片或视屏进行处理以获得相应场景的三维信息。
  • 计算机视觉是关于如何运用照相机和计算机来获取我们所需要的被迫拍摄对象的数据与信息的学问。
  • 形象地说,计算机视觉就是给计算机安装上“眼睛”(照相机)和“大脑”(算法),让计算机能够感知环境。以代替人眼对目标进行识别、跟踪和测量等操作,并对图像进行进一步的处理,使图像更适合人眼观察或传入仪器。
  • 运用的学科:包括计算机科学和工程、信号处理、物理学、应用数学和统计学、神经生理学和认知科学等学科。

2.计算机视觉的基本任务:

  1. 计算机视觉的基本任务包含图像处理、模式识别或图像识别、景物分析、图像理解等。除了图像处理和模式识别之外,它还包括空间形状的描述,几何建模以及认识过程。
  2. 实现图像理解是计算机视觉的终极目标。
  3. 图像处理技术:
  4. 图像理解技术:

3.计算机视觉的传统算法:

  1. 在深度学习算法出现之前,对于计算机视觉算法来说,大致可以分为以下5个步骤:
  2. 成功列子:(1)指纹识别算法 (2)基于Haar的人脸检测算法  (3)基于HoG特征的物体检测
  3. 缺点:(1)缺乏对特征的重视 (2)图像特征提取需要人力 (3)依赖特征算子

4.计算机视觉的主要应用

  1. 图像分类:

  • 图像分类是深度学习中最常见的应用之一。它的目标是将图像分到预定义的类别中。深度学习通过多层神经网络来学习图像的抽象特征。这些特征可以从原始像素值或者低级特征(如边缘、纹理等)中提取出来,然后通过多个隐藏层进行非线性组合和转换,最终得到高级语义特征。
  • 卷积神经网络(Convolutional Neural Network, CNN):主要用于图像分类和识别任务,包括LeNet、AlexNet、VGG、GoogLeNet、ResNet
  • 生成对抗网络(Generative Adversarial Network, GAN):用于生成新样本,主要包括GAN、DCGAN、WGAN等
  • 实际上,图像分类是分析一个输入图像并返回一个将图像分类的标签。
  • 标签总是来自预定义的可能类别集。 利用深度学习算法可以实现对猫的图像进行分类,
  • 图像分类的过程一般包括以下步骤:

2.目标检测

目标检测一般包括以下步骤:

  • 候选区域生成:使用一些候选区域生成算法,生成可能包含目标的区域。 特征提取:对每个候选区域提取特征,如颜色、纹理、形状等。
  • 目标分类:使用机器学习或深度学习算法,将每个候选区域分类为目标或非目标。
  • 边界框回归:对于被分类为目标的候选区域,通过回归算法校正其边界框的位置和大小。
  • 非极大值抑制(NMS):对于多个重叠的候选区域,保留具有最高置信度的目标,去除冗余的区域。

可以分为:

  • One-Stage目标检测:端到端,速度快。(YOLO、YOLOX)
  • Two-Stage目标检测:速度更慢,最开始提出。(SSD、R-CNN、Faster R-CNN)
  • 目标检测是机器视觉领域最主要的应用之一,例如,汽车违规行驶的检测会为了保障行车、行人的安全在路口安装交通检测系统,检测汽车的行驶速度是否超过限制、是否存在违规变道行为、是否存在闯红灯行为、是否遮挡车牌、是否系安全带等。 而人工检测存在着较多的弊端,如准确率低,长时间工作准确性更是无法保障,而且检测速度慢,容易出现错判和漏判。 因此,机器视觉在目标检测的应用方面也就显得非常重要。
  • 目标检测算法既可以进行分类任务,也可以进行检测任务,还可以进行目标追踪、实例分割。 YOLO系列:YOLOv1~YOLOv8、YOLOX、YOLOF是最常用的目标检测算法。

3.实例分割:

  • 在图像中检测和分割出每个特定目标像素,列如分割出每个人的轮廓

4.姿态评估:

  • 估计图像中人物的姿势或关节角度,入人体姿势估计、手势识别等

5.图像重建:

  • 是指通过一系列技术和算法对损坏、模糊或或缺的图像进行修复或恢复。

6.图像超分辨率:

  • 指通过一系列的算法和技术,降低分辩率的图像

7.图像标题生成:

  • 神经图像标题(Neural Image Caption, NIC)模型会自动生成介绍输入图像的文字。
  • 该模型由深层的卷积神经网络和自然语言语言处理的循环神经网络(Recurrent Neural Network,RNN) 构成。
  • 卷积神经网络提取图像特征,RNN生成文本。

8.图像风格转换:

  • 图像风格的变换是利用了卷积神经网络可以提取高层特征的效果,不在像素级别进行损失函数的计算,而是将原图像和生成图像都输入至一个已经训练好的神经网络里,在得到的某种特征表示上计算欧式距离(内容损失函数)。
  • 这样得到的图像与原图内容相似,但像素级别不一定相似,且所得图像更具鲁棒性。
  • 输入两个图像,计算机会生成一个新的图像。

9.物体测量:

  • 在日常生活中,物体测量通常是对物体的质量、长度、高度、体积等进行测量。
  • 在机器视觉应用中,使用光的反射进行非接触式测量,如右图所示,是某款手机使用非接触光学测量方法对桌子进行的测量。
  • 物体测量技术多用于工业方面,主要包括对汽车零部件、齿轮、半导体元件管脚、螺纹等进行测量。

10.物体分拣:

  • 物体分拣是建立在识别、检测之后的一个环节,通过机器视觉对图像中的目标进行检测和识别,实现自动分拣。
  • 在工业应用领域常用于食品分拣、零件表面瑕疵自动分拣、棉花纤维分拣等。
  • 同时,物体分拣在物流、仓库中的运用更为广泛,在分拣过程中,机器通过按照物品种类、物品大小、出入库的先后顺序等方法对物体进行分拣。

11.视觉定位:

  • 视觉定位要求机器能够快速准确地找到被测零件并确认其位置。
  • 在半导体封装领域,设备需要根据机器视觉取得芯片位置信息、调整拾取头、准确拾取芯片并进行绑定,这就是视觉定位在机器视觉工业领域最基本的应用。

三、自然语言处理

  • ChatGPT是一种基于OpenAI GPT(Generative Pre-trained Transformer)模型的对话生成模型。 它是OpenAI公司推出的一种自然语言处理模型,旨在通过生成自然流畅的对话响应来实现人机交互。 ChatGPT是通过在大量的对话数据上进行预训练,学习语言模式和对话流程,然后根据用户输入产生相应的回复。 它可以用于诸如客户服务、虚拟助手、编程帮助等任务,为用户提供实用的对话交互体验。 同时,OpenAI还通过与用户的交互来不断改进和优化ChatGPT模型,以提供更准确和有用的回复。
  • 深度学习自然语言处理(Natural Language Processing,NLP)是人工智能和语言学领域的分支学科。 自然语言处理包含机器理解、解释和生成人类语言的方法,因此,也将它描述为自然语言理解(Natural Language Understanding,NLU)和自然语言生成(Natural Language Generation,NLG)。 传统的NLP方法采用基于语言学的方法,它基于语言的基本语义和句法元素(如词性)构建。 基于深度学习的自然语言处理避开了对中间元素的需求,并且可以针对通用任务学习该任务本身的层次表示。 1966年自动语言处理咨询委员会的报告强调了机器翻译从流程到实施成本面临的巨大困难,导致投资方减少了在资金方面的投资,使得NLP的研究几乎停滞。
  • 自然语言,区别于计算机所使用的机器语言和程序语言,是指人类用于日常交流的语言。而自然语言处理的目的却是要让计算机来理解和处理人类的语言。
  • 自然语言的一个句子背后往往包含着不直接表述出来的常识和逻辑。

自然语言处理的基本问题:

  1. 语言建模:计算一个句子在一个语言中出现的概率。
  2. 中文分词:将中文句子恰当地切分为单个的词。
  3. 句法分析:通过明确句子内两个或多个词的关系来了解整个句子的结构。最终句法分析的结果是一棵句法树。
  4. 情感分析:给出一个句子,判断这个句子表达的情感。
  5. 机器翻译:最常见的是把源语言的一个句子翻译成目标语言的一个句子,最终预测出来的整个目标语言句子必须与给定的源语言句子具有完全相同的含义。
  6. 阅读理解:有许多形式。有时候是输入一个段落,一个问题,生成一个回答,或者在原文中标定一个范围作为回答,有时候是输出一个分类。
  7. 语言生成:通过模型和算法,使计算机能够生成符合语法和语义规则的人类语言。
  8. 信息检索:通过分析和索引大量的文本数据,使计算机能够快速准确地检索相关信息。
  9. 语言理解:通过分析文本和语音,使计算机能够理解人类语言的意义和目的。

四、深度学习与神经网络发展

  1. 现代深度学习
  • 卷积神经网络(CNN)是一种对人脑比较精准的模拟,它模拟了人脑识别图片时感知图片中的局部特征,之后将局部特征综合起来再得到整张图的全局信息的过程。其卷积层通常是堆叠的,低层的卷积层可以提取到图片的局部特征,高层的卷积能够从低层的卷积层中学到更复杂的特征,从而实现到图片的分类和识别。

2.现代深度学习的过程

  • 用学习好的卷积和对图像进行扫描,然后每一个卷积和会生成一个扫描的响应图,我们叫response map,或者叫feature map。如果有多个卷积和,就有多个feature map。也就说从一个最开始的输入图像(RGB三个通道)可以得到256个通道的feature map,因为有256个卷积和,每个卷积和代表一种统计抽象的方式。
  • 卷积就是两个函数之间的相互关系。在计算机视觉里面,可以把卷积当作一个抽象的过程,就是把小区域内的信息统计抽象出来。

3.池化操作。池化操作在统计上的概念更明确,就是一个对一个小区域内求平均值或者求最大值的统计操作。带来的结果是,如果之前输入有两个通道的,或者256通道的卷积的响应feature map,每一个feature map都经过一个求最大的一个池化层,会得到一个比原来feature map更小的256的feature map。

4.LeNet网络

  • 传统方法与神经网络方法的比较:

  • 传统方法与神经网络方法的比较:
  • 传统方法适用于特征工程比较成熟、数据较少或易解释性要求高的场景;
  • 神经网络方法适用于数据较大、特征难以手动设计或对模型性能要求较高的场景。
  • 在实际应用中,可以根据问题的特点和数据的性质选择合适的方法。

五.强化学习

  1. 强化学习

  • 监督学习是通过带有标签或对应结果的样本训练得到一个最优模型,再利用这个模型将所有输入映射为相应输出,以实现分类
  • 非监督学习是在样本的标签未知的情况下,根据样本之间的相似性对样本集进行聚类,使类内差距最小化,学习出分类器

2.与环境互动

  • 到目前为止,不管是监督学习还是无监督学习,我们都会预先获取大量数据,然后启动模型,不再与环境交互。 这里所有学习都是在算法与环境断开后进行的,被称为离线学习(offline learning)。
  • 离线学习有它的魅力: 好的一面是,我们可以孤立地进行模式识别,而不必分心于其他问题。  但缺点是,解决的问题相当有限。 这时我们可能会期望人工智能不仅能够做出预测,而且能够与真实环境互动。 与预测不同,“与真实环境互动”实际上会影响环境。 这里的人工智能是“智能代理”,而不仅是“预测模型”。 因此,我们必须考虑到它的行为可能会影响未来的观察结果。

3.强化学习

  • 定义:强化学习是机器学习的一个重要分支,它与非监督学习、监督学习并列为机器学习的三类主要学习方法。
  • 强化学习强调如何基于环境行动,以取得最大化的预期利益,所以强化学习可以被理解为决策问题。
  • 强化学习(reinforcement learning)应用:机器人、对话系统,甚至开发视频游戏的人工智能(AI)。
  • 深度强化学习(deep reinforcement learning)将深度学习应用于强化学习的问题,是非常热门的研究领域。
  • 强化学习的例子: 突破性的深度Q网络(Q-network)在雅达利游戏中仅使用视觉输入就击败了人类;  以及 AlphaGo 程序在棋盘游戏围棋中击败了世界冠军。

4.强化学习的四个因素:

5.强化学习算法的目标:

就是获得最多的累计奖励(正反馈)。

6.强化学习的特征:

  • 没有明确的标签:强化学习没有明确的标签来告诉智能体什么是正确的动作。必须通过与环境的交互来学习。
  • 延迟回报:奖励信号可能在未来的时间点才会到达,因此代理需要考虑长期回报而不只是当前的奖励。
  • 动态环境:环境可能是动态变化的,智能体必须能够适应环境的变化并调整策略。

7.强化学习算法简介

8.强化学习算法的应用

  • 交互性检索是在检索用户不能构建良好的检索式(关键词)的情况下,通过与检索平台交流互动并不断修改检索式,从而获得较准确检索结果的过程。
  • 新闻推荐需要:获取用户请求,召回候选新闻,对候选新闻进行排序,最终给用户推出新闻。        将用户持续浏览新闻的推荐过程看成一个决策过程,通过强化学习学习每一次推荐的最佳策略,提高用户的点击率。
  • 无人驾驶被认为是强化学习短期内能技术落地的一个应用方向,很多公司投入大量资源在无人驾驶上,其中百度的无人巴士“阿波龙”已经在北京、武汉等地展开试运营,自动无人驾驶的行车视野如下图所示。
  • 未来生活中,深度学习算法在交通领域的应用,可能会创造出一个完全智能调度的移动出行网络。
  • 游戏领域:强化学习在游戏中的应用非常广泛。例如,在电子游戏中,强化学习算法可以训练智能体来学习如何玩游戏,并制定最佳策略来获得高分或战胜对手。AlphaGo就是一个成功的示例,它通过强化学习击败了世界冠军围棋选手。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2201_75559122/article/details/136432585

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签