5G时代,AI能走多远?
时间:2019-04-29
来源:人民邮电报
5G时代,AI能走多远?
公元2039年,早上7点钟,大刘匆匆忙忙吃过早饭,点了一下手机中的“App”一键唤车功能,他的小汽车自动从地库驶出,停泊到上车的地点。大刘背着书包走近汽车。布满汽车周围的感应探头识别出车主的模样,自动打开车门,并开始播放大刘在上班路上经常听的财经新闻频道,座椅按照车主惯常的坐姿自动进行了位置调整,进入自动驾驶。汽车通过密布车辆周围的探头信息识别周围车况,并实时通过超高速的5G带宽将收集到的数据回传5G云端。云端超大的计算能力不仅分析整体城市路况,同时根据中心化数据处理能力适时调整小车的行驶路线,躲避拥堵路段。AI技术不仅介入了车辆的边缘计算,实现了路况的实时感知,同时也借助基于5G高速通信网络的云端处理单元,对于一些汇总的信息数据进行集中分析,并针对一些特殊路段的车辆自动驾驶进行接管,同时全程实现车辆自动导航。在此期间,大刘舒服地小憩了20分钟,这样的场景并不遥远。随着云端AI处理能力的提升,以及5G通信网络对于交互速率和时延的优化,密布车辆周围大量摄像头、传感器、雷达以及复杂的计算单元可以大幅度削减,从而使得低成本的自动驾驶技术实现大众应用成为可能。
以上描绘的日常普通通勤场景并不是不可预期的美好梦想,也许在不久的5~10年就可以真正实现。实现智能化的自动驾驶取决于两个关键因素,其一需要有高速且超低时延的稳固信息交互连接,另外一点就是在边缘以及中心云化节点所部署的人工智能技术进行实时的分析处理。人工智能技术目前主要在图像识别、语音语义识别和翻译等领域大放异彩,这一方面由于图像、语音识别等领域已经在原始训练数据的积累方面有了大量可靠的标注样本,比如在类似河南这样的人口大省有很多较小规模的人工智能公司专门从事图像、图片的人工标注工作,这些宝贵的训练样本获取所需人工成本较低;另一方面,人工方式对于图像进行标注专业门槛较低,标注质量也能得到有效保障;除此之外的因素是互联网普遍使用,由于互联网的信息获取的便捷性使得获取数据的成本进一步降低,同时可以短时期内积累超大量的训练数据,这几个因素恰恰是其他专业领域行业应用中由于各种各样的原因所缺乏的。尽快面临着诸多不确定因素,我们仍然可以通过大致回顾剖析目前业界流行的人工智能技术尝试寻找“破局”的思路。
数据挖掘、机器学习、人工智能这三个名词在业界一直有各种定义和解读,如果站在具体算法层面,这三种说法本质上一样,都是基于统计学、数学、仿生学、计算机技术等交叉学科的基础所形成的特定数据分析方法,其目标是根据已有数据信息进行分析处理,最终产生知识或者进行预测的整个过程。为了便于理解,我们将三个概念合三为一,而不进行特别区分。(注:广义人工智能包含自动化、机器人等拓展概念)
人工智能(AI)算法按照训练样本数据的标注程度可以分为“监督式学习”和“无监督学习”两大阵营,而近年来业界热度比较高的“半监督学习”和“强化学习”可以算是这两大类经典AI算法阵营的衍生物。监督式学习与无监督式学习算法的重要区别在于预先获取数据样本中是否有标注。所谓标注的概念非常简单,例如在互联网中对于一张猫的图片可以标注为“1”(是猫)或“0”(不是猫),这里的“1”和“0”就是标注信息,标注可能是离散型数值也可能是连续型数值,甚至也可能是名词类数据。监督式学习包含了基于离散标注数据进行分析预测“分类算法”和基于连续性标注数据进行分析的“回归算法”。无监督式学习主要包含了聚类算法和关联分析类算法。分类算法作为一种需要借助预先标注信息进行分析输出的算法占据了业界应用的主流。近年来业界很流行的神经网络、深度学习本质属于分类算法的范畴。
监督式学习阵营中包含KNN(K近邻算法)、决策树、GBDT/随机森林/AdaBoost、朴素贝叶斯、逻辑回归、SVM(支持向量机)、神经网络(深度学习)等业内比较流行的机器学习算法。无监督式学习阵营中包含经典的K-Means(K均值)算法、DBSCAN算法以及一些与关联分析相关的算法(Apriori、FP-Growth树)。除此之外,我们将一些与数据预分析处理的算法也纳入这个范畴,包括主成分分析(PCA)实现数据降维、矩阵奇异值分解(SVD)实现数据降维等。尽管还有一些诸如遗传算法、蜂群算法、退火算法等针对“非凸优化”问题求解的算法,这些算法本质上属于多目标并行处理的效率优化问题,并不在此进行扩展讨论。
KNN算法是机器学习中最容易实现的算法,该算法通过和已有数据样本根据“距离”基础进行相似性比对,从而实现新的数据样本分类或者预测。KNN算法可以应用在许多领域中,例如存储文件搜索、低像素维度的图像识别、电影评级、约会网站推荐等许多有趣的应用。该算法的劣势也很明显,在训练学习中需要通过遍历的方式,耗时较长,而且每次对于新的数据预测无法实现“在线更新”,只能依赖“离线方式”进行遍历,效率较低,同时,算法可解释性较差,“知识”不易于累计存储。
决策树算法是非常经典的机器学习算法,该算法很形象地以“树”的结构基于训练数据样本对信息进行划分呈现。决策树并不是简单的“IF-ELSE”逻辑划分,“树杈节点”根据信息论中的“熵”的概念进行划分。其“树杈划分”的基本思想是在每次“树杈节点”的划分中都把当前最具有典型代表意义的数据样本划分一组,剩下数据按照这样的方式继续划分,直到形成“叶子节点”。决策树算法的划分宗旨是使得“树”的结构越清晰越简化越好,这符合“信息熵”理论中能耗越低越稳定的设计理念。决策树应用的场景也比较普遍,对于数据规模较小的标称型数据的分析预测非常有效,例如生物学家根据海洋生物的特征进行鱼类或者哺乳类动物的划分。决策树算法可以解决二分类问题,也可以对多分类目标进行求解。另外,决策树算法还可以进行“知识沉淀”,可以在抽象的数据中将事物内在的规则显性化。当然,决策树算法在应用中也有很多的局限,首先,决策树是基于贪心算法的一种寻优划分策略,往往找到的不是全局最优解;其次,当训练样本数据众多的时候,庞大繁杂的“树”结构容易造成过拟合问题,使得算法预测精度下降。尽管像基于数值处理的CART树能够通过全局遍历的方式改进贪心算法局部解的问题,但依然存在过拟合使得算法性能下降的问题。
在机器学习中,使用单决策树进行预测,预测精度往往不是很高。这时可以采取“众筹决策”的方式来提升,这里“众筹决策”指的是集成学习算法,业内比较流行的随机森林、GBDT(Gradient Boosting Decision Tree)、AdaBoost等都属于这一算法类别。所谓“众筹”或者“集成”概念是通过参考多个强决策器的共同决策结果,从而规避单个弱决策器的预测精度局限的一种技术手段提升。虽然以上三种算法同属一个概念范畴,但提及的这三种流行算法在具体原理以及实现方面还是有所不同。集成学习在理论上分为两种,一种是Bagging实现方式,随机森林就属于这一类实现。另外一类是Boosting实现方式,GBDT/AdaBoost属于这一类实现方式。随机森林这个名称很形象地说明了该算法的本质,多棵决策树共同投票决定最终的分类结果,这样从“树”就成长为“森林”,而每棵决策树是从整个数据集中按照一定比例随机选取部分训练数据生长形成。随机森林相比单棵决策树的优势显而易见,其预测精度更高,但解释性较差,同时由于其随机选择部分样本空间的属性导致算法运行对于最终的预测结果有一定的波动性,为了处理这样的随机波动性,Boosting的实现方式得以引入。相比Bagging可基于原始数据样本空间以并行数据处理的方式进行实现,Boosting则以一种串行数据处理的方式进行实现,其基本实现思想为在每次迭代训练过程中将上一次错分的样本权重放大,并在下一次迭代训练中着重聚焦解决历史遗留错分样本,使得每一次的迭代中都能够将预测性能提升(Boosting)。GBDT与AdaBoost同属于Boosting的思想,但二者在具体实现方法上仍有较大的不同,AdaBoost选取的投票基函数(注:就是每次迭代单独产生的决策器)一般选择决策“树桩”这样的单节点的弱分类器,尽管也可以选择其他的分类算法作为基函数,但相关文献表明弱分类器作为基函数的预测效果更加理想,因此AdaBoost一般适用于处理离散数据分类问题,而GBDT是一种基于CART树的Boosting算法,该算法通过每次迭代力图缩小损失函数的残差,从最初始的弱分类器(决策树)不断拟合成长为强分类器(CART树)。GBDT同样可以处理离散型数据的二元或多元分类问题,但其对于连续型数据的回归问题更加直接有效。GBDT在BAT这样的互联网大厂中都有广泛的应用,由于其泛化性能突出,在近年来流行的机器学习算法中占据重要一席。