主题:【原创】机器学习的基础是什么?(0) -- 看树的老鼠
你列出的路线是这样的:现有的机器学习(实际上可以抽象成:算法+数据库+大量数据)再加上一些我们已经充分理解的原则(最优能量,最小依赖,等等),就有可能形成真正的智能,至少是非常有用的智能。
这是可能的。最近Google收购的那家DeepMind就是如此思路的公司。不过,我的看法是,这样的一条路子,完全可能形成一定程度的智能,至少是能很好完成某种人定的任务。但是,这条路子,很不够。
好像是某个大家说的(忘了谁说的了),科学的每一个大的进步,是在对某种事情有了很好的理解后才达成的。我很同意。回顾科学史,的确就是这样一回事。那么现在我们看,上面你列出的那条路,是否是建立在我们对人脑的工作原理有了相当充分的理解的基础上?恐怕不能如此说吧。那条路,基本上是在蒙,就是说在对原理缺乏充分了解的情况下,试试看。
我想,非常可能的路子是这样的路子:一方面,对一些非常基本的人脑中的过程有了认识,然后在这个基础上,做出模拟这个过程的软件,硬件,或者软硬件组合;另一方面,对这些最基本过程如何集合起来处理更复杂信息的原理有认识,然后再模拟这种集合。这样,恐怕才有可能走向智能。就是说,应该对智能的原理有基本理解,才能做好智能。
当然,多种路子都是可以走的。我提倡元学习机,和机械学习,就是提倡思考也研究那些非常基本的人脑中的过程。
另外,对于“相关性”和“因果性”,我的看法是这样的,两者并非完全不可跨越。例如,现有的非常简洁的物理定律,例如牛顿第一定律,我们肯定说是因果性的规律,而不是简单的相关性。但是,这仅是我们目前的认识。抽象地讲,完全可能这个定律实际上是更大范围的的某种相关性在我们这个小时空中间的投射,因此我们看起来就是非常确定的定律。但是要从相关性进而发展到因果性,人脑里面肯定有某种机制,人群中也肯定有某种机制,来促使这个发展。我们对这个机制缺乏理解。
随机森林的老祖宗Leo Breiman早在2001年就总结了两者的最大区别,见论文《Statistical Modeling: The Two Cultures》,网上有。
传统的统计学基于人类主观假设出来的数据模型,为人类理解数据而总结了很多随机分布,并且过于强调这些分布的数学模型。而机器学习是为了克服这个缺点而生的,本身就只强调预测的准确性而不主张人类去理解它。
至于短期的特征在长期尺度上不管用的问题,别说机器,人类也一样,经验丰富的老年人在接受和解释新知识时比不上小学生,过去的经验会束缚创造性思考和限制新知识体系的形成。这根本就是从本质上不可克服的问题,只能在overfit和underfit中取一个折中,什么算法和技术都不可能解决问题又不付出代价,不值得花费脑力去思考。
谢谢您的推荐。欢迎像您这样的专家参与讨论。
我在解决“讨厌机器学习”的这个过程中,确实读过这篇文章。
从主观假设出来的数据模型到机器学习,我同意这是个大进步。因为人类幻想出来的数据模型通常不对。在Leo Breiman的文章中,他也谈到了怎么解释模型的问题。对于random forrest这样的模型,直接看模型是看不懂的。Breiman建议用间接的方法,比如去除某个特征,看看模型的预测能力。但是这样的解释程度就够了吗?我同意随机森林是一个表现很好的模型,但是它的不可理解性不是它值得骄傲的地方,而是应该进步的地方。我认为机器如果能够自动生成一个人类可理解的数据模型,那才是真正的智能。而且这也可能会带来精确度的进一步提高,就像人在发展理论的时候,常常会有一个假设:优美的理论往往可能是对的(这不是必然的,只是一个说不上有多准确的先验。)
就好像人平时做决策的时候有很多时候就是直觉,你问他直觉是什么,他也说不清。科学发展就是逐渐把直觉性的东西变成清晰的理论。我这里做了一个类比,今天的机器学习有点像直觉,说不清。这样也能解决一堆问题,不过一旦机器学习学会怎么把事情说清楚,那就是一个飞跃。
当然,我这句话容易让人觉得我是支持在模型中加入更多知识和人假设的数据模型。我并不这么想,我认为人可以理解很可能是简单性与融贯性的一个结果。
总之,我这些说法还是近于幻想,50年内我不指望能看到。大家还是老老实实沿着现在的简单性(regularization)、融贯性(multi objective optimzation)的轨道走吧。
短期特征长期不适用,是我的语言不够严密。如果类比成“经验丰富的老年人在接受和解释新知识时比不上小学生,过去的经验会束缚创造性思考和限制新知识体系的形成”,那么确实是不可克服的问题。但是在witten1推荐的那篇文章中,谈论的其实是:今天的机器学习(哪怕在Breiman反叛了统计之后)对于现实的数据还是常常有不切实际的假设。比如用相关性来判断因果关系,相关性只在线性的情况下适用,如果问题本身是非线性的,用相关性得到的结论都是幻像,所以在长期不适用。
所以我觉得机器学习还应该进一步放松模型假设。当然大家已经在这么干了。多少模型都说自己是universal approximator。不过这是个矛盾,一旦universal了,就变得不可理解了。
我的这些说法都是现阶段的一点不成熟看法。
我比较少谈神经学,是因为我这方面的知识较少。
我其实也深感不安。就说神经网络吧,几十年前从神经科学里面借了一点点概念过来,这么多年基本上再也不从神经学中汲取养分了。这其实很不正确。每次我看一点神经科学的东西,都觉得大开眼界。
鸿乾兄那个楼可以说是神经学方面的集成。欢迎您多介绍内容。
有一本书不知道您看过没有,叫<in search of memory>,我觉得很不错。
难道是我记错了?
不然理论上也不能比较啊
https://www.ccthere.com/article/452779
我感觉他现在对前三十年评价调高了许多,不会在后三十年之下了
大概你是CS出身的,算法和模型是一体的。
对于绝大多数自然科学和工程领域来说,“模型”是对现实世界的模拟和简化,和现实世界的关系是地球仪和地球的关系。而算法是问题的解决方式,是在地球仪上找出两点之间路径、从而投射到地球上路径的方法。
你说的“清晰的理论”,其实是精密的制造地球仪、沙盘或者地图的过程,与具体问题(你是要看着航路图从北京飞到纽约,还是要看着军事地图打击敌人的补给线)无关。把模型和建立在模型假设之上的算法分开,对于说清楚问题还是很重要的。
我理解的机器学习和传统的科学/工程方法的区别,就是机器学习企图做最少的假设,绕过做地球仪的过程,用强大的计算能力直接在现实数据上解决现实问题,而不是用地图扭曲现实地球之后通过地图解决问题。举个例子,统计学上应用最广的分布无疑是高斯分布(正态分布),如果要测试一组数据是否以0为中心,统计学家会做这几件事:
1、假设/检测数据服从高斯分布,算出均值和方差 (这一步是建立模型)
2、用方差算出standard error(实在不知道中文怎么说)
3、如果均值在两倍standard error之外,就认为均值不为0,否则为0
别跟我提什么student-t分布,总体过程没区别。在这个过程中,为了使用已有理论,统计学家会把分明不是高斯分布的数据也用高斯分布建模,这就是经典统计学的硬伤之一。
而机器学习本质上认为第一步意义不大(除了Lasso之类跟传统统计很接近的方法之外),机器学习企图建立这样一个盒子:(如果是supervised learning)
1、输入一串数据X
2、输入一串{0,1}取值的Y,告诉盒子哪些X其实是0。这是学习过程
3、学习完之后,每输入一个新的X,盒子就输出一个0或者1,告诉你Y“应该”是什么
过程中完全不用人类“假设”数据服从什么分布、怎么采集的。当然,假设也有,比如数据相互独立之类,但比具体的统计模型宽松多了。
其实这跟人类学习的过程没什么区别。
至于因果性的问题,其实是人为造出的一个概念,无非是事件之间的相关性+事件和时间的绝对关系罢了。如果一只鸡每天固定早上8点打鸣,而日出却是在打鸣后20分钟随机出现,而且强迫鸡不打鸣时太阳绝不出现,这种规律在人类任何观测中保持不变,那人们(包括所有科学家)肯定会认为鸡叫是因,日出才是果。这种因果性用算法识别并不困难,而“真正”的因果性涉及到宇宙的本质,不见得是人类穷尽一切手法能观测到的,苛求机器学习也没什么意义。
之前有语言近十万多年,文字5000年。脑组织,思考,感觉系统完全不同的“智能机器”就是有人类帮助,要达到解析逻辑的这水平,谈何容易。不完美的伪智能能达到欺骗普通人类的水平倒是反而简单了。培养大师不行,倒会是先培养出一群骗子。
关于因果性,我完全同意您的说法。
关于您的整篇文章,我不确定我是否理解了。如果理解的不对,请指正。
简单来说,我觉得以后的机器学习会知道怎么自己做地球仪。
以下我不加区分的使用“模型”、“假设”、“理论”这三个词语。但是按照您的要求,我会区分模型和算法。
传统方法+统计学都是这么干的。
1. 创造高斯模型(高斯假设)。这个假设扭曲的很过分。
2. 在这个模型基础上跑训练算法
3. 得到一个训练后的模型
机器学习
1. 创造宽松的机器学习假设。
2. 在这个模型上跑训练算法
3. 得到训练后模型
训练后的模型可以用于我们的supervised任务,我们管它叫算法还是叫模型比较好?我暂时称为训练后模型吧
机器学习放松了假设,所以效果更好。所以,我很认同机器学习的这种做法。
我只是觉得它还不够好。比如给定这样一个任务:已知球面上点A的坐标和点B的坐标,输出是两点间最短球面距离。
今天的机器学习只能利用训练数据(如一系列坐标对和相应的距离),给出一个无法理解的训练后模型。
而人看到这个任务,他能够利用的知识是对这个问题的物理理解和一些训练数据。如果之前人没有几何的知识,他会创造出一个几何假设(几何理论),来解决这个问题。如果我们管人的成果也叫做训练后模型,那么人的训练后模型中包含了新的假设(几何理论)。
我期待的就是:机器能够像人一样利用更广泛的信息,如物理理解。然后输出更优雅的训练后模型,比如几何理论。
你可能会说,这怎么可能?你已开始的机器学习假设是什么,机器最多帮你调整一下参数,假设的形式不会变。怎么会变成几何假设呢?
我只好说,人脑其实也就是一个参数化的神经连接假设,但是人脑就知道怎么解释神经连接中的参数,把这些参数用清晰的语言表达出来,成为几何假设。
从数学角度来讲也是可行的,参数和模型真的有那么大的区别吗?如果我们把数字和模型之间建立一一对应的关系,参数调整过程就是创造新模型的过程。谁说模型只能是人提出来的,机器只能计算?到这一步,或许您可以看出我为什么不太愿意区分模型、参数和算法这三个概念。
这种说法目前看不到任何实现的可能性。想要走到这一步,机器学习或许还要往前走很远,结合大家所说的脑神经研究和量子力学。
但是,有人脑这个例子在前,我相信基于一个参数可调整的神经连接假设(或许还要加上更多的脑神经假设和量子力学假设),可以创造并表达出简洁、清晰的理论(如几何理论),所以这是可行的。
我之前怀疑机器学习,觉得它的方向彻底错了。
而我现在觉得,或许这个方向还可以。说不定已经接近生物几亿年前的水平了。嘿嘿,说不定我们已经超越植物的智能水平了。几亿年前的智能也没有语言。
机器学习今天这条路虽然还不能清晰表达想法,但至少他在持续的解决问题,一步一个脚印。说不定我们再解决几千个问题,我们就知道语言的本质是什么了。
这句话我没看懂。不知道您想表达什么。
不完美的伪智能能达到欺骗普通人类的水平倒是反而简单了。培养大师不行,倒会是先培养出一群骗子。
或者说,生物喜欢相关性,不喜欢因果,比如大家都诟病的sterotyping 没什么逻辑可言,但是人民群众长期总结的规律就是依靠相关性,热衷的不得了。
但正是逻辑带来了现代科技,带来了电脑,而人们却用电脑去模拟无逻辑的人脑,这种叫做人工智能,这中间的困难可想而知。
越是不讲逻辑的理论,只好符合人的简单相关性思维特点,就容易被接受。骗子,或者着说情商高的人就是对人的这个特点非常了解,运用熟练。
你们俩的讨论引出一个问题,flux很准确的描述了人类传统科学工程的方法论与机器学习的区别。也可以说机器学习在现阶段只能模拟人类本能与早期的智能活动。这一点似乎大家都没有异意。
那么是否机器学习的未来必将走人类在科学上的路径,演变出逻辑思维,并进而发展出自我生成几何假设等模型(不纠缠于名词)这样的类似与人类今天的方法呢?
这里实际上提出的问题是,是否这样的通过产生逻辑为基础的模型才能向智能的更高层次发展,人类的历史无疑是如此的,但一个没有回答的问题是,这样的模型与假设为什么对人类的智能提高有很大的作用,换句话说,这个方法的意义在哪里?
我随便拍脑袋向了一下的结果是,人类做这个简化模型,并通过因果关系来固化一些相关性100%为因果的关系,强调逻辑的过程,然后输入不同参数去得到近似结果(往往相去甚远),的本质原因是提高效率,借此摆脱人脑的计算能力底下的限制。
flux所说,人不可能穷极宇宙中的所有因果原理,把一切都已模型去计算,事实上科学家寻找的总是一些终极原理,防止四海皆准的理论,就是被这个计算能力局限所驱动。而事实上,人类的计算能力提高(工具),才是人类工业能力大幅提高的源泉。科学理论许多在证明后束之高阁,到了计算机能力提高的今天才显出威力,人工智能的发展本身就是个例子。
这些都说明了一个道理,通过人或机器去开发模型假设来认识世界的过程有很大的局限性,但是效率比单纯仿人类早期学习要高的多,这一对矛盾恐怕就是机器计算能力超越今天许多的未来也会仍然存在。