代码实现:用路由器模拟 神经元,用电线模拟突触(一)

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

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

视觉皮层布满了神经元,无数的神经元组成重叠的多层结构,作者把第一层称为视觉皮层的“黑板层”。眼睛传入的光信号,被视锥细胞、视杆细胞分解后,再投射到视觉皮层的第一层“黑板”上,点亮“黑板”上对应神经元。点亮这个过程,就像用粉笔在黑板上写字。
上图,用路由器集群模仿视觉皮层。图里,背景本应该布满了路由器,以满屏的路由器群模仿视觉皮层紧挨着的神经元,但图里只展示出的部分路由器,以表示在模仿被点亮的神经元。
上图连线表示,路由器模仿神经元之间加强联系、传递递质。
这就是,作者一直强调的三维重建过程,就是神经元集群模仿真实世界,在大脑里用连线联结或断开联结的方式,勾画图案。神经元集群以勾画的立体三维图案,来表示真实世界。这种三维重建方式,不是以计算为基础,不是用函数来表示,不具有严密逻辑推理性,只是模仿,是相似的勾画,是照抄,是复制。这种三维重建方式,因为突触联结可被打断,神经元突触方向随时改变,所以充满了错误,复制粘贴得出的图案与真实世界可能相差甚远。所以才有各种谚语,如四川眉州谚语“带肉带缩,带话带涨”,欧洲谚语“一千个观众就有一千个哈姆雷特”,等等。这些谚语说明,神经元以三维重建方式勾画真实世界,这种不严密的复制粘贴方式,导致每个大脑神经元集群重建的图案都不尽相同。
所以,下面的代码实现过程,也不是以计算为基础,不是用函数表示真实世界,而是用路由器连线表示神经元集群的联结。
路由器出现在图案里,表示该路由器代表的神经元被“点亮”。而空白区域,不是没有路由器,而是依然有很多没有连线的沉默路由器,以表示未被“点亮”的神经元。使用这种以空白表示沉默路由器的方法,是因为,如果作者把一张图都画满了路由器,那读者怎么分辨各种路由器呢?所以,作者用空白区域来表示大量的、没有连线的、沉默的路由器。
如果连线是绿色,表示神经元之间在传递递质,是活跃的、有效的联结。这种联结正在勾画图案,以表示真实三维世界。
如果连线是红色,表示神经元之间没有传递递质,是不活跃的、渐趋无效的联结。这种联结消退也是对三维世界的勾画,是负反馈,消退的原因可能是在改正错误联结,或者是遗忘。
读者在用路由器模仿神经元时,可以购买路由器来做,也可以先用通讯企业提供的模仿器软件如做练习。模仿器不能代替真实的路由器,模仿器使用CPU是中央集中计算型处理器,只能模仿少量的路由器同时工作,而真实的、大量的路由器是在做大量并行处理任务。
作者在代码实现过程中,模拟器里只有7台路由器、6台交换机,使用OSPF协议,用简化的过程演示识别数字。

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

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

上图是用软件向模拟器注入脚本。路由器1的脚本如下:
#KaTeX parse error: Expected 'EOF', got '#' at position 23: …e = "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内容,全部链路都通。

对应的是,前面图里连线都是绿色,以此表示为数字8。
作为对比,下图LSDB数据库内容,路由器7的链路不通,则整体链路看上去就像数字6。

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

以上是简要贴图,实际在模仿器里做,有很多步骤,作者尽量在录屏时多展示。另外,很多步骤,无法一次展示,如之前要做聚焦扫描,之后要做路由器间转换,还有抽象、联想、想象、逻辑思维的实现,等等。这些步骤都很繁复,作者希望更多读者参与进来,一起做,另辟一条实现人工智能的新路。
对于精通通信软件的读者,可以比作者做得好很多。
另外,路由器主要功能是找到最优路径以转发数据,OSPF协议也不是专为勾画图案而设计,所以,用起来很别扭。但OSPF协议里有互相学习路由链路的功能,所以作者使用了OSPF协议,以达到让路由器集群“自组织、自学习”的目的。整个“自组织、自学习”的过程,体现了正负反馈、自动修正。
读者会有很大疑问,以上过程,增加了路由器集群硬件,比单独的一台通用计算机麻烦,速度又慢。据了解,谷歌的图片解码器,通过大量样本学习,已经可以识别大部分街景里门牌号了,也识别能其它图片。而且,用模拟器模拟路由器时,也是调用的通用计算机,这与抛开路由器,直接使用函数算法配上通用计算机,有何区别?
以上的比较相似性,是不需要大量样本的,甚至可以只需一个样本即可完成学习。

以上的文字,只需看几遍,人脑即可学会辨识其手写体。作者相信,路由器集群也只需看几遍,即可学会辨识其手写体。
这就是模仿神经元集群的学习,少量样本,或者只有一个样本,即可完成学习。甚至,样本不齐整,路由器集群也可以模仿神经元集群,也实现联想、想象、推理功能。不仅如此,路由器集群也能理解这些图片的含义。
虽然,现在有很多函数算法配上通用计算机,通过大量样本学习,能够识别手写数字了,但是依据这些算法理解图片真正含义,有很大难度。更进一步的,若用这些函数算法理配上通用计算机,即使读取大量样本数据,依然在区别猫狗、理解道路标志意义、指导自动驾驶、理解语义、揣摩心理等等方面,没有突破性进展。
特别是学习驾驶技术方面,王垠说得非常好,成年人几个小时就能学会驾驶,避障、识别道路标志等简直是轻而易举。但计算机吞入了大量数据,依然不明白何为驾驶、避障、识图。
用路由器集群模拟神经元集群,是区别于函数算法配一维CPU二维GPU虚拟化连接神经元、另创建一条真实物理连接神经元的方式。
每个路由器都可以生成路由表,相当于一个神经元。而生成这么多路由表,怎么传递,怎么终止,是各个路由器互相学习过程、互相取舍的过程,这就相当于神经元集群互相触发的过程、互相抑制的过程。
在作者有限的认知里,这就体现用路由器集群的好处:简单的分解式学习、屈指可数的样本数据、很弱的计算力、低能耗,通过路由器之间正负反馈、自动修正,就能实现避障、识图,配上足够多路由器就能实现语义理解。
这是CPU中心集中计算模式,与分布式计算模式的区别。也是GPU各个子单元只计算很少互连,与路由器集群主要功能就是互连的区别。
现在CPU、GPU在勉强模仿神经元集群,意图实现真正智能,但其实还主要应用于看图说话等等 不影响安全的领域,如智能音箱。即使预测蛋白质序列,也是用计算机的数值计算功能,而不是理解蛋白质序列的意义。
而路由器集群,模仿神经元集群,应该比CPU或GPU干得好得多。
因为,已有实践已经确认,在并行计算方面,CPU不如GPU。
现在,作者提出把路由器集群代替GPU,让每个子单元间互连。
虽然单个路由器里小小的芯片计算力很弱,但路由器集群在互相学习、互相取舍,这个学习、取舍过程,才是作者以前文章里说的“正负双向反馈、自动调整过程”。
用复杂系统学来解释,就是路由器集群有了“自学习、自组织”能力。而“自学习、自组织”能力,是集群实现智能的关键步骤,鸟群、蚁群、人群都是“自学习、自组织”的非中心计算形态。这与基于中心大CPU计算的形态,完全不同。
复杂系统论理论,是个大理论。
复杂系统论认为,集群可以涌现出更高层次事物。鸟群、蚁群、黏菌,涌现出的智能,是无法用单个个体解释的。用路由器集群模仿神经元集群,也是一条实现人工智能的可行之路。用函数算法配上通用计算机,之所以在语义理解、自动驾驶方面所遇到的瓶颈,就是因为其不采用集群而是盲目的扩大算力、读取大量数据、只用函数解题造成的。
作者认为,只要认准一点,在实践中已经证明,并行计算的GPU,比中心计算的CPU,更适合模仿神经元集群来实现人工智能即可。
问答。
所以,作者认为,在发展并行计算方面,在模仿神经元实现人工智能方面,大CPU<<GPU<<路由器集群.

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

  1. 学网络好帮手:路由器模拟软件RouteSim3.31

    你正在学习网络技术吗? 你正在为没有设备无法练习而烦恼吗? 赶快来看看这个小软件,用来做网络练习挺不错的,体积小不用安装,绿色版 ^o^ RouteSim是在研究国外同类软件的基础上开发的中文路由模拟 ...

  2. 50行代码实现3D模拟真实撒金币动效

    我们将会用50行不到的代码来实现一个3D模拟撒金币动效.你只需要一点Egret基础就能够快速上手,如果你不了解Egret,这里有一篇3分钟创建hello world来带你快速入门. 实现效果 源码和在 ...

  3. C语言:编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序。)

    C语言:编写代码实现,模拟用户登录情景,并且只能登录三次.(只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序.) #include<stdio.h> #incl ...

  4. CISCO设备如何路由器模拟PC

    CISCO设备如何路由器模拟PC 一.思维导图 ​ 二.视频 CISCO设备如何路由器模拟PC - 知乎CISCO设备如何路由器模拟PChttps://www.zhihu.com/zvideo/131 ...

  5. python搞笑语句_一行价值100万美元的代码,可以用来实现搞笑有趣的人工智能对话...

    在<流浪地球>最后,拯救地球的功臣之一还有工程师出身的李一一.科技的发展,离不开程序员的代码.而当下最火热的人工智能,当然也离不开代码.人工智能对话,算是现在大众接触AI最直接最明显的方式 ...

  6. 23.代码简单实现模拟噪声(图像噪声/一、二阶矩/功率谱密度/at函数/rand函数)-- OpenCV从零开始到图像(人脸 + 物体)识别系列

    本文作者:小嗷 微信公众号:aoxiaoji 吹比QQ群:736854977 简书链接:https://www.jianshu.com/u/45da1fbce7d0 本文你会找到以下问题的答案: 图像 ...

  7. java人工智能开源项目_人工生命——一个用代码模拟生命进化的人工智能开源项目...

    开源项目作者 朱勇: 桂林电子工业学院机械本科,在全民学计算机大潮下,上了编程这条贼船,历经学习机.PC.286, 386, 486, 奔腾...,见证了个人计算机发展史.学过Basic.Delphi ...

  8. 首个单设备模拟神经元出现 可有效解决传统计算机所面临的问题

    来源:IEEE电气电子工程师 Photo: Research Group of R. Stanley Williams 对于工程师们来说,无法实现人类大脑效率和超强计算性能的其中一个原因在于,一直以来 ...

  9. php代码练习,PHP模拟测试练习

    PHP模拟测试练习 宝剑不磨要生锈;人不学习要落后.以下是小编为大家搜索整理的PHP模拟测试练习,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网! 一.单项选择题 1.下列哪些是PH ...

最新文章

  1. 重磅|PPT讲解机器人产业发展现状与未来展望,重磅资料
  2. 框架原理第一讲,熟悉常用的设计方式.(以MFC框架讲解)
  3. win10计算机记录,启用Windows 10计算器中的历史记录功能 | MOS86
  4. lnmp里面php测试脚本,军哥LNMP V1.4测试版一键脚本安装以及功能上的升级体验
  5. php 京东首页分类导航,仿京东导航栏
  6. java内部类实现方式_Java内部类详解
  7. 使用mysqldump 导出sql数据
  8. swift版 二分查找 (折半查找)
  9. C语言十进制转换二进制
  10. delphi mysql 8.0_Delphi 8免费版
  11. PHP时间戳与日期之间转换
  12. Ubuntu下载安装CUDA
  13. 如何做好软件项目管理工作?
  14. Android仿自如客APP裸眼3D效果
  15. 学校教务系统服务器配置,校园小程序: 基于强智教务系统的校园服务类小程序--多校版本(默认 山科)使用云开发...
  16. 2018——幸福都是奋斗出来的
  17. 跑步时戴什么耳机好、推荐几款专业跑步的耳机
  18. springboot 整合 mqtt 实现消息订阅
  19. 接互联网外包项目方案
  20. 逆变器运用到的c语言算法,总结逆变电源常用到的六种控制算法

热门文章

  1. Android 将MAP格式数据写入XML 将XMP文件读MAP数据格式中
  2. 在线造字做字库、 红莓繁星技传神-逐浪点顿圆头工程笔手写字创作全过程
  3. OJ题目:悼念512汶川大地震遇难同胞
  4. SEO组词器:快速寻找合适关键词,优化文章!
  5. 【日影】柯南真人SP4观后小感——祭奠我逝去的童年和青春
  6. 董明珠今晚开启抖音直播首秀;百度在美国遭集体起诉;京东小程序正式发布 | EA周报...
  7. python 0or2_Python表达式 0 and 1 or not 2True的值为(     )
  8. vscode设置自动保存步骤
  9. 一个屌丝程序员的青春(二七)
  10. 物联网 | 管中窥豹,一线工程师看MQTT