草庐IT

人工智能:卷积神经网络及YOLO算法 入门详解与综述(二)

timerring 2023-04-13 原文

        经过前六章的阅读,我从三个世界、数据法则、信息纽带、知识升华、自然智能以及人工智能六个方面对于信息科学技术与创新有了深层次的认识与了解。从对于三个世界的描述中,我了解到了物理、生物和数字世界的区别和联系。同时也明白了物质、能量与数据构成了人类所赖以生存和发展的客观和主观世界。通过这样的三个世界基本底层架构的认知,展开了之后的讨论,之后详细地了解到数据的作用,例如数据在生命的产生与演化中起着至关重要的作用,在生命体内DNA中的数据就记录了遗传的基本信息,大脑中的储存数据量与神经元细胞和它们的数量存在着正相关的关系。 数据之间的快速传导使各网络之间可以不考虑地理上的联系而重新组合在一起。信息的传递和交换也变得日益频繁。而在之后对于信息的定义及作用介绍之中,通过对于信息法则的介绍以及对于信息编码过程的展示,让我明白了信息的结构、含义与效用。信息的提取与升华成为知识,我对知识的描述性与程序性、显性与隐性、公共性与私密性有了进一步的认识。由知识的不断进化集合的过程中,自然智能也逐渐彰显出其作用,自然智能也拥有其法则。无独有偶,针对于自然智能的研究也不断启发着人工智能的发展。上一章重点讲述了人工智能的历史、概念、算法以及人工智能的面临障碍。使我对于人工智能的理解有了很大提升。本章就人工智能的应用技术进行了更深层次的分析与讲解。同时本章讨论的课题如下:

(本章讨论的课题)

一、卷积神经网络

        在对于人工智能的研究之中,科学家们将目光由限制在一定规则内的棋牌类竞技的算法研究转向了更加广阔的更加复杂多样的现实环境之中,作为人工智能的应用,它的数据来源多种多样,但是最为直接,也最为实际的便是视觉所获得的数据,如何收集并且处理视觉数据成为了人工智能研究的领域之一。

        以人类的视角来看,在看到实在物体之后,经过多次观察与记忆便可以在再次看到相同物体时准确地分辨出来事物的外形特征,这是自然智能基于构造层面所给予我们的特性。但是与人类不同,传统机器并没有自然智能的一系列特性,因此它们对于物体图像的识别能力非常低。科学家们常常采取数学的方式描述这一问题,即:基于视觉自然感知与识别能力相当于将极高维度的图像数据空间中某些特征或模式信息经过感官和大脑处理后转化为知识映射到一个低维度的特征空间,在数学上可以用流型空间模型描述。

        虽然人类对于生物神经系统的认知并非十分透彻,但针对于这个问题,科学家采取了人工神经网络的算法进行应对。并随着机器深度学习算法的不断进步,对于物体识别与图像处理的机器应用与研究方面也有很大的帮助。不仅如此,人工神经网络的算法也在不断地完善与创新。从最开始地手写数字的自动识别时开始传统神经网络的应用。但是这种图像识别首先需要大量的正负标记的物体样本数据,然后使用选定的神经网络和损失函数模型通过监督学习的方法进行训练,以确定网络中不同神经元的权重。学习过程中的知识是成功的关键。为了增强网络的表达能力,需要足够数量的隐藏层和神经网络中的神经元数量。由于一般图像中包含的像素数量非常多,相应的神经网络的参数量也很大。虽然理论上全连接神经网络可以将包含图像的高纬度像素空间映射到代表类别的低纬度特征空间,但实际应用中所需的神经元参数空间是巨大的,尤其是隐藏层增加了训练成本和难度也大大增加,在很大程度上影响了手写图片的识别准确率。

识别准确率不高原因)

        相较于传统的神经网络带来的种种不便,法裔美国计算机学家杨立昆1989年发明了卷积神经网络。这项研究成果是人工智能深度学习历史上划时代的里程碑,其核心思想得益于美国神经学家大卫·休伯尔和托斯坦·威泽尔对动物视觉神经感知过程的研究成果,也受到日本计算机科学家福島邦彦的新认知子理论模型的启发。

(卷积神经网络的发展历程)

        卷积神经网络的基本结构由输入层、卷积层、池化层(也称为取样层)、全连接层及输出层构成。卷积层和池化层一般会取若干个,采用卷积层和池化层交替设置,即一个卷积层连接一个池化层,池化层后再连接一个卷积层,依此类推。由于卷积层中输出特征面的每个神经元与其输入进行局部连接,并通过对应的连接权值与局部输入进行加权求和再加上偏置值,得到该神经元输入值,该过程等同于卷积过程。[1]

(卷积神经网络的基本结构)

        同样,图像识别的实质是将图像的像素数据经过某种压缩编码提取其中物体的语义信息,卷积神经网络发挥着关键的作用,它通过使用低维度卷积核或滤波器对图像的局部像素空间进行卷积,然后进入神经元激活来提取图像的特征,所产生图像被称为特征图。接下来可以对卷积后的特征图进行池化,即首先用滤波器在特征图按给定步长移动,每次对每个区域的元素通过“平均”或“最大”化操作进行数据压缩,从而产生一组维度更低的特征图。

        卷积网络相邻连接的局部性导致整体连接的稀疏性,有助于减少训练过程中的过度拟合,提高的网络的泛化能力。使用同一滤波器以实现参数共享,不仅大大减少的网络的参数空间,也在一定程度上确保了特征对位移、拉伸和旋转的相对不变性,从而提高了算法的鲁棒性。在深度学习神经网络中,一般均采取多个“卷积-激活-池化”层分级提取图像的特征信息,不断对原始图像数据进行压缩编码最终通过完全连接网络实现图像分类与识别。[2]

        卷积神经网络由浅到深、从局部到全局,通过不断提取和压缩图像的特征数据,最终实现对图像中数字识别的过程。

        在这个过程中“编码-解码”的基本规则不可忽视。卷积神经网络通过不断卷积和池化编码提取图像的宏观特征和语义,但同时会损失图像的空间分辨率和局部特征。为了平衡全局物体分类和局部物体定位之间的矛盾,科学家采用了通过数据扩展的上采样提高图像的分辨率和获取图像的局部特征,这种方式很好地弥补了卷积池化这种数据压缩的下采样带来的问题。韩国浦项工科大学的研究者在标准卷积网络上附加一个对称的反卷积网络,对卷积网络产生的特征图进行对应的上采样,最终输出与输入图像同样尺寸和分辨率的语义分割图像。这种端到端编码-解码神经网络的下采样和上采样参数均通过训练学习获得,能够取得更高的语义分割精度。

        在图像识别与人工智能的处理过程中,先验知识也起到关键的作用。因为虽然通过人工智能的相关算法可以较为精准地识别出图像。但是针对于图像应该作出地判断与反应,例如识别出该图像具体是一个什么事物,这些事物之间的可能存在的关系,以及这些事物所代表的含义等等,却是需要先验知识作为前提,再用现有知识与之进行比对才能做出合适的判断。正如我们在“自然智能”章节中所讲到的有关情绪智能的部分。如果想让人工智能真正如电影《人工智能》里面一般,可以通过图像识别分辨出人的表情,从而分析出他的喜怒哀乐的情感。那么这个图像识别程序中就必须要有一定的先验知识,才能达到这样的境界。

(电影《人工智能》海报)

二、矛盾的解决

        物体识别既要提取语义信息,又要获取位置信息,前者需要全局特征,而后者需要局部特征。这两个矛盾看似不可调和,实际上却存在非常丰富的解决办法。在讨论这个问题之前。我们要先明确计算机视觉的任务,它主要分为两大类:物体检测与实例分割。物体检测即确定包含目标物体边框的大小与位置并识别其所属类别,而实例分割即确定包含目标物的像素空间并识别其所属类别。物体检测或事件分割既需要识别目标物体的类别,又需要确定被识别物体的定位边框或所占据的像素空间。

        当只有单物体需要识别时,通过神经网络卷积与池化之后产生了一组特征图,通过两个完全连接网络,我们既可以对图像中的物体进行分类,也可以对物体所处的边框参数进行回归等等的方法解决。

        如果要进行多物体的识别,解决这两个矛盾的基本方法之一是先设法确定图像中可能包含不同物体的边框,再对每一个边框中的单一物体进行分类。这种先分割、在分类的策略需要找到可以包含被识别物体的边框。但是由于现实中图像中的物体呈现的情形非常复杂以及综合原因的影响,在分类之前识别和定位这些物体本身也是一件极具挑战性的问题。虽然理论上可以先将图像按某种方式分为不同尺寸的边框,希望这些边框能够以最小边框最大限度覆盖图像中包含的物体。针对这个问题,科学家们人工设计一种选择搜索的算法,对一幅给定图像产生若干个可能覆盖物体的边框。于是美国加州大学伯克利分校的博士后研究员 Girshick及合作者在骨干网络产生特征图之后再用选择搜索算法产生定位边框,从而大大减少了图像分类的重复计算。[3] 虽然这种方法可以取得比较高的精度,但网络训练过程复杂且效率低。

        为了解决这个问题,科学家们提出了单步算法,美国华盛顿大学博士研究生Redmon 等提出的你只看一次YOLO)算法,基本思想是将物体识别问题视为针对不同定位边框和分类概率的回归问题,YOLO首先将输入图像划分为网格,然后以每个网格为中心定义若干个不同比例和尺寸的锚定边框,作为卷积神经网络的输入。在卷积神经网络的输出端对每个网格输出所有锚定边框与基础真相边框的相对位置和尺寸参数以及对应边框中不同类别的概率。我们只考虑信心系数大于一定阈值的锚定边框,最终只输出包含目标物体的边框,否则则认为边框所对应的是背景。[4]其应用非常广泛,如识别下面图像中自行车和小狗的应用:

YOLO算法的实际应用)

        为了更进一步的保证定位边框的精度,微软研究院何凯明等人于2017年发明了掩膜R-CNN” 在原Fast R-CNN基础上引入一个与物体检测平行的卷积神经网络对区域建议网络产生的物体区域提取掩膜。为了克服原来物体识别网络关注区域池化中输入图像与特征图图像像素之间产生的偏移误差,采取了线性插值方法进行校准,并以关注区域对准取而代之。[5]这种在包含物体的定位边框内生成物体所对应的像素空间的方法是一种先检测再区分的策略。这在极大程度上解决了这两者之间的矛盾。

        通过本章人工智能的深入学习,让我对于人工智能在图像识别与物体感知方面的应用有了一个全新的感受。特别是作为图像识别的内核的卷积神经网络及其算法让我印象十分深刻,对于卷积神经网络在图像识别中的具体作用,编码解码的基本规则以及先验知识的重要作用的讨论强化了我对与卷积神经网络的认知,更顺着解决提取语义信息与获取位置信息的矛盾的思路,学习了解了二步法,YOLO算法,掩膜R-CNN算法等等。这些收获让我在脑海中构建了一个关于人工智能的大体框架,启发我今后不断学习去填充完善它。

参考文献:

[1]周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017,40(06):1229-1251.

[2] [5]黄卫平. 数据智能科学技术导论[M].北京:清华大学出版社,1-274.

[3] R. Girshick,Fast R-CNN, arXiv:1504.08083v2 [cs.CV] 27 Sep 2015.

[4] J. Redmon, et.al., You only look once: Unified, real-time object detection, Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 779–788, arXiv:1506.02640v5 [cs.CV] 9 May 2016.

有关人工智能:卷积神经网络及YOLO算法 入门详解与综述(二)的更多相关文章

  1. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  2. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  3. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  4. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  5. 区块链入门教程(6)--WeBASE-Front节点前置服务安装 - 2

    文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定

  6. 玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一) - 2

    前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity。Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++、python、javascript影响。Solidity是静态类型

  7. 物联网MQTT协议详解 - 2

    一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su

  8. Tcl脚本入门笔记详解(一) - 2

    TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是

  9. Simulink方法总结和避坑指南(一)——Simulink入门与基本调试方法 - 2

    文章目录一、项目场景二、基本模块原理与调试方法分析——信源部分:三、信号处理部分和显示部分:四、基本的通信链路搭建:四、特殊模块:interpretedMATLABfunction:五、总结和坑点提醒一、项目场景  最近一个任务是使用simulink搭建一个MIMO串扰消除的链路,并用实际收到的数据进行测试,在搭建的过程中也遇到了不少的问题(当然这比vivado里面的debug好不知道多少倍)。准备趁着这个机会,先以一个很基本的通信链路对simulink基础和相关的debug方法进行总结。  在本篇中,主要记录simulink的基本原理和基本的SISO通信传输链路(QPSK方式),计划在下篇记

  10. 智能客服 | 浅谈人工智能聊天机器人ChatGPT - 2

    2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题等。下面就是一些他的神回复:人命关天的坑: 写歌,留给词作者的机会不多了。。。 回答人类怎么样面对人工智能: 什么是ChatGPT?借用网上的一段介绍,ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动

随机推荐