ROS深度学习——深度学习简介(一)

深度学习

文章目录

前言

ROS只是用来操控机器人的系统,要想做的真正为社会服务,还是需要结合AI。

ROS深度学习——深度学习简介(一)

; 一、深度学习简介

在介绍深度学习之前,先和大家介绍一下人工智能、机器学习和深度学习这 三者之间的关系。 人工智能就是我们常说的 AI,在 1956 年被科学家们提出这一概念,科学家探讨能不能制造出一个可以像人类大脑的一样思考的机器,拥有人类的智慧,这就是人工智能。实现人工智能的方法我们统称为机器学习(Machine Learning),就是让机器从 历史数据中学习规律,然后将规律应用到未来中。其实人类的行为也是通过学习 和模仿得来的,所以我们就希望计算机和人类的学习行为一样,从历史数据和行 为中学习和模仿,从而实现 AI。但是随着研究不断深入,传统机器学习算法在很多”智能”问题上效果不佳, 如图片识别、语音识别和语义理解等。后来人们对传统的神经网络算法进行了优 化提出了深度学习(Deep Learning)的概念,很好地解决了很多传统机器学习算法 效果不佳的问题。综上所述,机器学习是一种实现 AI 的方法,而深度学习是机器学习中的一 种技术,他们之间的关系图如下。

ROS深度学习——深度学习简介(一)

二、深度学习与神经网络

深度学习是基于神经网络算法的,人们从生物神经网络的运作机制得到启 发,构建了人工神经网络。

ROS深度学习——深度学习简介(一)
如上图是生物神经元的示意图,神经元通过接收外界信号,达到一定阈值, 触发动作电位,通过突触释放神经递质,可以是兴奋或抑制,影响突触后神经元。 下图是经典的 MP 神经元模型,与生物神经元类似,输入端接受外界信号, w 和 b 等都是参数值,经过激活函数(Activation Function)来判断是否触发”动作 电位”,对外释放的新的信号。
ROS深度学习——深度学习简介(一)
多个神经元组合在一起就形成了神经网络,下图便是生物神经网络和人工神 经网络的示意图。
ROS深度学习——深度学习简介(一)
ROS深度学习——深度学习简介(一)
可以在图中看到人工神经网络除了输入层和输出层,中间的统称为隐含层, 隐含层可以有很多层,深度学习中”深度”的含义就是在输入层和输出层之间加 更多的隐含层。

; 三、常用深度学习框架

深度学习一般分为训练和预测两大步骤,如下图所示。与传统机器学习中相 比,少了特征提取工程,节约了使用者大量工作时间。深度学习隐含层越多,就 越能够实现更加复杂的运算和逻辑处理,效果也会更好,但这也导致需要训练的 参数变得更多,计算量太大,以致于根本无法训练,后来人们提出新的训练解决 方案:无监督预训练对权值进行初始化+有监督训练微调。

ROS深度学习——深度学习简介(一)
因为深度学习发展至今,很多算法都已经是通用的,而且得到过验证的,有 些公司就希望将一些标准算法一次性开发好,封装起来,后面再使用时直接调用 引入即可,不需要大家从头再写一遍。 常用的框架如 Tensorflow 是 Google 旗下的开源软件库,里面含有深度学习 的各类标准算法 API 和数据集等;Pytorch 是 Facebook 旗下的开源机器学习库, 也包含了大量的深度学习标准算法 API 和数据集等,Caffe 是贾扬清博士开发的 深度学习框架,国内百度目前也有自己的深度学习框架 Paddle-Paddle,还有本次重点介绍的 YOLO 作者 Joseph Redmon 自己写的深度学习框架 darknet。在上诉的各种框架内,我们可以实现各种具体的目标检测算法,如 R-CNN、 Fast RCNN、YOLO、SSD 等等。

四、YOLOV3框架

YOLO(You only look once)是一种实时目标检测算法。YOLO v3 是 2018 年推出的一种单阶段目标检测算法,他的突出特点是检测速度非常快,能够以 30fps 的速度处理图像,并且以 COCO 数据集测试的时候, mAP 值能达到 57.9%。 因此,YOLO v3 目前广泛应用在目标识别、对象分类、定位等场景中。而且很多的企业级项目,都是在此基础上实现的。

ROS深度学习——深度学习简介(一)
由上图所示,是 YOLO v3 算法与其它算法性能测试的对比数据。我们可以 看到,YOLO v3 算法的检测速度基本在 50ms 以内,而其它算法的检测速度均在 50ms 以上。再看 mAP 值,YOLO v3 算法可以达到 57.9%,而相同的 mAP 值, 其它算法需要的时间在 200ms 左右。因此,YOLO v3 算法最大的优势在于在速 度和检测精度方法均得到了提升。另外,只需更改模型的大小即可轻松地在速度 和精度之间进行权衡,而无需重新训练。目标检测任务需要做的事情是识别和定位。YOLO v3 的基本思想是把输入 的图像分割成很多个小格子 grid cells,接着一方面根据边界框(bounding boxes) 和置信度(confidence)来确定定位,另一方面通过类别概率图(class probability map) 确定识别目标类型,最后输出预测的结果。如下图YOLO v3示意图
ROS深度学习——深度学习简介(一)

; 总结

人工智能是时代发展的热潮,深度学习与目标检测又是很有趣的事情,加油。
怕什么真理无穷,进一寸有进一寸的欢喜。

Original: https://blog.csdn.net/qq_51963216/article/details/123511109
Author: 我与nano
Title: ROS深度学习——深度学习简介(一)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598169/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球