机器学习在自动驾驶中的应用
Posted 机器AI学习 数据AI挖掘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习在自动驾驶中的应用相关的知识,希望对你有一定的参考价值。
想了解更多好玩的人工智能应用,请关注公众号“机器AI学习 数据AI挖掘”,”智能应用"菜单中包括:颜值检测、植物花卉识别、文字识别、人脸美妆等有趣的智能应用。。
如今,机器学习算法已广泛用于寻找解决方案,以解决自动驾驶汽车制造中出现的各种挑战。通过将传感器数据处理并入汽车的ECU(电子控制单元)中,对提高机器学习的利用率以完成新任务至关重要。潜在的应用包括通过来自不同外部和内部传感器(例如激光雷达,雷达,摄像机或IoT(物联网))的数据融合来评估驾驶员状况或驾驶情况分类。
运行汽车信息娱乐系统的应用程序可以从传感器数据融合系统接收信息,例如,如果发现驾驶员的不适,可以将汽车定向到医院。该基于机器学习的应用程序还包括驾驶员的语音和手势识别以及语言翻译。这些算法分为无监督和有监督算法。两者之间的区别在于他们的学习方式。
监督算法利用训练数据集进行学习,并且继续学习直至达到他们所渴望的置信度(将错误概率降到最低)。监督算法可以细分为回归,分类和异常检测或降维。
无监督算法尝试从可用数据中获取价值。这意味着在可用数据内,算法会发展一种关系,以检测模式或根据数据集之间的相似度将数据集划分为子组。无监督算法可以大体上分为关联规则学习和聚类。
强化算法是另一套机器学习算法,介于无监督学习和有监督学习之间。对于每个培训示例,监督学习中都有一个目标标签。在无监督学习中根本没有标签;强化学习包括时间延迟和稀疏标签-未来的回报。
代理根据这些奖励学习在环境中的行为。理解算法的局限性和优点并开发有效的学习算法是强化学习的目标。强化学习可能会涉及从AI问题到控制工程或运营研究的大量实际应用,所有这些都与无人驾驶汽车的开发有关。这可以分为间接学习和直接学习。
在自动驾驶汽车中,机器学习算法的主要任务之一是连续渲染周围环境并预测这些周围环境可能发生的变化。这些任务分为4个子任务:
物体的检测
物体识别或识别物体分类
运动的对象定位和预测
机器学习算法大致分为4类:决策矩阵算法,聚类算法,模式识别算法和回归算法。一类机器学习算法可用于完成2个或更多子任务。例如,回归算法可用于对象定位以及对象检测或运动预测。
决策矩阵算法
决策矩阵算法系统地分析,识别和评估信息和值之间的关系的性能。这些算法主要用于决策。汽车是需要刹车还是需要左转弯,是基于这些算法对物体的下一个运动的识别,分类和预测的置信度。决策矩阵算法是由独立训练的各种决策模型组成的模型,并且以某种方式将这些预测进行组合以进行总体预测,同时减少决策错误的可能性。AdaBoosting是最常用的算法。
AdaBoosting
自适应Boosting或AdaBoost是多种学习算法的组合,可用于回归或分类。与任何其他机器学习算法相比,它克服了过度拟合的问题,并且通常对异常值和嘈杂的数据敏感。为了创建一个强大的复合学习器,AdaBoost使用了多次迭代。因此,它被称为自适应。通过迭代添加弱学习者,AdaBoost可以创建强学习者。一个新的弱学习者将附加到该实体,并调整权重向量,以便注意先前轮次中错误分类的示例。结果是,分类器的准确性比弱学习者的分类器高得多。
AdaBoost有助于将弱阈值分类器提升为强分类器。上图描述了一个代码易于理解的单个文件中AdaBoost的实现。该函数包含一个弱分类器和增强组件。弱分类器尝试在数据维度之一中定位理想阈值,以将数据分为2类。分类器由增强部分迭代调用,并且在每个分类步骤之后,它都会更改未分类示例的权重。因此,创建了一系列弱分类器,其行为类似于强分类器。
聚类算法
有时,系统获取的图像不清晰,很难定位和检测物体。有时,分类算法可能会丢失该对象,在这种情况下,它们将无法分类并将其报告给系统。可能的原因可能是不连续的数据,很少的数据点或低分辨率的图像。聚类算法专门用于从数据点发现结构。它描述了方法的类别和诸如回归之类的问题类别。通常通过对诸如分层和基于质心的方法进行建模来组织聚类方法。所有方法都涉及利用数据中的固有结构将数据完美地组织为最大共有性的组。K均值,多类神经网络是最常用的算法。
K均值
K-means是著名的聚类算法。K均值存储k个质心,可用于定义聚类。如果某个点比任何其他质心更靠近该群集的质心,则称该点位于特定群集中。通过在根据数据点对群集的当前分配选择质心与根据当前质心将数据点分配到群集之间交替。
K均值算法–群集质心表示为十字形,训练示例表示为点。(a)原始数据集。(b)随机初始簇质心。(cf)进行两次k均值迭代的演示。每个训练示例在每次迭代中分配给最接近的聚类质心,然后将每个聚类质心移动到分配给它的点的均值。
模式识别算法(分类)
通过高级驾驶员辅助系统(ADAS)中的传感器获得的图像包含各种环境数据;通过排除不相关的数据点,需要对图像进行过滤以确定对象类别的实例。在对对象进行分类之前,模式识别是数据集中重要的一步。这种算法定义为数据约简算法。
数据约简算法有助于减少对象的数据集边缘和折线(拟合线段)以及边缘的圆弧。直到一个角,线段与边缘对齐,然后将开始新的线段。圆弧与类似于弧的线段的序列对齐。以各种方式,将图像的特征(圆弧和线段)组合以形成用于确定对象的特征。
通过PCA(原理成分分析)和HOG(定向梯度直方图),SVM(支持向量机)是ADAS中常用的识别算法。还使用K最近邻居(KNN)和贝叶斯决策规则。
支持向量机(SVM)
SVM依赖于定义决策边界的决策平面概念。决策平面将由不同类成员组成的对象集分隔开。下面是一个示意性示例。在这种情况下,对象属于RED或GREEN类。分隔线将红色和绿色对象分开。落在左侧的任何新对象都标记为红色,如果落在左侧,则标记为绿色。
回归算法
这种算法擅长预测事件。回归分析评估2个或更多变量之间的关系,并整理变量在不同尺度上的影响,并且主要由3个指标驱动:
回归线的形状。
因变量的类型。
自变量的数量。
图像(摄像机或雷达)在ADAS的驱动和定位中起着重要作用,而对于任何算法,最大的挑战是开发基于图像的模型进行特征选择和预测。
回归算法利用环境的可重复性来创建图像中给定对象的位置与该图像之间关系的统计模型。通过允许图像采样,统计模型提供了快速的在线检测,并且可以离线学习。它可以进一步扩展到其他对象,而无需广泛的人工建模。对象的位置由算法返回,作为在线阶段的输出和对对象存在的信任。
回归算法还可用于短期预测,长期学习。可用于自动驾驶汽车的这种回归算法包括决策森林回归,神经网络回归和贝叶斯回归等。
神经网络回归
神经网络用于回归,分类或无监督学习。他们对未标记的数据进行分组,对数据进行分类或在经过监督的训练后预测连续值。神经网络通常在网络的最后一层使用逻辑回归的形式将连续数据更改为变量,例如1或0。
在上图中,“ x”是从网络的上一层转发过来的输入要素。将多个x馈入最后一个隐藏层的每个节点,并将每个x乘以w(对应的权重)。为了产生偏差,将乘积的总和相加并移至激活函数。激活函数是ReLU(整流线性单位),通常使用,因为它不会像S型激活函数那样在浅梯度上饱和。ReLU提供一个输出,每个隐藏节点的激活a,激活被添加到输出节点中,从而传递激活的总和。这意味着,执行回归的神经网络包含单个输出节点,并且该节点会将前一层的激活总和乘以1。结果将是网络的估计值“ y hat”。“ Y hat”是所有x映射到的因变量。您可以通过这种方式使用神经网络来获取将x(自变量数量)与y(要预测的变量)相关的函数。
以上是关于机器学习在自动驾驶中的应用的主要内容,如果未能解决你的问题,请参考以下文章