学习系统、学习方法和程序与流程

文档序号:26195824发布日期:2021-08-06 19:03阅读:591来源:国知局
学习系统、学习方法和程序与流程

本发明涉及学习系统、学习方法和程序。



背景技术:

以往,已知有根据教师数据反复执行学习模型的学习处理的技术。例如,在专利文献1中,记载了一种学习系统,其根据教师数据,反复进行被称为时期数的次数的学习处理。

现有技术文献

专利文献

专利文献1:日本特开2019-074947号公报



技术实现要素:

发明要解决的课题

在上述那样的技术中,当学习模型的层数增加时,学习模型整体的参数的数量也增加,因此,学习模型的数据大小变大。关于这一点,虽然也考虑对参数进行量化而减少各个参数的信息量,并减小数据大小,但根据本发明的发明人绝密地进行的研究发现了以下情况:当对全部参数一次进行量化而执行学习处理时,学习模型的精度大幅降低。

本发明是鉴于上述课题而完成的,其目的在于提供一种能够抑制学习模型的精度的降低并减小学习模型的数据大小的学习系统、学习方法和程序。

用于解决问题的手段

为了解决上述课题,本发明的学习系统的特征在于,包含:取得单元,其取得使学习模型学习的教师数据;以及学习单元,其根据所述教师数据来反复执行所述学习模型的学习处理,所述学习单元在对所述学习模型的一部分层的参数进行量化而执行所述学习处理以后,对所述学习模型的其他层的参数进行量化而执行所述学习处理。

本发明的学习方法的特征在于,包含以下步骤:取得步骤,取得使学习模型学习的教师数据;以及学习步骤,根据所述教师数据来反复执行所述学习模型的学习处理,在所述学习步骤中,在对所述学习模型的一部分层的参数进行量化而执行所述学习处理以后,对所述学习模型的其他层的参数进行量化而执行所述学习处理。

本发明的程序用于使计算机作为以下单元发挥功能:取得单元,其取得使学习模型学习的教师数据;以及学习单元,其根据所述教师数据来反复执行所述学习模型的学习处理,所述程序的特征在于,所述学习单元在对所述学习模型的一部分层的参数进行量化而执行所述学习处理以后,对所述学习模型的其他层的参数进行量化而执行所述学习处理。

根据本发明的一个方式,其特征在于,所述学习单元直到所述学习模型的全部层的参数被量化为止,反复执行所述学习处理。

根据本发明的一个方式,其特征在于,所述学习单元对所述学习模型的层逐一地进行量化。

根据本发明的一个方式,其特征在于,所述学习单元从所述学习模型中,按照规定的顺序依次选择要进行量化的层。

根据本发明的一个方式,其特征在于,所述学习单元从所述学习模型中随机地依次选择要进行量化的层。

根据本发明的一个方式,其特征在于,所述学习单元在对所述一部分层的参数进行量化而反复进行规定次数的所述学习处理以后,对所述其他层的参数进行量化而反复进行规定次数的所述学习处理。

根据本发明的一个方式,其特征在于,所述学习单元根据多个顺序的每一个顺序来依次选择要进行量化的层,生成多个所述学习模型,所述学习系统还包含选择单元,该选择单元根据各学习模型的精度,选择所述多个学习模型中的至少一个学习模型。

根据本发明的一个方式,其特征在于,所述学习系统还包含其他模型学习单元,所述其他模型学习单元根据与由所述选择单元选择出的学习模型对应的顺序,执行其他学习模型的学习处理。

根据本发明的一个方式,其特征在于,在各层的参数中包含权重系数,所述学习单元在对所述一部分层的权重系数进行量化而执行所述学习处理以后,对所述其他层的权重系数进行量化而执行所述学习处理。

根据本发明的一个方式,其特征在于,所述学习单元在对所述学习模型的一部分层的参数进行二值化而执行所述学习处理以后,对所述学习模型的其他层的参数进行二值化而执行所述学习处理。

发明效果

根据本发明,能够抑制学习模型的精度的降低,并减小学习模型的数据大小。

附图说明

图1是示出学习系统的整体结构的图。

图2是示出一般的学习模型的学习方法的图。

图3是示出对权重系数进行量化的学习处理的一例的图。

图4是示出对层逐一地进行量化的学习处理的一例的图。

图5是示出从最后的层起依次进行量化的学习处理的一例的图。

图6是示出学习模型的精度的图。

图7是示出在学习系统中实现的功能的一例的功能框图。

图8是示出教师数据集的数据存储例的图。

图9是示出在学习系统中执行的处理的一例的流程图。

图10是变形例的功能框图。

具体实施方式

[1.学习系统的整体结构]

以下,说明本发明的学习系统的实施方式的例子。图1是示出学习系统的整体结构的图。如图1所示,学习系统s包含学习装置10。另外,在学习系统s中,也可以包含能够相互进行通信的多台计算机。

学习装置10是执行在本实施方式中说明的处理的计算机。例如,学习装置10是个人计算机、服务器计算机、便携信息终端(包含平板型计算机)或移动电话机(包含智能手机)等。学习装置10包含控制部11、存储部12、通信部13、操作部14和显示部15。

控制部11包含至少一个处理器。控制部11按照存储部12所存储的程序、数据来执行处理。存储部12包含主存储部和辅助存储部。例如,主存储部是ram等易失性存储器,辅助存储部是rom、eeprom、闪存或硬盘等非易失性存储器。通信部13是有线通信或无线通信用的通信接口,经由互联网等网络进行数据通信。

操作部14是输入设备,例如是触摸面板、鼠标等定点设备、键盘或按钮等。操作部14将用户的操作内容传输到控制部11。显示部15例如是液晶显示部或有机el显示部等。显示部15按照控制部11的指示来显示图像。

另外,认为存储到存储部12中进行说明的程序和数据也可以经由网络提供。此外,上述所说明的各计算机的硬件结构不限于上述的例子,能够应用各种硬件。例如,也可以包含读取计算机可读取的信息存储介质的读取部(例如,光盘驱动器、存储卡槽)、用于与外部设备进行数据的输入/输出的输入/输出部(例如,usb端口)。例如,信息存储介质所存储的程序、数据也可以经由读取部、输入/输出部提供给各计算机。

[2.学习系统的概要]

本实施方式的学习系统s根据教师数据执行学习模型的学习处理。

教师数据是使学习模型学习的数据。教师数据也有时称作学习数据或训练数据。例如,教师数据是针对学习模型的输入(问题)与学习模型的输出(回答)的对。例如,在分类学习器的情况下,教师数据是与输入到学习模型的输入数据相同形式的数据与表示输入数据的分类的标签成对的数据。

例如,如果输入数据是图像或动态图像,则教师数据是图像或动态图像与表示图像或动态图像所示的对象(被摄体或用cg描绘的物体)的分类的标签成对的数据。此外,例如,如果输入数据是文本或文档,则教师数据是文本或文档与表示所记述的内容的分类的标签成对的数据。此外,例如,如果输入数据是语音,则教师数据是语音与表示语音的内容或讲话者的分类的标签成对的数据。

另外,在机器学习中,由于利用多个教师数据执行学习处理,所以,在本实施方式中,将多个教师数据的集合记作教师数据集,将教师数据集中包含的一个个的数据记作教师数据。在本实施方式中记作教师数据的部位是指上述所说明的对,教师数据集是指对的集合。

学习模型是有教师学习的模型。学习模型能够执行任意的处理,例如,进行图像识别、字符识别、语音识别、人的行为模式的识别或自然界的现象的识别。机器学习本身能够应用公知的各种方法,例如,能够利用dnn(deepneuralnetwork:深层神经网络)、cnn(convolutionalneuralnetwork:卷积神经网络)、resnet(residualnetwork:剩余网络)或rnn(recurrentneuralnetwork:循环神经网络)。

学习模型包含多个层,在各层中设定有参数。例如,作为层,也可以包含被称为affine、relu、sigmoid、tanh或softmax这样的名称的层。学习模型中包含的层的数量可以是任意的,例如,可以为几个左右,也可以为10个以上。此外,也可以在各层中设定有多个参数。

学习处理是使学习模型学习教师数据的处理。换言之,学习处理是以能够得到教师数据的输入与输出的关系的方式对学习模型的参数进行调整的处理。学习处理本身能够应用公知的机器学习中利用的处理,例如,能够利用dnn、cnn、resnet或rnn的学习处理。学习处理通过规定的学习算法(学习程序)来执行。

在本实施方式中,列举进行图像识别的dnn作为学习模型的例子,说明学习系统s的处理。当未知的图像输入到学习完毕的学习模型时,学习模型计算图像的特征量,根据特征量来输出表示图像内的对象种类的标签。使这样的学习模型学习的教师数据成为图像与图像所示的对象的标签的对。

图2是示出一般的学习模型的学习方法的图。如图2所示,学习模型包含多个层,在各层中设定有参数。在本实施方式中,设学习模型的层数为l(l:自然数)。l个的层按照规定的顺序排列。在本实施方式中,将第i个(i:1~l的自然数)的层的参数记作pi。如图2所示,在各层的参数pi中,包含权重系数wi和偏置bi。

根据一般的dnn的学习方法,可根据相同的教师数据来反复进行被称作时期数的次数的学习处理。在图2的例子中,设时期数为n(n:自然数),在n次的学习处理的各自中,调整各层的权重系数wi。通过反复进行学习处理,以能够得到教师数据表示的输入与输出的关系的方式逐渐调整各层的权重系数wi。

例如,通过第1次的学习处理,调整各层的初始值的权重系数wi。在图2中,将通过第1次的学习处理而调整后的权重系数记作wi1。当第1次的学习处理完成时,执行第2次的学习处理。通过第2次的学习处理,调整各层的权重系数wi1。在图2中,将通过第1次的学习处理而调整后的权重系数记作wi2。以下,以同样的方式反复进行n次的学习处理。在图2中,将通过第n次的学习处理而调整后的权重系数记作win。win成为最终设定在学习模型中的权重系数wi。

如在现有技术中所说明的那样,当学习模型的层数增加时,参数pi的数量也增加,因此,学习模型的数据大小增大。因此,学习系统s通过对权重系数wi进行量化,减小数据大小。在本实施方式中,列举以下例子进行说明:一般通过对用浮点数表现的权重系数wi进行二值化,压缩权重系数wi的信息量,来减小学习模型的数据大小。

图3是示出对权重系数wi进行量化的学习处理的一例的图。图3所示的q(x)是对变量x进行量化的函数,例如,在“x≦0”的情况下,该函数为“-1”,在“x>0”的情况下,该函数为“1”。另外,量化不限于二值化,也可以进行2个阶段以上的量化。例如,q(x)可以是进行“-1”、“0”、“1”的3个阶段的量化的函数,也可以是在“-2n”~“2n”(n:自然数)之间进行量化的函数。量化的阶段数量、阈值可以采用任意的阶段数量、阈值。

在图3所示的例子中,通过第1次的学习处理,调整各层的初始值的权重系数wi而进行量化。在图3中,将通过第1次的学习处理而调整后的权重系数记作q(wi1)。在图3的例子中,在第1次的学习处理中,对全部层的权重系数wi进行量化,用“-1”或“1”表现。

当第1次的学习处理完成时,执行第2次的学习处理。通过第2次的学习处理,取得所量化的权重系数q(wi2)。以下,以同样的方式反复进行n次的学习处理。在图2中,将通过第n次的学习处理进行量化后的权重系数记作q(win)。q(win)成为最终设定在学习模型中的权重系数wi。

当如上述那样对各层的权重系数wi进行量化时,由于与浮点数等相比能够压缩信息量,所以能够减小学习模型的数据大小。但是,根据发明者的独自的研究,发现当对全部层一次进行量化时,学习模型的精度大幅降低。因此,本实施方式的学习系统s通过对层逐一地进行量化,抑制学习模型的精度降低。

图4是示出对层逐一地进行量化的学习处理的一例的图。如图4所示,在第1次的学习处理中,仅对第1个的层的权重系数w1进行量化而执行学习处理。因此,第2个以后的层的权重系数w2~wl不被量化而保持浮点数的状态。因此,通过第1次的学习处理,第1个的层的权重系数成为q(w11),第2个以后的层的权重系数成为w21~wl1

当第1次的学习处理完成时,执行第2次的学习处理。在第2次的学习处理中,也仅对第1个的层的权重系数w1进行量化。因此,通过第2次的学习处理,第1个的层的权重系数成为q(w12),第2个以后的层的权重系数成为w22~wl2。之后,反复进行k次(k:自然数)的仅对第1个的层的权重系数w1进行了量化的学习处理。通过第k次的学习处理,第1个的层的权重系数成为q(w1k),第2个以后的层的权重系数成为w2k~wlk

当第k次的学习处理完成时,执行第k+1次的学习处理,对第2个的层的权重系数w2进行量化。由于第1个的层的权重系数w1已经被量化,所以在第k+1次以后的学习处理中,也继续进行量化。另一方面,第3个以后的层的权重系数w3~wl不被量化而保持浮点数的状态。因此,通过第k+1次的学习处理,第1个和第2个的层的权重系数分别成为q(w1k+1),q(w2k+1),第3个以后的层的权重系数成为w3k+1~wlk+1

当第k+1次的学习处理完成时,执行第k+2次的学习处理。在第k+2次的学习处理中,也仅进行第1个和第2个的层的权重系数w1,w2进行量化。因此,通过第k+2次的学习处理,第1个和第2个的层的权重系数分别成为q(w1k+2),q(w2k+2),第3个以后的层的权重系数成为w3k+2~wlk+2。之后,反复进行k次的仅对第1个和第2个的层的权重系数w1,w2进行了量化的学习处理。通过第2k次的学习处理,第1个和第2个的层的权重系数分别成为q(w12k),q(w22k),第3个以后的层的权重系数成为w32k~wl2k

以下,以同样的方式对第3个以后的层逐一地依次进行量化而执行学习处理。在图4的例子中,层数为l,各个时期数为k次,因此,学习处理的合计次数成为lk次,最终对全部层的权重系数wi进行量化。通过第lk次的学习处理进行量化后的各层的权重系数q(wilk)成为最终设定在学习模型中的权重系数。

另外,在图4中,说明了从第1个的层向第l个的层沿层的排列顺序的正向(升序)进行量化的情况,但是,各层的量化按照任意的顺序进行即可。例如,也可以从第l个的层向第1个的层沿层的排列顺序的反向(降序)进行量化。

图5是示出从最后的层起依次进行量化的学习处理的一例的图。如图5所示,在第1次的学习处理中,仅对第l个的层的权重系数wl进行量化而执行学习处理。因此,第1个~第l-1个的层的权重系数w1~wl-1不被量化而保持浮点数的状态。通过第1次的学习处理,第l个的层的权重系数成为q(wl1),第1个~第l-1个的层的权重系数成为w11~wl-11

当第1次的学习处理完成时,执行第2次的学习处理。在第2次的学习处理中,也仅对第l个的层的权重系数wl进行量化。因此,通过第2次的学习处理,第l个的层的权重系数成为q(wl2),第1个~第l-1个的层的权重系数成为w12~wl-12。之后,反复进行k次(k:自然数)的仅对第l个的层的权重系数wl进行了量化的学习处理。通过第k次的学习处理,第l个的层的权重系数成为q(wlk),第1个~第l-1个的层的权重系数成为w1k~wl-1k

当第k次的学习处理完成时,执行第k+1次的学习处理,对第l-1个的层的权重系数wl-1进行量化。由于第l个的层的权重系数wl已经被量化,所以在第k+1次以后的学习处理中,也继续进行量化。另一方面,第1个~第l-2个的层的权重系数w1~wl-2不被量化而保持浮点数的状态。因此,通过第k+1次的学习处理,第l-1个和第l个的层的权重系数分别成为q(wl-1k+1),q(wlk+1),第1个~第l-2个的层的权重系数成为w1k+1~wl-2k+1

当第k+1次的学习处理完成时,执行第k+2次的学习处理。在第k+2次的学习处理中,也仅对第l-1个和第l个的层的权重系数wl-1,wl进行量化。因此,通过第k+2次的学习处理,第l-1个和第l个的层的权重系数分别成为q(wl-1k+2),q(wlk+2),第1个~第l-2个的层的权重系数成为w1k+2~wl-2k+2。之后,反复进行k次的仅对第l-1个和第l个的层的权重系数wl-1,wl进行了量化的学习处理。通过第2k次的学习处理,第l-1个和第l个的层的权重系数分别成为q(wl-12k),q(wl2k),第1个~第l-2个的层的权重系数成为w12k~wl-22k

以下,以同样的方式沿层的排列顺序的反向逐一地依次进行量化而执行学习处理。这样,也可以不朝向层的排列顺序的正向而朝向反向进行量化。并且,也可以按照除了层的排列顺序的正向或反向以外的顺序进行量化。例如,也可以按照“第1个的层→第5个的层→第3个的层→第2个的层……”这样的顺序进行量化。

图6是示出学习模型的精度的图。在图6的例子中,说明利用针对教师数据的错误率(不正解率)作为精度的情况。示出了(1)没有对权重系数wi进行量化的学习模型(图2的学习模型)、(2)对全部层一次进行量化而得到的学习模型(图3的学习模型)、(3)沿层的正向逐一地进行量化而得到的学习模型(图4的学习模型)和(4)沿层的反向逐一地进行量化而得到的学习模型(图5的学习模型)的4个学习模型。

如图6所示,由于(1)的学习模型没有进行量化而详细地表示权重系数wi,所以精度最高。但是,如上所述,(1)的学习模型需要用浮点数等表现权重系数wi,因此,数据大小最大。另一方面,(2)的学习模型对权重系数wi进行了量化,所以数据大小减小,但是,由于对全部层一次进行了量化,所以精度最低。

(3)的学习模型和(4)的学习模型对权重系数wi进行了量化,所以数据大小减小,成为与(2)的学习模型相同或大致相同的数据大小。但是,通过不对全部层一次进行量化而对各层逐渐进行量化,能够抑制学习模型的精度的降低。基于量化的数据大小的减小与学习模型的精度处于折衷的关系,在本实施方式中,通过对各层逐渐进行量化,将学习模型的精度的降低抑制为最低限度。

另外,在图6的例子中,(4)的学习模型的精度比(3)的学习模型高,但是,(3)的学习模型的精度也有时根据教师数据的内容或层数等条件的不同而比(4)的学习模型高。此外,例如,相比于沿正向或反向进行量化的学习模型,按照其他顺序进行量化的学习模型的精度也有时更高。但是,无论是何种顺序,逐一地进行量化的学习模型的精度比对全部层一次进行量化的(2)的学习模型高。

如上所述,本实施方式的学习系统s通过对层逐一地进行量化而不对全部层一次进行量化而执行学习处理,将学习模型的精度的降低抑制为最低限度,并减小学习模型的数据大小。之后,说明学习系统s的详细内容。另外,在以下的说明中,在无需特别参考附图时,省略参数、权重系数的标号。

[3.在学习系统中实现的功能]

图7是示出在学习系统s中实现的功能的一例的功能框图。如图7所示,在学习系统s中,实现数据存储部100、取得部101和学习部102。在本实施方式中,说明通过学习装置10实现这些各功能的情况。

[数据存储部]

数据存储部100基于存储部12来实现。数据存储部100存储执行在本实施方式中说明的处理所需的数据。此处,作为数据存储部100所存储的数据的一例,对教师数据集ds和学习模型m进行说明。

图8是示出教师数据集ds的数据存储例的图。如图8所示,在教师数据集ds中,存储有多个作为输入数据与标签的对的教师数据。在图8中,用表的形式表示教师数据集ds,各个记录相当于教师数据。另外,在图8中,用“狗”或“猫”等字符示出了标签,但是,也可以通过用于识别这些字符的符号或数值来表示。输入数据相当于针对学习模型m的问题,标签相当于回答。

此外,数据存储部100存储学习模型m的程序(算法)、参数等。此处,说明将通过教师数据集ds来学习完毕(参数的调整完毕)的学习模型m存储到数据存储部100中的情况,但是,学习前(参数的调整前)的学习模型m也可以存储到数据存储部100中。在以下的说明中,省略学习模型m的标号。

另外,数据存储部100所存储的数据不限于上述的例子。例如,数据存储部100也可以存储学习处理的算法(程序)。此外,例如,数据存储部100也可以存储要进行量化的层的顺序、时期数等设定信息。

[取得部]

取得部101基于控制部11来实现。取得部101取得使学习模型学习的教师数据。在本实施方式中,由于教师数据集ds存储到数据存储部100中,所以取得部101从数据存储部100所存储的教师数据集ds中取得至少一个教师数据。取得部101取得任意数量的教师数据即可,取得教师数据集ds的全部或一部分即可。例如,取得部101可以取得十个~几十个左右的教师数据,也可以取得几百个~几千个或更多的教师数据。另外,在教师数据集ds没有记录到除了学习装置10以外的其他计算机或信息存储介质中的情况下,取得部101从其他计算机或信息存储介质取得教师数据即可。

[学习部]

学习部102基于控制部11来实现。学习部102根据由取得部101所取得的教师数据,来反复执行学习模型的学习处理。如上所述,学习处理本身能够应用公知的方法,在本实施方式中,列举dnn的学习模型为例,因此,学习部102根据在dnn中利用的学习算法来反复执行学习处理即可。学习部102以能够得到教师数据表示的输入与输出的关系的方式调整学习模型的参数。

学习处理的反复次数(时期数)为预先确定的次数即可,例如,可以为几次~几百次左右,也可以为更多。反复次数记录到数据存储部100中。反复次数可以为固定值,也可以通过用户的操作来变更。例如,学习部102根据相同的教师数据,反复进行反复次数的学习处理。另外,在各学习处理中,也可以使用不同的教师数据。例如,在第2次的学习处理中,也可以使用在第1次的学习处理中没有使用的教师数据。

学习部102在对学习模型的一部分层的参数进行量化而执行学习处理以后,对学习模型的其他层的参数进行量化而执行学习处理。即,学习部102在仅对一部分层的参数进行量化、针对其他层的参数不进行量化的状态下执行学习处理,而不对全部层的参数一次进行量化而执行学习处理。在本实施方式中,说明对没有被量化的参数也进行调整的情况,但是,也可以将没有被量化的参数从调整对象中排除。然后,学习部102对没有进行量化的其他层的参数进行量化而执行学习处理。在本实施方式中,说明也对量化完毕的参数进行调整的情况,但是,也可以将量化完毕的参数从之后的调整对象中排除。

一部分层是被选择为量化对象的1个以上且小于l个的层。在本实施方式中,说明由于对层逐一地进行量化,所以一部分层为1个的情况,但是,一部分层也可以为多个。设为不对l个的全部层一次进行量化即可,例如,可以对每两个层进行量化,也可以对每三个层进行量化。此外,例如,作为量化对象的层的数量也可以如在对一个层进行量化以后对其他多个层进行量化这样发生变化。其他层是学习模型所具有的层中的、除了一部分层以外的层。其他层可以表示一部分层以外的全部层,也可以表示一部分层以外的层中的、一部分层。

在本实施方式中,由于对层逐渐进行量化,最终对全部层进行量化,所以学习部102直到对学习模型的全部层的参数进行量化为止,反复执行学习处理。例如,学习部102从还未进行量化的层中选择要进行量化的层,对该选择出的层的参数进行量化而执行学习处理。学习部102直到最终对全部层进行量化为止,反复要进行量化的层的选择和学习处理的执行。学习部102在对全部层的参数进行了量化的情况下,结束学习处理,确定学习模型的参数。所确定的参数为量化后的值,而不是浮点数等。

在本实施方式中,学习部102对学习模型的层逐一地进行量化。学习部102从还未进行量化的层中选择任意一个层,对该选择出的层的参数进行量化而执行学习处理。学习部102逐一地选择要进行量化的层,对l个的层逐渐进行量化。

量化的顺序也可以在学习算法中进行定义。在本实施方式中,作为从学习模型中按照规定的顺序依次选择要进行量化的层的学习算法的设定,将量化的顺序存储到数据存储部100中。学习部102根据规定的顺序,反复要进行量化的层的选择和学习处理的执行。

例如,在如图3那样从第1个的层到第l个的层沿正向(按照层的排列顺序的升序)进行量化的情况下,学习部102选择第1个的层作为要进行量化的层,执行k次的学习处理。即,学习部102在仅对第1个的层的参数p1进行量化、对第2个以后的层的参数p2~pl不进行量化的情况下,执行k次的学习处理。接着,学习部102选择第2个的层作为要进行量化的层,执行k次的学习处理。即,学习部102在对已经量化后的第1个的层和本次所选择的第2个的层进行量化、对第3个以后的层的参数p3~pl不进行量化的情况下,执行k次的学习处理。之后,学习部102直到第l个的层为止,沿层的排列顺序的正向各选择一个层,执行学习处理。

此外,例如,在如图4那样从第l个的层到第1个的层沿反向(按照层的排列顺序的降序)进行量化的情况下,学习部102选择第l个的层作为要进行量化的层,执行k次的学习处理。即,学习部102在仅对第l个的层的参数pl进行量化、对第1个~第l-1个的层的参数p1~pl-1不进行量化的情况下,执行k次的学习处理。接着,学习部102选择第l-1个的层作为要进行量化的层,执行k次的学习处理。即,学习部102在对已经量化后的第l个的层和本次所选择的第l-1个的层进行量化、不对第1个~第l-2个的层的参数p1~pl-2进行量化的情况下,执行k次的学习处理。之后,学习部102直到第1个的层为止,沿层的排列顺序的反向逐一地选择,执行学习处理。

另外,要进行量化的层的选择顺序也可以为任意的顺序,不限于层的排列顺序的正向或反向。例如,也可以如“第1个的层→第5个的层→第3个的层→第2个的层……”这样不是升序或者降序。此外,例如,最初被量化的层不限于第1个的层或第l个的层,也可以最初选择第3个的层等中间层。同样地,针对最后被量化的层,也不限于第1个的层或第l个的层,也可以对第3个的层等中间层最后进行量化。

此外,要进行量化的层的选择顺序也可以没有预先确定,学习部102也可以从学习模型中随机地依次选择要进行量化的层。例如,学习部102也可以利用rand函数等来产生随机数,根据随机数决定要进行量化的层的选择顺序。在该情况下,学习部102基于根据随机数来决定的选择顺序,依次选择要进行量化的层,执行学习处理。另外,学习部102可以将l个的层的选择顺序一次汇总起来决定,也可以在每次选择某一层时,随机地决定下一个要选择的层。

在本实施方式中,学习部102在对一部分层的参数进行量化而反复进行规定次数的学习处理以后,对其他层的参数进行量化而反复进行规定次数的学习处理。在本实施方式中,这些次数为k次,设为相互相同的次数,但是,反复次数也可以相互不同。例如,如果是图4的例子,则各层的反复次数也可以如以下这样不同:在对第1个的层进行量化而反复进行10次的学习处理以后,对第2个的层进行量化而反复进行8次的学习处理。

在本实施方式中,在各层的参数中包含权重系数,学习部102在对一部分层的权重系数进行量化而执行学习处理以后,对其他层的权重系数进行量化而执行学习处理。即,各层的参数中的、权重系数成为量化对象。在本实施方式中,针对偏置没有进行量化,但是,作为量化对象的参数也可以为偏置。此外,例如,权重系数和偏置双方也可以成为量化对象。此外,例如,在各层中存在除了权重系数和偏置以外的参数的情况下,其他参数也可以成为量化对象。

在本实施方式中,作为量化的一例,说明二值化,因此,学习部102在对学习模型的一部分层的参数进行二值化而执行学习处理以后,对学习模型的其他层的参数进行二值化而执行学习处理。学习部102通过对各层的参数与规定的阈值进行比较,进行参数的二值化。在本实施方式中,作为二值化的一例,说明将参数分类为-1或1的二值的情况,但是,也可以用0或1这样的其他值进行二值化。即,二值化只要将参数分类为任意的第1值和第2值即可。

[4.在本实施方式中执行的处理]

图9是示出在学习系统s中执行的处理的一例的流程图。控制部11依照存储部12所存储的程序来工作,由此执行图9所示的处理。下述说明的处理是由图7所示的功能框执行的处理的一例。

如图9所示,首先,控制部11取得教师数据集ds中包含的教师数据(s1)。在s1中,控制部11参考存储部12所存储的教师数据集ds,取得任意数量的教师数据。

控制部11根据规定的顺序,从还未进行量化的层中选择要进行量化的层(s2)。例如,在如图4那样沿层的排列顺序的正向进行量化的情况下,在s2中,控制部11最初选择第1个的层。此外,例如,在如图5那样沿层的排列顺序的反向进行量化的情况下,在s2中,控制部11最初选择第l个的层。

控制部11根据在s1中所取得的教师数据,对所选择的层的权重系数进行量化而执行学习处理(s3)。在s3中,控制部11以能够得到教师数据表示的输入与输出的关系的方式调整各层的权重系数。控制部11针对已经选择为量化对象的层,对权重系数进行量化。

控制部11判定是否反复进行k次的对所选择的层的权重系数进行了量化的学习处理(s4)。在s4中,控制部11判定在s2中选择层以后是否执行了k次的s3的处理。在没有判定为反复进行了k次的学习处理的情况下(s4;否),返回s3的处理,再次执行学习处理。之后,直到学习处理达到k次为止,反复进行s3的处理。

另一方面,在判定为反复进行了k次的学习处理的情况下(s4;是),控制部11判定是否存在还未进行量化的层(s5)。在本实施方式中,由于针对l个的层的各自设定有k次的时期数,所以在s5中,控制部11判定是否执行了合计lk次的学习处理。

在判定为具有还未进行量化的层的情况下(s5;是),返回s2的处理,选择下一层,执行s3和s4的处理。另一方面,在没有判定为存在还未进行量化的层的情况下(s5;否),控制部11将各层的所量化的权重系数决定为学习模型的最终权重系数(s6),本处理结束。在s6中,控制部11将学习模型记录到存储部12中,使学习处理完成,该学习模型将最新的所量化的权重系数设定在各层中。

根据以上所说明的学习系统s,通过在对学习模型的一部分层的参数进行量化而执行学习处理以后,对学习模型的其他层的参数进行量化而执行学习处理,能够抑制学习模型的精度的降低,并减小学习模型的数据大小。例如,在对学习模型的全部层一次进行了量化的情况下,参数所具有的信息量一次性地下降,因此,所量化的参数的精度也会一次性地下降。通过对学习模型的层逐渐进行量化而使信息量逐渐下降,能够防止信息量以这样的方式一致地下降,因此,能够防止所量化的参数的精度一致地下降,并将学习模型的精度的降低抑制为最低限度。换言之,在对学习模型的一部分层的参数进行量化而执行了学习处理的期间内,其他层的参数没有被量化而通过浮点数等正确地表现,因此,与对其他层的参数也进行了量化的情况相比,能够将所量化的参数决定为正确的值,并将学习模型的精度的降低抑制为最低限度。

此外,学习系统s通过直到学习模型的全部层的参数被量化为止,反复执行学习处理,能够对全部层的参数进行量化而压缩信息量,并进一步减小学习模型的数据大小。

此外,学习系统s通过对学习模型的层逐一地进行量化,逐渐推进各层的量化,能够有效地抑制学习模型的精度的降低。即,当一次性地推进各层的量化时,学习模型的精度有可能由于上述的理由而一次性地降低,但是,通过逐一地推进量化,能够防止学习模型的精度一次性地降低,将学习模型的精度的降低抑制为最低限度。

此外,学习系统s通过从学习模型中按照规定的顺序依次选择要进行量化的层,能够按照符合学习模型的生成者的意愿的顺序执行量化。例如,在学习模型的生成者发现了抑制精度的降低的顺序的情况下,通过根据生成者所指定的顺序来选择要进行量化的层,能够生成将精度的降低抑制为最低限度的学习模型。

此外,学习系统s通过从学习模型中随机地依次选择要进行量化的层,即使学习模型的生成者没有特别指定顺序,也能够执行学习处理。

此外,学习系统s通过在对一部分层的参数进行量化而反复进行规定次数的学习处理以后,对其他层的参数进行量化而反复进行规定次数的学习处理,能够将所量化的参数设定为更正确的值,并有效地抑制学习模型的精度的降低。

此外,学习系统s通过在对一部分层的权重系数进行量化而执行学习处理以后,对其他层的权重系数进行量化而执行学习处理,能够抑制学习模型的精度的降低并减小学习模型的数据大小。例如,通过对信息量容易因浮点数等而增加的权重系数进行量化,能够更加减小学习模型的数据大小。

此外,学习系统s在对学习模型的一部分层的参数进行二值化而执行学习处理以后,对学习模型的其他层的参数进行二值化而执行学习处理,通过在数据大小的压缩中利用有效的二值化,能够更加减小学习模型的数据大小。

[5.变形例]

另外,本发明不限于以上所说明的实施方式。能够在不脱离本发明的主旨的范围内适当地变更。

图10是变形例的功能框图。如图10所示,在以下说明的变形例中,除了在实施方式中说明的功能以外,还可实现模型选择部103和其他模型学习部104。

(1)例如,如在实施方式中说明的那样,学习模型的精度有时根据选择要进行量化的层的顺序而不同。因此,在不知道按照何种顺序进行量化时精度最高的情况下,也可以根据多个顺序生成多个学习模型,最终选择精度相对较高的学习模型。

本变形例的学习部102根据多个顺序的每一个顺序来依次选择要进行量化的层,生成多个学习模型。这里的多个可以是l个的层的全部序列组合,也可以仅是一部分的组合。例如,如果层数是5个左右,则也可以按照全部序列生成学习模型,但是,如果层数是10个以上,则由于全部序列组合增加,所以,仅针对一部分的顺序生成学习模型。多个顺序可以预先指定,也可以随机地生成。

学习部102按照每个顺序,以该顺序对层依次进行量化而生成学习模型。各个学习模型的生成方法本身如在实施方式中所说明的那样。在本变形例中,顺序的数量与所生成的学习模型的数量一致。即,顺序与学习模型一对一地对应。例如,当具有m个(m:2以上的自然数)的顺序时,学习部102生成m个的学习模型。

本变形例的学习系统s包含模型选择部103。模型选择部103基于控制部11来实现。模型选择部103根据各学习模型的精度,选择多个学习模型中的至少一个学习模型。

学习模型的精度本身通过公知的方法进行评价即可,在本变形例中,说明利用针对教师数据的错误率(不正解率)的情况。错误率是与正解率相反的概念,在向学习完毕的学习模型输入了在学习处理中所利用的全部教师数据的情况下,错误率是来自学习模型的输出与教师数据所表示的输出(正解)不一致的比例。错误率越低,学习模型的精度越高。

模型选择部选择多个学习模型中的、精度相对较高的学习模型。模型选择部可以仅选择一个学习模型,也可以选择多个学习模型。例如,模型选择部选择多个学习模型中的、精度最高的学习模型。另外,模型选择部也可以不选择精度最高的学习模型,而选择精度第2高或第3高的学习模型。此外,例如,模型选择部也可以选择多个学习模型中的、精度为阈值以上的学习模型中的任意一个学习模型。

根据变形例(1),根据多个顺序的每一个顺序来依次选择要进行量化的层而生成多个学习模型,根据各学习模型的精度来选择多个学习模型中的至少一个学习模型,由此,能够有效地抑制学习模型的精度的降低。

(2)此外,例如,在变形例(1)中,也可以将精度相对较高的学习模型的顺序沿用于其他学习模型的学习。在该情况下,在其他学习模型的学习时,即使不尝试多个顺序,也能够生成精度较高的学习模型。

本变形例的学习系统s包含其他模型学习部104。其他模型学习部104基于控制部11来实现。其他模型学习部104根据与由模型选择部103选择出的学习模型对应的顺序,执行其他学习模型的学习处理。与学习模型对应的顺序是指在生成学习模型时所利用的层的选择顺序。其他学习模型是与学习完毕的学习模型不同的模型。其他学习模型可以使用与学习完毕的学习模型相同的教师数据,也可以使用不同的教师数据。

其他学习模型的学习按照与学习完毕的学习模型相同的流程来执行即可。即,其他模型学习部104根据教师数据,反复执行其他学习模型的学习处理。其他模型学习部104按照与由模型选择部103选择出的学习模型对应的顺序,对其他学习模型的层依次进行量化而执行学习处理。各个学习处理本身如在实施方式的学习部102中所说明的那样。

根据变形例(2),通过根据与精度相对较高的学习模型对应的顺序来执行其他学习模型的学习处理,能够使其他学习模型的学习处理高效化。例如,在生成其他学习模型时,即使不尝试多个顺序,也能够生成精度较高的学习模型。其结果,能够减轻学习装置10的处理负荷,并迅速地生成精度较高的学习模型。

(3)此外,例如,也可以组合上述变形。

此外,例如,说明了对学习模型的全部层的参数进行量化的情况,但是,也可以在学习模型中存在没有成为量化的对象的层。即,用浮点数等表现参数的层与所量化的层也可以混合存在。此外,例如,说明了对学习模型的层逐一地进行量化的情况,但是,也可以对每多个层进行量化。例如,也可以对学习模型的每2个层或者每3个层进行量化。此外,例如,也可以对偏置其他参数而不对权重系数等进行量化。此外,例如,量化不限于二值化,只要是能够减少参数的信息量(比特数)的量化即可。

此外,例如,在学习系统s中,也可以包含多个计算机,通过各计算机分担功能。例如,也可以是,选择部101和学习部102通过第1计算机来实现,模型选择部103和其他模型学习部104通过第2计算机来实现。此外,例如,数据存储部100也可以通过位于学习系统s的外部的数据库服务器等来实现。

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