7月20日晚,极海纵横(GeoHey)核心技术研发总监、机器学习专家——徐翔,就《空间大数据与人工智能的碰撞》从技术原理、创新思维等方面与大家分享了极海在人工智能与空间大数据有机结合方面的经验,为大数据百人会社群带来一个多小时的精彩演讲。
机器深度学习、人工智能技术的诞生进一步拓展了空间大数据的服务能力。人工智能技术不仅能够提升数据处理能力及效率、降低人力消耗,更使得空间大数据服务应用到更多领域。当空间大数据、云计算与人工智能发生碰撞时,地理服务产业势必会发生神奇变革。
徐翔老师从人工智能的由来展开,阐述了人工智能作为总体与其下分支学科的机器学习、神经网络、深度学习之间的区别和联系。然后对极海在人工智能和空间大数据结合应用方面的实际案例做了技术性的讲解,以及大数据思维在人工智能实际应用方面的优势。十足的干货、结合案例的讲解方式,专业的视角和独到的见解吸引了超过一千人次在线观摩学习。
此次沙龙录音内容以第一人称整理。
人工智能是什么?
谢谢主持人。大数据百人会的各位朋友大家好,我是徐翔,在极海主要负责后端核心技术的研发,在人工智能和空间大数据的结合应用方面做了一些尝试,虽然现在仍处在摸索的阶段,但是很高兴能有这个机会和大家聊聊空间大数据与人工智能的碰撞下会产生怎样的火花,给我们带来怎样的机遇和挑战。
相信大家对人工智能、机器学习、神经网络、深度学习这几个词听得不少,从ppt里可以看到,人工智能的范畴最大,机器学习是人工智能的一部分,神经网络是机器学习的一部分,深度学习又是神经网络的子集。实际上现在吵得火热的人工智能主要指的是最小的这个子集,即深度学习。
那么为什么深度学习这个子集能够取得这么大的突破,引起井喷式的关注呢?我们需要回顾一下历史,以及明确这几个词汇的概念,看看为什么人工智能是沿着这一条路发展至今的。
首先我们来看看人工智能。人工智能的提出,是在上个世纪50年代,研究使用计算机来模拟人的某些思维过程和智能行为的学科,简而言之就是用各种零件来构造一个人工的大脑。当然这个概念很大,也很科幻,实际上可操作性并不强。为什么这么说呢?首先我们思考一下什么才是真正的智能?
为了判断计算机是否具有真正的智能,计算机科学家图灵提出了著名的图灵测试:如果一台机器可以和人类对话,而不会被人类识破它的机器身份,那么这个机器就有了真正的智能。如果机器人通过了图灵测试,那么它就一定达到了真正的智能吗?
实际上并非如此。有人提出过一个思想实验,叫Chinese Room,这个思想实验描述了在一间封闭的屋子里,有一个对中文一窍不通,以英语为母语的人,他仅仅依靠一本中英文对照的规则手册,就可以表现得像会说中文一样。如果我们把这个不懂中文的人看成是一个机器人,那么这个机器人可以以假乱真,让房间外的人以为他是中文的母语用户,实际上它并不理解中文。因此,计算机虽然能够接近图灵测试,可是却无法获得人类的理解力和意识,也就很难达到真正的人工智能。
实际上我们现在关注的人工智能,并不是指机器人可以拥有人类的意识,而是依靠大数据、统计学,让机器人可以从过去的经验中总结出知识,而这些更多的是专用的人工智能。专用的人工智能在某些领域可以做得比人类更好更快,但是他们并没有意识,并不明白为什么要这么做。
与依靠大数据、统计学的人工智能相关的,就是人工智能的一个分支,叫做机器学习。从机器学习的学习这两个字可以看出,它研究的是如何从历史的数据中总结出数学模型,从而对新的数据进行预测,比如,机器学习可以从很多的邮件中去学习,从而精准地识别出垃圾邮件;可以根据用户浏览网页的记录来做智能的推荐等等。
那么机器学习具体是如何学习和预测的呢?首先我们需要准备一个训练集,比如ppt里面有一个样本数为4的训练集,这个训练集里的数据描述的是一个房间里面需要的能量与房间内的风速和人数之间的关系,这里风速和人数称为特征变量,能量称为目标变量或者叫做预测变量。机器学习包括了两个过程,首先,第一个过程是训练或者叫学习过程,以ppt里的数据为例,这个过程把4个样本以及对应的目标变量输入到学习器中进行学习,然后输出模型的参数。第二个过程叫测试或者叫预测过程,这个过程输入一个新的样本变量,比如X5,通过使用第一个过程得到的模型参数在预测器中进行预测,输出预测值y5。不同的机器学习算法的区别在于其中的学习器不同,比如有的学习器是线性模型,有的是支持向量机模型等等。
而当这个学习器来模拟人脑神经元的活动和行为时,就构成了下面我们要讲的机器学习里的一类重要算法,神经网络。大家知道,人类的思维和活动是由大脑里面的数百亿个神经元控制的。为了让机器也能拥有复杂的决策能力,科学家们设计了神经网络这套算法。它将多个神经元连接为网络结构,模仿生物神经细胞对信息的加工和分析过程,通过对大量数据进行训练,实现对各层参数的修正,从而实现学习的目的。理论上,只要我们增大神经网络中神经元的层数,就能够训练出能够媲美人类大脑思考复杂度的模型,但是由于数据量有限以及计算能力的限制,在很长一段时间,神经网络没有被广泛应用。
随着大数据时代和云计算的到来,以及GPU计算的发展,我们可以训练越来越复杂的神经网络,并且一些更高效、更专用的神经网络结构相继被提出,由于这些神经网络的层数都特别深,因此被称为深度学习。而这也是我们现阶段取得突破性进展的人工智能技术。那么深度学习有什么特点呢?首先,深度学习的模型十分复杂,这个模型十分复杂,通常具有数十亿个参数,你可以想象,线性模型可以拟合线性的相关关系,上亿个参数的模型几乎可以拟合这个世界上任意的非线性关系,而这个特点也使得我们只能把它当一个黑箱使,而不清楚它内部的原理;
其次,深度学习设计的神经网络可以在繁杂的数据中自动提取多个多层次的特征,去辅助最后的预测,而传统方法大多依靠人工规则去手动提取单一的特征,这是深度学习区别于传统机器学习的一大特点。传统的机器学习很依赖于对数据的特征工程,这需要很强的经验,而深度学习则可以自动从裸数据中去提取这样的特征。深度学习的特点要求了必须要有海量的数据和超强的计算能力。而大数据、GPU和云计算发展到今天已经很成熟了,这也是深度学习在这几年取得突破的客观原因。
谈起深度学习,大家可能马上想到的是alphaGO,其实深度学习在语音识别、图像识别、自然语言处理以及机器人等领域都取得了很大的突破。虽然人工智能在很多领域取得了突破,想要把这些技术应用到行业中来,还存在许多的挑战。但是现在各行各业发展的一个趋势都是把人工智能的技术落地,结合人工智能,从精度和效率上提升传统的方法。
刚刚和大家梳理了人工智能发展到今天的进程。大家可以了解到,直到今天计算机在获得人类意识上可以说还没有获得任何进展,反倒说依靠大数据和概率统计我们找到了一条独特的人工智能发展道路。而这也是人工智能的分支机器学习、神经网络以及深度学习为什么能够取得突破的原因。在这个过程中,大数据扮演着一个十分重要的角色,特别是在深度学习时代,没有海量的数据,人工智能就无从谈起。因此,下面我们聊一聊人工智能和大数据碰撞在一起,有什么挑战和机遇。
空间大数据与人工智能的碰撞
因为我所在的极海接触最多的是地理大数据,因此,今天我就以空间大数据为例,讲讲在人工智能和大数据碰撞在一起的时候,我们总结出的一些经验,这些经验是如何帮助我们更好地将这二者结合,更有效地发挥二者的效力,从而取得传统方法难以取得的一些成绩。
在结合空间大数据和人工智能的过程中,我们做的第一件事情是开发了多源数据融合的工具,搭建从位置数据到人工智能的桥梁。大家知道,空间位置数据具有多维度、多尺度的特点,什么意思呢? 一个地点具有多种维度的信息,并且这些信息并不一定是在同一个尺度上的,这里的尺度可以理解为分辨率。比如,我们现在在北京市朝阳区,朝阳区有许多维度的特征,比如房价、GDP、各类POI的个数,河流、道路、建筑、土地利用分类、人口分布等等,然而每种维度的尺度或者说分辨率又是不尽相同的,比如土地利用分类是10米分辨率的数据,而灯光图是30米分辨率的数据等。
针对不同的问题,我们需要选择一个合适的尺度,对不同分辨率的数据进行重采样或是超采样,通过这种方式,凡是和空间位置相关的数据,不管是点、线、面的矢量数据,还是多波段的影像数据,或是统计数据,我们都能够在任意一个尺度的等积格网、交通小区乃至行政区划上进行聚合。有了这个多源数据融合的工具,我们才能够把位置之上的所有维度的信息统一收集起来,为下一步的学习做准备。
我们做的第二件事情是使用人工智能编码广义的空间坐标来挖掘地理要素间的隐含关联。大家都知道传统地理要素的「空间坐标」由 [x, y, z] 三个维度组成。而前面我们知道地理要素有许多和位置相关的信息,比如房价、人口、土地利用等等。很自然我们可以把这些维度的信息也加入到空间坐标中,形成一个高维的广义的空间坐标。这里请大家注意,这种广义的空间坐标并不是把各类指标的值放在一个向量里就完了,而是通过人工智能的方法把可能数百种指标进行相关性去除、卷积组合形成的一个新的更能直接表达地理要素特征的广义坐标。这是个很有意思的事情,大家知道计算机使用数字来表达现实世界里的事物,因此,如何选择合适的数字表达就显得十分重要。在自然语言处理里面,专门有一个叫word2vector的神经网络模型来提取文字的向量表达。对于空间位置,我们也同样训练了一个深度卷积神经网络来提取位置的数字表达。
当我们有了这种使用广义空间坐标表达空间要素的方式,通过定制的空间邻近算法就可以快速进行地理要素的查询检索。正是基于这样的灵感,我们可以给任意一个地块计算出它的广义空间坐标,这是一个2000维的向量,通过比较向量的邻近关系来快速进相似的地物的搜索。
我们的第三个事情是使用深度卷积网络来同时对地理空间与地理特征进行优化组合。
当我们使用多源数据的融合工具准备好了训练数据,我们下一步考虑的是如何在模型里最大限度地提取数据的关联信息。这里的关联信息包括两个方面,一个方面是不同维度的特征的组合,比如我们知道近红外波段和绿光波段的线性组合与河流水体有很大的联系,灯光图的亮度和经济发展水平很很强的相关关系等等;另一个方面的关联是同一个维度在空间上的相关关系,因为空间是连续的,所以相邻的位置会互相影响,并且这个影响会随着距离的衰减而减少。传统的方法通常采用具体的规则来建模这两种联系,比如,对于第一种联系,我们会定义各种指标,刚刚说的用来提取河流水体的就是NDWI指标。对于第二种联系,我们可能会用一个二次函数来做拟合。
那么是否有一种方法可以同时表达这种联系,并找出对最优的联系呢?我们发现深度学习里的卷积神经网络非常适合处理这两种联系。
卷积网络的每一层都是一个三维的数据体,其中的长和宽表达的是特征在空间中的分布,深度表达的则是不同的特征。卷积层越深,其中的特征就越多。最左边的神经网络的输入层包括许多特征,比如RGB波段、各类POI等等,卷积操作可以在某个局部对这一摞的特征进行线性组合,请大家注意,这里的卷积不仅仅是二维空间上的,而是三维空间上的。卷积在二维空间的部分表达了空间的相关关系,多出来的另一个维度表达的则是不同特征之间的相关关系。有了卷积这种操作,我们就可以在原始的特征基础之上进行空间和维度的自由组合来生成新的特征,并且这个过程可以不断进行下去,深度卷积神经网络就是通过不断进行卷积操作,使得随着网络的层数越深,我们得到的特征越来越多,也越来越越抽象,也更能描述现实世界里各个特征之间的联系。
我们在做影像分割的时候把模型提取的特征可视化了出来,大家看到的ppt左边是一张输入的假彩色合成的影像,这是模型的第一层提取出来的特征,大家能看到第一层提取的特征是和形状相关的,因为我们还能大概辨认影像中地物的形状,这是第二层,随着层数越深,提取的特征就越抽象,这时候我们已经无法理解了,但是就是靠着这么多抽象的特征,模型能够给出影像的分割结果来。当然实际的深度卷积模型的层数要比这个多得多,这里只是选了其中的几层,并且每一层的特征也不止这么几个。
这里讲一个我们在农业上应用的例子,我们服务的客户中科院遥感所每年都要对三峡周边的地区进行生态环境的调查,他们之前的做法就是拿遥感影像,然后人工半自动的在一些地理软件里面去识别哪些是阔叶林,哪些是季节性河流,哪些是居民区等等,总共有三十一类的生态覆被。这种方式去做不仅精度不高,而且耗费的时间很长,每年做这件事情都需要一个人大约两个月的时间。当我们使用深度学习对这三十一类生态覆被进行训练,得到的模型可以在两天之内自动获取同等地区的生态覆被情况,并且经过三百多个线下试验点的验证,我们的精度可以达到86%以上。
前面说的几项都是具体的技术细节,最后我想从思维方式的角度来谈谈如何把人工智能结合到空间数据的问题中来。在工业革命时代,机械思维是占主导地位的思维方式,机械思维的特点就是寻求事物的因果关系和精确描述。而大数据思维指导我们通过海量样本寻找数据之间的强相关关系。
以前我们研究地理问题,习惯从机理模型入手,希望想清楚问题的因果关系,然后再去建模分析;这种方法在很多问题上是可行的,但是在有一些问题上实行起来难度会很大。这里我举一个我们给一个连锁零售商进行选址的例子,作为国际顶级的零售商,他们在美国有多年积累的选址模型和方法,然而,这一套选址模型在国内却无法照搬。为什么呢?原因很简单,这张图大概说明了在美国,他们的市场细分的选址模型是怎么建立的,他们先把人群做细分。比如ppt上方的虚线框这一组,他们取名叫做milk and cookies,牛奶饼干,指的就是中产有孩子的家庭,家里平均三口人,住独栋的房子,年龄三十多岁。另外右下角这一组young and restless,年轻躁动,指的是收入低于中产,平均两个人,住公寓,年龄不到三十。大家可以看到,他们的数据真的就把人群划分到这么细致的程度,然后能把地图上的每一个街区都标记上这里住的是哪一类人,最后,比如我是做快餐的,只要建立关联,知道我的顾客是来自哪个人群,那我就知道应该在哪开店,包括开店之后去哪宣传了。
然而在中国,他们习惯用的人口特征数据是没有的,所以他们选址模型的前一半,已有客群的画像只能依靠自己去找些发问卷等等这种既费力,又有很大偏差的方式来获取,而后一半,潜在客群的寻找就更难做通了。
于是我们抛开这种思路,转而使用机器学习的方法从数百类特征中自动学习和人群特征相关性最强的特征。通过这些特征,我们能够描述街区的人群属性,目前我们的模型已经得到了用户的高度认可。
从这个例子可以看出,在人工智能时代,如果我们尝试使用大数据思维来看待地理问题,可能就能够取得以前无法想象的成果。当然只有当训练数据足够多,这种方法才能够奏效,但是换个角度来看,只要我们给模型喂更多的数据,模型的精度就能更高。
机遇与挑战
最后,我想说一下,在运用人工智能的时候,我们还面临着很多机遇和挑战。比如,一个机遇是大数据能够极大的提高深度学习的精度,与之对应的挑战是,大量标注数据的缺乏;另一个机遇是深度学习模型很灵活,很普适,并且相对于传统模型精度很高,但面临的挑战是模型越来越大,越来越复杂,以及越来越难训练的问题。再一个机遇是深度学习能够进行端到端的训练,然而与此同时,我们只能输入数据得到输出,而不知道模型中间做了什么转换。当然我相信对于空间大数据而言,人工智能的介入是机遇大于挑战,有了人工智能的助力,我们能更好的发掘海量数据下隐藏的规律,为各行各业的决策服务。
今天我的分享就到这里,谢谢大家的聆听。