掌桥专利:专业的专利平台
掌桥专利
首页

机器学习装置

文献发布时间:2024-04-18 20:02:40


机器学习装置

技术领域

本公开涉及一种机器学习装置。

背景技术

近年来,对AI(人工智能)技术的关注日益增加。通常,利用诸如神经网络的各种模型的机器学习推断在AI技术中是众所周知的(对于神经网络,例如参见专利文献1)。

引文列表

专利文献

专利文献1:JP-A-H08-87484

发明内容

技术问题

这里,当将机器学习装置配置为执行机器学习推断时,期望设计具有减小的电路尺寸和成本的装置。

鉴于上述情况,本公开的目的是提供一种实现电路尺寸的减小的机器学习装置。

问题的解决方案

例如,根据本公开,一种机器学习装置包括数据转换单元、机器学习推断单元和计算电路单元,所述数据转换单元被配置为将输入到其的时间序列数据转换为频率特征量数据,所述机器学习推断单元被配置为基于所述频率特征量数据执行机器学习推断,所述计算电路单元被配置为由所述数据转换单元和所述机器学习推断单元共同使用。

本发明的有益效果

根据依据本公开的机器学习装置,可以实现电路尺寸的减小。

附图说明

图1是示出根据本公开的示例性实施例的机器学习装置的功能配置的框图。

图2是示出计算电路单元的配置示例的示意图。

图3是示出运算器的配置示例的示意图。

图4是示出机器学习装置的第一配置示例的示意图。

图5是示出机器学习装置的第二配置示例的示意图。

图6是示出神经网络的配置示例的示意图。

图7是示出全连接层的配置的示意图。

图8是示出ReLU作为激活函数的示例的示意图。

图9是示出S形函数(sigmoid function)作为激活函数的示例的示意图。

图10是示出神经网络的其他配置示例的示意图。

图11是示出根据修改示例的机器学习装置的配置的示意图。

图12是示出流水线计算处理的示例的示意图。

图13是示出机器学习装置的第一应用示例的示意图。

图14是示出机器学习装置的第二应用示例的示意图。

具体实施方式

在下文中,将参考附图描述本公开的示例性实施例。

<1.机器学习装置的配置>

图1是示出根据本公开的示例性实施例的机器学习装置的功能配置的框图。图1所示的机器学习装置1包括数据转换单元2、机器学习推断单元3和计算电路单元4。

数据转换单元2执行转换处理,以将从机器学习装置1的外部输入到其的时间序列数据D1转换为频率特征量数据D2。频率特征量数据D2是指示时间序列数据D1的频率特征量的数据。在上述转换处理中使用的是例如哈达马德(Hadamard)变换、离散傅里叶变换、离散余弦变换等。

机器学习推断单元3以频率特征量数据D2作为输入执行机器学习推断,并且输出推断结果。使用诸如神经网络、多元回归分析等的推断模型执行机器学习推断。在机器学习推断中使用时间序列数据D1的情况下,可以通过在数据转换单元2的转换处理中执行预处理来改善机器学习推断的准确性。

计算电路单元4是由数据转换单元2和机器学习推断单元3两者共同使用的计算电路。具体地,数据转换单元2通过使用计算电路单元4的计算处理来执行转换处理,并且机器学习推断单元3通过使用由计算电路单元4执行的计算处理来执行机器学习推断。因此,通过使计算电路单元4公共化,在机器学习装置1中实现了电路尺寸的减小。

<2.计算电路单元的配置>

图2是示出计算电路单元4的配置示例的示意图。如图2所示,计算电路单元4包括运算器40。运算器40基于输入到其的第一计算输入A和第二计算输入B执行计算处理,并且输出计算输出C作为计算结果。

第一计算输入A和第二计算输入B均至少是矩阵、向量或标量。可以允许至少第一计算输入A或第二计算输入B从与要执行的计算处理相对应的矩阵、向量和标量中的两个或更多个选择。此外,可以允许从与要执行的计算处理相对应的两种或更多种计算方法(例如,乘法(乘积)、最大值输出、最小值输出等)选择运算器40的计算方法。

作为示例,在数据转换单元2的转换处理中,选择矩阵作为第一计算输入A,选择向量作为第二计算输入B,选择乘法作为运算器40的计算方法,并且输出计算输出C=AB。另一方面,在机器学习推断单元3的机器学习推断中,作为示例,可以执行其中选择矩阵或向量作为第一计算输入A、选择向量作为第二计算输入B、选择乘法作为运算器40的计算方法并且输出计算输出C=AB的计算处理和其中选择向量作为第一计算输入A和第二计算输入B中的每一个、选择最大值输出作为运算器40的计算方法,并且输出计算输出C=max(A,B)的计算处理。

此外,对应于要执行的计算处理,在至少第一计算输入A或第二计算输入B中,至少矩阵或向量的大小可以是可变的。作为示例,在数据转换单元2的处理和机器学习推断单元3的处理中,为矩阵的第一计算输入A的大小和为向量的第二计算输入B的大小是可变的。

图3是示出运算器40的配置示例的示意图。图3所示的运算器40包括例如加法器40A、减法器40B、乘法器40C、MAX运算器40D和MIN运算器40E。MAX运算器40D执行输出输入值中的最大值的计算。MIN运算器40E执行输出输入值中的最小值的计算。

可以经由对包括在运算器40中的运算器的选择来选择运算器40的计算方法。例如,通过选择加法器40A、减法器40B和乘法器40C,可以选择第一计算输入A和第二计算输入B的乘法。通过选择MAX运算器40D或MIN运算器40E,可以选择第一计算输入A和第二计算输入B的最大值输出或最小值输出。

注意,图3所示的配置仅仅是示例,并且可以部分地省略图3所示的运算器,或可以提供除了图3所示的运算器之外的运算器(例如,输出绝对值的运算器)。

可以使在数据转换单元2的处理和机器学习推断单元3的处理中执行的运算器40的计算中使用的运算器(例如,加法器40A和减法器40B)公共化,并且因此可以减小计算电路单元4的电路尺寸。

<3.机器学习装置的第一配置示例>

图4是示出机器学习装置1的第一配置示例的示意图。图4示出了其中进一步指定图1所示的前述功能配置的配置示例。

根据图4所示的第一配置示例的机器学习装置1包括集成在机器学习装置1中的计算电路单元4、CPU(中央处理单元)5、RAM(随机存取存储器)6、ROM(只读存储器)7和输入/输出单元(I/O)8,并且该机器学习装置1被配置为MCU(微控制单元)。

CPU 5是根据存储在ROM 7中的程序操作的处理器。RAM 6是其中临时存储数据的存储器。在RAM 6中例如存储CPU 5的计算结果、时间序列数据D1、计算电路单元4的计算结果等。在ROM 7中存储由CPU 5执行的程序等。例如,输入/输出单元8接收从外部输入到其的时间序列数据D1,并且输出机器学习推断的结果。

CPU 5执行存储在ROM 7中的程序,并且由此控制计算电路单元4。也就是说,通过软件处理来控制计算电路单元4。例如,CPU 5执行选择第一计算输入A和第二计算输入B的类型和大小的控制、选择要由运算器40执行的计算方法的控制等。通过计算电路单元4、CPU5、RAM 6和ROM 7,在功能上实施数据转换单元2和机器学习推断单元3(图1)。

根据该第一配置示例,与通过由CPU执行的计算来执行数据转换和机器学习推断的情况相比,可以同时实现更高的计算速度和更低的功耗。

<4.机器学习装置的第二配置示例>

图5是示出机器学习装置1的第二配置示例的示意图。图5示出了进一步指定图1所示的前述功能配置的配置示例。

根据图5所示的第二配置示例的机器学习装置1包括集成在机器学习装置1中的计算电路单元4和控制电路9。控制电路9包括存储器9A。在存储器9A中例如存储时间序列数据D1、计算电路单元4的计算结果等。控制电路9被配置为能够执行与机器学习装置1外部的通信10。

控制电路9基于通信10控制计算电路单元4。例如,控制电路9执行选择第一计算输入A和第二计算输入B的类型和大小的控制、选择要由运算器40执行的计算方法的控制等。通过计算电路单元4和控制电路9,在功能上实施了数据转换单元2和机器学习推断单元3(图1)。

<5.数据转换单元的处理>

对于数据转换单元2中的数据转换处理,可以使用各种处理方法。

作为上述的数据转换处理,例如,可以适宜地使用哈达马德变换。通过哈达马德矩阵和输入向量的乘积来执行哈达马德变换。这里,可以递归地获得2

在由计算电路单元4执行哈达马德变换时,第一计算输入A是哈达马德矩阵,第二计算输入B是为时间序列数据D1的输入向量,并且执行C=AB的计算,通过该C=AB的计算可以获得计算输出C作为频率特征量数据D2。哈达马德矩阵的元素仅是+1或-1。因此,运算器40能够仅通过加法器40A和减法器40B的计算来实施A和B的乘法(乘积)。

因此,利用用于数据转换单元2中的转换处理的哈达马德变换,不需要提供执行离散傅里叶变换等中所需的诸如三角函数等复杂运算的运算器。

注意,在将离散傅立叶变换、离散余弦变换等用于数据转换单元2中的数据转换处理的情况下,如果预先提供由用于转换的矩阵中的三角函数表示的元素的值的表,则不需要提供三角函数运算器。设第一计算输入A为上述矩阵,并且设第二计算输入B为输入向量,则离散傅立叶变换或离散余弦变换可以由A与B的乘积来执行。

<6.机器学习推断单元的处理>

可以通过使用各种推断模型来执行机器学习推断单元3中的推断处理。例如,可以使用神经网络作为推断模型。

图6是示出神经网络的配置示例的示意图。图6所示的神经网络包括为第一层的输入层、最后一层的输出层、以及设置在输入层和输出层之间的多个中间(隐藏)层。

神经网络的各层均包括节点。中间层和输出层中的每一个中的每个节点均连接到前一层中的所有节点,从而在每个层之间形成全连接层。作为输入层中的数据,使用频率特征量数据D2。

图7是示出全连接层的配置的示意图。如图7所示,全连接层包括矩阵乘积计算单元11和激活函数12。

矩阵乘积计算单元11计算权重矩阵W

X

通过选择计算电路单元4的运算器40中的加法器40A、减法器40B和乘法器40C来执行在矩阵乘积计算单元11中执行的计算,其中权重矩阵W

作为激活函数12,例如使用ReLU(修正线性单元)。ReLU由以下表达式来表示,并且如图8所示。

其中x表示向量的元素。

通过选择运算器40中的MAX运算器40D来实施ReLU的计算。MAX运算器40D通过max(a,b)执行计算,以输出a和b中的更大者(最大值)。在f(x)=max(x,0)的情况下,可以执行ReLU的计算。

此外,例如,可以使用S形函数作为激活函数12。S形函数由以下表达式来表示,并且如图9所示。

通过选择运算器40中的乘法器40C、加法器40A、MAX运算器40D和MIN运算器40E来实施S形函数的计算。MIN运算器40E通过min(a,b)执行计算,以输出a和b中的更小者(最小值)。在f(x)=min(max(0.25x+0.5,0),1)的情况下,可以执行S形函数的计算。

图10是示出神经网络的另一配置示例的示意图。图10所示的神经网络包括输入层、设置在输入层的后级上的卷积层、设置在卷积层的后级上的池化层、设置在池化层的后级上的全连接层、以及设置在全连接层的后级上的输出层。全连接层可以是单个全连接层或可以包括多个全连接层。

首先,在卷积层中,关于输入到输入层的整个输入图像执行滤波处理。卷积层由权重和对应于部分区域的输入图像数据的乘积以及激活函数构成。注意,通过移位部分区域来执行处理。因此,通过选择乘法器40C、加法器40A、减法器40B和MAX运算器40D(在激活函数是S形函数的情况下,还选择MIN运算器40E)来实施由运算器40在卷积层中执行的计算。

然后由池化层处理已经在上述卷积层中经过处理的图像。池化层从经过上述处理的图像中的部分区域输出一个值。注意,通过移位部分区域来执行处理。例如,在池化层是最大池化层的情况下,它执行计算以输出部分区域中的每个像素数据的最大值。

注意,机器学习推断单元3中的推断处理不限于神经网络,并且可以通过使用由线性变换来表示或近似的其他模型(诸如多元回归分析和PCA(主成分分析))来执行。

<7.机器学习装置的修改示例>

图11是示出根据修改示例的机器学习装置1的配置的示意图。除了前述配置(图1)之外,图11所示的机器学习装置1还提供有学习单元13。学习单元13更新机器学习推断单元3中的模型的参数。计算电路单元4由数据转换单元2、机器学习推断单元3和学习单元13共同使用。

例如,在机器学习推断单元3中的模型是神经网络的情况下,根据通常用于神经网络学习的梯度下降,权重矩阵W被更新如下。这里,

其中,w

在神经网络模型被定义为Y=W·X并且损失函数被定义为L=(1/2)|Y-Y’|

其中Y’表示训练数据,并且X

因此,学习单元13可以通过选择计算电路单元4中的运算器40中的加法器40A、减法器40B和乘法器40C来根据上述更新表达式执行计算。以这种方式,即使在提供学习单元13的情况下,也可以通过使计算电路单元4公共化来抑制电路尺寸的增加。

<8.计算处理的流水线化>

计算电路单元4中的计算处理可以以下方式流水线化。这里,将通过以第一配置示例(图4)的先前描述的机器学习装置1为示例给出描述。计算处理例如被分成如下所述的四个步骤。

(第一步骤)CPU 5计算用于从RAM 6读取第一计算输入A和第二计算输入B的存储器地址、用于将计算输出C写入到RAM 6的存储器地址、以及用于从RAM 6读取运算器40(OP)的选择信息的存储器地址。

(第二步骤)从所计算的存储器地址读取A、B和运算器40的选择信息。

(第三步骤)执行计算(C=A OP B)。

(第四步骤)C被写入所计算的存储器地址。

并且,如图12所示,执行计算处理的流水线化。在图12中,在计算处理1中,按顺序执行第一至第四步骤。在计算处理1中的第二步骤开始时,开始计算处理2中的第一步骤,并且执行到第四步骤的后续步骤。在计算处理2中的第二步骤开始时,开始计算处理3中的第一步骤,并且执行到第四步骤的后续步骤。在计算处理3中的第二步骤开始时,开始计算处理4中的第一步骤,并且执行到第四步骤的后续步骤。

以这种方式,通过计算处理的并行执行,可以提高吞吐量。注意,如果第二步骤和第四步骤不能被同时执行(通常是这种情况),则第二步骤和第四步骤以交错的方式被执行。

<9.机器学习装置的应用示例>

这里描述的是根据本公开的机器学习装置1的优选应用目标的示例。图13是示出机器学习装置1的第一应用示例的示意图。在图13所示的配置中,传感器15固定到马达14,并且振动数据从传感器15输入到机器学习装置1。振动数据是时间序列数据D1的示例。传感器15由例如加速度传感器、陀螺仪传感器等构成。

根据该配置,指示马达14的振动状态的振动数据被输入到机器学习装置1以转换为频率特征量数据D2,并且然后基于该频率特征量数据D2执行机器学习推断。这使得可以推断马达14的状态,诸如马达14的停止状态、异常振动状态和其他状态。

图14是示出机器学习装置1的第二应用示例的示意图。在图14所示的配置中,传感器16固定到人体P,并且振动数据从传感器16输入到机器学习装置1。根据该配置,在指示人体P的振动状态的振动数据被输入到机器学习装置1以被转换为频率特征量数据D2之后,基于频率特征量数据D2执行机器学习推断。这使得可以推断人体P的状态,诸如人体P的站立状态、行走状态和其他状态。

<10.其他>

注意,根据本公开的各种技术特征可以以除上述实施例之外的任何其他方式实施,并且允许在不脱离其技术独创性的情况下进行任何修改。也就是说,应当认为上述实施例在所有方面都是说明性的而不是限制性的,并且应当理解,本发明的技术范围不限于上述实施例的描述,并且涵盖权利要求和与权利要求等同的含义范围内的所有修改。

<11.补充注释>

如上所述,例如,根据本公开,一种机器学习装置(1)包括:数据转换单元(2)、机器学习推断单元(3)和计算电路单元(4),所述数据转换单元(2)被配置为将输入到所述数据转换单元(2)的时间序列数据(D1)转换为频率特征量数据(D2),所述机器学习推断单元(3)被配置为基于所述频率特征量数据执行机器学习推断,所述计算电路单元(4)被配置为由所述数据转换单元和所述机器学习推断单元共同使用(第一配置)。

此外,在上述第一配置中,所述计算电路单元(4)可以被配置为能够通过使用被配置为基于第一计算输入(A)和第二计算输入(B)输出计算输出的运算器(40)来执行计算,并且所述机器学习装置(1)可以包括控制单元(5、9),所述控制单元(5、9)被配置为能够执行至少选择所述第一计算输入或所述第二计算输入中的至少一个的类型或大小的第一控制、以及选择要由所述运算器执行的计算方法的第二控制(第二配置)。

此外,在上述第二配置中,所述类型可以是矩阵、向量和标量中的至少两个(第三配置)。

此外,在上述第二或第三配置中,所述控制单元可以是被配置为通过执行程序来执行所述第一控制和所述第二控制的处理器(5)(第四配置)。

此外,在上述第二或第三配置中,所述控制单元可以是被配置为基于与所述机器学习装置的外部的通信来执行所述第一控制和所述第二控制的控制电路(9)(第五配置)。

此外,在上述第一至第五配置中的任何一个中,所述数据转换单元(2)可以被配置为通过所述计算电路单元(4)通过使用加法器(40A)和减法器(40B)计算哈达马德矩阵和输入向量的乘积而经由哈达马德变换将所述时间序列数据(D1)转换为所述频率特征量数据(D2)(第六配置)。

此外,在上述第一至第五配置中的任何一个中,所述数据转换单元(2)可以被配置为通过所述计算电路单元(4)计算具有作为表值的三角函数值的转换矩阵和输入向量的乘积而经由离散傅里叶变换或离散余弦变换将所述时间序列数据(D1)转换为所述频率特征量数据(D2)(第七配置)。

此外,在上述第一至第七配置中的任何一个中,所述机器学习推断单元(3)可以被配置为通过使用神经网络来执行机器学习推断,所述神经网络可以包括全连接层,并且所述计算电路单元(4)可以被配置为在所述全连接层中执行计算(第八配置)。

此外,在上述第八配置中,所述计算电路单元(4)可以被配置为在所述全连接层中计算权重矩阵和输入向量的乘积(第九配置)。

此外,在上述第八或第九配置中,所述计算电路单元(4)可以被配置为在所述全连接层中经由输出a和b中的哪一个更大的max(a,b)执行激活函数f(x)=max(x,0)的计算(第十配置)。

此外,在上述第八或第九配置中,所述计算电路单元(4)可以被配置为在所述全连接层中经由输出a和b中的哪一个更大的max(a,b)以及输出a和b中的哪一个更小的min(a,b)来执行激活函数f(x)=min(max(0.25x+0.5,0),1)的计算(第十一配置)。

此外,在上述第一至第十一配置中的任何一个中,还可以包括学习单元(13),所述学习单元(13)被配置为执行所述机器学习推断单元(3)的机器学习,并且所述计算电路单元(4)可以被配置为由所述数据转换单元(2)、所述机器学习推断单元和所述学习单元共同使用(第十二配置)。

此外,在上述第一至第十二配置中的任何一个中,所述计算电路单元(4)可以被配置为能够通过使用被配置为基于第一计算输入(A)和第二计算输入(B)输出计算输出(C)的运算器(40)来执行计算,由所述计算电路单元执行的计算处理可以包括计算所述第一计算输入、所述第二计算输入、所述计算输出和关于所述运算器的数据中的每一个存储在何处的存储器地址的第一步骤,从所述存储器地址读取所述第一计算输入、所述第二计算输入和关于所述运算器的所述数据中的每一个的第二步骤,基于所述第一计算输入、所述第二计算输入和所述运算器执行计算的第三步骤,以及将所述计算输出写入到所述存储器地址的第四步骤,并且所述计算处理的后续执行中的第一步骤可以在所述计算处理完成之前开始(第十三配置)。

此外,在上述第一至第十三配置中的任何一个中,所述机器学习装置(1)可以被配置为能够将从传感器(15、16)输入到所述机器学习装置(1)的振动数据作为所述时间序列数据(D1)。

工业实用性

本公开可以用于例如基于各种时间序列数据的机器学习推断中。

附图标记列表

1 机器学习装置

2 数据转换单元

3 机器学习推断单元

4 计算电路单元

5 CPU

6 RAM

7 ROM

8 输入/输出单元

9 控制电路

9A 存储器

10 通信

11 矩阵乘积计算单元

12 激活功能

13 学习单元

14 马达

15、16 传感器

40 运算器

40A 加法器

40B 减法器

40C 乘法器

40D MAX运算器

40E MIN运算器

P 人体。

相关技术
  • 机器学习装置、数值控制装置、数值控制系统以及机器学习方法
  • 机器学习装置、机器学习系统以及机器学习方法
  • 机器学习装置、机器人系统以及机器学习方法
  • 控制装置以及机器学习装置
  • 部件供给装置以及机器学习装置
  • 光转换层、太阳能电池和用电装置
  • 机器学习装置、滑动面诊断装置、推论装置、机器学习方法、机器学习程序、滑动面诊断方法、滑动面诊断程序、推论方法及推论程序
技术分类

06120116586043