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

电子装置及其操作方法与流程

2022-11-30 09:24:32 来源:中国专利 TAG:

电子装置及其操作方法
1.相关申请的交叉引用
2.本专利申请文件要求于2021年5月26日提交的申请号为10-2021-0067928的韩国专利申请的优先权和权益,该韩国专利申请通过引用整体并入本文。
技术领域
3.本专利申请文件中公开的技术涉及一种电子装置及其操作方法。


背景技术:

4.神经网络是指通过对生物大脑进行建模而获得的计算架构。随着近来神经网络技术的发展,正在积极地进行基于各种类型电子系统中的一个或多个神经网络模型从输入数据中提取有效信息的研究。卷积运算占据了神经网络模型所需运算的很大一部分。


技术实现要素:

5.所公开技术的实施例提供了一种电子装置及其操作方法,其能够在提高包括模数转换器的神经网络模型的准确度的同时减少模数转换器的面积和功耗。
6.根据所公开技术的实施例,一种电子装置包括:多个模数转换器,每个模数转换器被配置为接收模拟输入信号并输出与模拟输入信号相对应的数字输出信号;模拟输入信号生成器,被配置为基于对多个输入电压和多个权重数据进行的运算,生成被提供到多个模数转换器中的每一个的模拟输入信号;输入信号分布信息生成器,被配置成为多个模数转换器中的每一个生成输入信号分布信息,该输入信号分布信息指示模拟输入信号的分布;模数转换器组分类器,被配置为基于多个模数转换器的输入信号分布信息将多个模数转换器分类为多个第一模数转换器组;以及模数转换器输入范围优化器,被配置为基于多个模数转换器的输入信号分布信息来确定多个第一模数转换器组中的每一组的输入范围,并且多个模数转换器中的每一个被配置为根据多个第一模数转换器组之中的相应第一模数转换器组的输入范围进行操作。
7.根据所公开技术的实施例,一种操作电子装置的方法包括:将多个模数转换器分类为多个默认模数转换器组,使用基于多个输入电压和多个权重数据的运算为多个模数转换器生成模拟输入信号,基于模拟输入信号生成多个默认模数转换器组的输入信号分布信息,基于多个默认模数转换器组的输入信号分布信息将多个默认模数转换器组分类为多个第一模数转换器组,基于多个默认模数转换器组的输入信号分布信息确定多个第一模数转换器组中的每一组的输入范围,并且控制多个模数转换器根据多个第一模数转换器组之中的相应第一模数转换器组的输入范围进行操作。
8.根据本技术,提供了一种电子装置及其操作方法,其能够在提高包括模数转换器的神经网络模型的准确度的同时减少模数转换器的面积和功耗。
附图说明
9.图1是示出根据所公开技术的实施例的计算系统的示例的示图。
10.图2a和图2b是示出根据所公开技术的实施例的神经网络的配置的示图。
11.图3是示出根据所公开技术的实施例的用于优化模数转换器的输入范围的电子装置的示图。
12.图4是示出根据所公开技术的实施例的计算电路的示图。
13.图5a是示出根据所公开技术的实施例的子阵列的示例的示图。
14.图5b是示出根据所公开技术的实施例的子阵列的另一示例的示图。
15.图6是示出根据所公开技术的实施例的输入信号分布信息的示图。
16.图7a是示出根据所公开技术的实施例的将多个模数转换器分类为多个第一模数转换器组的操作的示图。
17.图7b是示出根据所公开技术的实施例的将多个默认模数转换器组分类为多个第一模数转换器组的操作的示图。
18.图8a是示出根据所公开技术的实施例的确定多个第一模数转换器组中的每一组的输入范围的操作的示例的示图。
19.图8b是示出根据所公开技术的实施例的确定多个第一模数转换器组中的每一组的输入范围的操作的另一示例的示图。
20.图9是示出根据所公开技术的实施例的优化模数转换器的输入范围的操作的示图。
21.图10是示出根据所公开技术的实施例的操作用于优化模数转换器的输入范围的电子装置的方法的流程图。
22.图11是示出根据所公开技术的附加实施例的操作用于优化模数转换器的输入范围的电子装置的方法的流程图。
具体实施方式
23.图1是示出根据所公开技术的实施例的计算系统的示例的示图。
24.参照图1,计算系统10可以通过基于神经网络实时分析输入数据来提取有效信息,并基于所提取的信息或安装计算系统10的电子装置的控制配置来确定情况。例如,计算系统10可以应用于无人机、高级驾驶辅助系统(adas)、智能电视、智能电话、医疗装置、移动装置、图像显示装置、测量装置、物联网(iot)装置等,并且可以安装在各种类型的电子装置中的一种上。
25.计算系统10可以包括中央处理单元(cpu)110、随机存取存储器(ram)120、神经网络处理器130、输入/输出装置140和存储器150。另外,计算系统10可以进一步包括其它通用组件,诸如多格式编解码器(mfc)、视频模块(例如,相机接口、联合摄影专家组(jpeg)处理器、视频处理器、混合器等)、3d图形内核、音频系统、显示驱动器、图形处理单元(gpu)和数字信号处理器(dsp)。cpu 110、ram120、神经网络处理器130、输入/输出装置140和存储器150可以通过通信总线160发送/接收数据。
26.在实施例中,计算系统10的组件(例如,cpu 110、ram 120、神经网络处理器130、输入/输出装置140和存储器150)可以被实施为一个半导体芯片,并且例如,计算系统10可以
被实施为片上系统(soc)。然而,所公开的技术不限于此,计算系统10可以被实施为多个半导体芯片。在实施例中,计算系统10可以是安装在移动装置上的应用处理器。
27.cpu 110可以控制计算系统10的全部操作。cpu 110可以包括一个内核(单内核)或多个内核(多内核)。cpu 110可以处理或运行存储在ram 120和存储器150中的程序和/或数据。例如,cpu 110可以通过运行存储在存储器150中的程序来控制计算系统10的功能。
28.ram 120可以临时存储程序、数据或指令。例如,可以根据cpu 110的控制或启动代码将存储在存储器150中的程序和/或数据临时加载到ram 120中。ram 120可以使用诸如动态ram(dram)或静态ram(sram)的存储器来实施。
29.输入/输出装置140可以从外部接收用户输入或输入数据,并且可以输出计算系统10的数据处理结果。输入/输出装置140可以被实施为触摸屏面板、键盘、各种类型的传感器等。在实施例中,输入/输出装置140可以收集计算系统10周围的信息。例如,输入/输出装置140可以包括诸如以下的各种类型的传感装置中的至少一种:成像装置、图像传感器、光检测和测距(lidar)传感器、超声波传感器或红外传感器,或者可以从装置接收传感信号。
30.存储器150可以是用于存储数据的存储场所,并且可以存储例如操作系统(os)、各种程序和各种数据。存储器150可以是dram,但不限于此。存储器150可以包括易失性存储器和非易失性存储器中的至少一种。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、铁电ram(fram)等。易失性存储器可以包括动态ram(dram)、静态ram(sram)、同步dram(sdram)等。另外,在实施例中,存储器150可以被实施为存储装置,诸如硬盘驱动器(hdd)、固态驱动器(ssd)、紧凑型闪存(cf)、安全数字(sd)、微型sd、迷你sd、极限数字(xd)或记忆棒。
31.神经网络处理器130可以生成神经网络、训练(或学习)神经网络,或者基于接收到的输入数据执行运算,并且可以基于运算结果生成信息信号或者重新训练神经网络。神经网络可以包括各种类型的神经网络模型,诸如卷积神经网络(cnn)、区域卷积神经网络(r-cnn)、区域提议网络(rpn)、循环神经网络(rnn)、深度神经网络(dnn)、基于堆叠的深度神经网络(s-dnn)、状态空间动态神经网络(s-sdnn)、反卷积网络、深度信念网络(dbn)、受限玻尔兹曼机(rbm)、全卷积网络、长短期记忆(lstm)网络或分类网络。上述神经网络仅仅是示例,并且不限于此。参照图2a和图2b示例性地描述神经网络的配置。
32.图2a和图2b是示出根据所公开技术的实施例的神经网络的配置的示图。
33.参照图2a,神经网络可以包括输入层il、多个隐藏层hl1和hl2以及输出层ol。在图2a中,隐藏层的数量是两个,隐藏层的数量可以根据实施例而不同。
34.输入层il可以包括输入节点x1和x2,并且输入数据idat可以被输入到每个输入节点。另一方面,输入层中包括的输入节点的数量可以根据实施例而不同。
35.多个隐藏层hl1和hl2可以包括隐藏节点h11、h12、h13、h21、h22和h23。例如,隐藏层hl1可以包括多个隐藏节点h11、h12和h13,隐藏层hl2可以包括多个隐藏节点h21、h22和h23。另一方面,每个隐藏层中包括的隐藏节点的数量不限于三个,并且可以根据实施例而不同。
36.输出层ol可以包括输出节点y1和y2,并且可以输出输入数据idat的结果作为输出数据odat。另一方面,输出层中包括的输出节点的数量可以根据实施例而不同。
37.图2a所示的网络结构可以包括:节点之间的分支,在两个节点之间显示为直线;以及在每个连接中使用的权重,虽然未示出。此时,一个层中的节点可以不相连,不同层中包括的节点可以完全或部分相连。
38.图2a的每个节点(例如,h11)可以接收前一节点(例如,x1)的输出并执行运算,并且可以向后续节点(例如,h21)输出运算结果。此时,每个节点可以通过将输入值应用于特定函数,例如,非线性函数,来运算待输出的值。
39.通常,可以预先确定神经网络的结构,并且根据节点之间的连接的权重可以使用已知正确答案的数据来计算适当的值。如上所述,已知正确答案的数据被称为“学习数据”,确定权重的过程被称为“学习”。另外,假设一组可独立学习的结构和权重是“模型”,确定了权重的模型预测输入数据属于哪一类并输出预测值的过程可以被称为“测试过程”。
40.参照图2b,具体示出了在图2a所示的节点之中的一个节点nd中执行的操作的示例。假设在一个节点nd中提供了n个输入a1、a2、
……
和an。
41.在实施例中,节点nd可以将n个输入a1、a2、a3、
……
和an分别与相应的n个权重w1、w2、w3、
……
和wn相乘,将通过相乘而获得的值相加,将偏置(b)加到相加的输入值上,并将反映了偏置的输入值应用于特定函数(σ),以生成一个输出值。此时,特定函数(σ)可以是激活函数。
42.当图2a所示的神经网络中包括的一个层包括图2b所示的m个节点nd时,可以获得一个层的输出值,如以下[等式1]。
[0043]
[等式1]
[0044]
wa=z
[0045]
在[等式1]中,w表示一个层中包括的所有连接的权重,并且可以以m
×
n矩阵的形式实施。a表示一个层中接收的n个输入a1、a2、a3、
……
和an,并且可以以n
×
1矩阵的形式实施。z表示从一个层输出的m个输出z1、z2、z3、
……
和zm,并且可以以m
×
1矩阵的形式实施。
[0046]
图3是示出根据所公开技术的实施例的用于优化模数转换器的输入范围的电子装置的示图。在所公开的技术中,使用模数转换器(adc)来实施神经网络模型。传统的adc占用面积大且功耗大,而所公开技术的一些实施方案提供了一种能够在提高神经网络模型准确度的同时减小adc的面积和功耗的电子装置。
[0047]
在实施例中,图3所示的电子装置300可以被实施为图1所示的神经网络处理器130的一个配置。例如,电子装置300可以优化计算电路330中包括的多个模数转换器的输入范围。此时,输入范围可以表示防止模数转换器过载的最大动态范围。“输入范围”也可以被称为“量化范围”。
[0048]
参照图3,电子装置300可以包括控制器310、全局缓冲器320和计算电路330。在实施例中,控制器310、全局缓冲器320和计算电路330可以通过通信总线进行通信。
[0049]
在实施例中,电子装置300可以被实施为单个半导体芯片。例如,电子装置300可以被实施为片上系统(soc)。然而,所公开的技术不限于此,电子装置300可以利用多个半导体芯片来实施。
[0050]
控制器310可以控制电子装置300的全部操作。控制器310可以控制全局缓冲器320和计算电路330的操作。例如,控制器310可以设置和管理与神经网络运算,例如卷积运算相关的参数,使得计算电路330可以正常运行神经网络的层。
[0051]
控制器310可以被实施为硬件、软件(或固件)或者硬件和软件的组合。在实施例中,控制器310可以利用被设计为执行上述功能的硬件逻辑来实施。在实施例中,控制器310可以利用至少一个处理器,例如,cpu、微处理器等来实施,并且可以运行包括配置上述功能的指令的程序。
[0052]
在实施例中,控制器310可以包括输入信号分布信息生成器311、模数转换器组分类器312、模数转换器输入范围优化器313、神经网络模型控制器314和神经网络模型准确度测量器315。
[0053]
输入信号分布信息生成器311可以为多个模数转换器中的每一个生成输入信号分布信息。此时,输入信号分布信息可以指示模拟输入信号的分布。
[0054]
在实施例中,输入信号分布信息生成器311可以基于输入到多个模数转换器中的每一个的模拟输入信号来生成多个模数转换器的输入信号分布信息。例如,输入信号分布信息生成器311可以从计算电路330接收输入到多个模数转换器中的每一个的模拟输入信号。输入信号分布信息生成器311可以计算模拟输入信号的平均值和标准偏差。另外,输入信号分布信息生成器311可以使用平均值和标准偏差来生成多个模数转换器的输入信号分布信息。
[0055]
在实施例中,输入信号分布信息生成器311可以使用3西格玛(3sigma)技术来生成多个模数转换器的输入信号分布信息。参照图6详细描述了3西格玛技术。
[0056]
模数转换器组分类器312可以基于多个模数转换器的输入信号分布信息,将多个模数转换器分类为多个第一模数转换器组。
[0057]
在实施例中,模数转换器组分类器312可以将具有与输入信号分布信息相对应的相似大小值的模数转换器确定为多个第一模数转换器组之中的任意一个第一模数转换器组。在实施例中,与输入信号分布信息相对应的大小值可以表示模拟输入信号的平均值与标准偏差的倍数的相加。
[0058]
例如,模数转换器组分类器312可以使用聚类技术将多个模数转换器分类为多个第一模数转换器组。模数转换器组分类器312可以将与输入信号分布信息相对应的大小值确定为具有相应输入信号分布信息的模数转换器的点。模数转换器组分类器312可以通过将点之间距离较近的模数转换器确定为一个第一模数转换器组来配置多个第一模数转换器组。因此,模数转换器组分类器312可以使用与输入信号分布信息相对应的大小值作为变量,并确定具有相似变量的模数转换器为第一模数转换器组。
[0059]
在实施例中,聚类技术可以用于基于相似性或其他概念将数据分类为多个组。此时,聚类可以被称为分组,并且一个组可以被称为簇(cluster)。聚类技术可以允许基于数据的某个特征或其他特征来定义组并将具有相似特征的数据分类到同一组中。因此,具有相似特征的数据可以属于同一组,而具有不同特征的数据可以属于不同的簇。
[0060]
例如,模数转换器组分类器312可以使用k平均聚类技术将多个模数转换器分类为多个第一模数转换器组。k平均聚类技术可以是用于将分类对象分类为k个簇的算法。因此,模数转换器组分类器312可以使用k平均聚类技术将多个模数转换器分类为k个第一模数转换器组。此时,k可以以各种方式设置,并且可以通过增加待配置有多个模数转换器的组的数量的操作来增加,这将在后面描述。在上述示例中,使用k平均聚类技术将多个模数转换器分类为多个第一模数转换器组,但是也可以存在其它实施方式。因此,可以应用k平均聚
类技术之外的其它聚类技术来将多个模数转换器分类为多个第一模数转换器组。
[0061]
模数转换器输入范围优化器313可以优化多个模数转换器的输入范围。
[0062]
在实施例中,模数转换器输入范围优化器313可以基于多个模数转换器组的输入信号分布信息来确定多个第一模数转换器组中的每一组的输入范围。在这种情况下,多个模数转换器中的每一个可以根据多个第一模数转换器组之中的相应第一模数转换器组的输入范围进行操作。例如,模数转换器输入范围优化器313可以将多个第一模数转换器组中的每一组中包括的任意一个模数转换器确定为多个第一模数转换器组中的每一组中的参考模数转换器。此时,参考模数转换器可以是多个第一模数转换器组中的每一组中包括的模数转换器之中的、具有与输入信号分布信息相对应的最大大小值的模数转换器。另外,模数转换器输入范围优化器313可以将与多个第一模数转换器组中的每一组中确定的参考模数转换器的输入信号分布信息相对应的分布范围确定为多个第一模数转换器组中的每一组的输入范围。在实施例中,与输入信号分布信息相对应的分布范围可以表示由模拟输入信号的平均值与标准偏差的倍数所形成的范围。
[0063]
神经网络模型控制器314可以控制神经网络模型输出输入数据的结果。例如,神经网络模型控制单元314可以通过使用神经网络模型来获得输入数据的输出值,神经网络模型包括根据由模数转换器输入范围优化器313优化的输入范围进行操作的多个模数转换器。输出值可以表示神经网络模型针对输入数据的结果,并且输出值的形式可以根据神经网络模型的类型而不同。
[0064]
在实施例中,神经网络模型可以使用电子装置300来实施。例如,神经网络模型中包括的多个层可以使用计算电路330中包括的多个处理元件pe或多个子阵列来实施。因此,可以通过计算电路330来执行神经网络模型的操作。在这种情况下,计算电路330可以包括根据优化的输入范围进行操作的多个模数转换器。因此,应用神经网络模型来优化多个模数转换器中的每一个的输入范围。在一些实施方案中,可以根据相应的第一模数转换器组的输入范围来优化多个模数转换器中的每一个的输入范围。电子装置300通过包括根据优化的输入范围进行操作的多个模数转换器来实现神经网络模型。
[0065]
在实施例中,神经网络模型控制器314可以使用包括根据优化的输入范围进行操作的多个模数转换器的神经网络模型来输出输入数据的结果。例如,神经网络模型控制器314可以将输入数据和权重数据提供到全局缓冲器320和计算电路330,并控制全局缓冲器320和计算电路330输出输入数据的输出值。此后,神经网络模型控制器314可以从全局缓冲器320和计算电路330获得输出值。
[0066]
神经网络模型准确度测量器315可以基于神经网络模型的输出值来测量神经网络模型的准确度。例如,神经网络模型准确度测量器315可以基于将输出值与对应于输入数据的目标数据进行比较的结果来测量神经网络模型的准确度。此时,目标数据可以是指示对输入数据的正确答案的数据。在一些实施方案中,神经网络模型控制器314可以获得针对多个输入数据的多个输出值。神经网络模型准确度测量器315可以将对应于多个输入数据的多个目标数据与多个输出值进行比较,并且可以确定多个输出值中的每一个是否为正确答案。神经网络模型准确度测量器315可以将被确定为正确答案的输出值的数量与不是正确答案的输出值的数量的比率确定为神经网络模型的准确度。上述测量神经网络模型的准确度的方法仅仅是示例,并且可以存在其它实施方式。因此,测量神经网络模型的准确度的方
法可以以各种方式实现。
[0067]
在实施例中,当神经网络模型的准确度小于预设阈值时,电子装置300可以再次执行对多个模数转换器进行分类的操作以及确定输入范围的操作。
[0068]
例如,当神经网络模型的准确度小于预设阈值时,模数转换器组分类器312可以增加由多个模数转换器配置的组的数量或多个模数转换器的输出位数。此时,输出位数可以指示代表模拟输入信号的位的数量。在实施例中,“输出位数”可以被称为“量化位数”。此后,模数转换器组分类器312可以根据增加的组数或增加的输出位数,将多个模数转换器重新分类为多个第二模数转换器组。第一模数转换器组可以是重新分类之前的组,第二模数转换器组可以是重新分类之后的组。在实施例中,模数转换器组分类器312可以在增加组数的同时,将多个模数转换器重新分类为多个第二模数转换器组。当组数不再增加时,模数转换器组分类器312可以在增加输出位数的同时,将多个模数转换器重新分类为多个第二模数转换器组。另外,模数转换器输入范围优化器313可以基于多个模数转换器的输入信号分布信息来确定多个第二模数转换器组中的每一组的输入范围。在这种情况下,多个模数转换器中的每一个可以根据多个第二模数转换器组之中的相应第二模数转换器组的输入范围进行操作。因此,电子装置300可以重复对模数转换器进行分类的操作以及确定输入范围的操作,直到神经网络模型的准确度等于或大于预设阈值。
[0069]
在实施例中,电子装置300可以将多个模数转换器分类为多个默认模数转换器组,然后将多个默认模数转换器组分类为多个第一个模数转换器组。
[0070]
例如,模数转换器组分类器312可以根据预设单元将多个模数转换器分类为多个默认模数转换器组。此时,多个默认模数转换器组中的每一组可以对应于层单元或硬件单元。例如,模数转换器组分类器312可以将一个层中包括的模数转换器确定为默认模数转换器组。作为另一示例,模数转换器组分类器312可以将一个处理元件pe中包括的模数转换器确定为默认模数转换器组。作为另一示例,模数转换器组分类器312可以将一个子阵列中包括的模数转换器确定为默认模数转换器组。然而,这仅仅是示例,并且多个默认模数转换器组所对应的单元可以是不同的。
[0071]
此后,输入信号分布信息生成器311可以基于输入到多个默认模数转换器组中的每一组中包括的模数转换器的模拟输入信号,生成多个默认模数转换器组的输入信号分布信息。例如,每个默认模数转换器组的输入信号分布信息可以指示输入到每个默认模数转换器组中包括的模数转换器的模拟输入信号的分布。模数转换器组分类器312可以基于多个默认模数转换器组的输入信号分布信息,将多个默认模数转换器组分类为多个第一模数转换器组。另外,模数转换器输入范围优化器313可以基于多个默认模数转换器组的输入信号分布信息来确定多个第一模数转换器组中的每一组的输入范围。
[0072]
因此,电子装置300也可以将对多个模数转换器进行分类的操作以及确定输入范围的操作应用于多个默认模数转换器组,这些操作已经针对多个模数转换器进行了描述。
[0073]
全局缓冲器320可以存储权重数据。所存储的权重数据可以被提供到计算电路330。另外,当权重数据被更新时,全局缓冲器320可以存储更新后的权重数据并将更新后的权重数据提供到计算电路330。
[0074]
全局缓冲器320可以利用随机存取存储器(ram),例如,动态ram(dram)、sram等来实施。
[0075]
计算电路330可以包括多个处理元件pe。计算电路330可以执行卷积运算,例如逐元素(element-wise)的乘法累加(mac)运算。多个处理元件pe,例如模拟输入信号生成器,可以对输入数据和权重数据执行mac运算。计算电路330可以将mac运算的结果提供到全局缓冲器320或控制器310。
[0076]
在实施例中,计算电路330可以生成输入到多个模数转换器中的每一个的模拟输入信号。例如,计算电路330可以对与输入数据相对应的多个输入电压和多个权重数据执行mac运算。计算电路330可以输出多个输出电流作为mac运算的结果,并将多个输出电流转换为模拟输入信号。此后,计算电路330可以将模拟输入信号提供到全局缓冲器320或控制器310。另外,计算电路330可以使用多个模数转换器来输出对应于模拟输入信号的数字输出信号。此时,多个模数转换器可以根据优化的输入范围进行操作。
[0077]
在实施例中,计算电路330可以通过上述对输入数据和权重数据的mac运算、从输出电流到模拟输入信号的转换以及从模拟输入信号到数字输出信号的转换来执行神经网络模型的操作。因此,神经网络模型针对输入数据的结果可以表示为通过上述对输入数据和权重数据的mac运算、从输出电流到模拟输入信号的转换以及从模拟输入信号到数字输出信号的转换而最后输出的值。
[0078]
因此,根据所公开技术的实施例,可以通过使用低分辨率的模数转换器来减少模数转换器占用的面积和功耗。另外,根据所公开技术的实施例,可以在使用低分辨率模数转换器的同时提高神经网络模型的准确度。
[0079]
图4是示出根据所公开技术的实施例的计算电路的示图。
[0080]
参照图4,计算电路330可以包括多个处理元件pe。多个处理元件pe可以对输入数据和权重数据执行mac运算。例如,多个处理元件pe可以独立运算并同时执行mac运算。因此,可以并行执行对多个输入数据的mac运算。在实施例中,神经网络中包括的一个层可以由一个处理元件pe来实施。
[0081]
在实施例中,多个处理装置pe中的每一个可以包括多个子阵列sa。多个子阵列sa可以对输入数据和权重数据执行mac运算。例如,多个子阵列sa可以独立运算并同时执行mac运算。因此,可以并行执行对多个输入数据的mac运算。在实施例中,神经网络中包括的一个层可以由一个处理元件pe或一个子阵列sa来实施。
[0082]
图5a是示出根据所公开技术的实施例的子阵列的示例的示图。
[0083]
参照图5a,子阵列sa可以包括纵横阵列510、多个电流电压转换器(ivc)和多个模数转换器(adc)。
[0084]
纵横阵列510包括多个电阻式存储器单元cell,每个电阻式存储器单元cell包括电阻元件并且以矩阵形式布置。在实施例中,电阻元件可以被实施为忆阻器。电阻元件的电阻值可以根据所施加的电压而改变,并且多个电阻式存储器单元cell可以使用电阻变化来存储数据。
[0085]
在实施例中,每个电阻式存储器单元cell可以通过包括诸如以下的随机电阻式存储器单元来实施:相变随机存取存储器(pram)单元、电阻式随机存取存储器(rram)单元、磁性随机存取存储器(mram)单元或铁电随机存取存储器(fram)单元。多个电阻式存储器单元cell中的每一个可以连接到多行中的一行和多列中的一列。
[0086]
纵横阵列510存储多个权重数据。此时,多个权重数据可以对应于多个电阻式存储
器单元cell的电导g11、g12、g13、g21、g22、g23、g31、g32和g33。例如,可以通过使用多个电阻式存储器单元cell中的每一个中包括的电阻元件的电阻变化,将多个权重数据存储在多个电阻式存储器单元cell中。另外,纵横阵列510可以被配置为对多个输入电压v1、v2和v3以及多个权重数据执行乘法和累加(mac)运算。纵横阵列510可以包括执行mac运算的结构。纵横阵列510可以根据mac运算的结果输出多个输出电流i1、i2和i3。例如,多个输入电压v1、v2和v3可以通过多个行输入到纵横阵列510。
[0087]
在图5a中,子阵列sa包括3
×
3个电阻式存储器单元cell,但是电阻式存储器单元cell的数量不限于3个,子阵列sa中可以包括其它数量的电阻式存储器单元cell。
[0088]
每个电阻式存储器单元cell可以对应于神经网络的一个突触或连接,并且可以存储一个权重数据。因此,存储在纵横阵列510中的m
×
n数据可以对应于以上面参照图2a和图2b描述的一个层中包括的m
×
n矩阵形式实施的权重矩阵,例如上述[等式1]的w。
[0089]
通过多个行所施加的输入电压可以对应于在图2a和图2b所示的一个层中接收的n个输入a1、a2、
……
和an,并且可以对应于以n
×
1矩阵的形式实施的输入矩阵,即上述等式1的a。
[0090]
通过多列输出的输出电流对应于从图2a和图2b所示的一层输出的m个输出z1、z2、
……
和zm,并且可以对应于以m
×
1矩阵的形式实施的输出矩阵,即上述[等式1]的z。
[0091]
如上所述,纵横阵列510是通过将具有矩阵形式的多个权重数据存储在多个电阻式存储器单元cell中来实施的。当通过多个行输入与输入数据相对应的输入电压v1、v2和v3时,通过多个列输出的输出电流i1、i2和i3可以是神经网络执行mac运算的结果。当以这种方法实施神经网络的所有多个层时,可以实施一次执行数据存储和运算的电子装置300。
[0092]
多个电流电压转换器ivc可以连接在纵横阵列510和多个模数转换器adc之间。多个电流电压转换器ivc可以将多个输出电流i1、i2和i3转换为多个模拟输入信号i_sig1、i_sig2和i_sig3。换言之,计算电路330可以使用纵横阵列510和多个电流电压转换器ivc对多个输入电压v1、v2和v3以及多个权重数据执行运算,并且可以基于运算结果生成输入到多个模数转换器adc中的每一个的模拟输入信号i_sig1、i_sig2和i_sig3。在图5a中,子阵列sa包括三个电流电压转换器ivc,但是电流电压转换器ivc的数量不限于三个,并且可以包括任何其它数量的电流电压转换器ivc。
[0093]
多个模数转换器adc可以分别接收模拟输入信号i_sig1、i_sig2和i_sig3,并输出与模拟输入信号i_sig1、i_sig2和i_sig3相对应的数字输出信号o_sig1、o_sig2、o_sig3。在图5a中,子阵列sa包括三个模数转换器adc,但是模数转换器adc的数量不限于三个,并且子阵列sa中可以包括其它数量的模数转换器adc。
[0094]
图5b是示出根据所公开技术的实施例的子阵列的另一示例的示图。
[0095]
参照图5b,子阵列sa可以包括一个模数转换器adc。也就是说,根据实施例,子阵列sa可以共享一个模数转换器adc。在这种情况下,模数转换器adc的数量相比于图5a所示的实施方案有所减少。因此,可以减少模数转换器adc的面积。
[0096]
图6是示出根据所公开技术的实施例的输入信号分布信息的示图。
[0097]
图6所示的输入信号分布信息可以指示多个模数转换器中的任意一个或多个默认模数转换器组中的任意一组的输入信号分布信息。
[0098]
在图6中,纵轴可以表示模拟输入信号的大小,横轴可以表示模拟输入信号的数
量。
[0099]
参照图6,输入信号分布信息生成器311可以通过使用3西格玛技术来生成多个模数转换器的输入信号分布信息。例如,可以基于多个模拟输入信号的平均值μ和标准偏差σ来生成输入信号分布信息。在实施例中,3西格玛技术可以是使用落入平均值μ到两侧的3个标准偏差3σ的范围内的值来形成正态分布的规则。与输入信号分布信息相对应的分布范围可以被确定为从μ-3σ到μ 3σ的范围。
[0100]
在实施例中,与输入信号分布信息相对应的大小值可以被表示为μ 3σ。然而,根据实施例,与输入信号分布信息相对应的大小值可以被设置为μ 3σ之外的值。
[0101]
图7a是示出根据所公开技术的实施例的将多个模数转换器分类为多个第一模数转换器组的操作的示图。
[0102]
在图7a中,为了便于描述,假设模数转换器的数量为8个,模数转换器分类为两个第一模数转换器组。然而,根据实施例,模数转换器的数量和第一模数转换器组的数量可以是不同的。
[0103]
参照图7a,模数转换器组分类器312可以基于模数转换器adc1至adc8的输入信号分布信息,将多个模数转换器adc1至adc8分类为多个第一模数转换器组adc_group a和adc_group b。
[0104]
例如,第一模数转换器adcl、第四模数转换器adc4、第五模数转换器adc5、第六模数转换器adc6、第七模数转换器adc7和第八模数转换器adc8可以具有与输入信号分布信息相对应的相似大小值。在这种情况下,模数转换器组分类器312可以将第一模数转换器adc1、第四模数转换器adc4、第五模数转换器adc5、第六模数转换器adc6、第七模数转换器adc7和第八模数转换器adc8分类为第a模数转换器组adc_group a。
[0105]
另外,第二模数转换器adc2和第三模数转换器adc3可以具有与输入信号分布信息相对应的相似大小值。在这种情况下,模数转换器组分类器312可以将第二模数转换器adc2和第三模数转换器adc3分类为第b模数转换器组adc_group b。
[0106]
另一方面,当将多个模数转换器重新分类为多个第二模数转换器组时,可以同样地应用图7a所示的操作。例如,当在增加组数之后重新分类时,模数转换器组分类器312可以将多个模数转换器adc1至adc8重新分类为三个或更多个第二模数转换器组。作为另一示例,当在增加模数转换器的输出位数之后重新分类时,模数转换器组分类器312可以根据增加的输出位数将多个模数转换器adc1至adc8重新分类为三个或更多个第二模数转换器组。
[0107]
图7b是示出根据所公开技术的实施例的将多个默认模数转换器组分类为多个第一模数转换器组的操作的示图。
[0108]
与图7a所示的示图不同,图7b所示的示图是用于描述以下操作的示图:将多个模数转换器分类为多个默认模数转换器组default group1至default group8,然后将多个默认模数转换器组default group1至default group8分类为多个第一模数转换器组adc_group c和adc_group d。此时,默认模数转换器组default group1至default group8中的每一个可以包括多个模数转换器。例如,多个默认模数转换器组default group1至default group8中的每一个可以对应于层单元或硬件单元。
[0109]
在图7b中,为了便于描述,假设默认模数转换器组的数量为8个,默认模数转换器组分类为两个第一模数转换器组。然而,根据实施例,默认模数转换器组的数量和第一模数
转换器组的数量可以是不同的。
[0110]
参照图7b,模数转换器组分类器312可以基于默认模数转换器组default group1至default group8的输入信号分布信息,将多个默认模数转换器组default group1至default group8分类为多个第一模数转换器组adc_group c和adc_group d。
[0111]
例如,第一默认模数转换器组default group1、第四默认模数转换器组default group4、第五默认模数转换器组default group5、第六默认模数转换器组default group6、第七默认模数转换器组default group7和第八默认模数转换器组default group8可以具有与输入信号分布信息相对应的相似大小值。在这种情况下,模数转换器组分类器312可以将第一默认模数转换器组default group1、第四默认模数转换器组default group4、第五默认模数转换器组default group5、第六默认模数转换器组default group6、第七默认模数转换器组default group7和第八默认模数转换器组default group8分类为第c模数转换器组adc_group c。
[0112]
另外,第二默认模数转换器组default group2和第三默认模数转换器组default group3可以具有与输入信号分布信息相对应的相似大小值。在这种情况下,模数转换器组分类器312可以将第二默认模数转换器组default group2和第三默认模数转换器组default group3分类为第d模数转换器组adc_group d。
[0113]
另一方面,当将多个默认模数转换器组重新分类为多个第二模数转换器组时,可以同样地应用图7b所示的操作。例如,当在增加组数之后重新分类时,模数转换器组分类器312可以将多个默认模数转换器组default group1至default group8重新分类为三个或更多个第二模数转换器组。作为另一示例,当在增加模数转换器的输出位数之后重新分类时,模数转换器组分类器312可以根据增加的输出位数将多个默认模数转换器组default group1至default group8重新分类为三个或更多个第二模数转换器组。
[0114]
在实施例中,可以使用聚类技术来执行图7a和图7b所示的操作。
[0115]
图8a是示出根据所公开技术的实施例的确定多个第一模数转换器组中的每一组的输入范围的操作的示例的示图。
[0116]
图8a的多个第一模数转换器组adc_group a和adc_group b可以表示图7a的多个第一模数转换器组adc_group a和adc_group b。
[0117]
在图8a中,假设与第a模数转换器组adc_group a中包括的模数转换器adcl、adc4、adc5、adc6、adc7和adc8之中的第五模数转换器adc5的输入信号分布信息相对应的大小值是最大的。在实施例中,与输入信号分布信息相对应的大小值可以表示模拟输入信号的平均值与3
×
标准偏差之和。
[0118]
第五模数转换器adc5可以被确定为第a模数转换器组adc_group a的参考模数转换器ref_adc1。在这种情况下,模数转换器输入范围优化器313可以将与第五模数转换器adc5的输入信号分布信息相对应的分布范围确定为第a模数转换器组adc_group a的输入范围。在实施例中,与输入信号分布信息相对应的分布范围可以表示从模拟输入信号的平均值-3
×
标准偏差到平均值 3
×
标准偏差的范围。因此,可以将第a模数转换器组adc_group a中包括的模数转换器adc1、adc4、adc6、adc7和adc8的输入范围优化为与第五模数转换器adc5的输入信号分布信息相对应的分布范围。模数转换器adc1、adc4、adc5、adc6、adc7和adc8可以根据优化的输入范围进行操作。
[0119]
假设与第b模数转换器组adc_group b中包括的模数转换器adc2和adc3中的第二模数转换器adc2的输入信号分布信息相对应的大小值是最大的。
[0120]
第二模数转换器adc2可以被确定为第b模数转换器组adc_group b的参考模数转换器ref_adc2。在这种情况下,模数转换器输入范围优化器313可以将与第二模数转换器adc2的输入信号分布信息相对应的分布范围确定为第b模数转换器组adc_group b的输入范围。因此,可以将第b模数转换器组adc_group b中包括的模数转换器adc3的输入范围优化为与第二模数转换器adc2的输入信号分布信息相对应的分布范围。模数转换器adc2和adc3可以根据优化的输入范围进行操作。
[0121]
另一方面,当确定多个第二模数转换器组中的每一组的输入范围时,可以同样地应用图8a所示的操作。
[0122]
图8b是示出根据所公开技术的实施例的确定多个第一模数转换器组中的每一组的输入范围的操作的另一示例的示图。
[0123]
图8b的多个第一模数转换器组adc_group c和adc_group d可以表示图7b的多个第一模数转换器组adc_group c和adc_group d。
[0124]
在图8b中,假设与第c模数转换器组adc_group c中包括的默认模数转换器组default group1、default group4、default group5、default group6、default group7和default group8之中的第五默认模数转换器组default group5的输入信号分布信息相对应的大小值是最大的。
[0125]
第五默认模数转换器组default group5可以被确定为第c模数转换器组adc_group c的参考默认模数转换器组ref_group 1。在这种情况下,模数转换器输入范围优化器313可以将与第五默认模数转换器组default group5的输入信号分布信息相对应的分布范围确定为第c模数转换器组adc_group c的输入范围。因此,可以将默认模数转换器组default group1、default group4、default group6、default group7和default group8中包括的模数转换器的输入范围优化为与第五默认模数转换器组default group5的信号分布信息相对应的分布范围。默认模数转换器组default group1、default group4、default group5、default group6、default group7和default group8中包括的模数转换器可以根据优化的输入范围进行操作。
[0126]
假设与第d模数转换器组adc_group d中包括的默认模数转换器组default group2和default group3中的第二默认模数转换器组default group2的输入信号分布信息相对应的大小值是最大的。
[0127]
第二默认模数转换器组default group2可以被确定为第d模数转换器组adc_group d的参考默认模数转换器组ref_group2。在这种情况下,模数转换器输入范围优化器313可以将与第二默认模数转换器组default group2的输入信号分布信息相对应的分布范围确定为第d模数转换器组adc_group d的输入范围。因此,可以将默认模数转换器组default group3中包括的模数转换器的输入范围优化为与第二默认模数转换器组default group2的输入信号分布信息相对应的分布范围。默认模数转换器组default group2和default group3中包括的模数转换器可以根据优化的输入范围进行操作。
[0128]
另一方面,当确定多个第二模数转换器组中的每一组的输入范围时,可以同样地应用图8b所示的操作。
[0129]
图9是示出根据所公开技术的实施例的优化模数转换器的输入范围的操作的示图。
[0130]
在图9中,假设模数转换器的输出位数为2位。
[0131]
图9所示的图表可以指示参考模数转换器的输入信号分布信息。另一方面,尽管为了便于描述参照图9描述了模数转换器的输入信号分布,但是可以同样地应用默认模数转换器组的输入信号分布。
[0132]
参照图9,与参考模数转换器的输入信号分布信息相对应的分布范围可以被定义为μ-3σ到μ 3σ。在这种情况下,模数转换器输入范围优化器313可以通过线性划分与输入信号分布信息相对应的分布范围来优化模数转换器的输入范围。例如,输入范围被优化的模数转换器可以针对分布范围内从μ-3σ到μ-(3/2)σ的模拟输入信号输出对应于0的数字输出信号(例如,00)。作为另一示例,输入范围被优化的模数转换器可以针对分布范围内从μ-(3/2)σ到μ的模拟输入信号输出对应于1的数字输出信号(例如,01)。作为又一示例,输入范围被优化的模数转换器可以针对分布范围内从μ到μ (3/2)σ的模拟输入信号输出对应于2的数字输出信号(例如,10)。作为又一示例,输入范围被优化的模数转换器可以针对分布范围内从μ (3/2)σ到μ 3σ的模拟输入信号输出对应于3的数字输出信号(例如,11)。
[0133]
图10是示出根据所公开技术的实施例的操作用于优化模数转换器的输入范围的电子装置的方法的流程图。
[0134]
图10所示的方法例如可以由图3所示的电子装置300执行。
[0135]
在步骤s1001中,电子装置300可以基于对多个输入电压和多个权重数据的运算来生成输入到多个模数转换器中的每一个的模拟输入信号。
[0136]
在一些实施方案中,电子装置300可以对多个输入电压和多个权重数据执行mac运算。另外,电子装置300可以根据运算的结果输出多个输出电流。另外,电子装置300可以将多个输出电流转换为模拟输入信号。
[0137]
在步骤s1003中,电子装置300可以生成多个模数转换器的输入信号分布信息。
[0138]
在一些实施方案中,电子装置300可以计算模拟输入信号的平均值和标准偏差。另外,电子装置300可以使用平均值和标准偏差来生成多个模数转换器的输入信号分布信息。
[0139]
在步骤s1005中,电子装置300可以基于多个模数转换器的输入信号分布信息将多个模数转换器分类为多个模数转换器组。
[0140]
在一些实施方案中,电子装置300可以将多个模数转换器之中的、具有与输入信号分布信息相对应的相似大小值的模数转换器确定为多个第一模数转换器组之中的任意一个第一模数转换器组。例如,电子装置300可以使用聚类技术将模数转换器分类为多个第一模数转换器组。
[0141]
在步骤s1007中,电子装置300可以基于多个模数转换器的输入信号分布信息来确定多个第一模数转换器组中的每一组的输入范围。
[0142]
在一些实施方案中,在多个第一模数转换器组的每一个中,电子装置300可以将多个第一模数转换器组中的每一组中包括的模数转换器之中的、具有与输入信号分布信息相对应的最大值的模数转换器确定为参考模数转换器。
[0143]
另外,电子装置300可以将与多个第一模数转换器组中的每一组中确定的参考模数转换器的输入信号分布信息相对应的分布范围确定为多个第一模数转换器组中的每一
组的输入范围。
[0144]
在步骤s1009中,电子装置300可以控制多个模数转换器根据多个模数转换器组之中的相应模数转换器组的输入范围进行操作。
[0145]
图11是示出根据所公开技术的附加实施例的操作用于优化模数转换器的输入范围的电子装置的方法的流程图。
[0146]
图11所示的方法例如可以由图3所示的电子装置300执行。
[0147]
在步骤s1101中,电子装置300可以将多个模数转换器分类为多个默认模数转换器组。
[0148]
在步骤s1103中,电子装置300可以基于对多个输入电压和多个权重数据的运算来生成输入到多个模数转换器中的每一个的模拟输入信号。
[0149]
在一些实施方案中,电子装置300可以对多个输入电压和多个权重数据执行mac运算。另外,电子装置300可以根据运算的结果输出多个输出电流。另外,电子装置300可以将多个输出电流转换为模拟输入信号。
[0150]
在步骤s1105中,电子装置300可以使用输入到多个默认模数转换器组中的每一组中包括的模数转换器的模拟输入信号来生成多个默认模数转换器组的输入信号分布信息。
[0151]
在一些实施方案中,电子装置300可以计算模拟输入信号的平均值和标准偏差。另外,电子装置300可以使用平均值和标准偏差来生成默认模数转换器组的输入信号分布信息。
[0152]
在步骤s1107中,电子装置300可以基于多个默认模数转换器组的输入信号分布信息,将多个默认模数转换器组分类为多个模数转换器组。
[0153]
在一些实施方案中,电子装置300可以将多个默认模数转换器组之中的、具有与输入信号分布信息中的每一个相对应的相似大小值的默认模数转换器组确定为多个模数转换器组之中的任意一个模数转换器组。例如,电子装置300可以使用聚类技术将多个默认模数转换器组分类为多个模数转换器组。
[0154]
在步骤s1109中,电子装置300可以基于多个默认模数转换器组的输入信号分布信息来确定多个模数转换器组中的每一组的输入范围。
[0155]
在一些实施方案中,在多个模数转换器组的每一个中,电子装置300可以将多个模数转换器组中的每一组中包括的默认模数转换器组之中的、具有与输入信号分布信息相对应的最大值的默认模数转换器组确定为参考默认模数转换器组。
[0156]
另外,电子装置300可以将与多个模数转换器组中的每一组中确定的参考默认模数转换器组的输入信号分布信息相对应的分布范围确定为多个模数转换器组中的每一组的输入范围。
[0157]
在步骤s1111中,电子装置300可以使用包括多个模数转换器的神经网络模型来获得输入数据的输出值,该多个模数转换器被控制为根据所确定的输入范围进行操作。
[0158]
在步骤s1113中,电子装置300可以基于输出值测量神经网络模型的准确度。
[0159]
在步骤s1115中,电子装置300可以确定准确度是否等于或大于预设阈值。
[0160]
当根据步骤s1115中的确定结果,准确度小于预设阈值时,可以执行步骤s1117。在步骤s1117中,电子装置300可以增加由多个模数转换器配置的组的数量或多个模数转换器的输出位数。此后,电子装置300可以根据增加的组数或增加的输出位数再次执行步骤
s1107。因此,电子装置300可以在增加组数或输出位数的同时再次执行步骤s1107、s1109和s1111,直到准确度变得等于或大于预设阈值。另一方面,重新分类之前的模数转换器组可以被称为第一模数转换器组,重新分类之后的模数转换器组可以被称为第二模数转换器组。
[0161]
另一方面,当根据步骤s1115中的确定结果,准确度等于或大于预设阈值时,可以执行步骤s1119。在步骤s1119中,电子装置300可以控制多个模数转换器根据多个模数转换器组之中的相应模数转换器组的输入范围进行操作。
[0162]
仅描述了所公开技术的实施例的示例。基于本专利申请文件中描述或示出的内容,可以对所公开的实施例和其它实施例进行各种修改和改进。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献