来自2018年最后的瞎扯——从“空间”到“强人工智能”

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z_x_1996/article/details/85544865

来自2018年最后的瞎扯——从“空间”到“强人工智能”

虚假的前言

这一部分毫无营养价值,纯粹是对笔者2018年做一个东拉西扯的总结,称得上或许有那么点价值的东西可能得从下一章看起。跳过该前言部分,可能会是各位2019年所有明智抉择的开始 ^_^。

2018年,倒没有做出什么让我无比骄傲自豪的工作,一切显得稀松平常。但这平常的一年我倒是学到了不少的东西,感觉头脑里面的无知可能确乎是真的少了那么一点。然而,随着塞进头脑里的东西越来越多,我现在感觉我思维里的东西愈发的庞杂混乱了。

我头脑里想象的空间,是我最引以为傲的东西,那是我最满意的试验场,也是我所有乱七八糟知识存放的地方。在其中某个角落,有一个只有经纬线的球在转着,我通过想象其旋转并且通过其转速来测试自己思维的状态,然后安排相适应的任务;在另一个角落,有一把算盘,那是我用来计算的工具;还有一个角落,有着各种杂七杂八的实验,比如通过自然定律来实现复杂运算规则,把整个大自然当做运算场并且在其中寻找运算的单元,我把这个叫做“物理运算场”,比如通过光的夫琅和费衍射做傅里叶变换,性能将远胜计算机,我曾构想过通过光器件构建神经网络,从而使得训练显得简单轻松。总之,在这个世界里,四处漂浮着各式各样的东西,有雷神的锤子,有通过莫比乌斯带上滚动圆柱体定义的周期性翻转卷积,有搞笑的收尾相连的找不到输出的神经网络,有躺在沙发上的加菲猫,有瞄准敌人狗头的98K,还有一些奇奇怪怪的图形。这个空间真是太有意思了,导致我对现实中很多东西都兴致缺缺。因为我知道只要我闭上眼睛,就能够在我自己的空间里把矩阵拉成圆形的、把曼德拉合金做成三级头,随心所欲。

然而现在这个空间显得有些粘稠了,我每一次拉扯东西出来,都粘连着其他的东西,当我想用拟牛顿梯度下降方法时,对抗噪声、莱布尼茨和放牛娃王小二也随着跃然而出,虽然他们只是在边缘的地方悄悄待着并不影响主体的工作,但这些额外的消耗依然让我不胜其烦、不堪其扰。我终于意识到,我需要一个更加高明的方法来梳理我的空间了,这也是我在后面很长一段时间里的需要面对的问题。

真正的前言

那么我们现在开始一些真正有那么一点意思的东西吧。

这篇文章,我将从自己理解的角度以一个更加广义的方向来谈谈“空间”这个司空见惯的东西,然后把人类的知识领域放在“空间”的框架下讨论,并且在这个基础上定义“强人工智能”这个概念。“从自己理解的角度”意味着,我狡猾的将可能犯下的错误放在了合情合理的位置并且欢迎各位批评指出。

我相信读者在读到这篇文章的时候对空间已经有了很多理解,比如三维线性空间,数据空间,误差空间,参数空间,不一而足。然而在开始我们所有的讨论之前,我希望读者先清空所有对空间已知的东西,脱离已知的东西对你的束缚,然后在一片虚无的脑海中从最根本的东西出发,尝试从无到有的思考下面的问题并且说服自己:

  • 什么是空间?
  • 众多对象组成的空间与其组成的集合有什么区别?
  • 你自己定义的空间是否包容我们已知的空间?

当各位有了自己的答案和疑惑的时候,我希望我的答案与疑惑能够和大家一起交流。那么接下来,这篇文章便真正开始了。

1. 集合——“有”和“无”

我的脑海已经空空如也,perfect。

我需要知道我要研究些什么东西,我是要研究家具、数字、植物还是星球?这些我管不着,既然我希望在一个更加广泛的框架下讨论一些问题,任何东西都可以构成我想研究的总体。那么不妨这样,我拿出一个容器,我把所有的不同的想研究的东西放进这个容器里,我们不妨把这个容器叫做“集合”,把其中一个具体的研究对象叫做“元素”。太棒了,世界万物我都打上了标签“有”或者“无”,我想研究的对象的总体已经全部在我的容器里面,我只要研究这个集合与其中的元素,那么就可以研究我的研究对象。

这个方式太简洁美妙了,简洁美妙的似乎找不出瑕疵,对吧?

然而令人沮丧的是,即使是这样一个简单的方式也是存在着漏洞的:你不可能给出这样一个集合S,其元素为不属于该集合的元素,即

S = { x x S } S=\{x|x \notin S\}

这不是玩我吗?不属于这个集合却又要属于这个集合?你以为你是波函数吗?但是这确实击溃了自信满满的集合论,这个悖论也被称之为“罗素悖论”,或者更为大家所知的“理发师悖论”:

在某个城市中有一位理发师,他的广告词是这样写的:“本人的理发技艺十分高超,誉满全城。我将为本城所有不给自己刮脸的人刮脸,我也只给这些人刮脸。我对各位表示热诚欢迎!”来找他刮脸的人络绎不绝,自然都是那些不给自己刮脸的人。可是,有一天,这位理发师从镜子里看见自己的胡子长了,他本能地抓起了剃刀,你们看他能不能给他自己刮脸呢?如果他不给自己刮脸,他就属于“不给自己刮脸的人”,他就要给自己刮脸,而如果他给自己刮脸呢?他又属于“给自己刮脸的人”,他就不该给自己刮脸。

带着些许的遗憾与沮丧,我们迫不得已的承认:即使一个简单的处理也没法包含万物。然而幸运的是,这样的情况是极端的,换句话说,通常我们的研究对象不会是这样如鲠在喉的S集合。

好的,现在集合在手,天下(大部分)我有,豪气中透着些许的心虚,我们来看看集合能够干什么,不能干什么。

集合,就是各个不同的研究对象的“有”和“无”,那么我们现在只能说,这个元素“在”这个集合中,这个元素“不在”这个集合中,这对于研究来说当然是不够细致与令人满意的。比如说,我想研究一条直线上0到1上所有的点组成的集合,0,0.1,0.927等等都只是直线上某个点的记号,他们与直线上的点一一对应,并没有什么实际的含义。换句话说,我只能说0.1,0.2这个两个记号对应的点在这个集合中,却不能说0.2>0.1这样的话,因为0.1,0.2是也仅仅是个名字,并无实际的含义。

这真是令人崩溃,集合连这些我们熟悉的东西都不能够细致的研究。不情愿的,我们显然必须在集合上面添加些东西了,下面我们来说说“空间”。

2.空间——赋予结构的集合

正如上一章所说,简单的集合并不能满足我们研究的需要,那么我们不得不对集合中的元素给与一些“结构”了。所谓结构,即集合中元素之间的一些关系。具体的,我们可以在集合S上给出这样的一些操作O,其能够将一组元素 S 1 S_1 对应到另一组元素 S 2 S_2 中,即:

S 2 = O ( S 1 ) S_2=O(S_1)

其中

S 2 , S 1 S S_2, S_1 \subseteq S

我们现在把定义了这样一组操作O的集合叫做空间:

V = { S { O } } V=\{S|\{O\}\}

其中 { O } \{O\} 为一组操作O的集合,即空间的“结构”。然而在这样的定义中,我们有意掩饰了一些东西,这些东西有着重要的、启发式的作用,我们先按下不表,在后面再详细细说。

2.1 一些例子

这下好了,我们终于尽可能广泛的定义了“结构”这样一个玄而又玄概念,从而尽可能的给出了“空间”这样一个概念的定义。这么空口说太不切实际了一点,下面我将给出一些各种各样的例子来说明我们的框架没有什么太大的问题并且具有一定的广泛性。

2.1.1 赋予0到1的记号大小结构

我们先来修补一下之前集合中举的例子,给0到1这样一些记号定义结构 { O } \{O\} ,从而能够满足大小关系符号 > >

首先我们让命名规则和大小规则关联起来,即我们通常定义的比较两个小数大小的规则:

  • 9>8>7>6>5>4>3>2>1>0
  • 若第一位数字一样,那么比较第二位,以此类推。

很抱歉说的这么的不严谨,更加严谨的定义笔者先避重就轻的放过。但我们已经给出了这样一个关系,那么我只需要根据这个关系定义这样的操作 O O ,使得:

S 2 = O ( S 1 ) S 2 = { x x S y S 1 , x > y } S_2=O(S_1),其中S_2=\{x|x \in S 且 \forall y \in S_1, x>y \}

那么我们可以通过这样定义的结构 { O } \{O\} 来给出比大小这样一个关系。

同样的加法、乘法等也可以类似的定义。

2.1.2 定义音乐中单音的空间

集合 S = { x x } S=\{x|x为任一时长,任一音调对应的单音\}
定义结构 { O } = { } \{O\}=\{改变时长与音调\}

2.1.3 定义代码程序的空间

集合 S = { x x } S=\{x|x为任意的程序\}
定义结构 { O } = { O O } \{O\}=\{O|O为所有合法的执行顺序\}
比如 S 1 = { A B } , S 2 = { C C A B } S_1=\{程序A,程序B\},S_2=\{程序C|C为顺序执行A,B\}

2.2 空间的基

定义了空间,我们不仅要思考这样一个问题:空间里的东西太多了,实在是干扰了我们的思维与视线,既然我们已经有了各个元素集合之间的关系,也即空间的结构,那么有没有可能引入这样一个“生成”的概念——我们只用少量的元素,然后通过已知的结构来生成整个集合?

这似乎是可行的,比如上面所说的音乐中单音的空间,任一个单音 x x 都可以通过结构 { O } \{O\} 生成整个集合,又比如代码程序的空间,我们可以把程序的基础指令集作为基础元素的集合,然后通过结构 { O } \{O\} 生成任意一个程序集合中的代码。

类似的,我们小心谨慎的给出下面“基”的定义:

S 0 S S x S , O { O } 使 S x = O ( S 0 ) 一个集合S_0 \subseteq S, 若 \forall S_x \subseteq S, \exist O \in \{O\},使得S_x=O(S_0)

并且

x S 0 , O { O } , 使 { x } = O ( { y y S 0 y x } ) \forall x \in S_0, 都不存在O \in \{O\}, 使得\{x\}=O(\{y|y \in S_0且y \neq x\})

满足这样的集合 S 0 S_0 我们便叫做空间 V V 的一组基。

这个想法太棒了,因为这样的话就使得我们研究的对象有了一个简化,这无疑是令人兴奋的。

另外值得一提的是“结构”——也就是操作的集合 { O } \{O\} 本身也可以在其上定义空间,从而找到空间的基,比如我们可以把所有有限次加减乘除构成的运算关系作为一个集合 S S ,那么显然 { + , , × , ÷ } \{+, -, \times, \div \} 可以看做一组基,而这个空间上的结构则是任意的运算顺序。

2.3 封闭性

现在我们来谈谈前面我们所说的我们在掩饰的东西:操作的封闭性

即在 S 2 = O ( S 1 ) S_2=O(S_1) 中要求的

S 2 , S 1 S S_2, S_1 \subseteq S

封闭性是与集合S与结构 { O } \{O\} 都有关系的,如果我们确定了研究对象,那么这个就是对结构 { O } \{O\} 的要求;而如果我们确定了结构 { O } \{O\} ,那么封闭性就是在对研究对象提出要求与限制。

其实如果把人类的知识领域放在目前定义的“空间”这个框架下(如果可以的话)来思考的话,那么其实封闭性的满足基的确定便是贯穿整个人类知识领域发展的原动力。这个我决定专门用一个章节来说明。

3 空间框架下的人类的知识领域

这一章我们将会铤而走险,试着将我们的框架推向一个更加详细并且广泛的领域,将其与人类的知识领域连接起来,并且一定程度上说明人类的知识领域目前不断改进的一些抽象的原因。

3.1 封闭性与发展

现在我们来说为什么封闭性是一个领域成熟的标志,并且封闭性的不断趋近于满足往往带来一个领域的发展。

我们先用数学的一个例子来说明。

在最开始,人们只想研究个数,也就是正整数的集合。有了这样的集合,人们自然开始想,不同个数之间有什么关系呢?于是定义了运算结构 { O } \{O\} ,其为 { + , , × , ÷ } \{+, -, \times, \div \} 作为基,任意的运算顺序作为结构的空间对应的集合。注意,现在我们有了空间

V = { { O } } V=\{正整数|\{O\}\}

可是,这个空间真的满足封闭性吗?换句话说,它真的完整吗?显然不是的。

为了满足封闭性,通过除法补充了小数部分,通过减法补充了负数和0,这是一次思想的飞跃。

通过补充,现在

V = { { O } } V=\{有理数|\{O\}\}

现在还有除以0这个无法满足了,又引入了 \infin 这样一个记号,从而终于使得封闭性满足了。

但是细心的读者肯定有疑问了:怎么只是到了这种程度?还有无理数呢?复数呢?那么接下来我们将要说的将会是一个补充的部分了——集合间的对应。

3.2 集合间的对应与领域的扩充

为什么集合间的对应我之前没有说呢?是因为不同的集合也可以当做不同的研究对象构成一个大的集合 S b i g S_{big} ,然后在这上面定义结构就可以构成空间,而某种一一对应的关系可以作为结构中的某种操作即可。

这种集合间对应关系的建立通常也意味着不同集合间的补充与完善,将一个已经满足封闭性的空间扩展成一个更大的空间,而这个封闭的空间便成为了更大的空间的子空间,这也通常意味着一种思维方式的飞跃。

现在我们接着上面的例子说。在很久之前,勾股定理的发现使得人们能够将数字与图形更好的结合起来。然而这样一来,一些客观存在的东西却没法找到与之对应的元素了,比如长度为1的等腰直角三角形的斜边长度便找不到与之对应的有理数。于是上面的空间 V V 得到了扩充,补充了操作 \sqrt{} 操作,然后扩充了无理数。进而复数的也通过封闭 \sqrt{负数} 给了出来。

还有许多类似的例子这里便不再细说了。

3.3 基的确立与研究领域的确立

基的确立很大程度上依赖于封闭性的满足。研究领域确立与基的确立也是息息相关也是很显然,但是肯定读者会有一个问题:研究对象的集合不是在空间之前就说定义了吗?为什么以空间为基础定义的基反而会标志着研究领域的确立呢?

这是一个好问题。但是其实我们仔细想的话,如果没有基和结构,我们事实上连系统的定义研究对象都做不到

比如我们要研究“植物”,那么什么是“植物”?怎么看一个元素是不是属于集合“植物”?所以如果我们要系统的考虑研究对象,我们必须有一个系统的基。所以事实上,这一切都是螺旋式进步发展的。

4 强人工智能

抱歉这里突然插入强人工智能这样目前为止显得很突兀的东西。强人工智能,要求人工智能能够做到人类思维需要做到的一些东西,比如推理,比如类比,比如创造,当然这些都建立在人类的知识领域基础上。但是什么是推理,什么是类比呢?对于强人工智能的定义一直显得有些模糊,现在我们希望能够通过我们定义的空间框架来更加具象化的思考这些东西——说实话,这也是我从最开始思考空间这个东西的初衷。

  • 推理:通过集合 S S 明白结构 { O } \{O\}
  • 类比:推理的一个特例,通过比较不同的集合来确定其对应的关系。
  • 创造:通过封闭性与类比关系进行集合与结构的完善以及领域的扩充。

这样我们不妨说,定义了强人工智能。但是突然想想,其实这三点目前都是有研究的,分别对应无监督学习、监督学习、生成模型的研究。但是是不是还是觉得缺了点什么东西?没错,下面我们说明一个更加重要的点:

  • 同主体:上面的这些是同一个主体结构完成的不同功能。

5 后记

老实说,即使刚写完,我也觉得中间很多地方漏洞百出,但是这些部分也已经是我过去一年的思考内容了,虽然可能现在显得幼稚可笑与乏善可陈,但是在这基础上,我相信大体方向是合理且正确的。希望我能够看到强人工智能实现的那一天,然后心中窃喜,这些我曾经想过,这些我曾经想过。

猜你喜欢

转载自blog.csdn.net/z_x_1996/article/details/85544865
今日推荐