齐乐娱乐

AI测试:让软件测试变得聪明伶俐(上)

${website.getHeaderOriginal(${article.taxonomyName})}

谈起互联网生态··|,就想起BAT··|,但如今百度与阿里、腾讯的差距越来越大··|,百度市值只有662亿美元··|,而阿里的市值已经达到3888亿美元··|,这还不包括未上市的蚂蚁金服··|--。但百度也不甘示弱··|,请来原微软执行副总裁陆奇··|,把自己的未来赌在人工智能(Artificial Intelligence ··|,AI)上··|,今年7月5日宣布启动了名为“阿波罗计划”的自动驾驶开发计划··|--。而从业界看··|,Google的自动驾驶就更加成熟··|,于2012年5月获得了美国首个自动驾驶车辆许可证··|,2015年谷歌已在加州山景城的公路上测试其自动驾驶汽车··|,一年之后Google的自动驾驶已行驶200万英里··|,目前Google自动驾驶汽车计划的目标是在2020 年前解决所有现在自动驾驶汽车尚未解决的问题··|--。除了谷歌··|,苹果、特斯拉、长安汽车等都在自动驾驶领域有很大的投入··|,加上之前AlphaGo打败包括柯洁、李世石在内的所有人类围棋棋手··|,将人工智能(AI)带入浪潮的巅峰··|--。有一个数据也能说明AI是多么的热··|,据英国《金融时报》报道··|,2016年美国斯坦福、伯克利、MIT、CMU等四所名校人工智能专业的优秀博士生第一份工作合同年薪已达到200万美元··|,而互联网精英人才在硅谷现在的起薪是20万美元··|--。

 

AI如此热··|,软件测试自然也给予极大的关注··|--。一年前··|, 我就写过两篇文章:



主要是讨论图灵测试、如何测试人工智能软件··|--。今天写这篇文章··|,是讨论如何将AI应用到软件测试上··|,即应用AI技术测试一般非AI软件··|,彻底提升自动化测试的水平··|,解决一些之前用其它技术不能解决的问题··|--。实际上··|,AI在测试领域已经取得一些实质性的进展··|--。但在讨论这个主题之前··|,我们先快速了解一下什么是人工智能(Artificial Intelligence ··|,AI)|-··?AI有哪些具体的应用和算法|-··?


图1: 人工智能概貌

简单地说··|,AI就是机器实现的人类智能··|,即让计算机实现原来只有人类才能完成的任务··|,即能够以人类智能相似的方式来解决问题··|,包括计算智能、感知智能、认知智能等··|--。最早(1956年)提出的AI是通用的AI概念··|,即指拥有人类的所有感觉、理智··|,能够像人类一样思考的神奇机器··|--。现在还很难做到··|,就退而求其次··|,机器能够将特殊任务处理得同人类一样好(甚至超过人类处理的结果)··|,如图像分类、人脸识别等··|,这就出现了机器学习(狭义的人工智能)··|--。而在机器学习中··|,深度学习是最有效的一类算法··|,目前在深度学习上我们已经获得极大成功··|,AlphaGo就是一个范例··|--。也有学者说··|,复杂的中国驾驶场景··|,正是深度学习的优势··|--。自动驾驶是深度学习和增强学习融合而成的机器学习··|--。所以从时间看··|,上个世纪50、60年代就开始提AI··|,然后到了80年代提出机器学习··|,而深度学习直到2010年才获得实质性的突破··|--。


图2 英国最像人的机器人“索菲亚”··|,可以舌战群儒

AI具体体现在机器人、语言识别、图像识别、自然语言处理和专家系统等方面··|,主要包括以下几个方面的应用:

  1. 人类感情: 分析人脸特征, 应对人类感情(心理治疗)和识别罪犯··|,如英国机器人索非亚就能展现多种表情··|--。

  2. 自然语言处理:语言上下文的理解、生成、翻译、改编··|,如机器翻译、机器新闻编辑等··|--。

  3. 视觉和图像处理:视觉情感、对象识别(如人脸识别、指纹识别)、行为识别、活动识别、自动驾驶等··|--。

  4. 语音:语音识别、声音鉴别、吟诵(语音合成+上下文理解+人类情感模拟··|,包括诗词吟诵··|,甚至有一天说相声、说评书)等··|--。

  5. 机器人:机器学习、多机器人协同(多机器人系统)、多腿行走、感性认知等··|--。

  6. 基于概率的推论:常识、行为推理、非单调性推理等··|--。


从技术上看··|, AI目前依赖机器学习来实现··|,而机器学习的主要算法来自深度学习的算法··|--。在机器学习上··|,主要的算法有:

  1. 感知器(Perceptron)二元线性分类算法··|,属于有监督学习··|--。

  2. SVM(Supportvector machine··|,支持向量机)··|,也是线性分类算法··|,找到“最大间隔”的划分超平面··|--。

  3. 集成学习:主要有Bagging、Boosting··|,将多个弱分类器组合成强分类器··|,从而提升分类效果··|--。

  4. RBM (Restricted BoltzmannMachine··|,受限玻尔兹曼机) 是一种用随机神经网络来解释的概率图模型(probabilistic graphical model)··|--。

  5. DBN(Deep BeliefNetworks··|,深度信念网络)是基于RBM发展而成的深度学习的核心算法··|,得益于对比散度(Contrastive Divergence, CD)的高效近似算法··|--。它由若干层RBM级联而成··|,绕过了多隐层神经网络整体训练的难题··|,将其简化为多个RBM的训练问题··|,使得识别效果和计算性能得到显著提升··|--。

  6. DBM(deepboltzmann machines··|,深度玻尔兹曼机)··|,类似DBN··|,深层次的数据拟合··|,多个RBM连接起来构成DBM··|,模仿人脑多层神经元对输入数据进行层层预处理··|,但DBM是无向图··|,还可以延伸出自编码神经网络和栈式神经网络··|--。

  7. RNN(RecurrentNeural Networks··|,递归神经网络)神经元的输出可以在下一个时间戳直接作用到自身··|--。

  8. CNN(ConvolutionalNeural Network··|,卷积神经网络)是一种前馈的、深层的、非全连接的神经网络··|,其人工神经元可以响应一部分覆盖范围内的周围单元··|,适用于大型图像的处理··|--。

  9. Sparse Coding (稀疏编码)是根据降低变量相关性的方法之一是降低个体的熵··|,从而寻找一个最小熵编码··|,使得每个系数的概率分布是单模态并且在0处是峰分布的低熵(low-entropy)方法··|--。

  10. Bayers Net··|,贝叶斯网络是一个带有概率注释的有向无环图··|,其概率是利用贝叶斯公式计算出其后验概率··|--。贝叶斯分类器是用于分类的贝叶斯网络··|,主要有四种:Naive Bayes、TAN、BAN和GBN··|--。

  11. ......

机器学习还分为有监督学习、无监督学习··|,如:

  • 有监督学习:感知器、SVM、集成学习Boosting、RNN等;

  • 无监督学习:RBM、DBN、DBM、Bayers Net、稀疏编码等··|--。

无监督学习是目前算法的主流··|,而且神经网络算法大部分是无监督学习··|,大部分算法中都应用了概率论··|,虽然没有把它们归为概率模型等··|--。


(未完待续)

${website.getFooterOriginal(${article.taxonomyName})}

发布者 :齐乐娱乐_www.qile518.com_齐乐娱乐官网 - 分类 齐乐娱乐