Automatically enabling setting of features of device using machine learning

By applying machine learning models in user equipment, identifying and adjusting feature settings, the error setting problem caused by misjudgment during automatic adjustment is solved, improving the accuracy of the settings and saving computing resources.

CN119547040APending Publication Date: 2025-02-28QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380053249.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-02
Filing Date
2023-05-31
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

In the prior art, when the user equipment automatically adjusts the feature settings, the display brightness may be incorrectly adjusted due to misjudgment of the ambient light level, resulting in user dissatisfaction, and consumes a large amount of computing resources when correcting the wrong settings.

Method used

By using machine learning models, the device obtains data from the sensors and automatically implements the settings of features based on this data. The machine learning model is trained to recognize changes in the user's control over the previous settings, thereby improving the accuracy of the settings.

Benefits of technology

Improves the accuracy of the device when automatically adjusting feature settings, and reduces the possibility that users need to manually correct wrong settings, thus saving computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119547040A_ABST
    Figure CN119547040A_ABST
Patent Text Reader

Abstract

In some aspects, a device may obtain first sensor data from a sensor configured to detect a characteristic associated with the device. The device may cause automatic implementation of a first setting of a feature of the device controllable by a user, the first setting based at least in part on the first sensor data. The device may detect a change in user control of the first setting of the feature. The device may obtain second sensor data from the sensor. The device may cause a second setting of the feature to be automatically implemented, the second setting identified by the machine learning model based at least in part on the second sensor data. The machine learning model may be trained to identify a setting of the feature based at least in part on information related to a change to the user control of the first setting. Numerous other aspects are described.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS REFERENCES RELATED TO THIS APPLICATION

[0002] This patent application claims priority to U.S. Patent Application No. 17 / 816,843, filed on August 2, 2022, entitled “Automatically Implementing Settings for Features of a Device Using Machine Learning” and assigned to the assignee of this patent application. The disclosure of the prior application is considered a part of this patent application and is incorporated by reference into this patent application. Technical Field

[0003] Aspects of the present disclosure relate generally to machine learning, and, for example, to using machine learning to automatically implement settings for features of a device. Background Art

[0004] A user device (e.g., a smart phone) may automatically implement settings for one or more features based on detecting a change in a characteristic associated with the user device (e.g., a characteristic related to the physical environment of the user device or a characteristic related to the condition of the user device). For example, based on detecting a change in the light level in the physical environment of the user device, the user device may automatically adjust a setting for the brightness of a display of the user device. Summary of the invention

[0005] Some aspects described herein relate to a method. The method may include: obtaining, by a device, first sensor data from a sensor configured to detect a characteristic associated with the device. The method may include: causing, by the device, a first setting of a feature of the device that is controllable by a user to be automatically implemented, the first setting being based at least in part on the first sensor data. The method may include: detecting, by the device and within a threshold amount of time after automatically implementing the first setting, a change in user control of the first setting of the feature. The method may include: obtaining, by the device, second sensor data from a sensor. The method may include: causing, by the device, a second setting of the feature to be automatically implemented, the second setting being identified by a machine learning model based at least in part on the second sensor data. The machine learning model may be trained to identify a setting for the feature based at least in part on information related to the change in user control of the first setting.

[0006] Some aspects described herein relate to a device. The device may include a memory and one or more processors coupled to the memory. The one or more processors may be configured to obtain first sensor data from a sensor configured to detect a characteristic associated with the device. The one or more processors may be configured to automatically implement a first setting of a feature of the device that can be controlled by a user, the first setting being based at least in part on the first sensor data. The one or more processors may be configured to detect a change in user control of the first setting of the feature within a threshold amount of time after the first setting is automatically implemented. The one or more processors may be configured to obtain second sensor data from the sensor. The one or more processors may be configured to automatically implement a second setting of the feature, the second setting being identified by a machine learning model based at least in part on the second sensor data. The machine learning model may be trained to identify the setting of the feature based at least in part on information related to the change in user control of the first setting.

[0007] Some aspects described herein relate to a non-transitory computer-readable medium storing an instruction set. The instruction set, when executed by one or more processors of a device, may cause the device to obtain sensor data from a sensor configured to detect a characteristic associated with the device. The instruction set, when executed by one or more processors of the device, may cause the device to determine the setting of a feature of the device based at least in part on the sensor data and using a machine learning model. The machine learning model may be trained to identify the setting of the feature based at least in part on information related to changes to a plurality of previously set user controls that are automatically implemented on the feature. The instruction set, when executed by one or more processors of the device, may cause the device to automatically implement the setting of the feature.

[0008] Aspects generally include methods, apparatus, systems, computer program products, non-transitory computer-readable media, user devices, user equipment, wireless communication devices, and / or processing systems as substantially described with reference to and as illustrated in the accompanying drawings and description.

[0009] The foregoing has been a fairly broad overview of the features and technical advantages of examples according to the present disclosure so that the following detailed description may be better understood. Additional features and advantages will be described below. The disclosed concepts and specific examples may be easily used as the basis for modifying or designing other structures for performing the same purpose of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. When considered in conjunction with the accompanying drawings, the characteristics of the concepts disclosed herein, both their organization and methods of operation, and the associated advantages will be better understood according to the following description. Each of the accompanying drawings is provided for the purpose of illustration and description, and not as a limitation to limit the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order that the above-mentioned features of the present disclosure may be understood in detail, a more specific description of the above brief overview may be obtained by reference to various aspects, some of which are shown in the accompanying drawings. However, it should be noted that the accompanying drawings only show some typical aspects of the present disclosure and therefore should not be considered as limiting its scope, as the description may allow for other equally effective aspects. The same reference numerals in different drawings may identify the same or similar elements.

[0011] Figure 1 is a schematic diagram of an example environment in which systems and / or methods described herein may be implemented in accordance with the present disclosure.

[0012] Figure 2 is a schematic diagram illustrating example components of an apparatus according to the present disclosure.

[0013] FIG. 3A to FIG. 3D is a schematic diagram illustrating an example associated with automatically implementing settings of features of a user device using machine learning according to the present disclosure.

[0014] Figure 4 is a flow diagram of an example process associated with using machine learning to automatically implement settings of features for a user device.

[0015] Figure 5 is a flow diagram of an example process associated with using machine learning to automatically implement settings of features for a user device.

[0016] Figure 6 is a flow diagram of an example process associated with using machine learning to automatically implement settings of features for a user device. DETAILED DESCRIPTION

[0017] Various aspects of the present disclosure are described more fully below with reference to the accompanying drawings. However, the present disclosure can be implemented in many different forms, and should not be interpreted as being limited to any specific structure or function given throughout the present disclosure. On the contrary, these aspects are provided so that the present disclosure will be thorough and complete, and the scope of the present disclosure will be fully conveyed to those skilled in the art. It should be understood by those skilled in the art that the scope of the present disclosure is intended to cover any aspect of the present disclosure disclosed herein, whether it is implemented independently of any other aspect of the present disclosure or implemented in combination with any other aspect of the present disclosure. For example, any number of aspects set forth herein can be used to implement a device or practice method. In addition, the scope of the present disclosure is intended to cover such a device or method that is practiced using other structures, functions, or structures and functions other than the various aspects of the present disclosure set forth herein. It should be understood that any aspect of the present disclosure disclosed herein can be implemented by one or more elements of the claim.

[0018] The user device may be configured to enable the user to control various features of the user device, such as the brightness of the display of the user device, the rotational orientation of the display, the volume of the speaker of the user device, and / or the mode of the camera of the user device, among other examples. In some cases, the user device may automatically implement the setting of one or more features based on detecting a change in a characteristic associated with the user device (e.g., a characteristic related to the physical environment of the user device or a characteristic related to the condition of the user device). For example, based on detecting a change in the light level in the physical environment of the user device, the user device may automatically adjust the setting of the brightness of the display of the user device. As another example, based on detecting a change in the orientation of the user device (e.g., from a vertical orientation to a horizontal orientation), the user device may automatically adjust the setting of the rotational orientation of the display of the user device (e.g., from a portrait mode to a landscape mode).

[0019] Sometimes, a user may be dissatisfied with an adjustment to a setting that is automatically performed by a user device. For example, if the user device is positioned relative to a light source such that the user device blocks light from reaching the sensor, the sensor of the user device may mischaracterize the light level in the physical environment of the user device, and the user device may erroneously reduce the brightness of the display. In this case, the user may use a control of the user device (e.g., a mechanical control or a control accessible in a user interface presented on the user device) to override the automatic setting to a desired value. Therefore, in conjunction with determining an erroneous setting and automatically implementing the erroneous setting and in conjunction with a user resetting the erroneous setting, the user device may consume a significant amount of computing resources (e.g., processor resources, memory resources, etc.).

[0020] Some techniques and devices described herein use machine learning to identify settings for features of a device. For example, a machine learning model may be trained to identify settings for a feature based at least in part on sensor data obtained by the device. In some aspects, a machine learning model may be trained to identify settings for a feature using information related to changes in previous user controls of previous settings that were automatically implemented for the feature. In this way, a device may identify and automatically implement settings for a feature with improved accuracy, and thus reduce the likelihood that a user will reset the setting. Therefore, the techniques and devices described herein save computing resources that would be consumed when automatically implementing incorrect settings for a feature.

[0021] Figure 1 1 is a schematic diagram of an example environment 100 in which the systems and / or methods described herein may be implemented according to the present disclosure. Figure 1 As shown, environment 100 may include user device 110, server device 120, and network 130. The devices of environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

[0022] The user device 110 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with automatically implementing settings for features, as described elsewhere herein. The user device 110 may include a communication device and / or a computing device. For example, the user device 110 may include a wireless communication device, a mobile phone, a user equipment (UE), a laptop computer, a tablet computer, a desktop computer, a game console, a set-top box, a wearable communication device (e.g., a smart watch, a pair of smart glasses, a head-mounted display, or a virtual reality headset), or a similar type of device.

[0023] Server device 120 includes one or more devices capable of receiving, generating, storing, processing, providing and / or routing information associated with automatically implementing settings for features, as described elsewhere herein. Server device 120 may include a communication device and / or a computing device. For example, server device 120 may include a server, such as an application server, a client server, a network server, a database server, a host server, a proxy server, a virtual server (e.g., executed on computing hardware), or a server in a cloud computing system. In some aspects, server device 120 includes computing hardware used in a cloud computing environment.

[0024] The network 130 includes one or more wired and / or wireless networks. For example, the network 130 may include a wireless wide area network (e.g., a cellular network or a public land mobile network), a local area network (e.g., a wired local area network or a wireless local area network (WLAN), such as a Wi-Fi network), a personal area network (e.g., a Bluetooth network), a near field communication network, a telephone network, a private network, the Internet, and / or a combination of these or other types of networks. The network 130 enables communication between devices of the environment 100.

[0025] Figure 1 The number and arrangement of devices and networks shown are provided as examples. In practice, there may be Figure 1 The devices and / or networks shown may include additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks. Figure 1 Two or more of the devices shown may be implemented in a single device, or Figure 1 The single device shown may be implemented as multiple distributed devices. Additionally or alternatively, one set of devices (eg, one or more devices) of environment 100 may perform one or more functions described as being performed by another set of devices of environment 100.

[0026] Figure 22 is a schematic diagram illustrating example components of a device 200 according to the present disclosure. The device 200 may correspond to the user device 110 and / or the server device 120. In some aspects, the user device 110 and / or the server device 120 may include one or more devices 200 and / or one or more components of the device 200. Figure 2 As shown, device 200 may include a bus 205, a processor 210, a memory 215, a storage component 220, an input component 225, an output component 230, a communication interface 235 and / or one or more sensors 240 (individually referred to as "sensor 240" and collectively referred to as "(multiple) sensor 240").

[0027] The bus 205 includes components that allow communication between components of the device 200. The processor 210 is implemented in hardware, firmware, or a combination of hardware and software. The processor 210 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some aspects, the processor 210 includes one or more processors that can be programmed to perform functions. The memory 215 includes a random access memory (RAM), a read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by the processor 210.

[0028] Storage component 220 stores information and / or software related to the operation and use of device 200. For example, storage component 220 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cassette, a magnetic tape, and / or another type of non-transitory computer-readable medium and a corresponding drive.

[0029] Input components 225 include components that allow device 200 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone). Additionally or alternatively, input components 225 may include components for determining the location or position of device 200 (e.g., a global positioning system (GPS) component or a global navigation satellite system (GNSS) component) and / or sensors for sensing information (e.g., an accelerometer, a gyroscope, an actuator, or another type of position or environmental sensor). Output components 230 include components that provide output information from device 200 (e.g., a display, a speaker, a tactile feedback component, and / or an audio or visual indicator).

[0030] The communication interface 235 includes a transceiver-like component (e.g., a transceiver and / or a separate receiver and transmitter) that enables the device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 235 can allow the device 200 to receive information from another device and / or provide information to another device. For example, the communication interface 235 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency interface, a universal serial bus (USB) interface, a wireless local area interface (e.g., a Wi-Fi interface), and / or a cellular network interface.

[0031] Sensor 240 includes one or more devices capable of detecting characteristics associated with device 200 (e.g., characteristics related to the physical environment of device 200 or characteristics related to the condition of device 200). Sensor 240 may include one or more photodetectors (e.g., one or more photodiodes), one or more cameras, one or more microphones, one or more gyroscopes (e.g., microelectromechanical systems (MEMS) gyroscopes), one or more magnetometers, one or more accelerometers, one or more position sensors (e.g., a global positioning system (GPS) receiver or a local positioning system (LPS) device), one or more motion sensors, one or more temperature sensors, and / or one or more pressure sensors, among other examples.

[0032] Device 200 may perform one or more processes described herein. Device 200 may perform these processes based on processor 210 executing software instructions stored by non-transitory computer-readable media (such as memory 215 and / or storage component 220). Computer-readable media is defined herein as non-transitory storage devices. Storage devices include memory space within a single physical storage device or memory space distributed across multiple physical storage devices.

[0033] The software instructions may be read into the memory 215 and / or storage component 220 from another computer-readable medium or from another device via the communication interface 235. When executed, the software instructions stored in the memory 215 and / or storage component 220 may cause the processor 210 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Therefore, the aspects described herein are not limited to any specific combination of hardware circuitry and software.

[0034] In some aspects, the device 200 includes components for performing one or more processes described herein and / or components for performing one or more operations of the processes described herein. In some aspects, the device 200 may include: components for obtaining first sensor data from a sensor configured to detect a characteristic associated with the device; components for causing automatic implementation of a first setting of a feature of the device that is controllable by a user, the first setting being based at least in part on the first sensor data; components for detecting a user-controlled change to the first setting of the feature within a threshold amount of time after the first setting is automatically implemented; components for obtaining second sensor data from the sensor; components for causing automatic implementation of a second setting of the feature, the second setting being identified by a machine learning model based at least in part on the second sensor data, etc. In some aspects, the device 200 may include: a component for obtaining first sensor data from a sensor configured to detect a characteristic associated with the device; a component for enabling automatic implementation of a first setting for a characteristic of the device that is controllable by a user, the first setting being based at least in part on the first sensor data; a component for detecting a user-controlled change to the first setting of the characteristic within a threshold amount of time after the first setting is automatically implemented; a component for obtaining second sensor data from the sensor; a component for enabling automatic implementation of a second setting for the characteristic, the second setting being identified by a machine learning model based at least in part on the second sensor data, etc. In some aspects, the device 200 may include: a component for obtaining sensor data from a sensor configured to detect a characteristic associated with the device; a component for determining a setting for a characteristic of the device based at least in part on the sensor data and using a machine learning model; a component for enabling automatic implementation of the setting for the characteristic, etc. In some aspects, such components may include a combination of Figure 2 One or more components of device 200 are depicted, such as bus 205 , processor 210 , memory 215 , storage component 220 , input component 225 , output component 230 , communication interface 235 , and / or sensor 240 .

[0035] Figure 2 The number and arrangement of components shown are provided as examples. In practice, the device 200 may include Figure 2 The components shown may have additional components, fewer components, different components, or differently arranged components. Additionally or alternatively, one set of components (e.g., one or more components) of the device 200 may perform one or more functions described as being performed by another set of components of the device 200.

[0036] FIG. 3A to FIG. 3D is a schematic diagram illustrating an example 300 associated with using machine learning to automatically implement settings of features of a user device according to the present disclosure. FIG. 3A to FIG. 3D As shown, example 300 includes as combined Figure 1 to Figure 2 User device 110 described. User device 110 may be configured with one or more features that are controllable by a user of user device 110. For example, the user may control the setting of one or more features using a mechanical control of user device 110 (e.g., a button or switch, among other examples), in a user interface (e.g., a graphical user interface) presented on user device 110 (e.g., a settings menu), and / or by performing a particular movement of user device 110 (e.g., shaking the user device) or a particular touch gesture on user device 110. In addition, the setting of one or more features may be automatically implemented by user device 110. “Automatically implemented” may mean that user device 110 adjusts the setting of a feature without (e.g., independently of) control by a user (e.g., input or command to user device 110 to adjust the setting of the feature).

[0037] Features may relate to a user interface presented on the user device 110, may provide user assistance, and / or may relate to the usability of the user device 110, among other examples. In some aspects, a feature may include the brightness of a display of the user device 110, and a corresponding setting may indicate the level of brightness. Additionally or alternatively, a feature may include a rotational orientation of a display, and a corresponding setting may indicate a portrait orientation or a landscape orientation. Additionally or alternatively, a feature may include the volume of a speaker of the user device 110, and a corresponding setting may indicate the level of volume. Additionally or alternatively, a feature may include a mode of a camera of the user device 110 (e.g., night mode, autofocus mode, or flash mode, etc.), and a corresponding setting may indicate activation or deactivation of a mode and / or a level of a mode. The examples of the foregoing features are not exhaustive, and the description herein applies to other features of the user device 110. In addition, although the following description is described in terms of a single feature, the techniques described herein may be used for multiple features (e.g., simultaneously).

[0038] In some aspects, as described herein, changes in user-controlled settings of features of user device 110 can be monitored and used to train a machine learning model. Figure 3A , and indicated by reference numeral 305, user device 110 may obtain first sensor data from a sensor (e.g., sensor 240) configured to detect a characteristic associated with user device 110. For example, the characteristic may be a characteristic of the physical environment of user device 110, such as temperature, light level, and / or sound level. Additionally or alternatively, the characteristic may be a condition (e.g., positioning) of user device 110, such as rotation of user device 110 and / or orientation of user device 110. The first sensor data may indicate a change in the characteristic (e.g., from previous sensor data or from another type of baseline).

[0039] As indicated by reference numeral 310, user device 110 may determine a first setting for a feature of user device 110 based at least in part on the first sensor data (e.g., the first setting is based at least in part on the first sensor data). For example, if the sensor data indicates a light level in a physical environment of user device 110, user device 110 may determine a setting for a brightness of a display of user device 110. User device 110 may determine the first setting for the feature in response to the first sensor data indicating a change in the feature (e.g., if the feature changes by a threshold amount). In some aspects, user device 110 may determine the first setting for the feature using a machine learning model (e.g., an earlier trained version of the machine learning model).

[0040] As shown in the reference numeral 315, the user device 110 can cause the first setting of the feature to be automatically implemented. That is, the user device 110 can cause the setting of the feature to be adjusted to the first setting without (e.g., independently of) a user input indicating that the setting should be adjusted to the first setting. The user device 110 can cause the first setting of the feature to be automatically implemented in response to the first sensor data indicating a change in the characteristic (e.g., if the characteristic changes by a threshold amount). As described herein, the first setting of the feature may be wrong, in which case the first setting is unnecessary or unwanted by the user. Therefore, the user can command (e.g., immediately) to change the setting. For example, if the automatic implementation of the first setting causes the brightness of the display of the user device 110 to be reduced, the user can reset the first setting and increase the brightness.

[0041] like Figure 1 B and indicated by reference numeral 320, user device 110 may detect a user-controlled change to a first setting of a feature. That is, user device 110 may detect an adjustment to a setting of a feature from the first setting that is performed by a user (e.g., an adjustment that is not automatically implemented by user device 110). In some aspects, user device 110 may detect the user-controlled change within a threshold amount of time (e.g., 3 seconds, 5 seconds, or 10 seconds) after the first setting is automatically implemented. In some aspects, if the user-controlled change is detected for more than the threshold amount of time, user device 110 may ignore the user-controlled change (e.g., for the purpose of training a machine learning model).

[0042] like Figure 3CAs shown, and by reference numeral 325, user device 110 may provide information related to changes to user control of a first setting as training data for a machine learning model. In some aspects, user device 110 may provide the information along with an indication of a feature of user device 110 to which the information pertains and / or an indication of a type of sensor to which the first sensor data was collected. In some aspects, the machine learning model may reside locally at user device 110, and providing the information may include outputting the information. In some aspects, the machine learning model may reside remotely at user device 110 (e.g., at server device 120), and providing the information may include sending the information (e.g., to server device 120).

[0043] The information related to the change in user control may indicate the first sensor data (e.g., an amount of change in the sensor data that caused the first setting to be automatically implemented or a value associated with the change in the sensor data that caused the first setting to be automatically implemented), the value of the user-controlled change to the first setting (e.g., the user-controlled change may have set the brightness of the display of the user device 110 to a value of 90%). The time when the first sensor data was collected (e.g., a timestamp) and / or the location of the user device 110 at the time when the first sensor data was collected (e.g., geographic coordinates). The time and / or location may indicate a user's preference regarding settings for a feature. For example, a user may prefer a brighter display at certain times of the day (e.g., mornings) or at certain locations (e.g., at an office), and prefer a darker display at other times of the day (e.g., evenings) or at other locations (e.g., at home).

[0044] As shown in reference numeral 330, user device 110 can train the machine learning model to recognize the setting of the feature based at least in part on information related to the change of the user control of the first setting. The training can be initial training of the machine learning model or retraining of the machine learning model (e.g., in conjunction with continuous training of the machine learning model). In some aspects, server device 120 can train the machine learning model to recognize the setting of the feature and provide the trained machine learning model to user device 110.

[0045] In some aspects, the machine learning model may be trained using information related to the change in user control of the first setting and according to a training process. In some aspects, the training process may include performing forward propagation ("forward propagation" or "forward computation" may refer to computations performed from an input layer of a machine learning model through one or more hidden layers to an output layer to generate an output of the machine learning model) using the machine learning model (e.g., using the first sensor data as input to the machine learning model), and applying a loss function to the results of the forward computation to identify the extent to which the output of the machine learning model deviates from the actual result (e.g., the change in user control of the first setting). In addition, the training process may include backpropagating the machine learning model using the results of the loss function ("backpropagation" may include traversing the machine learning model backwards from the output layer through one or more hidden layers using an algorithm for adjusting the weights of the machine learning model) to determine adjustments to the weights used by the machine learning model. The machine learning model may be updated using the adjustments to the weights.

[0046] Although the training process is described above using information related to a change to a single user control of a first setting, in practice, information related to changes to one or more user controls of a setting of a feature may be used as training data for a machine learning model. For example, a machine learning model may be trained to identify a setting for a feature based at least in part on information related to changes to multiple user controls of a setting of a feature, and the multiple user controls may be from settings that are automatically implemented for a feature (e.g., by user device 110).

[0047] In other words, information related to multiple user-controlled changes to the settings of a feature can be a set of observations for training a machine learning model (e.g., each instance of a user-controlled change to an automatically implemented setting can be an observation for training a machine learning model). The set of observations can include a feature set, and the feature set can include a set of variables. Therefore, a particular observation can include a set of variable values ​​(or feature values) corresponding to the set of variables. The feature set can be extracted from structured data and / or based on input from an operator. As an example, the feature set of the set of observations can include the amount of change in sensor data, the value associated with the change in sensor data, the time when the sensor data was collected, and / or the location of the user device 110 at the time when the sensor data was collected. The set of observations can be associated with a target variable, which can represent a variable with a numerical value, a variable with a numerical value that falls within a range of values ​​or has some discrete possible values, a variable that can be selected from one of a plurality of options, and / or a variable with a Boolean value. For the set of observations, the target variable can be a value for the setting of a feature of the user device 110. For example, the target variable for each observation in the training data can be a change in the user control of the automatically implemented setting of the observation.

[0048] Thus, the target variable may represent the value that the machine learning model is being trained to predict, and the feature set may represent the variables that are input to the machine learning model to predict the value for the target variable. The machine learning model may be trained to recognize patterns in the feature set that lead to the value of the target variable (e.g., the machine learning model may be a supervised learning model). The machine learning model may be trained using the set of observations and using one or more machine learning algorithms (such as a regression algorithm, a decision tree algorithm, a neural network algorithm, a k-nearest neighbor algorithm, a support vector machine algorithm, etc.).

[0049] Once the machine learning model is trained (or retrained), the user device 110 can use the machine learning model to identify settings for features. That is, the machine learning model can output information identifying the value of the target variable for the new observation. Additionally or alternatively, the output can include information identifying the cluster to which the new observation belongs and / or information indicating the similarity between the new observation and one or more other observations (e.g., such as when unsupervised learning is employed).

[0050] In some aspects, corresponding machine learning models may be trained and used for multiple features of user device 110. For example, user device 110 may train and / or use a first machine learning model to identify settings for a first feature of user device 110 (e.g., the brightness of a display of user device 110), train and / or use a second machine learning model to identify settings for a second feature of user device 110 (e.g., the rotational orientation of a display of user device 110), etc. In some aspects, the machine learning model used by user device 110 may be a regression model (e.g., for identifying settings for the brightness of a display). In some aspects, the machine learning model used by user device 110 may be a classifier model (e.g., for identifying settings for the rotational orientation of a display). User device 110 may also use other types of machine learning models.

[0051] like Figure 3D As shown, and by reference numeral 335, the user device 110 can obtain second sensor data from the sensor in a manner similar to that described above. For example, the second sensor data can indicate a change in a characteristic associated with the user device 110 that the sensor is configured to detect (e.g., based on previous sensor data or based on another baseline). In some aspects, the user device 110 can identify a type of the second sensor data. For example, the user device 110 can identify the type of the second sensor data based at least in part on the type of sensor used to obtain the second sensor data. The type of the second sensor data can be light level data, device rotation data, sound level data, etc. Based at least in part on the type of the second sensor data, the user device 110 can select a machine learning model from a plurality of machine learning models for use by the user device 110. For example, if the second sensor data is a first type of data (e.g., light level data), the user device 110 may select a first machine learning model (e.g., trained to identify settings for the brightness of the display of the user device 110), if the second sensor data is a second type of data (e.g., device rotation data), the user device 110 may select a second machine learning model (e.g., trained to identify settings for the rotational orientation of the display), and so on.

[0052] As shown in reference numeral 340, user device 110 may determine a second setting for the feature using a machine learning model. For example, user device 110 may determine the second setting based at least in part on the second sensor data using the machine learning model. That is, user device 110 may provide the second sensor data as an input to the machine learning model, and user device 110 may obtain the second setting as an output of the machine learning model, as described above. The machine learning model may determine the second setting for the feature based at least in part on information related to a change in a user control of the first setting (and a change in one or more additional user controls of the setting), as described above. User device 110 may determine the second setting for the feature in response to the second sensor data indicating a change in the characteristic (e.g., if the characteristic changes by a threshold amount).

[0053] The machine learning model may determine a second setting for the feature based at least in part on the second sensor data (e.g., based at least in part on an amount of change in the second sensor data or a value associated with the change). Additionally, the machine learning model may also determine a second setting for the feature based at least in part on a time (e.g., a timestamp) at which the second sensor data was collected and / or a location (e.g., geographic coordinates) of the user device 110 at the time the second sensor data was collected. For example, based at least in part on the second sensor data, if the time is a first time and / or the location is a first location, the machine learning model may determine one second setting for the feature, and if the time is a second time and / or the location is a second location, the machine learning model may determine another second setting for the feature.

[0054] As indicated by reference numeral 345, user device 110 may cause a second setting for the feature to be automatically implemented. That is, user device 110 may cause the setting for the feature to be adjusted to the second setting identified by the machine learning model based at least in part on the second sensor data. User device 110 may cause the second setting for the feature to be automatically implemented in response to the second sensor data indicating a change in the characteristic (e.g., if the characteristic changes by a threshold amount).

[0055] In this manner, user device 110 may identify and automatically implement settings for a feature with improved accuracy, thereby saving computing resources that would be consumed in automatically implementing incorrect settings for a feature.

[0056] As mentioned above, FIG. 3A to FIG. 3D are provided as examples. Other examples can be found in the FIG. 3A to FIG. 3D The examples described are different.

[0057] Figure 4 is a flow chart of an example process 400 associated with using machine learning to automatically implement settings for features of a user device. In some aspects, Figure 4 One or more processing blocks of are performed by a device (e.g., user device 110). In some aspects, Figure 4 One or more processing blocks of are performed by another device or a group of devices (such as a server device (e.g., server device 120)) that is separate from or includes the device. Additionally or alternatively, Figure 4 One or more process blocks of may be performed by one or more components of device 200, such as processor 210, memory 215, storage component 220, input component 225, output component 230, communication interface 235, and / or sensor 240.

[0058] like Figure 4 As shown, process 400 may include obtaining first sensor data from a sensor configured to detect a characteristic associated with a device (block 410). For example, as described above, the device may obtain first sensor data from a sensor configured to detect a characteristic associated with the device.

[0059] As in Figure 4 As further shown, process 400 may include causing a first setting for a feature of the device that is controllable by a user to be automatically implemented, the first setting being based at least in part on the first sensor data (block 420). For example, as described above, the device may cause a first setting for a feature of the device that is controllable by a user to be automatically implemented, the first setting being based at least in part on the first sensor data.

[0060] like Figure 4 As further shown, process 400 may include detecting a change in user control of the first setting of a feature within a threshold amount of time after automatically implementing the first setting (block 430). For example, as described above, the device may detect a change in user control of the first setting of a feature within a threshold amount of time after automatically implementing the first setting.

[0061] like Figure 4 As further shown, process 400 may include obtaining second sensor data from the sensor (block 440). For example, as described above, the device may obtain second sensor data from the sensor.

[0062] like Figure 4As further shown, process 400 may include causing automatic implementation of a second setting for the feature, the second setting identified by the machine learning model based at least in part on the second sensor data, wherein the machine learning model has been trained to identify the setting for the feature based at least in part on information related to a change in user control of the first setting (block 450). For example, as described above, the device may cause automatic implementation of the second setting for the feature, the second setting identified by the machine learning model based at least in part on the second sensor data. In some aspects, the machine learning model has been trained to identify the setting for the feature based at least in part on information related to a change in user control of the first setting.

[0063] Process 400 may include additional aspects, such as any single aspect or any combination of aspects described below and / or in conjunction with one or more other processes described elsewhere herein.

[0064] In a first aspect, the characteristic is the brightness of a display of the device, the rotational orientation of the display, the volume of a speaker of the device, or a mode of a camera of the device.

[0065] In a second aspect, alone or in combination with the first aspect, information related to a change in user control of a first setting indicates one or more of: a value of the change in user control of the first setting, first sensor data, a time at which the first sensor data was collected, or a location of the device at the time at which the first sensor data was collected.

[0066] In a third aspect, either alone or in combination with one or more of the first and second aspects, the machine learning model has been trained to identify a second setting for the feature based at least in part on one or more of: second sensor data, a time when the second sensor data is collected, or a location of the device at the time when the second sensor data is collected.

[0067] In a fourth aspect, alone or in combination with one or more of the first to third aspects, the machine learning model is a regression model or a classifier model.

[0068] In a fifth aspect, alone or in combination with one or more of the first to fourth aspects, process 400 includes determining a first setting based at least in part on first sensor data, and determining a second setting based at least in part on second sensor data using a machine learning model.

[0069] In a sixth aspect, alone or in combination with one or more of the first to fifth aspects, the first setting is determined using a machine learning model.

[0070] In a seventh aspect, either alone or in combination with one or more of the first to sixth aspects, process 400 includes: identifying a type of second sensor data; and selecting a machine learning model from a plurality of machine learning models for use by the device based at least in part on the type of the second sensor data.

[0071] although Figure 4 An example block diagram of process 400 is shown, but in some aspects, process 400 includes Figure 4 The blocks in the process 400 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in the process 400. Additionally or alternatively, two or more of the blocks in the process 400 may be performed in parallel.

[0072] Figure 5 is a flow chart of an example process 500 associated with using machine learning to automatically implement settings for features of a user device. In some aspects, Figure 5 One or more processing blocks of are performed by a device (e.g., user device 110). In some aspects, Figure 5 One or more processing blocks of are performed by another device or a group of devices (such as a server device (e.g., server device 120)) that is separate from or includes the device. Additionally or alternatively, Figure 5 One or more process blocks of may be performed by one or more components of device 200, such as processor 210, memory 215, storage component 220, input component 225, output component 230, communication interface 235, and / or sensor 240.

[0073] like Figure 5 As shown, process 500 may include obtaining first sensor data from a sensor configured to detect a characteristic associated with a device (block 510). For example, as described above, the device may obtain first sensor data from a sensor configured to detect a characteristic associated with the device.

[0074] like Figure 5 As further shown, process 500 may include causing a first setting for a feature of the device that is controllable by a user to be automatically implemented, the first setting being based at least in part on the first sensor data (block 520). For example, as described above, the device may cause a first setting for a feature of the device that is controllable by a user to be automatically implemented, the first setting being based at least in part on the first sensor data.

[0075] like Figure 5 As further shown, process 500 may include detecting a change in user control of the first setting of a feature within a threshold amount of time after automatically implementing the first setting (block 530). For example, as described above, the device may detect a change in user control of the first setting of a feature within a threshold amount of time after automatically implementing the first setting.

[0076] like Figure 5 As further shown, process 500 may include obtaining second sensor data from the sensor (block 540). For example, as described above, the device may obtain second sensor data from the sensor.

[0077] like Figure 5 As further shown, process 500 may include causing automatic implementation of a second setting for the feature, the second setting identified by the machine learning model based at least in part on the second sensor data, wherein the machine learning model has been trained to identify the setting for the feature based at least in part on information related to a change in user control of the first setting (block 550). For example, as described above, the device may cause automatic implementation of the second setting for the feature, the second setting identified by the machine learning model based at least in part on the second sensor data. In some aspects, the machine learning model has been trained to identify the setting for the feature based at least in part on information related to a change in user control of the first setting.

[0078] Process 500 may include additional aspects, such as any single aspect or any combination of aspects described below and / or in conjunction with one or more other processes described elsewhere herein.

[0079] In a first aspect, the characteristic is the brightness of a display of the device, the rotational orientation of the display, the volume of a speaker of the device, or a mode of a camera of the device.

[0080] In a second aspect, alone or in combination with the first aspect, information related to a change in user control of a first setting indicates one or more of: a value of the change in user control of the first setting, first sensor data, a time at which the first sensor data was collected, or a location of the device at the time at which the first sensor data was collected.

[0081] In a third aspect, alone or in combination with one or more of the first and second aspects, the machine learning model identifies a second setting for the feature based at least in part on one or more of: second sensor data, a time when the second sensor data is collected, or a location of the device at the time when the second sensor data is collected.

[0082] In a fourth aspect, either alone or in combination with one or more of the first to third aspects, a machine learning model has been trained to identify settings for a feature based at least in part on information related to changes to multiple user controls of the feature.

[0083] In a fifth aspect, alone or in combination with one or more of the first to fourth aspects, process 500 includes: in response to second sensor data indicating that a characteristic associated with the device has changed by a threshold amount, automatically implementing a second setting.

[0084] although Figure 5 Example blocks of process 500 are shown, but in some aspects, process 500 includes Figure 5 The blocks in the process 500 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in the process 500. Additionally or alternatively, two or more of the blocks in the process 500 may be performed in parallel.

[0085] Figure 6 is a flow chart of an example process 600 associated with using machine learning to automatically implement settings for features of a user device. In some aspects, Figure 6 One or more processing blocks of are performed by a device (e.g., user device 110). In some aspects, Figure 6 One or more processing blocks of are performed by another device or a group of devices (such as a server device (e.g., server device 120)) that is separate from or includes the device. Additionally or alternatively, Figure 6 One or more process blocks of may be performed by one or more components of device 200, such as processor 210, memory 215, storage component 220, input component 225, output component 230, communication interface 235, and / or sensor 240.

[0086] like Figure 6 As shown, process 600 may include obtaining sensor data from a sensor configured to detect a characteristic associated with a device (block 610). For example, as described above, a device may obtain sensor data from a sensor configured to detect a characteristic associated with the device.

[0087] like Figure 6 As further shown, process 600 may include determining a setting for a feature of the device based at least in part on the sensor data and using a machine learning model, wherein the machine learning model is trained to identify the setting based at least in part on information related to changes to a plurality of previously set user controls that were automatically implemented for the feature (block 620). For example, the device may determine a setting for a feature of the device based at least in part on the sensor data and using a machine learning model. In some aspects, the machine learning model has been trained to identify the setting based at least in part on information related to changes to a plurality of previously set user controls that were automatically implemented for the feature.

[0088] like Figure 6As further shown, process 600 may include enabling automatic setting of a feature (block 630). For example, as described above, the device may enable automatic setting of a feature.

[0089] Process 600 may include additional aspects, such as any single aspect or any combination of aspects described below and / or in conjunction with one or more other processes described elsewhere herein.

[0090] In a first aspect, the characteristic is the brightness of a display of the device, the rotational orientation of the display, the volume of a speaker of the device, or a mode of a camera of the device.

[0091] In a second aspect, either alone or in combination with the first aspect, a machine learning model identifies settings for features based at least in part on one or more of: sensor data, a time when the sensor data was collected, or a location of the device at the time when the sensor data was collected.

[0092] In a third aspect, alone or in combination with one or more of the first and second aspects, the sensor is a photodetector, a gyroscope, a microphone or a camera.

[0093] In a fourth aspect, either alone or in combination with one or more of the first to third aspects, process 600 includes identifying a type of sensor data, and selecting a machine learning model from a plurality of machine learning models for use by the device based at least in part on the type of sensor data.

[0094] In a fifth aspect, alone or in combination with one or more of the first to fourth aspects, the characteristic associated with the device relates to a physical environment of the device or a condition of the device.

[0095] although Figure 6 Example blocks of process 600 are shown, but in some aspects, process 600 includes Figure 6 The blocks in the process 600 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in the process 600. Additionally or alternatively, two or more of the blocks in the process 600 may be performed in parallel.

[0096] The following provides an overview of some aspects of the disclosure:

[0097] Aspect 1: A method comprising: obtaining, by a device, first sensor data from a sensor configured to detect a characteristic associated with the device; causing, by the device, a first setting of a characteristic of the device that is controllable by a user to be automatically implemented, the first setting being based at least in part on the first sensor data; detecting, by the device and within a threshold amount of time after automatically implementing the first setting, a change in user control of the first setting of the characteristic; obtaining, by the device, second sensor data from the sensor; and causing, by the device, a second setting of the characteristic to be automatically implemented, the second setting being identified by a machine learning model based at least in part on the second sensor data, wherein the machine learning model has been trained to identify the setting of the characteristic based at least in part on information related to the change in user control of the first setting.

[0098] Aspect 2: The method of aspect 1, wherein the characteristic is brightness of a display of the device, rotational orientation of the display, volume of a speaker of the device, or mode of a camera of the device.

[0099] Aspect 3: A method according to any one of Aspects 1-2, wherein the information related to the change in user control of the first setting indicates one or more of: the value of the change in user control of the first setting, the first sensor data, the time when the first sensor data was collected, or the location of the device at the time when the first sensor data was collected.

[0100] Aspect 4: A method according to any of Aspects 1-3, wherein the machine learning model has been trained to identify a second setting of the feature based at least in part on one or more of: second sensor data, the time when the second sensor data is collected, or the location of the device at the time when the second sensor data is collected.

[0101] Aspect 5: The method according to any one of Aspects 1-4, wherein the machine learning model is a regression model or a classifier model.

[0102] Aspect 6: The method according to any one of Aspects 1-5 further includes: determining the first setting based at least in part on the first sensor data; and determining the second setting based at least in part on the second sensor data using a machine learning model.

[0103] Aspect 7: The method according to Aspect 6, wherein the first setting is determined using a machine learning model.

[0104] Aspect 8: The method according to any one of Aspects 1-7 further includes: identifying a type of second sensor data; and selecting a machine learning model from a plurality of machine learning models for use by the device based at least in part on the type of the second sensor data.

[0105] Aspect 9: A device comprising: a memory; and one or more processors coupled to the memory, configured to: obtain first sensor data from a sensor configured to detect a characteristic associated with the device; enable automatic implementation of a first setting of a characteristic of the device that is controllable by a user, the first setting being based at least in part on the first sensor data; detect a change in user control of the first setting of the characteristic within a threshold amount of time after automatically implementing the first setting; obtain second sensor data from the sensor; and enable automatic implementation of a second setting of the characteristic, the second setting being identified by a machine learning model at least in part based on the second sensor data, wherein the machine learning model has been trained to identify the setting of the characteristic based at least in part on information related to the change in user control of the first setting.

[0106] Clause 10: The device of clause 9, wherein the characteristic is brightness of a display of the device, rotational orientation of the display, volume of a speaker of the device, or mode of a camera of the device.

[0107] Aspect 11: A device according to any of Aspects 9-10, wherein the information related to the change in user control of the first setting indicates one or more of: the value of the change in user control of the first setting, the first sensor data, the time when the first sensor data was collected, or the location of the device at the time when the first sensor data was collected.

[0108] Aspect 12: A device according to any of Aspects 9-11, wherein the machine learning model identifies a second setting for the feature based at least in part on one or more of: second sensor data, the time when the second sensor data is collected, or the location of the device at the time when the second sensor data is collected.

[0109] Aspect 13: The apparatus of any of Aspects 9-12, wherein the machine learning model has been trained to identify settings for a feature based at least in part on information related to changes to a plurality of user controls on the feature.

[0110] Aspect 14: A device according to any of Aspects 9-13, wherein the one or more processors that enable automatic implementation of the second setting are configured to: enable automatic implementation of the second setting in response to the second sensor data indicating that the characteristic associated with the device has changed by a threshold amount.

[0111] Aspect 15: A non-transitory computer-readable medium storing an instruction set, the instruction set comprising: one or more instructions that, when executed by one or more processors of a device, cause the device to: obtain sensor data from a sensor configured to detect a characteristic associated with the device; determine a setting for a feature of the device based at least in part on the sensor data and using a machine learning model, wherein the machine learning model has been trained to identify the setting based at least in part on information related to changes in multiple user controls of previously set features that were automatically implemented; and cause the setting of the feature to be automatically implemented.

[0112] Clause 16: The non-transitory computer-readable medium of Clause 15, wherein the characteristic is brightness of a display of the device, rotational orientation of the display, volume of a speaker of the device, or a mode of a camera of the device.

[0113] Aspect 17: A non-transitory computer-readable medium according to any of Aspects 15-16, wherein the machine learning model identifies the setting of the feature based at least in part on one or more of: sensor data, the time when the sensor data is collected, or the location of the device at the time when the sensor data is collected.

[0114] Aspect 18: The non-transitory computer-readable medium of any one of aspects 15-17, wherein the sensor is a photodetector, a gyroscope, a microphone, or a camera.

[0115] Aspect 19: A non-transitory computer-readable medium according to any one of Aspects 15-18, wherein the one or more instructions, when executed by one or more processors of the device, further cause the device to: identify the type of sensor data; and select a machine learning model from a plurality of machine learning models for use by the device based at least in part on the type of sensor data.

[0116] Aspect 20: The non-transitory computer-readable medium of any one of aspects 15-19, wherein the characteristic associated with the device relates to a physical environment of the device or a condition of the device.

[0117] Aspect 21: An apparatus comprising: a processor; a memory coupled to the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to perform the method according to one or more of aspects 1-8.

[0118] Aspect 22: A device comprising a memory and one or more processors coupled to the memory, the one or more processors configured to perform the method according to one or more of aspects 1-8.

[0119] Aspect 23: An apparatus comprising at least one component for performing the method according to one or more of aspects 1-8.

[0120] Aspect 24: A non-transitory computer-readable medium storing code, the code comprising instructions executable by a processor to perform the method according to one or more of aspects 1-8.

[0121] Aspect 25: A non-transitory computer-readable medium storing an instruction set, the instruction set comprising one or more instructions that, when executed by one or more processors of a device, cause the device to perform the method according to one or more of aspects 1-8.

[0122] Aspect 26: An apparatus comprising: a processor; a memory coupled to the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to perform steps performed by one or more processors as described in one or more of Aspects 9-14.

[0123] Aspect 27: A method comprising instructions for the steps to be executed by one or more processors of one or more of Aspects 9-14.

[0124] Aspect 28: An apparatus comprising at least one means for executing instructions for executing the steps performed by one or more processors of one or more of Aspects 9-14.

[0125] Aspect 29: A non-transitory computer-readable medium storing code, the code comprising instructions executable by a processor to perform the steps performed by one or more processors of one or more of Aspects 9-14.

[0126] Aspect 30: A non-transitory computer-readable medium storing an instruction set, the instruction set comprising one or more instructions that, when executed by one or more processors of a device, cause the device to perform the steps performed by one or more processors of one or more of Aspects 9-14.

[0127] Aspect 31: An apparatus comprising: a processor; a memory coupled to the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to perform the steps performed by one or more of the devices described in aspects 15-20.

[0128] Aspect 32: A device comprising a memory and one or more processors coupled to the memory, the one or more processors being configured to perform the steps performed by the device of one or more of Aspects 15-20.

[0129] Aspect 33: An apparatus comprising at least one component for performing the steps performed by the device described in one or more of Aspects 15-20.

[0130] Aspect 34: A non-transitory computer-readable medium storing code, the code comprising instructions executable by a processor to perform the steps performed by the apparatus of one or more of Aspects 15-20.

[0131] Aspect 35: A method comprising the steps performed by one or more of the devices described in Aspects 15-20.

[0132] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the various aspects to the precise forms disclosed. Modifications and changes may be made based on the foregoing disclosure, or may be obtained based on the practice of various aspects.

[0133] As used herein, the term "component" is intended to be broadly interpreted as a combination of hardware and / or hardware and software. Whether referred to as software, firmware, middleware, microcode, hardware description language or other terms, "software" should be broadly interpreted as meaning instructions, instruction sets, codes, code segments, program codes, programs, subroutines, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, processes and / or functions, and other examples. As used herein, "processor" is implemented with a combination of hardware and / or hardware and software. It is obvious that the system and / or method described herein can be implemented with a combination of hardware and / or hardware and software in different forms. The actual dedicated control hardware or software code for implementing these systems and / or methods does not limit these aspects. Therefore, the operation and behavior of the system and / or method are described herein without reference to specific software codes, because those skilled in the art will understand that software and hardware can be designed to implement the system and / or method based at least in part on the description herein.

[0134] As used herein, "satisfying a threshold" may refer to a value greater than a threshold, greater than or equal to a threshold, less than a threshold, less than or equal to a threshold, equal to a threshold, not equal to a threshold, etc., depending on the context.

[0135] Even if a specific combination of features is described in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various aspects. Many of these features can be combined in a manner that is not specifically described in the claims and / or not disclosed in the specification. The disclosure of various aspects includes the combination of each dependent claim with each other claim in the claim set. As used herein, the phrase "at least one" mentioned in the list of items refers to any combination of these items, including a single member. As an example, "at least one of a, b or c" is intended to cover a, b, c, a+b, a+c, b+c and a+b+c, and any combination with multiple identical elements (e.g., a+a, a+a+a, a+a+b, a+a+c, a+b+b, a+c+c, b+b, b+b+b, b+b+c, c+c and c+c+c). Or any other ordering of a, b and c).

[0136] Unless clearly described as such, the elements, actions or instructions used herein should not be interpreted as critical or necessary. In addition, as used herein, the articles "a" and "an" are intended to include one or more projects, and can be used interchangeably with "one or more". In addition, as used herein, the article "the" is intended to include one or more projects quoted in conjunction with the article "the", and can be used interchangeably with "one or more". In addition, as used herein, the terms "set" and "group" are intended to include one or more projects, and can be used interchangeably with "one or more". In the case of only intending to refer to an item, the phrase "only one" or similar language is used. In addition, as used herein, the terms "has", "have", "having" etc. are intended to refer to open terms, which do not limit the elements they modify (for example, "having" A elements can also have B). In addition, unless otherwise clearly stated, the phrase "based on" is intended to represent "based at least in part". Furthermore, as used herein, the term "or" when used in tandem is intended to be inclusive and may be used interchangeably with "and / or" unless expressly stated otherwise (eg, if used in combination with "either" or "only one of").

Claims

1. A method comprising: obtaining, by a device, first sensor data from a sensor configured to detect a characteristic associated with the device; causing, by the device, automatically implementing a first setting for a feature of the device that is controllable by a user, the first setting being based at least in part on the first sensor data; detecting, by the device and within a threshold amount of time after automatically implementing the first setting, a user-controlled change to the first setting of the feature; obtaining, by the device, second sensor data from the sensor; as well as causing, by the device, automatically implementing a second setting for the feature, the second setting being identified by the machine learning model based at least in part on the second sensor data, wherein the machine learning model has been trained to identify settings for the feature based at least in part on information related to changes to the user control of the first setting.

2. The method according to claim 1, wherein: The characteristic is the brightness of the device's display, the rotational orientation of the display, the volume of the device's speaker, or the mode of the device's camera.

3. The method according to claim 1, wherein: The information regarding the change to the user control of the first setting indicates one or more of: a value of the user-controlled change to the first setting, the first sensor data, the time at which the first sensor data was collected, or The location of the device at the time when the first sensor data was collected.

4. The method according to claim 1, wherein: The machine learning model has been trained to identify the second setting for the feature based at least in part on one or more of: the second sensor data, the time at which the second sensor data is collected, or The location of the device at the time when the second sensor data was collected.

5. The method according to claim 1, wherein: The machine learning model is a regression model or a classifier model.

6. The method according to claim 1, further comprising: determining the first setting based at least in part on the first sensor data; as well as The second setting is determined based at least in part on the second sensor data using the machine learning model.

7. The method according to claim 6, wherein: The first setting is determined using the machine learning model.

8. The method according to claim 1, further comprising: identifying a type of the second sensor data; as well as Based at least in part on the type of the second sensor data, select the machine learning model from a plurality of machine learning models for use by the device.

9. A device comprising: Memory; as well as one or more processors coupled to the memory, the one or more processors being configured to: obtaining first sensor data from a sensor configured to detect a characteristic associated with the device; causing automatic implementation of a first setting for a feature of the device that is controllable by a user, the first setting being based at least in part on the first sensor data; detecting a change in user control of the first setting of the feature within a threshold amount of time after automatically implementing the first setting; obtaining second sensor data from the sensor; and causing automatically implementing a second setting for the feature, the second setting being identified by the machine learning model based at least in part on the second sensor data, wherein the machine learning model has been trained to identify settings for the feature based at least in part on information related to changes to the user control of the first setting.

10. The device according to claim 9, wherein: The characteristic is the brightness of the device's display, the rotational orientation of the display, the volume of the device's speaker, or the mode of the device's camera.

11. The device according to claim 9, wherein: The information regarding the change to the user control of the first setting indicates one or more of: a value of the user-controlled change to the first setting, the first sensor data, the time at which the first sensor data was collected, or The location of the device at the time when the first sensor data was collected.

12. The device according to claim 9, wherein: The machine learning model identifies the second setting for the feature based at least in part on one or more of: the second sensor data, the time at which the second sensor data is collected, or The location of the device at the time when the second sensor data was collected.

13. The apparatus according to claim 9, wherein: The machine learning model has been trained to identify the setting for the feature based at least in part on information related to changes to multiple user controls on the feature.

14. The apparatus according to claim 9, wherein: In order to automatically implement the second setting, the one or more processors are configured to: In response to the second sensor data indicating that the characteristic associated with the device has changed by a threshold amount, the second setting is automatically implemented.

15. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: One or more instructions that, when executed by one or more processors of a device, cause the device to: obtaining sensor data from a sensor configured to detect a characteristic associated with the device; determining a setting for a feature of the device based at least in part on the sensor data and using a machine learning model, wherein the machine learning model has been trained to identify the setting based at least in part on information related to changes to a plurality of user controls of previously set settings that were automatically implemented for the feature; and The setting of the feature is automatically implemented.

16. The non-transitory computer readable medium of claim 15, wherein: The characteristic is the brightness of the device's display, the rotational orientation of the display, the volume of the device's speaker, or the mode of the device's camera.

17. The non-transitory computer readable medium of claim 15, wherein: The machine learning model identifies the setting for the feature based at least in part on one or more of: The sensor data, The time at which the sensor data was collected, or The location of the device at the time when the sensor data was collected.

18. The non-transitory computer readable medium of claim 15, wherein: The sensor is a photodetector, a gyroscope, a microphone or a camera.

19. The non-transitory computer readable medium of claim 15, wherein: The one or more instructions, when executed by the one or more processors of the device, further cause the device to: identifying a type of the sensor data; and Based at least in part on the type of the sensor data, select the machine learning model from a plurality of machine learning models for use by the device.

20. The non-transitory computer readable medium of claim 15, wherein: The characteristic associated with the device relates to the physical environment of the device or the condition of the device.