人工智能时代来临!——你需要掌握的基础知识

人工智能

 
 

       随着人工智能浪潮席卷全球,大家开始频繁的听到一些专业词汇,如人工智能(Artificial Intelligence),机器学习(Machine Learning),深度学习(Deep Learning)等。这些词汇到底指的是什么?它们之间的区别和联系都是什么?让美名软件的数据工程师,带你一窥究竟。

 

       人工智能的概念诞生于1956年,科学家们试图通过那时刚刚出现不久的计算机模拟极其复杂的人类智慧,结果虽不尽如人意,但人工智能的种子悄然生根发芽。在之后半个世纪的时间中,人工智能慢慢演化成为科技领域的一种,概念非常广泛,涵盖了多个学科,如计算机视觉、自然语言理解与交流、认知与推理、机器人学、博弈与伦理和机器学习。

 

       机器学习作为人工智能其中的一个领域,是一种重要的实现人工智能的方法。机器学习最基本的做法是使用某种特定的算法分析数据,并从中学习,得到一个知识模型,最后使用该模型对真实世界中发生的各种情形提供预测或决策依据。机器学习早已广泛应用各个领域,搜索引擎会判断哪个搜索结果更适合,邮件过滤系统会过滤掉垃圾邮件,音乐软件会根据你的听歌历史定位你的喜好并精准推荐,超市会根据机器学习算法摆放货架商品。

 

       深度学习属于机器学习这个学科中的当红流派,是神经网络算法的衍生,其动机在于建立、模拟人脑进行分析学习的神经网络,模仿人脑的机制来解释数据。依托于当前计算机越来越强大的算力,需要大量计算支持的深度学习在2012年后实现了跨越性的进展。深度学习在图像、文本等方面有着广泛的应用场景,下面一个有趣的应用是使用深度学习创作古诗,大家可以感受一下这些诗句的意境,如:“千秋明月照幽窗,一夜西风满院凉。山寺钟鸣惊宿鸟,水边芳草自生香”。“客梦初醒惊夜雨,西窗帘外月如钩。梧桐落叶知秋意,一任相思到白头”。“孤舟一叶泊江头,雁去无声送客愁。莫道春来芳草绿,人间万里尽风流”。

 

       做为介绍性的文章,本文不会出现任何的数学公式,若大家对某个特定的领域感兴趣,推荐观看Andrew Ng的机器学习课程。

 

 
 

机器学习——人工智能领域的核心

 
 

       机器学习是用来实现人工智能的概念并延伸出各种应用的算法和方法,是人工智能领域的核心之一。

 

        那么机器学习算法到底是干什么的呢?下面是一个通俗易懂的例子,假设有一天,你去楼下的超市买西瓜,显然你偏爱口味更甜的,那么问题来了,你究竟应该如何挑选西瓜呢?你回想起来曾经有人告诉你,瓜皮纹理更清晰的,表面更匀称的西瓜会比较甜。因此你就按照这个标准选了几个西瓜并带回了家。

 

       然而等你真正品尝了这几个西瓜以后,你发现实际上只有一个西瓜味道比较好,其它的要么口感太淡,要么汁水太少。

 

       你心有不甘,问了很多朋友和长辈,并按照他们提出的标准,诸如拍瓜皮听声音是否清脆,看瓜蒂有没有干枯等尝试了很多次,最终你得到了一个综合标准:瓜皮清脆的,纹理清晰的,瓜蒂干枯肯定是甜的!

 

       得到结论后,你觉得很有自豪感,然而等你再去楼下的超市买西瓜的时候,你发现超市暂停营业了,你只能在附近的水果店里挑选了。不巧的是,水果店里的西瓜产地与超市里的不同,按照你之前的标准选择的西瓜口感完全不一样。没办法,经过了多次的尝试,你终于调整好了属于这个产地的西瓜的评判调准。

 

       实际上,上述场景完全属于机器学习算法的强项。机器学习算法可以根据所提供的数据进行自动的学习,通俗来说就是让你的程序更加“聪明”。

 

       你可以从你家附近的各个买西瓜的地点购买一些西瓜作为样本(训练数据集),然后设置一些评判标准,比如瓜皮颜色,条纹形状,西瓜产地,购买地点等(特征),还有甜度,是否多汁等(输出)。最后将这些数据使用机器学习算法进行训练(分类算法或回归算法),你就构建了一个西瓜是否好吃的模型。

 

       当你下次再去买西瓜的时候,你就可以把瓜皮颜色,条纹形状等属性(测试数据)提供给机器学习算法,算法会根据之前训练好的模型进行预测,告诉你这个西瓜是不是多汁,是不是好吃。重要的是,随着你买西瓜次数的增多,你的模型会趋于完善,当预测错误的时候会自我矫正,变得越来越精准。更美好的是,你可以利用相同的算法,通过提供不同的训练数据训练得到不同的模型,比如苹果,橘子,香蕉,芒果等等。

 

       也就是说,不同于传统的计算机编程方式,机器学习不需要人为的总结经验,而是只需要把大量数据输入给计算机,计算机会自己总结经验并归纳逻辑。这个过程就叫做训练,训练得到的产物就是模型,这个模型的作用就是代替人去做判断,训练适当的模型甚至可以达到或大大超越人类的判断准确度。

 

      根据任务的不同,机器学习可以被划分为两个大类:监督学习、无监督学习。而无监督学习则是通过对无标记训练样本的学习来揭示数据的内在性质和规律,即除了纯粹的数据外,不再提供任何额外的信息。下面我们来详细了解一下这两类最重要的机器学习技术。

 

 

1

 
 

监督学习

监督学习通过已有的训练样本去训练并得到一个模型,再利用这个模型把所有的输入映射为对应的输出。通俗地说,监督学习是人来教计算机如何“学习”。

 

比如上文我们提到的挑选西瓜的例子,你已经有了一定的知识和经验积累,并告诉计算机一些初始的结论,即瓜皮纹路清晰的,敲击清脆的西瓜是好吃的,瓜皮纹路清晰的,敲击较闷的只有50%的可能性是好吃的。

 

再如仔细思考一下你童年时是如何区分猫和狗的,一开始你的长辈指着某只小狗告诉你它是小狗,指着另一只小猫告诉你它是小猫。也许你会把第二只小狗误认为是小猫,但是随着长辈的纠正和所见猫狗的次数增多,你就不会再分辨错误了。某天,你可能是第一次见到一只哈士奇或雪瑞纳,但是之前你对于分辨中华田园犬的经验会告诉你,它绝对是狗而不是猫(虽然你可能完全说不清楚你究竟是以什么标准判断它们或你大脑中的判断过程到底是什么样的)。

 

监督学习的两大类是回归分析(Regression)和分类(Classification),回归分析简单来说就是找到一个函数f(x)能够最符合已知的数据,然后就可以用f(x)来预估其它未知的数据了。而分类就是已知一些数据和这些数据的标签(即该条数据属于哪一类),学习了这些数据后得到一个模型,再输入某个数据时,模型能够给出这条数据的标签。

 

支持向量机(Support Vector Machines,以下简称SVM)可以说是最知名的分类学习算法,SVM广泛应用在人脸识别、垃圾邮件过滤、垃圾短信识别、色情图片鉴定等领域中。

 

 SVM是90年代中期发展起来的基于统计学习理论的一种机器学习方法,想要完全理解SVM的原理需要足够的数学知识,所以下文将通过一些图简要解释SVM的基本概念。

 

假设现在桌面上摆放了蓝色和红色的小球,让你使用一根棍子分开它们,请问怎么做最好?

当然,棍子的摆放方法很多,下面就是一种解决方案:

可是若是放置了更多的球以后,似乎棍子的摆放就有些不合适了:

实际上,SVM算法就是试图把棍子摆放在某个最佳位置上,好让棍子的两边都有尽可能大的间隙。下面就是一个更好的摆放方案。

如果这样摆放棍子,即使再加入一些球,棍子仍然是一个好的分界线。

上述的例子很浅显,但是大家可能会问,这些小球的意义是什么?这个例子试图说明什么?

 

实际上,你可以把小球理解为需要SVM算法区分开来的两种对象,比如香蕉和苹果,好吃的西瓜和难吃的西瓜,猫和狗,垃圾邮件和正常邮件等等。

 

在二维的数据集上,我们可以直观的感受这个分界线,但是当数据集的维数增加后,是很难直接观察出分界面的位置的。事实上,真实的数据集往往有很大的维数,比如区分香蕉和苹果时,颜色、形状、重量、果肉比重等等均代表了某个特征。

但是,事情往往没有那么简单,加入桌面上的小球如下摆放时,又该怎么办呢?

很明显,只使用一根棍子已经没有办法分开两种颜色的球了,此时就是核函数出场的时机了。

其实,大家可以回想一些武侠片的场景,侠客一拍桌子,把所有的球震飞到空中,然后在某个时刻用剑锋巧妙的一划,就把两种球分开了。

也许二维的展示效果不明显,下面是一个视频:

把上文所描述的场景对应到SVM中来,即球就是数据集(data),棍子就是分类器(classifier),拍桌子就是核化(kernelling),剑锋就是超平面(hyperplane)。

 

 

2

 
 

无监督学习

无监督学习与监督学习最大的差异就在于已知数据是否有标签,通俗来说,小时候你的长辈告诉你什么是狗,什么是猫,这就是监督学习。而假如小时候没人告诉你哪个是狗哪个是猫,但是你根据两者的样子等特征鉴别出这肯定是两种生物,并且能够归类,这就是无监督学习。

 

聚类(Clustering) 就是一种典型的无监督学习,用中国的古话来说就是“人以类聚,物以群分”。聚类算法会把相似的东西分到一组,且在聚类的过程中并不关心某一类是什么,只关心是否相似,因此聚类算法通常并不需要像分类一样使用训练数据。

 

聚类算法的应用很广泛,例如在商业活动中,聚类分析被用于刻画不同的客户群体,也就是所谓的用户画像。例如营销数据提供商Acxiom利用聚类把美国家庭分为了70个不同的类簇,分属21个人生阶段分组,这些结果用于指导广告的定向投放,也就是说,同样是观看Youtube,投放给用户的广告根据用户所属的类别是完全定制化的。

 

K-means算法可能是最知名的聚类算法了,下面是K-means算法的一个简要示意图:

K-means算法分为两个步骤,第一步是簇的分配,随机选择K个点作为中心,计算其它数据点到这K个点的距离,并把它归到距离最近的中心所代表的类簇,第二步是移动该中心,即重新计算每个类簇的中心,并移动该中心,重复,直到达到某个预设的阈值。

 

 
 

 

深度学习——机器学习的新宠儿

 
 

       得益于计算机计算能力的大幅增强,2017年 Google携 AlphaGo 击败各路围棋世界冠军,也让深度学习的概念深入人心。其实深度学习并不是一种独立的学习方法,而是从神经网络发展而来,其本身会用到监督学习和无监督学习的学习方法来训练深度神经网络。

 

       深度学习的原理较为复杂,下面是一个关于神经网络的通俗易懂的视频,可以让大家一窥深度学习的魅力。

点击边框调出视频工具条
 

 

 

 
 
 

希望和我们进一步交流?

期待与我们合作,一起来让您的设备或产线更智能?

欢迎联系我们。

邮箱:info-cn@mm-software.com

电话:0512-6807 5718

 

 

联系方式
苏州美名软件有限公司
中国江苏苏州工业园区
金鸡湖大道1355号
国际科技园二期C303
215021
电话:+86(0)512 68075718
业务咨询:转1009,1054
市场合作:转1006
传真:+86(0)512 68075728
联系我们!
info-cn@mm-software.com
微信公众号