CN116648707A - 基于人工智能模型执行计算的电子装置及其操作方法 - Google Patents
基于人工智能模型执行计算的电子装置及其操作方法 Download PDFInfo
- Publication number
- CN116648707A CN116648707A CN202280008324.2A CN202280008324A CN116648707A CN 116648707 A CN116648707 A CN 116648707A CN 202280008324 A CN202280008324 A CN 202280008324A CN 116648707 A CN116648707 A CN 116648707A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- execution environment
- processor
- noise
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Telephone Function (AREA)
Abstract
根据各种实施例,提供了一种电子装置,包括存储器和至少一个处理器,其中,所述至少一个处理器被配置为:通过将噪声值应用于存储在电子装置中的人工智能模型中包括的多个层的至少一部分的权重值,获得反映了噪声值的权重值;当识别出用于执行所述人工智能模型的事件时,基于通过使用反映了噪声值的权重值对输入到所述多个层中的所述至少一部分的数据的计算,获得计算数据;以及基于获得的计算数据和反映的噪声值获得输出数据。
Description
技术领域
本公开涉及一种用于优化人工智能模型的电子装置及其操作方法。
背景技术
便携式数字通信装置已经成为现代人所必需的元素之一。消费者希望通过随时随地使用便携式数字通信装置来接收各种高质量服务。
最近,基于人工智能学习算法训练的人工智能模型被存储在便携式数字通信装置中,并且通过使用由便携式数字通信装置训练的人工智能模型获取的各种类型的数据被处理,使得可以提供各种高质量服务。
然而,随着管理人工智能模型所需的资源增加,对优化人工智能模型的计算过程的技术的需求增加,以管理便携式数字通信装置中的人工智能模型。
发明内容
技术问题
电子装置可以存储多个预训练的人工智能模型(例如,深度学习模型或机器学习模型)。预训练的人工智能模型可以包括多个层,并且可以包括用于对输入到多个层中的每个层的数据进行计算的至少一个参数(例如,权重值、激活函数和偏置)。电子装置可以基于人工智能模型的执行,通过使用包括在每个人工智能模型中的至少一个参数来处理数据,以便向用户提供各种类型的服务。然而,当人工智能模型存储在电子装置中并由电子装置执行时,存在关于人工智能模型的信息暴露于外部的可能性,这可能导致安全问题。另外,为了安全性增强,当在电子装置中的安全区域中存储和执行人工智能模型时,由于缺少分配给安全区域的计算装置,可能发生计算性能上的问题。
根据各种实施例,电子装置及其操作方法可以允许在安全环境中存储和执行预训练的人工智能模型,从而增强存储在电子装置中的人工智能模型的安全性。另外,根据各种实施例,当执行基于存储在安全环境中的人工智能模型的至少部分计算(例如,基于至少一些层的计算)时,电子装置及其操作方法可以使用在正常环境中分配的计算装置,并且防止用于计算的值暴露于外部(例如,应用噪声值),从而增强计算性能并保持增强的安全性。
技术解决方案
根据各种实施例,可提供一种电子装置,该电子装置包括存储器和至少一个处理器,其中,所述至少一个处理器被配置为:通过将噪声值应用于存储在电子装置中的人工智能模型中包括的多个层的至少一部分的权重值,获得应用了噪声值的权重值;当识别出用于执行人工智能模型的事件时,通过使用应用了噪声值的权重值,基于对输入到所述多个层的所述至少一部分的数据的计算,获得计算数据;并且基于获得的计算数据和应用的噪声值获得输出数据。
根据各种实施例,可提供一种电子装置的操作方法,所述方法包括:通过将噪声值应用于存储在电子装置中的人工智能模型中包括的多个层的至少一部分的权重值,获得应用了噪声值的权重值;当识别出用于执行人工智能模型的事件时,通过使用应用了噪声值的权重值,基于对输入到所述多个层的所述至少一部分的数据的计算,获得计算数据;并且基于获得的计算数据和应用的噪声值获得输出数据。
根据各种实施例,可以提供一种电子装置,所述电子装置包括存储器和至少一个处理器,其中,所述至少一个处理器被配置为:在可信执行环境中,通过将噪声值应用于存储在电子装置中的人工智能模型中包括的多个层的至少一部分的权重值,获得应用了噪声值的权重值;当识别出用于执行人工智能模型的事件时,在富执行环境中,通过使用应用了噪声值的权重值,基于对输入到所述多个层的所述至少一部分的数据的计算,获得计算数据;基于获取到计算数据,将所述电子装置的状态从富执行环境改变到可信执行环境;并且在可信执行环境中,基于获得的计算数据和应用的噪声值,获得输出数据。
根据各种实施例的技术方案不限于上述解决方案,并且本公开所属领域的技术人员可以从说明书和附图中清楚地理解未提及的其他解决方案。
有益效果
根据各种实施例,可以提供一种电子装置及其操作方法,其中,所述电子装置及其操作方法可以在安全环境中存储和执行预先存储的人工智能模型,从而增强存储在电子装置中的人工智能模型的安全性。
另外,根据各种实施例,当执行基于存储在安全环境中的人工智能模型的至少部分计算(例如,基于至少一些层的计算)时,电子装置及其操作方法可以使用分配在正常环境中的计算装置,并且防止用于计算的值暴露于外部(例如,应用噪声值),从而增强计算性能并保持增强的安全性。
附图说明
图1是根据各种实施例的网络环境中的电子装置的框图;
图2示出根据各种实施例的电子装置的配置的示例;
图3a示出根据各种实施例的包括单个处理器的电子装置的执行环境的示例;
图3b示出根据各种实施例的包括单个处理器的电子装置的执行环境的另一示例;
图3c示出根据各种实施例的包括多个处理器的电子装置的执行环境的示例;
图4a示出根据各种实施例的人工神经网络的示例;
图4b示出根据各种实施例的人工神经网络的另一示例;
图5a是示出根据各种实施例的电子装置的操作的示例的流程图;
图5b示出根据各种实施例的基于电子装置的应用的执行来选择人工智能模型的操作的示例;
图6a示出根据各种实施例的电子装置的在可信执行环境中的预计算操作的示例;
图6b示出根据各种实施例的根据预计算操作存储在电子装置中的值的示例;
图7示出根据各种实施例的通过使用电子装置的预计算值来基于人工智能模型执行计算操作的示例;
图8是示出根据各种实施例的电子装置的操作的示例的流程图;
图9示出根据各种实施例的电子装置的空闲状态和活动状态的示例;
图10是示出根据各种实施例的电子装置的操作的示例的流程图;
图11示出根据各种实施例的在电子装置的空闲状态下针对所选择的人工智能模型执行预计算操作的操作的示例;
图12是示出根据各种实施例的电子装置的操作的示例的流程图;
图13a示出根据各种实施例的针对电子装置的人工智能模型的层执行计算的操作的示例,其中,针对该层,没有预计算操作已经完成(或者没有预计算操作已经被执行);以及
图13b示出根据各种实施例的针对电子装置的人工智能模型的层执行计算的操作的示例,其中,针对该层,预计算操作已经完成。
具体实施方式
图1是示出根据各种实施例的网络环境100中的电子装置101的框图。参照图1,网络环境100中的电子装置101可经由第一网络198(例如,短距离无线通信网络)与电子装置102进行通信,或者经由第二网络199(例如,长距离无线通信网络)与电子装置104或服务器108中的至少一个进行通信。根据实施例,电子装置101可经由服务器108与电子装置104进行通信。根据实施例,电子装置101可包括处理器120、存储器130、输入模块150、声音输出模块155、显示模块160、音频模块170、传感器模块176、接口177、连接端178、触觉模块179、相机模块180、电力管理模块188、电池189、通信模块190、用户识别模块(SIM)196或天线模块197。在一些实施例中,可从电子装置101中省略上述部件中的至少一个(例如,连接端178),或者可将一个或更多个其它部件添加到电子装置101中。在一些实施例中,可将上述部件中的一些部件(例如,传感器模块176、相机模块180或天线模块197)实现为单个集成部件(例如,显示模块160)。
处理器120可运行例如软件(例如,程序140)来控制电子装置101的与处理器120连接的至少一个其它部件(例如,硬件部件或软件部件),并可执行各种数据处理或计算。根据一个实施例,作为所述数据处理或计算的至少部分,处理器120可将从另一部件(例如,传感器模块176或通信模块190)接收到的命令或数据存储到易失性存储器132中,对存储在易失性存储器132中的命令或数据进行处理,并将结果数据存储在非易失性存储器134中。根据实施例,处理器120可包括主处理器121(例如,中央处理器(CPU)或应用处理器(AP))或者与主处理器121在操作上独立的或者相结合的辅助处理器123(例如,图形处理单元(GPU)、神经处理单元(NPU)、图像信号处理器(ISP)、传感器中枢处理器或通信处理器(CP))。例如,当电子装置101包括主处理器121和辅助处理器123时,辅助处理器123可被适配为比主处理器121耗电更少,或者被适配为专用于特定的功能。可将辅助处理器123实现为与主处理器121分离,或者实现为主处理器121的部分。
在主处理器121处于未激活(例如,睡眠)状态时,辅助处理器123(而非主处理器121)可控制与电子装置101的部件之中的至少一个部件(例如,显示模块160、传感器模块176或通信模块190)相关的功能或状态中的至少一些,或者在主处理器121处于激活状态(例如,运行应用)时,辅助处理器123可与主处理器121一起来控制与电子装置101的部件之中的至少一个部件(例如,显示模块160、传感器模块176或通信模块190)相关的功能或状态中的至少一些。根据实施例,可将辅助处理器123(例如,图像信号处理器或通信处理器)实现为在功能上与辅助处理器123相关的另一部件(例如,相机模块180或通信模块190)的部分。根据实施例,辅助处理器123(例如,神经处理单元)可包括专用于人工智能模型处理的硬件结构。可通过机器学习来生成人工智能模型。例如,可通过人工智能被执行之处的电子装置101或经由单独的服务器(例如,服务器108)来执行这样的学习。学习算法可包括但不限于例如监督学习、无监督学习、半监督学习或强化学习。人工智能模型可包括多个人工神经网络层。人工神经网络可以是深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)、受限玻尔兹曼机(RBM)、深度置信网络(DBN)、双向循环深度神经网络(BRDNN)或深度Q网络或其两个或更多个的组合,但不限于此。另外地或可选地,人工智能模型可包括除了硬件结构以外的软件结构。
存储器130可存储由电子装置101的至少一个部件(例如,处理器120或传感器模块176)使用的各种数据。所述各种数据可包括例如软件(例如,程序140)以及针对与其相关的命令的输入数据或输出数据。存储器130可包括易失性存储器132或非易失性存储器134。
可将程序140作为软件存储在存储器130中,并且程序140可包括例如操作系统(OS)142、中间件144或应用146。
输入模块150可从电子装置101的外部(例如,用户)接收将由电子装置101的其它部件(例如,处理器120)使用的命令或数据。输入模块150可包括例如麦克风、鼠标、键盘、键(例如,按钮)或数字笔(例如,手写笔)。
声音输出模块155可将声音信号输出到电子装置101的外部。声音输出模块155可包括例如扬声器或接收器。扬声器可用于诸如播放多媒体或播放唱片的通用目的。接收器可用于接收呼入呼叫。根据实施例,可将接收器实现为与扬声器分离,或实现为扬声器的部分。
显示模块160可向电子装置101的外部(例如,用户)视觉地提供信息。显示装置160可包括例如显示器、全息装置或投影仪以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。根据实施例,显示模块160可包括被适配为检测触摸的触摸传感器或被适配为测量由触摸引起的力的强度的压力传感器。
音频模块170可将声音转换为电信号,反之亦可。根据实施例,音频模块170可经由输入模块150获得声音,或者经由声音输出模块155或与电子装置101直接(例如,有线地)连接或无线连接的外部电子装置(例如,电子装置102)的耳机输出声音。
传感器模块176可检测电子装置101的操作状态(例如,功率或温度)或电子装置101外部的环境状态(例如,用户的状态),然后产生与检测到的状态相应的电信号或数据值。根据实施例,传感器模块176可包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感器或照度传感器。
接口177可支持将用来使电子装置101与外部电子装置(例如,电子装置102)直接(例如,有线地)或无线连接的一个或更多个特定协议。根据实施例,接口177可包括例如高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端178可包括连接器,其中,电子装置101可经由所述连接器与外部电子装置(例如,电子装置102)物理连接。根据实施例,连接端178可包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。
触觉模块179可将电信号转换为可被用户经由他的触觉或动觉识别的机械刺激(例如,振动或运动)或电刺激。根据实施例,触觉模块179可包括例如电机、压电元件或电刺激器。
相机模块180可捕获静止图像或运动图像。根据实施例,相机模块180可包括一个或更多个透镜、图像传感器、图像信号处理器或闪光灯。
电力管理模块188可管理对电子装置101的供电。根据实施例,可将电力管理模块188实现为例如电力管理集成电路(PMIC)的至少部分。
电池189可对电子装置101的至少一个部件供电。根据实施例,电池189可包括例如不可再充电的原电池、可再充电的蓄电池、或燃料电池。
通信模块190可支持在电子装置101与外部电子装置(例如,电子装置102、电子装置104或服务器108)之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。通信模块190可包括能够与处理器120(例如,应用处理器(AP))独立操作的一个或更多个通信处理器,并支持直接(例如,有线)通信或无线通信。根据实施例,通信模块190可包括无线通信模块192(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(GNSS)通信模块)或有线通信模块194(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的相应一个可经由第一网络198(例如,短距离通信网络,诸如蓝牙、无线保真(Wi-Fi)直连或红外数据协会(IrDA))或第二网络199(例如,长距离通信网络,诸如传统蜂窝网络、5G网络、下一代通信网络、互联网或计算机网络(例如,LAN或广域网(WAN)))与外部电子装置进行通信。可将这些各种类型的通信模块实现为单个部件(例如,单个芯片),或可将这些各种类型的通信模块实现为彼此分离的多个部件(例如,多个芯片)。无线通信模块192可使用存储在用户识别模块196中的用户信息(例如,国际移动用户识别码(IMSI))识别并验证通信网络(诸如第一网络198或第二网络199)中的电子装置101。
无线通信模块192可支持在4G网络之后的5G网络以及下一代通信技术(例如新无线电(NR)接入技术)。NR接入技术可支持增强型移动宽带(eMBB)、大规模机器类型通信(mMTC)或超可靠低延时通信(URLLC)。无线通信模块192可支持高频带(例如,毫米波带)以实现例如高数据传输速率。无线通信模块192可支持用于确保高频带上的性能的各种技术,诸如例如波束成形、大规模多输入多输出(大规模MIMO)、全维MIMO(FD-MIMO)、阵列天线、模拟波束成形或大规模天线。无线通信模块192可支持在电子装置101、外部电子装置(例如,电子装置104)或网络系统(例如,第二网络199)中指定的各种要求。根据实施例,无线通信模块192可支持用于实现eMBB的峰值数据速率(例如,20Gbps或更大)、用于实现mMTC的丢失覆盖(例如,164dB或更小)或者用于实现URLLC的U平面延迟(例如,对于下行链路(DL)和上行链路(UL)中的每一个为0.5ms或更小,或者1ms或更小的往返)。
天线模块197可将信号或电力发送到电子装置101的外部(例如,外部电子装置)或者从电子装置101的外部(例如,外部电子装置)接收信号或电力。根据实施例,天线模块197可包括天线,所述天线包括辐射元件,所述辐射元件由形成在基底(例如,印刷电路板(PCB))中或形成在基底上的导电材料或导电图案构成。根据实施例,天线模块197可包括多个天线(例如,阵列天线)。在这种情况下,可由例如通信模块190(例如,无线通信模块192)从所述多个天线中选择适合于在通信网络(诸如第一网络198或第二网络199)中使用的通信方案的至少一个天线。随后可经由所选择的至少一个天线在通信模块190和外部电子装置之间发送或接收信号或电力。根据实施例,除了辐射元件之外的另外的组件(例如,射频集成电路(RFIC))可附加地形成为天线模块197的一部分。
根据各种实施例,天线模块197可形成毫米波天线模块。根据实施例,毫米波天线模块可包括印刷电路板、射频集成电路(RFIC)和多个天线(例如,阵列天线),其中,RFIC设置在印刷电路板的第一表面(例如,底表面)上,或与第一表面相邻并且能够支持指定的高频带(例如,毫米波带),所述多个天线设置在印刷电路板的第二表面(例如,顶部表面或侧表面)上,或与第二表面相邻并且能够发送或接收指定高频带的信号。
上述部件中的至少一些可经由外设间通信方案(例如,总线、通用输入输出(GPIO)、串行外设接口(SPI)或移动工业处理器接口(MIPI))相互连接并在它们之间通信地传送信号(例如,命令或数据)。
根据实施例,可经由与第二网络199连接的服务器108在电子装置101和外部电子装置104之间发送或接收命令或数据。电子装置102或电子装置104中的每一个可以是与电子装置101相同类型的装置,或者是与电子装置101不同类型的装置。根据实施例,将在电子装置101运行的全部操作或一些操作可在外部电子装置102、外部电子装置104或服务器108中的一个或更多个运行。例如,如果电子装置101应该自动执行功能或服务或者应该响应于来自用户或另一装置的请求执行功能或服务,则电子装置101可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分,而不是运行所述功能或服务,或者电子装置101除了运行所述功能或服务以外,还可请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分。接收到所述请求的所述一个或更多个外部电子装置可执行所述功能或服务中的所请求的所述至少部分,或者执行与所述请求相关的另外功能或另外服务,并将执行的结果传送到电子装置101。电子装置101可在对所述结果进行进一步处理的情况下或者在不对所述结果进行进一步处理的情况下将所述结果提供作为对所述请求的至少部分答复。为此,可使用例如云计算技术、分布式计算技术、移动边缘计算(MEC)技术或客户机-服务器计算技术。电子装置101可使用例如分布式计算或移动边缘计算来提供超低延迟服务。在另一实施例中,外部电子装置104可包括物联网(IoT)装置。服务器108可以是使用机器学习和/或神经网络的智能服务器。根据实施例,外部电子装置104或服务器108可被包括在第二网络199中。电子装置101可应用于基于5G通信技术或IoT相关技术的智能服务(例如,智能家居、智能城市、智能汽车或医疗保健)。
根据各种实施例的电子装置101可以是各种类型的电子装置之一。电子装置101可包括例如便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、电子装置或家用电器。根据本公开的实施例,电子装置101不限于以上所述的示例。
应该理解的是,本公开的各种实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考标号可用来指代相似或相关的元件。将理解的是,与术语相应的单数形式的名词可包括一个或更多个事物,除非相关上下文另有明确指示。如这里所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”以及“A、B或C中的至少一个”的短语中的每一个短语可包括在与所述多个短语中的相应一个短语中一起列举出的项的任意一项或所有可能组合。如这里所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可用于将相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要性或顺序)限制所述部件。将理解的是,在使用了术语“可操作地”或“通信地”的情况下或者在不使用术语“可操作地”或“通信地”的情况下,如果一元件(例如,第一元件)被称为“与另一元件(例如,第二元件)结合”、“结合到另一元件(例如,第二元件)”、“与另一元件(例如,第二元件)连接”或“连接到另一元件(例如,第二元件)”,则意味着所述一元件可与所述另一元件直接(例如,有线地)连接、与所述另一元件无线连接、或经由第三元件与所述另一元件连接。
如与本公开的各种实施例关联使用的,术语“模块”可包括以硬件、软件或固件实现的单元,并可与其他术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”)可互换地使用。模块可以是被适配为执行一个或更多个功能的单个集成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例,可以以专用集成电路(ASIC)的形式来实现模块。
可将在此阐述的各种实施例实现为包括存储在存储介质(例如,内部存储器136或外部存储器138)中的可由机器(例如,电子装置101)读取的一个或更多个指令的软件(例如,程序140)。例如,在处理器的控制下,所述机器(例如,电子装置101)的处理器(例如,处理器120)可在使用或无需使用一个或更多个其它部件的情况下调用存储在存储介质中的所述一个或更多个指令中的至少一个指令并运行所述至少一个指令。这使得所述机器能够操作用于根据所调用的至少一个指令执行至少一个功能。所述一个或更多个指令可包括由编译器产生的代码或能够由解释器运行的代码。可以以非暂时性存储介质的形式来提供机器可读存储介质。虽然术语“非暂时性”仅意味着所述存储介质是有形装置,并且不包括信号(例如,电磁波),但是该术语并不在数据被半永久性地存储在存储介质中与数据被临时存储在存储介质中之间进行区分。
根据实施例,可在计算机程序产品中包括和提供根据本公开的各种实施例的方法。计算机程序产品可作为产品在销售者和购买者之间进行交易。可以以机器可读存储介质(例如,紧凑盘只读存储器(CD-ROM))的形式来发布计算机程序产品,或者可经由应用商店(例如,Play StoreTM)在线发布(例如,下载或上传)计算机程序产品,或者可直接在两个用户装置(例如,智能电话)之间分发(例如,下载或上传)计算机程序产品。如果是在线发布的,则计算机程序产品中的至少部分可以是临时产生的,或者可将计算机程序产品中的至少部分至少临时存储在机器可读存储介质(诸如制造商的服务器、应用商店的服务器或转发服务器的存储器)中。
根据各种实施例,上述部件中的每个部件(例如,模块或程序)可包括单个实体或多个实体,并且多个实体中的一些实体可分离地设置在不同的部件中。根据各种实施例,可省略上述部件中的一个或更多个部件,或者可添加一个或更多个其它部件。可选择地或者另外地,可将多个部件(例如,模块或程序)集成为单个部件。在这种情况下,根据各种实施例,该集成部件可仍旧按照与所述多个部件中的相应一个部件在集成之前执行一个或更多个功能相同或相似的方式,执行所述多个部件中的每一个部件的所述一个或更多个功能。根据各种实施例,由模块、程序或另一部件所执行的操作可顺序地、并行地、重复地或以启发式方式来执行,或者所述操作中的一个或更多个操作可按照不同的顺序来运行或被省略,或者可添加一个或更多个其它操作。
在下文中,描述了根据各种实施例的电子装置(例如,图1的电子装置101)的配置的示例。以下描述中的电子装置可以如图1的上述电子装置101中所示实现,因此,将省略多余的描述。
图2示出根据各种实施例的电子装置101的配置的示例。然而,本公开不限于图2所示的元件,并且电子装置101可以被实现为包括比图2所示的元件更多或更少的元件。在下文中,参考图3a至图3c以及图4a和图4b描述图2。
图3a示出根据各种实施例的包括单个处理器250的电子装置101的执行环境的示例。图3b示出根据各种实施例的包括单个处理器250的电子装置101的执行环境的另一示例。图3c示出根据各种实施例的包括多个处理器(例如,第一处理器250a和第二处理器250b)的电子装置101的执行环境的示例。在图3a至图3c中,参考虚线划分的左侧和右侧可以分别包括不同的执行环境(例如,富执行环境(REE)310和可信执行环境(TEE))。图4a示出根据各种实施例的人工神经网络的示例。图4b示出根据各种实施例的人工神经网络的另一示例。
根据各种实施例,参照图2,电子装置101可以包括数据获取装置210(其包括相机211、麦克风213和通信电路215)、多个计算装置220、用于存储多个人工智能模型231、多个应用233和模块240(例如,噪声添加模块241、计算执行模块243和输出数据获取模块245)的存储器230以及处理器250。在下文中,描述电子装置101中包括的每个元件。
下面描述根据各种实施例的数据获取装置210。数据获取装置210可以被理解为用于对电子装置101中包括的装置中的用于获取内容的装置进行分类的逻辑概念。除了相机211、麦克风213和通信电路215之外,数据获取装置210还可以包括用于获取下面描述的各种类型的内容的各种类型的装置(例如,各种类型的传感器和触摸屏)。
根据各种实施例,数据获取装置210可以获取将基于下面将要描述的人工智能模型231被处理的各种类型的数据(或内容)。各种类型的数据可以包括电子文档和媒体数据,诸如图像、视频和音频数据,并且本公开不限于此,并且还可以包括可以由人工智能模型电子分析的各种类型的电子数据(例如,软件和传感器的值)。根据实施例,数据获取装置210通过执行和/或驱动安装(或存储)在电子装置101中的应用、程序和/或过程被驱动,以便获取各种类型的数据。例如,当执行和/或驱动相机应用时,电子装置101可以驱动相机211(例如,执行控制图像传感器的读出的操作)获取图像和/或视频作为数据。在另一示例中,当执行和/或驱动录音应用时,电子装置101可以驱动麦克风213获取诸如周围声音和/或用户话语的音频数据作为数据。在另一示例中,当执行和/或驱动基于web的应用时,电子装置101可以通过使用通信电路215来配置与媒体服务器的通信连接,并且获取诸如图像、视频和音频数据的媒体数据。在下文中,描述每个数据获取装置210的示例。
根据各种实施例,相机211可以捕获静止图像(或图像)或运动图像。根据实施例,至少一个相机211可以包括一个或多个透镜、图像传感器、图像信号处理器或闪光灯。根据实施例,电子装置101可以包括具有不同属性或功能(或目的)的相机211。例如,至少一个相机211可以包括具有不同角度的相机。例如,所述角度可包含114度到94度超广角、广角、84度到63度法向透镜、28度到8度长焦及6度到3度超长焦。在另一示例中,至少一个相机211可以包括设置在电子装置101的前表面上并捕获图像和/或拍摄视频的至少一个前置相机、以及设置在电子装置101的后表面上并捕获图像和/或拍摄视频的至少一个后置相机。
根据各种实施例,麦克风213可以从电子装置101的外部接收声音。例如,电子装置101(例如,处理器250)可以驱动麦克风213以通过麦克风213接收从外部生成的声音。从外部生成的声音可以包括扬声器(例如,用户和/或另一扬声器(或其他人))的语音(或话语)、住宅噪声和环境(背景)噪声。根据实施例,麦克风213可以包括多个麦克风213。电子装置101(例如,处理器250)可以形成波束成形,用于从使用多个麦克风213接收的声音中接收在电子装置101的指定方向上生成的声音。基于接收到的声音,在指定方向上获取的声音可以被定义为子声音。多个麦克风213可以在电子装置101中被布置为彼此间隔开预定距离,并且可以通过间隔距离和与要获取声音的方向相关联的相位或时间对通过每个麦克风213接收的声音执行信号处理,以便获取子声音。波束成形技术在本领域中是已知的,因此将省略详细描述。
根据各种实施例,通信电路215可以根据各种类型的通信方案与外部电子装置(例如,另一电子装置或服务器)形成通信连接,并且发送和/或接收数据。如上所述,通信方案可以通过其中配置诸如蓝牙和Wi-Fi直连的直接通信连接的通信方案来执行,但是本公开不限于此,并且可以包括使用接入点(AP)的通信方案(例如,Wi-Fi通信)或使用基站的蜂窝通信的通信方案(例如,3G、4G/LTE和5G)。通信电路215可以被实现为图1的上述通信模块190,因此将省略冗余描述。
在下文中,描述多个计算装置220。
根据各种实施例,多个计算装置220中的每一个可以被配置为基于存储在电子装置101中的人工智能模型231(或与之相关联)来执行计算(例如,矩阵计算(例如,矩阵乘法))。例如,多个计算装置220可以包括但不限于应用处理器(AP)(未示出)、中央处理单元(CPU)(未示出)、图形处理单元(GPU)221、显示处理单元(DPU)223或神经处理单元(NPU)(未示出)中的至少一个,并且可以包括用于计算的各种类型的处理器。在说明书中,包括在处理器中的多个核可以被理解为处理器250。例如,当数字信号处理器(DSP)被实现为包括多个核时,多个核中的每一个可以被理解为处理器250。与人工智能模型相关联的计算可以包括基于包括预先训练的层的人工智能模型231的计算(例如,矩阵计算、偏置计算和激活函数计算)。尽管下面进行了描述,但是多个计算装置220中的每一个可以被配置为在特定执行环境(例如,富执行环境(REE)310或可信执行环境(TEE)320)(或执行模式或处理器250)中执行计算。例如,富执行环境(REE)可以指代具有低安全级别的通用执行环境,并且可信执行环境(TEE)可以指代具有高安全级别的安全执行环境。安全执行环境可以例如在安全环境中存储需要相对高安全级别的数据,并执行相关操作。可信执行环境可以在安全域中操作,例如,通过将应用处理器或存储器划分为通用域和安全域,并且需要安全性的软件或硬件可以仅在安全区域中操作。例如,多个计算装置220中的大多数计算装置可以被配置为用于在富执行环境310中基于人工智能模型执行计算,并且多个计算装置220中的其余计算装置可以被配置为在可信执行环境320中执行计算。多个计算装置220的基于人工智能模型执行计算的操作可以在后台执行,但不限于在后台执行,并且还可以在前台执行。
根据各种实施例,可以预设与多个计算装置220中的每一个可使用的计算能力相关联的值。例如,与计算能力相关联的值可以包括但不限于32位值、16位值、8位值和4位值,并且可以配置有各种值,并且可以根据配置的值来确定用于计算的数字和类型的范围。例如,当计算装置的计算值配置有32位值时,计算装置可以以具有8位指数和24位尾数的浮点(32位浮点)为单位计算人工智能模型231中包括的权重。基于其他计算值可表示的类型和数字的范围在本领域中是已知的,因此将省略详细描述。
在下文中,描述根据各种实施例的人工智能模型231。
根据各种实施例,作为已经预先完成基于指定类型的学习算法的训练的人工智能模型231,多个人工智能模型231中的每一个可以是预先实现接收和计算各种类型的数据(或内容)并输出(或获取)结果数据的人工智能模型。例如,在电子装置101中,基于机器学习算法或深度学习算法执行学习,以通过使用指定类型的数据作为输入数据来输出特定类型的结果数据作为输出数据,并且生成多个人工智能模型231(例如,机器学习模型和深度学习模型),使得可以将生成的多个人工智能模型231存储在电子装置101中,或者可以将已经由外部电子装置(例如,外部服务器)完成训练的人工智能模型231发送到电子装置101并存储在电子装置101中。根据实施例,当从外部服务器接收(或下载)人工智能模型到电子装置101时,外部服务器可以相应于用于制造应用的第三方服务器或第三方生成应用的管理服务器,与要通过应用提供的功能相应的人工智能模型可以与应用一起注册在外部服务器中。因此,应用和相应的人工智能模型可以一起被从外部服务器发送到电子装置101(例如,下载到电子装置101中),但是本公开不限于此。机器学习算法可以包括但不限于诸如线性回归和逻辑回归的监督算法、诸如聚类、可视化和降维以及关联规则学习的无监督算法、以及强化算法,并且深度学习算法可以包括人工神经网络(ANN)、深度神经网络(DNN)和卷积神经网络(CNN),并且还可以包括各种学习算法。根据实施例,多个人工智能模型231中的每一个可以被配置为通过使用多个计算装置220中的特定计算装置来执行。因此,可以基于与预先配置为由特定计算装置使用的计算能力相关联的值来执行基于多个人工智能模型231中的每一个的计算(例如,以32位浮点的形式计算权重)。然而,本公开不限于此,并且可以从多个计算装置220中随机选择用于执行多个人工智能模型231中的每一个的计算装置。
根据各种实施例,已经完成学习的人工智能模型231可以包括用于计算输入数据的一个或多个参数(例如,权重值、激活函数或偏置中的至少一个),并且可以基于参数通过计算输入数据来获取输出数据。例如,如图4a所示,已经完成学习的人工智能模型231可以包括多个层(例如,第一层(第1层)和第二层(第2层)),并且对于多个层中的每一个,可以包括用于计算针对多个层中的每一个输入的输入数据(例如,X1向量)的权重值w1-1、w2-1和w3-1(或权重矩阵(W))、激活函数(例如,sigmoid函数和Relu函数)或偏置(或偏置向量(B))中的至少一个。层(例如,第一层(第1层)和第二层(第2层))可以被理解为通过对用于计算的值(例如,权重值、激活函数和偏置)进行分类而存储的逻辑概念。例如,参考图4a,人工智能模型231可以基于输入数据(X1、X2和X3)输入到第一层(第1层),通过将每个输入数据(X1、X2或X3)与为第一层(第1层)的每个节点配置的权重(例如,w1-1、w2-1或w3-1)相乘,将偏置(B)与通过乘以权重获得的每个输入数据相加,并将激活函数(δ(x))应用于相加后的结果来获取输出数据(Y1)。因此,如在下面的[等式1]中所示,关于人工智能模型231的特定层(例如,第1层),电子装置101可以执行下面的矩阵计算,并且用于计算的值可以被存储为每个层的权重矩阵和偏置矩阵。
[等式1]
Yn=δ(Xn×An+Bn)
在[等式1]中,n表示层的标识符(或序列),Xn表示针对每个层输入的数据,An表示每个层的权重矩阵,Bn表示每个层的偏置矩阵,并且δ表示激活函数。
可以将根据层(例如,第一层(第1层))中的计算输出的输出数据(例如,Y1矩阵)输入到下一层(例如,第二层(第2层)),并且可以基于第二层(第2层)的权重值、偏置或激活函数来计算输入的数据。因此,可以连续地执行人工智能模型的上述层的顺序计算,直到在输出层(未示出)中输出计算出的结果数据。本公开不限于以上描述或说明,并且根据实现目的,可以不实施偏置矩阵和/或激活函数。在另一示例中,如图4b所示,当基于CNN训练人工智能模型时,多个层可以包括各种类型的层,诸如用于计算输入数据(例如,X1 421)和获取结果数据423的池化层和卷积层。本公开不限于以上描述,可以根据本领域已知的技术来实现人工智能模型231,因此,将省略详细描述。
在下文中,描述根据各种实施例的处理器250。为了便于描述,下面描述和/或示出的处理器250与上述多个计算装置220区分开,但是处理器250可以是多个计算装置220中的一个。然而,本公开不限于此,并且处理器250可以相应于与多个计算装置220分开实现的处理器250。
根据各种实施例,处理器250可以包括应用处理器(AP)、中央处理单元(CPU)、图形处理单元(GPU)、显示处理单元(DPU)或神经处理单元(NPU)中的至少一个。可以根据存储在存储器230中的模块240(例如,计算执行模块243、噪声添加模块241和输出数据获取模块245)的执行来执行下面描述的处理器250的操作。例如,模块240的至少一部分(例如,计算执行模块243、噪声添加模块241和输出数据获取模块245)可以由软件、固件或其两个或更多个的组合来实现(例如,执行)。例如,模块可以以可由处理器250执行的过程、例程、指令、计算机代码、程序和应用的形式实现。因此,当模块240由处理器250执行时,模块240可以使处理器250执行与模块相关联的操作(或可以由模块提供的功能)。因此,在下文中,当特定模块执行操作时,这可以意味着:随着特定模块被执行,处理器250执行相应的操作。可选地,模块240可以被实现为特定应用的一部分。可选地,本公开不限于上面的描述和/或说明,并且每个模块可以被实现为与处理器250分离的硬件(例如,处理器或控制电路)。
根据各种实施例,处理器250可以基于在彼此间隔开的多个执行环境中执行的模块来执行操作。例如,可以实现在软件方面彼此间隔开的执行环境,或者可以实现在硬件方面彼此间隔开的执行环境。在下文中,描述执行环境中的每一个的示例。
在下文中,描述在软件方面间隔开的执行环境的示例(例如,图3a及图3b)。
根据各种实施例,如在图3a和图3b中所示,电子装置101可以被实现为基于在软件方面彼此分离(或独立)的多个执行环境来执行操作(或功能)。多个执行环境可以包括但不限于富执行环境(REE)310和可信执行环境(TEE)320,并且还可以包括可以被实现为彼此分离(或独立)的各种类型的执行环境。在这种情况下,多个执行环境可以被理解为单个处理器250的一种类型的执行模式。例如,在下面的图3a所示的电子装置101的情况下,处理器250可以在第一时间间隔内在富执行环境310中执行操作,或者可以在另一第二时间间隔内在可信执行环境320中执行操作。在这种情况下,分配给执行环境(例如,富执行环境310和可信执行环境320)中的每个执行环境的硬件和权限的类型可以彼此不同。在实施例中,可以存在分配给每个执行环境的不同数量的计算装置。参考图3a和图3b,每个图可以指示,参考虚线,位于左侧的硬件装置被分配给富执行环境310(或在富执行环境310中驱动),并且位于右侧的硬件装置被分配给可信执行环境320(或在可信执行环境320中驱动)。例如,参考图3a和图3b,与可信执行环境320相比,更多的计算装置被分配(或所有计算装置被分配)给富执行环境310,并且因此,处理器250可以在富执行环境310中基于相对更多的计算装置来执行操作。在另一实施例中,如图3a和图3b所示,存储器230的指定区域被分配给执行环境(例如,富执行环境310和可信执行环境320)中的每个执行环境,其中,在富执行环境310中,处理器250可以从存储器中的第一区域311读取数据并向存储器中的第一区域311写入数据(第一区域311被分配给富执行环境310),并且在可信执行环境320中,处理器250可以从存储器230中的第二区域321读取数据并向存储器230中的第二区域321写入数据(第二区域321被分配给可信执行环境320)。在另一实施例中,分配给执行环境的安全性和权限的类型可以彼此不同。例如,可信执行环境320的权限和安全性可以高于富执行环境310的权限和安全性。例如,在可信执行环境320中,处理器250可以访问存储器230中的第一区域311(第一区域311被分配给富执行环境310),以便从其中读取数据和在其中写入数据,但是在富执行环境310中,分配给可信执行环境320的硬件或信息(例如,存储器230中的第二区域321)可能是不可访问的。如图3a和图3b所示,人工智能模型231可以存储在可信执行环境320中的存储器230中的区域(例如,第二区域321)中,并且因此,处理器250可以不在富执行环境310中访问人工智能模型231。因此,关于人工智能模型231的信息可以不暴露于外部。
根据各种实施例,处理器250可以分别基于在不同执行环境中执行的模块来执行操作。例如,参照图3a和图3b,计算执行模块243可以被配置为在富执行环境310中被执行,并且噪声添加模块241和输出数据获取模块245可以被配置为在可信执行环境320中被执行。如上所述,基于可信执行环境320中的权限和安全性相对较高,处理器250可以不在富执行环境310中访问基于在可信执行环境320中执行的输出数据获取模块245和噪声添加模块241而获取的数据。然而,本公开不限于此,并且每个模块的执行环境可以以与上面的图示和/或描述不同的方式实现。在实施例中,如图3a中所示,处理器250可以基于用于切换执行环境的配置(例如,监视器模式247)来执行不同执行环境中的模块。例如,如图3a中所示,电子装置101的软件和硬件可以基于高级RISC机器(ARM)架构(ARM架构)来实现,并且在这种情况下,富执行环境310可以被定义为正常世界(或正常执行环境),并且可信执行环境320可以被定义为安全世界(或安全执行环境)。监视器模式247可以在安全世界(例如,可信执行环境320)中执行,并且可以在用于在世界(例如,正常世界(例如,富执行环境310)和安全世界(例如,可信执行环境320))之间执行切换的安全监视调用(SMC)命令被生成或者中断请求(IRQ)或快速中断请求(FIQ)被生成时执行世界之间的切换(或执行环境之间的切换)。例如,如图3a所示,当用于发起基于噪声添加模块241或输出数据获取模块245的操作的事件发生时,处理器250可以通过监视器模式247将当前执行环境切换(或改变)到可信执行环境320,以在可信执行环境320中执行基于噪声添加模块241或输出数据获取模块245的操作。在另一示例中,当用于通过监视器模式247将当前环境切换到富执行环境310并发起基于计算执行模块243的操作的事件发生时,处理器250可以在可信执行环境320中执行基于计算执行模块243的操作。尽管未示出,但是在每个执行环境中执行的操作系统(OS)可以包括在电子装置101中,并且每个OS可以在切换到每个执行环境时被执行。例如,处理器250可以在富执行环境310中执行富执行环境310的OS,并且可以在可信执行环境320中执行可信执行环境320的OS。如图3a所示,处理器250可以在彼此不重叠的不同时间间隔(或在不同时间点)基于每个执行环境执行操作(例如,在可信执行环境320中执行操作,然后在富执行环境310中执行操作,或者在富执行环境310中执行操作,然后在可信执行环境320中执行操作),但是本公开不限于上面的描述,并且可以基于两个执行环境同时执行操作。在另一实施例中,如图3b所示,处理器250可以通过使用在不同执行环境(例如,富执行环境310和可信执行环境320)中执行的虚拟OS和由虚拟OS管理的超级监视器(hypervisor)249来在不同执行环境(例如,富执行环境310和可信执行环境320)中执行的不同虚拟OS上执行模块(例如,噪声添加模块241、计算执行模块243和输出数据获取模块245)。如图3b中所实现的,可以以与图3a中的描述相同的方式执行由电子装置101在每个执行环境中执行每个模块240的操作,因此,将省略冗余描述。在这种情况下,处理器250可以在彼此不重叠的不同时间间隔内基于每个执行环境执行操作,但是本公开不限于上述描述,并且可以基于两个执行环境同时执行操作。如图3b所示的电子装置101的软件和硬件可以基于Intel的架构(例如,SGX(软件防护扩展)架构)来实现。
根据各种实施例,处理器250可以通过存储器中的区域(例如,第一区域311)的一部分共享数据,该区域被分配给富执行环境310。例如,在可信执行环境320中,处理器250可以将基于模块240的至少一部分(例如,噪声添加模块241)获取的数据写入存储器中的第一区域311(第一区域311被分配给富执行环境310)的一部分中,并且在富执行环境310中,当执行基于模块240的至少一部分(例如,计算执行模块243)的操作时,处理器250可以读取写入第一区域311的一部分中的数据。在另一示例中,在富执行环境310中,处理器250可以将基于模块240的至少一部分(例如,计算执行模块243)获取的数据写入(或存储)在存储器230中的第一区域311(第一区域被分配给富执行环境310)的一部分中,并且在可信执行环境320中,当执行基于模块240的至少一部分(例如,输出数据获取模块245)的操作时,处理器250可以读取(或获取)写入第一区域311的一部分中的数据。在这种情况下,特定模块(例如,噪声添加模块241、计算执行模块243和输出数据获取模块245)可以被预先配置为参考存储器230中的第一区域311的一部分。可选地,本公开不限于以上描述,并且执行环境之间的数据共享可以在数据被从可信执行环境320传输到富执行环境310或者数据被从富执行环境310传输到可信执行环境320的方案中执行。
在下文中,描述执行环境在硬件方面分离的示例(例如,图3c)。
根据各种实施例,如图3c所示,电子装置101可以被实现为基于彼此独立实现的硬件(例如,存储器230和计算装置)在多个执行环境中执行操作(或功能)。例如,在电子装置101中,不同类型的硬件(例如,处理器250a和250b、存储器230a和230b以及计算装置220)分别被分配给执行环境(例如,富执行环境310和可信执行环境320),并且可以分配不同的权限。例如,如图3c中所示,第一处理器250a可以在富执行环境310中执行单独且独立的操作系统,通过使用计算装置执行基于计算执行模块243的操作,并且从第一存储器230a读取数据并向第一存储器230a写入数据。在另一示例中,在可信执行环境320中,第二处理器250b可以执行与富执行环境310中的操作系统分离的独立操作系统,执行基于噪声添加模块241和输出数据获取模块245的操作,并且从第二存储器230b读取数据并向第二存储器230b写入数据。在这种情况下,第二处理器250b可以具有访问可信执行环境320中的第一存储器230a的权限。富执行环境310和可信执行环境320中的权限的描述与图3a和图3b中的描述相同,因此将省略冗余描述。在这种情况下,类似于上面的描述,处理器(例如,第一处理器250a和第二处理器250b)可以在彼此不重叠的时间间隔内在相应的执行环境中执行操作,但是本公开不限于上面的描述,并且可以基于两个执行环境同时执行操作。另外,如上所述,每个处理器(例如,第一处理器250a和第二处理器250b)可以通过第一存储器230a中的特定区域313a的一部分共享数据,其中,特定区域313a被分配给富执行环境310,但是本公开不限于此,并且执行环境之间的数据共享可以在不同类型的数据在相应的执行环境之间被传输的方案中执行。
在下文中,描述根据各种实施例的由处理器250执行的每个模块240的示例。如上所述,计算执行模块243可以在富执行环境310中执行,并且噪声添加模块241和输出数据获取模块245可以在可信执行环境320中执行。本公开不限于以上描述,并且模块240可以被实现为分别在不同的执行环境中执行。例如,电子装置101可以在可信执行环境320中基于人工智能模型的多个层中的第一层执行计算(即,被实现为基于第一层执行计算的计算执行模块243可以在可信执行环境320中执行),这将在下面详细描述。
根据各种实施例,噪声添加模块241可以基于人工智能模型231生成与计算相关联的噪声值(例如,权重噪声和输入噪声)。例如,噪声添加模块241可以识别人工智能模型231的多个层中的一些层,并且生成所识别的层的权重和将被应用于输入到所识别的层的数据的权重值。将在图5至图7中描述由噪声添加模块241识别一些层的操作。在实施例中,噪声添加模块241可以生成将被应用于人工智能模型231中包括的多个层中的一些层的权重值(例如,权重矩阵)的噪声值(下文中,称为权重噪声),并且可以将生成的噪声值应用于多个层中的一些层的权重值(例如,将生成的噪声值与多个层中的一些层的权重值相乘)。可以随机地生成权重噪声的值,并且可以在小于0.9的值或者等于或大于1.1的值的范围内随机地配置该值。在这种情况下,权重噪声的值可以与用于执行人工智能模型231的计算装置的计算能力(例如,32位或8位)成比例地配置。在另一实施例中,噪声添加模块241可以生成将被应用(例如,添加)到输入到人工智能模型231中包括的多个层的一部分的数据的噪声值(例如,噪声向量)(下文中,称为输入噪声)。可根据输入数据类型及大小(例如,向量的数目)确定输入噪声类型及数目,并且可在输入数据可具有的值范围内随机生成每一值。如下所述,噪声添加模块241可执行预先针对一些层生成并应用权重噪声的操作以及生成输入噪声的操作,并且可预先存储根据操作的执行而获取的数据(例如,应用了权重噪声的层的权重值、权重噪声、输入噪声和下面将在图5至图7中描述的噪声减法矩阵)。本公开不限于上文描述,并且噪声添加模块241可生成将被应用于激活函数及/或偏置向量的噪声值。
根据各种实施例,计算执行模块243可以基于人工智能模型231执行计算。例如,计算执行模块243可以基于由噪声添加模块241向其应用噪声值的人工智能模型231的层的权重值(例如,权重矩阵)和输入到应用了噪声值的层的输入数据(例如,输入数据矩阵)来执行计算(例如,矩阵乘法),以便获取输出数据。计算不限于以上描述,并且可以包括除矩阵乘法之外的各种类型的计算。
根据各种实施例,输出数据获取模块245可以通过从由计算执行模块243获取的输出数据中减去噪声值来获取输出数据。另外,当在计算输出数据的层中存在偏置时,输出数据获取模块245可以将偏置与所获取的输出数据相加,和/或当在层中存在激活函数时,输出数据获取模块245可以进一步执行将所获取的输出数据输入到激活函数的计算。在这种情况下,为了减少计算量,当对每个层执行计算时,处理器250可以预先获得并预先存储从由计算执行模块243获取的输出数据所计算的值(例如,将被相加的偏置和将被减去的噪声值的总和)作为一个值(或一个矩阵)。例如,处理器250(例如,噪声添加模块241)可以预先获得并预先存储将在下面描述的噪声减法矩阵(Tn)。此后,输出数据获取模块245可以将预先获得的噪声减法矩阵(Tn)应用于由计算执行模块243获取的计算数据,并且减去权重噪声,以便以相对较小的计算量获取去除了噪声值的输出数据。
在下文中,描述根据各种实施例的电子装置101的操作的实施例。
根据各种实施例,电子装置101可以在可信执行环境320中基于人工智能模型231的多个层的至少一部分来预先生成与计算相关联的噪声值。电子装置101可以将预先生成的噪声值应用于多个层的至少一部分的权重值以存储该权重值,然后当执行人工智能模型231时,在富执行环境310中基于应用了预先存储的噪声值的权重值来执行计算,以便获取基于计算的执行而获取的计算数据。电子装置101可以通过从在可信执行环境320中获取的计算数据中减去噪声值来获取输出数据,并且可以通过使用所获取的输出数据作为下一层的输入数据来连续地执行操作。
图5a是示出根据各种实施例的电子装置101的操作的示例的流程图500。图5a中所示的操作顺序不限于以上描述,并且可以根据各种顺序来执行操作。另外,根据各种实施例,可以执行比图5a中所示的操作更多或更少的操作。在下文中,参考图5b、图6a和图6b以及图7描述图5a。
图5b示出根据各种实施例的基于电子装置101的应用的执行来选择人工智能模型的操作的示例。图6a示出根据各种实施例的电子装置101的可信执行环境中的预计算操作的示例。图6b示出根据各种实施例的根据预计算操作存储在电子装置101中的值的示例。图7示出根据各种实施例的通过使用电子装置101的预计算值来基于人工智能模型执行计算操作的示例。
根据各种实施例,在操作501中,电子装置101可将噪声值应用于存储在电子装置101中的人工智能模型中包括的多个层的至少一部分的权重值,以便获取应用了噪声值的权重值。例如,如图6a中所示,电子装置101(例如,处理器250)可以在可信执行环境320中从人工智能模型231的多个层中选择至少部分层(n)(操作601),可以将权重噪声(zn)631应用于所选择的层(n)的权重值(例如,w)(或权重矩阵(An))并生成应用了具有应用于其的噪声值的权重值(例如,w')(或噪声(zn)631)的权重矩阵(An')633(操作603),并且可以生成将被应用于将在所选择的层(n)中输入的输入数据(Xn)的输入噪声(Rn)651(操作605),其中操作601、603和605的顺序不限于以上描述,并且可以根据各种顺序执行操作。操作601、603和605可以被定义为预计算操作。如图6a所示,当处理器250的执行环境(或执行模式)通过用于环境切换的FIQ或IRQ和监视器模式247切换到可信执行环境320时,处理器250可以执行操作(操作601、603和605)。然而,本公开不限于上面的描述,并且可以通过管理上述虚拟OS(例如,如图3a和3B中所示的实现示例)或者基于独立提供的硬件(例如,如图3c中所示的实现示例)来执行操作,因此,将省略冗余的描述。可以在电子装置101的空闲状态下执行预计算操作,并且因此,当电子装置101的状态是空闲状态时,可以将处理器250的执行环境切换到可信执行环境320以执行预计算操作。稍后将在图8和图9中描述空闲状态。根据实施例,电子装置101(例如,处理器250)可以针对存储在存储器230中的多个人工智能模型231中的每一个执行预计算操作(操作601、603和605)。在另一实施例中,电子装置101(例如,处理器250)可以仅针对多个人工智能模型231中的一些人工智能模型执行预计算操作。例如,人工智能模型的制造商、与人工智能模型相应的应用的制造商或人工智能模型的用户(或电子装置101的用户)可以预先确定是否执行针对人工智能模型的预计算操作,并且在电子装置101中预先存储指示是否执行预计算操作的信息。处理器250可以基于该信息针对多个人工智能模型231中的一些人工智能模型执行预计算操作。在下文中,将更详细地描述预计算操作。
根据各种实施例,电子装置101(例如,噪声添加模块241)可以选择多个人工智能模型231的一部分(例如,A模型)的多个层的一部分(n)。例如,噪声添加模块241可以选择在从人工智能模型(例如,A模型)的多个层中排除第一层之后剩余的层的一部分。第一层可以被定义为当输入数据(Xn)711被输入到人工智能模型(例如,A模型)时首先执行计算的层。在可信执行环境320中,处理器250可以基于第一层的权重、偏置和/或激活函数来对输入到第一层的数据进行计算,以便防止输入数据(Xn)711暴露于外部。然而,本公开不限于以上描述,并且噪声添加模块241还可从包含第一层的多个层当中选择层的一部分(n)。噪声添加模块241可以基于指定信息来选择层的一部分(n)。在实施例中,指定信息可以包括指示由人工智能模型(例如,A模型)或与人工智能模型(例如,模型)相关联的应用(例如,A应用)的制造商选择使得预计算操作将被执行的层(n)的信息。噪声添加模块241可以基于指示层的信息来选择人工智能模型(例如,A模型)中包括的多个层的一部分(n)。在另一实施例中,指定信息可以包括关于层的特征的信息。关于层的特征的信息可以指示包括在层中的权重值(An)(或权重矩阵)是否具有线性。噪声添加模块241可以基于层的特性从多个层中选择具有线性权重的一些层(n)。在另一实施例中,指定信息可以包括指示电子装置101的空闲资源的信息。例如,噪声添加模块241可以基于指示空闲资源的信息,与空闲资源的大小成比例地确定将从多个层中选择的层的数量。在这种情况下,根据所确定的数量选择的层可以是被配置为具有比未被选择的层更高的优先级的层。优先级可以由人工智能模型(例如,A模型)或与人工智能模型(例如,模型)相关联的应用(例如,A应用)的制造商预先确定。可以组合和执行所有上述实施例,但是本公开不限于此,并且可以仅执行一些实施例。
根据各种实施例,噪声添加模块241可以生成将被应用于所选择的层(n)的权重值(例如,w)(或权重矩阵(An))的噪声值(上述权重噪声(zn)631)。权重噪声(zn)631的值可以利用指定范围(例如,低于0.9的范围或高于1.1的范围)内的随机值来生成,权重噪声(zn)631的值可以根据如图2至图4所述的计算装置220的计算能力来确定,因此,将省略冗余描述。权重噪声(zn)631的值可分别在针对多个层指定的不同范围内生成,但本公开不限于此,并且权重噪声(zn)631的值可用相同值生成。噪声添加模块241可将所生成的权重噪声(zn)631应用于所选择的层(n)的权重值(w)(或权重矩阵(An))(例如,将所生成的权重噪声(zn)631与所选择的层的权重值(或权重矩阵(An))相乘),并且可存储应用了权重噪声(zn)的权重值(w')(或权重矩阵(An')633)。如图6a所示,噪声添加模块241可以将应用了权重噪声(zn)631的权重值(An)存储在存储器230中的特定区域313(特定区域313被分配给富执行环境310),以便允许在富执行环境310中使用其。在另一实施例中,噪声添加模块241可以将权重值(An)存储在如图3c中所示的存储器230a中的特定区域313a中。
根据各种实施例,噪声添加模块241可以生成将被添加到输入到所选择的层(n)的输入数据(Xn)711的噪声值(上述输入噪声(Rn)651)。例如,噪声添加模块241可以生成具有与输入到所选择的层(n)的输入数据(Xn)的大小(或数量)相应的大小的噪声向量,作为输入噪声(Rn)651。输入噪声(Rn)651的值(例如,r1、r2、r3或r4)可在指定范围(例如,输入数据(Xn)可具有的值的范围)内生成,且每一值(例如,r1、r2、r3或r4)可随机生成。噪声添加模块241可以将所生成的输入噪声(Rn)651存储在存储器230中的特定区域313(特定区域313被分配给富执行环境310),以便允许在富执行环境310中使用所生成的输入噪声(Rn)651。
根据各种实施例,如图6b中所示,电子装置101(例如,处理器250)可以预先存储针对在可信执行环境320中选择的每个层(n)生成的值(在下文中,称为预计算值)。例如,预计算值可以包括每个所选择的层(n)的权重噪声(zn)631、应用了权重噪声(zn)631的权重矩阵(An')633、输入噪声向量(Rn)651、偏置向量(Bn)和/或噪声减法矩阵(Tn)。可以如下面的[等式2]中所示获得噪声减法矩阵(Tn),并且如下面将要描述的,噪声减法矩阵(Tn)可以是用于从在富执行环境310中计算的计算数据(Yn')731执行减法的矩阵。当计算Tn时,可以与描述相反地实现每个值的(+,-),并且在这种情况下,可以从下面将描述的Yn'中减去Tn。
[等式2]
在[等式2]中,n表示所选择的层的标识符(或顺序),An表示每个所选择的层的权重矩阵,Rn表示每个所选择的层的输入噪声,zn表示每个所选择的层的权重噪声,并且Bn表示每个所选择的层的偏置向量。
如图6b所示,值的至少一部分可以存储在分配给可信执行环境320的存储器311中,并且可以在可信执行环境320中使用。值的至少一部分(例如,应用了噪声值的权重值(An'))可以被存储在存储器311中的特定区域313(特定区域313被预先分配在富执行环境310中)中,并且可以在富执行环境310中使用。在这种情况下,为了安全起见,值中的偏置向量(Bn)和/或噪声减法矩阵(Tn)可以不存储在存储器311中的特定区域313(特定区域313被分配在富执行环境310中)中,并且可以仅存储在分配给可信执行环境320的存储器311中。本公开不限于上面的描述和/或说明,并且例如,为了减少数据存储量,在这些值中,可以不存储输入噪声(Rn)和偏置(Bn),并且可以仅存储噪声减法矩阵(Tn)。
根据各种实施例,在操作503中,电子装置101可以确定是否已经发生用于执行人工智能模型的事件。例如,如图7所示,电子装置101可以基于指定应用(例如,A应用)的执行来识别用于执行与所执行的应用(例如,A应用)相关联的人工智能模型(例如,A模型)的事件的发生。在实施例中,电子装置101可以基于应用来执行指定的人工智能模型以执行功能。如图5b的510所示,相机应用511可以被实现为处理所获取的图像或视频并提供用于获取关于对象(或被摄体)的信息的模式513。因此,如图5b的520所示,当用户在相机应用511的执行屏幕上选择模式513时,电子装置101可以识别出已经发生了用于处理数据(或内容)的事件。电子装置101可以从多个人工智能模型231中识别被配置为与相机应用511相应(或被实现为提供与模式513相应的被摄体识别功能)的人工智能模型(例如,A模型)。识别出的人工智能模型(例如,A模型)可以被实现为响应于图像数据的输入而输出关于被摄体的信息(例如,被摄体存在的概率)。电子装置101可以基于相机应用511的执行来提供所获取的数据(例如,图像512和521)作为用于计算的输入数据。在另一实施例中,电子装置101还可以执行预先配置的与所执行的应用相关联的人工智能模型。在这种情况下,关于与每个应用相应的人工智能模型的信息被预先存储在电子装置101中,并且电子装置101(例如,处理器250)可以通过参考所存储的信息来识别和/或执行与所执行的应用相应的人工智能模型。
根据各种实施例,当确定已经发生了用于执行人工智能模型的事件时,电子装置101可以在操作505中通过使用应用了噪声值的权重值,基于对输入到多个层的至少一部分的数据的计算来获取计算数据,并且可以在操作507中基于所获取的计算数据和所应用的噪声值来获取输出数据。如图7所示,当基于已经发生执行事件的人工智能模型的多个层中的执行了预计算操作的一些层(n)执行计算时,电子装置101可以在可信执行环境320中将输入噪声(Rn)651应用于输入到所述层的数据(Xn)711,以便获取应用了输入噪声(Rn)651的数据(Xn')713(操作701);可以通过在富执行环境310中计算应用了输入噪声(Rn)651的数据(Xn')713和应用了权重噪声(zn)631的权重值(或矩阵(An')633)来获取计算数据(Yn')731(操作703);并且可以在可信执行环境320中从计算数据(Yn')731中减去噪声值(操作705)。操作701、703和705可以被定义为层计算操作。为了执行操作701、703和705,可以切换(或改变)电子装置101的执行环境。电子装置101(例如,处理器250)可以基于用于执行人工智能模型(例如,模型A)的事件的发生,通过将执行环境切换(改变或配置)到可信执行环境320来执行人工智能模型(例如,模型A)。此后,在可信执行环境320中执行操作701,并且在操作701完成之后,电子装置101的执行环境可以从可信执行环境320改变为富执行环境310。在富执行环境310中执行操作703,在操作703完成之后,可以将电子装置101的执行环境从富执行环境310改变为可信执行环境320,并且可以在可信执行环境320中执行操作705。电子装置101(例如,处理器250)可以在可信执行环境320中针对人工智能模型(例如,模型A)的第一层执行计算。例如,对于人工智能模型(例如,模型A)的第一层,电子装置101可以基于权重值(A1)、偏置(B1)和激活函数来执行正常计算,并且可以通过使用作为执行计算的结果而输出的数据来在剩余层的至少一部分中连续地执行上述层计算操作(操作701、703和705)。在下文中,可以进一步描述层计算操作(操作701、703和705)。
根据各种实施例,当用于执行当前计算的层相应于执行预计算操作的层时,处理器250(例如,噪声添加模块241)可以通过在可信执行环境320中将输入噪声(Rn)651应用(例如,添加)于输入到该层的输入数据(Xn)711来获取应用了输入噪声(Rn)651的输入数据(Xn')713。噪声添加模块241可以基于以上图6b中描述的预先存储的信息来识别针对执行当前计算的层的输入噪声(Rn)651,并且可以将所识别的输入噪声(Rn)651应用(例如,添加)到输入数据(Xn)711。噪声添加模块241可以将应用了输入噪声(Rn)651的输入数据(Xn')713存储在存储器230中的特定区域313中,其中,特定区域313被分配给富执行环境310。当存储应用了输入噪声(Rn)651的输入数据(Xn')713时,处理器250可以将执行环境切换到富执行环境310。
根据各种实施例,处理器250(例如,计算执行模块243)可以在富执行环境310中通过计算(例如,执行矩阵乘法)应用了输入噪声(Rn)651的输入数据(Xn')713和应用了权重噪声(zn)631的权重值(An')633来获取计算数据(Yn')731。计算执行模块243可以访问存储器230中的特定区域313(特定区域313被分配在富执行环境310中),并且可以识别应用了输入噪声(Rn)651的输入数据(Xn')713和应用了权重噪声(zn)的权重值(An')633。计算执行模块243可以将根据计算生成的计算数据(Yn')731存储在存储器230中的特定区域313中,其中,该特定区域313被分配给富执行环境310。当存储计算数据(Yn')731时,处理器250可以将执行环境切换到可信执行环境320。
根据各种实施例,处理器250(例如,输出数据获取模块245)可以在可信执行环境320中通过从计算数据(Yn')731减去噪声值来获取输出数据(Yn)751。例如,如下面的[等式3]所示,输出数据获取模块245可以通过从计算数据(Yn')731减去预先存储的权重噪声(zn)631(例如,将计算数据(Yn')731除以预先存储的权重噪声(zn)631)并将其与噪声减法矩阵(Tn)相加来获取输出数据。当计算Tn时,可以与描述相反地实现每个值的(+,-),并且在这种情况下,可以从下面描述的Yn'中减去Tn。本公开不限于以上描述,并且当在相应层中没有偏置时,可以从计算数据(Yn')731减去An*Rn/zn,而不是与噪声减法矩阵相加。
[等式3]
在[等式3]中,n表示执行计算的层的标识符(或顺序),Yn表示输出数据,Yn'表示计算数据,zn表示每个层的权重噪声,并且Tn表示[等式3]中的噪声减法矩阵。
根据各种实施例,处理器250可以使用所获取的输出数据(Yn)751作为下一层的输入数据来连续地执行计算。在这种情况下,当在执行当前计算的层中存在激活函数时,处理器250可以通过使用通过将激活函数应用于输出数据而输出的数据作为下一层的输入数据来继续执行计算。
根据各种实施例,当完成了当前层的计算时,处理器250可以从存储器230去除当前层的预计算值(例如,权重噪声(zn)631、应用了权重噪声(zn)631的权重矩阵(An')633、输入噪声向量(Rn)651、偏置向量(Bn)和/或噪声减法矩阵(Tn)),但是本公开不限于此。
各种实施例示出当在操作503中已经发生用于执行人工智能模型的事件时,电子装置101在操作505中基于预计算值执行计算。然而,本公开不受限制,并且可以在用于执行人工智能模型的事件发生之后执行操作503。例如,当已经发生用于执行人工智能模型的事件时,电子装置101可以生成层的值(例如,选择的层(n)中的每个层的权重噪声(zn)631、应用了权重噪声(zn)的权重矩阵(An')633、输入噪声向量(Rn)651、偏置向量(Bn)和/或噪声减法矩阵(Tn)),并且基于所生成的值对该层执行计算。
在下文中,描述根据各种实施例的电子装置101的操作的示例。
根据各种实施例,当电子装置101的状态是空闲状态时,电子装置101可以执行用于人工智能模型231的预计算操作。
图8是示出根据各种实施例的电子装置101的操作的示例的流程图800。图8中所示的操作的顺序不限于所示的顺序,并且可以根据各种顺序来执行。另外,根据各种实施例,可以执行比图8中所示的操作更多的操作或者比图8中所示的操作更少的至少一个操作。在下文中,参考图9描述图8。
图9示出根据各种实施例的电子装置101的空闲状态和活动状态的示例。
根据各种实施例,在操作801中,电子装置101可确定电子装置的状态是否相应于空闲状态。例如,电子装置101的状态可以包括空闲状态和活动状态。空闲状态指示处理器(例如,图3a和图3b的处理器250或图3c的第二处理器250b)具有足够的资源来在可信执行环境320中执行操作的状态,并且活动状态指示处理器(例如,图3a和图3b的处理器250或图3c的第二处理器250b)没有足够的资源来在可信执行环境320中执行操作的状态。资源可以包括处理器(例如,图3a和3B的处理器250或图3c的第二处理器250b)的使用或由处理器(例如,图3a和3B的处理器250或图3c的第二处理器250b)执行的进程(或操作、程序或应用)的数量中的至少一个。可以借助于各种类型的时间计数器来监视处理器的使用。在下文中,将描述根据电子装置101的上述实现示例(例如,图3a的实现示例、图3b的实现示例和图3c的实现示例)中的每一个确定电子装置101的空闲状态的操作的示例。
根据各种实施例,如图3a和图3b所示,当电子装置101在单个处理器250中实现并且处理器250有足够的资源时,电子装置101可确定电子装置101的状态相应于空闲状态。例如,当处理器250的资源具有等于或大于预配置值的值时,电子装置101可以确定电子装置101的状态相应于空闲状态,并且当资源具有小于预配置值的值时,电子装置101可以确定电子装置101的状态相应于活动状态。在实施例中,当处理器250的使用具有等于或大于预配置值的值时,电子装置101确定电子装置101的状态相应于活动状态,并且当资源具有小于预配置值的值时,电子装置101可以确定电子装置的状态相应于空闲状态。例如,如图9的901所示,被识别为处理器250执行至少一个应用的处理器250的使用可以具有等于或大于预配置值的值。至少一个应用可以以前台模式或后台模式执行。在这种情况下,电子装置101可以确定电子装置101的状态相应于活动状态。在另一示例中,当执行中的应用的数量小时(如图9中的902中所示),或者当不存在执行中的应用时(如图9中的903中所示),处理器250的使用可以具有小于预配置值的值。在这种情况下,电子装置101可以确定电子装置101的状态相应于空闲状态。在另一实施例中,当执行中的应用(或处理器或程序)的数量等于或大于预配置值时,电子装置101可以确定电子装置101的状态相应于活动状态,并且当执行中的应用(或处理器或程序)的数量小于预配置值时,电子装置101可以确定电子装置的状态相应于空闲状态。
根据各种实施例,当电子装置101被实现为如图3c所示的多个处理器(例如,第一处理器250a和第二处理器250b)时,电子装置101可以在处理器(例如,第二处理器250b)的足够资源被分配给可信执行环境320的情况下确定电子装置101的状态相应于空闲状态。如上所述,电子装置101可以基于预配置值与由处理器(例如,第二处理器250b)执行的应用(或进程或程序)的数量或分配给可信执行环境320的处理器(例如,第二处理器250b)的使用之间的比较来确定电子装置101的状态(例如,空闲状态或活动状态),因此,将省略冗余描述。根据由分配给可信执行环境320的处理器(例如,第二处理器250b)仅针对可信执行环境320执行的程序(例如,安全工具)是否正在执行,处理器(例如,第二处理器250b)的资源量可以变化。
根据各种实施例,当电子装置101的状态相应于空闲状态时,电子装置101可在操作803中执行至少一个预计算操作。例如,在可信执行环境320中,电子装置101可以基于将电子装置101的状态确定为空闲状态,针对多个人工智能模型231的至少一部分执行以下操作中的至少一个:从人工智能模型231的多个层中选择至少部分层(n)的操作(操作601)、将权重噪声(zn)应用于所选择的层(n)的权重值(例如,v)(或权重矩阵(An))以生成应用了噪声的权重值(例如,w’)(或应用了噪声(zn)的权重矩阵(An’)633)(操作603)、或者生成将被应用于将在所选择的层(n)中输入的输入数据(Xn)的输入噪声(Rn)651的操作(操作605)。可以如以上在电子装置101的操作501中描述的执行每个操作(操作601、603和605),因此,将省略冗余描述。
根据各种实施例,当电子装置101的确定的状态相应于活动状态时,电子装置101可以不执行预计算操作。
根据各种实施例,电子装置101可在操作805中确定电子装置的状态是否相应于活动状态,并且当电子装置的状态相应于活动状态时,电子装置101可在操作807中暂停预计算操作。例如,在执行预计算操作期间,电子装置101可以周期性地和/或非周期性地确定电子装置101的状态。确定电子装置101的状态的操作可以如上面的操作801中所描述的那样执行,并且因此,将省略多余的描述。当确定电子装置101的状态相应于活动状态时,电子装置101可以暂停预计算操作。此后,当电子装置101的状态改变为空闲状态并且人工智能模型231的预计算操作尚未完成时,电子装置101可以继续执行预计算操作。例如,对于人工智能模型231的多个层中未执行权重噪声应用或输入噪声生成中的至少一个的层,电子装置101可继续执行应用权重噪声或生成输入噪声的操作。
根据各种实施例,当确定电子装置101的状态相应于空闲状态时,电子装置101可以继续执行预计算操作。
在下文中,描述根据各种实施例的电子装置101的操作的示例。
根据各种实施例,电子装置101可以针对特定人工智能模型231执行预计算操作,直到根据针对特定人工智能模型231的预计算操作的执行,权重噪声被应用并且生成输入噪声的层数等于或大于(或超过)预先配置的数量。
图10是示出根据各种实施例的电子装置101的操作的示例的流程图1000。图10中所示的操作的顺序不限于所示的顺序,并且可以根据各种顺序来执行。另外,根据各种实施例,可以执行比图10中所示的操作更多的操作或比图10中所示的操作更少的至少一个操作。在下文中,将参考图11描述图10。
图11示出根据各种实施例的在电子装置101的空闲状态下针对所选择的人工智能模型执行预计算操作的操作的示例。
根据各种实施例,在操作1001中,电子装置101可确定电子装置101的状态是否相应于空闲状态,并且当电子装置101的状态相应于空闲状态时,电子装置可在操作1003中选择多个人工智能模型中的一个。例如,基于预配置值与处理器(例如,图3a和图3b的处理器250或图3c的第二处理器250b)的资源之间的比较,当资源具有等于或大于预配置值的值时,电子装置101可以确定电子装置101的状态相应于空闲状态,并且当资源具有小于预配置值的值时,电子装置101可以确定电子装置101的状态相应于活动状态。可以如上述电子装置101的操作501中所示执行确定电子装置101的状态的操作,因此,将省略多余的描述。当电子装置101的状态相应于空闲状态时,电子装置101可以从多个人工智能模型231中选择将针对其执行预计算操作的人工智能模型1100。例如,电子装置101可以从多个人工智能模型231中选择尚未完成预计算的至少一个人工智能模型1100。当预计算完成时,这可以意味着人工智能模型包括的多个层中已经完成预计算操作的层的数量等于或大于预配置值。在实施例中,当选择人工智能模型1100时,电子装置101可以从多个人工智能模型231中的尚未完成预计算操作的剩余人工智能模型中随机选择人工智能模型1100。在实施例中,当选择人工智能模型1100时,电子装置101可以根据指定的顺序从多个人工智能模型231中的尚未完成预计算操作的剩余人工智能模型中选择人工智能模型1100。根据指定的顺序选择人工智能模型1100可以包括比具有较低优先级的人工智能模型1100更早地选择具有较高优先级的人工智能模型。优先级可以与人工智能模型的复杂度成比例地配置。例如,人工智能中包括的层数越多或人工智能模型的能力越大,可以确定人工智能模型的复杂度高。在实施例中,当制造商预先确定特定人工智能模型不需要预计算时,电子装置101可以不针对该特定人工智能模型执行预计算操作。在这种情况下,多个人工智能模型231中的每一个可以包括指示是否需要执行预计算操作的信息,并且电子装置101可以仅针对包括指示需要预计算的信息的人工智能模型执行预计算操作。
根据各种实施例,电子装置101可在操作1005中将预先配置的数量与针对所选择的人工智能模型执行预计算操作的层的数量进行比较,当层的数量小于预先配置的数量时,在操作1007中选择多个层中的一个,并且在操作1009中生成所选择的层的预计算值。例如,如图11的1101所示,电子装置101可以识别是否已经针对所选择的人工智能模型1100中包括的多个层(例如,第一层、第二层、第三层…和第n层)完成了预计算操作。在实施例中,电子装置101可以识别存储在存储器(例如,分配给可信执行环境320的存储器321或分配给富执行环境310的存储器311中的特定区域313a)中的针对所选择的人工智能模型1100的多个层的至少一部分的预计算值,以便确定是否针对该层已经完成了预计算操作。如上文在图6b中所描述,预计算值可包含层(n)中的每一层的权重噪声(zn)、应用了权重噪声(zn)的权重矩阵(An')、输入噪声向量(Rn)、偏置向量(Bn)及/或噪声减法矩阵(Tn)。电子装置101可以确定在多个层中,存储预计算值的层相应于已经完成预计算操作的层,并且没有存储预计算值的层相应于没有完成预计算操作的层。在实施例中,电子装置101可以识别存储在存储器(例如,分配给可信执行环境320的存储器321或分配给富执行环境310的存储器311中的特定区域313a)中的指示针对所选择的人工智能模型1100的层的预计算的完成的信息,以便确定是否已经针对该层完成了预计算操作。例如,在完成特定层的预计算操作之后,电子装置101可以将指示预计算操作的完成的信息(例如,已经完成预计算操作的特定层的标识信息)存储在存储器(例如,分配给可信执行环境320的存储器321或分配给富执行环境310的存储器311中的特定区域313a)中。电子装置101可以识别指示预计算操作的完成的信息(该信息预先存储在存储器中),以便确定包括该信息的层相应于已经完成预计算操作的层,并且不包括该信息的层相应于尚未完成预计算操作的层。
根据各种实施例,电子装置101可以基于确定是否已经针对层完成预计算操作来识别已经完成预计算操作的层的数量。在实施例中,在对所选择的人工智能模型1100执行预计算操作之后,电子装置101可以预先存储关于已经完成预计算操作的层的数量的信息,并且可以基于对所存储的信息的识别来识别针对所选择的智能模型1100已经完成预计算操作的层的数量。电子装置101可以将预配置值(ε)与已经完成预计算操作的层的数量进行比较,并且基于比较的结果,当已经完成预计算操作的层的数量小于预配置值(ε)时,电子装置101可以对尚未完成预计算操作的层中的层的至少一部分执行预计算操作,如图11的1102中所示。如上所述,预计算操作可以包括:将权重噪声(zn)应用于所选择的层(n)的权重值(例如,w)(或权重矩阵(An))并生成应用了噪声的权重值(例如,w’)(或应用了噪声(zn)的权重矩阵(An')633)(操作603),以及生成将被应用于将被输入到所选择的层(n)的输入数据(Xn)的输入噪声(Rn)651的操作(操作605),因此,将省略冗余描述。基于已经完成预计算操作的层数与预配置值(ε)之间的比较结果,当已经完成预计算操作的层数大于预配置值(ε)时,电子装置101可以选择另一人工智能模型,其中,针对所述另一人工智能模型已经完成预计算操作的层数小于预配置值(ε)。预配置值(ε)可以是与多个人工智能模型231相关联的预存储值,但是可以被调整。另外,可以分别为多个人工智能模型231配置不同的值(ε)。例如,值(ε)可以由多个人工智能模型231中的每一个的制造商预先配置。
根据各种实施例,电子装置101可以从已经完成预计算操作的层中随机选择层,并且执行预计算操作。在这种情况下,如上所述,电子装置101可以不针对第一个层(例如,第一层)执行预计算操作。在实施例中,电子装置101可以根据已经完成预计算操作的层中的层的优先级来选择层,并且执行预计算操作。例如,优先级可以由人工智能模型1100或与人工智能模型1100相关联的应用的制造商预先确定。在另一示例中,人工智能模型1100的每个层的优先级可以在包括在该层中的值(例如,权重矩阵)的容量更大时被确定为更高。
根据各种实施例,在操作1007和1009之后,电子装置101可在操作1011中将预先配置的数量与已经完成预计算操作的层的数量进行比较,并且可在已经完成预计算操作的层的数量小于预先配置的数量时再次执行操作1007和1009。例如,电子装置101可以从尚未完成预计算操作的层中选择至少一个层,并且在完成预计算操作之后,执行将预配置值(ε)与已经完成预计算操作的层数再次进行比较的操作。基于比较的结果,当已经完成预计算操作的层的数量小于预配置值(ε)时,电子装置101可以对尚未完成预计算操作的层的至少一部分执行预计算操作。可替代地,当已经完成预计算操作的层数大于预配置值(ε)时,电子装置101可以完成(或暂停)所选择的人工智能模型1100的预计算操作。
在下文中,描述根据各种实施例的电子装置101的操作的示例。
根据各种实施例,当对特定人工智能模型执行计算时,电子装置101可以对特定人工智能模型的层执行正常计算操作(其中,针对该层,尚未完成预计算操作(或者尚未执行预计算操作)),并且电子装置101可以针对已经执行了预计算操作的层基于预计算值执行计算操作。
图12是示出根据各种实施例的电子装置101的操作的示例的流程图1200。图12中所示的操作的顺序不限于所示的顺序,并且可以根据各种顺序来执行操作。另外,根据各种实施例,可以执行比图10中所示的操作更多的操作或比图10中所示的操作更少的至少一个操作。在下文中,将参考图13a和13b描述图12。
图13a示出根据各种实施例的针对电子装置101的人工智能模型的层执行计算的操作的示例,其中,针对该层,没有预计算操作已经完成(或者没有预计算操作已经被执行)。图13b示出根据各种实施例的针对电子装置101的人工智能模型的层执行计算的操作的示例,其中,针对该层,预计算操作已经完成。
根据各种实施例,在操作1201中,电子装置101可以识别用于执行人工智能模型的事件的发生,并且发起基于人工智能模型的计算,并且可以在操作1203中选择人工智能模型的多个层中的一个。例如,电子装置101可以基于应用的执行获取用于执行人工智能模型(例如,人工智能模型A1300)的事件(例如,可以输入基于人工智能模型1300的用于处理数据的模型)。基于事件的发生,电子装置101可以将执行环境(或执行模式)改变为可信执行环境320,并且在可信执行环境320上识别人工智能模型1300。电子装置101可以从所识别的人工智能模型1300中包括的多个层中顺序地选择层。例如,电子装置101可以从多个层(例如,第一层、第二层、第三层…和第n层)中选择第一个层(例如,第一层),如图13a中所示。
根据各种实施例,在操作1205中,电子装置101可以确定是否存在所选择的层的预计算值。在实施例中,电子装置101可以识别人工智能模型1300的所选择的层(例如,第一层或第二层)的预计算值(例如,每个层(层#n)的权重噪声(zn)、应用了权重噪声(zn)的权重矩阵(An')、输入噪声向量(Rn)、偏置向量(Bn)和/或噪声减法矩阵(Tn))是否存在于存储器(例如,分配给可信执行环境320的存储器321或分配给富执行环境310的存储器311中的特定区域313a)中(或存储在电子装置101中)。在实施例中,电子装置101可以基于指示是否已经针对所选择的层(例如,第一层或第二层)完成预计算的信息(该信息被预先存储在存储器中)的识别,确定是否存在针对当前所选择的层的预计算值(例如,当存在指示针对层的预计算完成的信息时确定存在预计算值,或者当不存在指示针对层的预计算完成的信息时确定不存在预计算值)。
根据各种实施例,当不存在所选择的层的预计算值时,电子装置101可以在操作1207在可信执行环境中基于当前层的参数来执行计算。例如,电子装置101可以确定不存在当前选择的层(例如,第一层)的预计算值,如图13a中所示。在这种情况下,电子装置101可以基于所选择的层(层#n)(例如,第一层)的至少一个参数(例如,权重值(An)(例如,A1)、激活函数或偏置中的至少一个)在可信执行环境320中对输入数据执行计算。例如,电子装置101(例如,处理器250)可以获取输入数据(Xn)并且在可信执行环境320中对当前选择的层(例如,第一层)的权重值(例如,权重矩阵(An)(例如,A1))和获取的输入数据(Xn)执行计算(例如,矩阵乘法)。电子装置101可以对计算结果和层(例如,第一层)的偏置(Bn)执行计算(例如,矩阵加法),以获取通过当存在激活函数(例如,Relu)时应用激活函数而输出的输出数据。可以通过使用本领域已知的方法来执行人工智能模型中的层中的计算操作,因此将省略其详细描述。在获取输出数据之后,电子装置101在操作1217中确定当前层是否相应于最后一层,并且当当前层不相应于最后一层时,可以继续顺序地选择下一层(例如,第二层)并在操作1203中执行计算。
可选地,本公开不限于上面的描述和/或说明,并且当不存在所选择的层的预计算值时,电子装置101还可以基于另一层的预计算值对当前所选择的层执行计算操作。
根据各种实施例,当存在所选择的层的预计算值时,电子装置101可以在操作1209中获取当前层的预计算值,并且可以在操作1211中基于所获取的预计算值将输入数据添加到输入噪声以生成第一输入数据。例如,当如图13b中所示确定存在当前选择的层(层#n+1)(例如,第二层)的预计算值时,电子装置101可以基于预计算值执行计算。例如,电子装置101可以在可信执行环境320中将输入噪声添加到输入到当前层(层#n+1)(例如,第二层)的数据(例如,第一层的输出数据)(Xn+1),以获取应用了噪声的输入数据(Xn+1’),并且可以将应用了所获取的噪声的输入数据(Xn+1’)存储在分配给富执行环境310的存储器311中的特定区域313a中。电子装置101的操作1211可以以与电子装置101的获取计算数据的上述操作(操作505)相同的方式执行,因此,将省略冗余描述。
根据各种实施方式,在操作1213中,电子装置101可以对所生成的第一输入数据和应用了权重噪声的权重值执行计算,以便获取第一计算数据。例如,电子装置101可以将执行环境从可信执行环境320切换(或改变)到富执行环境310,并且在富执行环境310中,获取存储在存储器311中的特定区域313a中并且具有应用于其的噪声值的输入数据(Xn+1’)以及当前层(例如,第二层)的权重值(An+1’),其中,所述权重值具有应用于其的权重噪声。电子装置101可以对输入数据(Xn+1')和当前层(例如,第二层)的权重值(An+1')执行计算(例如,矩阵乘法),以便获取计算数据(Yn+1'),其中,所述权重值具有应用于其的权重噪声。电子装置101可以将获取的计算数据(Yn+1')存储在存储器311中的特定区域313a中。电子装置101的操作1213可以以与电子装置101的获取计算数据的操作(操作505)相同的方式执行,因此,将省略冗余描述。
根据各种实施例,在操作1215中,电子装置101可以基于第一计算数据和预先存储的噪声值来获取第一输出数据。例如,电子装置101可以将执行环境从富执行环境310切换到可信执行环境320,并且从存储器311中的特定区域313a获取当前层(例如,第二层)的计算数据(Yn+1')。电子装置101可以从计算数据(Yn+1')中消除噪声(例如,将计算数据(Yn+1')除以输入噪声(zn+1)并将其与Tn+1相加),以便获取输出数据(Yn+1)。可以以与电子装置101的获取输出数据的操作(操作507)相同的方式执行电子装置101的操作1213,因此,将省略冗余描述。
根据各种实施例,电子装置101可以在操作1217中确定当前层是否相应于最后一层,并且可以在当前层相应于最后一层时在1219中从输出层获取结果数据。例如,在当前选择的层相应于最后一层时,电子装置101可以获取最后一层的输出数据,作为结果数据。
根据各种实施例,当当前层不相应于最后一层时,在操作1203中,电子装置101可以选择人工智能模型的多个层中的一个以对所选择的层执行计算。例如,电子装置101可以确定当前层是否相应于最后一层,并且可以在当前层不相应于最后一层时继续顺序地选择下一层(例如,第三层)以执行计算。
根据各种实施例,可以提供一种电子装置(例如,图2的电子装置101),该电子装置(例如,图2的电子装置101)包括存储器(例如,图2的存储器230)和至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为:通过将噪声值(例如,图6a的zn)应用于存储在电子装置(例如,图2的电子装置101)中的人工智能模型中包括的多个层的至少一部分的权重值(例如,图6a的An),获得应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An');当识别出用于执行人工智能模型的事件时,通过使用应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An'),基于对输入到所述多个层的至少一部分的数据的计算,获得计算数据(例如,图7的Yn');以及基于获得的计算数据(例如,图7的Yn')和应用的噪声值(例如,图6a的zn)获得输出数据(例如,图7的Yn)。
根据各种实施例,可以提供电子装置(例如,电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为基于多个执行环境执行操作,多个执行环境包括富执行环境(例如,图3a至图3c的富执行环境310)和可信执行环境(例如,图3a至图3c的可信执行环境320),并且至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为:在可信执行环境(例如,图3a至图3c的可信执行环境320)中,生成噪声值(例如,图6a的zn)并将噪声值(例如,图6a的zn)应用于多个层中的至少一部分的权重值(例如,图6a的An);当识别到事件时,在富执行环境(例如,图3a至图3c的富执行环境310)中,通过使用应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An'),对输入到所述多个层的至少一部分的数据进行计算;并且在可信执行环境(例如,图3a至图3c的可信执行环境320)中,基于获得的计算数据(例如,图7的Yn')和应用的噪声值(例如,图6a的zn)获得输出数据(例如,图7的Yn)。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,存储器的第一部分(例如,图2的存储器230)被分配给富执行环境(例如,图3a和图3c的富执行环境310),存储器的第二部分(例如,图2的存储器230)被分配给可信执行环境(例如,图3a至图3c的可信执行环境320),并且至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为:在可信执行环境中(例如,图3a至图3c的可信执行环境320)中将应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An')存储在存储器的第一部分(例如,图2的存储器230)中,并且在富执行环境(例如,图3a至图3c的富执行环境310)中获得应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An')。
根据各种实施例,可提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为从指定范围内的值中选择噪声值(例如,图6a的zn),并且指定范围内的值包括小于0.9的值或者等于或大于1.1的值。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,电子装置(例如,图2的电子装置101)还可以包括用于基于人工智能模型执行计算的多个计算装置,其中,所述多个计算装置被分配给多个执行环境中的富执行环境(例如,图3a至图3c的富执行环境310),并且至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为在富执行环境(例如,图3a至图3c的富执行环境310)中通过使用所述多个计算装置基于应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An')对输入到多个层的至少一部分的数据进行计算。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为在可信执行环境(例如,图3a至图3c的可信执行环境320)中生成与将被输入到多个层的至少一部分的输入数据相应的第一噪声值(例如,图6a的Rn)。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为通过从将被输入的输入数据的值的范围中随机选择值来生成第一噪声值(例如,图6a的Rn)中的每一个。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为:当识别出用于执行人工智能模型的事件时,在可信执行环境(例如,图3a至图3c的可信执行环境320)中,通过将第一噪声值(例如,图6a的Rn)应用于输入到多个层的至少一部分的数据,获得应用了第一噪声值(例如,图6a的Rn)的数据,并且基于获得应用了第一噪声值(例如,图6a的Rn)的数据,将电子装置(例如,电子装置101)的执行环境从可信执行环境(例如,图3a至图3c的可信执行环境320)改变为富执行环境(例如,图3a至图3c的富执行环境310)。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为在富执行环境(例如,图3a至图3c的富执行环境310)中基于应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An')对应用了第一噪声值(例如,图6a的Rn)的数据进行计算。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为:在可信执行环境(例如,图3a至图3c的可信执行环境320)中,基于人工智能模型的多个层的至少一部分的权重值(例如,图6a的An)、噪声值(例如,图6a的zn)、第一噪声值(例如,图6a的Rn)和偏置生成第一值,并且将生成的第一值存储在存储器(例如,图2的存储器230)的一部分中。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为基于对预先存储的第一值和在富执行环境(例如,图3a至图3c的富执行环境310)中获得的计算数据(例如,图7的Yn')的计算,获得输出数据(例如,图7的Yn)。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为:识别电子装置(例如,图2的电子装置101)的状态,并且当电子装置(例如,图2的电子装置101)的状态相应于空闲状态时,在可信执行环境(例如,图3a至图3c的可信执行环境320)中生成噪声值(例如,图6a的zn)。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为:识别人工智能模型的多个层中的针对其生成噪声值(例如,图6a的zn)的层的数量;当识别出的层的数量小于预设值时,从未针对其生成噪声值(例如,图6a的zn)的层中选择部分层;并且生成与选择的部分层相关联的噪声值(例如,图6a的zn)。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为抑制生成与人工智能模型的多个层中的第一层相关联的噪声值(例如,图6a的zn)。
根据各种实施例,可以提供电子装置(例如,图2的电子装置101),其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为:当识别出事件时,识别针对人工智能模型的多个层的一部分的噪声值(例如,图6a的zn)是否存储在电子装置(例如,图2的电子装置101)中;当电子装置(例如,图2的电子装置101)中没有存储噪声值(例如,图6a的zn)时,在可信执行环境(例如,图3a至图3c的可信执行环境320)中基于所述多个层的所述一部分的权重值(例如,图6a的An)对输入到所述多个层的所述一部分的数据进行计算;并且当噪声值(例如,图6a的zn)被存储在电子装置(例如,图2的电子装置101)中时,在富执行环境(例如,图3a至图3c的富执行环境310)中,基于所述多个层的所述一部分的应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An),对输入到所述多个层的所述一部分的数据进行计算。
根据各种实施例,可提供一种电子装置(例如,图2的电子装置101)的操作方法,该方法包括:通过将噪声值(例如,图6a的zn)应用于存储在电子装置(例如,图2的电子装置101)中的人工智能模型中包括的多个层的至少一部分的权重值(例如,图6a的An),获得应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An');当识别出用于执行人工智能模型的事件时,通过使用应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An'),基于对输入到多个层的至少一部分的数据的计算,获得计算数据(例如,图7的Yn');并且基于获取的计算数据(例如,图7的Yn')和获取的噪声值(例如,图6a的zn)来获得输出数据(例如,图6a的Yn)。
根据各种实施例,可以提供操作方法,其中,至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为基于多个执行环境执行操作,并且所述多个执行环境包括富执行环境(例如,图3a至图3c的富执行环境310)和可信执行环境(例如,图3a至图3c的可信执行环境320),并且操作方法还可以包括:在可信执行环境(例如,图3a至图3c的可信执行环境320)中,生成噪声值(例如,图6a的zn)并将噪声值(例如,图6a的zn)应用于多个层的至少一部分的权重值(例如,图6a的An);当识别出事件时,在富执行环境(例如,图3a至图3c的富执行环境310)中,通过使用应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An')对输入到多个层的至少一部分的数据进行计算;并且在第三时间间隔内在可信执行环境(例如,图3a至图3c的可信执行环境320)中基于获得的计算数据(例如,图7的Yn')和应用的噪声值(例如,图6a的zn)获得输出数据(例如,图7的Yn)。
根据各种实施例,可以提供操作方法,其中,存储器的第一部分(例如,图2的存储器230)被分配给富执行环境(例如,图3a至图3c的富执行环境310),并且存储器的第二部分(例如,图2的存储器230)被分配给可信执行环境(例如,图3a至图3c的可信执行环境320),并且该方法可以包括:在可信执行环境(例如,图3a至图3c的可信环境320)中,在存储器的第一部分(例如,图2的存储器230)中存储应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An'),其中,第一部分被分配给富执行环境(例如,图3a至图3c的富执行环境310);以及在富执行环境(例如,图3a至图3c的富执行环境310)中获得应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An')。
根据各种实施例,可提供操作方法,其中,噪声值(例如,图6a的zn)被配置为从指定范围内的值中被选择,并且指定范围内的值包括小于0.9的值或者等于或大于1.1的值。
根据各种实施例,可以提供一种电子装置(例如,图2的电子装置101),该电子装置(例如,图2的电子装置101)包括存储器(例如,图2的存储器230)和至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b),其中,所述至少一个处理器(例如,图3a和图3b的处理器250、图3c的第一处理器250a和第二处理器250b)被配置为:在可信执行环境(例如,图3a至图3c的可信执行环境320)中,通过将噪声值(例如,图6a的zn)应用于存储在电子装置(例如,图2的电子装置101)中的人工智能模型中包括的多个层的至少一部分的权重值(例如,图6a的An),获得应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An');当识别出用于执行人工智能模型的事件时,在富执行环境(例如,图3a至图3c的富执行环境310)中,通过使用应用了噪声值(例如,图6a的zn)的权重值(例如,图6a的An'),基于对输入到多个层的至少一部分的数据的计算,获得计算数据(例如,图7的Yn');基于获得了计算数据(例如,图7的Yn'),将电子装置(例如,图2的电子装置101)的状态从富执行环境(例如,图3a至图3c的富执行环境310)改变为可信执行环境(例如,图3a至图3c的可信执行环境320);并且在可信执行环境(例如,图3a至图3c的可信执行环境320)中基于获得的计算数据(例如,图7的Yn')和应用的噪声值(例如,图6a的zn)获得输出数据(例如,图7的Yn)。
Claims (15)
1.一种电子装置,包括:
存储器;以及
至少一个处理器,其中,所述至少一个处理器被配置为:
通过将噪声值应用于存储在所述电子装置中的人工智能模型中包括的多个层的至少一部分的权重值,获得应用了噪声值的权重值,
当识别出用于执行所述人工智能模型的事件时,通过使用应用了噪声值的权重值,基于对输入到所述多个层中的所述至少一部分的数据的计算,获得计算数据,以及
基于获得的计算数据和应用的噪声值来获得输出数据。
2.根据权利要求1所述的电子装置,其中,所述至少一个处理器还被配置为基于多个执行环境来执行操作,并且所述多个执行环境包括富执行环境和可信执行环境,并且
其中,所述至少一个处理器被配置为:
在所述可信执行环境中,生成噪声值并且将噪声值应用于所述多个层的所述至少一部分的权重值;
基于识别出所述事件,通过在所述富执行环境中通过使用应用了噪声值的权重值对输入到所述多个层的所述至少一部分的数据进行计算,获得计算数据,以及
在所述可信执行环境中,基于获得的计算数据和应用的噪声值获得输出数据。
3.根据权利要求2所述的电子装置,其中,所述存储器的第一部分被分配给所述富执行环境,并且所述存储器的第二部分被分配给所述可信执行环境,并且
其中,所述至少一个处理器还被配置为:
在所述可信执行环境中,将应用了噪声值的权重值存储在所述存储器的第一部分中;以及
在所述富执行环境中获得应用了噪声值的权重值。
4.根据权利要求3所述的电子装置,其中,所述至少一个处理器被配置为:
从指定范围内的值中选择噪声值,并且所述指定范围内的值包括小于0.9的值或者等于或大于1.1的值。
5.根据权利要求2所述的电子装置,还包括:多个计算装置,用于基于所述人工智能模型执行计算,其中,所述多个计算装置被分配给所述多个执行环境中的所述富执行环境,
其中,所述至少一个处理器被配置为:
在所述富执行环境中,通过使用所述多个计算装置,基于应用了噪声值的权重值来对输入到所述多个层的所述至少一部分的数据进行计算。
6.根据权利要求2所述的电子装置,其中,所述至少一个处理器还被配置为:
在所述可信执行环境中,生成与将被输入到所述多个层的所述至少一部分的输入数据相应的第一噪声值。
7.根据权利要求6所述的电子装置,其中,所述至少一个处理器被配置为:
通过从所述输入数据的值的范围随机选择值来生成第一噪声值中的每一个。
8.根据权利要求6所述的电子装置,其中,所述至少一个处理器被配置为:
当识别出用于执行所述人工智能模型的事件时,通过在所述可信执行环境中将第一噪声值应用于输入到所述多个层的所述至少一部分的数据,获得应用了第一噪声值的数据,以及
基于获得应用了第一噪声值的数据,将所述电子装置的执行环境从所述可信执行环境改变为所述富执行环境。
9.根据权利要求8所述的电子装置,其中,所述至少一个处理器被配置为:
在所述富执行环境中,基于应用了噪声值的权重值来计算应用了第一噪声值的数据。
10.根据权利要求6所述的电子装置,其中,所述至少一个处理器被配置为:
在所述可信执行环境中,基于所述人工智能模型的所述多个层的所述至少一部分的权重值、噪声值、第一噪声值和偏置,生成第一值;
将生成的第一值存储在所述存储器的一部分中;以及
基于对预先存储的第一值和在所述富执行环境中获得的计算数据的计算来获得输出数据。
11.根据权利要求2所述的电子装置,其中,所述至少一个处理器被配置为:
识别所述电子装置的状态,以及
当所述电子装置的状态相应于空闲状态时,在所述可信执行环境中生成噪声值。
12.根据权利要求11所述的电子装置,其中,所述至少一个处理器还被配置为:
识别所述人工智能模型的所述多个层中生成噪声值的层的数量;
基于识别出的层的数量小于预设值,从未生成噪声值的层中选择部分层;以及
生成与选择的部分层相关联的噪声值。
13.根据权利要求12所述的电子装置,其中,所述至少一个处理器还被配置为:
抑制生成与所述人工智能模型的所述多个层中的第一层相关联的噪声值。
14.根据权利要求2所述的电子装置,其中,所述至少一个处理器被配置为:
当识别出所述事件时,识别针对所述人工智能模型的所述多个层的一部分的噪声值是否存储在所述电子装置中,
当所述电子装置中没有存储噪声值时,在所述可信执行环境中,基于所述多个层的所述一部分的权重值,对输入到所述多个层的所述一部分的数据进行计算,以及
当噪声值被存储在所述电子装置中时,在所述富执行环境中,基于所述多个层的所述一部分的应用了噪声值的权重值,对输入到所述多个层的所述一部分的数据进行计算。
15.一种电子装置的操作方法,所述方法包括:
通过将噪声值应用于存储在所述电子装置中的人工智能模型中包括的多个层的至少一部分的权重值,获得应用了噪声值的权重值;
当识别出用于执行所述人工智能模型的事件时,通过使用应用了噪声值的权重值,基于对输入到所述多个层中的所述至少一部分的数据的计算,获得计算数据;以及
基于获得的计算数据和应用的噪声值来获得输出数据。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0013108 | 2021-01-29 | ||
KR10-2021-0054594 | 2021-04-27 | ||
KR1020210054594A KR20220110024A (ko) | 2021-01-29 | 2021-04-27 | 인공 지능 모델에 기반하여 연산을 수행하는 전자 장치 및 그 동작 방법 |
PCT/KR2022/000803 WO2022164104A1 (ko) | 2021-01-29 | 2022-01-17 | 인공 지능 모델에 기반하여 연산을 수행하는 전자 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116648707A true CN116648707A (zh) | 2023-08-25 |
Family
ID=87615712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280008324.2A Pending CN116648707A (zh) | 2021-01-29 | 2022-01-17 | 基于人工智能模型执行计算的电子装置及其操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116648707A (zh) |
-
2022
- 2022-01-17 CN CN202280008324.2A patent/CN116648707A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200150598A1 (en) | Method for processing data using neural network and electronic device for supporting the same | |
US20230053891A1 (en) | Electronic device for generating mnemonic phrase of private key and operation method in the electronic device | |
CN116250243A (zh) | 用于控制无线音频输出装置的连接的方法和设备 | |
US11195541B2 (en) | Transformer with gaussian weighted self-attention for speech enhancement | |
US20230156394A1 (en) | Electronic device for sensing touch input and method therefor | |
EP4394568A1 (en) | Method for displaying execution screen of application, and electronic device for supporting same | |
US11929079B2 (en) | Electronic device for managing user model and operating method thereof | |
US11849289B2 (en) | Electronic device for outputting sound and method for operating the same | |
EP4231201A1 (en) | Electronic device that performs calculations on basis of artificial intelligence model, and operating method therefor | |
CN116648707A (zh) | 基于人工智能模型执行计算的电子装置及其操作方法 | |
US20220343106A1 (en) | Electronic device for processing data based on artificial intelligence model and method for operating the same | |
KR20220110024A (ko) | 인공 지능 모델에 기반하여 연산을 수행하는 전자 장치 및 그 동작 방법 | |
US20220004841A1 (en) | Electronic device for rearranging kernels of neural network and operating method thereof | |
US20240201644A1 (en) | Display control method and electronic device for supporting same | |
EP4296904A1 (en) | Electronic apparatus for processing neural network model and operating method therefor | |
US20230123312A1 (en) | Electronic device including neural processing unit supporting different data types and method for controlling the same | |
US11899852B2 (en) | Electronic device and operation method thereof | |
US20230113030A1 (en) | Method for performing wireless communication and electronic device supporting the same | |
US20230164703A1 (en) | Method for controlling signal and wearable device supporting the same | |
EP4372619A1 (en) | Electronic device and method for driving models on basis of information commonly used by models | |
US11282167B1 (en) | Electronic device including flexible display and method of operation thereof | |
US12126749B2 (en) | Electronic device with keyless sensor | |
US12035462B2 (en) | Electronic device and printed circuit board including structure for removing electrical stress | |
US20220245423A1 (en) | Electronic device, user terminal, and method for running scalable deep learning network | |
EP4261688A1 (en) | Electronic device for performing test for detecting fault of electronic device, and method by which electronic device performs test for detecting fault of electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |