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

基于预测的功率使用的用于显示器的动态功率转换器切换的制作方法

2023-02-06 23:18:52 来源:中国专利 TAG:

基于预测的功率使用的用于显示器的动态功率转换器切换


背景技术:

1.显示设备可以包括使用电能生成光的光发射元件。例如,有机发光二极管(oled)显示设备可以包括oled的矩阵,每个oled使用电能生成光。光发射元件消耗的电能的量可能与由显示器正在显示的内容有关。例如,oled显示器在显示较亮的图像时可能消耗比在显示较暗的图像时更多的功率。


技术实现要素:

2.总体上,本公开的方面针对包括向显示器(例如,向显示器的光发射元件)供应电功率的功率转换器的系统。显示器可以基于正在被显示的内容(例如,基于正在被显示的内容的亮度)消耗不同的功率量。功率转换器可以被设计为在某些范围内有效地操作(例如,输出功率对比输入功率)。例如,可以优化特定功率转换器以供应从60毫安(ma)到300ma的范围内的负载电流。当由该特定功率转换器供应的显示器抽取在优化范围之外的电流量时,该特定功率转换器仍然可以供应所需功率,但具有降低的效率。系统可以包括被配置为向显示器供应电功率的多个功率转换器,每个功率转换器针对不同的输出负载电流范围被优化。系统的控制器可以选择所述多个功率转换器中的一个功率转换器以向显示器供应功率。然而,基于由显示器当前使用的功率量来选择功率转换器可能不是所期望的。例如,如果对于显示器目前正在使用的功率量,所选择的功率转换器不是最优功率转换器,则控制器可以切换到最优功率转换器。然而,这样的帧中切换可能引入闪烁,这可能是不期望的。这样,控制器可能需要在使用非最优功率转换器和引入闪烁的非期望选项之间进行选择。
3.根据本公开的一个或多个技术,设备的控制器可以基于预测由显示器在未来时间要使用的功率量从多个功率转换器中选择功率转换器以向显示器供应功率。例如,设备的控制器可以基于帧n的内容来估计由设备的显示器在未来时间输出帧n要使用的功率量。控制器可以选择与估计的功率量相匹配的功率转换器,并且使来自所选择的功率转换器的电功率在未来时间(即,在显示器正在输出帧n时)被供应给显示器。这样,所述多个功率转换器中的可以最有效地供应由显示器所使用的功率量的功率转换器将被动态地使用,而不引入闪烁。以该方式,本公开的技术使能够减少用于驱动显示器的功率量。
4.在一个示例中,方法包括:基于在移动计算设备的显示器处在未来时间要显示的内容,估计由显示器在该未来时间要使用的功率量;基于估计的功率电平,选择移动计算设备的多个功率转换器中的功率转换器,所述多个功率转换器中的每个功率转换器针对不同的输出功率范围被优化;以及使来自所选择的功率转换器的电功率在所述未来时间被供应给显示器。
5.在另一个示例中,设备包括显示器;多个功率转换器,其被配置为向显示器供应电功率,每个功率转换器针对不同的输出功率范围被优化;以及电路,其被配置为:基于在显示器处在未来时间要显示的内容,估计由显示器在所述未来时间要使用的功率量;基于估计的功率电平,选择所述多个功率转换器中的功率转换器;以及使来自所选择的功率转换器的电功率在所述未来时间被供应给显示器。
6.在另一个示例中,设备包括被配置为向显示器供应电功率的多个功率转换器,每个功率转换器针对不同的输出负载电流范围被优化,其中,所述多个功率转换器中的每个功率转换器包括相应一组elvdd和elvss功率转换器;用于基于在设备的显示器处在未来时间要显示的内容来估计由显示器在所述未来时间要使用的功率量的装置;用于基于估计的功率电平来选择所述多个功率转换器中的功率转换器的装置;以及用于使来自所选择的功率转换器的电功率在所述未来时间被供应给显示器的装置。
7.在附图和以下描述中阐述了一个或多个示例的细节。本公开的其他特征、目的和优点将从描述和附图以及从权利要求中变得明显。
附图说明
8.图1是图示根据本公开的一个或多个方面的包括被配置为向显示器供应电功率的多个功率转换器的设备的框图。
9.图2是图示根据本公开的一个或多个方面的功率转换器的各种功率转换器的跨输出负载电流的示例效率的曲线图。
10.图3是图示根据本公开的一个或多个方面的图1的设备的另一示例的细节的框图。
11.图4a和4b是图示根据本公开的一个或多个方面的模拟数据功率的概念图。
12.图5是图示根据本公开的一个或多个方面的显示器的组件的概念图。
13.图6是图示根据本公开的一个或多个方面的预测显示器的发射功率的机器学习模型的概念图。
14.图7a到7e是图示根据本公开的示例实施方式的示例机器学习的模型的方面的概念图。
15.图8是图示根据本公开的一个或多个方面的被配置为从多个功率转换器中动态地选择功率转换器的示例控制器的示例操作的流程图。
具体实施方式
16.图1是图示根据本公开的一个或多个方面的包括被配置为向显示器供应电功率的多个功率转换器的设备的框图。如图1所示,设备2包括电源4、功率管理器6、多路复用器8、控制器10和显示器12。
17.在图1的示例中,设备2可以是包括显示器的任何设备。设备2的示例包括但不限于移动电话、相机设备、平板计算机、智能显示器、膝上型计算机、台式计算机、游戏系统、媒体播放器、电子书阅读器、电视平台、车辆信息娱乐系统或车载主机(head unit)或者可穿戴计算设备(例如,计算机化手表、诸如vr/ar头戴耳机的头戴式设备、计算机化眼镜、计算机化手套)。
18.电源4可以是可以向设备2的其他组件供应电功率的任何组件。电源4的示例包括但不限于电池组(一次电池、二次电池或它们的组合)、光伏面板、机械发电机、燃料电池或任何其他能够提供电功率的设备。
19.功率管理器6可以包括一个或多个组件,所述一个或多个组件能够处理和供应电功率以供诸如显示器12的设备2的其他组件使用。在一些示例中,功率管理器6可以是分开地附接到设备2的板(例如,印刷电路板)的多个组件。在一些示例中,功率管理器6的一个或
多个组件可以被包括在集成电路中,该集成电路可以被称为电源管理集成电路(pmic)。功率管理器6可以能够并发地供应至少两个功率信号(例如,以供显示器12使用)。例如,在显示器12是有机发光二极管(oled)显示器的情况下,功率管理器6可以包括被配置为供应elvdd功率信号和elvss功率信号的功率转换器。在一些示例中,功率管理器6可以能够具有五个功率信号。这样的功率信号可以包括elvdd功率信号、elvss功率信号、avdd功率信号(例如,用于像素数据驱动器和定时控制器的模拟功率信号)、vddi和vci功率信号(例如,用于外围块的数字功率)。
20.显示器12可以能够将数据呈现成设备2的用户可观看的图像。例如,显示器12可以包括可单独控制的像素的矩阵。显示器12的示例包括但不限于液晶显示器(lcd)、发光二极管(led)显示器、有机发光二极管(oled)显示器(包括例如有源矩阵有机发光二极管(amoled))、microled显示器或能够向设备2的用户输出可见信息的类似单色或彩色显示器。
21.显示器12可以包括一个或多个光发射元件,其可以经由平面内栅极(gip)24a和24b连同驱动器ic 22来控制。光发射元件可以形成显示器的背光或者可以形成显示器的像素。作为一个示例,在显示器12是lcd显示器的情况下,显示器12可以包括被布置为背光的一个或多个光发射元件。作为另一示例,在显示器12是oled显示器或microled显示器的情况下,显示器12可以包括多个单独作为像素操作的光发射元件。
22.在图1的框14中示出显示器12的单个光发射元件的示例电路。为简单起见,仅示出了单个光发射元件。然而,应当理解,显示器12包括执行类似于框14中所示的示例电路的操作的多个电路。如框14中所示,光发射元件16(例如,发光二极管(led))可以被耦合到elvss节点和电流源18。elvss节点和elvdd节点可以分别由功率管理器6生成的elvss和elvdd电源信号供应。电流源18的状态可以控制流过光发射元件16的电流量。由光发射元件16发射的光量是光发射元件16的固有因子(例如,伊塔(eta)或η)和流过光发射元件16的电流量(例如,i
oled
)的函数。例如,由光发射元件16发射的光量可以由下面的等式l=η*i
oled
给出,其中l是由光发射元件16发射的光量。这样,由电流源18所提供的电流量i
oled
是诸如显示亮度设置(例如,显示亮度值(dbv))和要显示的内容(例如,红绿蓝(rgb)值)的若干参数的函数。换句话说,i
oled
~f(dbv,r,g,b)。
23.从上面可以看出,显示器12的光发射元件消耗的功率量可以基于由显示器12形成的图像而变化。例如,显示器12的光发射元件在当显示器12正在显示较亮的图像时消耗比在显示器12正在显示较暗图像时更多的功率(例如,较高的电流电平)。
24.由显示器12所使用的总功率量可以是发射功率、数据功率和栅极驱动功率的函数。发射功率可以是由光发射元件实际使用的功率。如上所讨论,光发射元件所使用的功率可以是显示亮度值(dbv)和要显示的内容的函数。可以使用(例如,由功率管理器6所提供的)elvdd和elvss功率轨来生成发射功率。模拟数据功率可以是用于调整(例如,由驱动器ic 22使用的)光发射元件的输出的功率。如下面进一步详细讨论的,模拟数据功率可以是数据线电容、dbv、帧速率和要显示的内容的函数。可以使用(例如,由功率管理器6提供的)avdd功率轨来生成模拟数据功率。栅极驱动功率可以是用于驱动显示器12的各种栅极——诸如面板中栅极(gip)模块24a和24b的栅极——的功率。可以使用(例如,由功率管理器6提供的)avdd功率轨来生成栅极驱动功率。如下面进一步详细讨论的,栅极驱动功率可以是数
据线电容、dbv、帧速率和要显示的内容的函数。
25.如上所讨论,功率管理器6可以包括被配置为供应可以被用于驱动显示器12的光发射元件或显示器12的其他组件(例如,驱动器ic 22、gip 24a和gip 24b)的功率信号(例如,avdd、elvdd和elvss)的功率转换器。这样的功率转换器的示例包括dc/dc转换器,诸如降压(buck)、升压(boost)、降压-升压(buck-boost)、升降压(cuk)(也称为双电感器逆变转换器)、反激式(flyback)或任何其他类型的dc/dc转换器。在一个具体示例中,功率管理器6可以包括被配置为生成elvdd功率信号的升压转换器和被配置为生成elvss功率信号的降压-升压转换器。通过其本质,功率转换器在不同的操作条件下具有不同的效率(例如,效率可以是输出电流的函数)。总体上,效率可以被认为是由功率转换器提供的功率量相对于由功率转换器消耗的功率量。例如,消耗10瓦(w)功率同时输出9w功率的功率转换器可以被认为是90%的效率。功率转换器的组件的值可以影响功率转换器的效率并且因此可以被选择以实现某些效率目标。例如,可以选择功率管理器6的功率转换器的电感器和电容器的值以在显示器12的正常操作电流电平下提供最优效率。
26.然而,在一些示例中,诸如显示器12的显示器可以被操作使得不存在任何一个正常操作电流电平。例如,除了其中以正常亮度显示图像并且显示器12消耗正常操作电流电平(例如,在大约50ma和200ma之间)的正常模式之外,设备2/显示器12可以在以下模式操作:暗模式,在该暗模式中,图像被改变以看起来更暗(例如,具有比正常模式更低的亮度)并且显示器12消耗降低的操作电流电平(例如,在大约10ma和50ma之间);锁定模式,在该锁定模式中,显示有限的信息(例如,仅时间、日期等);和/或其中显示器12的操作电流电平不同于正常操作电流电平的任何其他模式。
27.为了减少显示图像所消耗的总功率量,功率管理器6可以包括多个功率转换器20a至20n(共同地,“功率转换器20”),每个功率转换器针对不同的输出负载电流范围被优化。例如,与仅包括单组elvdd/elvss功率转换器相反,功率转换器20可以各自包括被优化为在不同电流范围向显示器12供应电功率的相应一组elvdd/elvss功率转换器。
28.在操作中,控制器10可以动态地切换功率转换器20中的哪个功率转换器正在向显示器12供应电功率。例如,控制器10可以测量由显示器12目前正在使用的功率量(例如,由显示器12使用的电流量),基于所测量的功率电平来选择功率转换器20中的功率转换器,并且使来自功率转换器20的所选择的功率转换器的电功率被供应到显示器12。然而,基于由显示器12目前正在使用的功率量切换功率转换器可能存在一个或多个缺点。例如,中帧功率转换器切换可能引入闪烁。显示器12所使用的功率量是在显示器12处正在被显示的内容的函数。不同的内容帧可以是彻底不同的,并且这样需要彻底不同的功率量。这样,如果功率转换器20中的所选择的功率转换器不是由显示器12目前正在使用的功率量的最优功率转换器,则控制器10可以切换到功率转换器20的最优功率转换器。这样的帧中切换可能引入闪烁,这可能是不期望的。
29.根据本公开的一个或多个技术,控制器10可以基于预测由显示器12在未来时间使用的功率量从功率转换器20中选择功率转换器以向显示器12供应功率。例如,控制器10可以基于帧n的内容来估计由显示器12在未来时间输出帧n所使用的功率量。控制器10可以选择功率转换器20中的与所估计的功率量相匹配的功率转换器,并且使得在未来时间将来自所选择的功率转换器的电功率被供应给显示器12。例如,与通过帧n的输出中途切换到所选
择的功率转换器相反,控制器10可以使得所选择的功率转换器在显示器正在输出帧n时向显示器12供应功率。这样,可以最有效地供应显示器12所使用的功率量的功率转换器20中的功率转换器可以被动态地使用,而不引入闪烁。以该方式,本公开的技术使能够减少用于驱动显示器12的功率量。
30.控制器10可以是能够执行本文中描述的操作的任何控制器或处理器。控制器10的示例包括但不限于一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)、片上系统(soc)或其他等效的集成或离散逻辑电路系统。
31.图2是图示根据本公开的一个或多个方面的功率转换器20的各种功率转换器的跨输出负载电流的示例效率的曲线图。如图2所示,曲线图200包括表示功率转换器的输出负载电流的横轴、表示功率转换器的效率的纵轴以及表示各种功率转换器的效率和输出负载电流之间的示例关系的曲线202a和202b。例如,曲线202a可以表示图1的功率转换器20a的效率和输出负载电流之间的关系,并且曲线202b可以表示图1的功率转换器20b的效率和输出负载电流之间的关系。
32.从图2中的曲线202a和202b可以看出,可以针对在不同负载电流范围内有效操作优化功率转换器20a和20b。例如,从曲线202a可以看出,可以针对从大约10ma到大约50ma的有效操作优化功率转换器20a。类似地,从曲线202b可以看出,可以针对从大约50ma到大约250ma的有效操作优化功率转换器20b。
33.在操作时,多路复用器8和/或控制器10可以启用在功率转换器20之间的动态切换。例如,控制器10可以估计由显示器12在未来时间使用的电流电平。如下文进一步详细讨论的,控制器10可以基于多种因素中的一个或多个来估计电流电平,诸如显示器亮度设置和将由显示器12显示的内容。控制器10可以基于所估计的电流电平来选择功率转换器20的功率转换器。例如,控制器10可以选择功率转换器20的功率转换器,该功率转换器被优化为以所估计的电流电平供应电功率。控制器10可以使来自所选择的功率转换器的电功率在未来时间被供应到显示器12。作为一个示例,在设备2包括多路复用器8的情况下,控制器10可以使多路复用器8将来自所选择的功率转换器的elvdd和elvss功率信号路由到显示器12。作为另一示例(例如,在省略多路复用器8并且所有功率转换器20的输出被连接到公共elvss和elvss节点的情况下,诸如图3中所示),控制器10可以使功率转换器20的所选择的功率转换器输出功率信号并且使其他功率转换器避免输出所述功率信号。
34.图3是图示根据本公开的一个或多个方面的图1的设备的另一示例的细节的框图。如与图1相反的示例图3中所示,设备2可以省略多路复用器8,并且功率转换器20的输出可以被连接到向显示器12供应功率的公共节点(例如,elvdd节点和elvss节点)。如上所讨论的,在这样的示例中,控制器10可以通过仅操作所期望的功率转换器并关闭其他功率转换器来动态地控制功率转换器20中的哪个功率转换器供应功率。
35.如上所讨论,控制器10可以启用在功率转换器20之间的动态切换。例如,控制器10可以估计由显示器12将在未来时间使用的电流电平,基于所估计的电流电平来选择功率转换器20的功率转换器,并且使来自所选择的功率转换器的电功率在未来时间被供应到显示器12。
36.如图3所示,控制器10可以包括数据路径30、发射功率(em)计算器32、数据功率计
算器34、栅极功率计算器36和功率选择器38。控制器10可以从设备2的一个或多个其他组件接收数据。例如,控制器10可以从设备2的中央处理单元(cpu)接收内容、帧速率、和/或亮度设置。内容可以表示将由显示器12显示的内容。例如,内容可以包括共同形成要由显示器12显示的图像的像素值(例如rgb值)。亮度设置可以指示用于显示器12的操作的一般亮度水平。亮度设置可以由用户控制(例如,经由滑块或某个其他用户界面元素)和/或可以由设备2自动地控制(例如,基于经由光传感器感测的环境光)。
37.数据路径30可以在内容被提供给显示器12之前执行一个或多个动作来处理内容。例如,数据路径30可以包括一个或多个帧缓冲器,其存储要在显示器12处显示的图像数据的帧。
38.em功率计算器32可以预测在输出特定帧时由显示器12的光发射元件所使用的功率量。em功率计算器32可以使用理论的学习技术或模型、分析的学习技术或模型和机器学习技术或模型的任何组合来预测或估计em功率。为了利用理论的模型或分析的模型,em功率计算器32可以使用以下等式来计算发射功率:
[0039][0040]
换句话说,em功率计算器32可以跨显示器12的所有像素对要在每个像素处显示的rgb值乘以elvdd和elvss之间的电压差的函数求和。假设对于所有像素使用相同的dbv,则em功率计算器32可以通过显示亮度值(dbv)的函数来乘以该和。理论和分析的技术在它们的确定f(dbv)和f(r,g,b)的方法上可能不同。为了使用理论技术来确定f(dbv)和/或f(r,g,b),em功率计算器32可以使用基于显示器12的理论参数的模型。作为一个示例,em功率计算器32可以使用以下理论等式来确定显示亮度值的函数:
[0041][0042]
其中,l
max_norm
是正常模式下的显示器12的像素的最大亮度级别,并且l
max_hbm
是高亮度(hb)模式下的显示器12的像素的最大亮度级别。
[0043]
作为另一示例,em功率计算器32可以使用以下理论等式来确定要显示的内容的函数:
[0044]
f(r,g,b)=gamma2.2
[0045]
其中,gamma2.2是基于r,g,b值所确定的伽马值。
[0046]
为了使用分析技术来确定f(dbv)和/或f(r,g,b),em功率计算器32可以使用基于显示器12的测量参数的模型。作为一个示例,em功率计算器32可以使用以下分析等式来确定显示亮度值的函数:
[0047][0048]
作为另一示例,em功率计算器32可以使用以下分析等式来确定要显示的内容的函数:
[0049]
f(r,g,b)=0.6957e-9
r3 0.5471e-6r2-0.3260e-5
r 0.5748e-3
[0050]
2.147e-10
g3 0.4471e-6g2-0.2260e-5
g 0.7348e-4
[0051]
1.4957e-10
b3 1.3471e-6b2-0.2220e-5
b 1.1748e-4
[0052]
其中,r是要在像素处显示的内容的红色值的灰度码,g是内容的绿色值的灰度码,并且b是内容的蓝色值的灰度码。
[0053]
em功率计算器32可以通过若干技术使用机器学习来确定发射功率。机器学习技术可以辅助em功率计算器32考虑显示器12的更复杂方面,诸如面板负载电阻。特别地,面板负载电阻可以使得每个颜色分量的发射功率的组合总和不等于总发射功率(例如,pr pg pb≠p
rgb
)。在一个示例中,em功率计算器32可以使用机器学习(ml)模型来确定颜色分量的新灰度码,以考虑此面板电阻。例如,em功率计算器32可以利用ml模型来计算新灰度码(r’,g’,b’),使得p
r’ p
g’ p
b’=p
r’g’b’。可以基于显示器12的过去行为来训练该ml模型。em功率计算器32可以使用ml导出的新灰度码来确定发射功率。例如,em功率计算器32可以使用ml导出的新灰度码来使用上面讨论的分析或理论技术来确定发射功率。下面参考图6讨论用于使用机器学习来确定发射功率的附加的或可替代的技术。
[0054]
数据功率计算器34可以预测诸如由驱动器ic 22用于模拟数据(即,p
data
)的功率量。数据功率计算器34可以基于包括数据线电容(c
line
)、显示亮度值(dbv)、帧速率和内容(例如,rgb数据)的若干参数来预测p
data
。下面参考图4讨论数据功率计算器34的一个示例的进一步细节。
[0055]
用于栅极控制的栅极功率计算器36,诸如通过gip 24a和gip 24b(即,p
gip
)。栅极功率计算器36可以基于包括数据线电容(c
line
)、显示亮度值(dbv)、帧速率和内容(例如,rgb数据)的若干参数来预测p
gip
。栅极功率计算器36可以预测p
gip
作为一个或多个其他功率电平——诸如帧速率依赖性扫描栅极驱动器功率p
scan
、脉宽调制(pwm)依赖性发射(em)栅极驱动器功率p
em2
和杂项功率p
misc
(例如,扫描时钟、v
gh
/v
gl
生成等)——的组合。这样,在一些示例中,栅极功率计算器可以计算p
gip
=p
scan
p
em2
p
misc

[0056]
图4a和4b是图示根据本公开的一个或多个方面的模拟数据功率的概念图。图4a图示行和列中的子像素的示例布置。特别地,图4a图示所谓的rgbg布置,其中每个像素由一个红色子像素、两个绿色子像素和一个蓝色子像素组成。蓝色子像素和红色子像素被布置在公共列(例如,奇数列)上,而绿色子像素被布置在它们自己的列(例如,偶数列)上。由于子像素的各种特性,实现特定灰度码所需的电压对于不同的颜色可能是不同的。例如,实现蓝灰色码255所需的电压可以与(例如,大于)实现红灰色码255所需的电压不同。当对子像素输出电平进行编程时,所消耗的功率量可以是相邻像素的电压之间的差的函数。一个子像素与下一个子像素的电压差可以被称为摆动电压或v
swing
。最坏情况场景(最大功率使用)可以是所有红色子像素都断开(例如,具有0的灰度码)并且所有蓝色子像素都完全接通(例如,具有255的灰度码)。因此,模拟数据功率量(例如,p
data
)可以基于所显示的内容。
[0057]
图4b图示像素编程的示例定时图。如图4b所示,输出数据帧可以包括像素编程时段和可选消隐时段。在像素编程时段期间,驱动器ic 22可以输出使得各个子像素以特定电平发射光的电压电平。
[0058]
基于以上,数据功率计算器34可以使用以下理论等式来计算数据线功率:
[0059][0060]
其中,c
line
是子像素线的电容(例如图4a的c
line
),v
swing
是相邻子像素之间的摆动
电压,f
toggle
是帧速率,t
prog
是编程时段的长度,并且t
frame
是整个帧的长度(例如,t
prog
加上t
blank
)。
[0061]
基于该理论等式,数据功率计算器34可以使用以下分析等式来计算p
data
:
[0062][0063]
其中,c
line
是子像素线的电容(例如,图4a的c
line
),avdd是(例如,由图1的功率转换器20中的功率转换器产生的)avdd轨的电压电平,v
i,j
是在地点i,j对子像素编程所需的电压,并且relu[]是整流的线性单位函数(例如,由于从较高编程电压摆动到较低编程电压不消耗功率,而从低编程电压摆动到高编程电压消耗功率)。
[0064]
为了完整起见,再次注意到,子像素的编程电压是子像素的灰度码和显示亮度值二者的函数。这样,数据功率计算器34可以基于以下中的一个或多个来确定p
data
:要显示的内容、显示亮度值、帧速率和数据线电容。
[0065]
图5是图示根据本公开的一个或多个方面的显示器的组件的概念图。如上所讨论,面板负载电阻可以对用于驱动光发射元件的电流量具有影响(例如,对i
oled
具有影响)。面板负载电阻,也称为内部电阻(ir),可以由显示器12内部的组件的共同电阻形成。例如,如图5所示,像素的每个附加行可以引入附加电阻。累积电阻可以在接近驱动器ic 22处(例如,在接近“底部”的行中,诸如y=1)相对较小,但是可以在远离驱动器ic 22处(例如,在接近“顶部”的行中,诸如y=m)相对较大。ir的这些变化的结果可以使得用于驱动光发射元件的电流量是离驱动器ic 22的距离(例如,图5中的行数或y坐标)的函数。例如,i
oled
可以是显示亮度值(dbv)、红灰色码r、绿灰色码g、蓝灰色码b和位置y的函数(例如,i
oled
~f(dbv,r,g,b,y))。在一些示例中,y可以表示特定行离驱动器ic 22的距离(例如,以像素数目表示)。
[0066]
这种对位置y的依赖性可能使得上述用于发射功率的分析等式不成立。根据本公开的一个或多个技术,em功率计算器32可以使用机器学习模型来预测显示器12的发射功率。例如,em功率计算器32可以使用机器学习模型,其可以基于显示器12的先前发射功率消耗来训练,同时在各种地点处显示各种图案以预测i
oled
。这样,机器学习模型可以考虑面板负载电阻。
[0067]
图6是图示根据本公开的一个或多个方面的预测显示器的发射功率的机器学习模型的概念图。如上所讨论,em功率计算器32可以使用机器学习模型来预测显示器12的发射功率。在一些示例中,机器学习模型可以是深度神经网络,诸如卷积神经网络(cnn),以预测发射功率。使用cnn来预测发射功率可以呈现一个或多个优点。例如,cnn可以保存地点信息(例如,行信息或来自图5的“y”)。
[0068]
如图6所示,em功率计算器32可以接收内容602,该内容是在未来时间在显示器12所显示的内容。内容602可以是rgb矩阵的形式,称为输入rgb矩阵。em功率计算器32可以执行ml模型604以处理内容602以确定所预测的发射功率量。例如,em功率计算器32可以使用ml模型604并且基于内容602来确定i
oled

[0069]
em功率计算器32可以基于所确定的i
oled
来确定总发射功率。例如,em功率计算器32可以使用下面分析等式来确定发射功率。
[0070][0071]
其中,i
oled
[i,j]~f(dbv,r,g,b,y)。
[0072]
参考回到图3,功率选择器38可以被配置为基于一个或多个所估计的功率电平来选择功率转换器20中的功率转换器。例如,功率选择器38可以基于所估计的发射功率量p
em
、所估计的数据功率量p
data
和/或所估计的栅极驱动功率量p
gip
中的一个或多个来估计要由显示器12所使用的总功率量。总功率量可以表示为电流电平(例如,假设一致电压)或瓦特电平。
[0073]
在一些示例中,功率选择器38可以包括在电流电平和功率转换器之间映射的查找表(lut)。下面在表1中示出了一个示例lut。
[0074]
表1
[0075]
电流范围功率转换器10ma-50ma功率转换器20a51ma-250ma功率转换器20b
[0076]
如上面在表1中所示,如果所估计的功率电平在10ma和50ma之间,则功率选择器38可以选择功率转换器20a。类似地,如果所估计的功率电平在51ma和250ma之间,则功率选择器38可以选择功率转换器20b。
[0077]
在一些示例中,功率选择器38可以从功率转换器20中选择一组功率转换器。例如,在功率转换器20包括被配置为供应第一功率轨的第一组功率转换器(例如,一组evldd和evlss转换器)和被配置为供应第二功率轨的第二组功率转换器(例如,一组avdd转换器)的情况下,功率选择器38可以从第一组中选择一功率转换器、并且从第二组中选择一功率转换器。作为一个示例,功率选择器38可以基于发射功率从一组elvdd/elvss转换器中选择一elvdd/elvss转换器,并且基于栅极驱动功率量和数据功率量从一组avdd转换器中选择一avdd转换器。功率转换器的选择可以是分开的或者可以是联合的。例如,在联合选择中,功率选择器38可以总是针对特定elvdd/elvss转换器选择相同avdd转换器。在分开的选择中,功率选择器38可以选择被优化以输出p
data
p
gip
的avdd转换器,并且选择被优化以输出p
em
的elvdd/elvss。
[0078]
功率选择器38可以使来自所选择的功率转换器的电功率在未来时间被供应到显示器。作为一个示例,如图3的示例中所示,功率选择器38可以使功率转换器20的所选择的功率转换器向显示器12供应电功率,同时使功率转换器20的其他功率转换器不向显示器12供应电功率。作为另一示例,如在图1的示例中所示,功率选择器38可以向多路复用器8输出信号,该信号使来自功率转换器20的所选择的功率转换器的功率被路由到显示器12(同时类似地不操作功率转换器20的其他功率转换器)。
[0079]
控制器10可以被配置成周期性地更新对来自功率转换器20的功率转换器的选择。例如,控制器10可以被配置为基于事件的发生来更新对来自功率转换器20的功率转换器的选择。示例事件包括,但不限于,显示特定数量的帧(例如,1,5,10,20,30,60,120等)、经过特定时间量(例如,1秒,2秒,5秒,10秒,30秒,1分钟等)的显示器12等。作为一个示例,控制器10可以响应于确定特定数量的帧已经由显示器12显示(例如,基于对显示器12的帧缓冲
器的监视或由显示器12使用)而确定事件已经发生。作为另一示例,控制器10可以响应于确定特定时间量已经过去而确定事件已经发生。
[0080]
图7a到7e是图示根据本公开的示例实施方式的示例机器学习的模型的方面的概念图。下面在图6的模型604的场境中描述图7a到7e。例如,在一些实例中,如下所参考,机器学习的模型300可以是模型604中的任何一个的示例。
[0081]
图7a描绘了根据本公开的示例实施方式的示例机器学习的模型的概念图。如图7a所示,在一些实施方式中,机器学习的模型300被训练成接收一个或多个类型的输入数据,并且作为响应,提供一个或多个类型的输出数据。因此,图7a图示了执行推理的机器学习的模型300。
[0082]
输入数据可以包括与实例或示例相关联的一个或多个特征。在一些实施方式中,与实例或示例相关联的所述一个或多个特征可以被组织成特征向量(例如rgb矩阵)。在一些实施方式中,输出数据可以包括一个或多个预测。预测也可以称为推理。因此,在给定与特定实例相关联的特征的情况下,机器学习的模型300可以基于所述特征来输出针对该实例的预测。
[0083]
机器学习的模型300可以是或包括各种不同类型的机器学习模型中的一个或多个。特别地,在一些实施方式中,机器学习的模型300可以执行分类、回归、聚类、异常检测、推荐生成和/或其他任务。
[0084]
在一些实施方式中,机器学习的模型300可以基于输入数据来执行各种类型的分类。例如,机器学习的模型300可以执行二进制分类或多类分类。在二进制分类中,输出数据可以包括将输入数据分类为两个不同的类中的一个。在多类分类中,输出数据可包括将输入数据分类为两个以上类中的一个(或多个)。分类可以是单标签或多标签。机器学习的模型300可以执行离散类别分类,其中输入数据被简单地分类为一个或多个类或类别。
[0085]
在一些实施方式中,机器学习的模型300可以执行分类,其中,机器学习的模型300为一个或多个类的每一个类提供数值,该数值描述其认为输入数据应当被分类到相应类的程度。在一些实例中,由机器学习的模型300提供的数值可以被称为“置信度得分”,其指示与将输入分类到相应类中相关联的相应置信度。在一些实施方式中,可将置信度得分与一个或多个阈值比较以给予离散类别预测。在一些实施方式中,可以仅选择具有相对最大的置信度得分的一定数量的(例如,一个)类来给予离散类别预测。
[0086]
机器学习的模型300可以输出概率分类。例如,机器学习的模型300可以在给定样本输入的情况下预测在类的集合上的概率分布。因此,机器学习的模型300不是仅输出样本输入应该属于的最可能的类,而是针对每个类来输出样本输入属于这样的类的概率。在一些实施方式中,所有可能类上的概率分布可以求和为一。在一些实施方式中,可以使用softmax函数或其他类型的函数或层来将分别与可能的类相关联的实数值集合压缩为和为一的(0,1)范围内的实数值集合。
[0087]
在一些示例中,可以将概率分布所提供的概率与一个或多个阈值进行比较,以给予离散类别预测。在一些实施方式中,可以仅选择具有相对最大的预测概率的一定数量的(例如,一个)类来给予离散类别预测。
[0088]
在其中机器学习的模型300执行分类的情况下,机器学习的模型300可以使用监督学习技术来被训练。例如,机器学习的模型300可以在训练数据集上被训练,该训练数据集
包括被标记为属于(或不属于)一个或多个类的训练示例。下面在图7b至图7e的描述中提供关于监督训练技术的进一步细节。
[0089]
在一些实施方式中,机器学习的模型300可以执行回归以提供连续数值形式的输出数据。连续数值可以与包括例如币值、得分或其他数字表示的任何不同度量或数字表示的数字相对应。作为示例,机器学习的模型300可以执行线性回归、多项式回归或非线性回归。作为示例,机器学习的模型300可以执行简单回归或多重回归。如上所述,在一些实施方式中,可以使用softmax函数或其他函数或层来将分别与两个或更多个可能的类相关联的实数值集合压缩为求和为一的在(0,1)范围内的实数值集合。
[0090]
机器学习的模型300可以执行各种类型的聚类。例如,机器学习的模型300可以识别输入数据最可能对应的一个或多个先前定义的簇。机器学习的模型300可以识别输入数据内的一个或多个簇。即,在其中输入数据包括多个对象、文档或其他实体的实例中,机器学习的模型300可以将输入数据中包括的多个实体分类为多个簇。在其中机器学习的模型300执行聚类的一些实施方式中,机器学习的模型300可以使用无监督学习技术来被训练。
[0091]
机器学习的模型300可以执行异常检测或离群点检测。例如,机器学习的模型300可以识别不符合预期模式或其他特征的输入数据(例如,如先前从先前的输入数据中观察到的)。作为示例,异常检测可以用于欺诈检测或系统故障检测。
[0092]
在一些实施方式中,机器学习的模型300可以以一个或多个推荐的形式提供输出数据。例如,机器学习的模型300可以被包括在推荐系统或引擎中。作为示例,给定描述某些实体的先前结果的输入数据(例如,指示成功或享受的量的得分、排名或评级),机器学习的模型300可以输出一个或多个附加实体的建议或推荐,基于先前的结果,所述一个或多个附加实体被预期具有期望的结果(例如,引出指示成功或享受的得分、排名或评级)。作为一个示例,给定描述要在诸如图1的设备2的计算设备的显示器处输出的内容的输入数据,诸如图1的控制器10的控制器可以预测将用于输出内容的功率量。
[0093]
在一些情况下,机器学习的模型300可以充当环境内的代理。例如,机器学习的模型300可以使用强化学习来被训练,这将在下面进一步详细讨论。
[0094]
在一些实施方式中,机器学习的模型300可以是参数模型,而在其他实施方式中,机器学习的模型300可以是非参数模型。在一些实施方式中,机器学习的模型300可以是线性模型,而在其他实施方式中,机器学习的模型300可以是非线性模型。
[0095]
如上所述,机器学习的模型300可以是或包括各种不同类型的机器学习的模型中的一个或多个。下面提供了这样的不同类型的机器学习模型的示例以用于说明。可以使用(例如,组合)下面描述的一个或多个示例模型以响应于输入数据来提供输出数据。除下面提供的示例模型外,还可以使用附加模型。
[0096]
在一些实施方式中,机器学习的模型300可以是或包括一个或多个分类器模型,诸如,例如,线性分类模型、二次分类模型等。机器学习的模型300可以是或包括一个或多个回归模型,诸如,例如,简单线性回归模型、多元线性回归模型、逻辑回归模型、逐步回归模型、多变量自适应回归样条、本地估计散点平滑模型等。
[0097]
在一些示例中,机器学习的模型300可以是或包括一个或多个基于决策树的模型,诸如,例如,分类和/或回归树、迭代二分法3决策树、c4.5决策树、卡方自动交互检测决策树、决策树桩、条件决策树等。
[0098]
机器学习的模型300可以是或包括一个或多个内核机器。在一些实施方式中,机器学习的模型300可以是或包括一个或多个支持向量机。机器学习的模型300可以是或包括一个或多个基于实例的学习模型,诸如,例如,学习向量量化模型、自组织地图模型、本地加权学习模型等。在一些实施方式中,机器学习的模型300可以是或包括一个或多个最近邻模型,诸如,例如,k最近邻分类模型、k-最近邻回归模型等。机器学习的模型300可以是或包括一个或多个贝叶斯模型,诸如,例如,朴素贝叶斯模型、高斯朴素贝叶斯模型、多项式朴素贝叶斯模型、平均单依赖估计器、贝叶斯网络、贝叶斯信念网络、隐马尔可夫(markov)模型等。
[0099]
在一些实施方式中,机器学习的模型300可以是或包括一个或多个人工神经网络(也简称为神经网络)。神经网络可以包括一组连接的节点,也可以称为神经元或感知器。神经网络可以被组织成一层或多层。包含多层的神经网络可以称为“深度”网络。深度网络可以包括输入层、输出层以及位于输入层和输出层之间的一个或多个隐藏层(例如,如图6所示)。神经网络的节点可以连接或不完全连接。
[0100]
机器学习的模型300可以是或包括一个或多个前馈神经网络。在前馈网络中,节点之间的连接不形成循环。例如,每个连接都可以将来自较早层的节点连接到来自较晚层的节点。
[0101]
在一些实例中,机器学习的模型300可以是或包括一个或多个循环神经网络。在一些实例中,循环神经网络的至少一些节点可以形成循环。循环神经网络对于处理本质上是顺序的输入数据尤其有用。特别地,在一些实例中,循环神经网络可以通过使用循环或有向循环节点连接来将信息从输入数据序列的先前部分传递或保留到输入数据序列的后续部分。
[0102]
在一些示例中,顺序输入数据可以包括时间序列数据(例如,相比于时间的传感器数据或在不同时间捕获的成像)。例如,循环神经网络可以分析相比于时间的传感器数据,以检测或预测滑动方向,以执行笔迹辨识等。顺序输入数据可以包括句子中的词(例如,用于自然语言处理、语音检测或处理等)、音乐作品中的音符、用户采取的顺序动作(例如,以检测或预测顺序的应用使用)、顺序对象状态等。
[0103]
示例递归神经网络包括长短期(lstm)递归神经网络、门控递归单元、双向递归神经网络、连续时间递归神经网络、神经历史压缩器、回声状态网络、埃尔曼(elman)网络、约旦(jordan)网络、递归神经网络、霍普菲尔德(hopfield)网络、完全循环网络、序列到序列配置等。
[0104]
在一些实施方式中,机器学习的模型300可以是或包括一个或多个卷积神经网络。在一些实例中,卷积神经网络可以包括一个或多个卷积层,所述一个或多个卷积层使用学习的过滤器对输入数据执行卷积。
[0105]
过滤器也可以称为内核。诸如在输入数据包括诸如静止图像或视频的成像时,卷积神经网络对于视觉问题可以尤其有用。然而,卷积神经网络也可以应用于自然语言处理。
[0106]
在一些示例中,机器学习的模型300可以是或包括一个或多个生成网络,诸如,例如,生成对抗网络。生成网络可用于生成新数据,诸如,新图像或其他内容。
[0107]
机器学习的模型300可以是或包括自动编码器。在一些实例中,自动编码器的目的是学习用于数据集合的表示(例如,较低维编码),通常是出于降维的目的。例如,在一些实例中,自动编码器可以尝试对输入数据进行编码,并且提供从编码重建输入数据的输出数
据。最近,自动编码器概念已被更广泛地用于学习数据的生成模型。在一些实例中,自动编码器能够包含除重建输入数据以外的附加损耗。
[0108]
机器学习的模型300可以是或包括一个或多个其他形式的人工神经网络,例如,深度玻尔兹曼机器、深度信念网络、堆叠式自动编码器等。本文描述的任何神经网络都可以组合(例如堆叠)以形成更复杂的网络。
[0109]
一个或多个神经网络可用于基于输入数据来提供嵌入。例如,嵌入可以是从输入数据抽象为一个或多个学习的维度的知识的表示。在一些实例中,嵌入可以是识别相关实体的有用来源。在一些实例中,可以从网络的输出中提取嵌入,而在其他实例中,可以从网络的任何隐藏节点或层(例如,接近网络的最终层但不是最终层)中提取嵌入。嵌入对于执行自动建议下一个视频、产品建议、实体或对象辨识等有用。在一些实例中,嵌入对于下游模型是有用的输入。例如,嵌入可用于泛化下游模型或处理系统的输入数据(例如,搜索查询)。
[0110]
机器学习的模型300可以包括一个或多个聚类模型,诸如,例如,k均值聚类模型、k中值聚类模型、期望最大化模型、层次聚类模型等。
[0111]
在一些实施方式中,机器学习的模型300可以执行一个或多个降维技术,诸如,例如主成分分析、内核主成分分析、基于图的内核主成分分析、主成分回归、偏最小二乘回归、sammon映射、多维缩放、投影寻踪、线性判别分析、混合判别分析、二次判别分析、广义判别分析、灵活判别分析、自动编码等。
[0112]
在一些实施方式中,机器学习的模型300可以执行或承受一个或多个强化学习技术,诸如马尔可夫决策过程、动态编程、q函数或q学习、值函数法、深度q网络、可微神经计算机、异步优势演员-评论员(actor-critics)、确定性策略梯度等。
[0113]
在一些实施方式中,机器学习的模型300可以是自回归模型。在一些实例中,自回归模型可以指定输出数据线性依赖于其自身的先前值和依赖于随机项。在一些实例中,自回归模型可以采用随机差分方程的形式。自回归模型的一个示例是wavenet,它是原始音频的生成模型。
[0114]
在一些实施方式中,机器学习的模型300可以包括或形成多模型集成的一部分。作为一个示例,可以执行引导聚焦(bootstrap aggregating),也可以称为“装袋(bagging)”。在引导聚焦中,将训练数据集划分为多个子集(例如,通过利用替换来随机抽样),并且分别在多个子集上训练多个模型。在推理时间,可以将多个模型的相应输出进行组合(例如,通过平均、投票或其他技术),并用作集成的输出。
[0115]
一个示例集成是随机森林,也可以称为随机决策森林。随机森林是用于分类、回归和其他任务的集成学习方法。通过在训练时产生多个决策树来生成随机森林。在一些实例中,在推理时,可以将作为单独树的类(分类)或平均预测(回归)模式的类用作森林的输出。随机决策森林可以纠正决策树过度适应其训练集的趋势。
[0116]
另一个示例的集成技术是堆叠,在一些实例中,可以将其称为堆叠泛化。堆叠包括训练组合器模型以融合或组合若干其他机器学习的模型的预测。因此,可以基于训练数据来训练(例如,相同或不同类型的)多个机器学习的模型。另外,可以训练组合器模型以将来自其他机器学习的模型的预测作为输入,并且作为响应,产生最终的推理或预测。在一些实例中,可以将单层逻辑回归模型用作组合器模型。
[0117]
集成技术的另一个示例是boosting。boosting可以包括通过迭代训练弱模型、并且然后增加到最终的强模型来递增地构建集成。例如,在一些实例中,可以对每个新模型进行训练,来强调先前模型被误解(例如,被错误分类)的训练示例。例如,可以增加与每个这样的被误解的示例相关联的权重。boosting的一个常见实施方式是adaboost,也可以称为自适应boosting。其他示例boosting技术包括lpboost、totalboost、brownboost、xgboost、madaboost、logitboost、梯度boosting等。此外,可以将上述任何模型(例如,回归模型和人工神经网络)组合以形成集成。作为示例,集成可以包括最高级机器学习的模型或启发式函数,以对形成集成的模型的输出进行组合和/或加权。
[0118]
在一些实施方式中,多个机器学习的模型(例如,形成集成的模型可以被链接并被联合训练(例如,通过错误的反向传播顺序地通过模型集成)。然而,在一些实施方式中,仅联合训练的模型的子集(例如,一个)被用于推理。
[0119]
在一些实施方式中,机器学习的模型300可以用于预处理输入数据,以随后输入到另一个模型中。例如,机器学习的模型300可以执行降维技术和嵌入(例如,矩阵因式分解、主成分分析、奇异值分解、word2vec/glove和/或相关方法)、聚类、以及甚至对下游消耗的分类和回归。上面已经讨论了许多这些技术,并且下面将进一步讨论。
[0120]
如上所讨论,机器学习的模型300可以被训练或以其他方式被配置为接收输入数据,并且作为响应,提供输出数据。输入数据可以包括不同类型、形式或变体的输入数据。作为示例,在各种实施方式中,输入数据可以包括描述用户最初选择的内容(或部分内容)的特征,例如,用户选择的文档或图像的内容、指向用户选择的链接、用户选择内的与设备或云上可用的其他文件有关的链接、用户选择的元数据等。附加地,在用户许可的情况下,输入数据包括从应用本身或从其他来源获得的用户的使用的场境。使用场境的示例包括共享的广度(公开共享、或者与大组共享、或者私有地共享、或者与特定人共享)、共享的场境等。在被用户允许时,附加输入数据可以包括设备的状态,例如,设备的地点、设备上运行的应用等。
[0121]
在一些实施方式中,机器学习的模型300可以以其原始形式接收和使用输入数据。在一些实施方式中,可以预处理原始输入数据。因此,对于原始输入数据附加地或可替代地,机器学习的模型300可以接收并使用预处理的输入数据。
[0122]
在一些实施方式中,预处理输入数据可以包括从原始输入数据中提取一个或多个附加特征。例如,可以将特征提取技术应用于输入数据以生成一个或多个新的附加特征。示例的特征提取技术包括边缘检测、角点检测、斑点检测、岭检测、尺度不变特征变换、运动检测、光流、霍夫(hough)变换等。
[0123]
在一些实施方式中,所提取的特征可以包括或导出于输入数据到其他域和/或维度的变换。作为示例,所提取的特征可以包括输入数据到频域的变换或从输入数据到频域的变换被导出。例如,可以对输入数据执行小波变换和/或快速傅立叶变换以生成附加特征。
[0124]
在一些实施方式中,提取的特征可以包括根据输入数据或输入数据的某些部分或维度计算的统计量。示例的统计量包括输入数据或其部分的模式、均值、最大值、最小值或其他度量。
[0125]
在一些实施方式中,如上所述,输入数据可以本质上是顺序的。在一些实例中,可
以通过对输入数据流进行采样或分割来生成顺序输入数据。作为一个示例,可以从视频中提取帧。在一些实施方式中,可以通过汇总使顺序数据成为非顺序数据。
[0126]
作为另一个示例的预处理技术,可以对输入数据的部分进行插补。例如,可以通过内插和/或外插来生成附加的合成输入数据。
[0127]
作为另一示例预处理技术,输入数据的一些或全部可以被缩放、标准化、归一化、泛化和/或正则化。正则化技术示例包括岭回归、最小绝对收缩和选择算子(lasso)、弹性网络、最小角回归、交叉验证、l1正则化、l2正则化等。作为一个示例,可以通过从每个单独的特征值中减去给定维度的特征值的平均值,并且然后除以标准偏差或其他度量,来对输入数据的部分或全部进行归一化。
[0128]
作为另一示例预处理技术,可以对输入数据的一些或全部进行量化或离散化。在一些情况下,输入数据中包含的定性特征或变量可以被转换为定量特征或变量。例如,可以执行一个热编码。
[0129]
在一些示例中,可以在输入到机器学习的模型300之前将降维技术应用于输入数据。上面提供了降维技术的若干示例,包括,例如主成分分析、内核主成分分析、基于图的内核主成分分析、主成分回归、偏最小二乘回归、sammon映射、多维缩放、投影寻踪、线性判别分析、混合判别分析、二次判别分析、广义判别分析、灵活判别分析、自动编码等。
[0130]
在一些实施方式中,在训练期间,可以以任何数量的方式有意对输入数据进行变形,以增加模型鲁棒性、泛化或其他质量。对输入数据进行变形的示例技术包括添加噪声、更改颜色或阴影或色调、倍率、分割、放大等。
[0131]
响应于接收到输入数据,机器学习的模型300可以提供输出数据。输出数据可以包括不同类型、形式或变体的输出数据。作为示例,在各种实施方式中,输出数据可以包括在用户设备上本地存储或在云中存储的、与初始内容选择一起可相关地共享的内容。
[0132]
如上所讨论,在一些实施方式中,输出数据可以包括各种类型的分类数据(例如,二进制分类、多类分类、单标签、多标签、离散分类、回归分类、概率分类等),或可以包含各种类型的回归数据(例如,线性回归、多项式回归、非线性回归、简单回归、多元回归等)。在其他实例中,输出数据可以包括聚类数据、异常检测数据、推荐数据或上面讨论的任何其他形式的输出数据。
[0133]
在一些实施方式中,输出数据可以影响下游过程或决策制定。作为一个示例,在一些实施方式中,输出数据可以由基于规则的调节器解释和/或作用。
[0134]
本公开提供了包括或以其他方式充分利用一个或多个机器学习的模型的系统和方法,以建议在使用设备上本地存储或在云中存储的、基于初始内容选择的特征与初始内容选择一起可相关地共享的内容。上述任何不同类型或形式的输入数据可以与上述任何不同类型或形式的机器学习的模型相结合,以提供上述任何不同类型或形式的输出数据。
[0135]
本公开的系统和方法可以由一个或多个计算设备实施或以其他方式在一个或多个计算设备上执行。示例计算设备包括用户计算设备(例如,膝上型计算机、台式计算机以及诸如平板电脑、智能电话、可穿戴计算设备等的移动计算设备)、嵌入式计算设备(例如,嵌入在车辆、相机、图像传感器、工业机器、卫星、游戏控制台或控制器中的,或嵌入在诸如冰箱、恒温器、电能表、家庭能源管理器、智能家居助手等家用电器中的设备)、服务器计算设备(例如,数据库服务器、参数服务器、文件服务器、邮件服务器、打印服务器、web服务器、
游戏服务器、应用服务器等)、专用的专业模型处理或培训设备、虚拟计算设备、其他计算设备或计算基础架构、或其组合。
[0136]
图7b图示了计算设备310的概念图,该计算设备310是图1的设备2的示例。计算设备310包括处理组件302、存储器组件304和机器学习的模型300。计算设备310可以本地(即,在设备上)存储和实施机器学习的模型300。因此,在一些实施方式中,机器学习的模型300可以被存储在嵌入式设备或诸如移动设备的用户计算设备处和/或由嵌入式设备或诸如移动设备的用户计算设备本地实施。通过在嵌入式设备或用户计算设备处的机器学习的模型300的本地实施而获得的输出数据可以用于改善嵌入式设备或用户计算设备(例如,由嵌入式设备或用户计算设备实施的应用)的性能。
[0137]
图7c图示了可以通过网络与包括机器学习的模型的示例服务器计算系统进行通信的示例客户端计算设备的概念图。图7c包括客户端设备310a通过网络330与服务器设备360通信。客户端设备310a是图1的设备2的示例。服务器设备360存储并且实施机器学习的模型300。在一些实例中,通过在服务器设备360处的机器学习的模型300获得的输出数据可以被用来改善其他服务器任务,或者可以被其他非用户设备用来改善由这样的其他非用户设备执行的服务或为这样的其他非用户设备执行的服务。例如,输出数据可以改善由服务器设备360为用户的计算设备或嵌入式计算设备执行的其他下游处理。在其他实例中,可以将通过在服务器设备360处实施机器学习的模型300而获得的输出数据发送给诸如客户端设备310a的用户计算设备、嵌入式计算设备或一些其他客户端设备并由其使用。例如,服务器设备360可以说是将机器学习作为服务来执行。
[0138]
在其他实施方式中,机器学习的模型300的不同的相应部分可以存储在用户计算设备、嵌入式计算设备、服务器计算设备等的某种组合处和/或由这些组合来实施。换句话说,机器学习的模型300的部分可以全部或部分地分布在客户端设备310a和服务器设备360当中。
[0139]
设备310a和360可以使用一个或多个机器学习平台、框架和/或库,诸如,例如tensorflow、caffe/caffe2、theano、torch/pytorch、mxnet、cntk等,来执行图形处理技术或其他机器学习技术。设备310a和360可以分布在不同的物理地点,并且经由包括网络330的一个或多个网络来连接。如果被配置为分布式计算设备,则设备310a和360可以根据顺序计算架构、并行计算架构或其组合来操作。在一个示例中,可以通过使用参数服务器来控制或指导分布式计算设备。
[0140]
在一些实施方式中,机器学习的模型300的多个实例可以被并行化以提供增加的处理吞吐量。例如,机器学习的模型300的多个实例可以在单个处理设备或计算设备上被并行化,或者跨多个处理设备或计算设备并行化。
[0141]
实施机器学习的模型300或本公开的其他方面的每个计算设备可以包括使得本文描述的技术能够执行的多个硬件组件。例如,每个计算设备可以包括一个或多个存储设备,其存储机器学习的模型300的一些或全部。例如,机器学习的模型300可以是在存储器中存储的结构化数值表示。所述一个或多个存储设备还可包括用于实施机器学习的模型300或用于执行其他操作的指令。示例存储设备包括ram、rom、eeprom、eprom、闪存设备、磁盘等,以及它们的组合。
[0142]
每个计算设备还可以包括实施机器学习的模型300的一些或全部和/或执行其他
相关操作的一个或多个处理设备。示例处理设备包括以下中的一个或多个:中央处理单元(cpu),视觉处理单元(vpu),图形处理单元(gpu),张量处理单元(tpu),神经处理单元(npu),神经处理引擎,cpu、vpu、gpu、tpu、npu或其他处理设备的核心,专用集成电路(asic),现场可编程门阵列(fpga),协处理器,控制器,或上述处理设备的组合。可以将处理设备嵌入例如图像传感器、加速计等的其他硬件组件内。
[0143]
硬件组件(例如,存储设备和/或处理设备)可以跨多个物理分布的计算设备和/或虚拟分布的计算系统分布。
[0144]
图7d图示了与包括模型训练器的示例训练计算系统通信的示例计算设备的概念图。图7d包括客户端设备310b通过网络330与训练设备370通信。客户端设备310b是图1的设备2的示例。可以在诸如训练设备370的训练计算系统处训练本文描述的机器学习的模型300,并且然后将其提供用于在诸如客户端设备310b的一个或多个计算设备处的存储和/或实施。例如,模型训练器372在训练设备370处本地执行。然而,在一些示例中,包括模型训练器372的训练设备370可以被包括在客户端设备310b或实施机器学习的模型300的任何其他计算设备中或者与之分离。
[0145]
在一些实施方式中,可以以离线方式或在线方式训练机器学习的模型300。在离线训练(也称为批学习)中,机器学习的模型300在整个静态训练数据集上进行训练。在在线学习中,随着新的训练数据成为可用(例如,当模型用于执行推理时),机器学习的模型300被连续训练(或重新训练)。
[0146]
模型训练器372可以执行机器学习的模型300的集中式训练(例如,基于集中式存储的数据集)。在其他实施方式中,诸如分布式训练、联合学习等的分散式训练技术可以用于训练、更新或个性化机器学习的模型300。
[0147]
可以根据各种不同的训练类型或技术中的一个或多个来训练本文所述的机器学习的模型300。例如,在一些实施方式中,机器学习的模型300可以由模型训练器372使用监督学习来被训练,其中,机器学习的模型300在包括具有标签的实例或示例的训练数据集上被训练。标签可以由专家手动应用,其通过众包生成或由其他技术(例如,基于物理的或复杂数学的模型)提供。在一些实施方式中,如果用户已经提供许可,则训练示例可以由用户计算设备提供。在一些实施方式中,该过程可以被称为将模型个性化。
[0148]
图7e图示了作为示例训练过程的训练过程390的概念图,其中,机器学习的模型300在包括具有标签393的样本输入数据392的训练数据391上被训练。训练过程390是示例训练过程;也可以使用其他训练过程。
[0149]
训练过程390所使用的训练数据391可以包括:在用户许可使用这样的数据用于训练时,共享流的匿名使用记录,例如,一起被共享的内容项、已经被识别为属于一起的捆绑内容片段,例如,来自知识图中的实体等。在一些实施方式中,训练数据391可以包括已经被分配了与输出数据394相对应的标签393的输入数据392的示例。
[0150]
在一些实施方式中,机器学习的模型300可以通过优化诸如目标函数395的目标函数来被训练。例如,在一些实施方式中,目标函数395可以是或者包括将由模型从训练数据生成的输出数据和与训练数据相关联的标签(例如,真实值标签)进行比较(例如,确定之间的差)的损失函数。例如,损失函数可以评估输出数据和标签之间的平方差的和或均值。在一些示例中,目标函数395可以是或包括描述特定结果或输出数据的代价的代价函数。目标
函数395的其他示例可以包括基于边际的技术,诸如例如三元组损失或最大边际训练。
[0151]
可以执行各种优化技术中的一个或多个以优化目标函数395。例如,优化技术可以最小化或最大化目标函数395。示例优化技术包括基于hessian的技术和基于梯度的技术,诸如,例如坐标下降、梯度下降(例如,随机梯度下降)、次梯度法等。其他优化技术包括黑盒优化技术和启发法。
[0152]
在一些实施方式中,错误的向后传播可以与优化技术(例如,基于梯度的技术)结合使用以训练机器学习的模型300(例如,当机器学习模型是诸如人工神经网络的多层模型时)。例如,可以执行传播和模型参数(例如,权重)更新的迭代循环以训练机器学习的模型300。示例的反向传播技术包括通过时间截断的反向传播、levenberg-marquardt反向传播等。
[0153]
在一些实施方式中,本文所述的机器学习的模型300可以使用无监督学习技术来被训练。无监督学习可以包括从未标记的数据中推理出描述隐藏结构的函数。例如,分类或归类可以不被包括在数据中。无监督学习技术可用于产生能够执行聚类、异常检测、学习潜变量模型或其他任务的机器学习的模型。
[0154]
机器学习的模型300可以使用结合了监督学习和无监督学习的方面的半监督技术来被训练。机器学习的模型300可以通过演化技术或遗传算法来被训练或生成。在一些实施方式中,本文所述的机器学习的模型300可以使用强化学习来被训练。在强化学习中,代理(例如,模型)可以在环境中采取行动,并且学习使这样的动作导致的奖励最大化和/或使这样的动作导致的惩罚最小化。强化学习与监督学习问题的不同之处在于,正确的输入/输出对没有被提供,也没有明确纠正次优动作。
[0155]
在一些实施方式中,可以在训练期间执行一个或多个泛化技术以改善机器学习的模型300的泛化。泛化技术可以帮助减少机器学习的模型300对训练数据的过度拟合。示例泛化技术包括dropout技术、权重衰减技术、批标准化、早停法、子集选择、逐步选择等。
[0156]
在一些实施方式中,本文描述的机器学习的模型300可以包括许多超参数或受许多超参数影响,所述许多超参数诸如,例如,学习率、层数、每层中的节点数、树中的叶数、簇的数量等。超参数能够影响模型性能。超参数可以被手动选择,也可以通过诸如例如网格搜索、黑盒优化技术(例如贝叶斯优化,随机搜索等)、基于梯度的优化等的技术的应用来被自动选择。用于执行自动超参数优化的示例技术和/或工具包括hyperopt、auto-weka、spearmint、度量优化引擎(moe)等。
[0157]
在一些实施方式中,当模型被训练时,可以使用各种技术来优化和/或调整学习率。用于执行学习率优化或调整的示例技术和/或工具包括adagrad、自适应矩估计(adam)、adadelta、rmsprop等。
[0158]
在一些实施方式中,迁移学习技术可以用于提供初始模型,从该初始模型开始训练本文所述的机器学习的模型300。
[0159]
在一些实施方式中,本文描述的机器学习的模型300可以被包括在计算设备上的计算机可读代码的不同部分中。在一个示例中,机器学习的模型300可以被包括在特定的应用或程序中,并且被这样的特定的应用或程序使用(例如,排他地使用)。因此,在一个示例中,计算设备可以包括多个应用,并且这些应用中的一个或多个可以包含其自身的相应的机器学习库和机器学习的模型。
[0160]
在另一示例中,本文描述的机器学习的模型300可以被包括在计算设备的操作系统中(例如,在操作系统的中央智能层中),并且可以由与操作系统交互的一个或多个应用调用或以其他方式使用。在一些实施方式中,每个应用可以使用应用编程接口(api)(例如,跨所有应用的通用的公共api)与中央智能层(以及在其中存储的模型)通信。
[0161]
在一些实施方式中,中央智能层可以与中央设备数据层通信。中央设备数据层可以是用于计算设备的数据的集中式存储库。中央设备数据层可以与计算设备的许多其他组件——诸如,例如,一个或多个传感器、场境管理器、设备状态组件和/或附加组件——通信。在一些实施方式中,中央设备数据层可以使用api(例如,私有api)与每个设备组件进行通信。
[0162]
本文讨论的技术参考了服务器、数据库、软件应用和其他基于计算机的系统,以及采取的行动以及发送到和发送自这样的系统的信息。以计算机为基础的系统固有的灵活性,允许在组件之间和当中的各种各样的可能的配置、组合以及任务和功能性的划分。例如,本文讨论的过程可以使用单个设备或组件或组合工作的多个设备或组件来实施。
[0163]
数据库和应用可以在单个系统上实施,也可以跨多个系统分布。分布式组件可以顺序或并行操作。
[0164]
另外,本文描述的机器学习技术是可容易地互换和组合的。尽管已经描述了某些示例技术,但是存在许多其他技术并且可以连同本公开的方面使用。
[0165]
本公开已经提供了示例机器学习的模型和相关联技术的简要概述。对于附加详细信息,读者应查看以下参考资料:machine learning aprobabilistic perspective(murphy);rules of machine learning:best practices for ml engineering(zinkevich);deep learning(goodfellow);reinforcement learning:an introduction(sutton);以及artificial intelligence:a modern approach(norvig)。
[0166]
除了以上的描述之外,还可以向用户提供控件,允许用户就本文所述的系统、程序或特征是否以及何时可以启用收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地点的信息),以及是否从服务器向用户发送内容或通信做出选择。另外,某些数据可以在被存储或使用之前以一个或多个方式被处理,从而移除个人可识别信息。例如,可以处理用户的身份或要显示的内容,使得没有个人可识别信息能够针对该用户被确定,或者可以在获得地点信息(诸如城市、邮政编码或州级)的情况下将用户的地理地点概括化,从而使用户的特定地点无法被确定。因此,用户可以具有对关于用户的哪些信息被收集、信息如何被使用、以及哪些信息被提供到用户的控制。
[0167]
图8是图示根据本公开的一个或多个方面的被配置为从多个功率转换器中动态地选择功率转换器的示例控制器的示例操作的流程图。在图1和图3的设备2的场境中描述了控制器10的操作。
[0168]
控制器10可以估计设备的显示器的电流电平(802)。例如,控制器10可以估计将在未来时间由显示器12使用的电流量。如上所讨论,控制器10可以基于包括显示器12的亮度设置和将由显示器12显示的内容中的一个或两者的任何数量的因素来估计电流电平。
[0169]
控制器10可以基于所估计的电流电平从多个功率转换器中选择功率转换器(804)。例如,控制器10可以选择在所估计的电流电平下最有效地操作(例如,与功率转换器20的其他功率转换器相比)的功率转换器20的功率转换器。
[0170]
控制器10可以使来自所选择的功率转换器的电功率被供应到显示器(806)。例如,在功率转换器20是切换模式功率转换器的情况下,控制器10可以操作所选择的功率转换器并且不操作功率转换器20的其他功率转换器。在设备2包括多路复用器(例如,图1的多路复用器8)的示例中,控制器10可以输出使多路复用器将来自所选择的功率转换器的功率路由到显示器12的信号。
[0171]
在一些示例中,控制器10可以执行一个或多个动作以核实功率估计。例如,控制器10可以确定由显示器在未来时间所使用的实际功率量,并且将实际功率量与所估计的功率量进行比较。所使用的实际功率量与所估计的功率量之间的差可以被称为误差(例如,p
error
=p
actual-p
estinated
)。基于该比较,控制器10可以确定是否更新显示器的模型。例如,如果误差满足阈值(例如,如果误差大于所估计的功率量的10%),则控制器10可以确定更新用于生成所估计的功率量的模型。作为一个示例,控制器10可以重新训练机器学习模型(例如,ml模型604)。作为另一示例,控制器10可以更新诸如用于预测发射功率的分析模型的分析模型的系数。以该方式,控制器10可以使用反馈来改善功率预测。
[0172]
在本公开中描述的技术可以至少部分地以硬件、软件、固件或其任何组合实施。例如,所描述的技术的各个方面可以被实施在一个或多个处理器内,包括一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或任何其他等效的集成或离散逻辑电路系统以及这样的组件的任何组合。术语“处理器”或“处理电路系统”通常可以单独或与其他逻辑电路系统或任何其他等效电路系统组合地指代任何前述逻辑电路系统。包括硬件的控制单元也可以执行本公开的技术中的一个或多个。
[0173]
这样的硬件、软件和固件可以被实施在系统设备内或在分开的设备内以支持本公开中描述的各种技术。另外,所描述的单元、模块或组件的任何一个可以一起或分开地实施为离散但可互操作的逻辑设备。将不同特征描述为模块或单元旨在突出不同的功能方面,并不必然暗示这样的模块或单元必须由分开的硬件、固件或软件组件实施。相反,与一个或多个模块或单元相关联的功能性可以由分开的硬件、固件或软件组件执行,或者被集成在公共或分开的硬件、固件或软件组件内。
[0174]
本公开中描述的技术还可以被体现或编码在包括被编码有指令的计算机可读存储介质的制品中。在包括被编码的计算机可读存储介质的制品中被嵌入或被编码的指令可以使一个或多个可编程处理器或其他处理器实施本文中描述的一个或多个技术,诸如当在计算机可读存储介质中被包括或被编码的指令由所述一个或多个处理器执行时。计算机可读存储介质可以包括随机存取存储器(ram)、只读存储器(rom)、可编程只读存储器(prom)、可擦可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)、闪存、硬盘、致密盘rom(cd-rom)、软盘、磁带、磁性介质、光学介质或其他计算机可读介质。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
[0175]
在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以指示存储介质不被体现在载波或传播信号中。在某些示例中,非暂时性存储介质可以存储能够随时间改变的数据(例如,在ram或高速缓存中)。
[0176]
在本公开中已经描述了各个方面。这些和其他方面在所附权利要求的范围内。
再多了解一些

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

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

相关文献