首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《终极算法》笔记

本书名叫《终极算法》,美国华盛顿大学计算机科学教授佩德罗·多明戈斯著。当下人工智能非常火,各种各样的算法层出不穷,“算法市场”异常繁荣。而本书则提出了一个非常有趣的问题:是否存在一种特定的终极算法,能够自主学习所有知识,无论是过去、现在还是未来的知识。在我看来,这个问题之大胆,可以媲美几百年前人们对于永动机的设想。难以想象这样一个算法的存在,无论它是几十或是几百万行量级的代码,都会令人感到震惊。

本书并不是一本难啃的技术书籍,也不是空洞乏味的概念堆积。关于终极算法,作者总结了不同流派学者提出的“候选项”。首先是看起来脑洞最大的选项:大脑。神经科学家认为,大脑就是终极算法,最重要的论据是大脑负责我们能感知以及想象的一切。这个答案有一个看似强大的论据支持,就是生命已经在地球上运行300万年了,除了已转化成人类本能或者身体机能的那一小部分知识,其他的所有知识都是人类通过大脑来学习获得的。

看似非常有道理,但是这个答案存在两个问题,首先大脑能够学习所有的知识吗?这一点并不能保证。还有最致命的一点,大脑就很难变成代码啊,所以即便真的大脑就是终极算法,那我们也没法让计算机去模拟大脑。

物理学家们明显更加严谨保守,他们从统一性的角度分析了终极算法的存在:如果所有知识共同遵循一个模式,那么终极算法就存在,反之则不存在。

计算机科学家们有乐观一些,他们相信终极算法的存在,毕竟现在算法领域发展比如迅速。人工智能的一个定义是要找到NP完全问题的所有启发性解决方案,这些问题会转化为可满足性问题。如果我们发明一种学习算法,能够学习解决可满足性问题,那么这个算法就是终极算法。算法是归纳的过程,而学习的过程对计算机来说就是演绎的过程。

接下来是持反对意见者,知识工程师认为人工智能的问题仅仅是工程学的问题,但是我们还没达到那个点,所以终极算法也是不存在的,知识工程才会带领我们走完剩下的路。但是目前来看,这个观点是不靠谱的,起码80年代"siri"的测试开发过程证明了这一点。还有人说机器学习无法发现更深刻的东西,比如牛顿定律,没错目前来说确实没有,但是未来机器算法还会有发展,对一个处于婴儿期的技术如此吹毛求疵是不合理的。最后,最有利的一个反驳论点是:“终极算法怎么可能打败在不同领域有出色表现的各类算法呢”,举个例子,一个全科医生怎么会比一位拥有30年临床经验的牙医更懂牙科呢?这个问题的确如此,而且目前还无法预测终极算法的规模大小。

OK,暂且不管这些,我们来看看有哪些未达标准的终极算法选项:

然后,在算法领域有五个学派,类似金庸笔下的“五大门派”,他们分别是:

这里我最感兴趣的是符号学派,原因很简单,符号学派的思想来源于休谟的思想。休谟是伟大的经验主义者,严格的怀疑论者。他提出一个值得深思的问题:在概括我们见过的东西以及没见过的东西时,怎么样才能做到合理?这里有几个观点:

a解决不适定问题的唯一办法就是引入附加假设。就好像需要两个二元一次方程才能解出X1和X2。

b机器学习不可避免地存在含有投机的因素。

c牛顿法则是机器学习的第一个规则:我们归纳自己能力范围内、应用最广泛的规则,只有在数据的迫使下,才缩小规则的应用范围。

好了,第一部分的笔记就写到这儿,接下来说说我的感受,人们总是希望追寻一些简单有美妙的真理,的确最近这三百年间人类有很多的发现,比如万有引力、开普勒定理等等,但是随着计算机科学的发展,很多新的知识似乎变得体量越来越大,似乎这门学科追求的不是简单而是复杂,因此终极算法的讨论显得是那么“返璞归真”。当然,我觉得如果有一天我们找到了终极算法,它也很有可能非常复杂,不会像牛顿定理那么简单明了,用一个公式就能高度概括。所以,我也想抛出一个问题:计算机科学领域的新知识有没有可能像几百年前的定理那样高度简单概括?或者说,将来是否会出现一种高级的语言或者算法,如此简单美妙地就能解决一个大类的问题?

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180306G0DCWH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券