Adaptive display brightness adjustment
By combining a brightness prediction machine learning model with user device status data, the display brightness is adaptively adjusted, solving the problem of insufficient user preference learning in existing technologies and improving battery life and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GOOGLE LLC
- Filing Date
- 2017-12-15
- Publication Date
- 2026-06-30
AI Technical Summary
In the prior art, the display brightness adjustment of computing devices cannot effectively learn user preferences, resulting in high battery depletion rates and poor user experience, especially when considering factors other than ambient lighting.
By employing a brightness prediction machine learning model and combining it with the current state data of the user's device, including hardware, software, and sensor status, the model adjusts the display brightness through an exploration strategy and adjusts the model parameters based on user manual adjustment feedback to achieve adaptive brightness adjustment.
It improves device battery life, enhances user experience, and provides customized display brightness settings by learning user preferences, flexibly and effectively adjusting brightness to meet user needs.
Smart Images

Figure CN116312419B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application filed on December 15, 2017, with application number 201780096387.7 and invention title "Adaptive Display Brightness Adjustment". Technical Field
[0002] This manual generally relates to the adaptive adjustment of the brightness of the display on a computing device. Background Technology
[0003] Some computing devices, such as mobile phones, tablets, or other mobile devices, are equipped with displays that can be adjusted in brightness. The brightness of the display can be set and adjusted by the user of the device. The brightness can also be set using an automatic brightness strategy based on, for example, ambient lighting.
[0004] Some devices are additionally equipped with batteries to power them. The rate at which the battery depletes may depend on the brightness of the display. Summary of the Invention
[0005] This specification describes the technology related to adaptive brightness systems used to set the brightness of a user device's display.
[0006] A method is provided, executed by one or more data processing devices, the method comprising: obtaining current state data characterizing the current state of a user device having an adjustable brightness display; providing the current state data as input to a brightness prediction machine learning model, wherein the model is configured to process the current state data according to current values of a set of model parameters to generate a suggested display brightness for the display of the user device as output; setting the brightness of the display to a level lower than the suggested display brightness according to an exploration strategy; and determining a target output for adjusting the current values of the set of model parameters of the brightness prediction machine learning model based on whether a user of the user device manually adjusts the display brightness after the display brightness is set to a lower brightness.
[0007] One or more non-transitory computer storage media are provided to store instructions that, when executed by one or more computers, cause the one or more computers to perform operations including: obtaining current state data characterizing the current state of a user device having an adjustable brightness display; providing the current state data as input to a brightness prediction machine learning model, wherein the model is configured to process the current state data based on current values of a set of model parameters to generate a recommended display brightness for the user device's display as output; setting the display brightness to a level lower than the recommended display brightness according to an exploration strategy; and determining a target output for adjusting the current values of the set of model parameters of the brightness prediction machine learning model based on whether the user of the user device manually adjusts the display brightness after the display brightness is set to a lower brightness.
[0008] According to a first aspect, a method for adaptive display brightness adjustment is provided, the method comprising: obtaining current state data characterizing the current state of a user device having a brightness-adjustable display; providing the current state data as input to a brightness prediction machine learning model, wherein the model is configured to process the current state data according to current values of a set of model parameters to generate a suggested display brightness for the display of the user device as output; setting the brightness of the display to a level lower than the suggested display brightness according to an exploration strategy; determining whether a user of the user device has manually adjusted the display brightness; and, in response to determining that the user has not manually adjusted the display brightness, using a lower brightness as a target output for adjusting the current values of the set of model parameters.
[0009] In some implementations, the method further includes: in response to determining that a user of the device has manually adjusted the display brightness to manual brightness, using the manual brightness as a target output for adjusting the current value of the model parameter set.
[0010] In some implementations, the method further includes: determining an adjustment to the current value of the model parameter set based on the target output; modifying the current value of the model parameter set according to the determined adjustment and weight values, wherein: in response to determining that the user has not manually adjusted the display brightness, the weight value is set to a first weight value; in response to determining that the user has manually adjusted the display brightness to manual brightness, the weight value is set to a second weight value; and the first weight value is less than the second weight value.
[0011] In some implementations, the model output defines a recommended adjustment to the baseline display brightness of the display, wherein: the baseline display brightness is determined by the output of a predetermined baseline brightness prediction model configured to process ambient lighting data according to fixed values of a particular set of model parameters to generate a baseline display brightness for the display as output; and the recommended display brightness for the display of the user equipment is determined by combining the baseline display brightness with the recommended adjustment to the baseline display brightness.
[0012] In some implementations, the current values of the model parameter set are determined based on brightness data recorded from multiple additional user devices.
[0013] In some implementations, the exploration strategy specifies that the brightness of the display be set to be greater than the lower limit of the display brightness.
[0014] In some implementations, the method further includes: determining that the user has previously manually adjusted the display brightness once or multiple times; and setting the display brightness to a level lower than the recommended display brightness according to an exploration strategy includes: setting the brightness according to the exploration strategy based on determining that the user has previously manually adjusted the display brightness once or multiple times.
[0015] In some implementations, the model is a neural network.
[0016] In some implementations, the current state data characterizing the current state of the user equipment includes one or more of the following: the current hardware state of the user equipment, the current software state of the user equipment, the current global state of the user equipment, and the current sensor state of the user equipment. Specifically: the current hardware state of the user equipment includes one or more of the following: battery charging level, battery temperature, and the primary color displayed on the screen; the current software state of the user equipment includes one or more of the following: the number of currently running applications and the type of currently running applications; the current global state of the user equipment includes one or more of the following: date, time, and device location; and the current sensor state of the user equipment includes one or more of the following: accelerometer data, gyroscope data, light sensor data, and proximity sensor data.
[0017] According to a second aspect, a system is provided, comprising: a user device having a brightness-adjustable display and a controller for adjusting the brightness of the display; one or more processors and one or more storage devices storing instructions and current values of a set of model parameters, wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform operations including: obtaining current state data characterizing the current state of the user device; providing the current state data as input to a brightness prediction machine learning model, wherein the model is configured to process the current state data according to the current values of the set of model parameters to generate a suggested display brightness for the display of the user device as output; providing a command to the controller to set the brightness of the display to a brightness lower than the suggested display brightness according to an exploration strategy; determining whether a user of the user device has manually adjusted the display brightness; and, in response to determining that the user has not manually adjusted the display brightness, using a lower brightness as a target output for adjusting the current values of the set of model parameters.
[0018] In some implementations, one or more processors and one or more storage devices are located in the user equipment.
[0019] The above aspects can be implemented in any convenient form. For example, aspects and implementation methods can be implemented by a suitable computer program, which can be carried on a suitable carrier medium, which can be a tangible carrier medium (e.g., a disk) or an intangible carrier medium (e.g., a communication signal). Aspects can also be implemented using suitable means that can take the form of a programmable computer running a computer program.
[0020] Specific embodiments of the subject matter described in this specification can be implemented to achieve one or more of the following advantages: The adaptive brightness system learns user preferences and thus provides a customized display brightness based on those preferences. Furthermore, exploring brightness settings when a lower brightness is preferred can improve device battery life. Additionally, the adaptive brightness system is trained to adapt to manual brightness adjustments by the user faster than exploring brightness adjustments, thereby enhancing the user experience by making the device's brightness settings conform to the user's preferences. Moreover, unlike conventional methods that only process ambient lighting data to set the display brightness, the adaptive brightness system takes into account the current state of the user's device, not just ambient lighting, such as battery charging level and current application usage, and thus provides a more flexible and efficient model for setting display brightness.
[0021] Details of one or more embodiments of the subject matter of this specification are set forth in the accompanying drawings and the following description. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims. Attached Figure Description
[0022] Figure 1A An example adaptive brightness system is shown.
[0023] Figure 1B An example implementation of an adaptive brightness system embedded in a user device is shown.
[0024] Figure 2 This is a flowchart of an example process for training an adaptive brightness system.
[0025] Figure 3 This is a flowchart of an example process for adjusting the brightness of a display based on an exploration strategy.
[0026] The same reference numerals and names in the various figures indicate the same elements. Detailed Implementation
[0027] This specification describes how an adaptive brightness system explores different brightness settings for a user device's display, learns the user's contextual brightness preferences, and adjusts the device's brightness accordingly. Specifically, the adaptive brightness system sets the display's brightness based on the output of a brightness prediction machine learning model, which takes the device's current state (i.e., context) as input. The adaptive brightness system explores different brightness settings, with an exploration tending towards lowering the display's brightness, and adjusts the parameters of the brightness prediction model based on the user's response to the brightness exploration.
[0028] Figure 1A An example adaptive brightness system 100 is shown. The adaptive brightness system 100 is an example of a system implemented on one or more computers at one or more locations where computer programs are implemented in one or more locations, including those containing the systems, components, and technologies described below.
[0029] In some implementations, the adaptive brightness system 100 is implemented as a computer program on the user equipment 114.
[0030] In some other embodiments, the adaptive brightness system 100 is implemented as a computer program on one or more computers remote from the user equipment 114 and communicates with the user equipment 114 via a data communication network.
[0031] The adaptive brightness system 100 includes a brightness prediction machine learning model 104, which takes user equipment state data 102 of user equipment 114 as input, processes the user equipment state data 102 according to the current value of a set of model parameters 106, and generates an output that defines a suggested display brightness for the display of the user equipment.
[0032] In some implementations, the brightness prediction machine learning model 104 is a deep machine learning model that employs multi-layer operations to generate outputs for received inputs. For example, the brightness prediction model 104 may be a deep feedforward neural network including fully connected layers.
[0033] Typically, user equipment status data 102 is data characterizing the current state of user equipment 114. Status data may include data characterizing one or more of the following: the current hardware state, the current software state, the current global state, or the current sensor state. For example, the current hardware state may include the device's battery state (including battery charge level and temperature) and the primary color displayed on the screen. The current software state may include the number of currently running applications and the types of applications currently running. The current global state may include the date and time, and the device's location. The current sensor state may include accelerometer data, gyroscope data, light sensor data, and proximity sensor data.
[0034] In some implementations, the brightness prediction model 104 directly outputs a suggested display brightness.
[0035] In some other embodiments, the adaptive brightness system 100 includes a baseline brightness prediction model 116, and a brightness prediction model 104 outputs a suggested adjustment to the baseline display brightness generated by the baseline brightness prediction model 116. In this case, the system 100 determines the suggested display brightness by combining the baseline display brightness generated by the baseline brightness prediction model 116 and the suggested adjustment to the baseline display brightness generated by the brightness prediction model 104. For example, the system 100 can determine the suggested display brightness by adding the baseline display brightness and the suggested adjustment to the baseline display brightness together.
[0036] The baseline brightness prediction model 116 can take ambient lighting data 118 as input, process the ambient lighting data, and generate a baseline display brightness as output. Typically, ambient lighting data characterizes the brightness of the user equipment's immediate environment, such as as measured by a brightness sensor on the user equipment. For example, the baseline brightness prediction model 116 can be an Original Equipment Manufacturer (OEM) curve, where the OEM curve is fixed and pre-loaded on the user equipment and defines a mapping from ambient lighting values to display brightness values.
[0037] The adaptive brightness system 100 also includes a brightness exploration engine 108 that automatically adjusts the brightness of the display according to a brightness exploration strategy. Typically, the brightness exploration engine 108 takes a suggested display brightness as input and sets the display brightness to a level lower than the suggested display brightness according to the brightness exploration strategy.
[0038] The system responds to the brightness exploration engine 108 setting the brightness of the display by using manual user brightness adjustment 110 on the brightness of the display of user device 114 to determine the model target output 112 and the corresponding adjustment of the model parameters 106 of the brightness prediction model 104. Typically, the system iteratively adjusts the model parameters 106 so that the suggested display brightness output by the brightness prediction model 104 more accurately matches the model target output 112.
[0039] Typically, when users tend to set the display brightness to a lower value, the system trains the brightness prediction model 104 to learn the user's brightness preference based on the manual user brightness adjustment 110 and the brightness setting determined by the brightness exploration engine 108.
[0040] refer to Figure 2 The training of the adaptive brightness system 100 is described in more detail.
[0041] Figure 1BAn example implementation 120 of an adaptive brightness system 100 embedded in a user equipment 114 is shown. The user equipment 114 includes one or more storage devices 128, wherein the one or more storage devices 128 may store content including computer-readable instructions for performing operations of the system 100, model parameters 106, and user equipment state data 102 (e.g., data characterizing one or more of the user equipment's current hardware state, current software state, and current global state). The user equipment 114 includes a controller 124, wherein the controller 124 is a hardware or software component configured to interact with a user equipment display 122 to manage the brightness of the user equipment display 122. One or more processors 126 receive content stored on the one or more storage devices 128, including computer-readable instructions for performing operations of the system 100, and provide commands to the controller 124. For example, the one or more processors 126 may provide commands to the controller 124, such as commands to modify the brightness of the user equipment display 122. In response, the controller 124 may set the brightness of the user equipment display 122 according to the commands received from the one or more processors 126. The controller 124 can also set the brightness of the user equipment display 122 based on manual user brightness adjustment. The controller 124 can send data related to manual user brightness adjustment to one or more processors 126. The user equipment sensor 132 can provide data to the controller 124 and / or provide data for storage on one or more storage devices 128, such as the current sensor state of the user equipment (e.g., accelerometer data, gyroscope data, light sensor data, and / or proximity sensor data).
[0042] Figure 2 This is a flowchart of an example process 200 for training an adaptive brightness system. For convenience, process 200 will be described as being executed by a system of one or more computers located in one or more locations. For example, an adaptive brightness system appropriately programmed according to this specification, such as... Figure 1A The adaptive brightness system 100 can execute process 200.
[0043] The system obtains current state data characterizing the current state of the user equipment (step 202). The state data may include data characterizing the current hardware state, current software state, current global state, or current sensor state of the user equipment.
[0044] The system provides the current state data as input to a brightness prediction machine learning model that generates a suggested display brightness for the user device's display (step 204). The suggested display brightness is generated by the brightness prediction model by processing the current state data based on the current values of the brightness prediction model's parameter set. The brightness prediction model can be a deep machine learning model that employs multiple layers of operations to generate outputs for the received inputs. For example, the brightness prediction model can be a deep feedforward neural network that includes fully connected layers.
[0045] In some implementations, the luminance prediction machine learning model generates a suggested adjustment to the baseline display luminance generated by the baseline luminance prediction model as output, and the suggested display luminance is determined by combining the baseline display luminance and the suggested adjustment to the baseline display luminance. The baseline luminance prediction model can take ambient lighting data as input, process the ambient lighting data, and generate the baseline display luminance as output. For example, the baseline luminance prediction model can be an OEM curve defining a mapping from ambient lighting values to display luminance values. In some implementations, the suggested display luminance is calculated by adding the baseline display luminance and the suggested adjustment to the baseline display luminance together. In other implementations, the suggested display luminance is calculated by multiplying the baseline display luminance and the suggested adjustment to the baseline display luminance.
[0046] Next, the system sets the display brightness to a detection brightness lower than the recommended display brightness, based on the brightness exploration strategy (step 206). See reference... Figure 3 Process 300 describes an example of how to set the brightness of a display based on an exploration strategy.
[0047] Next, the system determines whether the user manually adjusted the display brightness within a first duration after the display brightness was set to the exploration brightness (step 208). In response to determining that the user did not manually adjust the display brightness within the first duration after the display brightness was set to the exploration brightness, the model target output is set to the exploration brightness value, and a weight value representing the magnitude of the adjustment to the current value of the model parameter set is set to a first value (step 210). For example, if the brightness prediction model is a neural network, then the weight value may correspond to the learning rate parameter. In response to determining that the user did indeed manually adjust the display brightness during the said duration, the model target output is set to the manual brightness value, and the weight value is set to a second value greater than the first value (step 212). In some implementations, the first weight value and the second weight value may differ between iterations of process 200. For example, if the brightness prediction model is a neural network and the weight value corresponds to the learning rate parameter, then the first weight value and the second weight value may be reduced by a factor at each iteration of process 200.
[0048] Next, the system determines an adjustment to the current values of the model parameter set based on the target output of the brightness prediction model (step 214). This adjustment is chosen to improve the model's performance according to a performance metric that depends on the target output of the model. For example, the performance metric could be the square of the difference between the target output of the model and the proposed display brightness. If the brightness prediction model is a neural network, then this adjustment can be determined via backpropagation by calculating the gradient of the performance metric relative to the current values of the brightness prediction model parameter set.
[0049] Next, the system modifies the current values of the model parameter set based on the determined adjustments and weight values (step 216). For example, if the brightness prediction model is a neural network, the system can modify the current values of the model parameter set by backpropagating the gradient of a performance metric that depends on the model's target output (e.g., the square of the difference between the model's target output and the proposed display brightness) based on the learning rate corresponding to the weight values.
[0050] Next, process 200 returns to step 202 to obtain the current state data of the user device and iterates over the previous steps.
[0051] Figure 3 This is a flowchart of an example process 300 for setting the brightness of a display based on an exploration strategy. For convenience, process 300 will be described as being executed by a system of one or more computers located in one or more locations. For example, an adaptive brightness system appropriately programmed according to this specification, such as... Figure 1A The adaptive brightness system 100 can execute process 300.
[0052] The system determines an exploration brightness that is lower than the recommended display brightness (step 302). In one embodiment, the exploration brightness is calculated by subtracting a fixed value from the recommended display brightness. In another embodiment, the exploration brightness is calculated by subtracting a fixed portion of the recommended display brightness from the recommended display brightness. In yet another embodiment, the aggressiveness of the brightness exploration strategy decreases over time—for example, the value subtracted from the recommended display brightness to calculate the exploration brightness is not fixed but decreases over time. In yet another embodiment, the exploration brightness can be a time-varying random function of the recommended display brightness. In yet another embodiment, the exploration brightness is calculated based on an epsilon-greedy exploration strategy. In yet another embodiment, the exploration brightness is calculated based on an upper confidence bound (UCB) exploration strategy. In yet another embodiment, the exploration brightness is calculated based on a Thompson sampling exploration strategy.
[0053] Next, the system determines whether the probed brightness is greater than a lower limit of the display's brightness (step 304). For example, the lower limit can be determined based on the minimum brightness required for text on the user's reading device's display. The lower limit can depend on the type of user device. For example, the lower limit can be higher if the current application is an e-reader, and lower if the current application is a telephone call.
[0054] In response to determining that the exploration brightness is not greater than the lower limit of the display brightness, process 300 returns to step 306 and determines a new exploration brightness.
[0055] In response to determining that the exploration brightness is greater than the lower limit of the display brightness, the display brightness is set to the exploration brightness (step 306). In some other embodiments, the display brightness is initially set to a suggested display brightness generated by a brightness prediction model, and the display brightness is set to the exploration brightness in response to determining that the exploration brightness is greater than the lower limit of the display brightness and the user does not manually adjust the display brightness during a second duration.
[0056] In some implementations, the values of the model parameter set of the brightness prediction model are initialized based on logged data from multiple other user devices. Specifically, the brightness prediction model may initially be trained based on logged data from multiple other user devices (including user device status data and corresponding screen brightness data), and then subsequently customized to the user's preferences based on an adaptive brightness system.
[0057] In some implementations, the system may set the display brightness according to an exploration strategy only in response to determining that the user has previously manually adjusted the display brightness once or more. If the user has not previously manually adjusted the display brightness, this may indicate that the user does not know how to operate the device's manual display brightness adjustment function. In this case, the user will not respond to the display brightness adjustment determined by the exploration strategy.
[0058] In some implementations, the system may set the display brightness according to the exploration strategy only in response to determining that a brightness exploration stop event has not yet occurred. The brightness exploration stop event may occur after a period of time following the system's first setting of the display brightness according to the brightness exploration strategy. Alternatively, the brightness exploration stop event may occur when a user changes phone settings to disable the exploration feature of the adaptive brightness adjustment system.
[0059] In some implementations, the exploration is reduced, for example, by setting the exploration brightness close to the recommended display brightness, until the user significantly changes their brightness preference, for example, by frequently and manually adjusting the display brightness, at which point the exploration is increased, for example, by setting the exploration brightness further away from the recommended display brightness.
[0060] This specification uses the term "configuration" in conjunction with system and computer program components. A system of one or more computers configured to perform specific operations or actions means that software, firmware, hardware, or a combination thereof are installed on the system, wherein the software, firmware, hardware, or combination thereof causes the system to perform the operations or actions in operation. For one or more computer programs configured to perform specific operations or actions, it means that one or more programs include instructions that, when run by a data processing device, cause that device to perform the operations or actions.
[0061] Embodiments of the subject matter and functional operation described herein may be implemented in digital electronic circuits, in tangibly embodied computer software or firmware, in computer hardware including the structures disclosed herein and their equivalents, or in a combination of one or more of these. Embodiments of the subject matter described herein may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible, non-transitory storage medium, for use by a data processing apparatus to operate or control the operation of a data processing apparatus. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of these. Alternatively or additionally, program instructions may be encoded on artificially generated propagation signals, such as machine-generated electrical signals, optical signals, or electromagnetic signals, wherein the artificially generated propagation signals are generated to encode information for transmission to a suitable receiver device for use by a data processing apparatus.
[0062] The term "data processing apparatus" refers to data processing hardware and includes all kinds of devices, apparatuses, and machines for processing data (including, for example, programmable processors, computers, or multiple processors or computers). The apparatus may also be or include special-purpose logic circuitry, such as FPGAs (Field Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits). In addition to hardware, the apparatus may optionally include code that creates the runtime environment for computer programs, such as code constituting processor firmware, protocol stacks, database management systems, operating systems, or combinations thereof.
[0063] A computer program, also referred to or described as a program, software, software application, application, module, software module, script, or code, can be written in any programming language (including compiled or interpreted languages, or declarative or procedural languages); and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for a computing environment. A program may, but does not necessarily, correspond to a file in a file system. A program may be stored as a part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), as a single file dedicated to the program in question, or as multiple coordinating files (e.g., a file that stores one or more modules, subroutines, or code portions). A computer program can be deployed to run on a single computer or on multiple computers located at a site or distributed across multiple sites and interconnected via a data communication network.
[0064] In this specification, the term "engine" is used broadly to refer to a software-based system, subsystem, or process programmed to perform one or more specific functions. Typically, an engine will be implemented as one or more software modules or components installed on one or more computers at one or more locations. In some cases, one or more computers will be dedicated to a particular engine; in others, multiple engines may be installed on and run on the same computer(s).
[0065] The processes and logic flows described in this specification can be executed by one or more programmable computers, wherein the one or more programmable computers run one or more computer programs to perform functions by manipulating input data and generating output. The processes and logic flows can also be executed by special-purpose logic circuitry (e.g., FPGA or ASIC) or by a combination of special-purpose logic circuitry and one or more programmable computers.
[0066] A computer suitable for running computer programs can be based on a general-purpose or special-purpose microprocessor, or both, or any other type of central processing unit. Typically, the central processing unit receives instructions and data from read-only memory or random access memory, or both. The basic components of a computer are the central processing unit for executing or running instructions and one or more memory devices for storing instructions and data. The central processing unit and memory may be supplemented by or incorporated into special-purpose logic circuitry. Typically, a computer will also include one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) for storing data, or be operatively coupled to receive data from or transfer data to such mass storage devices. However, a computer may not need to have such devices. Furthermore, a computer can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a Universal Serial Bus (USB) flash drive), to name just a few.
[0067] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks (e.g., internal hard disks or removable disks); magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0068] To provide interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device (e.g., a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display) monitor) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual, auditory, or tactile feedback; and input from the user can be received in any form, including sound input, voice input, or tactile input. Furthermore, the computer can interact with the user by transmitting documents to and receiving documents from a device used by the user; for example, by transmitting a webpage to a web browser on the user's device in response to a request received from a web browser. Additionally, the computer can interact with the user by transmitting text messages or other forms of messages to a personal device (e.g., a smartphone running a messaging application) and receiving response messages from the user in exchange.
[0069] The data processing apparatus used to implement machine learning models may also include, for example, dedicated hardware accelerator units for processing the ordinary and computationally intensive parts (i.e., inference, workload) of machine learning training or production.
[0070] Machine learning models can be implemented and deployed using machine learning frameworks such as TensorFlow, Microsoft Cognitive Toolkit, Apache Singa, or Apache MXNet.
[0071] Embodiments of the subject matter described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or middleware components (e.g., an application server), or front-end components (e.g., a client computer having a graphical user interface, web browser, or application through which a user can interact with embodiments of the subject matter described herein), or any combination of one or more such back-end components, middleware components, or front-end components. The components of the system can be interconnected via digital data communication (e.g., a communication network) of any form or medium. Examples of communication networks include Local Area Networks (LANs) and Wide Area Networks (WANs) (e.g., the Internet).
[0072] A computing system may include clients and servers. Clients and servers are typically geographically separated and generally interact via a communication network. The client-server relationship arises from computer programs running on respective computers and having a client-server relationship with each other. In some embodiments, the server sends data (e.g., HTML pages) to a user device, for example, for the purpose of displaying data to a user interacting with the device acting as a client and receiving user input from that user. Data generated at the user device, such as the results of user interactions, may be received at the server from the device.
[0073] While this specification contains numerous specific details of implementation, these should not be construed as limiting the scope of any invention or the scope of what may be claimed, but rather as descriptions of features specific to particular embodiments of a particular invention. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as functioning in certain combinations and even initially claimed in this way, in some cases one or more features from the claimed combination may be removed from the claimed combination, and the claimed combination may be for sub-combinations or variations thereof.
[0074] Similarly, although operations are depicted in a specific order in the drawings and recited in the claims, this should not be construed as requiring these operations to be performed in the specific order shown or sequentially, or to perform all of the shown operations to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system modules and components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0075] Specific embodiments of the subject matter have been described. Other embodiments are within the scope of the appended claims. For example, the actions recited in the claims can be performed in a different order and still achieve the desired result. As an example, the processes depicted in the drawings do not necessarily require the specific order or sequence shown to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous.
Claims
1. A method performed by one or more data processing devices, the method comprising: Obtain current state data that characterizes the current state of a user equipment with an adjustable brightness display; The current state data is provided as input to a brightness prediction machine learning model, wherein the model is configured to process the current state data based on the current values of a set of model parameters to generate a suggested display brightness for the display of the user device as output. The detection strategy will set the monitor's brightness to a level lower than the recommended monitor brightness. Based on whether the user of the user device manually adjusts the display brightness after the display brightness is set to a lower brightness, the target output of the current value of the model parameter set used to adjust the brightness prediction machine learning model is determined. The adjustment of the current values of the model parameter set is determined based on the target output; Based on whether the user of the user device manually adjusts the display brightness after the display brightness is set to a lower brightness, a weight value is determined to scale the magnitude of the adjustment of the current value of the model parameter set. as well as Modify the current values of the model parameter set based on the determined adjustment and weight values.
2. The method of claim 1, wherein determining the target output for adjusting the current values of the model parameter set of the machine learning model for brightness prediction comprises: It was determined that the user did not manually adjust the monitor brightness after the monitor brightness was set to a lower brightness. as well as Use lower brightness as the target output for adjusting the current value of the model parameter set of the machine learning model used for brightness prediction.
3. The method of claim 1, wherein determining the target output for adjusting the current values of the model parameter set of the machine learning model for brightness prediction comprises: Ensure that the user manually adjusts the monitor brightness to manual brightness after the monitor brightness has been set to a low brightness setting; as well as Use manual brightness as the target output for adjusting the current values of the model parameter set in the brightness prediction machine learning model.
4. The method of claim 1, wherein determining a weight value that scales a magnitude of an adjustment to a current value of a set of model parameters comprises: (i) In response to determining that the user did not manually adjust the display brightness after the display brightness was set to a lower brightness, the weight value is set to a first weight value, or (ii) In response to determining that the user manually adjusted the display brightness after the display brightness was set to a lower brightness, the weight value is set to a second weight value. The first weight value is less than the second weight value.
5. The method of claim 1, wherein the brightness prediction machine learning model comprises a neural network model.
6. The method of claim 1, wherein the model output defines a recommended adjustment to the baseline display brightness of the display, wherein: The baseline display brightness is determined by the output of a predetermined baseline brightness prediction model, which is configured to process ambient lighting data according to fixed values of a specific set of model parameters to generate the baseline display brightness of the display as output. as well as The recommended display brightness for a user device's display is determined by combining the baseline display brightness with a recommended adjustment to the baseline display brightness.
7. The method of claim 1, wherein the current value of the model parameter set of the model is determined based on recorded brightness data from multiple additional user devices.
8. The method of claim 1, wherein the exploration strategy specifies setting the brightness of the display to be greater than a lower limit of the brightness of the display.
9. The method according to claim 1, further comprising: Determine if the user has manually adjusted the monitor brightness once or multiple times previously; as well as The brightness setting based on the exploration strategy, which sets the monitor brightness below the recommended brightness, includes setting the brightness based on the determination that the user has previously manually adjusted the monitor brightness once or multiple times.
10. The method of claim 1, wherein the current state data characterizing the current state of the user equipment includes one or more of the following: the current hardware state of the user equipment, the current software state of the user equipment, the current global state of the user equipment, and the current sensor state of the user equipment, wherein: The current hardware status of a user device includes one or more of the following: battery level, battery temperature, and primary color displayed on the screen; The current software status of a user device includes one or more of the following: the number of currently running applications and the type of currently running applications; The current global state of a user device includes one or more of the following: date, time, and device location; as well as The current sensor status of the user equipment includes one or more of the following: accelerometer data, gyroscope data, optical sensor data, and proximity sensor data.
11. A system comprising: One or more computers; and One or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations, including: Obtain current state data that characterizes the current state of a user equipment with an adjustable brightness display; The current state data is provided as input to a brightness prediction machine learning model, wherein the model is configured to process the current state data based on the current values of a set of model parameters to generate a suggested display brightness for the display of the user device as output. The detection strategy will set the monitor's brightness to a level lower than the recommended monitor brightness. Based on whether the user of the user device manually adjusts the display brightness after the display brightness is set to a lower brightness, the target output of the current value of the model parameter set used to adjust the brightness prediction machine learning model is determined. The adjustment of the current values of the model parameter set is determined based on the target output; Based on whether the user manually adjusts the display brightness after it has been set to a lower brightness, a scaling weight is determined for the magnitude of the adjustment to the current values of the model parameter set; and Modify the current values of the model parameter set based on the determined adjustment and weight values.
12. The system of claim 11, wherein determining the target output for adjusting the current values of the set of model parameters for the brightness prediction machine learning model comprises: It was determined that the user did not manually adjust the monitor brightness after the monitor brightness was set to a lower brightness. as well as Use lower brightness as the target output for adjusting the current value of the model parameter set of the machine learning model used for brightness prediction.
13. The system of claim 11, wherein determining the target output for adjusting the current values of the set of model parameters for the brightness prediction machine learning model comprises: Ensure that the user manually adjusts the monitor brightness to manual brightness after the monitor brightness has been set to a low brightness setting; as well as Use manual brightness as the target output for adjusting the current values of the model parameter set in the brightness prediction machine learning model.
14. The system of claim 11, wherein determining a weight value that scales a magnitude of an adjustment to a current value of a set of model parameters comprises: (i) In response to determining that the user did not manually adjust the display brightness after the display brightness was set to a lower brightness, the weight value is set to a first weight value, or (ii) In response to determining that the user manually adjusted the display brightness after the display brightness was set to a lower brightness, the weight value is set to a second weight value. The first weight value is less than the second weight value.
15. One or more non-transitory computer storage media storing instructions, which, when executed by one or more computers, cause the one or more computers to perform operations, including: Obtain current state data that characterizes the current state of a user equipment with an adjustable brightness display; The current state data is provided as input to a brightness prediction machine learning model, wherein the model is configured to process the current state data based on the current values of a set of model parameters to generate a suggested display brightness for the display of the user device as output. The detection strategy will set the monitor's brightness to a level lower than the recommended monitor brightness. Based on whether the user of the user device manually adjusts the display brightness after the display brightness is set to a lower brightness, the target output of the current value of the model parameter set used to adjust the brightness prediction machine learning model is determined. The adjustment of the current values of the model parameter set is determined based on the target output; Based on whether the user of the user device manually adjusts the display brightness after the display brightness is set to a lower brightness, a weight value is determined to scale the magnitude of the adjustment of the current value of the model parameter set. as well as Modify the current values of the model parameter set based on the determined adjustment and weight values.
16. The non-transitory computer storage medium of claim 15, wherein determining the target output for adjusting the current values of the set of model parameters for the brightness prediction machine learning model comprises: It was determined that the user did not manually adjust the monitor brightness after the monitor brightness was set to a lower brightness. as well as Use lower brightness as the target output for adjusting the current value of the model parameter set of the machine learning model used for brightness prediction.
17. The non-transitory computer storage medium of claim 15, wherein determining the target output for adjusting the current values of the set of model parameters for the brightness prediction machine learning model comprises: Ensure that the user manually adjusts the monitor brightness to manual brightness after the monitor brightness has been set to a low brightness setting; as well as Use manual brightness as the target output for adjusting the current values of the model parameter set in the brightness prediction machine learning model.