新闻  |   论坛  |   博客  |   在线研讨会
代码:用路由器模拟神经元,以实现人工智能(一)
眉州轼辙 | 2022-12-07 10:31:36    阅读:307   发布文章

代码实现:用路由器模拟神经元,以实现人工智能(一)

介绍一种宏观的 模拟三维结构的方法:用路由器模拟 神经元胞体,用电线模拟突触。因为模拟器eNSP或机房路由器集群数量 比神经元集群数量少得多,所以初期图灵测试时,用简单的测试:在单色背景图中找出 手写阿拉伯数字。

image.png                                          

下图示例,路由器集群是如何用三维重建方式学习数字。

image.png

视觉皮层布满了神经元,无数的神经元组成重叠的多层结构,作者把第一层称为视觉皮层的“黑板层”。眼睛传入的光信号,被视锥细胞、视杆细胞分解后,再投射到视觉皮层的第一层“黑板”上,点亮“黑板”上对应神经元。点亮这个过程,就像用粉笔在黑板上写字。

上图,用路由器集群模仿视觉皮层。图里,背景本应该布满了路由器,以满屏的路由器群模仿视觉皮层紧挨着的神经元,但图里只展示出的部分路由器,以表示在模仿被点亮的神经元。

上图连线表示,路由器模仿神经元之间加强联系、传递递质。

这就是,作者一直强调的三维重建过程,就是神经元集群模仿真实世界,在大脑里用连线联结或断开联结的方式,勾画图案神经元集群以勾画的立体三维图案,来表示真实世界。这种三维重建方式,不是以计算为基础,不是用函数来表示,不具有严密逻辑推理性,只是模仿,是相似的勾画,是照抄,是复制。这种三维重建方式,因为突触联结可被打断,神经元突触方向随时改变,所以充满了错误,复制粘贴得出的图案与真实世界可能相差甚远。所以才有各种谚语,如四川眉州谚语“带肉带缩,带话带涨”,欧洲谚语“一千个观众就有一千个哈姆雷特”,等等。这些谚语说明,神经元以三维重建方式勾画真实世界,这种不严密的复制粘贴方式,导致每个大脑神经元集群重建的图案都不尽相同。

所以,下面的代码实现过程,也不是以计算为基础,不是用函数表示真实世界,而是用路由器连线表示神经元集群的联结。

路由器出现在图案里,表示该路由器代表的神经元被“点亮”。而空白区域,不是没有路由器,而是依然有很多没有连线的沉默路由器,以表示未被“点亮”的神经元。使用这种以空白表示沉默路由器的方法,是因为,如果作者把一张图都画满了路由器,那读者怎么分辨各种路由器呢?所以,作者用空白区域来表示大量的、没有连线的、沉默的路由器。

如果连线是绿色,表示神经元之间在传递递质,是活跃的、有效的联结。这种联结正在勾画图案,以表示真实三维世界。

如果连线是红色,表示神经元之间没有传递递质,是不活跃的、渐趋无效的联结。这种联结消退也是对三维世界的勾画,是负反馈,消退的原因可能是在改正错误联结,或者是遗忘

读者在用路由器模仿神经元时,可以购买路由器来做,也可以先用通讯企业提供的模仿器软件如eNSP做练习。模仿器不能代替真实的路由器,模仿器使用CPU是中央集中计算型处理器,只能模仿少量的路由器同时工作,而真实的、大量的路由器是在做大量并行处理任务。

作者在代码实现过程中,模拟器里只有7台2220型路由器、6台3700型交换机,使用OSPF协议,用简化的过程演示识别数字。

  image.png

上图,表示数字8。视觉皮层的第一层“黑板”得到这个图案后,会把这个图案后传递给第二层第三层等后面的“抽象板”,后面的第二层第三层等后面的“抽象板”会简化这个图案,这就是抽象。或者,后面的第二层第三层等后面的“逻辑板”会用8个神经元来表示“8的数学意义”,这就是逻辑思维。而加减乘除等计算,是在大脑里列个竖式计算,就像小学生列竖式学加减乘除一样。

image.pngimage.png

再次重复,神经元集群,是以三维重构方式勾画真实三维世界。计算机是以逻辑运算方式,计算三维世界。具体原理,前面已经讨论了很多。在此强调,是希望读者在与作者讨论时,把神经元集群的结构-运动-功能与计算机的结构-运动-功能分开。

image.png

上图是用软件secureCRT向eNSP注入脚本。路由器1的脚本如下:

#$language = "VBScript"

#$interface = "1.0"

crt.Screen.Synchronous = True

Sub Main

        crt.Screen.Send "return" & chr(13)

        crt.Screen.Send "system-view " & chr(13)

        crt.Screen.Send "sysname AR1" & chr(13)

        crt.Screen.Send "int g0/0/0" & chr(13)

        crt.Screen.Send "ip add 192.168.56.99 24" & chr(13)

        crt.Screen.Send "int g0/0/1" & chr(13)

        crt.Screen.Send "ip add 1.1.0.1 16" & chr(13)

        crt.Screen.Send "return" & chr(13)

        crt.Screen.Send "system-view" & chr(13)

  crt.Screen.Send "ospf 1" & chr(13)

        crt.Screen.Send "area 0" & chr(13)

        crt.Screen.Send "network 192.168.56.0 0.0.0.255" & chr(13)

        crt.Screen.Send "network 1.1.0.0 0.0.255.255" & chr(13)

        crt.Screen.Send "int g0/0/0" & chr(13)

        crt.Screen.Send "ospf timer hello 1" & chr(13)

        crt.Screen.Send "ospf timer dead 2" & chr(13)

        crt.Screen.Send "int g0/0/1" & chr(13)

        crt.Screen.Send "ospf timer hello 1" & chr(13)

        crt.Screen.Send "ospf timer dead 2" & chr(13)

End Sub

其它6个路由器的脚本,适当修改。

下图是路由器依据OSPF协议存储的LSDB内容,全部链路都通。

image.png

对应的是,前面图里连线都是绿色,以此表示为数字8。

作为对比,下图LSDB数据库内容,路由器7的链路不通,则整体链路看上去就像数字6。        

image.png

对,就是像6,没有逻辑性,只要相似就行。

image.png

以上是简要贴图,实际在模仿器eNSP里做,有很多步骤,作者尽量在录屏时多展示。另外,很多步骤,无法一次展示,如之前要做聚焦扫描,之后要做路由器间转换,还有抽象、联想、想象、逻辑思维的实现,等等。这些步骤都很繁复,作者希望更多读者参与进来,一起做,另辟一条实现人工智能的新路。

对于精通通信软件的读者,可以比作者做得好很多。

另外,路由器主要功能是找到最优路径以转发数据,OSPF协议也不是专为勾画图案而设计,所以,用起来很别扭。但OSPF协议里有互相学习路由链路的功能,所以作者使用了OSPF协议,以达到让路由器集群“自组织、自学习”的目的。整个“自组织、自学习”的过程,体现了正负反馈、自动修正

读者会有很大疑问,以上过程,增加了路由器集群硬件,比单独的一台通用计算机麻烦,速度又慢。据了解,谷歌的图片****,通过大量样本学习,已经可以识别大部分街景里门牌号了,也识别能其它图片。而且,用模拟器模拟路由器时,也是调用的通用计算机,这与抛开路由器,直接使用函数算法配上通用计算机,有何区别?

以上的比较相似性,是不需要大量样本的,甚至可以只需一个样本即可完成学习。

image.png

以上的文字,只需看几遍,人脑即可学会辨识其手写体。作者相信,路由器集群也只需看几遍,即可学会辨识其手写体。

这就是模仿神经元集群的学习,少量样本,或者只有一个样本,即可完成学习。甚至,样本不齐整,路由器集群也可以模仿神经元集群,也实现联想、想象、推理功能。不仅如此,路由器集群也能理解这些图片的含义。

虽然,现在有很多函数算法配上通用计算机,通过大量样本学习,能够识别手写数字了,但是依据这些算法理解图片真正含义,有很大难度。更进一步的,若用这些函数算法理配上通用计算机,即使读取大量样本数据,依然在区别猫狗、理解道路标志意义、指导自动驾驶、理解语义、揣摩心理等等方面,没有突破性进展。

特别是学习驾驶技术方面,王垠www.yinwang.org)说得非常好,成年人几个小时就能学会驾驶,避障、识别道路标志等简直是轻而易举。但计算机吞入了大量数据,依然不明白何为驾驶、避障、识图。

用路由器集群模拟神经元集群,是区别于函数算法配一维CPU二维GPU虚拟化连接神经元、另创建一条真实物理连接神经元的方式。

每个路由器都可以生成路由表,相当于一个神经元。而生成这么多路由表,怎么传递,怎么终止,是各个路由器互相学习过程、互相取舍的过程,这就相当于神经元集群互相触发的过程、互相抑制的过程。

在作者有限的认知里,这就体现用路由器集群的好处:简单的分解式学习、屈指可数的样本数据、很弱的计算力、低能耗,通过路由器之间正负反馈、自动修正,就能实现避障、识图,配上足够多路由器就能实现语义理解。

这是CPU中心集中计算模式,与分布式计算模式的区别。也是GPU各个子单元只计算很少互连,与路由器集群主要功能就是互连的区别。

现在CPU、GPU在勉强模仿神经元集群,意图实现真正智能,但其实还主要应用于看图说话等等 不影响安全的领域,如智能音箱。即使预测蛋白质序列,也是用计算机的数值计算功能,而不是理解蛋白质序列的意义。

而路由器集群,模仿神经元集群,应该比CPU或GPU干得好得多。

因为,已有实践已经确认,在并行计算方面,CPU不如GPU。

现在,作者提出把路由器集群代替GPU,让每个子单元间互连。

虽然单个路由器里小小的芯片计算力很弱,但路由器集群在互相学习、互相取舍,这个学习、取舍过程,才是作者以前文章里说的“正负双向反馈、自动调整过程”。

用复杂系统学来解释,就是路由器集群有了“自学习、自组织”能力。而“自学习、自组织”能力,是集群实现智能的关键步骤,鸟群、蚁群、人群都是“自学习、自组织”的非中心计算形态。这与基于中心大CPU计算的形态,完全不同。

复杂系统论理论,是个大理论。

复杂系统论认为,集群可以涌现出更高层次事物。鸟群、蚁群、黏菌,涌现出的智能,是无法用单个个体解释的。用路由器集群模仿神经元集群,也是一条实现人工智能的可行之路。用函数算法配上通用计算机,之所以在语义理解、自动驾驶方面所遇到的瓶颈,就是因为其不采用集群而是盲目的扩大算力、读取大量数据、只用函数解题造成的。

作者认为,只要认准一点,在实践中已经证明,并行计算的GPU,比中心计算的CPU,更适合模仿神经元集群来实现人工智能即可。

问答,15983338666

所以,作者认为,在发展并行计算方面,在模仿神经元实现人工智能方面,大CPU<<GPU<<路由器集群


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客