写点什么

决定我们认知深度的究竟是什么?

用户头像
石君
关注
发布于: 2020 年 04 月 27 日
决定我们认知深度的究竟是什么?

7点在小区后面的公园里跑完步,浏览新闻,看到了最近很火的这个“街边老大爷教你认识国际社会”的视频,视频链接:

http://f.video.weibocdn.com/0000aqn8gx07CGWstxNJ010412017ToF0E010.mp4?label=mp4_hd&template=712x400.25.0&trans_finger=62b30a3f061b162e421008955c73f536&Expires=1587643156&ssig=%2Buzw%2BVooKx&KID=unistore,video

抱着“三人行必有我师”的一贯学习态度,果然被其中一句话触发了思考,就是下面这句“一个人的神经末梢”,大爷在说的是如果一个人的神经末梢表现的很好,那么这个人问题也不大,并以此类比一家公司的好坏。我在这里要讨论的,就是这个神经末梢引发的思考。



我在之前的一篇文章“如何做一名失败的安全架构师”(https://xie.infoq.cn/article/b631d770beeb84db59713cbce)当中曾经说到了多看多学的必要性,这个建议不仅仅是开阔眼界、增长技能这么简单。它还可以从更抽象的层面予以概括,与神经末梢引发的思考合并在一起理解,就是两个字——连接。



在我给出解释之前,试想一下人与人看待世界、理解世界的差异究竟在什么地方?同样都是在一个学校上学、一个企业就业,为什么资源相同的情况下发展千差万别?智商?情商?这两个用滥掉的词究竟是指什么?代表了不可逾越吗?



以下文章将从下面几个方面阐述连接的含义,并回答上述疑问。

一、“神经网络”的诞生

1943年,全世界第一个神经网络模型M-P模型先于图灵机概念的出现而问世。M-P模型是按照生物神经元的结构和工作原理构造出来的一个抽象和简化了的模型,是对单个神经元的一种建模。在这个模型里,神经元接收来自n个其它神经元传递过来的输入信号,这些信号的表达,通常通过神经元之间连接的权重(weight)大小来表示,神经元将接收到的输入值按照某种权重叠加起来,并将当前神经元的阈值进行比较,然后通过“激活函数(activation function)”向外表达输出,模拟了神经网络中的一个“简单单元”。



神经网络依靠系统的复杂程度,通过调整内部大量“简单单元”之间相互连接的关系,从而达到处理信息的目的,并具有自学习和自适应的能力。



这个模型是如此的“简单”,但其实现在所讲的神经网络包括深度学习,都在某种程度上,都是以“M-P神经元模型”为基础,都是在模拟大脑神经元的工作机理,虽然大脑的机理仍未全部搞清楚,但人类依靠“多输入单输出”、“简单单元大连接组成复杂单元”,不断向人工智能的深处前进。



二、生命游戏

著名数学家,普林斯顿大学和剑桥大学教授约翰·康威因感染新冠病毒于2020年4月11日去世,享年82岁。约翰是一个一切皆是游戏的践行者,最有趣的游戏之一,是他在1970年发明的生命游戏(也叫细胞自动机)。

该游戏规则如下:

每个方格代表一个细胞,对于任意细胞,当前处于存活或死亡某一种状态,每个细胞与以自身为中心的周围八格细胞产生互动,并根据互动规则决定下一个时间单位的状态。     

  • 当前细胞为存活状态时,当周围的存活细胞低于2个时(不包含2个),该细胞变成死亡状态。(模拟生命数量稀少)

  • 当前细胞为存活状态时,当周围有2个或3个存活细胞时,该细胞保持原样。

  • 当前细胞为存活状态时,当周围有超过3个存活细胞时,该细胞变成死亡状态。(模拟生命数量过多)

  • 当前细胞为死亡状态时,当周围有3个存活细胞时,该细胞变成存活状态。(模拟繁殖)



举个例子(来自杨洋博士),来演示一下这个游戏怎么玩儿:

1、第一代,随机地选择某个状态:



我们按照“生命游戏”的规则分析一下:

根据规则,下一代将发生如下变化。



2、第二代:

继续迭代,我们在第二代的基础上,按照游戏规则运行。



3、第三代:

然后,还可以继续一代又一代地演化下去,周而复始。



  • 规则是不是看起来很简单,但是下面这些图形都是在给定特定初始图案之后,而形成的有规律的动图:

1、“脉冲星”:它周期为3,看起来像一颗爆发的星星



2、“滑翔者”:每4个回合它会沿右下方移动一格,虽然细胞早就不是原来的细胞,但它能保持原来额形状



3、“轻量级飞船”:它周期为4,每两个“回合”向右走一格



4、“滑翔者枪”:它会不断的产生一个又一个“滑翔者”



5、Golly官网标志:一个专门收集、制作细胞自动机的有趣网站



  • 这三条规则是如此的“简单”,细胞之间相互作用、互动,但推理出来的细胞自动机会呈现出无数种复杂的情况,在生命游戏出现之后,一度有人觉得地球上的一切生命,是不是也是在这样简单的规则之下发展起来的,并据此引申出生命决定论这样一条知识理论。

三、什么是连接

细胞自动机也好,大脑也好,从独立单元上来看,都是非常简单的存在,但简单单元之间连接、互动,却能够产生超乎想象的结果。

现在再回到文章开篇的问题上,为什么全班第一名的学生经常性排名靠前,有些看似很难的知识为什么在他/她理解起来,看上去没那么费劲呢?一个重要的原因就是,这个学生已经习惯把未知的知识与已知的知识联系起来,哪些是类似的,归到一个类别里,哪些是全新未知的,再从新开始认识它,先与过去的知识体系建立连接,再拆解出已知未知,最后把未知也变成已知的,并重复这个思考模式。

对于一个企业的员工也是这样,信息社会知识爆炸已经是常态,资源不足的前提本质上已经破除,即便是这样,两名员工在接到同样一个任务的情况下,已经建立起知识体系、并习惯把新任务做拆解、做连接拆分到已有知识体系的员工,一定比一拿到任务就埋头收集材料,这里抄一点那里抄一点、不分前提不分条件的大杂烩,要好太多。



  • 给定同样的初始条件,何以发展成千差万别的模样?完全取决于我们自己如何构建初始条件与其他知识之间的联系,真正导致人与人之间能力水平差异的,往往不是表面上讨论的智商、情商,并不是已经看的书籍、材料的数量,而是知识之间的联系。一旦学会良性连接,遇到的新知识都将作为新的枝丫不断地丰富知识技能大树。1+100=101,但用这个1和之前100当中的每一个1都尝试建立连接,却有可能形成200条知识。



  • 我举个实际工作中的例子:

我之前做安全测试的时候,会不定期修订测试用例库,一方面来源于安全合规的要求,一方面来源于测试人员对软件开发、软件设计的理解,再到软件中去试一试,看能不能测出来什么问题。

我在回顾软件设计原则时候,就对其中一条“高内聚低耦合”的标准产生了很多关联思考,如何模块内部没有很好的内聚、模块之间有很多耦合会出什么问题?当然会出现很多软件质量问题,但我只考虑的是安全问题。

  1. 该模块会不会留下很多接口供其他模块调用?

  2. 这个模块与其他模块耦合度那么高,它们之间是怎么识别的?我能不能假冒身份?

  3. 模块与模块之间是怎么通信的?有没有弱点?



还有没有,我对着这个问题不断思考,对了,模块与模块之间有没有调用顺序的关系,如果打乱这种顺序,或者缺少一个过程,会出现什么情况?

诸如此类的思考,我要考虑优秀的软件开发设计到底好在什么地方,它的反面,其实就是安全测试用例的设计指南。



综上,决定我们认识高度、深度的东西究竟是什么——是连接的能力。



发布于: 2020 年 04 月 27 日阅读数: 461
用户头像

石君

关注

与其更好,不如不同 2020.03.26 加入

分享孤独,成为故事,分享思考,成为思想。 做信息安全领域的探险家。

评论 (4 条评论)

发布
用户头像
只是来当个粉丝
2020 年 04 月 27 日 21:38
回复
用户头像
爱思考的习惯和深挖一层的习惯,还有重要的一点是敏锐的观察能力(即善于发现点点滴滴),思考知识和问题的基础是能够看到问题和知识,这种敏锐的观察能力有可能是天生的。
2020 年 04 月 27 日 21:29
回复
用户头像
首行不缩进,排版更好看
2020 年 04 月 27 日 19:03
回复
Got it.
2020 年 04 月 27 日 19:12
回复
没有更多了
决定我们认知深度的究竟是什么?