前言

最近几天和一位朋友探讨了一下现阶段的人工智能以及未来发展,并且仔细重读了尤瓦尔赫拉利的“简史三部曲”,产生了一些关于AI的新想法,觉得有必要整理出来。

程序、AI的本质

现代的计算机都是基于图灵机、冯诺依曼体系结构而实现,而在其中运行的程序是由两部分组成:

程序=算法+数据结构

算法就是指代码(在本文中“算法”,“代码”,“逻辑”都是同义词),程序将数据输入到算法,算法运算后再将数据输出,包括现在的人工智能程序,其本质也是如此,只不过其算法很复杂、数据量更大而已。

程序的算法是在程序运行前由程序员构思并实现,在程序运行后就完全不会变,除非程序员手动对算法进行修改。

因此,现在的所有程序都是对数据进行处理,输入、输出都是数据。但人类的人脑不仅有数据处理能力,还有逻辑运算能力。能够从某些数据或某些场景得出逻辑、得出规律。现阶段的计算机在这方面的能力为0。

做个感性的打分:

人脑

计算机

逻辑能力

10

0

数据运算能力

1

10000

举个逻辑的例子

在人类的生活、工作中遇到的问题大部分都是属于逻辑问题。在不考虑现实复杂的情况下,举一个很直观的数学例子:

列出所有的组合情况

比如从1-6号小球中拿出3个小球,请列出所有的可能情况

人类可以结合自己的知识来想出各种不同的方法,比如

第一种方法:从取1个开始,列出所有的情况,然后再从取1个的所有情况中,再取1个,列出所有情况,最后再在所有取两个小球的所有情况中再取1个,穷举出所有情况。

第二种方法:取0到63(二进制111111对应63),然后转化成二进制数,再数二进制数中1的个数,如果为3,那么就是对应一种情况,于是可得如下的二进制数列——

第三种方法:查看第二种方法中生成的数据,可以发现一个规律:

a.先将3个1放在最左边,

b.然后找到最左边连续的1,将其最右的1往右移动一位,如果还有剩下的1就移到最左边,得到一个新数。

c.一直持续b过程,直到所有的1都在最右边。

有算法基础的程序员很快可以发现方法3的效率最高,方法1太占用内存,方法2太占用算法时间。

我们得到第三种方法就是通过从少量的数据中发现规律、逻辑,从而得到算法。

下面这是第三种方法的go语言实现:

https://gitee.com/xiangism/blogData/blob/master/math/combination.go

现在的计算机程序是不可能进行上面的思考过程,不可能得出方框中所示的规律,更不可能编写也用来生成数据的算法程序。

如果有哪位程序员想挑战下,这里给出另外的三组数据,程序写好后,不能改变,看其能否生成逻辑或者预测后面的数。并且类似的数据还可以有各种各样的变形。

上面这个只是一个非常数字化的例子,其实想一下我们生活中遇到的所有问题几乎都得靠人类从数据中得到逻辑、从逻辑推演出新的逻辑。人类的学习、生活、工作都是获取逻辑、推演逻辑、应用逻辑的过程。

人类有逻辑能力后,就可以应对各种不同的情况(不同的情况就相当于不同的数据),根据当时的场景演化出适用于场景的特定做事方法(算法)。而现在的人工智能只能应对程序员事先想好的场景,对于从来没有出来的场景它是无能为力的。

并且程序员也不可能事先将所有情况都考虑进去,因为世界充满着不确定性,唯一不变的就是变化。

人类的逻辑可以使人类从复杂的数据中得出清晰、简洁的规律,从而指导将来的人类活动。

从毕达哥拉斯定理到微积分,从牛顿运动定律到爱因斯坦相对论,从薛定谔方程到杨-米尔斯理论,
人类正是通过强大的逻辑能力,从实验、观测、数据中总结出公式、规律和定理(可以统称为:算法),
从而造就了现在璀璨的人类文明。

为什么计算机的逻辑能力为0

如果仔细阅读上面的问题,其实就可以得到答案,“计算机”是用来计算,而非逻辑推演。

如果想让计算机程序能够处理某个事物,必须对其进行数据建模、建立对应的数据结构,而现在没有能对算法进行建模的理念基础,不能将算法有效地表示出来,也不能对算法进行运算了。

仔细考虑人脑从数字中找规律的过程,可以发现也是在认识范围里尝试各种可能性(各种算法),这和计算机穷举数据类似,只不过计算机是操作的数据,而人脑操作的是算法。

所以,只要能将算法有效地建模就可以实现计算的逻辑能力。

人机深度结合的可能性

如果不实现计算机逻辑能力的从0到1过程,其计算能力和人脑逻辑能力的合并也只能是空想。

因为现在计算机不懂人脑是如果逻辑思想,只会按照代码指令忠实地去运行。

而人脑也不懂人工智能的运作机制:深度学习从海量数据中统计出一个最优值,人脑也无法理解其具体的运算过程。

喊话赫拉利

赫拉利的“简历三部曲”被本人分在人文类书籍里,除去人类智能部分,他对人类历史、现在与未来的思考部分值得我们参考,但几乎不认同他对AI的预测。

人工智能不可能开办公司

如果开公司的所有情况都能事先被编码好,仅仅会处理数据的人工智能根据这些规则就能开公司、赚钱的话,我只能说赫拉利把现实世界想得太过简单了。

不会被人工智能替代的职业

数据处理、逻辑推演本质上是数学问题,而人类生活中遇到的事更多的不是数学问题。我大致总结以下类型的职业都不会被人工智能替代:

1. 需要逻辑的行业。程序员

2. 人类还没有完全搞懂的行业。医生

3. 服务行业。客服、前台、导游、理疗师、健康教练、健康顾问

4. 充满未知、变数的行业。司机、律师、谈判专家

程序员

2050年肯定不会出现程序员失业的情况,甚至连会一点点写程序的人工智能都不会出现。出现的仅仅是生成代码模板的IDE而已。

司机

与飞机相比,路面的情况就复杂很多。所以飞机的自动驾驶在几十年前就出现了,随着人工智能将尽可能多的情况都考虑进去,路面上的自动驾驶自动性提高到99%了。但世界总是充满未知、充满不确定性。

2050年肯定不会有哪个国家或地区不需要人考驾照。

并且不管别人怎样,在我一生之中肯定不会做这样的事:自己在睡觉,将车完全交给人工智能去开。

医生

人类对自己身体的了解还太少了,2050年肯定不会出现一家没有医生、只有人工智能的医院。

客服

顾客找到客服人员,可能有这么几种情况:

  1. 遇到了产品中的问题需要解决,这种在一定程度上可以用人工智能来解决,但只要是一个稍微大点的产品或系统,其出面对用户时出现的问题就千奇百怪,并且随着产品的升级,新问题和旧问题交织在一些时,就不是人工智能能够面对的了。

  2. 对产品提建议。如果一个用户可以对产品提建议,那么说明其对产品已经有感情了,这时其多半想面对的是人工,而不是冰冷的人工智能。

  3. 吐槽。用户本来就已经对产品产生了一定程度上的厌恶,如果不能和真人进行一番沟通的,而是面对一个机器,很难想象这个用户还会继续使用该产品。

  4. 纯属无聊,就是想调戏客服。这种情况对于一个想有好口碑的公司来说,还是用人工会比较好,哪怕浪费的人力资源。

2050年不会有淘宝卖家全部都使用人工智能小二,并且人工客服的使用比例也不会比2019年少太多。

前台、门卫

这类职业是公司的脸面,并且面对的事务也会比较复杂,所以不可能被替代。

理疗师、健康教练、健康顾问

这类职业往往顾客看中的是人的品质,如果他自身是个体弱多病、瘦骨伶仃的人,就算掌握的健康知识再多、再丰富,恐怕也得不到顾客的认同。

律师、谈判专家、基金经理

这类职业面对的复杂性比我们想象的要大很多。

猜想

人脑无时无刻都在“编程”,也就是生成各种算法,然后将算法存储起来,得到合适的时机时再拿出来使用。

人类的人脸、图像识别这么快,可能是因为对每个认为的人脸都有生成一个特定的算法,在找人时就是用的那一个算法去找。对认识的不同人,每个人都生成不同的识别算法。

意识只不过是一系列逻辑、算法的集合。 人脑用逻辑去思考“我是谁,我从哪里来,我要去哪里”之类的问题后,于是就有了意识。 

总结

  1. 图灵机最大的缺陷:只能对数据进行处理,算法的所有逻辑都是程序员写死,算法不能自我演化。

  2. 如果想改变这种现状就得创立新的数学分支,使得它可以对算法进行编码,实现操作算法的算法。

  3. 想要人机深度结合必须要实现2。

  4. 如果人类或宇宙不是超级智能体的杰作,那么人类是能够在数学层面上实现操作算法的算法。但愿这样的数学分支能在100年出现。

  5. 既然实现自动智能如此之难,我们还是得脚踏实地在现在的AI基础上有所作为,除非你的脑袋被上帝丢的苹果砸过。

  6. 虽然现在AI只能对数据进行处理,但它的应用场景随着大数据、Iot的到来也会普及到人类活动的方方面面中,但也不必太对其过于恐惧,毕竟一个严重偏科生不可能取代一个发展平衡的好学生,最多是成为其助手。

  7. 随着5G时代的到来,会大大加快Iot的进程,使万物互联成为可能。只会处理数据的AI(如果为了商业需要还是叫AI的话)会大显身手。

最新文章

  1. Apache Spark 1.6 Hadoop 2.6 Mac下单机安装配置
  2. (一)css代码积累——自己经常忘记,但是总记不住的代码
  3. QCopChannel的用法
  4. IT人生思考
  5. CentOS 6.4安装Apache+MySQL+PHP的图文教程
  6. cf_ducational Codeforces Round 16_D(gcd)
  7. 使用Join代替In
  8. JavaWeb学习总结
  9. Kakfa揭秘 Day6 Consumer源码解密
  10. iOS面试题03-UI控件
  11. 制作openstack用的centos6.5镜像
  12. nRF Toolbox 1.2 使用AKII的实现,而Becon始终不好使
  13. Hexo搭建静态个人博客
  14. zoj 1884 简单 键盘 字符 处理
  15. [TCP/IP]TCP连接的建立和终止
  16. P4098 [HEOI2013]ALO
  17. Win下Jenkins-2.138源码编译及填坑笔记
  18. EDI 学习开发(一)
  19. 二、K8S镜像问题
  20. springboot打war包后部署到tomcat后访问返回404错误

热门文章

  1. 简明Python3教程 9.函数
  2. matlab 警告(warning)、错误(error)、异常(exception)与断言(assert)
  3. 期刊(Journal)、会议(Conference)及其影响因子(Impact Factor)
  4. DRP-ThreadLocal简单的理解
  5. 两个同名controller导致调用崩溃
  6. WPF 4 日历控件(Calendar)
  7. Redis 一些高级用法
  8. jquery 用json设置css
  9. xadmin 无法创建xadmin_log 或者是xadmin源代码使用,没有引用xadmin包报错或 1146, "Table 'mxonline.xadmin_log' doesn't exist"
  10. UWP使用AppService向另一个UWP客户端应用程序提供服务