具有平均量化机制的神经网络建构方法及装置
文献发布时间:2023-06-19 19:28:50
技术领域
本发明是关于神经网络技术,尤其是关于一种具有平均量化机制的神经网络建构方法及装置。
背景技术
深度学习是机器学习的分支,以人工神经网络为架构,对数据进行表征学习的算法。近年来由于大数据分析(Big Data Analytics)与人工智能(AI)技术的推波助澜,使得深度学习技术藉由嵌入式系统实现的应用愈来愈多。
由于硬件难以实现小数运算,神经网络的小数权重往往需要经由量化而成为整数。然而,在量化的过程中往往会造成精确度的下降,进而使整体神经网络的精确度下降。
发明内容
鉴于先前技术的问题,本发明之一目的在于提供一种具有平均量化机制的神经网络建构方法及装置,以改善先前技术。
本发明包含一种具有平均量化机制的神经网络建构方法,包含:撷取神经网络的各多个网络层包含的权重组合;依据所有网络层的权重组合以及多个目标值产生损失函数(loss function);对应各网络层,计算权重组合的吉尼系数(Gini coefficient),并将所有网络层的吉尼系数累加为正则化(regularization)修正项;使损失函数以及修正项合并为正则化损失函数,以对神经网络根据正则化损失函数进行训练,产生各网络层的训练后权重组合;以及对各网络层的训练后权重组合进行量化,以产生在各网络层包含量化权重组合的量化神经网络。
本发明更包含一种具有平均量化机制的神经网络建构装置,包含:储存电路,配置以储存计算机可执行指令;以及处理电路,配置以撷取并执行计算机可执行指令,以执行神经网络建构方法,包含:撷取神经网络的各多个网络层包含的权重组合;依据所有网络层的权重组合以及多个目标值产生损失函数;对应各网络层,计算权重组合的吉尼系数,并将所有网络层的吉尼系数累加为正则化修正项;使损失函数以及修正项合并为正则化损失函数,以对神经网络根据正则化损失函数进行训练,产生各网络层的训练后权重组合;以及对各网络层的训练后权重组合进行量化,以产生在各网络层包含量化权重组合的量化神经网络。
有关本案的特征、实施与功效,兹配合附图作较佳实施例详细说明如下。
附图说明
图1显示本发明的一实施例中,一种具有平均量化机制的神经网络建构装置的方块图;
图2显示本发明的一实施例中,一个神经网络的示意图;
图3A显示本发明的一实施例中,网络层的权重组合的百分比累积示意图;
图3B显示本发明的一实施例中,网络层的权重组合的百分比累积示意图;以及
图4显示本发明的一实施例中,一种具有平均量化机制的神经网络建构方法的流程图。
符号说明:
100:神经网络建构装置
110:储存电路
115:计算机可执行指令
120:处理电路
200:神经网络
400:神经网络建构方法
S410~S450:步骤
L
LS1:直线线段
LS2:折线线段
P1~P4、Q1~Q4:点
具体实施方式
本发明之一目的在于提供一种具有平均量化机制的神经网络建构方法及装置,通过吉尼系数的使用,使损失函数反映出权重间的分布状况,进而使神经网络的训练过程将权重的分布平均化而提高量化精确度。
请参照图1。图1显示本发明的一实施例中,一种具有平均量化机制的神经网络建构装置100的方块图。神经网络建构装置100包含:储存电路110以及处理电路120。
储存电路110可为任何配置以储存数据的储存装置,例如,但不限于随机存取内存(random access memory;RAM)、只读存储器(read only memory;ROM)或硬盘。需注意的是,储存电路110在不同实施例中,可仅包含单一个上述的储存装置,或是包含多个上述的储存装置,以储存不同类型的数据。于一实施例中,储存电路110配置以储存计算机可执行指令115。
处理电路120电性耦接于储存电路110。于一实施例中,处理电路120可配置以自储存电路110撷取并执行计算机可执行指令115。计算机可执行指令115包含例如,但不限于储存电路110或其他硬件模块的固件/驱动程序(firmware/driver)与相关指令,以存取储存电路110的讯号或数据进行运算,执行神经网络建构装置100的功能。
以下将针对神经网络建构装置100的运作进行更详细的说明。
首先,处理电路120撷取神经网络的各多个网络层包含的权重组合。于一实施例中,神经网络的相关数据亦可储存于储存电路110中,并由处理电路120撷取。
请同时参照图2。图2显示本发明一实施例中,一个神经网络200的示意图。
神经网络200包含网络层L
在神经网络200尚未进行训练前,各网络层的权重组合包含的权重可为随机数生成。在一个数值范例中,网络层L
须注意的是,在不同的应用情境中,神经网络可视需要而包含不同数目的网络层,且每个网络层亦可包含不同数目的权重。本发明并不限于图2所绘示的数目。
接着,处理电路120依据所有网络层的权重组合以及多个目标值产生损失函数。
于一实施例中,以神经网络200为例,神经网络200在自输入层(网络层L
须注意的是,根据不同的应用,处理电路120可采用不同形式的损失函数。本发明并不限于特定形式的损失函数。
处理电路120对应各网络层,计算权重组合的吉尼系数,并将所有网络层的吉尼系数累加为正则化修正项。其中,吉尼系数是用以对权重组合中的权重进行排序(例如自小至大),并计算累积百分比,其计算结果表示权重组合中的权重的分布状况。
请参照图3A以及图3B。图3A显示本发明一实施例中,网络层L
如图3A所示,网络层L
由于网络层L
如图3B所示,网络层L
由于网络层L
由上述可知,吉尼系数在权重组合的分布愈不平均时具有愈大的值,且在权重组合的分布愈平均时具有愈小的值。
因此,处理电路120在使所有网络层的权重组合对应的吉尼系数累加后,将产生正则化修正项。于一实施例中,正则化修正项可表示为与所有网络层L
再来,处理电路120使损失函数以及修正项合并为正则化损失函数,以对神经网络根据正则化损失函数进行训练,产生各网络层的训练后权重组合。
由于损失函数表示为L(θ,Y),且正则化修正项表示为R(θ),因此正则化损失函数将可表示为两者的结合:RL(θ,Y)=L(θ,Y)+R(θ)。
于一实施例中,正则化修正项R(θ)可选择性地与数量级修正参数λ相乘,并RL(θ,Y)=L(θ,Y)+λR(θ)表示为以使正则化修正项R(θ)与损失函数L(θ,Y)具有相同的数量级。举例而言,在部分情境下,损失函数的数量级是-1(10
因此,处理电路120可使神经网络接收训练输入值并进行卷积运算产生预测值后,根据正则化损失函数RL(θ,Y)判断学习结果的好坏,并持续修正各网络层包含的权重组合。由于正则化损失函数RL(θ,Y)在权重组合的分布不平均时将具有较大的值,神经网络在训练后得到的训练后权重组合既可根据学习结果修正,亦可使分布趋于平均。
最后,处理电路120对各网络层的训练后权重组合进行量化,以产生在各网络层包含量化权重组合的量化神经网络。在经过量化后,各网络层包含的量化权重组合将包含多个整数权重。于一实施例中,具有整数权重的量化神经网络将可以嵌入式系统芯片实现。
须注意的是,量化的方式可由各种量化算法进行,本发明并不限于特定的量化方式。
由于小数的计算对硬件而言较为困难,在神经网络以嵌入式系统芯片实现时,需要将神经网络中的小数权重进行量化成为整数。然而,权重的分布不均将使量化的精确度下降。在部分技术中,神经网络的权重在训练过程并无法根据分布状况进行调整,而使得量化后的神经网络的精确度下降。
本发明的具有平均量化机制的神经网络建构装置将可通过吉尼系数的使用,使损失函数反映出权重间的分布状况,进而使神经网络的训练过程将权重的分布平均化而提高量化精确度。
请参照图4。图4为本发明一实施例中,一种具有平均量化机制的神经网络建构方法400的流程图。
除前述装置外,本发明另揭露一种神经网络建构方法400,应用于例如,但不限于图1的神经网络建构装置100中。神经网络建构方法400的一实施例如图4所示,包含下列步骤。
于步骤S410,撷取神经网络的各多个网络层包含的权重组合。
于步骤S420,依据所有网络层的权重组合以及多个目标值产生损失函数。
于步骤S430,对应各网络层,计算权重组合的吉尼系数,并将所有网络层的吉尼系数累加为正则化修正项。
于步骤S440,使损失函数以及修正项合并为正则化损失函数,以对神经网络根据正则化损失函数进行训练,产生各网络层的训练后权重组合。
于步骤S450,对各网络层的训练后权重组合进行量化,以产生在各网络层包含量化权重组合的量化神经网络。
需注意的是,上述的实施方式仅为一范例。于其他实施例中,本领域的通常知识者当可在不违背本发明的精神下进行更动。
综合上述,本发明中具有平均量化机制的神经网络建构方法及装置可通过吉尼系数的使用,使损失函数反映出权重间的分布状况,进而使神经网络的训练过程将权重的分布平均化而提高量化精确度。
虽然本申请的实施例如上所述,然而该些实施例并非用来限定本申请,本技术领域具有通常知识者可依据本申请的明示或隐含的内容对本申请的技术特征施以变化,凡此种种变化均可能属于本案所寻求的专利保护范畴,换言之,本案之专利保护范围须视本说明书的权利要求书所界定者为准。
- 一种神经网络权重量化方法和神经网络权重量化装置
- 神经网络级间激活值量化方法及装置
- 用于深度神经网络的多底数对数量化方法及装置
- 基于深度卷积神经网络的层内非均匀的K平均聚类定点量化方法
- 复杂网络攻击下基于自适应事件触发机制的神经网络量化控制方法