网学网其他类别编辑为广大网友搜集整理了: 人工神经网络硬件化途径与神经计算机研究 绩等信息,祝愿广大网友取得需要的信息,参考学习。
1 神经计算机性能要求分析神经计算机构成方式多种多样.它既可以是在1块硅片上集成许多分别带有权值存贮器的处理机阵列,也可以是使用通用DSP或Transputer芯片构成的加速板等.这种神经计算机结构往往采用单指令多数据神经计算机阵列处理机(SNAP:Single Instruction Multiple DataNeurocomputer Array Processor)结构.由于它是针对模拟神经网络设计的,因而必需能模拟各种神经网络模型和学习算法,且应具有较高的计算速度和性能价格比.综上设计要求考虑如下:
1.1 模拟前向运算速度快这意味着必需有较多的突触并行处理,且每个突触必需联接足够大容量的权值存贮器和状态存贮器,以保证运算过程中能及时供应需要处理的数据,最大限度地发挥每个突触的计算效率.
1.2 灵活性强指其应具备:①计算过程中能随时方便地任意改变所模拟网络的拓扑结构;计算过程中能随时方便地任意改变网络中任何神经元的非线性函数[5]和阈值;③能适应各种训练算法.
1.3 学习速度快指权值存贮器必需改写速度快且具有并行计算和修改权值的线路硬件.
1.4 性能价格比高这意味着或采用集成度与生产量都足够大的专门设计芯片,或尽量采用性能价格比极高的通用芯片组成.此外,以普遍应用的微机作为宿主机将是通用神经计算机解决人机通讯问题最经济方便的方式.
2 小型神经计算机预言神1号的结构设计原则根据上述性能要求分析,研制了小型神经计算机预言神1号.其结构设计原则为:
将神经网络的拓扑结构、每个神经元的输出特性(包括非线性函数和阈值),以及在训练过程中修改权值的各个参数等,都作为参数存贮在高速随机存贮器中,随时可以改写这些存贮器中的内容,就完全变更了整个神经网络;从而使其灵活性强,变更速度快;每个神经突触均与权值存贮器和状态存贮器相联,使其具有充足数据源流供给每一个突触的高速乘法运算;将神经元各输出非线性函数以编号为记,事先存贮在高速存贮器中,供随时选用;尽量用硬件的高速性能,替代软件操作;在保证灵活性的前提下,使每一个指令尽可能完成宏大的操作内容;以微机为宿主机,由宿主机向神经处理机输送数据和指令并收取计算机结果.神经计算机的全部功能包含在宿主机上软件的功能函数模块中面向用户.用户可以不必考虑神经处理机的存在.
处理机、宿主机(PC586或486)、接口板及软件组成.
处理机专门负责神经网络的模拟工作及修正权值运算.在模拟神经网络时每秒模拟2×107次神经联结运算;每次神经联结运算包括权值和状态两次取数、一次相乘与一次累加运算.在修正权值运算时每秒更新权值2·22×106次.
处理机1次运算的网络最大规模及运算内容为:
①256个网络神经元;②256个输入节点;③每个神经元含512个突触数;④神经网络连结数量即贮存权值131072个;⑤每个神经元可选择64个非线性函数;⑥一条指令最多计算神经网络128次,即前馈网络同时计算128组输入,或反馈网络迭代计算128次;⑦一条指令最大运算量为256×512×128=16 77 216次神经联接计算加256×128=32 768次神经元输出函数计算,计算总时间为0·898s;⑧实时每次计算神经网络时间7ms;⑨每次刷新全部权值时间59ms;○10权值字长8位(其中1位为符号);○11输入及状态字长8位.
神经处理机硬件功能结构神经计算机系统总体功能是由神经处理机硬件和宿主机上运行的神经计算机专用软件相配合实现的.神经计算机软件分三部分:
其一,是在宿主机上用人机对话方式输入与输出的应用软件.该软件是在Windows环境下编写的.用户可通过界面输入任意的网络模型和参数.计算完毕时各次计算的神经元状态以及网络最终的全部权值都可以在显示屏上读出,也可保存在计算机内部.该软件适用于典型应用的教学、演示及机内特定的自学习算法和观察神经元非线性函数形状与编号等.这部分软件用户涉及神经计算机的深度较浅,使用方便,但网络和算法的灵活性受到一定限制,对用于深入科研开发有较大的局限性.
其二,是在Windows环境下编程的功能性指令模块.这些模块是把神经计算机的全部功能分解成下列11个功能性指令模块,可嵌入用户所编的程序中:
①设定或更改网络性质(前馈网络或反馈网络),一次运算规模(1~128),以及是否要加强神经元相互间的联接强度(16倍);②设定或更改网络模型拓扑结构;③设定或更改各神经元的非线性函数编号及阈值等参数;④输入样本及神经元初始状态;⑤输入初始权值;⑥网络主运算;⑦网络在线连续运算;⑧输出神经元状态;⑨通用修改权值运算;○10特种修改权值运算;○11输出权值.
以上各功能指令模块的调用都是以规定的数据格式和出入口来实现的.
其三,是专为“在线”应用尽量提高速度而在DOS环境下编程的11个功能指令模块.其功能与第二部分在Windows环境下编程的各模块完全相同,但具有更高的运算速度.适于嵌入用户在DOS环境下编程的“在线”控制计算程序中应用.
除上述11个功能指令模块外,还有少量附加功能指令模块是专为整个神经计算机系统与外界接口而设置的输入输出功能指令模块,以简化神经计算机系统与信息来源和控制或输出对象的接口.