主题:【原创】机器学习的基础是什么?(0) -- 看树的老鼠
这个帖子:链接出处
如果连最简单最起码最纯粹的形式化归纳都不能做,谈何智能?那样的东西,也就是一些参数修改工具而已。请注意,归纳,特别是已经形式化的归纳,要远远低于联想(例如那个PPQQRR的联想)的。如果归纳都不能做,其他的就实在不要谈了。
判断黑箱中是具备心智的、智能的个体,或者只是一台机器的模拟,我个人感觉是有缺陷的。
因为我们对黑箱所表现的“智能”,是作为“客体”去考察的。但是实际上每个个体自己,都有活生生的思想、体验、情感,而这些都不能被其他主体所观察到。
如果我们自己作为“智能个体”是真实存在的;那么,即使我们已经失去了判断“黑箱所表现的智能”是否是如同我们一般的“个体”的能力,结论也只能是“无法判断”,而不是承认对方就是“智能”。所以我对这个实验结论一直有怀疑。
我开了一个系列,你也开了一个系列。我看来,都是比较有成效的,都引出了很多讨论,而且有相当多的讨论都很好很有信息量,对我来讲,很有帮助。我认为,你和我,还有其他有兴趣的朋友,应该把这方面的讨论有效地继续下去。
怎么做更好?怎么最佳利用西西河这个平台?我不知道,因为我对这里的各种规则其实不熟悉。不过我建议,你和我,还有其他有兴趣的朋友参与讨论的朋友,都应该开自己的系列,介绍自己了解的情况,而且要互相链接,这样就好搜索了。其实有很多好的讨论,都被淹没在后面,很难看到。
挑出一些相关帖子放上去,整理一下就是个不错了信息库,交流起来更方便,甚至可以直接在上面改。花呀草呀的就免了反正对于来找知识的人来说,便于查找最重要。
当然讲究点,可以做个graph,把大家所知整理进去,甚至弄出些semantic/NLP的水平,西西河走到谷歌或脸书前面那就更出彩了,走linus的路子,民间开源,爱谁谁,把象牙塔变成博采众长,中国人中人才也多,不一定就不成。
deep learning的祖师Hinton最近说计算机科学还是算新兴学科,AI那就完全是婴儿期,有许多low hanging fruit根本没人有时间去顾的过来,现在就是人才太缺,教一个PhD至少五,六年,一出师就被谷歌他们挖走。中国人中这么多人才,不通过大公司,就是民间自发组团,我看反而更有可能出成果,只要互相交流起来就成。
很可能就是未来的一种重要的科研组织形式。这种凭兴趣的松散组合,比较好适应新兴的,未知程度非常大,跨领域的。
其实西西河已经有了很多很好的功能,需要增加的:1)搜索。2)一个题目的主页,就是wiki类似的。3)这个主页,可以让几个人,就是这个题目的主持人,来修改。
恐怕还有一个需要改进的,就是要相互给credit,做了工作,提出了思想,就应该获得大家的认可。
今天witten1兄推荐了一篇文章 http://www.talkcc.com/article/4036194,读了这篇文章后,突然想明白,如果机器智慧是一种新的智慧形式,它还处于人类的原始时代和经验时代。稍微提一句,有人说大数据时代不需要算法了。那我想请他去读读witten1兄推荐的那篇文章。在非线性系统中,如果我们不能找到正确的解释,短期观察到的模式很可能在长期中完全消失。如果我们真的能够收集到全宇宙过去未来的全部信息,那么我们就是上帝,可以用记忆和感知完全替代知识和理论了。如果做不到这一点,我们还是需要发明理论、总结知识。
本文有大量的猜测和类比,我尽量做到严谨,但可能还是犯下大量错误。请大家不吝赐教。
我写这个系列,鸿乾兄说我恐怕是想偏了。我也这么觉得。可我就是过不去这个坎。我写这个系列,归根到底就是想说句心底话:我看不起今天的机器学习方法。而最大的矛盾是:我天天吃着机器学习这碗饭。我很希望化解这个矛盾,在不砸了我饭碗的情况下,让我自己对机器学习抱有一定的敬意。
为什么看不起它?主要是它在三个方面与我理解的科学、工程范式格格不入。
首先,机器学习方法经常都是万能方法。比如分类问题,常见的方法就是最大熵模型、支持向量机、随机森林之类的。以最大熵为例,它就是一个典型的线性模型,在很多问题中都有很好的结果。但是,我扪心自问,当我用最大熵的时候,我真的相信这个问题是一个线性问题吗?我其实根本不相信。这太不科学了。
其次,机器学习方法动不动就是几千维特征,然后得到几千个参数,没有人看得懂这几千个参数的意义。复杂的科学、工程问题,比如登月飞船的制造,复杂度绝对超过常见的机器学习模型,但是它可理解。
第三,机器学习方法用的那些特征,都让人觉得非常非常的不本质。
所以,到底问题出在哪了呢?为什么一旦用上机器学习方法,我就觉得我思维一片混乱?觉得自己变成了原始人?
其实“原始人”这三个字真是恰到好处。
什么是一个好的理论?第一个标准是“和数据符合的越好,就越正确”。每个人都有无数的经验模型,比如看到一个姑娘,凭直觉就会判断自己能不能追上。很多时候也说不出道理。今天的机器学习就有点这个味道,它和科学理论相比固然显得不严谨,但和我们生活中的经验模型差相仿佛。Witten1也提到,今天的大数据重视相关性,不重视因果性,可是细想一下,经验模型可不就是相关性吗?人在创造经验模型的时候,哪里想过因果。不过这不是机器学习的借口,在经验时代,人发明了无数幻象理论,比如巫术。但人已经逐步发展出更加可靠的科学方法。所以,机器学习也必须超越经验阶段。
所以,我看不起今天的机器学习也是有道理的。我一边学习着人类几十万年的智慧结晶——科学,当然看不上机器学习发明出来的理论,因为这些理论还处于原始与经验时代。有了这个定位,我的心气一下就平了。它的什么缺陷我都可以理解了。
就说线性模型吧,早期的人类只会加减法和乘法,所以其实可以这么说,早期人类只知道线性模型。那个时代线性模型还是高科技呢。我不需要瞧不起线性模型。而人类的一个本能倾向就是拿着锤子找钉子,我猜测早期人类在明白加减法和乘法后,基于这些简陋的工具去解决过很多超出工具能力的问题。就算是近似解决也好。这和今天机器学习做的事情类似。
从这个角度看,我认为机器学习还可以往后发展,其发展可以借鉴人类的认知能力的发展。
先说几个正在进行中的发展吧。
* 人类知识已经超越了线性,今天的机器学习模型也在往非线性方向推广。
* 人类有能力基于原始数据学习,而机器往往要依赖人凭着经验和知识创造出来的特征。比如做图像识别,机器需要人先根据自己的理解,从图像中计算一些数字,然后送给机器。而人在看世界的时候,视网膜提供的只是像素点罢了。这一方面,机器学习也在进步。像deep learning这样的工作,就是尝试着自动把像素点转化成有意义的特征。
* 在《概率论沉思录》中,作者证明了概率和人类的思考过程是一致的。所以今天的机器学习基本上都是基于概率的。
* 在这几十万年,人又发明出几个新的关于好的理论的标准。比如“奥卡姆剃刀”。今天的机器学习方法也大多考虑了这一点。这就是进步。
* 因果关系。Witten1推荐的文章就是说的怎么让机器发现因果关系。2011年的图灵奖给了UCLA 的 Judea Pearl 教授(75岁)。他的一部分工作就是因果性推理算法。说不定未来的机器学习模型可以往这个方向再走远一点。比如让机器辛辛苦苦拿着一堆数据去算,最后机器输出一本教科书,人还能看懂。
说到教科书这件事,其实反应了人类理论的几个特点。一个是可以在人类社会中互相交流,与人类的其他知识和经验相符。另一个是尽量的精确化。当然,真要走到机器来写教科书那一步还是太遥远了。为了达到模型人类可以看懂的地步,需要在自然语言处理方面有突破性的进展,同时机器需要了解所有人类知识。为了让机器创造尽量精确、逻辑严密的理论,也不是一个轻松的工作。就算是现在已有努力的因果关系领域,我觉得路也很长。
当然,我认为一个好的理论也许不需要能让人理解。人发明了机器,但机器或许能走得比人更远,说不定机器创造出来的理论将会超出人类的理解能力。就好像随着人类知识的积累,只有不断的细分领域,才能保证有少数人可以理解最前沿的知识并做出贡献。也许有一天机器发明的理论,穷人类最顶尖的天才一生,也无法理解。
但是,一个好的理论必须具备今天人类理论的一种特质:那就是知识的融贯性。人在解释事物的时候,会动用脑子中的所有知识,任何新的解释,必须与已有观念不矛盾。对于任何一个问题,其实人可以幻想出很多解释。但已有知识可以帮助我们排除大部分不合理的解释。所以,融贯性帮助我们更准确的逼近真实。另一方面,融贯性保证了理论的简洁性,因为新理论可以利用老理论的全部力量。
与人类理论相比,今天的每个机器学习模型都只解决手头上的问题,丝毫不在乎别的问题。所以,机器可能发明了一堆自相矛盾的算法,它却不知道。今天的机器学习有两个难题,第一个难题是:如果有多个对于现象解释能力类似的模型,应该选择哪个?第二个难题是:怎么创造一个简洁的模型?融贯性其实是机器学习的一个大机会。在有融贯性这个约束条件时,多个能力类似的模型,很可能只有一个是符合融贯性的。另一方面,今天机器学习对于简洁的定义是参数越少越好。但是考虑融贯性之后,我认为简洁的定义应该是:在能够利用现有知识的情况下,参数最少的模型。
这是一个很大的挑战。如果真要保证知识的融贯性,也许机器学习模型就不能满足于几千维特征和几千个参数了,它至少需要能够存储许多人类常识,我猜那至少是几十亿个参数的模型。这种复杂度,今天的研究还丝毫没有涉及。
所以,对比机器学习与人类的认知发展,目前谈论机器超过人还为时过早。人类自发的创造出了逻辑、因果性、融贯性这些概念,还发明了语言,这些发明在过去的实践中被证明是卓有成效。那么,我相信一个正确的机器智能,也应该能走上同样的路。在那之前,我觉得机器学习最多可以称为动物的智能。当然,有了人类智慧这个好导师,机器突破蒙昧的速度会比人类快的多。
本帖一共被 1 帖 引用 (帖内工具实现)
机器学习依赖对数据的获得分析,得出一个blackbox去当作工具。
科学理论试图找到事物变化的内在原因,理解这个世界的同时作为指导制造工具。
这两种手段都达到一个目的,就是通过了解世界,来改变世界。人类通过科学手段达到了几千几万年的最高水平,并且超越了人类传统上靠经验总结摸索(比如百草纲目)所能达到的水平。
但是科学手段因为建立在事物内在逻辑关系的基础上,需要大量的工作去验证,去反证,因此进度很慢。
机器学习目前的相关性分析并不具备逻辑关系的推理总结能力,而现代计算机理论是逻辑的产物,那么相关性在概率达到很高时,是不是可以等同因果关系?
机器学习如果可以把相关性的分析与逻辑结合起来,也许就是人工智能的曙光了。
还是先跳出来说一句吧,我希望自己不是民科,但是我保证不了我说的代表学术界主流意见。因为我很少发现有什么论文去做这么长远的预测,毕竟没有太多证据,除非你是本领域最顶尖的人物,写了也发表不了。如果谁能找到相关的论文,欢迎分享。
我就是突然意识到机器学习能够发现的理论还处于前科学阶段,差不多就处于本草纲目的时代,知其然而不知其所以然。(机器学习领域自己的研究方法当然属于科学方法)
正如人类的认知逐渐从前科学阶段过渡到科学阶段,但基于同样的人脑结构。
所以我认为科学方法和前科学方法没有本质的区别。我觉得智能的本质就是用最简洁的理论最准确的解释现象。因果、严格逻辑、融贯性这些特点,都是人类发现的简化理论、提高精度的一些原则。但他们本身也是基于同样的人脑结构自动创造出来的。就好像人类语言相对于动物的音节,其实没有本质的变化,只是复杂性提高的自然结果。
但是,我相信机器学习会逐渐演化出科学方法的。而且我感觉现在的研究正在往这个方向走。通过外加一些非常抽象的原则,如奥卡姆剃刀、因果原则,引导机器智能往这个方向走。还有一个缺失的原则,我认为是融贯性。今天有人做multi objective optimization,有点这个意思了。但是模型复杂度还是很有限。如果学习理论没有进步,在今天的方法上简单的加上更多机器,是没什么希望的。
如果真到了那个阶段,机器做科研说不定会比人更强,毕竟人脑的尺寸有限,而机器的尺寸受到的限制要小的多。人类发现模式的能力其实很有限,所以实验必须做的简单又简单,人才能得出一些结论。但是机器的能力有可能更强。如witten1推荐的那篇文章,基于那些非实验环境下生成的数据,人其实不敢做决定的,但是机器敢。鸿乾曾经谈到每个研究机构配置一个智能机器,说不定真会有这么一天。
机器学习目前的相关性分析并不具备逻辑关系的推理总结能力,而现代计算机理论是逻辑的产物,那么相关性在概率达到很高时,是不是可以等同因果关系?
是的。如果我们能在机器学出来的网络中发现概率1(注意不是correlation=1,这是witten1推荐的那篇文章明确强调的,correlation!=因果),因果关系其实就出现了。比如之前我写过的那篇deep learning文章,有一个节点识别猫的精度到了70%,如果到了100%,我觉得就说明机器发现了一个定理。
所以,我猜测严格的逻辑不会是强加于概率逻辑(今天的机器学习对于概率的依赖很大)或者你说的相关性分析的另一个成分。很可能是我们外加了一些很抽象的原则,这些原则要求机器给出最简洁的模型(从能量损耗的角度来说,也许人脑就遵循这个原则),然后严格逻辑成为这个原则的一个必然结果。
科幻一点,也许曙光就在前头。
或者说不看好当前的基于经典体系所架构起来的机器学习。
量子的世界可是存在无穷的自由度。。。人类的思想可以直觉得从这无穷的自由度中抽出有用的信息,可是机器又如何去模仿这直觉?显然放入这无穷的参数是不可能的。。。
polymath projects就类似于你说的这种情形。
数学家们在上面实现了较为充分的互动,并且能一同合作去解决复杂的问题。
我的物理知识比较缺乏,请问如何理解这句话?
量子的世界可是存在无穷的自由度。。。人类的思想可以直觉得从这无穷的自由度中抽出有用的信息,可是机器又如何去模仿这直觉?显然放入这无穷的参数是不可能的。。。
如果轻易讲不清楚,麻烦您推荐一些书。当然,您也许会觉得对我这种外行,不推荐几本教材是说不清楚的。。。
http://integral-options.blogspot.com/2014/07/is-quantum-mechanics-relevant-to.html
写写读后感吧。
但是,我认为,人是机器,或者说人是目前最复杂的机器。而下面的发展,就是我们将逐渐发展出比目前计算机更复杂的信息机器,而且这种复杂度还会逐渐增加。
的确,我完全同意。非常可能,量子效应其实在神经系统中得到反映,所谓的直觉,至少部分和这些有关。但是,这并不成为否定机器的理由。如果机器做得了足够的复杂度,那么机器也可能产生这种直觉。我认为,机器的复杂度,最起码来讲,应该是可以非常自然地做归纳。目前的机器学习,离开这个标准,还非常非常远。
我来讲点看法。我认为,目前的机器学习,仅一个工具,就是说处理大量数据的一种软件工具(当然也有一些硬件的事情)。如果这样定位,就不会产生你的那些困扰。
一种人类制造的工具,用于解决人类的某些特定问题,这是我们常见的,熟悉的。虽然说计算机具备了一些信息处理的能力,但是,这种能力完全来自于编程,因此也就还是一种工具。现在的机器学习好像进了一步,使得某些能力好像并不是来自于编程,而是来自于外部数据的刺激。但是这是完全的假象。目前来讲,具备了机器学习能力的计算机,其能力仍然还是全部来自于编程。
我们暂且不要说“逻辑、因果性、融贯性这些概念”,更不要说语音等等。我们仅说最基本的,就是说,学习分辨标量的大小。这是最基本的,也没有比这个更简单的。不仅动物,连植物都可以做这个事情。那么现在是否有机器可以不用编程就会做这个呢?就我的知识范围,这种机器目前还不存在。
其实,这个能力,不仅最简单,也最基本,就是说,有望在这个基础上搭建更复杂,更高级的功能。这个意义上讲,机器学习不仅不能和人比,连最初级的动物也无法比,甚至和植物也无法比。
处理出来的东西,还是需要人来感受,认知,分析。
看树网友的期望是,机器学习(或者说目前这个状态下的机器学习),将逐渐发展出一些能力,使得这个工具本身就具备了认知和分析的能力。自己的儿子自己爱,这很正常。但是,我的看法是目前的这种形态的机器学习,也就是一种编程机器,不可能发展出认知和分析的能力。