技术领域
[0001] 本发明关于分类模型生成装置及其分类模型生成方法。具体而言,本发明的分类模型生成装置结合聚类(clustering)算法,以端对端(end-to-end)的方式来辅助训练用于分类的深度学习模型,以生成一分类模型。
相关背景技术
[0002] 随着科技的快速发展,机器学习及深度学习已成为目前科技研究的主流,且被广泛的应用在各种领域,例如:计算机视觉、影像分析、侦测辨识等。举例而言,目前穿戴式装置大多装载着移动传感器(motion sensor)(例如:重力传感器),因此穿戴式装置可针对用户的动作进行辨识,以进行相应的操作。
[0003] 然而,分类一直是深度学习领域中基础且重要的问题,即使分类模型逐渐多元化,提升分类的准确度始终是一大目标。有鉴于此,如何训练用于分类的深度学习模型,以提升分类的准确度,乃是业界亟待解决的问题。
具体实施方式
[0023] 以下将通过实施例来解释本发明内容,本发明的实施例并非用以限制本发明须在如实施例所述的任何特定的环境、应用或特殊方式方能实施。因此,关于实施例的说明仅为阐释本发明的目的,而非用以限制本发明。需说明者,以下实施例及附图中,与本发明非直接相关的元件已省略而未绘示,且附图中各元件间的尺寸关系仅为求容易了解,并非用以限制实际比例。
[0024] 本发明第一实施例请参考图1及图2。图1是描绘本发明分类模型生成装置1的示意图。图2是描绘本发明分类模型生成装置1进行深度学习模型训练的示意图。分类模型生成装置1包含一存储器11及一处理器13。分类模型生成装置1可为一云端服务器、一个人计算机或任一具有运算处理能力的装置。基于说明简化的原则,分类模型生成装置1的其它元件,例如:网络接口、壳体、电源模块等与本发明较不相关的元件,皆于图中省略而未绘示。
[0025] 处理器13电性连结至存储器11。处理器13可为各种处理器、中央处理单元、微处理器、数字信号处理器或本发明本领域的技术人员所知的其他可进行机器学习或深度学习的计算装置。存储器11存储多个训练数据TD及一深度学习模型DLM。该多个训练数据TD可经由传输接口(例如:有线传输接口或无线传输接口)自一装置(例如:穿戴式装置)所获得。深度学习模型DLM可为一卷积神经网络(Convolutional Neural Network;CNN)模型、一循环神经网络(RNN:Recurrent Neural Network)及其组合其中之一(但不限于此)。
[0026] 深度学习模型DLM的神经网络可区分为二部分,即特征撷取网络FEN及分类网络CFN。特征撷取网络FEN主要用以撷取特征向量,以及分类网络CFN主要用以对特征向量进行分类。以CNN模型作为举例说明,特征撷取网络FEN可包含至少一卷积(convolution)层及至少一采样(subsampling)层(亦称作池化(pooling)层),以及分类网络CFN可包含全连接(fully connected)层。由于本领域的技术人员可了解各种用于分类的深度学习模型皆可套用至本发明,并了解该多个深度学习模型如何撷取特征向量及对特征向量进行分类,故在此不针对其细节加以赘述。
[0027] 处理器13将该多个训练数据TD输入至深度学习模型DLM中。接着,处理器13可自深度学习模型TD,撷取对应至该多个训练数据TD的多个特征向量FV,以及对应至该多个训练数据TD的多个分类结果CFS。各分类结果CFS是以一分类向量所表示,以及分类向量中具有最大数值的元素用以判断分类向量可被标示为哪个类别(即,分类结果CFS所对应的训练数据TD及特征向量FV属于哪个类别)。本领域的技术人员可了解类别的数量可依实际应用所需而设定。不同于先前技术,本发明为提升分类的准确度引入一聚类算法,以对该多个特征向量FV进行聚类,来辅助训练用于分类的深度学习模型DLM。聚类算法可为一K-均值(K-means)算法,但不限于此。因此,于撷取该多个特征向量FV后,处理器13基于聚类算法,将该多个特征向量FV划分为多个群组(例如:图2所示的群组G1-G5)。
[0028] 随后,基于该多个群组,处理器13建立该多个特征向量FV的一聚类损失函数LClustering。举例而言,聚类损失函数LClustering可基于一均方误差(mean squared error)函数所建立,如下表示:
[0029]
[0030] 其中,xi为第i个特征向量FV,λi为xi所属的群组,以及 为xi对应的群组λi中所有的特征向量FV的中心位置。
[0031] 接着,基于该多个分类结果CFS,处理器13更建立该多个特征向量FV的一向中心集中损失函数LCenter。举例而言,向中心集中损失函数LCenter亦可基于均方误差函数所建立,如下表示:
[0032]
[0033] 其中,xi为第i个特征向量FV,yi为xi的分类结果CFS且可对应至一类别,以及Cyi为xi对应的类别(即,yi对应的类别)中所有的特征向量FV的中心位置。
[0034] 此外,根据分类结果,处理器13更建立该多个分类结果CFS的一分类损失函数LCE。举例而言,分类损失函数LCE可基于一交叉熵误差(cross entropy error)函数所建立,如下表示:
[0035]
[0036] 其中,m为样本总数(即,该多个训练数据TD的总数或该多个特征向量FV的总数),yi为xi的分类结果CFS,以及 为yi对应至各类别的机率向量。
[0037] 上述聚类损失函数LClustering、向中心集中损失函数LCenter及分类损失函数LCE的范例仅用以说明该多个损失函数可基于何种函数所建立并非用以限制本发明。于建立该多个损失函数后,处理器13将聚类损失函数LClustering乘上一第一权重w1、向中心集中损失函数LCenter乘上一第二权重w2及分类损失函数LCE乘上一第三权重w3后的一总和作为一整体损失函数LTotal,如下表示:
[0038] LTotal=w1·LClustering+w2·LCenter+w3·LCE。
[0039] 之后,处理器13基于一反向传播算法,针对深度学习模型DLM的多个参数(亦有称作超参数),计算整体损失函数LTotal的一梯度,并基于该梯度,调整深度学习模型DLM的该多个参数。由于特征向量FV及分类结果CFS(即,分类向量)的各元素可以深度学习模型DLM的该多个参数作为变量来表示,故基于反向传播算法计算整体损失函数LTotal的梯度可决定深度学习模型DLM的该多个参数的调整方向。由于本领域的技术人员可基于前述说明了解本发明如何基于反向传播算法调整深度学习模型DLM的该多个参数,故在此不再加以赘述。
[0040] 于调整深度学习模型DLM的该多个参数后,处理器13重新将训练数据TD输入至已调整过参数的深度学习模型DLM,并重复执行前述操作,以最小化整体损失函数LTotal的函数值。最后,当整体损失函数LTotal的函数值已最小化时,处理器13基于该多个参数被调整后的深度学习模型DLM,生成一分类模型。如此一来,本发明所生成的分类模型即可用以辨识实际输入的数据。举例而言,分类模型用于穿戴式装置,且输入的数据为穿戴式装置的移动传感器(motion sensor)(例如:重力传感器)所产生的数据,则分类模型可针对用户的动作进行辨识。
[0041] 须说明者,本领域的技术人员可了解前述判断整体损失函数LTotal的函数值是否已最小化可基于实际实作方式而有各种判断依据。举例而言,当经过多次调整深度学习模型DLM的该多个参数,整体损失函数LTotal的函数值的变动已呈现收敛情况的时候,处理器13可判断整体损失函数LTotal的函数值已最小化。
[0042] 本发明第二实施例请参考图3A-3B,其为本发明动作评量模型生成方法的流程图。分类模型生成方法适用于一分类模型生成装置(例如:第一实施例的分类模型装置1),其包含一存储器以及一处理器。存储器用以存储多个训练数据及及一深度学习模型。分类模型生成方法由处理器执行,其所包含的步骤说明如下。
[0043] 首先,于步骤S301中,将前述多个训练数据输入至深度学习模型中。于步骤S303中,自深度学习模型,撷取对应至该多个训练数据的多个特征向量,以及对应至该多个训练数据的多个分类结果。接着,于步骤S305中,基于一聚类算法,将该多个特征向量划分为多个群组。于步骤S307中,基于该多个群组,建立该多个特征向量的一聚类损失函数。于步骤S309中,基于该多个分类结果,建立该多个特征向量的一向中心集中损失函数。于步骤S311中,建立该多个分类结果的一分类损失函数。须说明者,步骤S307至步骤S309的执行顺序并非被图3A所局限,即步骤S307至步骤S309的执行顺序可依实际程序设计而变动,其执行顺序并非用以限制本发明。
[0044] 随后,于步骤S313中,将该聚类损失函数乘上一第一权重、该向中心集中损失函数乘上一第二权重及该分类损失函数乘上一第三权重后的一总和作为一整体损失函数。于步骤S315中,基于一反向传播算法,针对该深度学习模型的多个参数,计算该整体损失函数的一梯度。于步骤S317中,基于梯度,调整该深度学习模型的该多个参数。接着,于步骤S319中,判断整体损失函数的函数值是否最小化。
[0045] 当整体损失函数的函数值已最小化时,于步骤S321中,基于该多个参数被调整后的深度学习模型,生成一分类模型。反之,若整体损失函数的函数值尚未最小化,则返回至步骤S301,重复执行步骤S301至步骤S317调整深度学习模型的该多个参数,直到整体损失函数的函数值已最小化。
[0046] 于一实施例中,聚类算法为一K-均值(K-means)算法。于一实施例中,深度学习模型为一卷积神经网络(Convolutional Neural Network;CNN)模型、一循环神经网络(RNN:Recurrent Neural Network)及其组合其中之一。
[0047] 于一实施例中,聚类损失函数及向中心集中损失函数每一者是基于一均方误差(mean squared error)函数所建立。于一实施例中,分类损失函数是基于一交叉熵误差(cross entropy error)函数所建立。
[0048] 除了上述步骤,本发明的分类模型生成方法亦能执行在所有前述实施例中所阐述的所有操作并具有所有对应的功能,本领域的技术人员可直接了解此实施例如何基于所有前述实施例执行此等操作及具有该多个功能,故不赘述。
[0049] 综上所述,本发明的分类模型生成装置藉由结合聚类算法,基于端对端的方式来辅助训练用于分类的深度学习模型,以提升分类的准确度。因此,通过本发明训练深度学习模型的机制,可生成具有高分类准确度的分类模型。
[0050] 上述的实施例仅用来例举本发明的实施态样,以及阐释本发明的技术特征,并非用来限制本发明的保护范畴。任何本领域的技术人员可轻易完成的改变或均等性的安排均属于本发明所主张的范围,本发明的权利保护范围应以权利要求书为准。