一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

电子装置及其控制方法与流程

2022-06-16 08:05:41 来源:中国专利 TAG:


1.本公开涉及一种电子装置和控制该电子装置的方法。更具体地,本公开涉及一种能够通过使用两种不同的激活函数来生成具有高计算速度和优秀学习性能的激活函数的电子装置及其控制方法。


背景技术:

2.近来,随着人工智能的发展,包括诸如深度神经网络(dnn)之类的人工神经网络的神经网络模型已经被用于各种技术领域,因此对改善神经网络模型的性能的研究一直在进行。
3.特别地,神经网络模型的性能可以根据神经网络模型中使用的激活函数而变化。问题在于,如果使用复杂的激活函数来提高神经网络模型的学习性能,则神经网络模型的计算速度会降低,相反,如果使用简单的激活函数来提高神经网络模型的计算速度,则神经网络模型的学习性能会降低。
4.上述信息仅作为背景信息提供,以帮助理解本公开。关于上述任何一个是否可以作为现有技术应用于本公开,没有做出确定,也没有做出断言。


技术实现要素:

5.【技术问题】
6.本公开的各方面至少解决上述问题和/或缺点,并且至少提供下述优点。因此,本公开的一个方面是提供一种电子装置及其控制方法,该电子装置能够基于具有高计算速度的激活函数和具有优秀学习性能的激活函数来生成具有高计算速度和优秀学习性能的激活函数。
7.附加方面将在下面的描述中部分地阐述,并且部分地将从描述中显而易见,或者可以通过对所呈现的实施例的实践来了解。
8.【技术解决方案】
9.根据本公开的一个方面,提供了一种电子装置。该装置包括通信器、存储器以及处理器。存储器被配置为存储神经网络模型;激活函数生成模块,生成在神经网络模型中使用的激活函数信息;第一激活函数信息;第二激活函数信息;和基于第一激活函数信息和第二激活函数信息生成的第三激活函数信息。处理器被配置为通过通信器从外部设备接收第四激活函数信息,基于关于对应于第二激活函数信息的第四激活函数信息的类型信息,通过将第一激活函数信息和第四激活函数信息输入到激活函数生成模块来生成第五激活函数信息,并且控制神经网络模型将神经网络模型中使用的激活函数信息从第三激活函数信息改变为第五激活函数信息。
10.根据本公开的另一方面,提供了一种控制电子装置的方法。该方法包括:存储神经网络模型、生成在神经网络模型中使用的激活函数信息的激活函数生成模块、第一激活函数信息、第二激活函数信息以及基于第一激活函数信息和第二激活函数信息生成的第三激
活函数信息;以及通过电子装置的通信器从外部设备接收第四激活函数信息;基于关于与第二激活函数信息相对应的第四激活函数信息的类型信息,通过将第一激活函数信息和第四激活函数信息输入到激活函数生成模块来生成第五激活函数信息;并且控制神经网络模型将神经网络模型中使用的激活函数信息从第三激活函数信息改变为第五激活函数信息。
11.根据本公开的另一方面,提供了一种包括用于执行电子装置的方法的程序的非暂时性计算机可读记录介质。该方法包括存储神经网络模型、生成在神经网络模型中使用的激活函数信息的激活函数生成模块、第一激活函数信息、第二激活函数信息以及基于第一激活函数信息和第二激活函数信息生成的第三激活函数信息;以及通过电子装置的通信器从外部设备接收第四激活函数信息;基于关于与第二激活函数信息相对应的第四激活函数信息的类型信息,通过将第一激活函数信息和第四激活函数信息输入到激活函数生成模块来生成第五激活函数信息;并且控制神经网络模型将神经网络模型中使用的激活函数信息从第三激活函数信息改变为第五激活函数信息。
12.从以下结合附图公开了本公开的各种实施例的详细描述中,本公开的其他方面、优点和显著特征对于本领域技术人员将变得显而易见。
附图说明
13.从以下结合附图的描述中,本公开的某些实施例的上述和其他方面、特征和优点将变得更加明显,其中:
14.图1是示意性示出根据本公开实施例的控制电子装置的方法的流程图;
15.图2是示出根据本公开实施例的基于第一激活函数信息和第四激活函数信息产生第五激活函数信息的过程的视图;
16.图3是示出根据本公开实施例的软件模块的架构的视图;
17.图4是示出根据本公开的实施例的涉及用其它激活函数信息替换当前神经网络模型中使用的激活函数信息的实施例的流程图;
18.图5是示出根据本公开实施例的在电子装置中生成第三激活函数信息和第五激活函数信息的实施例的序列图;
19.图6是示出根据本公开实施例的在外部设备中生成第三激活函数信息和在电子装置中生成第五激活函数信息的实施例的序列图;
20.图7是示出根据本公开实施例的在外部设备中生成第三激活函数信息和第五激活函数信息的实施例的序列图;
21.图8和图9是更详细地示出根据本公开的各种实施例生成的激活函数的特性的曲线图;和
22.图10是图示根据本公开实施例的电子装置的配置的框图。
23.在所有附图中,相似的附图标记将被理解为指代相似的部件、组件和结构。
具体实施方式
24.提供参考附图的以下描述以帮助全面理解如权利要求及其等同物所定义的本公开的各种实施例。它包括各种具体细节以帮助理解,但这些仅被视为示例性的。因此,本领域普通技术人员将认识到,在不脱离本公开的范围和精神的情况下,可以对这里描述的各
种实施例进行各种改变和修改。此外,为了清楚和简明起见,可以省略对众所周知的功能和结构的描述。
25.在以下描述和权利要求中使用的术语和词语不限于文献意义,而是仅由发明人使用,以使得能够清楚和一致地理解本公开。因此,对于本领域的技术人员来说,显而易见的是,本公开的各种实施例的以下描述仅仅是为了说明的目的而提供的,而不是为了限制由所附权利要求及其等同物所限定的本公开。
26.应当理解,单数形式“一”、“一个”和“该”包括复数对象,除非上下文另有明确规定。因此,例如,提及“组件表面”包括提及一个或多个这样的表面。
27.在本公开的实施例中使用的术语“具有”、“可能具有”、“包括”和“可能包括”表示相应特征的存在(例如,诸如数值、函数、操作或部件的元素),并且不排除附加特征的存在。
28.在说明书中,术语“a或b”、“a或/和b中的至少一个”或“a或/和b中的一个或多个”可以包括一起列举的项目的所有可能的组合。例如,术语“a或b”或“a或/和b中的至少一个”可以表示(1)至少一个a,(2)至少一个b,或(3)至少一个a和至少一个b。
29.这里使用的表述“1”、“2”、“第一”或“第二”可以修饰各种元件,而不管其顺序和/或重要性,并且仅仅是为了将一个元件与另一个元件区分开来。因此,不限制相应的元件。
30.当一个元件(例如,第一元件)与另一个元件(例如,第二元件)“可操作地或通信地耦接/耦接”或“连接”时,一个元件可以直接与另一个元件耦接,或者可以通过另一个元件(例如,第三元件)耦接。
31.另一方面,当一个元件(例如,第一元件)与另一个元件(例如,第二元件)“直接耦合/连接”或“直接连接”时,一个元件可能不存在于另一个元件之间。
32.在说明书中,在某些情况下,术语“配置成”可改为例如“适合于”、“具有能力”、“设计成”、“适应于”、“制成”或“能够”。术语“配置为(设置为)”不一定意味着硬件级的“专门设计为”。
33.在某些情况下,术语“设备,被配置成”可以指“能够”与另一设备或组件一起做某事。例如,“子处理器,被配置成(或被配置成)执行a、b和c”可以指能够通过执行专用处理器(例如嵌入式处理器)或存储在存储器设备中的一个或多个用于执行操作的软件程序来执行相应操作的通用处理器(例如中央处理单元(cpu)或应用处理器)。
34.在这里公开的实施例中,术语“模块”或“单元”指的是执行至少一个功能或操作的元件。“模块”或“单元”可以实现为硬件、软件或其组合。此外,多个“模块”或“单元”可以集成到至少一个模块中,并且可以以集成的方式实现为至少一个处理器,除了应当在特定硬件中实现的“模块”或“单元”之外。
35.此外,附图中的各种元件和区域是示意性绘制的。因此,技术思想不受附图中绘制的相对大小或间隔的限制。
36.例如,电子装置可以实现为各种电子设备,包括例如但不限于智能手机、平板个人计算机(pc)、台式pc、膝上型pc、可穿戴设备等。根据另一实施例,电子装置100可以被实现为从外部相机接收拍摄的视频墙图像并从接收的图像获得视频墙的布局信息的设备。可穿戴设备可以包括附件(例如,手表、戒指、手镯、脚链、项链、眼镜、隐形眼镜或头戴式设备(hmd))、织物或衣服(例如,电子衣服)、身体附着类型(例如,皮肤垫或纹身)或生物植入电路中的至少一种。
37.此外,根据实施例,根据上述各种实施例的方法可包括电视机、数字视频光盘(dvd)播放器、音响、冰箱、空调、吸尘器、烤箱、微波炉、洗衣机、空气净化器、机顶盒、家庭自动化控制面板、安全控制面板、媒体盒(例如,三星homesync tm、苹果tv tm或谷歌tv tm)、游戏控制台(例如,xbox tm、playstation tm)、电子词典、电子钥匙、照相机或数码相框中的至少一种。
38.在另一个实施例中,电子装置可以包括各种医疗设备中的至少一种(例如,各种便携式医疗测量设备(如血糖仪、心率监视器、血压计、体温测量仪等)、磁共振血管造影(mra)、磁共振成像(mri)、计算机断层摄影(ct)、照相机或超声波等)、导航设备、全球导航卫星系统(gnss)、事件数据记录器(edr)、飞行数据记录器(fdr)、汽车信息娱乐设备、船用电子装置(例如,船用导航设备、陀螺罗盘等)、航空电子装置、安全设备、用于车辆的主单元、工业或家用机器人、无人机、金融机构中的自动柜员机(atm)、商店销售的销售点(pos)或物联网设备(例如,灯泡、各种传感器、喷洒设备、火警、恒温器、路灯、烤面包机、锻炼设备、热水箱、加热器、锅炉等)。
39.以下将以本领域普通技术人员将理解的方式更详细地描述本公开的示例实施例。
40.图1是示意性示出根据本公开实施例的控制电子装置的方法的流程图。
41.参考图1,在描述控制方法的每个步骤之前,将描述在描述本公开中使用的关键术语。根据本公开的“电子装置”可以被实现为用户终端,例如智能手机、平板pc等,或者可以被实现为用于提供与神经网络模型相关的服务的服务器。换句话说,被配置成获得根据本公开的神经网络模型中使用的激活函数的电子装置可以对应于本公开的电子装置,而不管其类型如何。
[0042]“神经网络模型”是指包括人工神经网络的人工智能模型,并且可以通过深度学习来学习。具体地,神经网络模型可以包括深度神经网络(dnn)、卷积神经网络(cnn)、递归神经网络(rnn)或基因对抗网络(gan)中的至少一种。然而,根据本公开的神经网络模型不限于此。
[0043]“激活函数”指的是确定是否激活神经网络模型中先前层的输出值并产生输出值的函数。具体地,在获取输出值同时将输入值从输入层发送到输出层的前馈过程中,激活函数可以确定是否将从前一层发送的输入值发送到下一层,并且如果是,确定将转换和发送哪个输出值。特别地,非线性函数主要用作激活函数。因此,在激活函数将从先前层发送的输入值发送到下一层的过程中,可以对神经网络模型赋予非线性,从而可以深度实现神经网络模型。同时,在用于训练神经网络模型的反向传播过程中,激活函数的梯度可以用于更新包括在神经网络模型中的每层的权重值(参数)。
[0044]
激活函数的例子可以是各种各样的,例如sigmoid函数、双曲正切函数、校正线性单位(relu)函数、指数线性单位(elu)函数、高斯误差线性单位(gelu)函数、swish函数等。根据本公开的激活函数不限于特定种类的激活函数。
[0045]
同时,在根据本公开的电子装置和神经网络模型中,以数据或信息的形式处理激活函数。因此,术语“激活函数信息”被用作指代关于激活函数的数据或信息的术语。具体地,诸如第一激活函数信息、第二激活函数信息、第三激活函数信息、第四激活函数信息、第五激活函数信息和第六激活函数信息的术语分别用于指定第一激活函数、第二激活函数、第三激活函数、第四激活函数、第五激活函数和第六激活函数的数据或信息。
[0046]
在下文中,将参照图1描述根据本公开的控制方法的每个步骤。参照图1,电子装置可以在存储器中存储神经网络模型、生成用于神经网络模型的激活函数信息的激活函数生成模块、第一激活函数信息、第二激活函数信息和基于第一激活函数信息和第二激活函数信息生成的第三激活函数信息s110。此外,使用第三激活函数信息可以指通过使用第三激活函数作为包括在神经网络模型中的隐藏层之间的激活函数来执行神经网络模型的学习过程和推理过程。
[0047]
在描述本公开时,术语“第一激活函数”用于指定一个激活函数,其具有比第二激活函数相对更高的计算速度,但是具有更低的学习性能,术语“第二激活函数”用于指定一个激活函数,其具有比第一激活函数相对更高的学习性能,但是具有相对较低的计算速度。例如,第一激活函数可以指relu函数,其是具有相对高的操作速度的激活函数,第二激活函数可以指gelu函数,其是具有相对高的学习性能的激活函数。同时,术语“第三激活函数”用于指定基于第一激活函数信息和第二激活函数信息产生的激活函数。
[0048]
同时,在电子装置的制造过程中,第一激活函数信息、第二激活函数信息和第三激活函数信息可以被存储在存储器中和在存储器中提供。此外,第一激活函数信息、第二激活函数信息和第三激活函数信息可以通过通信器从外部设备接收并存储。换句话说,第三激活函数信息可以基于第一激活函数和第二激活函数在外部设备中产生,并被发送到电子装置。此外,可以通过通信器从服务器接收第一激活函数信息和第二激活函数信息,并且可以通过将第一激活函数信息和第二激活函数信息输入到激活函数生成模块中来获取第三激活函数信息。
[0049]
电子装置可以通过通信器从外部设备接收第四激活函数信息s120。术语“第四激活函数”用于指定不同于第一激活函数、第二激活函数和第三激活函数的激活函数。特别地,第四激活函数可以是具有比第一激活函数更高的计算速度的新激活函数,或者是具有比第二激活函数更好的学习性能的新激活函数。然而,外部设备可以被实现为服务器,但是本公开不限于此。
[0050]
当接收到第四激活函数信息时,电子装置可以在第一激活函数信息和第二激活函数信息中识别与第四激活函数信息对应的激活函数信息。具体地,电子装置可以识别关于第四激活函数信息的类型信息是否对应于关于第二激活函数信息的类型信息s130。
[0051]“类型信息”可以包括当在神经网络模型中使用激活函数时关于计算速度的信息或当在神经网络模型中使用激活函数时关于学习性能的信息中的至少一个。具体地,电子装置可以基于关于每个激活函数的类型信息来识别特定激活函数是否是具有比其他激活函数相对更高的计算速度的激活函数,或者特定激活函数是否是具有相对高的学习性能的激活函数。
[0052]
此外,可以从外部设备接收类型信息和激活函数信息。例如,外部设备可以基于第四激活函数执行神经网络模型的学习过程,从而获取关于计算速度的信息或关于学习性能的信息中的至少一个。此后,外部设备可以以元数据的形式将包括关于第四激活函数的计算速度的信息或关于第四激活函数的学习性能的信息中的至少一个的类型信息与第四激活函数信息一起发送到电子装置。然后,电子装置可以从外部设备接收第四激活函数信息及其类型信息,并基于接收的类型信息识别第四激活函数信息是对应于存储在存储器中的第一激活函数还是第二激活函数。
[0053]
当在第一激活函数信息和第二激活函数信息中识别出对应于第四激活函数信息的激活函数信息时,电子装置可以将识别为对应于第四激活函数的激活函数信息替换为第四激活函数信息,并且使用识别为不对应于第四激活函数的激活函数以及第四激活函数信息来获取新的激活函数。此外,电子装置可以控制神经网络模型将神经网络模型中使用的激活函数信息改变(更新)为新的激活函数信息。
[0054]
具体地,当关于第四激活函数信息的类型信息对应于关于第二激活函数信息的类型信息时s130-是,电子装置可以将第一激活函数信息和第四激活函数信息输入到激活函数生成模块中,并且生成第五激活函数信息s140,并且控制神经网络模型将用于神经网络模型的激活函数信息的第三激活函数信息改变为其第五激活函数信息s150。术语“第五激活函数”是指基于第一激活函数信息和第四激活函数信息产生的激活函数信息。
[0055]
相反,当关于第四激活函数信息的类型信息对应于关于第一激活函数信息的类型信息时s130-否,电子装置可以将第二激活函数信息和第四激活函数信息输入到激活函数生成模块中以生成第六激活函数信息s160,并且控制神经网络模型将用于神经网络模型的激活函数信息的第三激活函数信息改变为其第六激活函数信息s170。术语“第六激活函数”是指基于第二激活函数信息和第四激活函数信息生成的激活函数信息。
[0056]
同时,基于第一激活函数信息和第二激活函数信息中的一个激活函数信息以及第四激活函数信息生成新激活函数信息的过程可通过如下所述的计算过程来执行。在下文中,将参照图2以及等式1至6详细描述第五激活函数中包括的每个项的含义以及用于生成第五激活函数的每个计算过程的含义。
[0057]
图2是示出根据本公开实施例的基于第一激活函数信息和第四激活函数信息生成第五激活函数信息的过程的视图。
[0058]
参照图2,第一激活函数(φ1(x))可以是relu函数。如图2的曲线图21所示,relu函数是这样的激活函数:如果从先前层发送的输入值是负的,则relu输出0,如果从先前层发送的输入值是正的,则relu照原样输出所发送的输入值。然而,参考图2的曲线图22,当输入值为负时,relu函数在反向传播期间发送0的梯度,这可能影响神经网络模型的学习(所谓的垂死relu问题)。同时,第四激活函数(φ4(x))可以是gelu函数。参考图2的曲线图23,gelu函数在所有部分中比relu函数具有更有意义的梯度,因此gelu函数比relu函数具有更好的学习性能。在下文中,将在根据本公开的第一激活函数(φ1(x))是relu函数,并且第四激活函数(φ4(x))是gelu函数的假设下描述本公开。
[0059]
如下面的等式1所示,可以通过将梯度函数(g(x))乘以梯度变换函数(s(x))s210的值加到第一激活函数s220来生成第五激活函数(φ5(x))。
[0060]
φ5(x)=φ1(x) s(x)g(x)...等式1
[0061]
参考下面的等式2和图2,“梯度函数(g(x))”可以通过从第四激活的导函数(φ
′4(x))中减去第一激活的导函数(φ
′1(x))来获得s230。此外,梯度函数(g(x))可以反映在第五激活函数(φ5(x))的梯度中,如下面参考等式5和6所述。换句话说,从第四激活函数(φ4(x))的梯度中减去第一激活函数(中1(x))的梯度的梯度差可以反映在第五激活函数(中5(x))的梯度中。
[0062]
g(x)=φ
′4(x)-φ
′1(x)...等式2
[0063]
参考下面的等式3和图2,“梯度变换函数(s(x))”可以是最大整数函数形式的函数
(地板函数)。然而,不限于此,梯度变换函数(s(x))可以实现为包括阶梯函数形式的各种函数。当梯度变换函数(s(x))被实现为等式3的最大整数函数时,梯度变换函数(s(x))的函数值总是小于1/k,并且梯度变换函数(s(x))的梯度在可微分区间中总是1。
[0064][0065]
由于梯度变换函数(s(x))的函数值总是小于1/k,如果k足够大,则第五激活函数(φ5(x))的函数值可以近似为第一激活函数(φ1(x))的函数值,如下面的等式4所示。换句话说,如果k值被设置为足够大的值,则神经网络模型可以在前馈过程中使用近似第一激活函数(φ1(x))的第五激活函数(φ5(x)),从而将神经网络模型的计算速度提高到接近使用第一激活函数(中1(x))时的水平。
[0066]
φ5(x)≈φ1(x)...等式4
[0067]
第五激活函数的导函数(中
′5(x))如下面的等式5所示。然而,如上所述,在可微分区间中,梯度变换函数(s(x))的梯度总是1,并且当k足够大时,梯度变换函数(s(x))的函数值接近0。因此,如下面的等式6所示,第五激活函数的导函数(φ
′5(x))近似于通过将梯度函数(g(x))加到第一激活函数的导函数(φ
′1(x))而获得的值。换句话说,如果k值被设置为足够大的值,则神经网络模型可以基于反映第四激活函数(φ4(x))的梯度的特征的梯度来更新包括在神经网络模型中的每个层的权重值,从而将神经网络模型的学习性能提高到接近使用第四激活函数(φ4(x))的情况的程度。
[0068]
φ
′5(x)=φ
′1(x) s

(x)g(x) s(x)g

(x)...等式5
[0069]
φ
′5(x)≈φ
′1(x) g(x)...等式6
[0070]
根据参考等式4和6的描述,第五激活函数(φ5(x))是通过基于第四激活函数(中4(x))变换第一激活函数(中1(x))的梯度而获得的激活函数,并且当神经网络模型在前馈过程中执行时,显示接近第一激活函数(中1(x))的特征,并且当神经网络模型在反向传播过程中执行时,显示反映第四激活函数(φ4(x))的特征的特征。换句话说,如图2所示,第五激活函数(φ5(x))具有接近于第一激活函数(φ1(x))的函数值的函数值,并且表示能够在反向传播过程中传递有意义的梯度的形式24和25,因为反映了第四激活函数(φ4(x))的梯度。
[0071]
如上所述,可能需要将k值设置为足够大的值,以近似梯度变换函数(s(x))的函数值。例如,k值超过105可能是优选的。同时,k值的上限可以在有意义的计算可能没有溢出的范围内确定。例如,k值可以小于10305,但是本公开不限于此。
[0072]
在上文中,上文参考等式1至6和图2描述的计算过程不限于上述示例,并且可以应用于根据本公开的基于两个不同的激活函数信息生成新的激活函数信息的过程。
[0073]
根据如上参考图1和图2所述的本公开的实施例,电子装置可以生成具有高计算速度和优秀学习性能的新激活函数,并且基于具有相对高计算速度的激活函数和具有相对高学习性能的激活函数来训练神经网络模型。
[0074]
此外,该电子装置可以基于最新的激活函数信息有效地更新现有的激活函数信息,并且持续地改善神经网络模型的性能。具体地,当根据本公开的电子装置以包括神经网络模型的设备上的形式实现时,电子装置可以使用从外部设备接收的激活函数信息来生成
具有高计算速度和高学习性能的激活函数,而无需将与用户隐私相关的敏感信息发送到外部设备,从而电子装置可以提高神经网络模型的性能。
[0075]
图3是示出根据本公开实施例的软件模块的架构的视图。
[0076]
参照图3,根据本公开实施例的软件模块可包括神经网络模型310、神经网络模型评估模块320和激活函数管理模块330。
[0077]
如上所述,神经网络模型310是包括人工神经网络的人工智能模型,并且可以在执行学习过程和推理过程中使用激活函数。具体而言,激活函数可以确定是否将从在前层发送的输入值发送到下一层,如果是,则确定输出值将被转换和发送到哪一层,并且激活函数的梯度可以用于更新包括在神经网络模型310中的每一层的权重值(参数)。
[0078]
神经网络模型评估模块320是指获得与神经网络模型310的学习性能相关的评估信息的模块。具体地,神经网络模型评估模块320可以获得关于神经网络模型310已经被训练了多少个时期(epoch)的信息,即,整个训练数据已经被训练了多少次。神经网络模型评估模块320可以在学习过程中获得关于损失的信息。此外,神经网络模型评估模块320可以使用与训练数据集分开构建的验证数据集来评估神经网络模型310。同时,神经网络模型评估模块320可以将获得的评估信息发送到激活函数确定模型。
[0079]
激活函数管理模块330统称为管理与激活函数信息相关的操作的模块,并可包括如图3所示的激活函数生成模块331、激活函数确定模块332和激活函数加载器333。
[0080]
激活函数生成模块331是指基于两种不同的激活函数信息生成新的激活函数信息的模块。具体地,如以上参照图1和图2所述,激活函数生成模块331可基于具有相对高的计算速度的激活函数信息31和具有相对优秀的学习性能的激活函数信息32,生成具有高计算速度和高学习性能的新激活函数信息。此外,尽管在图3中未示出,但是所生成的新激活函数信息也可以存储在存储器中,如具有高计算速度的激活函数信息31和具有优秀学习性能的激活函数信息32的激活函数信息。上面已经参考图1和图2描述了由激活函数生成模块331执行的详细计算过程,因此将省略重复的描述。
[0081]
激活函数确定模块332是指用于在多个激活函数信息中确定将由神经网络模型310使用的激活函数信息的模块。具体地,激活函数确定模块332可以基于从神经网络模型评估模块320接收的评估信息,在由激活函数生成模块331生成的激活函数信息和具有计算速度的激活函数信息31中确定在神经网络模型310中使用的激活函数信息。
[0082]
根据实施例,激活函数确定模块332可将激活函数生成模块331生成的激活函数信息确定为将在神经网络模型310中使用的激活函数信息。此后,如果在使用由激活函数生成模块331生成的激活函数信息执行神经网络模型310的学习过程的同时满足至少一个停止学习的预定条件,则激活函数确定模块332可以确定将在神经网络模型310中使用的激活函数信息替换为由激活函数生成模块331生成的激活函数信息中的具有高计算速度的激活函数信息31。
[0083]
换句话说,作为使用具有高学习速度和优秀学习性能的新激活函数执行神经网络模型310的学习过程的结果,如果识别出学习过程被充分执行以停止神经网络模型310的学习过程,则激活函数确定模块332可以确定替换将在神经网络模型310中使用的激活函数信息,以便使用具有比激活函数生成模块331生成的激活函数更高的计算速度的激活函数信息来执行神经网络模型310的推断过程。
[0084]
参照图4详细描述停止学习的至少一个预定条件以及将神经网络模型310中使用的激活函数信息替换为其他激活函数信息的详细示例。
[0085]
激活函数加载器333是指将激活函数确定模块332确定的激活函数信息加载到神经网络模型310中的模块。具体地,如果从激活函数确定模块332接收到加载所确定的激活函数的请求,则激活函数加载器333可以将所确定的激活函数信息加载到神经网络模型310中。然后,当由激活函数加载器333确定的激活函数信息被加载时,神经网络模型310可以使用加载的激活函数信息执行学习过程和推理过程。
[0086]
在上文中,已经参考图4描述了根据本公开实施例的软件模块,但是这仅用于更详细地描述本公开,并且不限于此。换句话说,根据本公开的软件模块可以用不包括至少一个如图4所示的软件模块或者还包括至少一个不同于图4的软件模块的模块的架构来实现。
[0087]
图4是流程图,示出了根据本公开实施例的涉及用其它激活函数信息替换当前神经网络模型中使用的激活函数信息的实施例。
[0088]
参照图4,如以上参照图1和图2所述,在基于具有高计算速度的第一激活函数信息和具有优秀学习性能的第四激活函数信息生成第五激活函数信息的假设下进行描述。如果基于第一激活函数信息和第四激活函数信息产生第五激活函数信息,则电子装置可以控制神经网络模型基于第五激活函数信息执行学习过程s410。基于第五激活函数信息执行学习过程的操作可以指在前馈过程中将第五激活函数信息的函数值从输入层发送到输出层以获取输出值,以及在后向传播过程中将第五激活函数信息的梯度从输出层发送到输入层以获取输出值以更新包括在神经网络模式中的每层的权重值。在根据本公开的神经网络模型的训练过程中使用的机器学习方法可以包括监督学习、非监督学习和强化学习的方法。
[0089]
当基于第五激活函数信息执行神经网络模型的学习过程时,电子装置可以识别是否满足至少一个停止学习的预定条件s420。停止学习的预定的至少一个条件可以包括以下情况中的至少一种:神经网络模型的训练已经进展超过预定数目的时期,神经网络模型的损失已经达到预定阈值或更小,神经网络模型已经饱和,或者基于数据集测量的神经网络模型的性能高于预定标准或更高。在描述本公开时,能够被“预定”意味着它可以被电子装置或用户进行的设置改变。
[0090]
如果在基于第五激活函数信息执行神经网络模型的学习过程时不满足停止学习的至少一个预定条件s420-否,则电子装置可以识别是否满足停止学习的至少一个预定条件。可以以预定时间间隔执行识别是否满足至少一个停止学习的预定条件的操作,并且该预定时间间隔可以通过电子装置或用户的设置来改变。
[0091]
如果在基于第五激活函数信息执行神经网络模型的学习过程的同时满足停止学习的至少一个预设条件s420-是,则电子装置可控制神经网络模型停止神经网络模型的学习过程s430,并控制神经网络模型基于第一激活函数信息执行神经网络模型的推断过程s440。基于第一激活函数信息执行推断过程意味着在前馈过程中通过将第一激活函数信息的函数值从输入层发送到输出层来获取输出值。
[0092]
如上所述,通过使用第五激活函数,神经网络模型的学习性能可以提高到接近使用第四激活函数的情况的程度,并且神经网络模型的计算速度可以提高到接近使用第一激活函数的情况的程度。然而,当使用第五激活函数时的计算速度仅仅接近于使用第一激活函数时的计算速度,并且可能比第一激活函数的计算速度慢。因此,优选地,在充分执行学
习性能之后,通过使用具有更快计算的第一激活函数信息来执行神经网络模型的推断过程。
[0093]
总之,根据上面参考图4描述的实施例,电子装置可以通过使用具有高学习速度和优秀学习性能的第五激活函数来执行神经网络模型的学习过程,并且在充分执行学习过程之后,使用具有较高计算速度的第一激活函数信息来执行神经网络模型的推断过程,即使其学习性能比第五激活函数差。
[0094]
图5至图7是示出根据生成第三激活函数信息和第五激活函数信息的主体是电子装置还是外部设备来分类的各种实施例的序列图。
[0095]
已经在第一激活函数信息、第二激活函数信息和第三激活函数信息存储在电子装置100的存储器中的前提下描述了图1和图2。然而,第三激活函数信息不仅可以在制造电子装置100的过程中存储在存储器中,还可以从外部设备200接收或者可以由电子装置100生成。同时,图1和图2描述了电子装置100可以从外部设备200接收第四激活函数信息,并基于第一激活函数信息和第四激活函数信息生成和获取第五激活函数信息的实施例。然而,根据本公开的另一实施例,外部设备200可以基于第一激活函数信息和第四激活函数信息产生第五激活函数信息,并且电子装置100可以从外部设备200接收第五激活函数以获取第五激活函数信息。
[0096]
因此,在下文中,参考图5至图7,基于生成第三激活函数信息和第五激活函数信息的主体是基于使用电子装置100还是外部设备200来划分本公开的各个实施例。然而,在图5至图7的以下描述中,在图1和图2的描述中将省略以上提供的冗余描述。
[0097]
图5是示出根据本公开实施例的在电子装置中生成第三激活函数信息和第五激活函数信息的实施例的序列图。
[0098]
参照图5,外部设备200可将第一激活函数信息和第二激活函数信息发送到电子装置100s510。因此,电子装置100可以从外部设备200接收第一激活函数信息和第二激活函数信息,以将它们存储在存储器中s520。此后,电子装置100可以基于第一激活函数信息和第二激活函数信息生成第三激活函数信息s530。然后,电子装置100可以控制神经网络模型使用第三激活函数信息s540。
[0099]
同时,外部设备200可将第四激活函数信息发送到电子装置100s550,因此,电子装置100可接收第四激活函数信息并将其存储在存储器中s560。此后,电子装置100可以基于第一激活函数信息和第二激活函数信息之一以及第四激活函数信息来产生第五激活函数信息570。然后,电子装置100可以控制神经网络模型使用第五激活函数信息s580。换句话说,电子装置100可以控制神经网络模型将神经网络模型中使用的激活函数信息从第三激活函数信息改变为第五激活函数信息。
[0100]
图6是示出根据本公开实施例的在外部设备中生成第三激活函数信息和在电子装置中生成第五激活函数信息的实施例的序列图。
[0101]
参照图6,外部设备200可将第一激活函数信息、第二激活函数信息和第三激活函数信息发送到电子装置100s610,因此,电子装置可从外部设备200接收第一激活函数信息、第二激活函数信息和第三激活函数信息,并将它们存储在存储器中s620。此后,电子装置100可以控制神经网络模型使用第三激活函数信息s630。
[0102]
同时,外部设备200可将第四激活函数信息发送到电子装置100s640,因此,电子装
置100可接收第四激活函数信息并将其存储在存储器中s650。此后,电子装置100可以基于第一激活函数信息和第二激活函数信息之一以及第四激活函数信息来产生第五激活函数信息s660。电子装置100可以控制神经网络模型使用第五激活函数信息s670。
[0103]
同时,已经在从外部设备200接收第一激活函数信息和第二激活函数信息以及第三激活函数信息的前提下描述了图6的描述,但是可以从外部设备200接收第一激活函数信息和第二激活函数信息以及第四激活函数信息。
[0104]
图7是用于解释根据本公开实施例的由外部设备200生成第三激活函数信息和第五激活函数信息的实施例的序列图。
[0105]
图7是示出在外部设备中生成第三激活函数信息和第五激活函数信息的实施例的序列图。
[0106]
参照图7,外部设备200可基于第一激活函数信息和第二激活函数信息产生第三激活函数信息s710。外部设备200可以将第三激活函数信息发送到电子装置100s720,因此,电子装置100可以接收第三激活函数信息并将其存储在存储器中s730。此后,电子装置100可以控制神经网络模型使用第三激活函数信息s740。
[0107]
同时,外部设备200可基于第一激活函数信息和第二激活函数信息之一以及第四激活函数信息来生成第五激活函数信息s750。外部设备200可将第五激活函数信息发送到电子装置100s760,因此,电子装置100可接收第五激活函数信息并将其存储在存储器中s770。此后,电子装置100可以控制神经网络模型使用第五激活函数信息s780。
[0108]
同时,已经在只有一个外部设备200向电子装置100发送激活函数信息的前提下描述了上面的描述,但是向电子装置100发送激活函数信息的外部设备200是多个的。例如,电子装置100可以从第一外部设备200接收第三激活函数信息,然后从不同于第一外部设备200的第二外部设备200接收第五激活函数。
[0109]
图8和图9是更详细地示出根据本公开的各种实施例生成的激活函数的特性的曲线图。
[0110]
参考图8和图9,以基于relu函数信息和gelu函数信息(以下在图8和图9的描述中称为g-relu函数信息)生成根据本公开的新激活函数信息的情况的示例来描述它们。
[0111]
图8是用于比较和解释relu函数810的函数值、gelu函数820的函数值和g-relu函数830的函数值的曲线图。参照图8,g-relu函数830的函数值示出了与relu函数810的函数值近似的形式。更具体地,与relu函数810的函数值不同,g-relu函数830的函数值以锯齿波的形式示出了近似于relu函数810的函数值的轨迹。这可表明,当神经网络模型正执行前馈过程时,g-relu函数可能具有与relu函数相似的特征。因此,如果神经网络模型使用g-relu函数,则神经网络模型的计算速度可以改进到接近使用relu函数的情况。
[0112]
同时,图9是用于比较和解释relu函数910的梯度、gelu函数920的梯度和g-relu函数930的梯度的曲线图。参照图9,g-relu函数930的梯度示出了近似于gelu函数920的梯度的形式。更具体地,与gelu函数920的梯度不同,g-relu函数930的梯度以锯齿波的形式示出了接近gelu函数920的梯度的轨迹。这意味着当神经网络模型正执行反向传播过程时,g-relu函数可以显示接近gelu函数的特征。因此,如果神经网络模型使用g-relu函数,则神经网络模型的学习性能可以提高到接近使用gelu函数的情况的程度。
[0113]
同时,梯度变换函数的k值被设置为10,并在图8和图9的曲线图中示出。然而,这仅
仅是为了允许清楚地和视觉上区分每个曲线,并且如以上在图2的描述中所述,优选地将梯度变换函数的k值设置为足够大的值,诸如超过105的值。并且,如果k值足够大,则g-relu函数的函数值将显示比图8所示更接近relu函数的函数值的形式,并且g-relu函数的梯度将显示比图9所示更接近relu函数的梯度的形式。
[0114]
同时,在上文中,relu函数已被描述为具有高计算速度的激活函数的示例,而gelu函数已被描述为具有优秀学习性能的激活函数的示例,但本公开不限于此。特别地,具有优秀学习性能的激活函数信息可以是swish函数信息。根据本公开,当基于relu函数信息和swish函数信息生成新的激活函数信息时,新的激活函数的函数值可以近似relu函数的函数值,并且新的激活函数的梯度可以近似swish函数的梯度。
[0115]
图10是示出根据本公开实施例的电子装置的配置的框图。
[0116]
参照图10,电子装置100可以包括通信器110、存储器120和处理器130。然而,这种配置是示例性的,并且除了该配置之外,可以添加新的配置或者可以省略一些组件。
[0117]
通信器110可包括电路,并与外部设备(包括服务器)进行通信。具体地,处理器130可以从通过通信器110连接的外部设备接收各种数据或信息,或者可以向外部设备发送各种数据或信息。
[0118]
通信器110可包括无线局域网(lan)模块和/或短距离通信模块。具体地,无线保真(wifi)芯片和bt芯片可以分别使用wifi方法和bt方法来执行通信。如果使用wi-fi模块或蓝牙模块,则首先发送和接收诸如子系统标识(ssid)、会话密钥等各种连接信息,并且在建立通信之后,可以发送和接收各种信息。
[0119]
无线通信模块可根据各种通信标准进行通信,例如电气和电子工程师协会(ieee)、zigbee、第三代(3g)、第三代合作伙伴计划(3gpp)、长期演进(lte)、第五代(5g)等。nfc模块表示以近场通信(nfc)方法操作的模块,该方法使用诸如135khz、13.56mhz、433mhz、860~960mhz、2.45ghz等的各种rf-id频带中的13.56mhz频带。
[0120]
特别地,在根据本公开的各种实施例中,电子装置100可以通过通信器110连接到外部设备。此外,处理器130可以通过通信器110从外部设备接收激活函数信息和关于激活函数信息的类型信息。具体地,处理器130可以通过通信器110从外部设备接收具有比存储在存储器120中的激活函数信息更高的计算速度的最新激活函数信息,或者具有比存储在存储器120中的激活函数信息更好的学习性能的最新激活函数信息。同时,处理器130可以控制通信器110向外部设备发送激活函数信息和关于激活函数信息的类型信息。
[0121]
与电子装置100相关的至少一个命令可以存储在存储器120中。此外,用于驱动电子装置100的操作系统(o/s)可以存储在存储器120中。此外,根据本公开的各种实施例,用于操作电子装置100的各种软件程序或应用可以存储在存储器120中。此外,存储器120可以包括诸如闪存的半导体存储器或者诸如硬盘的磁存储介质。
[0122]
具体地,根据本公开的各种实施例,用于操作电子装置100的各种软件模块可以存储在存储器120中,并且处理器130可以执行存储在存储器120中的各种软件模块以控制电子装置100的操作。换句话说,存储器120可以由处理器130访问,并且由处理器130对数据执行读出、记录、校正、删除、更新等。
[0123]
根据本公开的实施例,存储器120的术语可包括处理器130内的存储器120、只读存储器(rom)(未示出)、随机存取存储器(ram)(未示出),以及附接到电子装置100的存储卡
(未示出)(例如,微型安全数字(sd)卡或记忆棒)。
[0124]
具体而言,在根据本发明的各种实施例中,存储器120可存储神经网络模型和软件模块,例如神经网络模型评估模块、激活函数管理模块,具体而言,激活函数生成模块、激活函数确定模块、激活函数加载器等。此外,存储器120可以存储在制造过程中提供的、从外部设备接收的或者由电子装置100生成的各种激活函数信息。例如,存储器120可以存储根据本公开的第一激活函数信息、第二激活函数信息、第三激活函数信息、第四激活函数信息、第五激活函数信息和第六激活函数信息,以及每个激活函数信息的类型信息。
[0125]
此外,在实现本公开的目的的范围内所需的各种信息可存储在存储器120中,并且存储在存储器120中的信息可在从外部设备接收或由用户输入时更新。
[0126]
处理器130控制电子装置100的整体操作。例如,处理器130可以连接到如上所述的包括通信器110和存储器120的电子装置100的配置,并且执行存储在存储器120中的至少一个指令以控制电子装置100的整体操作。
[0127]
处理器130可以各种方法实现。例如,处理器130可以实现为专用集成电路(asic)、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(fsm)或数字信号处理器(dsp)中的至少一种。同时,在本公开中,术语处理器130可以指包括中央处理单元(cpu)、图形处理单元(gpu)、主处理单元(mpu)等的意思。
[0128]
根据本公开的各种实施例,处理器130可控制根据本公开的各种配置,以使用两种不同的激活函数生成具有高学习速度和优秀学习性能的激活函数。例如,在神经网络模型、用于生成用于神经网络模型的激活函数信息的激活函数生成模块、第一激活函数信息、第二激活函数信息以及基于第一激活函数信息和第二激活函数信息生成的第三激活函数信息被存储在存储器120中的状态下,处理器130可以通过通信器110从外部设备接收第四激活函数信息,并且如果关于第四激活函数信息的类型信息对应于关于第二激活函数信息的类型信息,则处理器130可以将第一激活函数信息和第四激活函数信息输入到函数生成模块中以生成第五激活函数信息,并且可以控制神经网络模型将神经网络模型中使用的激活函数信息从第三激活函数信息改变为第五激活函数信息。上面已经参照图1至图9描述了基于处理器130的控制的根据本公开的各种实施例,因此将省略重复的描述。
[0129]
同时,根据上述各种实施例的控制电子装置的方法可实现为程序,并在电子装置100中提供。具体地,包括控制电子装置100的方法的程序可以存储在非暂时性计算机可读介质中并在其中提供。
[0130]
具体而言,对于包括执行控制电子装置100的方法的程序的非暂时性计算机可读记录介质,控制电子装置100的方法可包括:存储神经网络模型、用于生成在神经网络模型中使用的激活函数信息的激活函数生成模块、第一激活函数信息、第二激活函数信息、以及基于第一激活函数信息和第二激活函数信息生成的第三激活函数信息;从外部设备接收第四激活函数信息,如果第四激活函数信息的类型信息对应于第二激活函数信息的类型信息,则将第一激活函数信息和第四激活函数信息输入到激活函数生成模块以生成第五激活函数信息;以及控制神经网络模型以将神经网络模型中使用的激活函数信息从第三激活函数信息改变为第五激活函数信息。
[0131]
非暂时性计算机可读记录介质表示半永久性存储数据并可由设备读取的介质,而不是临时存储数据的介质,如寄存器、高速缓存或存储器。详细地,上述各种应用或程序可
以存储在非暂时性计算机可读介质中,例如,光盘(cd)、数字通用光盘(dvd)、硬盘、蓝光光盘、通用串行总线(usb)、存储卡、只读存储器(rom)等,并且可以被提供。
[0132]
已经简要描述了控制电子装置100的方法和包括用于执行控制电子装置100的方法的程序的计算机可读记录介质,但是这仅仅是为了省略多余的描述,电子装置100的各种实施例可以应用于控制电子装置100的方法,并且计算机可读记录介质包括用于执行控制电子装置100的方法的程序。
[0133]
根据如上所述的本公开的各种实施例,电子装置100可基于具有相对高的计算速度的激活函数和具有相对高的学习性能的激活函数来生成具有高的学习速度和优秀学习性能的新的激活函数,以训练神经网络模型。
[0134]
电子装置100可基于最新的激活函数信息有效地更新相关技术的激活函数信息,以提高神经网络模型的性能。具体地,当根据本公开的电子装置100以包括神经网络模型的设备上的形式实现时,电子装置100可以使用从外部设备接收的激活函数信息来生成具有高计算速度和高学习性能的激活函数,以改善神经网络模型的性能,而无需向外部设备发送与用户隐私相关的敏感信息。
[0135]
此外,在通过使用具有高学习速度和优秀学习性能的新激活函数充分执行学习过程之后,电子装置100可停止学习过程,并使用具有比新激活函数较低学习性能但具有更高计算速度的激活函数信息来执行神经网络模型的推断过程,以最大化神经网络模型的计算速度。
[0136]
同时,通过处理器130和存储器120运行根据本公开的与人工智能相关的功能。处理器130可以由一个或多个处理器130组成。在这种情况下,一个或多个处理器130可以是例如cpu、ap或数字信号处理器(dsp)的通用处理器,例如gpu或视觉处理单元(vpu)的图形处理器,或者例如npu的人工智能处理器。一个或多个处理器130根据存储在存储器120中的预定操作规则或人工智能模型来控制处理输入数据。备选地,当一个或多个处理器130是仅人工智能处理器时,仅人工智能处理器可以设计有专用于处理特定人工智能模型的硬件结构。
[0137]
预定义的操作规则或人工智能模型的特征在于通过学习生成。通过学习生成可以指示通过学习算法使用多个学习数据来学习基本人工智能模型,从而生成预定义的操作规则或人工智能模型集来执行期望的特征(或目的)。这种学习可以在执行根据本公开的人工智能的设备上执行,或者可以通过单独的服务器和/或系统来执行。学习算法的例子可以包括监督学习、非监督学习、半监督学习或强化学习,但不限于上述例子。
[0138]
人工智能模型可由多个神经网络层组成。多个神经网络层中的每一个都具有多个权重值,并且通过在前一层的计算结果和多个权重值之间的计算来执行神经网络操作。多个神经网络层的多个权重值可以通过人工智能模型的学习结果来优化。例如,可以更新多个权重值,使得从人工智能模型获得的损失值或成本值在学习过程中减少或最小化。人工神经网络可以包括深度神经网络(dnn)、卷积神经网络(cnn)、深度神经网络(dnn)、递归神经网络(rnn)、受限玻尔兹曼机器(rbm)、深度信念网络(dbn)、双向递归深度神经网络(brdnn)或深度q网络,但不限于此。
[0139]
同时,设备可读的存储介质可以以非暂时性存储介质的形式提供。术语“非暂时性存储介质”是指有形设备,不包括信号(例如电磁波),并且该术语不区分数据永久存储在存
储介质中的情况和数据临时存储在存储介质中的情况。例如,“非暂时性存储介质”可以包括临时存储数据的缓冲器。
[0140]
根据实施例,根据本公开中公开的各种实施例的方法可被提供为包括在计算机程序产品中。计算机程序产品可以作为产品在卖方和买方之间交易。计算机程序产品可以以设备可读存储介质(例如,光盘只读存储器(cd-rom))的形式或者通过应用商店(例如,play storetm)来分发,或者可以在两个用户设备(例如,智能手机)之间直接或在线分发(例如,下载或上传)。在在线分发的情况下,至少一些计算机程序产品(例如可下载的应用)可以临时存储在设备可读的存储介质上,例如制造商的服务器、应用商店的服务器或中继服务器,或者可以临时生成。
[0141]
一般而言,或此外,一些组件(例如,模块或程序)可集成到一个实体中,并在集成之前执行由每个相应组件执行的相同或相似的功能。
[0142]
根据各种实施例,由模块、程序模块或其他组件执行的操作可以是顺序的、并行的或两者都是,迭代地或启发式地执行,或者至少一些操作可以以不同的顺序执行、省略,或者可以添加其他操作。
[0143]
本文使用的术语“单元”或“模块”包括由硬件、软件或固件组成的单元,并且可以与逻辑、逻辑块、组件或电路等术语互换使用。“模块”可以是执行一个或多个功能的整体构造的组件或最小单元或其一部分。例如,该模块可以用专用集成电路(asic)来配置。
[0144]
本公开的各种实施例可通过软件实施,包括存储在非暂时性机器(例如,计算机)可读存储介质中的指令。该机器可以从存储介质中调用所存储的指令,并且可以根据所调用的指令来操作,并且包括根据所公开的实施例的电子装置(例如,电子装置100)。
[0145]
当处理器执行指令时,处理器可使用其他组件或在处理器的控制下直接执行与指令对应的功能。指令可以包括由编译器或解释器生成或执行的代码。
[0146]
尽管已参照本发明的各种实施例对本发明进行了展示和描述,但本领域技术人员应理解,在不脱离所附权利要求及其等同物所限定的本发明的精神和范围的情况下,可对本发明进行各种形式和细节上的改变。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献