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

练字学习方法和装置

文献发布时间:2023-06-19 09:52:39


练字学习方法和装置

技术领域

本发明一个或多个实施例涉及计算机技术领域,尤其涉及练字学习方法和装置。

背景技术

字帖是练字常用的工具之一,传统的字帖练字方式为将透明的纸张覆盖在字帖上,依照透显的字痕迹进行描写,或者只是观看字帖上的字后,完全凭感觉在另外的纸张上写出来。

现有的练字过程比较枯燥,没有为使用者提供良好的练字氛围,并且使用者在练字过程的同时,不能够得到及时的反馈,如此导致练字效率低。因此,针对以上不足,需要提供及时的反馈的练字学习方案。

发明内容

本发明一个或多个实施例描述了练字学习方法和装置,能够使使用者得到及时的反馈。

根据第一方面,提供了练字学习方法,包括:

采集字帖的识别图像;

根据所述识别图像,得到所述字帖的第一特征信息;

采集使用者针对所述字帖练习的练字轨迹;

根据所述练字轨迹,得到所述字帖的第二特征信息;

根据所述第一特征信息和所述第二特征信息的相似度,确定所述使用者针对所述字帖练习的评分。

在一个实施例中,所述根据所述练字轨迹,得到所述字帖的第二特征信息,包括:

将所述练字轨迹输入已训练的神经网络,得到已训练的神经网络输出的目标练字轨迹;其中,所述已训练的神经网络为从前向后传播的神经网络,包括一个输入节点和一个输出节点,在训练阶段的目标损失函数包括正则化项;

获取所述练字轨迹与所述目标练字轨迹的残差;

确定所述残差中的异常轨迹点;

根据剔除所述异常轨迹点的目标练字轨迹,得到所述字帖的第二特征信息。

在一个实施例中,所述已训练的神经网络在训练阶段基于所述练字轨迹的特性,确定以下至少一项:

所述正则化项的正则系数;

归一化并初始化神经网络的神经元的权重;

隐藏层的以下数据:层数和每层的神经元的数量。

在一个实施例中,所述已训练的神经网络在训练阶段的目标损失函数还包括:原始损失函数;所述原始损失函数包括:均方误差函数或平均绝对误差函数;

所述已训练的神经网络经由以下训练步骤确定:基于当前训练的神经网络的参数,更新本次训练的所述目标损失函数中的所述原始损失函数和所述正则化项,采用梯度下降算法和反向传播算法更新当前训练的神经网络的参数,并跳转至执行所述训练步骤,直至训练次数达到迭代次数阈值或目标损失函数的返回值小于目标阈值,得到已训练的神经网络。

在一个实施例中,所述采用梯度下降算法和反向传播算法确定当前训练的神经网络的参数,包括:

基于预设学习率,确定对当前训练的神经网络的神经元的权重进行调整的学习率;其中,所述预设学习率基于本次训练的目标损失函数与所述练字轨迹的特性确定;

基于所确定的学习率,采用梯度下降算法和反向传播算法确定当前训练的神经网络的参数。

在一个实施例中,所述基于预设学习率,确定对当前训练的神经网络的神经元的权重进行调整的学习率,包括:

基于预设学习率和学习率调整规则,确定对当前训练的神经网络的神经元的权重进行调整的学习率。

在一个实施例中,所述正则化项为L1范数或L2范数。

根据第二方面,提供了练字学习装置,包括:

第一采集模块,用于采集字帖的识别图像;

第一特征信息获得模块,用于根据所述识别图像,得到所述字帖的第一特征信息;

第二采集模块,用于采集使用者针对所述字帖练习的练字轨迹;

第二特征信息获得模块,用于根据所述练字轨迹,得到所述字帖的第二特征信息;

评分确定模块,用于根据所述第一特征信息和所述第二特征信息的相似度,确定所述使用者针对所述字帖练习的评分。

根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面中任一项所述的方法。

根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面中任一项所述的方法。

根据说明书实施例提供的方法和设备,首先采集字帖的识别图像,根据识别图像,得到字帖的第一特征信息;然后采集使用者针对字帖练习的练字轨迹,根据练字轨迹,得到字帖的第二特征信息,最后根据第一特征信息和第二特征信息的相似度,确定使用者针对字帖练习的评分。上述过程可以针对使用者在使用字帖一段时间后,对该使用者的字帖练习进行评分,以及时反馈该使用者的练习成果,从而可以使得使用者得到及时的反馈,进而可以提高练字效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的练字学习方法的流程图;

图2是本发明一个实施例提供的神经网络的示意图;

图3是本发明一个实施例提供的练字学习装置所在设备的示意图;

图4是本发明一个实施例提供的练字学习装置的示意图。

具体实施方式

在描述本发明提供的方案之前,先对本方案的发明构思进行说明。

图1为本发明一个实施例提供的练字学习方法的流程图。该方法的执行主体可以为具有处理能力的设备:服务器或终端设备。如图1所示,该练字学习方法具体可以包括以下步骤:

步骤101:采集字帖的识别图像。

在本步骤中,字帖可以包括字帖内容,字帖内容可以做成凹槽状,使用者可以沿着凹槽练字,练字形成的字迹可以在一定时间内自动消失,使得字帖可以反复使用。

字帖内容可以包括汉字、英文、数字、图片等,例如,汉字笔画顺序、诗句、词语、英文字母、英文单词等。

字帖还可以包括与字帖内容对应的识别码,终端设备可以获取识别图像,并可以通过识别图像获取字帖内容,终端设备还可以根据接收的识别图像生成与该识别图像相匹配的音频信息等,以实现使用者与终端设备的交互。可以理解的是,该终端设备可以是发声字帖机,其包括扬声器,以用于发声。

终端设备还可以具备无线通信功能、显示功能、触摸屏功能、视觉感知功能、图像处理功能、智能AI功能、AR功能等,例如,可以是手机、IPAD、智能机器人、无线投影机、电子白板等。终端设备还可以通过与用户的信息交互,实现对使用者的学习情况进行统计、或者可以通过接收使用者的语音信息,实现与使用者的互动。

在本步骤中,终端设备上可以设置识别装置,例如,红外传感器、光电识别模块、摄像头等。终端设备可以通过识别装置获取字帖的识别图像。

步骤102:根据识别图像,得到字帖的第一特征信息。

在本步骤中,字帖内容可以包括汉字、英文、数字、图片等,例如,汉字笔画顺序、诗句、词语、英文字母、英文单词等,因此识别图像可以包括汉字、英文、数字、图片等的轮廓信息(即第一特征信息)。可以认为的是,该第一特征信息为识别装置所识别的信息,因此可以认为该第一特征信息为标准特征信息,以与后续采集到使用者的练字轨迹所对应的第二特征信息相比较。

步骤103:采集使用者针对字帖练习的练字轨迹。

在本步骤中,练字轨迹可以通过如下方式采集:

获取布设于终端设备内的压力传感器反馈的压力信号;

根据压力信号确定使用者针对字帖练习的练字轨迹;

或者,

获取布设于终端设备内的红外对管反馈的光信号;

根据光信号确定使用者针对字帖练习的练字轨迹;

或者,

获取布设于终端设备内的距离传感器反馈的距离信号;

根据距离信号确定使用者针对字帖练习的练字轨迹。

在本步骤中,可以在终端设备内设置压力传感器,压力传感器可以设置在终端设备的底部,当幼儿用手指或笔在终端设备内进行书写时,能通过压力传感器检测到压力信号,最后根据压力信号可以确定使用者针对字帖练习的练字轨迹。

在本步骤中,还可以在终端设备内设置光发射及接收装置,光发射装置可以设置在终端设备内的一侧,相对地光接收装置设置在与光发射装置相对的终端设备内的另一侧;光发射装置也可以设置在终端设备的底部,相对地光接收装置设置在与光发射装置相对的终端设备上方的位置,终端设备上方的位置可以是不影响用户在终端设备内进行书写且光信号能正常收发的任意位置。当幼儿用手指或笔在终端设备内进行书写时会造成对光线的阻挡,进而产生光信号,最后根据光信号可以确定使用者针对字帖练习的练字轨迹。

在本步骤中,还可以在终端设备内设置距离传感器,距离传感器可以设置在终端设备内的一侧,也可以设置在终端设备的底部,当幼儿用手指或笔在终端设备内进行书写时,距离传感器所发送的测量光脉冲反射回来的时间会产生差别,进而产生距离信号,最后根据距离信号可以确定使用者针对字帖练习的练字轨迹。

步骤104:根据练字轨迹,得到字帖的第二特征信息。

具体包括如下步骤:

步骤1041、将练字轨迹输入已训练的神经网络,得到已训练的神经网络输出的目标练字轨迹。

在本步骤中,结合图2对目标练字轨迹获得的处理进行说明。图2中,已训练的神经网络为从前向后传播的神经网络,包括一个输入节点和一个输出节点(即该已训练的神经网络的输入层具有一个输入节点,输出层具有一个输出节点),还包括两层隐藏层,每一层隐藏层包括若干个隐藏节点。也就是说,图2中的神经网络为多层感知器(MultilayerPerceptron,MLP),该神经网络采用全连接结构(即上一层的任何一个神经元与下一层的所有神经元都有连接)。在一些实施方式中,本发明实施例提供的神经网络所包括的隐藏层不局限于两层,例如还可以是一层、三层或更多层。需要说明的是,当隐藏层为两层和更多层时,隐藏层能够较好地解决非线性的问题。

在一个实施例中,该已训练的神经网络在训练阶段的目标损失函数包括正则化项,如此可以得到剔除异常轨迹点的第二特征信息,这提高了第二特征信息的准确性。在一些实施方式中,该正则化项可以为L1范数,也可以为L2范数。其中,L1范数是指权重向量中各个元素绝对值之和,L1范数可以进行特征选择,即让特征的系数变为0;L2范数是指权重向量中各元素的平方和然后求平方根,L2范数可以防止过拟合,提升神经网络的泛化能力。由于该已训练的神经网络为从前向后传播的神经网络,且包括一个输入节点和一个输出节点,在训练阶段的目标损失函数包括正则化项,因此可以得到剔除异常轨迹点的第二特征信息,这提高了第二特征信息的准确性。

在一个实施例中,已训练的神经网络在训练阶段基于练字轨迹的特性,确定以下至少一项:

正则化项的正则系数;

归一化并初始化神经网络的神经元的权重;

隐藏层的以下数据:层数和每层的神经元的数量。

在该实施例中,正则系数为小于1的值,进而通过正则化项可以对目标损失函数的权重进行约束。针对于L1范数而言,一定程度上,L1范数也可以防止过拟合,即当L1范数的正则化系数很小时,得到的最优解会很小,可以达到和L2范数正则化类似的效果。针对于L2范数而言,正则系数越大,正则化作用越明显,但同时也可能意味着神经网络越难以收敛,即容易引起欠拟合。

另外,将神经网络的神经元的权重进行初始化,可以尽量避免随着神经网络层数的加深,而出现的梯度消失或者梯度爆炸的情况;而且神经元的权重的初始化要避免初始化为零,这样会出现神经网络对称的问题。为方便对神经元的权重进行后续的处理(即在进行梯度下降算法确定合适的权重时,有利于更快和更准确地收敛),可以将初始化后的权重进行归一化,即归一化到[0,1]或[-1,1]的范围内。

此外,隐藏层的层数和每层隐藏层的神经元的数量均和练字轨迹存在相关性,例如练字轨迹的数据点越多,那么证明需要增加,隐藏层的层数和每层隐藏层的神经元的数量,如此才能更准确地表征练字轨迹。

在一个实施例中,练字轨迹的特性,包括以下中的任一项:长度、均值、方差以及自相关性。

在该实施例中,练字轨迹的长度指的是该练字轨迹的起始时间点到终止时间点的跨度,长度越长,可以表征数据点的数据越多,反之表征数据点的数据越少。也就是说,练字轨迹的长度分别与隐藏层的层数和每层隐藏层的神经元的数量有关。而练字轨迹的均值和方差均与每层隐藏层的神经元的权重以及目标损失函数中的正则系数有关,根据练字轨迹的均值和方差,可以确定出适当取值范围内的每层隐藏层的神经元的权重以及目标损失函数中的正则系数,以降低神经网络复杂度,得到更小的泛化误差,降低过拟合程度。此外,自相关性是练字轨迹在不同时间与其自身的比较,自相关性可以通过自相关系数(即皮尔逊相关系数)进行定量表征,其目的是检测练字轨迹的时间趋势和平稳性。该练字轨迹的自相关性也与每层隐藏层的神经元的权重以及目标损失函数中的正则系数有关,同理,根据练字轨迹的自相关性,也可以确定出适当取值范围内的每层隐藏层的神经元的权重以及目标损失函数中的正则系数,以降低神经网络复杂度,得到更小的泛化误差,降低过拟合程度。

在一个实施例中,为防止过拟合和提高神经网络的泛化性能,可以将目标损失函数设置为原始损失函数与正则化项的结合,也就是说,已训练的神经网络在训练阶段的目标损失函数还包括:原始损失函数。目标损失函数用于衡量每次训练的预测值与输入值之间的差异。原始损失函数包括:均方误差(Mean Squared Error,MSE)函数或平均绝对误差(Mean Absolute Error,MAE)函数,其中:均方误差函数可以评价练字轨迹数据的变化程度,MSE的值越小,说明神经网络描述练字轨迹数据具有更好的精确度;平均绝对误差函数能更好地反映预测值误差的实际情况。

此外,已训练的神经网络经由以下训练步骤确定:基于当前训练的神经网络的参数(即权重),更新本次训练的目标损失函数中的原始损失函数和正则化项,采用梯度下降算法和反向传播算法更新当前训练的神经网络的参数,并跳转至执行训练步骤,直至训练次数达到迭代次数阈值或目标损失函数的返回值小于目标阈值,得到已训练的神经网络。所得到的的已训练的神经网络的目标损失函数的权重已经调整到合适的数值,此时,目标损失函数最小,即说明该神经网络描述练字轨迹数据具有更好的精确度。

在一个实施例中,采用梯度下降算法和反向传播算法确定当前训练的神经网络的参数,包括:

基于预设学习率,确定对当前训练的神经网络的神经元的权重进行调整的学习率;其中,预设学习率基于本次训练的目标损失函数与练字轨迹的特性确定;

基于所确定的学习率,采用梯度下降算法和反向传播算法确定当前训练的神经网络的参数。

在该实施例中,基于预设学习率,可以固定学习率来调整神经元的权重,其中,学习率*目标损失函数的梯度=权重递减值。但是,通过固定学习率的方法存在如下问题:如果学习率太小,则会使目标损失函数的收敛过慢,如果学习速率太大,则会导致目标损失函数振荡,甚至可能无法收敛。选择固定学习率来调整神经元的权重时,当目标损失函数到达收敛状态时,会在最优值附近一个较大的区域内摆动;而当随着迭代轮次的增加而减小学习率,会使得在收敛时,目标损失函数在最优值附近一个更小的区域内摆动。因此,对于固定学习率来调整神经元的权重,选择一个合适的学习率,对于神经网络的训练至关重要。需要说明的是,当目标损失函数的梯度趋近于0时,可采用初始化的方法或采用特殊值来替代。

在一些实施方式中,可以通过尝试不同的固定学习率,如3、1、0.5、0.1、0.05、0.01、0.005,0.005、0.0001、0.00001等,观察迭代次数和目标损失函数的变化关系,找到目标损失函数下降最快时对应的学习率。

在一个实施例中,基于预设学习率,确定对当前训练的神经网络的神经元的权重进行调整的学习率,包括:

基于预设学习率和学习率调整规则,确定对当前训练的神经网络的神经元的权重进行调整的学习率。

在该实施例中,在目标损失函数优化的过程中,学习率应当是逐渐减小的,越接近目标损失函数的极小值时,学习率应当越小。在一些实施方式中,学习率调整规则例如可以包括:1)初始设置一个较大的学习率,然后随着迭代次数的增加,例如每经过n轮训练,学习率减半;2)学习率按训练轮数增长指数差值递减,例如a

步骤1042、获取练字轨迹与目标练字轨迹的残差。

步骤1043、确定残差中的异常轨迹点。

在本步骤中,具体可以通过如下方式确定异常轨迹点:基于残差与检测门限的比较结果,确定异常轨迹点;或

基于残差中存在的不符合预设分布的异常点,确定异常轨迹点。

在该实施例中,通过利用检测门限或预设分布(例如T分布、正态分布)的方式可以确定残差中是否存在异常点,这种检测方式简单,从而可以有利于快速检测出异常轨迹点。在一些实施方式中,可以通过N-σ方法确定残差中是否存在不符合预设分布的异常点。

步骤1044、根据剔除异常轨迹点的目标练字轨迹,得到字帖的第二特征信息。

如此,可以获得精确度更高的第二特征信息。

步骤105:根据第一特征信息和第二特征信息的相似度,确定使用者针对字帖练习的评分。

在本步骤中,例如可以利用聚类算法,获得第一特征信息和第二特征信息的相似度,如果相似度越高,则使用者针对字帖练习的评分越高,反之越低。

在本实施例中,首先采集字帖的识别图像,根据识别图像,得到字帖的第一特征信息;然后采集使用者针对字帖练习的练字轨迹,根据练字轨迹,得到字帖的第二特征信息,最后根据第一特征信息和第二特征信息的相似度,确定使用者针对字帖练习的评分。上述过程可以针对使用者在使用字帖一段时间后,对该使用者的字帖练习进行评分,以及时反馈该使用者的练习成果,从而可以使得使用者得到及时的反馈,进而可以提高练字效率。

如图3和图4所示,本发明实施例提供了一种练字学习装置所在的设备和练字学习装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的练字学习装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。

如图4所示,本实施例提供的练字学习装置,包括:

第一采集模块401,用于采集字帖的识别图像;

第一特征信息获得模块402,用于根据识别图像,得到字帖的第一特征信息;

第二采集模块403,用于采集使用者针对字帖练习的练字轨迹;

第二特征信息获得模块404,用于根据练字轨迹,得到字帖的第二特征信息;

评分确定模块405,用于根据第一特征信息和第二特征信息的相似度,确定使用者针对字帖练习的评分。

在本发明实施例中,第一采集模块401可用于执行上述方法实施例中的步骤101,第一特征信息获得模块402可用于执行上述方法实施例中的步骤102,第二采集模块403可用于执行上述方法实施例中的步骤103,第二特征信息获得模块404可用于执行上述方法实施例中的步骤104,评分确定模块405可用于执行上述方法实施例中的步骤105。

在本发明的一个实施例中,第二特征信息获得模块404,用于执行如下操作:

将练字轨迹输入已训练的神经网络,得到已训练的神经网络输出的目标练字轨迹;其中,已训练的神经网络为从前向后传播的神经网络,包括一个输入节点和一个输出节点,在训练阶段的目标损失函数包括正则化项;

获取练字轨迹与目标练字轨迹的残差;

确定残差中的异常轨迹点;

根据剔除异常轨迹点的目标练字轨迹,得到字帖的第二特征信息。

在本发明的一个实施例中,已训练的神经网络在训练阶段基于练字轨迹的特性,确定以下至少一项:

正则化项的正则系数;

归一化并初始化神经网络的神经元的权重;

隐藏层的以下数据:层数和每层的神经元的数量。

在本发明的一个实施例中,已训练的神经网络在训练阶段的目标损失函数还包括:原始损失函数;原始损失函数包括:均方误差函数或平均绝对误差函数;

已训练的神经网络经由以下训练步骤确定:基于当前训练的神经网络的参数,更新本次训练的目标损失函数中的原始损失函数和正则化项,采用梯度下降算法和反向传播算法更新当前训练的神经网络的参数,并跳转至执行训练步骤,直至训练次数达到迭代次数阈值或目标损失函数的返回值小于目标阈值,得到已训练的神经网络。

在本发明的一个实施例中,采用梯度下降算法和反向传播算法确定当前训练的神经网络的参数,包括:

基于预设学习率,确定对当前训练的神经网络的神经元的权重进行调整的学习率;其中,预设学习率基于本次训练的目标损失函数与练字轨迹的特性确定;

基于所确定的学习率,采用梯度下降算法和反向传播算法确定当前训练的神经网络的参数。

在本发明的一个实施例中,基于预设学习率,确定对当前训练的神经网络的神经元的权重进行调整的学习率,包括:

基于预设学习率和学习率调整规则,确定对当前训练的神经网络的神经元的权重进行调整的学习率。

在本发明的一个实施例中,正则化项为L1范数或L2范数。

可以理解的是,本发明实施例示意的结构并不构成对练字学习装置的具体限定。在本发明的另一些实施例中,练字学习装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。

上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例还提供了一种计算机可读介质,存储用于使一计算机执行如本文的练字学习方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

上述对本发明特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

相关技术
  • 练字学习方法、练字笔及终端设备
  • 掩模计算装置、簇权重学习装置、掩模计算神经网络学习装置、掩模计算方法、簇权重学习方法和掩模计算神经网络学习方法
技术分类

06120112336218