想到一个类似计算机结构的深度神经网络结构

来源:互联网 发布:软件的鲁棒性 编辑:程序博客网 时间:2024/05/15 11:36
大家都知道电脑系统的工作原理和电脑的硬件组成,电脑是由程序存储器,数据存储器,中央处理器( CPU),和输入输出设备组成。
电脑的硬件系统组成都大同小异,而且软件程序的运行是基于冯若依曼结构和数据处理逻辑。即数据分为指令数据和变量数据。CPU从程序存储器中读取指令(即程序数据)一步一步的执行程序,并将中间结果和最终处理结果保存在数据存储器中,从输入设备将输入数据写入数据存储器由中央处理器通过指令来处理输入数据,最后再从程序存储器中将结果读出给输出设备。
而计算机的硬件组成再向更低层说,即中央处理器和存储器是由什么组成的。如果你学过数字电路的话,你将会知道整个计算机是由两种数字电路组成,这两种数字电脑分别为组合逻辑电路时序逻辑电路
而我们的深度神经网络现在也正好遇到了这两种情况,组合逻辑神经网络和时序逻辑神经网络。
 对于组合逻辑神经网络,其实就是我们的CNN卷积神经网络,它的处理逻辑像极了我们数字电路中的组合逻辑电路,即给一个输入,它会有一个固定的输出与这个逻辑对应。深度神经网络与数字电路所不同的是,数字组合逻辑电路的输入和输出由人们按逻辑需求的真值表设计而成,而CNN神经网络是按人们需要的分类结果用事先分好类的数据训练而成。
对于时序逻辑神经网络,其实就是现在很流行的循环神经网络,这种循环神经网络结构也像极了我们数字电路中的时序逻辑电路,时序逻辑电路由触发器组成,像RNN这种循环神经网络就是我们常见的由D触发器组成的T触发器样式,我们计算机中的所有寄存器几乎都是由D触发器设计成的。D解发器输入数据加上和时序有关的时钟脉冲就让计算机达到了处理和时间有关的数据。
我想的结构是将循环神经网络设计成移位寄存器样的结构,或者D触发器结构,只有当触发器接收到特定信号时才会触发神经网络输入和输出。这样会将神经网络设计成一个键值对一样的结构,比如当看到苹果这个值时,系统会输出苹果图片的分类抽像输出,当看到苹果的图片时,分类抽象输出可以输出苹果这样的文本。这种结构就像电脑的内存根据不同数据地址寻址获取存储器数据一样。将CNN深度神经网络设计为中央处理器的逻辑处理单元,即ALU。通过逻辑处理单元对图像数据和环境数据的输入,我们可以决定下一条我们要处理的存储器神经网络中的数据是什么,以及处理结果输出到那一个存储神经网络寄存器中。

深度神经网络处理器由时序逻辑神经网络和组合逻辑神经网络组成。其中组合逻辑神经网络用来处理结果分类和程序接下来读取那一条程序数据指令的时序逻辑跳转问题,寄存器式存储神经网络用来锁存分类数据,保存逻辑记忆,使用组合逻辑神经网络加记忆的时序逻辑可以设计成键值对存储神经网络。

这里将循环神经网络看成CPU的时序逻辑部分。将深度CNN神经网络看成ALU的逻辑处理单元和指令系统的编解码器。同时使用锁存神经网络来保存CNN逻辑处理器处理的结果,即把锁存神经网络看成电脑系统的存储器。

总结,我们这种结构的网络结构就像动物的条件反射弧,所有的条件反射弧组在一起就是神经网络处理器的汇编指令集,把外界输入的数据,或者环境数据作为神经网络程序的二进制指令,那么对应的条件反射弧就是汇编指令,同时我们会将处理中间数据和输出数据保存在存储神经网络中,作为神经网络的指令处理数据

阅读全文
0 0
原创粉丝点击