在这篇文章里,不会有代码不会有理论也不会有什么知识,全部都是个人的一些比较宏观和抽象一点的看法和见解,会尽量浅显易懂除了第五部分以外高中生都能看懂。
主要内容有:
1.目前人工智能、机器学习的局限性
(又名:媒体大肆宣扬人工智能威胁论,工程师笑了)
2.用一个简单的比喻阐述“学习”的本质和价值
(又名:学习的本质是拟合)
3.继续沿用上述的比喻阐述机器学习到底在做什么
(又名:机器学习自带暴力破解法的基因)
4.继续沿用上述的比喻阐述为什么机器学习需要一个生态系统
(又名:现在的小学生都在干什么?)
5.提出一个被命名为“双决策核心学习系统”的机器学习生态系统初步架构。
(又名:让人类和人工智能处于系统中的平等位置)
一、媒体大肆宣扬人工智能威胁论,工程师笑了
最近从阿法狗和李世石的大战开始,人工智能着实火了一把,然后人工智能威胁论又像某种复古时尚一样每隔那么几十年又回潮一次。下面有一张生动形象并且有点讽刺的图。
但作为对人工智能有过了解的人,都知道目前人工智能比起威胁人类还不如说处于某种巨大的瓶颈当中。
为什么这么说呢?对任何一个正常的小学生来说,他们都可以这节课学算数下节课学拼音,幸运的话还会被语文老师带到小花园里边观赏植物认识世界,顺别写出一篇叫“美丽校园的一角”命题作文。
也就是说,真正的智能个体(小学生)在完成上述这些林林种种各类任务,使用的是同一套决策核心(大脑)。如果你让一个工程师训练出一个既能辨认拼音又能学习算数还能写作文的神经网络,他会呵呵你一脸。而小学生自己,基本也不会知道学习算数和学习拼音有什么共通之处以至于他们可以用同一套系统去完成这两个迥异的任务,更别提当他们长大之后,处理这一生当中可能会面临的复杂情景了。
如果把人类智能比喻为,由各式各样不同分化程度的细胞组成,有复杂结构体系的人类躯体,目前的“人工智能”顶多算是一点高度分化的角质层罢了。人们会认为角质层细胞有什么威胁,真是很可笑的,特别是在它们还完全单打独斗无法通信无法联合的情况下,最大的威胁无非是让自己掉下来给你制造一些头皮屑罢了。
所以想要摆脱瓶颈创造出真正的人工智能,需要更低分化程度的模型、需要除“角质层”之外的不同功能的高分化程度模型、最重要的是还需要一个“模型中枢”——不同分化程度、不同功能的模型和模型之间需要依赖这个中枢进行通信,进行协同工作。
二、学习的本质是拟合
个人认为,学习的本质就是拟合,不管是人类学习还是机器学习。
那为什么需要学习,为什么需要拟合?先放一个不说人话的结论:
“学习”是人类从更高维度认识世界的过程。
接下来我会分以下两步解释这句话:
1. 什么叫更高维度
2. 为什么需要从更高维度认识世界(=为什么需要学习)
什么叫更高维度
说起高维度,学过线性代数的人可能会想到矩阵维度;看过《星际穿越》的人可能会想到高纬度空间;而做过数据挖掘的人会想起特征的维度。实际上,这三者的维度之间其实有着深层次的密切联系,在这里就不具体展开阐述,有兴趣的人可以在看完本文后自行进行想象和思考,这会是一个很有意思的过程。这里我选择从第三个角度,特征的维度上入手阐述什么是高纬度。
举一个例子,这个例子可能一直要沿用到本文第三第四部分。
先来看故宫。首先故宫是作为一个具有一定体积的物体立在地表。假设你家就住在故宫附近,或者更直接假设你就住在故宫里,你每天上下班上下学出出入入从小到大可能见过故宫无数次,在你心里故宫可能是一个无比熟悉的事物了。
但这并没有什么用,你对故宫的熟悉仅仅只是错觉。因为简单来讲,故宫此时在你脑子里只是一个很平面化的很刻板的一个存在。为什么这么说?如果来了一个外国友人Rob,他用蹩脚的中文问你:“哇你住在故宫这么厉害,那故宫占地面积有多大啊?”
这时候你就会一脸懵逼,存在你面前这么多年的故宫,你见过它无数次但你却不会因此就知道它的长宽高,因为你没有进行“学习”这个动作。
而长、宽、高、占地面积,只是故宫所拥有的几个基本的特征。与此同时,外国友人有很多个,问题也能问无数个。你很不忿气,你下定决心开始“学习”试图掌握足以应付所有外国友人的知识。
于是你知道了故宫有多少个房间,每个房间的面积是多少;包含有多少个走廊多少个拐角,用了多少种不同颜色的油漆,每个颜色有什么讲究有什么含义;摆放了多少个古董,每个分别是什么,叫什么名字,有什么含义有什么故事……
而所有这些知识,放在工程师眼里就是特征。这些特征可以有多少个?也就是有多少维?成千上万维,成万上亿维,甚至无穷维。当然你的精力是有限的,你为了应付外国友人学习了五百个维度的特征,非常厉害了,已经是“故宫通”了。
于是故宫不再是你每天上下班经过的一个物理性存在,所有这些知识,加上你最初的那个刻板的故宫印象,在你脑海里组成了一个全新的五百零一维的故宫。换句话说
故宫在你脑海里,变成了五百零一维的存在。
或者说,这时候你所认识的故宫,是真实故宫从你的这个角度(某个角度)的五百零一维的一个映射。
而故宫实际上是一个什么样的存在呢?这是一个经典哲学问题,这里我斗胆给出一个答案。故宫是一个,存在于无穷维度空间的存在。无穷维度的存在是一个什么概念?——下令建造故宫那个掌权者最初的存在的那个念头、建造过程中每只不慎被封存在木材与木材缝隙中的昆虫、每个曾经住在那里的人留下的一点一滴的痕迹、每个游览它的人对它产生的每个看法、流传出去的每个关于故宫的传说和印象……这些通通都是无穷维特征中,除了长宽高外的一份子。
通过学习,你利用人类智能,成功在脑子里拟合了一个五百零一维的故宫。但你无法通过学习拟合出最原本、最真实的那个无穷维的故宫。
(这里简单夹带私货,学习做不到的事情,有别的方法可以做到,比如说禅定,这里就完全超纲了,stop。)
为什么需要从更高维度认识世界
先从最简单最直接最暴力的角度来讲,为什么需要从更高维度认识世界。回到那个叫Rob的外国友人,以及他问的那个问题“故宫的占地面积是多少?”作为每天住在里面的你回答不了,但肯定有人能够回答,比如说土地局,又比如说文物局。
他们为什么要知道呢?因为只有知道这些知识,他们才有可能做一些什么,比如说改善一下故宫地下的排水系统、对故宫进行整修。
再简单举一个贴近生活的例子,高中生物要学习细胞模型。就算摆一个鹅蛋这么大的真实细胞切面在你面前让你任意看任意摸,你还是会一脸懵逼。你不会知道细胞核、细胞质、线粒体、叶绿体、高尔基体各个细胞器的名称、结构、功能,还有他们的协作方式。约等于什么都不知道。
认识世界的维度多还是少、多角度还是单一角度、广泛还是狭窄,是不同的思维模式。体现在目前的狭义的机器学习过程(也就是数学建模)上,就是特征工程,决定了你模型的能力上限;体现在人类智能上,就是一个人对万事万物的看法,决定了他的思想境界以及他会做的事。
三、机器学习自带暴力破解法的基因
学习,是人类利用自己的大脑,以及一些或简单或复杂的工具(纸和笔、试验器材……)干了几千年的事。而现在,人类发展出了一样新工具来辅助自己学习这个世界,这就是机器。
一言以蔽之,这就是机器学习。
那么机器是如何帮助人类学习的呢?又回到那个爱问问题的故宫爱好者Rob,这回他问你:“故宫一共有多少面承重墙?”好了,这个特征并不在你已经学习到的五百零一维里面,你告诉他等下一回见面的时候再告诉他答案。
回家之后,你基本上有两种选择:
一、想办法搞到故宫的图纸,再通过图纸里的信息得到答案;
二、自己去遍历整个故宫的每一面墙,数出答案。
第一个办法,是“专家”方法。也就是长久以来人类认识世界的典型方法——搞清楚事物背后的原理、真相,再具象到具体问题的答案。一旦找到了图纸,你不但能知道“故宫有多少面承重墙”、还易如反掌地同时掌握了“有多少个房间”、“内部是什么结构”等等一系列诸如此类的问题了。而且这个办法还有个优点,一旦搞到了图纸,基本你的答案就不会出错。然而想要搞到图纸,那就是老大难的问题了。
第二个办法,就是暴力破解法。耗时耗力、出现误差的可能性大,一般情况下只能得到一个近似的结果。然而只要你肯下功夫就肯定能得出一个答案,不存在拿不到图纸的可能。但是故宫多大啊,自己去遍历一遍是实在是太累了。于是你雇佣了50个有闲没钱的小学生来帮你做这件事。
50个小学生什么都不懂,既没有你了解故宫,也不懂什么叫承重墙,还像一团散沙一样。他们只会执行你给出的足够明确的指令,他们就是人类请来的帮手——机器。
而如何拆解“故宫有多少面承重墙”这个问题把它化为具体的可执行的步骤,如何对50个小学生进行组织和领导,如何安排他们高效率低误差地对故宫进行遍历,50个小学生之间可能会发展出层次和等级关系,发展到如何让他们针对遇到的具体地形进行自适应调整以提高效率,其中还可以贯穿一些奖励和惩罚机制。这些都是算法问题。
机器学习的出现,让原本可能对故宫一无所知,但很擅长领导小学生的人有机会解决“故宫有多少面承重墙”的问题,解决所有能用暴力拆解法解决的问题。
而“拟合”,几乎就是暴力拆解的同义词。
四、现在的小学生都在干什么?
在第一部分,提到了人工智能目前处于一个很大的瓶颈期。而这个瓶颈为什么存在,要怎么解决。将在本部分给出一个比较抽象的解决方案,稍微具体一点点的解决方案将在最后一部分给出。
在此之前,为了避免概念上的混淆,先区分一下“数据挖掘”、“机器学习”、“人工智能”这三个概念的区别。
“数据挖掘”是最具体的一个定义。顾名思义,就是从一堆某批小学生收集回来的数据中,利用另外一批小学生来对数据进行各种操作,来从中提取出问题的答案的过程。数据挖掘和“智能”没有太大的关联,智能或者不智能,都可以进行数据挖掘。
“机器学习”,一个比数据挖掘抽象很多的概念。“挖掘”强调的是最终得到了问题的答案或者说新的知识,而“学习”则强调的是赋予了机器自适应、类似于人一样的学习的能力。
“人工智能”是三个中最强调“智能”的一个概念。“人工”很大程度指的就是“机器”,而“学习”是“智能”的一个部分。所以个人认为,可以说“机器学习”是“人工智能”的一部分。而“智能”除了“学习”以外应该还会有其他的能力,比如说“娱乐(自我满足)”和“想象(创造)”。挺好玩的。
这里有一点,别说“自我满足”和“创造”,目前人工智能连“学习”这个功能都远远没有达到,而且目前来说主要的关注都是放在了“学习”上,所以在本文还有其他不那么严谨的文章中,机器学习和人工智能这两个概念没有严格的区分,常常在哪个场景下看着顺眼用哪个(一般来说机器学习比人工智能要具体很多)。
回到本章标题“现在的小学生都在干什么?”他们都在忙着数有多少承重墙,有多少个房间,有多少根柱子,故宫可以住多少个人。他们几乎都连轴转,忙着解决各种各样具体的问题,其实只需要对整个故宫的图纸进行一次拟合,就可以得到众多问题的答案了。
为什么会出现目前小学生们通通忙于高度分化的问题这个状况呢?一来小学生很贵,而会通过操纵小学生得到问题答案的人也很贵而且难找。而有能力置办起这么贵一套系统的甲方们主要目的就赚钱,而得到某个问题的答案只是他们复杂的赚钱流程中有点重要甚至不那么重要的一步而已。那么对于自带短视基因的他们来说(非贬义),画出整个图纸实际上是低性价比的一个做法。
第二原因是,对于现实问题来说,比如说一个推荐系统问题、一个点击率预测问题、一个图像识别问题,“图纸”到底是什么?这个问题不管在理论还是实践上仍然很空白。
而因为正如前言所言,这篇文章所有内容没有参考任何文献,完完全全是自己的理解和直觉。而在理论知识上深耕细作的缺乏,就让把问题阐述到这个地步的笔者自己处于很诚惶诚恐的状态了。但即使如此我也觉得把自己的想法比较清晰地阐述出来是有价值的(即使对我自己来说)。
个人认为,知识图谱,或者说广义的知识图谱,具有成为图纸的潜力。
个人认为,高纬度空间中复杂结构的相似度比对,是涉及到学习本质的东西。
第一个观点可能不需要什么解释,知识图谱有成为模型与模型间通信和协作的“中枢结构”的潜力,因为知识图谱本身就兼具了知识和模型的基因,或者说是一种知识的结构化表示。更具体的东西才疏学浅的我也讲不出来,而证实、实现这个猜想正是个人一个比较长远的目标。
而第二个观点更加抽象。我一直在寻找高效学习(掌握)知识的模式。而与已成型的结构化知识在结构上进行相似性对比,在这个基础上进行的知识扩展是我通过内视自己的学习过程得到的最高效率的学习方法之一。这里是更深一步的内容,而且有点超纲,这里不展开讲。
五、让人类和人工智能处于系统中的平等位置
这里简单粗暴地抛出一个定义,或者说很基础的原型。
双决策核心学习系统=人类智能+模型中枢+模型+数据采集机制(爬虫)
系统组成:
1. 模型中枢:负责模型与模型之间协同和通信,同时负责与人类智能之间的通信。是整个生态系统不断演化的优化目标之一。可以近似看成是人工智能。到底具体由什么充当模型中枢,不同的系统中可以有不同的选择。(目前我会考虑使用知识图谱开发的某种决策引擎)
2. 模型:如果说模型中枢是人工智能的大脑,那么模型就是手脚。负责实现各种分化的功能,在接受外部数据的输入同时也接受内部数据(模型中枢)的输入,而人类智能对模型的输入往往像空气一样常见。
3.数据采集机制:相当于爬虫,可能是更具结构化的爬虫。在不同的系统设计上,可以接受人类智能控制或者接受模型中枢的控制,也可能同时受到两个核心智能的控制。
4. 人类智能:在不同的系统设计中可以充当不同种类的功能。在初级的系统中是主导者的存在,而越高级的系统越独立于人类智能。最终的目标,可能并非让人类智能完全功成身退(这样可能会陷入某种极端)。而是让人类智能和人工智能就像人类的右脑和左脑一样高效率的协同工作。
核心特点
(生态系统与常见机器学习流程的不同之处)
平权:让模型中枢和人类智能共同决定系统(模型)优化的方向。
自适(暂定):并不为了解决具体问题而优化,而是为优化自身而优化。
如果非要把目前一个缺少结构化的,非常常见的,从爬虫到建模输出的流程看做是本文定义的“机器学习生态系统”的话。一来,在这一类流程中,人类智能渗透在系统中的每一丝每一毫中,而人工智能(模型中枢)这个角色只能在特征筛选、模型评价这些步骤中看到一丝影子。二来,如同上文所言,整个流程的存在目的是为了解决具体的问题,而机器学习生态系统存在的意义是为了自我演进。
双决策核心学习系统存在的价值和意义
从短期来看,这种结构化设计有望打破目前人工智能存在的瓶颈,让人工智能的步伐往前迈进。从长期来看,整个生态系统演化的目的,是对人类智能和人工智能这个系统的左脑和右脑进行协同优化。甚至就我个人而言,最希望看到的是人工智能对人类智能的优化。这个说法看起来有点可怕,换一种更具体的。比如说,我认为人工智能很有希望帮助人类智能发现任意两样事物之间存在的联系。让人类智能从左脑中解放出来,甚至替代左脑,更多的开发右脑的潜能,这也是人工智能有可能做到的事情。
对于人工智能威胁论的持有者,我想对他们说的是。人工智能本质上只是人类智能的一个映射。人类如何管理人类智能的作恶,人工智能的作恶不会超出这个的范本。我并不是指人工智能的作恶不会发生,甚至认为是必然发生的,但既然人类据称已经能控制人类智能的作恶,基本不用担心不是人工智能的对手。
但说句心里话,个人认为人类的一切发展正朝着自我毁灭的路上不可阻挡的前行,本文所提出的内容可能“有望”成为加速这一过程的因素。
之所以动笔写这篇博客,是因为工作的部门里有人提议每人分享一下自己在机器学习领域最熟悉的部分。我反思了一下,从大二下接触机器学习到现在差不多两年半,我到底能讲些什么?好像什么都不能,因为在我看来我并没有在机器学习的某个领域里掌握比较高价值的一技之长。如果非要讲点什么,可能会是特征工程。但我又觉得,我这两年半来,对机器学习可谓是心之所向、尽心尽力,不可能没有一些什么可讲。所以在整个星期六一天里废寝忘食,毫不夸张的说同时耗尽了体力和精神,提炼出这两年半来我认为的对于机器学习的我脑子里最有价值的内容,完成了这一篇文章。也算是对我在机器学习这个进程上入门阶段的一个交代,同时也是我对自己未来前进方向的一记录和指引。由于精力上的原因,最后一个章节完成的比较仓促。并没有很好的表达出自己的观点,但目前为止只能先这样了。
finish!
2017.08.19