一种提高Swish查找表精度的方法与流程
本发明属于神经网络优化,特别涉及一种提高swish查找表精度的方法。
背景技术:
1、现有技术中,swish是一种被广泛应用于深度学习模型的激活函数,由google在2017年提出。它在某些任务中表现优于relu及其变体(如leaky relu),尤其在深层神经网络中。swish的数学表达式为:
2、swish(x)=x*δ(βx) (公式1)
3、其中:
4、δ(·)就是sigmoid函数:
5、由于指数函数的复杂运算,会导致含有swish激活的模型运行效率低,因此为了使模型快速高效落地,通常会对swish进行查表操作,来近似复杂的float指数运算,然而由于表项数量的限制,查表的精度不尽如人意。
6、也就是说,现有技术中存在以下缺点:
7、在模型优化领域,目前还没有一种针对swish激活查找表提升精度的方法。
技术实现思路
1、为了解决上述问题,本申请的目的在于:提出一种提高swish查找表精度的方法,针对swish的查找表原理和提高其精度的方法进行说明,旨在提高模型的量化精度,提高模型的运行效率。
2、具体地,本发明提供一种提高swish查找表精度的方法,所述方法包括以下步骤:
3、s1.查找表实现:
4、确定查找表的主要参数,包括表项数目、输入x的定点化位宽lbit以及表项存储的定点化位宽tbit;
5、将x轴平均分为32个采样点,计算每个采样点对应的y值;
6、存储量化后的输出值y0_uint8和dy_uint8;
7、查表时,计算系数_ceof和索引i,其中i为整数部分,_ceof为小数部分;输入x_uint8通过公式进行量化处理;
8、s2.提高swish查找表精度:
9、针对swish函数的输入特性,在统计量化参数前,对输入在-5处进行截断处理;
10、遍历计算图,为swish的输入设置标志位is_swish_input;
11、当is_swish_input为true时,在-5处截断当前层的输出,以提高查找表的利用率及精度。
12、所述步骤s1进一步包括:
13、s1.1.输入参数处理:接收输入数据x_new和查找表参数lut_param,计算浮点位宽float_bitwidth,并生成用于提取输入数据小数部分的掩码mask_float;
14、s1.2.输入数据预处理:将输入数据x_new转换为int32类型并重塑为二维张量,通过右移操作计算索引x_new_indices;
15、s1.3.查找表查询:从查找表参数lut_param中提取差值表lut_dy和基值表lut_y0,使用x_new_indices作为索引获取对应的dy和y0值,并将其转换为float32类型;
16、s1.4.插值计算:提取输入数据x_new的小数部分ceof,通过线性插值公式计算插值结果y_new,并进行定点化处理;
17、s1.5.返回结果:输出插值后的结果y_new,其形状与输入数据x_new一致。
18、所述查找表的表项数目为32个采样点。
19、所述查表过程中,索引i的计算公式为:
20、
21、其中,table_num为表项数目。
22、所述输入x_uint8的量化处理中,将输入位宽in_bit分为table_bit和float_bitwidth两部分。
23、所述swish函数的输入截断操作用于提高查找表的利用率及精度。
24、所述方法适用于含有swish激活的模型以对swish的查找表精度进行提升,包括但不限于计算机视觉中的图像分类、目标检测,自然语言处理中的transformer模型、机器翻译与文本生成模型。
25、由此,本方案具有以下优势:
26、针对swish的查找表原理和提高其精度的方法作出阐述,旨在提高模型的量化精度,提高模型的运行效率,有助于模型的快速落地。
1.一种提高swish查找表精度的方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的一种提高swish查找表精度的方法,其特征在于,所述步骤s1进一步包括:
3.根据权利要求1所述的一种提高swish查找表精度的方法,其特征在于,所述查找表的表项数目为32个采样点。
4.根据权利要求1所述的一种提高swish查找表精度的方法,其特征在于,所述查表过程中,索引i的计算公式为:
5.根据权利要求1所述的一种提高swish查找表精度的方法,其特征在于,所述输入x_uint8的量化处理中,将输入位宽in_bit分为table_bit和float_bitwidth两部分。
6.根据权利要求1所述的一种提高swish查找表精度的方法,其特征在于,所述swish函数的输入截断操作用于提高查找表的利用率及精度。
7.根据权利要求1所述的一种提高swish查找表精度的方法,其特征在于,所述方法适用于含有swish激活的模型以对swish的查找表精度进行提升,包括但不限于计算机视觉中的图像分类、目标检测,自然语言处理中的transformer模型、机器翻译与文本生成模型。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com