网络构筑装置和网络构筑方法与流程

文档序号:17745283发布日期:2019-05-24 20:35阅读:207来源:国知局
网络构筑装置和网络构筑方法与流程

本发明涉及构筑神经网络的网络构筑装置和网络构筑方法。



背景技术:

神经网络是级联连接有输入层、中间层和输出层的网络。

神经网络是一种近似函数,通过事前学习输入数据与输出数据的相关关系,在赋予了任意的输入数据时,预测与任意的输入数据对应的输出数据。

中间层包含的元素的数量等神经网络的构造往往由神经网络的设计者手动决定,但是,不熟知神经网络的设计者很难适当决定神经网络的构造。

在以下的非专利文献1中公开有如下的网络构筑方法:使用被称作ais(addifsilent)的方法,自动决定神经网络的构造。

该神经网络是被称作新认知机的模仿生物的视觉信息处理的神经网络,该神经网络的中间层包含的元素是输入输出响应由归一化线性函数决定的元素。

现有技术文献

非专利文献

非专利文献1:fukushima,k.:“artificialvisionbymulti-layeredneuralnetworks:neocognitronanditsadvances”,neuralnetworks,vol.37,pp.103-119(2013).



技术实现要素:

发明要解决的课题

现有的网络构筑方法如上所述构成,因此,如果中间层包含的元素是输入输出响应由归一化线性函数决定的元素,则能够自动决定中间层包含的元素的数量等。但是,在中间层包含的元素是输入输出响应由高斯函数决定的元素的情况下,存在即使使用被称作ais的方法也无法自动决定中间层包含的元素的数量等这样的课题。

本发明正是为了解决上述课题而完成的,其目的在于得到如下的网络构筑装置和网络构筑方法:即使中间层包含的元素是输入输出响应由高斯函数决定的元素,也能够自动决定中间层包含的元素的数量。

用于解决课题的手段

本发明的网络构筑装置设置输出值计算部,该输出值计算部在构筑具有中间层的神经网络时,按照神经网络的输入层包含的元素的输出值计算中间层包含的1个以上的元素的输出值,中间层包含输入输出响应由高斯函数决定的元素,元素构筑部对由输出值计算部计算出的1个以上的元素的输出值和阈值进行比较,如果中间层包含的1个以上的元素的输出值中的任意元素的输出值大于阈值,则维持中间层包含的元素的数量,如果中间层包含的1个以上的元素的输出值全部为阈值以下,则实施增加中间层包含的元素的数量的元素构筑处理。

发明效果

根据本发明,构成为元素构筑部对由输出值计算部计算出的1个以上的元素的输出值和阈值进行比较,如果中间层包含的1个以上的元素的输出值中的任意元素的输出值大于阈值,则维持中间层包含的元素的数量,如果中间层包含的1个以上的元素的输出值全部为阈值以下,则实施增加中间层包含的元素的数量的元素构筑处理。因此,具有如下效果:即使中间层包含的元素是输入输出响应由高斯函数决定的元素,也能够自动决定中间层包含的元素的数量。

附图说明

图1是示出本发明的实施方式1的网络构筑装置的结构图。

图2是本发明的实施方式1的网络构筑装置的硬件结构图。

图3是示出本发明的实施方式1的网络构筑装置适用的神经网络的一例的说明图。

图4是网络构筑装置通过软件或固件等实现时的计算机的硬件结构图。

图5是示出网络构筑装置通过软件或固件等实现时的处理步骤即网络构筑方法的流程图。

图6是示出网络构筑装置通过软件或固件等实现时的处理步骤即网络构筑方法的流程图。

图7是示出本发明的实施方式2的网络构筑装置适用的神经网络的一例的说明图。

图8是示出网络构筑装置通过软件或固件等实现时的处理步骤即网络构筑方法的流程图。

图9是示出本发明的实施方式3的网络构筑装置的结构图。

图10是本发明的实施方式3的网络构筑装置的硬件结构图。

具体实施方式

下面,为了更加详细地说明本发明,按照附图对用于实施本发明的方式进行说明。

在神经网络的中间层包含的元素的输入输出响应为归一化线性函数的情况下,例如,假设在对中间层输入大幅偏离假设范围的正数据时,从中间层输出较大的正数据。其结果是,假设从输出层也输出较大的正数据。

由此,例如,神经网络的输出侧的装置在对中间层输入大幅偏离假设范围的数据时,从神经网络的输出层输出较大的正数据,因此,可能受到较大的影响。

在神经网络的中间层包含的元素的输入输出响应为高斯函数的情况下,例如,在对中间层输入大幅偏离假设范围的正数据或负数据时,从中间层输出接近零的数据。其结果是,从输出层也输出接近零的数据。

由此,例如,神经网络的输出侧的装置即使对中间层输入大幅偏离假设范围的数据,也从神经网络的输出层输出接近零的数据,因此,能够避免较大的影响。

实施方式1

图1是示出本发明的实施方式1的网络构筑装置的结构图,图2是本发明的实施方式1的网络构筑装置的硬件结构图。

图3是示出本发明的实施方式1的网络构筑装置适用的神经网络的一例的说明图。

在图1~图3中,神经网络具有输入层1、中间层2和输出层3。

在本实施方式1中,说明中间层2的层数为1的例子,中间层2的层数为2以上的例子在实施方式2中进行说明。

输入层1包含i(i为1以上的整数)个元素ai(i=1、…、i),例如,从传感器等依次赋予m(m为1以上的整数)个学习数据xm=(x1m、x2m、…、xim)。m=1、2、…、m。

学习数据xm的维数为i,将学习数据xm中包含的xim(i=1、…、i)称作成分数据。

输入层1在对第i个元素ai(i=1、…、i)赋予学习数据xim的第i个成分数据xim(i=1、…、i)时,输出yi=xim,作为针对中间层2包含的第j个元素bj(j=1、…、j)的第i个元素ai的输出值。

中间层2包含j(j为1以上的整数)个元素bj(j=1、…、j),第j个元素bj是输入输出响应由高斯函数决定的元素。

但是,在本实施方式1中,为了便于说明,设在网络构筑装置构筑网络之前,中间层2包含的元素的数量为零。这只是一例,在网络构筑装置构筑网络之前,中间层2也可以包含1个以上的元素。

中间层2在对第j个元素bj赋予输入层1包含的i个元素ai的输出值yi(i=1、…、i)时,根据i个元素ai的输出值yi计算第j个元素bj的输出值zj(j=1、…、j),将元素bj的输出值zj输出到输出层3。

输出层3包含元素c,元素c例如计算中间层2与输出层3之间的权重vj(j=1、…、j)和中间层2包含的j个元素bj的输出值zj(j=1、…、j)之积的总和,输出该总和。

在图3中,示出输出层3包含的元素c的个数为一个的例子,但是,也可以包含多个元素c。

初始设定部11例如通过图2的初始设定电路21实现。

初始设定部11实施如下处理:按照中间层2包含的每个元素,对与该元素bj有关的高斯函数的参数进行初始设定。

作为高斯函数的参数,例如,初始设定部11对高斯分布的标准偏差值σi、j、高斯函数的中心坐标μi、j、输入层1包含的第i个元素ai与中间层2包含的第j个元素bj之间的权重wi、j进行初始设定。

高斯分布的标准偏差值σi、j是针对中间层2包含的第j个元素bj的例如i个元素ai的输出值yi(i=1、…、i)的标准偏差值。

高斯函数的中心坐标μi、j是中间层2包含的第j个元素bj的中心成分。

输出值计算部12例如通过图2的输出值计算电路22实现。

输出值计算部12从初始设定部11赋予高斯分布的标准偏差值σi、j、高斯函数的中心坐标μi、j和权重wi、j,作为高斯函数的参数的初始值。

输出值计算部12实施如下处理:针对具有从初始设定部11赋予的参数的初始值的高斯函数代入输入层1包含的例如i个元素ai的输出值yi(i=1、…、i),由此计算第j个元素bj的输出值zj(j=1、…、j)。

元素构筑部13例如通过图2的元素构筑电路23实现。

元素构筑部13对由输出值计算部12计算出的j个元素bj的输出值zj(j=1、···、j)和事前设定的阈值th进行比较,如果中间层2包含的j个元素bj的输出值的zj中的任意元素bj的输出值zj大于阈值th,则维持中间层2包含的元素bj的数量。

此外,如果j个元素bj的输出值zj全部为阈值th以下,则元素构筑部13实施增加中间层2包含的元素bj的数量的元素构筑处理。

数据存储部14例如通过图2的数据存储电路24实现。

数据存储部14除了存储中间层2包含的元素bj的个数j以外,还存储由初始设定部11初始设定后的与元素bj有关的高斯函数的参数和由输出值计算部12计算出的元素bj的输出值zj。

参数更新部15例如通过图2的参数更新电路25实现。

在由元素构筑部13实施元素构筑处理后对输入层1赋予了学习数据时,参数更新部15实施进行高斯函数的参数学习的有教师学习,由此,对数据存储部14中存储的高斯函数的参数和中间层2包含的第j个元素bj与输出层3包含的元素c之间的权重vj进行更新。

此外,参数更新部15实施如下处理:实施有教师学习,由此,对输入层1包含的第i个元素ai与中间层2包含的第j个元素bj之间的权重wi、j进行更新。

在图1中,假设网络构筑装置的结构要素即初始设定部11、输出值计算部12、元素构筑部13、数据存储部14和参数更新部15分别通过图2所示的专用硬件即初始设定电路21、输出值计算电路22、元素构筑电路23、数据存储电路24和参数更新电路25实现。

这里,数据存储电路24例如是ram(randomaccessmemory:随机存取储存器)、rom(readonlymemory:只读存储器)、闪存、eprom(erasableprogrammablereadonlymemory:可擦除可编程只读存储器)、eeprom(electricallyerasableprogrammablereadonlymemory:电可擦除可编程只读存储器)等非易失性或易失性半导体存储器、磁盘、软盘、光盘、高密度盘、迷你盘、dvd(digitalversatiledisc:数字多功能盘)等。

此外,初始设定电路21、输出值计算电路22、元素构筑电路23和参数更新电路25例如是单一电路、复合电路、程序化的处理器、并行程序化的处理器、asic(applicationspecificintegratedcircuit:面向特定用途的集成电路)、fpga(field-programmablegatearray:现场可编程门阵列)或它们的组合。

但是,网络构筑装置的结构要素不限于通过专用硬件实现,网络构筑装置也可以通过软件、固件或软件与固件的组合实现。

软件或固件作为程序存储在计算机的存储器中。计算机意味着执行程序的硬件,例如是cpu(centralprocessingunit:中央处理单元)、中央处理装置、处理装置、运算装置、微处理器、微计算机、处理器、dsp(digitalsignalprocessor:数字信号处理器)等。

图4是网络构筑装置通过软件或固件等实现时的计算机的硬件结构图。

在网络构筑装置通过软件或固件等实现的情况下,在计算机的存储器31上构成数据存储部14,并且,将用于使计算机执行初始设定部11、输出值计算部12、元素构筑部13和参数更新部15的处理步骤的程序存储在存储器31中,计算机的处理器32执行存储器31中存储的程序即可。

图5和图6是示出网络构筑装置通过软件或固件等实现时的处理步骤即网络构筑方法的流程图。

此外,在图2中,示出网络构筑装置的结构要素分别通过专用硬件实现的例子,在图4中,示出网络构筑装置通过软件或固件等实现的例子,但是,也可以是网络构筑装置中的一部分结构要素通过专用硬件实现,其余结构要素通过软件或固件等实现。

接着,对动作进行说明。

本实施方式1中的网络构筑装置的处理内容大致分成2个处理内容。

第1处理内容是决定中间层2的构造的处理内容,即决定中间层2包含的元素bj的个数j并对与元素bj有关的高斯函数的参数进行初始设定的处理内容(图5的步骤st1)。

第2处理内容是实施有教师学习,由此对初始设定后的高斯函数的参数和输入层1包含的第i个元素ai与中间层2包含的第j个元素bj之间的权重wi、j进行更新的处理内容(图5的步骤st2)。

下面,参照图6对第1处理内容进行具体说明。

在本实施方式1中,设中间层2包含的元素bj的个数j的初始值为0个。

元素构筑部13在执行第1处理内容时,判定中间层2中是否包含元素bj。

即,元素构筑部13判定中间层2包含的元素bj的个数j是否为0个(图6的步骤st11)。

元素构筑部13在判定为中间层2包含的元素bj的个数j为0个时(图6的步骤st11:是的情况),在中间层2中追加1个新的元素bj。即,元素构筑部13在中间层2中生成元素b1(图6的步骤st12)。

元素构筑部13在判定为中间层2包含的元素bj的个数j不是0个时(图6的步骤st11:否的情况),在该阶段,不进行在中间层2中追加新的元素bj的处理。在本实施方式1中,设中间层2包含的元素bj的个数j的初始值为0个,因此,这里,元素构筑部13在中间层2中生成元素b1。

当元素构筑部13在中间层2中生成元素b1后,初始设定部11判定是否已经取得全部m个学习数据xm=(x1m、x2m、…、xim)(图6的步骤st13)。

如果已经取得m个学习数据xm(图6的步骤st13:是的情况),则初始设定部11结束决定中间层2的构造的第1处理内容。

如果还未取得m个学习数据xm(图6的步骤st13:否的情况),则初始设定部11取得还未取得的学习数据xm(图6的步骤st14)。

在本实施方式1中,初始设定部11在该阶段未取得m个学习数据xm,因此,取得第1个学习数据x1=(x11、x21、…、xi1),作为还未取得的学习数据xm。

初始设定部11取得第1个学习数据x1=(x11、x21、…、xi1)后,根据输入层1包含的第i个元素ai的输出值yi=xi1,对与中间层2包含的元素b1有关的高斯函数的参数进行初始设定(图6的步骤st15)。

即,作为与中间层2包含的元素b1有关的高斯函数的参数之一,初始设定部11对高斯分布的标准偏差值σi、1(i=1、…、i)进行初始设定。

高斯分布的标准偏差值σi、1是针对中间层2包含的元素b1的i个元素ai的输出值yi=xi1的标准偏差值,根据输入层1包含的i个元素ai的输出值yi=xi1进行计算。标准偏差值σi、1的计算处理本身是公知技术,因此省略详细说明。

此外,作为与中间层2包含的元素b1有关的高斯函数的参数之一,初始设定部11对高斯函数的中心坐标μi、1(i=1、…、i)进行初始设定。

如以下的式(1)所示,高斯函数的中心坐标μi、1是输入层1包含的第i个元素ai的输出值yi=xi1

μi、1=xi1(1)

进而,作为与中间层2包含的元素b1有关的高斯函数的参数之一,如以下的式(2)所示,初始设定部11对输入层1包含的第i个元素ai与中间层2包含的元素b1之间的权重wi、1(i=1、…、i)进行初始设定。

wi、1=1(2)

这里,示出将权重wi、1设定成1的例子,但是,这只是一例,也可以设定成1以外的值。

初始设定部11对与中间层2包含的元素b1有关的高斯函数的参数进行初始设定后,将该参数的初始值输出到输出值计算部12,并且将该参数的初始值存储在数据存储部14中。

输出值计算部12从初始设定部11取得与中间层2包含的元素b1有关的高斯函数的参数的初始值。

此外,输出值计算部12取得第1个学习数据x1=(x11、x21、…、xi1)。

输出值计算部12取得第1个学习数据x1后,计算中间层2包含的元素b1的输出值z1(图6的步骤st16)。

即,输出值计算部12针对以下的式(3)所示的高斯函数代入与中间层2包含的元素b1有关的高斯函数的参数的初始值和输入层1包含的i个元素ai的输出值yi=xi1,由此,计算中间层2包含的元素b1的输出值z1。

输出值计算部12计算中间层2包含的元素b1的输出值z1后,将元素b1的输出值z1输出到元素构筑部13,并且将元素b1的输出值z1存储在数据存储部14中。

元素构筑部13从输出值计算部12接受元素b1的输出值z1后,对元素b1的输出值z1和事前设定的阈值th进行比较(图6的步骤st17)。

元素b1的输出值z1最大为1,因此,作为阈值th,可考虑1以下的正实数或e-0.25以上且1以下的正实数等。

如果中间层2包含的元素b1的输出值z1大于阈值th(图6的步骤st17:否的情况),则元素构筑部13维持中间层2包含的元素的个数j(j=1)。在中间层2包含的元素b1的输出值z1大于阈值th的情况下,可以说中间层2包含的元素b1是与输入层1包含的元素a1的输出值y1对应的元素。即,可以说中间层2包含的元素b1是表示高斯函数中的高斯分布的中心坐标的元素。因此,不需要在中间层2中追加新的元素b2,因此,元素构筑部13维持中间层2包含的元素的个数j(j=1)。

如果中间层2包含的元素b1的输出值z1为阈值th以下(图6的步骤st17:是的情况),则元素构筑部13在中间层2中追加新的元素b2,使得中间层2包含的元素的数量增加(图6的步骤st18)。在中间层2包含的元素b1的输出值z1为阈值th以下的情况下,不能说中间层2包含的元素b1是与输入层1包含的元素a1的输出值y1对应的元素。因此,元素构筑部13在中间层2中追加新的元素b2。

在本实施方式1中,为了便于说明,中间层2包含的元素b1的输出值z1为阈值th以下,因此,在中间层2中追加新的元素b2。

当元素构筑部13在中间层2中追加新的元素b2或维持中间层2包含的元素的个数j后,初始设定部11判定是否已经取得全部m个学习数据xm=(x1m、x2m、…、xim)(图6的步骤st13)。

如果已经取得m个学习数据xm(图6的步骤st13:是的情况),则初始设定部11结束决定中间层2的构造的第1处理内容。

如果还未取得m个学习数据xm(图6的步骤st13:否的情况),则初始设定部11取得还未取得的学习数据xm(图6的步骤st14)。

在本实施方式1中,初始设定部11在该阶段未取得m个学习数据xm,因此,取得第2个学习数据x2=(x12、x22、…、xi2),作为还未取得的学习数据xm

初始设定部11取得第2个学习数据x2=(x12、x22、…、xi2)后,根据输入层1包含的第i个元素ai的输出值yi=xi2,对与中间层2包含的元素b1、b2有关的高斯函数的参数进行初始设定(图6的步骤st15)。

即,作为与中间层2包含的元素b1、b2有关的高斯函数的参数之一,初始设定部11根据输入层1包含的i个元素ai的输出值yi=xi2计算高斯分布的标准偏差值σi、j(i=1、…、i;j=1、2)。

此外,作为与中间层2包含的元素b1、b2有关的高斯函数的参数之一,如以下的式(4)所示,初始设定部11将输入层1包含的第i个元素ai的输出值yi=xi2初始设定成高斯函数的中心坐标μi、j(i=1、…、i;j=1、2)。

μi、j=xi2(4)

进而,作为与中间层2包含的元素b1、b2有关的高斯函数的参数之一,如以下的式(5)所示,初始设定部11对输入层1包含的第i个元素ai(i=1、…、i)与中间层2包含的第j个元素bj(j=1、2)之间的权重wi、j进行初始设定。

wi、j=1(5)

这里,示出将权重wi、j设定成1的例子,但是,这只是一例,也可以设定成1以外的值。

初始设定部11对与中间层2包含的元素b1、b2有关的高斯函数的参数进行初始设定后,将该参数的初始值输出到输出值计算部12,并且将该参数的初始值存储在数据存储部14中。

输出值计算部12从初始设定部11取得与中间层2包含的元素b1、b2有关的高斯函数的参数的初始值。

此外,输出值计算部12取得第2个学习数据x2=(x12、x22、…、xi2)。

输出值计算部12取得第2个学习数据x2后,计算中间层2包含的元素b1的输出值z1(图6的步骤st16)。

即,输出值计算部12针对以下的式(6)所示的高斯函数代入与中间层2包含的元素b1有关的高斯函数的参数的初始值和输入层1包含的i个元素ai的输出值yi=xi2,由此,计算中间层2包含的元素b1的输出值z1。

与中间层2包含的元素b1有关的高斯函数的参数的初始值是高斯分布的标准偏差值σi、1(i=1、…、i)、高斯函数的中心坐标μi、1(i=1、…、i)和权重wi、1(i=1、…、i)。

此外,输出值计算部12针对以下的式(6)所示的高斯函数代入与中间层2包含的元素b2有关的高斯函数的参数的初始值和输入层1包含的i个元素ai的输出值yi=xi2,由此,计算中间层2包含的元素b2的输出值z2。

与中间层2包含的元素b2有关的高斯函数的参数的初始值是高斯分布的标准偏差值σi、2(i=1、…、i)、高斯函数的中心坐标μi、2(i=1、…、i)和权重wi、2(i=1、…、i)。

这里,在式(6)中,i=1、…、i;j=1、2。

输出值计算部12计算中间层2包含的元素b1的输出值z1和元素b2的输出值z2后,将元素b1、b2的输出值z1、z2输出到元素构筑部13,并且将元素b1、b2的输出值z1、z2存储在数据存储部14中。

元素构筑部13从输出值计算部12接受元素b1、b2的输出值z1、z2后,对元素b1、b2的输出值z1、z2和阈值th进行比较(图6的步骤st17)。

如果中间层2包含的元素b1、b2的输出值z1、z2中的任意输出值大于阈值th(图6的步骤st17:否的情况),则元素构筑部13维持中间层2包含的元素的个数j(j=2)。在中间层2包含的元素b1、b2的输出值z1、z2中的任意输出值大于阈值th的情况下,可以说输出值大于阈值th的元素是与输入层1包含的元素的输出值对应的元素。因此,不需要在中间层2中追加新的元素b3,因此,元素构筑部13维持中间层2包含的元素的个数j(j=2)。

如果中间层2包含的元素b1、b2的输出值z1、z2全部为阈值th以下(图6的步骤st17:是的情况),则元素构筑部13在中间层2中追加新的元素b3,使得中间层2包含的元素的数量增加(图6的步骤st18)。在中间层2包含的元素b1、b2的输出值z1、z2全部为阈值th以下的情况下,不能说中间层2包含的任何元素都是与输入层1包含的元素的输出值对应的元素。因此,元素构筑部13在中间层2中追加新的元素b3。

在本实施方式1中,为了便于说明,中间层2包含的元素b1、b2的输出值z1、z2全部为阈值th以下,因此,在中间层2中追加新的元素b3。

下面,设中间层2包含的当前的元素的个数为j个(j≧3)进行说明。

当元素构筑部13在中间层2中追加新的元素或维持中间层2包含的元素的个数j后,初始设定部11判定是否已经取得全部m个学习数据xm=(x1m、x2m、…、xim)(图6的步骤st13)。

如果已经取得m个学习数据xm(图6的步骤st13:是的情况),则初始设定部11结束决定中间层2的构造的第1处理内容。

如果还未取得m个学习数据xm(图6的步骤st13:否的情况),则初始设定部11取得还未取得的学习数据xm(图6的步骤st14)。

例如,如果还未取得m个学习数据xm中的第m个学习数据xm,则初始设定部11取得第m个学习数据xm

初始设定部11取得第m个学习数据xm后,根据输入层1包含的第i个元素ai的输出值yi=xim,对与中间层2包含的元素b1~bj有关的高斯函数的参数进行初始设定(图6的步骤st15)。

即,作为与中间层2包含的元素b1~bj有关的高斯函数的参数之一,初始设定部11根据输入层1包含的i个元素ai的输出值yi=xim计算高斯分布的标准偏差值σi、j(i=1、…、i;j=1…、j)。

此外,作为与中间层2包含的元素b1~bj有关的高斯函数的参数之一,如式(4)所示,初始设定部11将输入层1包含的第i个元素ai的输出值yi=xim初始设定成高斯函数的中心坐标μi、j。

进而,作为与中间层2包含的元素b1~bj有关的高斯函数的参数之一,如式(5)所示,初始设定部11对输入层1包含的第i个元素ai(i=1、…、j)与中间层2包含的第j个元素bj(j=1、…、j)之间的权重wi、j进行初始设定。

这里,示出将权重wi、j设定成1的例子,但是,这只是一例,也可以设定成1以外的值。

初始设定部11对与中间层2包含的元素b1~bj有关的高斯函数的参数进行初始设定后,将该参数的初始值输出到输出值计算部12,并且将该参数的初始值存储在数据存储部14中。

输出值计算部12从初始设定部11取得与中间层2包含的元素b1~bj有关的高斯函数的参数的初始值。

此外,输出值计算部12取得第m个学习数据xm=(x1m、x2m、…、xim)。

输出值计算部12取得第m个学习数据xm=(x1m、x2m、…、xim)后,计算中间层2包含的元素b1~bj的输出值z1~zj(图6的步骤st16)。

即,输出值计算部12针对式(6)所示的高斯函数代入与中间层2包含的元素bj(j=1、…、j)有关的高斯函数的参数的初始值和输入层1包含的i个元素ai的输出值yi=xim,由此,计算中间层2包含的元素bj的输出值zj(j=1、…、j)。

与中间层2包含的元素bj有关的高斯函数的参数的初始值是高斯分布的标准偏差值σi、j(i=1、…、i;j=1、…、j)、高斯函数的中心坐标μi、j(i=1、…、i;j=1、…、j)和权重wi、j(i=1、…、i;j=1、…、j)。

输出值计算部12计算中间层2包含的元素b1~bj的输出值z1~zj后,将元素b1~bj的输出值z1~zj输出到元素构筑部13,并且将元素b1~bj的输出值z1~zj存储在数据存储部14中。

元素构筑部13从输出值计算部12接受元素b1~bj的输出值z1~zj后,对元素b1~bj的输出值z1~zj和阈值th进行比较(图6的步骤st17)。

如果中间层2包含的元素b1~bj的输出值z1~zj中的任意输出值大于阈值th(图6的步骤st17:否的情况),则元素构筑部13维持中间层2包含的元素的个数j。

如果中间层2包含的元素b1~bj的输出值z1~zj全部为阈值th以下(图6的步骤st17:是的情况),则元素构筑部13在中间层2中追加新的元素,使得中间层2包含的元素的数量增加(图6的步骤st18)。

反复实施步骤st13~st18的处理,直到取得全部m个学习数据xm为止,在步骤st13的判定处理中判定为“是”后,第1处理内容结束。

参数更新部15在第1处理内容结束后,实施第2处理内容。

即,参数更新部15在第1处理内容结束后,每当依次赋予m个学习数据xm=(x1m、x2m、…、xim)时,实施进行数据存储部14中存储的高斯函数的参数即与中间层2包含的j个元素bj(j=1、…、j)有关的高斯函数的参数学习的有教师学习,由此,对数据存储部14中存储的高斯函数的参数和中间层2包含的第j个元素bj与输出层3包含的元素c之间的权重vj进行更新。

此外,参数更新部15实施有教师学习,由此,对输入层1包含的第i个元素ai与中间层2包含的第j个元素bj之间的权重wi、j进行更新。

有教师学习本身是公知技术,因此省略详细说明,例如,通过使用公知的反向传播法,能够实施有教师学习。

另外,参数更新部15可以对高斯函数中的全部参数进行更新,但是,也可以仅对高斯函数中的一部分参数进行更新。

例如,可考虑固定高斯分布的标准偏差值σi、j、高斯函数的中心坐标μi、j和权重wi、j中的高斯函数的中心坐标μi、j而对高斯分布的标准偏差值σi、j和权重wi、j进行更新的方法a。

此外,可考虑固定高斯分布的标准偏差值σi、j而对高斯函数的中心坐标μi、j和权重wi、j进行更新的方法b以及固定权重wi、j而对高斯分布的标准偏差值σi、j和高斯函数的中心坐标μi、j进行更新的方法c等。

根据以上可知,根据本实施方式1,构成为元素构筑部13对由输出值计算部12计算出的中间层2包含的1个以上的元素bj的输出值zj和阈值th进行比较,如果中间层2包含的1个以上的元素bj的输出值zj中的任意输出值zj大于阈值th,则维持中间层2包含的元素bj的数量,如果中间层2包含的1个以上的元素bj的输出值zj全部为阈值th以下,则增加中间层2包含的元素bj的数量,因此,发挥如下效果:即使神经网络的中间层2包含的元素bj是输入输出响应由高斯函数决定的元素,也能够自动决定神经网络的中间层2包含的元素bj的数量。

实施方式2

在上述实施方式1中,对神经网络具有的中间层2的层数为1的例子进行了说明。

在本实施方式2中,对神经网络具有的中间层2的层数为2以上的例子进行说明。

图7是示出本发明的实施方式2的网络构筑装置适用的神经网络的一例的说明图。在图7中,与图3相同的标号表示相同或相当的部分,因此省略说明。

中间层2-1~2-g级联连接在输入层1与输出层3之间。

第g层的中间层2-g(g=1、2、…、g)包含j(j为1以上的整数)个元素bjg(j=1、2、…、j),第j个元素bjg是输入输出响应由高斯函数决定的元素。

第1层的中间层2-1与图3的中间层2同样,在对第j个元素bj1赋予输入层1包含的i个元素ai的输出值yi=xim时,根据i个元素ai的输出值yi计算第j个元素bjm的输出值zjm,将元素bjm的输出值zjm输出到第2层的中间层2-2。

第g层的中间层2-g(g=2、3、…、g-1)在对第j个元素bjg赋予第(g-1)层的中间层2-(g-1)包含的全部元素bjg-1的输出值zjg-1时,根据全部元素bjg-1的输出值zjg-1计算第j个元素bjg的输出值zjg,将元素bjg的输出值zjg输出到第g层的中间层2-g。

第g层的中间层2-g在对第j个元素bjg赋予第(g-1)层的中间层2-(g-1)包含的全部元素bjg-1的输出值zjg-1时,根据全部元素bjg-1的输出值zjg-1计算第j个元素bjg的输出值zjg,将元素bjg的输出值zjg输出到输出层3。

在图7中,以中间层2-1~2-g包含的元素的个数全部为相同数量的方式进行表记,但是,当然有时通过后述元素构筑部13的处理,将中间层2-1~2-g包含的元素的个数决定为不同数量。

接着,对动作进行说明。

在上述实施方式1中,说明了在实施有教师学习之前决定中间层2的构造的例子,但是,在本实施方式2中,说明在实施有教师学习之前决定中间层2-1~2-g的构造的例子。

在本实施方式2中,从中间层2-1~2-g中的输入层1侧的中间层2-g(g=1、2、…、g)起依次决定中间层2-g的构造。

图8是示出网络构筑装置通过软件或固件等实现时的处理步骤即网络构筑方法的流程图。

决定在中间层2-1~2-g中最靠输入层1侧的中间层2-1的构造的处理与图3的决定中间层2的构造的处理相同,因此省略说明。

下面,参照图8对决定中间层2-g(g=2、3、…、g)的构造的处理内容进行说明。

在本实施方式2中,设中间层2-g包含的元素bjg的个数j的初始值为0个。

此外,中间层2-(g-1)包含的元素bjg-1的个数j已经决定为k个,计算出中间层2-(g-1)包含的第k个元素bkg-1(k=1、…、k)的输出值zkg-1

元素构筑部13在执行第1处理内容时,判定中间层2-g中是否包含元素bjg

即,元素构筑部13判定中间层2-g包含的元素bjg的个数j是否为0个(图8的步骤st21)。

元素构筑部13在判定为中间层2-g包含的元素bjg的个数j为0个时(图8的步骤st21:是的情况),在中间层2-g中追加1个新的元素bjg。即,元素构筑部13在中间层2-g中生成元素b1g(图8的步骤st22)。

元素构筑部13在判定为中间层2-g包含的元素bjg的个数j不是0个时(图8的步骤st21:否的情况),在该阶段,不进行在中间层2-g中追加新的元素bjg的处理。在本实施方式2中,设中间层2-g包含的元素bjg的个数j的初始值为0个,因此,这里,元素构筑部13在中间层2-g中生成元素b1g

当元素构筑部13在中间层2-g中生成元素b1g后,初始设定部11判定是否已经对输入层1赋予了m个学习数据xm=(x1m、x2m、…、xim)(m=1、…、m),且取得了基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st23)。

如果已经取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st23:是的情况),则初始设定部11结束决定中间层2-g的构造的第1处理内容。

如果还未取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1(图8的步骤st23:否的情况),则初始设定部11取得还未取得的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1(图8的步骤st24)。

在本实施方式2中,初始设定部11在该阶段未取得基于第1个学习数据x1的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1,因此,取得基于第1个学习数据x1的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1

初始设定部11取得基于第1个学习数据x1的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1后,根据中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1,对与中间层2-g包含的元素b1g有关的高斯函数的参数进行初始设定(图8的步骤st25)。

即,作为与中间层2-g包含的元素b1g有关的高斯函数的参数之一,初始设定部11根据中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1,计算高斯分布的标准偏差值σk、1g(k=1、…、k)。

此外,作为与中间层2-g包含的元素b1g有关的高斯函数的参数之一,初始设定部11对高斯函数的中心坐标μk、1g(k=1、…、k)进行初始设定。

如以下的式(7)所示,高斯函数的中心坐标μk、1g是中间层2-(g-1)包含的第k个元素bkg-1的输出值zkg-1

μk、1g=zkg-1(7)

进而,作为与中间层2-g包含的元素b1g有关的高斯函数的参数之一,如以下的式(8)所示,初始设定部11对中间层2-(g-1)包含的第k个元素bkg-1与中间层2-g包含的元素b1g之间的权重wk、1g进行初始设定。

wk、1g=1(8)

这里,示出将权重wk、1g设定成1的例子,但是,这只是一例,也可以设定成1以外的值。

初始设定部11对与中间层2-g包含的元素b1g有关的高斯函数的参数进行初始设定后,将该参数的初始值输出到输出值计算部12,并且将该参数的初始值存储在数据存储部14中。

输出值计算部12从初始设定部11取得与中间层2-g包含的元素b1g有关的高斯函数的参数的初始值。

此外,输出值计算部12取得基于第1个学习数据x1的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1

输出值计算部12取得基于第1个学习数据x1的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1后,计算中间层2-g包含的元素b1g的输出值z1g(图8的步骤st26)。

即,输出值计算部12针对以下的式(9)所示的高斯函数代入与中间层2-g包含的元素b1g有关的高斯函数的参数的初始值和中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1,由此,计算中间层2-g包含的元素b1g的输出值z1g

输出值计算部12计算中间层2-g包含的元素b1g的输出值z1g后,将元素b1g的输出值z1g输出到元素构筑部13,并且将元素b1g的输出值z1g存储在数据存储部14中。

元素构筑部13从输出值计算部12接受元素b1g的输出值z1g后,对元素b1g的输出值z1g和事前设定的阈值th进行比较(图8的步骤st27)。

元素b1g的输出值z1g最大为1,因此,作为阈值th,可考虑1以下的正实数或e-0.25以上且1以下的正实数等。

如果中间层2-g包含的元素b1g的输出值z1g大于阈值th(图8的步骤st27:否的情况),则元素构筑部13维持中间层2-g包含的元素的个数j(j=1)。

如果中间层2-g包含的元素b1g的输出值z1g为阈值th以下(图8的步骤st27:是的情况),则元素构筑部13在中间层2-g中追加新的元素b2g,使得中间层2-g包含的元素的数量增加(图8的步骤st28)。

在本实施方式2中,为了便于说明,中间层2-g包含的元素b1g的输出值z1g为阈值th以下,因此,在中间层2-g中追加新的元素b2g

当元素构筑部13在中间层2-g中追加新的元素b2g或维持中间层2-g包含的元素的个数j后,初始设定部11判定是否已经取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st23)。

如果已经取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st23:是的情况),则初始设定部11结束决定中间层2的构造的第1处理内容。

如果还未取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st23:否的情况),则初始设定部11取得还未取得的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st24)。

在本实施方式2中,初始设定部11在该阶段未取得基于第2个学习数据x2的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1,因此,取得基于第2个学习数据x2的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1

初始设定部11取得基于第2个学习数据x2的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1后,根据基于第2个学习数据x2的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1,对与中间层2-g包含的元素b1g、b2g有关的高斯函数的参数进行初始设定(图8的步骤st25)。

即,作为与中间层2-g包含的元素b1g、b2g有关的高斯函数的参数之一,初始设定部11根据中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1计算高斯分布的标准偏差值σk、jg(k=1、…、k;j=1、2)。

此外,作为与中间层2-g包含的元素b1g、b2g有关的高斯函数的参数之一,如以下的式(10)所示,初始设定部11将中间层2-(g-1)包含的第k个元素bkg-1的输出值zkg-1初始设定成高斯函数的中心坐标μk、jg(k=1、…、k;j=1、2)。

μk、jg=zkg-1(10)

进而,作为与中间层2-g包含的元素b1g、b2g有关的高斯函数的参数之一,如以下的式(11)所示,初始设定部11对中间层2-(g-1)包含的第k个元素bkg-1与中间层2-g包含的第j个元素bjg(j=1、2)之间的权重wk、jg(k=1、…、k;j=1、2)进行初始设定。

wk、jg=1(11)

这里,示出将wk、jg设定成1的例子,但是,这只是一例,也可以设定成1以外的值。

初始设定部11对与中间层2-g包含的元素b1g、b2g有关的高斯函数的参数进行初始设定后,将该参数的初始值输出到输出值计算部12,并且将该参数的初始值存储在数据存储部14中。

输出值计算部12从初始设定部11取得与中间层2-g包含的元素b1g、b2g有关的高斯函数的参数的初始值。

此外,输出值计算部12取得基于第2个学习数据x2的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1

输出值计算部12取得基于第2个学习数据x2的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1后,计算中间层2-g包含的元素b1g的输出值z1g和元素b2g的输出值z2g(图8的步骤st26)。

即,输出值计算部12针对以下的式(12)所示的高斯函数代入与中间层2-g包含的元素b1g有关的高斯函数的参数的初始值和中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1,由此,计算中间层2-g包含的元素b1g的输出值z1g

与中间层2-g包含的元素b1g有关的高斯函数的参数的初始值是高斯分布的标准偏差值σk、1g(k=1、…、k)、高斯函数的中心坐标μk、1g(k=1、…、k)和权重wk、1g(k=1、…、k)。

此外,输出值计算部12针对以下的式(12)所示的高斯函数代入与中间层2-g包含的元素b2g有关的高斯函数的参数的初始值和中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1,由此,计算中间层2-g包含的元素b2g的输出值z2g

与中间层2-g包含的元素b2g有关的高斯函数的参数的初始值是高斯分布的标准偏差值σk、2g(k=1、…、k)、高斯函数的中心坐标μk、2g(k=1、…、k)和权重wk、2g(k=1、…、k)。

这里,在式(12)中,j=1、2。

输出值计算部12计算中间层2-g包含的元素b1g的输出值z1g和元素b2g的输出值z2g后,将元素b1g、b2g的输出值z1g、z2g输出到元素构筑部13,并且将元素b1g、b2g的输出值z1g、z2g存储在数据存储部14中。

元素构筑部13从输出值计算部12接受元素b1g、b2g的输出值z1g、z2g后,对元素b1g、b2g的输出值z1g、z2g和阈值th进行比较(图8的步骤st27)。

如果中间层2-g包含的元素b1g、b2g的输出值z1g、z2g中的任意输出值大于阈值th(图8的步骤st27:否的情况),则元素构筑部13维持中间层2-g包含的元素的个数j(j=2)。

如果中间层2-g包含的元素b1g、b2g的输出值z1g、z2g全部为阈值th以下(图8的步骤st27:是的情况),则元素构筑部13在中间层2-g中追加新的元素b3g,使得中间层2-g包含的元素的数量增加(图8的步骤st28)。

在本实施方式2中,为了便于说明,中间层2-g包含的元素b1g、b2g的输出值z1g、z2g全部为阈值th以下,因此,在中间层2-g中追加新的元素b3g

下面,设中间层2-g包含的当前的元素的个数为j个(j≧3)进行说明。

当元素构筑部13在中间层2-g中追加新的元素或维持中间层2-g包含的元素的个数j后,初始设定部11判定是否已经取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st23)。

如果已经取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st23:是的情况),则初始设定部11结束决定中间层2的构造的第1处理内容。

如果还未取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st23:否的情况),则初始设定部11取得还未取得的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1(图8的步骤st24)。

在本实施方式2中,初始设定部11在该阶段未取得基于m个学习数据中的第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1,因此,取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1

初始设定部11取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1后,根据基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1,对与中间层2-g包含的元素b1g~bjg有关的高斯函数的参数进行初始设定(图8的步骤st25)。

即,作为与中间层2-g包含的元素b1g~bjg有关的高斯函数的参数之一,初始设定部11根据中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1计算高斯分布的标准偏差值σk、jg(k=1、…、k;j;j=1…、j)。

此外,作为与中间层2-g包含的元素b1g~bjg有关的高斯函数的参数之一,如式(10)所示,初始设定部11将中间层2-(g-1)包含的第k个元素bkg-1的输出值zkg-1初始设定成高斯函数的中心坐标μk、jg(k=1、…、k;j=1…、j)。

进而,作为与中间层2-g包含的元素b1g~bjg有关的高斯函数的参数之一,如式(11)所示,初始设定部11对中间层2-(g-1)包含的第k个元素bkg-1与中间层2-g包含的第j个元素bjg(j=1、…、j)之间的权重wk、jg(k=1、…、k;j;j=1…、j)进行初始设定。

这里,示出将wk、jg设定成1的例子,但是,这只是一例,也可以设定成1以外的值。

初始设定部11对与中间层2-g包含的元素b1g~bjg有关的高斯函数的参数进行初始设定后,将该参数的初始值输出到输出值计算部12,并且将该参数的初始值存储在数据存储部14中。

输出值计算部12从初始设定部11取得与中间层2包含的元素b1g~bjg有关的高斯函数的参数的初始值。

此外,输出值计算部12取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1

输出值计算部12取得基于第m个学习数据xm的前一个中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1后,计算中间层2-g包含的元素b1g~bjg的输出值z1g~zjg(图8的步骤st26)。

即,输出值计算部12针对式(12)所示的高斯函数代入与中间层2-g包含的元素bjg(j=1、…、j)有关的高斯函数的参数的初始值和中间层2-(g-1)包含的k个元素bkg-1的输出值zkg-1,由此,计算中间层2-g包含的元素bjg的输出值zjg(j=1、…、j)。

与中间层2-g包含的元素bjg有关的高斯函数的参数的初始值是高斯分布的标准偏差值σk、jg(k=1、…、k;j=1、…、j)、高斯函数的中心坐标μk、jg(k=1、…、k;j=1、…、j)和权重wk、jg(k=1、…、k;j=1、…、j)。

输出值计算部12计算中间层2-g包含的元素b1g~bjg的输出值z1g~zjg后,将元素b1g~bjg的输出值z1g~zjg输出到元素构筑部13,并且将元素b1g~bjg的输出值z1g~zjg存储在数据存储部14中。

元素构筑部13从输出值计算部12接受元素b1g~bjg的输出值z1g~zjg后,对元素b1g~bjg的输出值z1g~zjg和阈值th进行比较(图8的步骤st27)。

如果中间层2-g包含的元素b1g~bjg的输出值z1g~zjg中的任意输出值大于阈值th(图8的步骤st27:否的情况),则元素构筑部13维持中间层2-g包含的元素的个数j。

如果中间层2-g包含的元素b1g~bjg的输出值z1g~zjg全部为阈值th以下(图8的步骤st27:是的情况),则元素构筑部13在中间层2-g中追加新的元素,使得中间层2-g包含的元素的数量增加(图8的步骤st28)。

反复实施步骤st23~st28的处理,直到取得基于m个学习数据xm(m=1、…·、m)的前一个中间层2-(g-1)包含的k个元素bkg-1(k=1、…、k)的输出值zkg-1为止,在步骤st23的判定处理中判定为“是”后,第1处理内容结束。

参数更新部15在第1处理内容结束后,实施第2处理内容。

即,参数更新部15在决定中间层2-1~2-g的构造后,每当依次赋予m个学习数据xm=(x1m、x2m、…、xim)时,与上述实施方式1同样,对数据存储部14中存储的高斯函数的参数进行更新,并且实施进行与中间层2-1~2-g包含的元素有关的高斯函数的参数学习的有教师学习,由此,对中间层2-g包含的第j个元素bjg与输出层3包含的元素c之间的权重vj进行更新。

此外,参数更新部15实施有教师学习,由此,对输入层1包含的第i个元素ai与中间层2-1包含的第j个元素bj1之间的权重wi、j1、中间层2-(g-1)包含的第k个元素bkg-1(k=1、…、k)与中间层2-g包含的第j个元素bjg(j=1、…、j)之间的权重wk、jg进行更新。

即,实施进行与中间层2-1~2-g包含的元素有关的高斯函数的参数学习的有教师学习,由此,对数据存储部14中存储的高斯函数的参数和权重进行更新。

根据以上可知,根据本实施方式2,发挥如下效果:在神经网络具有2层以上的中间层2-g的情况下,也能够自动决定神经网络的中间层2-g包含的元素bjg的数量。

实施方式3

在上述实施方式2中,说明了神经网络具有的中间层2-g的层数固定成g的例子。

在该实施方式3中,说明适当决定神经网络具有的中间层2-g的层数的例子

图9是示出本发明的实施方式3的网络构筑装置的结构图,图10是本发明的实施方式3的网络构筑装置的硬件结构图。

在图9和图10中,与图1和图2相同的标号表示相同或相当的部分,因此省略说明。

层数决定部16例如通过图10的层数决定电路26实现,实施决定神经网络具有的中间层2-g的层数g的处理。

在图9中,假设网络构筑装置的结构要素即初始设定部11、输出值计算部12、元素构筑部13、数据存储部14、参数更新部15和层数决定部16分别通过图10所示的专用硬件即初始设定电路21、输出值计算电路22、元素构筑电路23、数据存储电路24、参数更新电路25和层数决定电路26实现。

这里,数据存储电路24例如是ram、rom、闪存、eprom、eeprom等非易失性或易失性半导体存储器、磁盘、软盘、光盘、高密度盘、迷你盘、dvd等。

此外,初始设定电路21、输出值计算电路22、元素构筑电路23、参数更新电路25和层数决定电路26例如是单一电路、复合电路、程序化的处理器、并行程序化的处理器、asic、fpga或它们的组合。

但是,网络构筑装置的结构要素不限于通过专用硬件实现,网络构筑装置也可以通过软件、固件或软件与固件的组合实现。

在网络构筑装置通过软件或固件等实现的情况下,在图4所示的计算机的存储器31上构成数据存储部14,并且,将用于使计算机执行初始设定部11、输出值计算部12、元素构筑部13、参数更新部15和层数决定部16的处理步骤的程序存储在存储器31中,图4所示的计算机的处理器32执行存储器31中存储的程序即可。

此外,在图10中,示出网络构筑装置的结构要素分别通过专用硬件实现的例子,在图4中,示出网络构筑装置通过软件或固件等实现的例子,但是,也可以是网络构筑装置中的一部分结构要素通过专用硬件实现,其余结构要素通过软件或固件等实现。

接着,对动作进行说明。

除了安装有层数决定部16这点以外,与上述实施方式2相同,因此,这里仅对层数决定部16的处理内容进行说明。

在初始设定部11、输出值计算部12和元素构筑部13通过与上述实施方式2相同的方法决定1个中间层2-g的构造后,层数决定部16每次将已经决定构造的中间层2-g连接在输入层1与输出层3之间。

例如,在3个中间层2-1~2-3的构造的决定已完成的阶段,将3个中间层2-1~2-3连接在输入层1与输出层3之间。

此外,在4个中间层2-1~2-4的构造的决定已完成的阶段,将4个中间层2-1~2-4连接在输入层1与输出层3之间。

层数决定部16在将新决定了构造的中间层2-g连接在输入层1与输出层3之间后,对输入层1赋予任意的数据。

然后,层数决定部16计测从对输入层1赋予数据到从输出层3输出数据为止的时间,作为神经网络中的数据的输入输出时间ta。

ta=tout-tin(13)

在式(13)中,tin是对输入层1输入数据的时刻,tout是从输出层3输出数据的时刻。

层数决定部16计测神经网络中的数据的输入输出时间ta后,对该输入输出时间ta和输入输出时间的容许时间tb进行比较。

输入输出时间的容许时间tb是网络构筑装置容许的时间,是事前设定的时间。

层数决定部16在神经网络中的数据的输入输出时间ta比输入输出时间的容许时间tb短的情况下,根据数据的输入输出时间ta,计算连接在输入层1与输出层3之间的每1层的中间层2-g的输入输出时间ta/e。

e是当前时点连接在输入层1与输出层3之间的中间层2-g的层数。

层数决定部16在满足以下的式(14)的情况下,即使连接在输入层1与输出层3之间的中间层2-g的数量增加一个,神经网络中的数据的输入输出时间ta收敛在容许时间tb以内的可能性也较高,因此,许可连接在输入层1与输出层3之间的中间层2-g的数量增加一个。

由此,初始设定部11、输出值计算部12和元素构筑部13实施通过与上述实施方式2相同的方法决定新追加的中间层2-g的构造的处理。

tb>ta+ta/e(14)

层数决定部16在不满足式(14)的情况下,当连接在输入层1与输出层3之间的中间层2-g的数量增加一个时,神经网络中的数据的输入输出时间ta超过容许时间tb的可能性较高,因此,拒绝增加连接在输入层1与输出层3之间的中间层2-g的数量。

由此,当前时点连接在输入层1与输出层3之间的中间层2-g的层数e决定为神经网络具有的中间层2-g的层数g。

根据以上可知,根据该实施方式3,构成为层数决定部16根据神经网络中的数据的输入输出时间ta和输入输出时间的容许时间tb决定中间层2-g的层数g,因此,发挥能够使神经网络中的数据的输入输出时间ta收敛在容许时间tb以内的效果。

在该实施方式3中,说明了层数决定部16计测神经网络中的数据的输入输出时间ta并根据该输入输出时间ta和容许时间tb决定中间层2的层数g的例子,但是不限于此。

例如,层数决定部16也可以计测神经网络的学习时间tc,根据该学习时间tc和学习时间的容许时间td决定中间层2的层数g。

具体而言,如下所述。

层数决定部16在将新决定了构造的中间层2-g连接在输入层1与输出层3之间后,对输入层1赋予学习数据,由此使神经网络实施学习。

然后,层数决定部16例如计测从对输入层1赋予学习数据到从输出层3输出数据为止的时间,作为神经网络的学习时间tc。

tc=tout-tin(15)

在式(15)中,tin是对输入层1输入学习数据的时刻,tout是从输出层3输出数据的时刻。

层数决定部16计测神经网络的学习时间tc后,对该学习时间tc和学习时间的容许时间td进行比较。

学习时间的容许时间td是网络构筑装置容许的时间,是事前设定的时间。

层数决定部16在神经网络的学习时间tc比学习时间的容许时间td短的情况下,根据神经网络的学习时间tc,计算连接在输入层1与输出层3之间的每1层的中间层2-g的学习时间tc/e。

e是当前时点连接在输入层1与输出层3之间的中间层2-g的层数。

层数决定部16在满足以下的式(16)的情况下,即使连接在输入层1与输出层3之间的中间层2-g的数量增加一个,神经网络的学习时间tc收敛在容许时间td以内的可能性也较高,因此,许可连接在输入层1与输出层3之间的中间层2-g的数量增加一个。

由此,初始设定部11、输出值计算部12和元素构筑部13实施通过与上述实施方式2相同的方法决定新追加的中间层2-g的构造的处理。

td>tc+tc/e(16)

层数决定部16在不满足式(16)的情况下,当连接在输入层1与输出层3之间的中间层2-g的数量增加一个时,神经网络的学习时间tc超过容许时间td的可能性较高,因此,拒绝增加连接在输入层1与输出层3之间的中间层2-g的数量。

由此,当前时点连接在输入层1与输出层3之间的中间层2-g的层数e决定为神经网络具有的中间层2-g的层数g。

在层数决定部16计测神经网络的学习时间tc并根据该学习时间tc和容许时间td决定中间层2的层数g的情况下,发挥能够使神经网络的学习时间tc收敛在容许时间td以内的效果。

另外,本申请能够在其发明范围内进行各实施方式的自由组合、或各实施方式的任意结构要素的变形、或各实施方式中的任意结构要素的省略。

产业上的可利用性

本发明适用于构筑神经网络的网络构筑装置和网络构筑方法。

标号说明

1:输入层;2、2-1~2-g:中间层;3:输出层;11:初始设定部;12:输出值计算部;13:元素构筑部;14:数据存储部;15:参数更新部;16:层数决定部;21:初始设定电路;22:输出值计算电路;23:元素构筑电路;24:数据存储电路;25:参数更新电路;26:层数决定电路;31:存储器;32:处理器。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1