惊爆!机器可以思考有意识了? 道翰天琼认知智能平台API接口为您揭秘。

2019年10月31日下午,在北京智源大会的“人工智能的数理基础专题论坛”上,哈佛大学统计系教授、现任清华大学丘成桐数学科学中心教授Donald B.Rubin 做了题为《Can Machines Be Trained to Think, And If So, HowWill We know?》的演讲。Donald B. Rubin是美国国家科学院院士,美国科学与艺术学院院士,获得过统计学领域几乎所有著名奖项,包括著名的 Wilks奖章、Parzen奖、Snedecor奖等,是当今世界最具影响力的统计学泰斗,他的统计思想对生物医学、经济学、心理学、教育学、社会学及计算机科学等众多领域产生了重要的影响。 Rubin在本次演讲中,深入浅出、触类旁通地为我们介绍了他最近正在研究的一个非常有趣的课题“机器受训后是否可以进行思考(thinking) 甚至具有意识(conscious)?”,他认为thinking 和conscious是有区别的,并在讲座中为我们详细介绍了两者的区别。
围绕这两个名词,Rubin带着我们一步步进入演讲的核心内容:Rubin首先介绍了他丰富的求学经历以及在此期间结交的各领域巨擘,这些经历构成了他思考问题时的独特思维方式;紧接着Rubin用一个非常简单的统计学问题介绍了他的观点---机器是可以受训进行思考的,但是并没有意识;最后,Rubin将内容进一步升华,从意识的起源为我们介绍了思考和意识的区别。整个演讲层层递进,引人入胜又轻松有趣,智源小编根据Rubin的演讲逻辑对它进行了如下二次整理,相信大家会开卷有益。 
01人类:IDIOSYNCRATIC
在英语中,有一个很有趣的单词叫idiosyncratic,中文含义可以理解为特殊的、另类的。当我们看到一个问题,试图回答或者解决这个问题的时候,我们发现不同的人会看到问题的不同方面,这就是所谓的idiosyncratic。Rubin教授一生置身学术,因此他对于这个课题的认识,很大程度受到其学术背景的影响。 Donald B.Rubin 1943年出生于美国华盛顿,1961年至1965年在普林斯顿大学攻读物理学博士学位,他的导师John Wheeler①(编者注:关于John Wheeler的学术生涯介绍,请参考本文后的参考资料)是一位传奇式的人物,他是冯诺伊曼、爱因斯坦、玻尔等人的同事,是理查德·费曼、马克思·特格马特等人的的导师,他的研究和见解对核物理、粒子物理、核武器的设计、广义相对论及相对论天体物理、量子引力及量子信息等领域都产生了重大影响,思考更是涉及观察者与实在、实在的结构、时间的起始与终结、观测的本性、因果性、科学的本体等基本的哲学问题,大家非常熟悉的一些词汇:黑洞、虫洞、量子泡沫、多宇宙等也均由他首次提出。
这位美国著名的物理学家、物理学思想家和物理学教育家喜欢思考解决宏大而无边界的问题,在大学的物理课堂上,他会问大家:野鹅能够飞多远?当然这是一个没有标准的答案,学生们会写下许多问题:野鹅?能够飞多远?重量是多少?脂肪是多少?脂肪中有多少可以转化成能量?John Wheeler通过提出这个问题,来启迪学生如何针对一个问题进行扩展性的思考。在那个年代,普林斯顿大学堪称物理学的麦加圣地,它的高级研究院中,汇聚着爱因斯坦、冯诺伊曼等一批大人物。这段求学经历深刻影响了Rubin教授,不仅训练了他极好的物理思维方式,也培养了他在学术作风上的谦虚谨慎、兼收并蓄。 1965年,Rubin在普林斯顿大学继续攻读应用心理学,在那里,Rubin遇到了很多应用心理学方向很伟大的研究者,他们的思维方式与物理学虽然截然不同,然而同样具有创造力和启发性。在学习期间,Rubin与Julian Jaynes 相识,并阅读了Julian Jaynes 的著作《The Origin of Consciousness in the Breakdown of theBicameral Mind》(《二分心智的崩溃与意识的起源》),这本书对他的影响意义深远,他在书中读到关于人类意识起源的理解(详见下文),促使他更深层的探索“机器的思考和意识的起源”。1975年,Rubin在密西根大学遇到著名的数学心理学教授Daniel Kahneman。Daniel Kahneman发现,很多人在生活中都在“误解”概率:他们在面临收获时是风险规避的,而在面临损失时是风险偏爱的,人们对损失比对收获心理更敏感;损失对人心理造成的痛苦程度是等幅收益带来喜悦程度的2.5倍,这一数据客观显示了人类与机器一个很大的区别--人类具有“非理性”的一面。 1966年,Rubin转学到哈佛读计算机科学,并有机会结识一些其他领域的朋友,比如著名的语言结构学家Avram Noam Chomsky,“人工智能之父”和框架理论的创立者Marvin Lee Minsky。 1970年,Rubin在哈佛获得统计学博士学位,师从William Cochran。William Cochran在1957年到1976年供职于哈佛大学,在其任职期间Cochran建立了哈佛大学的统计学系,使得哈佛大学在今后的几十年间培养了大量优秀的统计学专家。在Rubin学习期间,Cochran向其介绍了另外一名著名的统计学家,R.A.Fisher。R.A.Fisher在1915年、1918年相继发表过两篇重要文章,前者探讨相关系数的分布;后者证明遗传上的连续变异。R.A.Fisher在1925所著《研究工作者的统计方法》影响力超过半世纪,遍及全世界;而他工作的结晶同时也表现在为达尔文演化论澄清迷雾的巨著《天择的遗传理论》中,将统计分析的方法带入演化论的研究,这一研究为解释现代生物学的核心理论打下了坚实的基础。 Rubin 教授丰富的个人求学过程,跨领域的研究经历以及常常与伟大学者交流对话的行为,都不可避免地影响着他的思考方式。他接纳着来自不同学科领域中思考方式的优缺点,并将其融汇贯通,不断的内化,最终形成了自己独一无二的个体思考方式。其实我们知道,每个人的思考方式、行为特点等都深受其家庭环境、教育背景以及周围朋友的影响。下面让我们来看一下Rubin如何思考这个问题:计算机是否也可以像人类一样进行思考呢?  02机器:有边界问题的思考者
我们如何了解机器是否能思考呢?Rubin 经常审核与机器学习相关的论文,因此他在讲座中为我们列举了关于机器学习的算例。Rubin认为机器学习中典型的“训练数据集/测试数据集”机制并不会让机器产生理解,只会在类似赌博的行为中产生最大利益。下面,Rubin在演讲中例举的一个小例子揭示了“理解”与机器学习的“预测”之间的不同。 简单起见,我们不妨仅考虑一个变量Y,它等于男性或者女性,根据Y的样本统计值,我们可以估算出女性在总人口中的比例。问题是,当我们进行了抽样调查时,不巧发现样本中20%的Y样本丢失了,因此,我们需要插补出丢失的数据。假设数据丢失是完全随机缺失(MCAR)或者随机缺失(MAR)的——在上述情况中,由于仅考虑一个变量Y,因此两者是等同的(MCAR=MAR),我们可以随机将整个可观测样本分成训练集和测试集两大类,接下来我们开始插补数据了。为了下文能够说明机器学习在“理解”上的“荒谬”,不妨假设在可被观察的Y中,男女比例为4:6。在人类看来,这种假设下插补数据中男女比例如果也为4:6,应该是最“理解”原始数据的插补方法。但按照机器学习的模式进行计算,将整体数据随机地分为训练集和测试集,并用如下两种方法进行拟算:
方法A:假设我们插补的数据全部均为女性,也就是说丢失的20%均为Y=女性;方法B:假设我们插补的数据男女比例为4:6;
事实上,机器学习产生了令人费解的结果:使用方法A达到正确拟算的期望为60%,使用方法B达到正确拟算的期望为52%。 显然,在理解数据的基础上,我们认为方法B达到正确拟算的期望应该更高,但是结果却并非如此。Rubin认为,这两种方法都无法在通过对数据集的推算中得到有效的统计推断;而有效的统计推断才更接近于“理解”。一般情况下,单一插补方法无法产生有效的统计推断,只有多重插补法才能在广泛意义下做到这一点,其中最主要的统计学方法即为贝叶斯估计。 那么,从观测数据中进行有效推演的经典统计学方法有哪些需要注意的呢?Rubin 给我们做了一些介绍:

  1.  

点估计:点估计是用样本统计量来估计总体参数,因为样本统计量为数轴上某一点值,估计的结果也以一个点的数值表示。点估计是近似无偏的,可以认为等同于重复样本的估计,并且估计中的结构设计是相同的;

  1.  
  2.  

对真实假设的检测,拒绝率应该低于名义利率;

  1.  
  2.  

置信区间:在重复抽样的前提下,至少应尽可能地覆盖他们的估计,也就是说被估量至少和实际宣称的被估量大体保持一致;

  1.  

 

也就是说当我们掌握被观测的数据集时,最有效的推演实际是我们希望找到另一组数据集,这组数据集能更好的“匹配”原始的被观测数据。所谓更好的“匹配”,其实是这组数据集在统计学的角度看,具备了很多良好的性质或条件:比如 MSE较小、置信度较高、更符合贝叶斯思想或在机器学习的角度上,更容易构建精确的方法去计算。

现在让我们返回最初的问题:机器是否可以思考呢?答案是肯定的。如果我们让机器思考的问题,是具有明确界定的,那么机器是可以给出我们答案的。正如上面Rubin教授给我们举出的计算女性比例的例子一样。但是机器给我们的是一个问题的答案,而非对问题的理解,因此,如果我们从长远的角度看,比如:举一反三、触类旁通等这些方面,机器的“答案”显然是没有意义的。但人类是不同的,人类不仅可以形成答案,而且可以理解问题:也就是说人类具有“思考问题的过程”,尽管这个过程可能会有这样那样的缺陷,但是人脑却更具有创造性、更复杂,更能解决那些之前并未形成结论或边界的问题,甚至可以因此而提出新的问题。 
03意识:Breakdown of the Bicameral Mind
虽然人脑具有意识这个结论是显而易见的,但我们更想了解的是:为什么人脑更具有创造性呢?Rubin介绍了他通过阅读Julian Jaynes 的著作《The Origin of Consciousness in the Breakdown ofthe Bicameral Mind》(《二分心智的崩溃与意识的起源》)所获得的答案:人脑中具有非理性思想的存在。 Julian Jaynes在书中阐述了意识和思考的区别。举个例子,当你拿着手机看这篇文章,你会思考“意识”这个概念,但你不会去思考刚刚你摸了一下脖子,或者把屏幕亮度调低这些行为的理由,因为人类大部分的行为都来自于本能。意识是什么?意识是对思考的知觉,对思考的思考。比如“他在撒谎”可能不是由意识支撑的念头,但“我不能相信权威”,则是一个基于对“权威”概念的理解,以及过去经验而形成的综合,这是对思考的思考,是谓意识。 没有意识的人是如何生存的呢?Jaynes 通过研究大量的古代文献、记录、神话和遗迹,支撑起了这样一个判断:三千年前的人类几乎是没有真正意义上的意识,他们只有二分心智。所谓“二分心智”,即:头脑分成两个半球,右脑负责讲述,左脑负责理解、接受和行动。当时人类的一切行动,都只是一侧头脑在听从另一侧头脑“诉说”的幻觉声音的指引,这种幻觉的声音,也被称为 inner monologue(内在的独白)。从荷马的《伊利亚特》到《旧约》圣经,我们看到所有人物都从未发生内心的反思,他们一切的行动都是神的旨意。一神论是后来形成的,在此之前,花样繁多的神明被各种文明、城邦甚至村落所信仰。Jaynes认为:古代的人总说“神说 xx”,这些记录有没有可能都是真的呢?这样,人的行动就不需要意识和理由的驱动,人的欲望、恐惧和贪婪等一切情感都可以通过本能,以及“上帝的声音”指挥而来。没错,这就是福特所说的“阿诺德的两个错误”。 而随着人类社会日趋复杂,人类开始意识到脑中的“inner monologue”就是自己本身时,这种二分心智也随即坍塌,人类的自我意识被唤醒,最终具有了内在叙事的能力②。 (编者注:根据智源小编对“二分心智崩溃导致意识的起源”说法的论文调研,发现有一些论文并不赞同这个观点,参见文后的参考资料) 现如今,越来越多的人投入到对人工智能的研究当中,人们也隐隐期盼着在这孤独的星球上,能产生可与人类进行平等对话的真正智能。Rubin的演讲揭示了从产生思考到产生意识,距离模拟真正的人类智慧,人工智能还有一道难以跨越的鸿沟。也许,在对人类智慧发展历史的不懈追溯中,我们能发现解决这一问题的蛛丝马迹。

 

认知智能未来机器人接口API简介介绍

  • 认知智能是计算机科学的一个分支科学,是智能科学发展的高级阶段,它以人类认知体系为基础,以模仿人类核心能力为目标,以信息的理解、存储、应用为研究方向,以感知信息的深度理解和自然语言信息的深度理解为突破口,以跨学科理论体系为指导,从而形成的新一代理论、技术及应用系统的技术科学。 认知智能的核心研究范畴包括:1.宇宙、信息、大脑三者关系;2.人类大脑结构、功能、机制;3.哲学体系、文科体系、理科体系;4.认知融通、智慧融通、双脑(人脑和电脑)融通等核心体系。 认知智能四步走:1.认知宇宙世界。支撑理论体系有三体(宇宙、信息、大脑)论、易道论、存在论、本体论、认知论、融智学、HNC 等理论体系;2.清楚人脑结构、功能、机制。支撑学科有脑科学、心理学、逻辑学、情感学、生物学、化学等学科。3.清楚信息内涵规律规则。支撑学科有符号学、语言学、认知语言学、形式语言学等学科。4.系统落地能力。支撑学科有计算机科学、数学等学科。

接口申请官网地址:www.weilaitec.com 

  •  

接口地址(例子): 

  •  

http://a239p06512.zicp.vip/Web/BuAppJava.bujqrex?apikey="+apikey+"&msg="+msg+"&ip="+ip 

  •  

用户端消息内容。 

  •  

String msg ="你在干嘛呀?";  

  •  

apikey参数。这个apikey就是网站上申请的APIKEY 

  •  

apikey ="";  

  •  

//客户端ip,最终用户端的唯一标识(可以是用户端的IP,或者手机设备号,或者微信号或者,qq号码等能证明身份的唯一标识就可以)  

  •  

String ip ="";  

  •  

//这里一定要encode转换编码。转成GBK。 

  •  

msg = URLEncoder.encode(msg, "GBK"); 

  •  

三个参数全部小写 

  •  

msg参数就是传输过去的对话内容。 

  •  

msg参数要编码成gbk,不然会乱码。 

  •  

接口具体代码: 

  •  

package ai.nlp.jiekou.test;

  •  

import java.io.ByteArrayOutputStream;

  •  

import java.io.IOException;

  •  

import java.io.InputStream;

  •  

import java.io.UnsupportedEncodingException;

  •  

import java.net.HttpURLConnection;

  •  

import java.net.URL;

  •  

import java.net.URLEncoder;

  •  

import ai.nlp.util.changliang.ChangLiangZi;

  •  

public class ApiTest {

  •  

/**

  •  

* Get请求,获得返回数据

  •  

* @param urlStr

  •  

* @return

  •  

*/

  •  

private static String opUrl(String urlStr)

  •  

{

  •  

URL url = null;

  •  

HttpURLConnection conn = null;

  •  

InputStream is = null;

  •  

ByteArrayOutputStream baos = null;

  •  

try

  •  

{

  •  

url = new URL(urlStr);

  •  

conn = (HttpURLConnection) url.openConnection();

  •  

conn.setReadTimeout(5 * 10000);

  •  

conn.setConnectTimeout(5 * 10000);

  •  

conn.setRequestMethod("POST");

  •  

if (conn.getResponseCode() == 200)

  •  

{

  •  

is = conn.getInputStream();

  •  

baos = new ByteArrayOutputStream();

  •  

int len = -1;

  •  

byte[] buf = new byte[128];

  •  

while ((len = is.read(buf)) != -1)

  •  

{

  •  

baos.write(buf, 0, len);

  •  

}

  •  

baos.flush();

  •  

String result = baos.toString();

  •  

return result;

  •  

} else

  •  

{

  •  

throw new Exception("服务器连接错误!");

  •  

}

  •  

} catch (Exception e)

  •  

{

  •  

e.printStackTrace();

  •  

} finally

  •  

{

  •  

try

  •  

{

  •  

if (is != null)

  •  

is.close();

  •  

} catch (IOException e)

  •  

{

  •  

e.printStackTrace();

  •  

}

  •  

try

  •  

{

  •  

if (baos != null)

  •  

baos.close();

  •  

} catch (IOException e)

  •  

{

  •  

e.printStackTrace();

  •  

}

  •  

conn.disconnect();

  •  

}

  •  

return ChangLiangZi.WU;

  •  

}

  •  

public static void main(String args []){

  •  

//三个参数全部小写

  •  

//msg参数就是传输过去的对话内容。

  •  

//msg参数要编码成gbk,不然会乱码。

  •  

String msg ="你在干嘛呀?";

  •  

//apikey参数。

  •  

String apikey ="UTNJK34THXK010T566ZI39VES50BLRBE8R66H5R3FOAO84J3BV";

  •  

//客户端ip,最终用户端的唯一标识(可以是用户端的IP,或者手机设备号,或者微信号或者,qq号码等能证明身份的唯一标识就可以)

  •  

String ip ="127.0.0.1";

  •  

//这里一定要encode转换编码。转成GBK。

  •  

try

  •  

{

  •  

msg = URLEncoder.encode(msg, "GBK");

  •  

} catch (UnsupportedEncodingException e)

  •  

{

  •  

e.printStackTrace();

  •  

}

  •  

System.out.println(opUrl("http://a239p06512.zicp.vip/Web/BuAppJava.bujqrex?apikey="+apikey+"&msg="+msg+"&ip="+ip));

  •  

}

  •  

}

  •  

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值