在这三部分系列的第一部分中,作者调查了机器学习技术在高度自动化驾驶场景中的驱动因素和潜在应用。第二部分定义了机器学习技术的理论背景,以及汽车开发人员可用的神经网络类型。第三部分在功能安全要求的背景下评估这些选项。
机器学习可以定义为一组有助于基于过去学习进行预测的算法。
在机器学习算法中,输入数据被组织为数据点。每个数据点都由描述所表示数据的特征组成。例如,大小和速度是可以区分汽车和街上自行车的特征。汽车的尺寸和速度通常都高于自行车。机器学习方法的目标是将输入数据转换为有意义的输出,例如将输入数据分类为汽车和非汽车数据点或对象。输入通常写成 vector x,由几个数据点组成。输出写为y。
二维或三维输入数据可以在所谓的特征空间中进行说明和查看,其中每个数据点x都相对于其特征进行绘制。图 8 (a) 显示了描述汽车和非汽车对象的二维特征空间的简化示例。
图 8. 根据大小和速度对汽车和非汽车对象进行分类:特征空间 (a) 和两个类别之间的相应分离 (b)。
所谓的学习映射函数 或model,h_θ (x)给出了特征向量之间的差异(例如,分类为汽车和非汽车数据点)。模型的结构范围从简单的线性函数,例如图 8 (a) 中划分汽车和非汽车对象的线,到复杂的非线性神经网络。学习方法的目标是确定系数的值,这些θ-系数从可用的输入数据中表示模型的参数。映射函数的输出是算法对输入数据描述的预测。
机器学习方法可以根据映射函数的学习方式进行分类(图 9)。有三种可能:
监督学习—— 映射函数是根据训练数据对计算的,其中y预先知道的输出在训练阶段分别提供给学习算法。一旦计算了模型的参数,就可以将模型部署到目标应用程序中。它的输出——当它接收到一个未知的数据点时——将是 的预测值y。
无监督学习—— 在这种情况下,与监督学习相比,在训练阶段没有可用的特征标签对。学习算法的输入仅包含未标记的数据点。这种机器学习方法的目标是x直接从特征空间中的分布推断输入特征的标签。
强化(半监督)学习—— 在这种情况下,训练数据也没有标签,但模型的构建是为了通过一组动作促进与环境的交互。映射函数将环境状态映射到由输入数据给出的动作。奖励信号表示在特定环境状态下执行的操作。当信号表示积极影响时,学习算法会加强行动。如果识别出负面影响,该算法将阻止环境的特定动作或状态。
图 9.基于训练方法的机器学习算法分类。
深度学习革命
近年来,所谓的深度学习范式彻底改变了机器学习领域。深度学习通过解决以前传统模式识别方法无法解决的挑战,对机器学习社区产生了巨大影响(LeCun 等人,2015 年)。深度学习的引入极大地提高了为视觉识别、对象检测、语音识别、异常检测或基因组学设计的系统的精度。深度学习的关键方面是用于解释数据的特征是从训练数据中自动学习的,而不是由工程师手动制作的。
图 10.训练识别图像中汽车的深度卷积神经网络。
到目前为止,构建一个好的模式识别算法的主要挑战是手工设计的用于分类的特征向量,例如在第 1 部分中描述的早期版本的交通标志识别系统中使用的局部二进制模式。 深度学习的出现已经用可以自动发现原始输入数据中重要特征的学习算法取代了特征向量的手动工程。
在架构上,深度学习系统由多层非线性单元组成,可以将原始输入数据转换为更高层次的抽象。每一层都将前一层的输出映射成更复杂的表示,适合回归或分类任务。这种学习通常在使用反向传播算法训练的深度神经网络上进行。该算法迭代地调整网络的参数或权重,以模拟输入的训练数据。因此,网络在训练结束时已经学习了输入数据点的复杂非线性映射函数。
图 10 显示了一个深度神经网络的符号表示,该网络经过训练可以识别图像中的汽车。输入层表示原始输入像素。隐藏层 1 通常模拟图像的某些位置和方向是否存在边缘。第二个隐藏层使用在前一层中计算的边缘对对象部件进行建模。第三个隐藏层构建了建模对象的抽象表示,在我们的例子中,这就是汽车的成像方式。输出层根据第三个隐藏层的高级特征计算给定图像包含汽车的概率。
不同的网络架构源于神经网络的单元和层的分布方式。所谓感知器是最简单的,由单个输出神经元组成。通过建立在感知器上可以获得大量的神经网络风味。这些网络中的每一个都比其他网络更适合特定的应用程序。图 11 显示了近年来创建的众多神经网络架构中最常见的三种。
深度前馈神经网络(图 11a)是一种结构,其中两个相邻层之间的神经元完全互连,信息流仅在一个方向上,从系统的输入到输出。这些网络可用作通用分类器,并用作所有其他类型的深度神经系统的基础。
图 11.深度神经网络架构
深度卷积神经网络(图 11b)改变了视觉感知方法的开发方式。这种网络由交替的卷积层和池化层组成,它们通过从输入数据中进行泛化来自动学习对象特征。这些学习到的特征被传递到一个完全互连的前馈网络进行分类。这种类型的卷积网络是图 10 所示的汽车检测架构和第1 部分中描述的用例的基础。
虽然深度卷积网络对视觉识别至关重要,但深度递归神经网络(图 11c)对于自然语言处理至关重要。由于隐藏层中神经元之间的自递归连接,此类架构中的信息是时间相关的。网络的输出可能会根据数据输入网络的顺序而有所不同。例如,如果在单词“mouse”之前输入单词“cat”,则会获得某个输出。现在,如果输入顺序改变,输出顺序也可能改变。
机器学习算法的类型
尽管深度神经网络是复杂机器学习挑战中最常用的解决方案之一,但还有各种其他类型的机器学习算法可用。表 1 根据它们的性质(连续或离散)和训练类型(监督或无监督)对它们进行分类。
表 1. 机器学习算法的类型
机器学习估计器可以根据其输出值或训练方法进行粗略分类。如果后者估计连续值函数(即连续输出),则该算法被归类为回归估计器。机器学习算法在其输出为离散变量时称为分类器。第1 部分中描述的交通标志检测和识别系统是此类算法的一种实现。y
? Ry ? {0,1,…,q}
异常检测是无监督学习的一种特殊应用。这里的目标是识别数据集中的异常值或异常。异常值被定义为与应用程序中常见的特征向量相比具有不同属性的特征向量。换句话说,它们在特征空间中占据不同的位置。
表 1 还列出了一些流行的机器学习算法。这些将在下面简要说明。
线性回归是一种用于将线、平面或超平面拟合到数据集的回归方法。拟合模型是一个线性函数,可用于对实值函数进行预测y。
逻辑回归是线性回归方法的离散对应物,其中将映射函数给出的预测实数值转换为概率输出,表示输入数据点属于某个类别。
朴素贝叶斯分类器是一套建立在贝叶斯定理基础上的机器学习方法,它假设每个特征都独立于其他特征。
支持 向量机 (SVM)旨在使用所谓的边距计算类之间的分离。边距被计算为尽可能宽,以便尽可能清楚地分开类。
集成方法,如决策树、随机森林或AdaBoost组合了 一组基分类器,有时称为“弱”学习器,目的是获得“强”分类器。
神经网络是机器学习算法,其中回归或分类问题由一组称为神经元的互连单元解决。本质上,神经网络试图模仿人脑的功能。
k-means 聚类是一种用于将具有共同属性的特征组合在一起的方法,即它们在特征空间中彼此接近。k-means 根据给定的集群数量迭代地将共同特征分组到球形集群中。
Mean-shift也是一种数据聚类技术,它对于异常值更通用和稳健。与 k-means 不同,mean-shift 只需要一个调整参数(搜索窗口大小),并且不假定数据簇的先验形状为球形。
主成分分析 (PCA)是一种数据降维技术,它将一组可能相关的特征转换为一组称为主成分的线性不相关变量。主成分按方差顺序排列。第一个组件具有最高的变化;第二个在此之下有下一个变化,依此类推。
第三部分在功能安全要求的背景下评估这些机器学习算法。
审核编辑:郭婷
-
神经网络
+关注
关注
42文章
4814浏览量
104095 -
机器学习
+关注
关注
66文章
8510浏览量
134897
发布评论请先 登录
神经网络教程(李亚非)
labview BP神经网络的实现
基于赛灵思FPGA的卷积神经网络实现设计
神经网络结构搜索有什么优势?
【AI学习】第3篇--人工神经网络
卷积神经网络模型发展及应用
卷积神经网络简介:什么是机器学习?
为什么使用机器学习和神经网络以及需要了解的八种神经网络结构

评论