Automatic enforcement of device feature settings using machine learning
A machine learning model trained on user-controlled changes improves the accuracy of automatic setting adjustments in user devices, reducing resource consumption and user dissatisfaction.
Patent Information
- Application Number
- JP2025503151
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-02
- Filing Date
- 2023-05-31
- Publication Date
- 2025-08-26
AI Technical Summary
User devices often incorrectly adjust settings based on erroneous sensor data, leading to user dissatisfaction and unnecessary resource consumption when corrections are made.
Implementing a machine learning model trained on user-controlled changes to settings to improve the accuracy of automatic adjustments, reducing the need for manual overrides.
Enhances the accuracy of automatic setting adjustments, conserving computing resources by minimizing incorrect implementations.
Smart Images

Figure 2025528022000001_ABST
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This patent application claims priority to commonly assigned U.S. patent application Ser. No. 17 / 816,843, entitled "AUTOMATIC IMPLEMENTATION OF A SETTING FOR A FEATURE OF A DEVICE USING MACHINE LEARNING," filed Aug. 2, 2022. The disclosure of the prior application is considered part of, and incorporated by reference into, this patent application.
[0002] Aspects of the present disclosure generally relate to machine learning, for example, to automatically configuring device functionality using machine learning. [Background technology]
[0003] A user device (e.g., a smartphone) may automatically implement one or more feature settings based on detecting a change in a characteristic associated with the user device (e.g., a characteristic related to the user device's physical environment or a characteristic related to the state of the user device). For example, based on detecting a change in light levels in the user device's physical environment, the user device may automatically adjust the brightness setting of the user device's display. Summary of the Invention
[0004] Some aspects described herein relate to a method. The method may include acquiring, by a device, first sensor data from a sensor configured to detect a characteristic associated with the device. The method may include triggering, by the device, automatic implementation of a first setting of a function of the device that is controllable by a user, the first setting being based at least in part on the first sensor data. The method may include detecting, by the device, a user-controlled change to the first setting of the function within a threshold time after automatic implementation of the first setting. The method may include acquiring, by the device, second sensor data from the sensor. The method may include triggering, by the device, automatic implementation of a second setting of the function 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 function based at least in part on information related to the user-controlled change to the first setting.
[0005] 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 acquire first sensor data from a sensor configured to detect a characteristic associated with the device. The one or more processors may be configured to trigger an automatic implementation of a first setting of a function of the device that is controllable 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 user-controlled change to the first setting of the function within a threshold time after the automatic implementation of the first setting. The one or more processors may be configured to acquire second sensor data from the sensor. The one or more processors may be configured to trigger an automatic implementation of a second setting of the function 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 of the function based at least in part on information regarding the user-controlled change to the first setting.
[0006] Some aspects described herein relate to a non-transitory computer-readable medium storing a set of instructions. The set of instructions, when executed by one or more processors of a device, can cause the device to acquire sensor data from a sensor configured to detect a characteristic associated with the device. The set of instructions, when executed by the one or more processors of the device, can cause the device to determine a setting for a feature of the device using a machine learning model based at least in part on the sensor data. The machine learning model can be trained to identify a setting for the feature based at least in part on information regarding a plurality of user-controlled changes to a previous setting that was automatically implemented for the feature. The set of instructions, when executed by the one or more processors of the device, can cause the device to automatically implement the setting for the feature.
[0007]
[0007] 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 fully described with reference to and illustrated in the drawings and this specification.
[0008] The foregoing has outlined rather broadly the features and technical advantages of embodiments according to the present disclosure in order that the following Detailed Description may be better understood. Additional features and advantages will be described hereinafter. The concepts and specific examples disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. The properties of the concepts disclosed herein, both their organization and method of operation, together with associated advantages, will be better understood by considering the following description in conjunction with the accompanying figures. Each of the figures is provided for purposes of illustration and description, and not as a definition of the limits of the claims. [Brief explanation of the drawings]
[0009]
[0009] In order to be able to understand in detail the features of the present disclosure listed above, a more detailed description briefly summarized above can be obtained by referring to the embodiments, some of which are shown in the accompanying drawings. However, it should be noted that the accompanying drawings only show certain exemplary embodiments of the present disclosure, and therefore should not be considered as limiting the scope of the present disclosure, as the description may be incorporated into other equally effective embodiments. The same reference numbers in different drawings may identify the same or similar elements. [Figure 1]
[0010] FIG. 1 illustrates an exemplary environment in which the systems and / or methods described herein may be implemented, in accordance with the present disclosure. [Figure 2]
[0011] FIG. 1 illustrates exemplary components of a device according to the present disclosure. [Figure 3A]
[0012] FIG. 1 illustrates an example associated with automatically implementing configuration of user device functionality using machine learning, according to the present disclosure. [Figure 3B] FIG. 1 illustrates an example associated with automatically implementing configuration of user device functionality using machine learning, according to the present disclosure. [Figure 3C] FIG. 1 illustrates an example associated with automatically implementing configuration of user device functionality using machine learning, according to the present disclosure. [Figure 3D] FIG. 1 illustrates an example associated with automatically implementing configuration of user device functionality using machine learning, according to the present disclosure. [Figure 4]
[0013] 1 is a flowchart of an example process associated with automatically implementing configuration of user device functionality using machine learning. [Figure 5]
[0014] 1 is a flowchart of an example process associated with automatically implementing configuration of user device functionality using machine learning. [Figure 6]
[0015] 1 is a flowchart of an example process associated with automatically implementing configuration of user device functionality using machine learning. DETAILED DESCRIPTION OF THE INVENTION
[0010]
[0016] Various aspects of the present disclosure will now be described more fully with reference to the accompanying drawings. However, the present disclosure may be embodied in many different forms and should not be construed as limited to any specific structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Those skilled in the art will appreciate that the scope of the present disclosure is intended to encompass all aspects of the present disclosure disclosed herein, whether implemented independently or in combination with any other aspects of the present disclosure. For example, an apparatus can be implemented or a method can be practiced using any number of the aspects described herein. Furthermore, the scope of the present disclosure is intended to encompass such apparatuses or methods practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects of the present disclosure described herein. It should be understood that any aspect of the present disclosure disclosed herein can be embodied by one or more elements of a claim.
[0011]
[0017] A user device may be configured to allow a user to control various functions of the user device, such as the brightness of the user device's display, the rotation orientation of the display, the volume of the user device's speakers, and / or the mode of the user device's camera, among other examples. In some cases, the user device may automatically implement one or more function settings based on detecting a change in a characteristic associated with the user device (e.g., a characteristic related to the user device's physical environment or a characteristic related to the state of the user device). For example, based on detecting a change in the light level in the user device's physical environment, the user device may automatically adjust the brightness setting of the user device's display. As another example, based on detecting a change in the user device's orientation (e.g., from a vertical orientation to a horizontal orientation), the user device may automatically adjust the rotation orientation setting of the user device's display (e.g., from portrait mode to landscape mode).
[0012]
[0018] Sometimes, a user may be dissatisfied with adjustments to settings automatically performed by a user device. For example, a sensor on the user device may incorrectly characterize the level of light in the user device's physical environment if the user device is positioned relative to a light source such that the user device blocks light from reaching the sensor, causing the user device to erroneously reduce the brightness of the display. In such cases, the user may use a control on 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. Thus, the user device may consume significant computing resources (e.g., processor resources, memory resources, etc.) in connection with determining and automatically implementing the incorrect setting, as well as in connection with the user overriding the incorrect setting.
[0013]
[0019] Some techniques and devices described herein use machine learning to identify settings for a device's features. For example, a machine learning model can be trained to identify settings for a feature based at least in part on sensor data acquired by the device. In some aspects, a machine learning model can be trained to identify settings for a feature using information about previous user-controlled changes to previous automatically implemented settings for the feature. In this way, the device can identify and automatically implement settings for the feature with improved accuracy, thus reducing the likelihood of a user overriding the settings. Thus, the techniques and devices described herein conserve computing resources that would otherwise be consumed when an incorrect setting for a feature is automatically implemented.
[0014]
[0020] 1 is a diagram of an example environment 100 in which the systems and / or methods described herein may be implemented, according to the present disclosure. As shown in FIG. 1, environment 100 may include a user device 110, a server device 120, and a network 130. The devices in environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0015]
[0021] User device 110 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with the automated implementation of feature configuration, as described elsewhere herein. User device 110 may include a communication device and / or a computing device. For example, user device 110 may include a wireless communication device, a mobile phone, user equipment (UE), a laptop computer, a tablet computer, a desktop computer, a gaming console, a set-top box, a wearable communication device (e.g., a smart watch, smart glasses, a head-mounted display, or a virtual reality headset), or a similar type of device.
[0016]
[0022] Server device 120 includes one or more devices capable of receiving, generating, storing, processing, providing, and / or routing information associated with the automated implementation of a configuration of 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 web server, a database server, a host server, a proxy server, a virtual server (e.g., running 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.
[0017]
[0023] Network 130 includes one or more wired and / or wireless networks. For example, 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. Network 130 enables communication between devices in environment 100.
[0018]
[0024] The number and arrangement of devices and networks shown in Figure 1 are provided as an example. In practice, there may be additional, fewer, different, or differently arranged devices and / or networks than those shown in Figure 1. Furthermore, two or more devices shown in Figure 1 may be implemented within a single device, or a single device shown in Figure 1 may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., 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.
[0019]
[0025] 2 is a diagram illustrating example components of a device 200 according to the present disclosure. Device 200 may correspond to user device 110 and / or server device 120. In some aspects, user device 110 and / or server device 120 may include one or more devices 200 and / or one or more components of device 200. As shown in FIG. 2, 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 “sensors 240”).
[0020]
[0026] Bus 205 includes components that enable communication between the components of device 200. Processor 210 is implemented in hardware, firmware, or a combination of hardware and software. Processor 210 may be a central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), microprocessor, microcontroller, digital signal processor (DSP), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or another type of processing component. In some aspects, processor 210 includes one or more processors that can be programmed to perform functions. Memory 215 includes random access memory (RAM), 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 processor 210.
[0021]
[0027] 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 disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium with a corresponding drive.
[0022]
[0028] Input components 225 include components (e.g., a touchscreen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone) that enable device 200 to receive information, such as through user input. Additionally or alternatively, input components 225 may include components for determining the position or location 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 (e.g., a display, a speaker, a haptic feedback component, and / or an audio or visual indicator) that provide output information from device 200.
[0023]
[0029] Communications interface 235 includes transceiver-like components (e.g., a transceiver and / or a separate receiver and transmitter) that enable device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communications interface 235 may enable device 200 to receive information from and / or provide information to another device. For example, communications 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.
[0024]
[0030] Sensors 240 include 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 state of device 200). Sensors 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., micro-electro-mechanical system (MEMS) gyroscopes), one or more magnetometers, one or more accelerometers, one or more location sensors (e.g., global positioning system (GPS) receivers or local position system (LPS) devices), one or more motion sensors, one or more temperature sensors, and / or one or more pressure sensors, among other examples.
[0025]
[0031] 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 a non-transitory computer-readable medium, such as memory 215 and / or storage component 220. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
[0026]
[0032] Software instructions may be read into memory 215 and / or storage component 220 from another computer-readable medium or another device via communications interface 235. When executed, the software instructions stored in memory 215 and / or storage component 220 may cause 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. Thus, aspects described herein are not limited to any specific combination of hardware circuitry and software.
[0027]
[0033] In some aspects, device 200 includes means for performing one or more processes described herein and / or means for performing one or more operations of the processes described herein. In some aspects, device 200 may include means for acquiring first sensor data from a sensor configured to detect a characteristic associated with the device, a first setting of a function of the device that is controllable by a user, the first setting being based at least in part on the first sensor data, means for detecting a user-controlled change to the first setting of the function within a threshold time after the automatic implementation of the first setting, means for acquiring second sensor data from the sensor, means for triggering the automatic implementation of a second setting of the function identified by a machine learning model based at least in part on the second sensor data, etc. In some aspects, device 200 may include means for acquiring first sensor data from a sensor configured to detect a characteristic associated with the device, means for triggering automatic implementation of a first setting of a function of the device that is controllable by a user, the first setting being based at least in part on the first sensor data, means for detecting a user-controlled change to the first setting of the function within a threshold time after automatic implementation of the first setting, means for acquiring second sensor data from the sensor, means for triggering automatic implementation of a second setting of the function identified by a machine learning model based at least in part on the second sensor data, etc. In some aspects, device 200 may include means for acquiring sensor data from a sensor configured to detect a characteristic associated with the device, means for determining a setting of the function of the device using a machine learning model based at least in part on the sensor data, means for triggering automatic implementation of the setting of the function, etc. In some aspects, such means may include one or more components of device 200 described with respect to FIG. 2 , such as bus 205, processor 210, memory 215, storage component 220, input component 225, output component 230, communication interface 235, and / or sensor 240.
[0028]
[0034] The number and arrangement of components shown in Figure 2 are provided as an example. In practice, device 200 may include additional, fewer, different, or differently arranged components than those shown in Figure 2. Additionally or alternatively, a set of components (e.g., one or more components) of device 200 may perform one or more functions that are described as being performed by another set of components of device 200.
[0029]
[0035] 3A-3D illustrate an example embodiment 300 associated with automatically configuring a user device's features using machine learning, in accordance with the present disclosure. As shown in FIGS. 3A-3D, the example embodiment 300 includes a user device 110, such as that described with respect to FIGS. 1-2. The user device 110 can be configured with one or more features that are controllable by a user of the user device 110. For example, the user may control the configuration of the one or more features in a user interface (e.g., a graphical user interface) (e.g., a settings menu) presented on the user device 110, using mechanical controls (e.g., buttons or switches, among other examples) of the user device 110, and / or by performing a particular movement of the user device 110 (e.g., shaking the user device) or performing a particular touch gesture on the user device 110. Additionally, the configuration of the one or more features can be automatically configured by the user device 110. "Automatic implementation" may refer to the user device 110 adjusting the setting of a feature without (e.g., independently of) user control (e.g., input or command to the user device 110 to adjust the setting of the feature).
[0030]
[0036] The 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, the features may include the brightness of the display of the user device 110, and a corresponding setting may indicate the level of brightness. Additionally or alternatively, the features may include the rotational orientation of the display, and a corresponding setting may indicate portrait or landscape orientation. Additionally or alternatively, the features may include the volume of the speaker of the user device 110, and a corresponding setting may indicate the level of volume. Additionally or alternatively, the features may include a mode of the camera of the user device 110 (e.g., night mode, autofocus mode, or flash mode, among other examples), and a corresponding setting may indicate activation or deactivation of the mode and / or the level of the mode. The foregoing examples of features are not exhaustive, and the description herein may be applicable to other features of the user device 110. Furthermore, although the following description is described with respect to a single feature, the techniques described herein may be used for multiple features (e.g., simultaneously).
[0031]
[0037] In some aspects, user-controlled changes to settings of features of the user device 110 can be monitored and used to train machine learning models, as described herein. As shown in FIG. 3A by reference numeral 305, the user device 110 can acquire first sensor data from a sensor (e.g., sensor 240) configured to detect a characteristic associated with the user device 110. For example, the characteristic may be a characteristic of the user device 110's physical environment, such as temperature, light level, and / or sound level. Additionally or alternatively, the characteristic may be a state (e.g., position) of the user device 110, such as the rotation of the user device 110 and / or the orientation of the user device 110. The first sensor data can indicate a change to the characteristic (e.g., from previous sensor data or from another type of baseline).
[0032]
[0038] As indicated by reference numeral 310, the user device 110 may determine a first setting of a function of the 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 level of light in the physical environment of the user device 110, the user device 110 may determine a brightness setting for a display of the user device 110. The user device 110 may determine the first setting of the function in response to the first sensor data indicating a change to the characteristic (e.g., if the characteristic changes by a threshold amount). In some aspects, the user device 110 may determine the first setting of the function using a machine learning model (e.g., a previously trained version of the machine learning model).
[0033]
[0039] As indicated by reference numeral 315, the user device 110 can trigger automatic implementation of a first setting of the function. That is, the user device 110 can trigger adjustment of the setting of the function to the first setting without (e.g., independently of) user input indicating that the setting should be adjusted to the first setting. The user device 110 can trigger automatic implementation of the first setting of the function in response to first sensor data indicating a change to the characteristic (e.g., if the characteristic changes by a threshold amount). As described herein, the first setting of the function may be erroneous, in that the first setting is unnecessary or undesirable to the user. Thus, the user can command a change to the setting (e.g., immediately). For example, if automatic implementation of the first setting results in a reduction in the brightness of the display of the user device 110, the user may override the first setting and increase the brightness.
[0034]
[0040] 1B by reference numeral 320, the user device 110 can detect a user-controlled change to a first setting of a feature. That is, the user device 110 can detect an adjustment to the setting of the feature from the first setting performed by a user (e.g., the adjustment is not automatically implemented by the user device 110). In some aspects, the user device 110 can detect the user-controlled change within a threshold time (e.g., 3 seconds, 5 seconds, or 10 seconds) after the automatic implementation of the first setting. In some aspects, if the user-controlled change is detected beyond the threshold time, the user device 110 can ignore the user-controlled change (e.g., for purposes of training a machine learning model).
[0035]
[0041] 3C by reference numeral 325, the user device 110 can provide information regarding the user-controlled changes to the first setting as training data for the machine learning model. In some aspects, the user device 110 can provide the information along with an indication of the function of the user device 110 to which the information pertains and / or an indication of the type of sensor that collected the first sensor data. In some aspects, the machine learning model may reside locally on the user device 110, and providing the information may include outputting the information. In some aspects, the machine learning model may reside remotely from the user device 110 (e.g., at the server device 120), and providing the information may include transmitting the information (e.g., to the server device 120).
[0036]
[0042] The information regarding the user-controlled change may indicate the first sensor data (e.g., the amount of change in the sensor data that caused the automatic implementation of the first setting, or a value associated with the change in the sensor data that caused the automatic implementation of the first setting), the value of the user-controlled change to the first setting (e.g., the user-controlled change may be setting the brightness of the display of the user device 110 to a value of 90%), the time (e.g., a timestamp) at which the first sensor data was collected, and / or the location (e.g., geographic coordinates) of the user device 110 at the time the first sensor data was collected. The time and / or location may indicate a user preference regarding the setting of the feature. For example, a user may prefer a brighter display at certain times of the day (e.g., mornings) or in certain locations (e.g., the office) and a dimmer display at other times of the day (e.g., evenings) or in other locations (e.g., at home).
[0037]
[0043] As indicated by reference numeral 330, the user device 110 can train a machine learning model to identify settings for the feature based at least in part on information about user-controlled changes to the first setting. The training can be an initial training of the machine learning model or a retraining of the machine learning model (e.g., associated with continuous training of the machine learning model). In some aspects, the server device 120 can train the machine learning model to identify settings for the feature and provide the trained machine learning model to the user device 110.
[0038]
[0044] In some aspects, the machine learning model can be trained according to a training procedure using information about the user-controlled changes to the first setting. In some aspects, the training procedure can include performing forward propagation using the machine learning model (e.g., using the first sensor data as input to the machine learning model) (“forward propagation” or “forward computation” can refer to computation 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), 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., due to the user-controlled changes to the first setting). Further, the training procedure can include backpropagating the machine learning model using the results of the loss function to determine adjustments to weights used by the machine learning model (“backpropagation” can include traversing the machine learning model backward from the output layer through one or more hidden layers using an algorithm to adjust the weights of the machine learning model). The machine learning model can be updated using the adjustments to the weights.
[0039]
[0045] Although the training procedure is described above using information about a single user-controlled change to a first setting, in practice, information about one or more user-controlled changes to the setting of the feature can be used as training data for the machine learning model. For example, the machine learning model may be trained to identify the setting of the feature based at least in part on information about multiple user-controlled changes to the setting of the feature, where the multiple user-controlled changes may be from settings automatically implemented for the feature (e.g., by user device 110).
[0040]
[0046] In other words, information about multiple user-controlled changes to the settings of a feature may be a set of observations for training a machine learning model (e.g., each instance of a user-controlled change to a setting that is automatically implemented may be an observation for training a machine learning model). The set of observations may include a feature set, which may include a set of variables. Thus, a particular observation may include a set of variable values (or feature values) corresponding to the set of variables. The feature set may be extracted from the structured data and / or based on input from an operator. As an example, the feature set for a set of observations may include an amount of change in the sensor data, a value associated with the change in the sensor data, a time when the sensor data was collected, and / or a location of the user device 110 at the time when the sensor data was collected. The set of observations may be associated with a target variable, which may represent a variable having a numeric value, a variable having a numeric value that falls within a range of values or has several discrete possible values, a variable selectable from one of multiple options, and / or a variable having a Boolean value. For a set of observations, the target variable may 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 may be a user-controlled change to a setting that is automatically implemented for the observation.
[0041]
[0047] Thus, the target variable may represent a value that the machine learning model is trained to predict, and the feature set may represent variables that are input to the machine learning model to predict the value of the target variable. The machine learning model may be trained to recognize patterns in the feature set that result in the target variable value (e.g., the machine learning model may be a supervised learning model). The machine learning model may be trained using a set of observations and 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.
[0042]
[0048] Once the machine learning model has been trained (or retrained), the user device 110 can use the machine learning model to identify feature settings. That is, the machine learning model can output information identifying the value of the target variable for a new observation. Additionally or alternatively, the output may include information identifying a cluster to which the new observation belongs and / or information indicating the degree of similarity between the new observation and one or more other observations (e.g., when unsupervised learning is employed).
[0043]
[0049] In some aspects, each machine learning model can be trained and utilized for multiple functions of user device 110. For example, user device 110 may train and / or use a first machine learning model to identify a setting for a first function of user device 110 (e.g., the brightness of the display of user device 110), a second machine learning model to identify a setting for a second function of user device 110 (e.g., the rotational orientation of the 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., to identify the brightness setting of the display). In some aspects, the machine learning model used by user device 110 may be a classifier model (e.g., to identify the rotational orientation setting of the display). Other types of machine learning models may also be used by user device 110.
[0044]
[0050] As shown in FIG. 3D by reference numeral 335, the user device 110 can acquire second sensor data from the sensor, similar to that described above. For example, the second sensor data can indicate a change to a characteristic associated with the user device 110 that the sensor is configured to detect (e.g., from previous sensor data or from 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 a type of the second sensor data based at least in part on the type of sensor used to acquire the second sensor data. The type of second sensor data can be light level data, device rotation data, sound level data, etc. Based at least in part on the type of 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, the user device 110 may select a first machine learning model (e.g., trained to identify the brightness setting of the display of the user device 110) if the second sensor data is a first type of data (e.g., light level data), a second machine learning model (e.g., trained to identify the rotation orientation setting of the display) if the second sensor data is a second type of data (e.g., device rotation data), and so on.
[0045]
[0051] As indicated by reference numeral 340, the user device 110 can use a machine learning model to determine a second setting for the function. For example, the user device 110 can use the machine learning model to determine the second setting based at least in part on the second sensor data. That is, as described above, the user device 110 can provide the second sensor data as input to the machine learning model, and the user device 110 can obtain the second setting as output of the machine learning model. The machine learning model can determine the second setting for the function based at least in part on information regarding the user-controlled change to the first setting (as well as one or more additional user-controlled changes to the setting), as described above. The user device 110 can determine the second setting for the function in response to the second sensor data indicating a change to the characteristic (e.g., if the characteristic changes by a threshold amount).
[0046]
[0052] The machine learning model may determine second settings of the features based at least in part on the second sensor data (e.g., based at least in part on an amount of change in or a value associated with the change in the second sensor data). Additionally, the machine learning model may determine second settings of the features further 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, the machine learning model may determine one second setting of the features if the time is a first time and / or the location is a first location, and the machine learning model may determine another second setting of the feature if the time is a second time and / or the location is a second location.
[0047]
[0053] As indicated by reference numeral 345, the user device 110 can trigger automatic implementation of a second setting of the function. That is, the user device 110 can trigger adjustment of the setting of the function to the second setting identified by the machine learning model based at least in part on the second sensor data. The user device 110 can trigger automatic implementation of the second setting of the function in response to the second sensor data indicating a change to the characteristic (e.g., if the characteristic changes by a threshold amount).
[0048]
[0054] In this way, the user device 110 can identify and automatically implement settings for a feature with improved accuracy, thereby saving computing resources that would otherwise be consumed when an incorrect setting for the feature is automatically implemented.
[0049]
[0055] As noted above, Figures 3A-3D are provided as an example, and other examples may differ from those described with respect to Figures 3A-3D.
[0050]
[0056] 4 is a flowchart of an example process 400 associated with automatically configuring a user device's functionality using machine learning. In some aspects, one or more process blocks of FIG. 4 are performed by a device (e.g., user device 110). In some aspects, one or more process blocks of FIG. 4 are performed by another device or group of devices that are separate from or include the device, such as a server device (e.g., server device 120). Additionally or alternatively, one or more process blocks of FIG. 4 can 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.
[0051]
[0057] 4, process 400 may include acquiring first sensor data from a sensor configured to detect a characteristic associated with the device (block 410). For example, the device may acquire the first sensor data from a sensor configured to detect a characteristic associated with the device, as described above.
[0052]
[0058] 4, process 400 can include triggering automatic implementation of a first setting of a user-controllable function of the device, the first setting being based at least in part on the first sensor data (block 420). For example, the device can trigger automatic implementation of a first setting of a user-controllable function of the device, the first setting being based at least in part on the first sensor data, as described above.
[0053]
[0059] 4, process 400 may include detecting a user-controlled change to the first setting of the feature within a threshold time after the automatic implementation of the first setting (block 430). For example, the device may detect a user-controlled change to the first setting of the feature within a threshold time after the automatic implementation of the first setting, as described above.
[0054]
[0060] 4, the process 400 may include obtaining second sensor data from the sensor (block 440). For example, the device may obtain the second sensor data from the sensor as described above.
[0055]
[0061] 4, process 400 may include triggering automatic implementation of a second setting of the function identified by the machine learning model based at least in part on the second sensor data, the machine learning model being trained to identify the setting of the function based at least in part on information regarding user-controlled changes to the first setting (block 450). For example, the device may trigger automatic implementation of the second setting of the function identified by the machine learning model based at least in part on the second sensor data, as described above. In some aspects, the machine learning model is trained to identify the setting of the function based at least in part on information regarding user-controlled changes to the first setting.
[0056]
[0062] 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.
[0057]
[0063] In a first aspect, the feature 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.
[0058]
[0064] In a second aspect, alone or in combination with the first aspect, the information regarding the user-controlled change to the first setting indicates one or more of the value of the user-controlled change to the first setting, the first sensor data, the time the first sensor data was collected, or the location of the device at the time the first sensor data was collected.
[0059]
[0065] In a third aspect, alone or in combination with one or more of the first and second aspects, the machine learning model is trained to identify a second setting of the feature based at least in part on one or more of the second sensor data, the time the second sensor data was collected, or the location of the device at the time the second sensor data was collected.
[0060]
[0066] 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.
[0061]
[0067] In a fifth aspect, alone or in combination with one or more of the first through fourth aspects, the process 400 includes using a machine learning model to determine a first setting based at least in part on the first sensor data and to determine a second setting based at least in part on the second sensor data.
[0062]
[0068] In a sixth aspect, alone or in combination with one or more of the first through fifth aspects, the first setting is determined using a machine learning model.
[0063]
[0069] In a seventh aspect, alone or in combination with one or more of the first through sixth aspects, the 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 second sensor data.
[0064]
[0070] 4 illustrates example blocks of process 400, in some aspects process 400 includes additional, fewer, different, or arranged differently than the blocks illustrated in FIG 4. Additionally or alternatively, two or more of the blocks of process 400 may be performed in parallel.
[0065]
[0071] 5 is a flowchart of an example process 500 associated with automatically configuring a user device's functionality using machine learning. In some aspects, one or more process blocks of FIG. 5 are performed by a device (e.g., user device 110). In some aspects, one or more process blocks of FIG. 5 are performed by another device or group of devices that are separate from or include the device, such as a server device (e.g., server device 120). Additionally or alternatively, one or more process blocks of FIG. 5 can 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.
[0066]
[0072] 5, process 500 may include acquiring first sensor data from a sensor configured to detect a characteristic associated with the device (block 510). For example, the device may acquire the first sensor data from a sensor configured to detect a characteristic associated with the device, as described above.
[0067]
[0073] 5, process 500 can include triggering automatic implementation of a first setting of a user-controllable function of the device, the first setting being based at least in part on the first sensor data (block 520). For example, the device can trigger automatic implementation of a first setting of a user-controllable function of the device, the first setting being based at least in part on the first sensor data, as described above.
[0068]
[0074] 5, process 500 may include detecting a user-controlled change to the first setting of the feature within a threshold time after the automatic implementation of the first setting (block 530). For example, the device may detect a user-controlled change to the first setting of the feature within a threshold time after the automatic implementation of the first setting, as described above.
[0069]
[0075] 5, the process 500 may include obtaining second sensor data from the sensor (block 540). For example, the device may obtain the second sensor data from the sensor as described above.
[0070]
[0076] 5, process 500 may include triggering automatic implementation of a second setting of the function identified by the machine learning model based at least in part on the second sensor data, the machine learning model being trained to identify the setting of the function based at least in part on information regarding user-controlled changes to the first setting (block 550). For example, the device may trigger automatic implementation of the second setting of the function identified by the machine learning model based at least in part on the second sensor data, as described above. In some aspects, the machine learning model is trained to identify the setting of the function based at least in part on information regarding user-controlled changes to the first setting.
[0071]
[0077] 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.
[0072]
[0078] In a first aspect, the feature 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.
[0073]
[0079] In a second aspect, alone or in combination with the first aspect, the information regarding the user-controlled change to the first setting indicates one or more of the value of the user-controlled change to the first setting, the first sensor data, the time the first sensor data was collected, or the location of the device at the time the first sensor data was collected.
[0074]
[0080] 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 of the feature based at least in part on one or more of the second sensor data, the time the second sensor data was collected, or the location of the device at the time the second sensor data was collected.
[0075]
[0081] In a fourth aspect, alone or in combination with one or more of the first through third aspects, a machine learning model is trained to identify a setting for a feature based at least in part on information regarding a plurality of user-controlled modifications to the feature.
[0076]
[0082] In a fifth aspect, alone or in combination with one or more of the first through fourth aspects, the process 500 includes triggering automatic implementation of the second setting in response to second sensor data indicating that a characteristic associated with the device has changed by a threshold amount.
[0077]
[0083] 5 illustrates example blocks of process 500, in some aspects process 500 includes additional, fewer, different, or arranged differently than the blocks illustrated in FIG 5. Additionally or alternatively, two or more of the blocks of process 500 may be performed in parallel.
[0078]
[0084]
[0023] Figure 6 is a flowchart of an example process 600 associated with automatically configuring a user device's functionality using machine learning. In some aspects, one or more process blocks of Figure 6 are performed by a device (e.g., user device 110). In some aspects, one or more process blocks of Figure 6 are performed by another device or group of devices that are separate from or include the device, such as a server device (e.g., server device 120). Additionally or alternatively, one or more process blocks of Figure 6 can 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.
[0079]
[0085] 6, process 600 may include obtaining sensor data from a sensor configured to detect a characteristic associated with the device (block 610). For example, the device may obtain sensor data from a sensor configured to detect a characteristic associated with the device, as described above.
[0080]
[0086] 6, process 600 may include determining a setting for the feature of the device using a machine learning model trained to identify settings based at least in part on the sensor data and at least in part on information regarding a plurality of user-controlled changes to a previous setting that was automatically implemented for the feature (block 620). For example, the device may determine a setting for the feature of the device using a machine learning model based at least in part on the sensor data. In some aspects, the machine learning model is trained to identify settings based at least in part on information regarding a plurality of user-controlled changes to a previous setting that was automatically implemented for the feature.
[0081]
[0087] 6, the process 600 may include triggering automatic implementation of the setting of the feature (block 630). For example, the device may trigger automatic implementation of the setting of the feature as described above.
[0082]
[0088] 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.
[0083]
[0089] In a first aspect, the feature 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.
[0084]
[0090] In a second aspect, alone or in combination with the first aspect, the machine learning model identifies a setting for the feature based at least in part on one or more of the sensor data, the time the sensor data was collected, or the location of the device at the time the sensor data was collected.
[0085]
[0091] 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.
[0086]
[0092] In a fourth aspect, alone or in combination with one or more of the first through 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.
[0087]
[0093] 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 the physical environment of the device or the state of the device.
[0088]
[0094] Although Figure 6 illustrates example blocks of process 600, in some aspects process 600 includes additional, fewer, different, or arranged differently than the blocks illustrated in Figure 6. Additionally or alternatively, two or more of the blocks of process 600 may be performed in parallel.
[0089]
[0095] The following provides a summary of several aspects of the disclosure.
[0090]
[0096] Aspect 1: A method comprising: acquiring, by a device, first sensor data from a sensor configured to detect a characteristic associated with the device; triggering, by the device, automatic implementation of a first setting of a function 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, a user-controlled change to the first setting of the function within a threshold time after the automatic implementation of the first setting; acquiring, by the device, second sensor data from the sensor; and triggering, by the device, automatic implementation of a second setting of the function identified by a machine learning model based at least in part on the second sensor data, wherein the machine learning model is trained to identify the setting of the function based at least in part on information regarding the user-controlled change to the first setting.
[0091]
[0097] Aspect 2: The method of aspect 1, wherein the feature is the brightness of the device's display, the rotation orientation of the display, the volume of the device's speaker, or the mode of the device's camera.
[0092]
[0098] Aspect 3: The method of aspect 1 or 2, wherein the information regarding the user-controlled change to the first setting indicates one or more of the value of the user-controlled change to the first setting, the first sensor data, the time the first sensor data was collected, or the location of the device at the time the first sensor data was collected.
[0093]
[0099] Aspect 4: The method of any one of aspects 1 to 3, wherein the machine learning model is trained to identify the second setting of the feature based at least in part on one or more of the second sensor data, the time the second sensor data was collected, or the location of the device at the time the second sensor data was collected.
[0094]
[0100] Embodiment 5: The method of any one of embodiments 1 to 4, wherein the machine learning model is a regression model or a classifier model.
[0095]
[0101] Aspect 6: The method of any one of aspects 1 to 5, further comprising: using a machine learning model to determine a first setting based at least in part on the first sensor data; and determining a second setting based at least in part on the second sensor data.
[0096]
[0102] Aspect 7: The method of aspect 6, wherein the first setting is determined using a machine learning model.
[0097]
[0103] Aspect 8: The method of any one of aspects 1 to 7, further comprising: identifying a type of second sensor data; and selecting a machine learning model from the plurality of machine learning models for use by the device based at least in part on the type of second sensor data.
[0098]
[0104] Aspect 9: A device comprising: a memory; and one or more processors coupled to the memory, the one or more processors configured to: acquire first sensor data from a sensor configured to detect a characteristic associated with the device; trigger automatic implementation of a first setting of a function 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 user-controlled change to the first setting of the function within a threshold time after the automatic implementation of the first setting; acquire second sensor data from the sensor; and trigger automatic implementation of a second setting of the function identified by a machine learning model based at least in part on the second sensor data, wherein the machine learning model is trained to identify the setting of the function based at least in part on information regarding the user-controlled change to the first setting.
[0099]
[0105] Aspect 10: The device of aspect 9, wherein the function is the brightness of a display of the device, the rotational orientation of the display, the volume of a speaker of the device, or the mode of a camera of the device.
[0100]
[0106] Aspect 11: A device as described in aspect 9 or 10, wherein the information regarding the user-controlled change to the first setting indicates one or more of the value of the user-controlled change to the first setting, the first sensor data, the time the first sensor data was collected, or the location of the device at the time the first sensor data was collected.
[0101]
[0107] Aspect 12: The device of any one of aspects 9 to 11, wherein the machine learning model identifies the second setting of the function based at least in part on one or more of the second sensor data, the time the second sensor data was collected, or the location of the device at the time the second sensor data was collected.
[0102]
[0108] Aspect 13: A device described in any one of aspects 9 to 12, wherein the machine learning model is trained to identify settings for the feature based at least in part on information regarding a plurality of user-controlled changes to the feature.
[0103]
[0109] Aspect 14: A device described in any one of aspects 9 to 13, wherein the one or more processors are configured to trigger automatic implementation of the second setting in response to second sensor data indicating that a characteristic associated with the device has changed by a threshold amount to trigger automatic implementation of the second setting.
[0104]
[0110] Aspect 15: A non-transitory computer-readable medium storing a set of instructions including one or more instructions that, when executed by one or more processors of the device, cause the device to acquire sensor data from a sensor configured to detect a characteristic associated with the device, determine a setting for a function of the device based at least in part on the sensor data using a machine learning model trained to identify a setting based at least in part on information regarding a plurality of user-controlled changes to previous settings that were automatically implemented for the function, and cause automatic implementation of the setting for the function.
[0105]
[0111] Aspect 16: The non-transitory computer-readable medium of aspect 15, wherein the function is the brightness of a display of the device, the rotational orientation of the display, the volume of a speaker of the device, or the mode of a camera of the device.
[0106]
[0112] Aspect 17: The non-transitory computer-readable medium of aspect 15 or 16, wherein the machine learning model identifies the setting of the feature based at least in part on one or more of the sensor data, the time the sensor data was collected, or the location of the device at the time the sensor data was collected.
[0107]
[0113] Aspect 18: The non-transitory computer-readable medium of any one of aspects 15 to 17, wherein the sensor is a photodetector, a gyroscope, a microphone, or a camera.
[0108]
[0114] Aspect 19: A non-transitory computer-readable medium described in any one of aspects 15 to 18, wherein one or more instructions, when executed by one or more processors of the device, further cause the device to identify a 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.
[0109]
[0115] Aspect 20: The non-transitory computer-readable medium of any one of aspects 15 to 19, wherein the characteristic associated with the device relates to the physical environment of the device or a state of the device.
[0110]
[0116] 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 one or more methods of aspects 1 to 8.
[0111]
[0117] Aspect 22: A device comprising: a memory; and one or more processors coupled to the memory, wherein the one or more processors are configured to perform one or more of the methods of aspects 1 to 8.
[0112]
[0118] Aspect 23: An apparatus comprising at least one means for performing one or more of the methods of aspects 1 to 8.
[0113]
[0119] Aspect 24: A non-transitory computer-readable medium having stored thereon code, the code comprising instructions executable by a processor to perform one or more of the methods of aspects 1 to 8.
[0114]
[0120] Aspect 25: A non-transitory computer-readable medium storing a set of instructions, the set of instructions including one or more instructions that, when executed by one or more processors of a device, cause the device to perform one or more methods of aspects 1 to 8.
[0115]
[0121] 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 the one or more processors of one or more of aspects 9 to 14.
[0116]
[0122] Aspect 27: A method comprising steps performed by one or more processors of one or more of aspects 9 to 14.
[0117]
[0123] Aspect 28: An apparatus, comprising at least one means for performing the steps performed by one or more processors of one or more of aspects 9 to 14.
[0118]
[0124] 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 to 14.
[0119]
[0125] Aspect 30: A non-transitory computer-readable medium storing a set of instructions, the set of instructions including one or more instructions that, when executed by one or more processors of a device, cause the device to perform the steps performed by the one or more processors of one or more of Aspects 9 to 14.
[0120]
[0126] 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 steps performed by one or more devices of aspects 15 to 20.
[0121]
[0127] Aspect 32: A device comprising: a memory; and one or more processors coupled to the memory, wherein the one or more processors are configured to perform the steps performed by one or more devices of aspects 15 to 20.
[0122]
[0128] Aspect 33: An apparatus comprising at least one means for performing the steps performed by one or more devices of aspects 15 to 20.
[0123]
[0129] Aspect 34: A non-transitory computer-readable medium storing code, the code including instructions executable by a processor to perform steps performed by one or more devices of aspects 15 to 20.
[0124]
[0130] Aspect 35: A method comprising steps performed by one or more devices of aspects 15 to 20.
[0125]
[0131] The above disclosure provides illustration and description, but is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the embodiments.
[0126]
[0132] As used herein, the term "component" is intended to be broadly construed as hardware and / or combinations of hardware and software. "Software" is intended to be broadly construed to mean, among other examples, instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, and / or functions, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. As used herein, a "processor" is implemented in hardware and / or a combination of hardware and software. It will be apparent that the systems and / or methods described herein can be implemented in various forms of hardware and / or combinations of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not limiting. Thus, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, with the understanding that those skilled in the art will be able to design software and hardware to implement the systems and / or methods based at least in part on the description herein.
[0127]
[0133] As used herein, "meeting a threshold" can refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, etc., depending on the context.
[0128]
[0134] Although particular combinations of features are recited in the claims and / or disclosed herein, those combinations are not intended to limit the disclosure of various aspects. Many of these features can be combined in ways not specifically recited in the claims and / or disclosed herein. The disclosure of various aspects includes each dependent claim in combination with every other claim in the claim set. As used herein, phrases referring to "at least one of" a list of items refer to any combination of those items, including single members. As an example, "at least one of a, b, or c" is intended to encompass a, b, c, a+b, a+c, b+c, and a+b+c, as well as any combination having 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 permutation of a, b, and c).
[0129]
[0135] No element, act, or instruction used herein should be construed as essential or required unless explicitly described as such. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Furthermore, as used herein, the article "the" is intended to include one or more items mentioned in connection with the article "the" and may be used interchangeably with "one or more." Furthermore, as used herein, the terms "set" and "group" are intended to include one or more items and may be used interchangeably with "one or more." Where only one item is intended, the phrase "only one" or similar language is used. Also, as used herein, terms such as "has," "have," and "having" are intended to be open-ended terms that do not limit the elements they modify (e.g., an element that "has" A may also have B). Furthermore, the phrase "based on" is intended to mean "based at least in part on," unless expressly stated otherwise. As used herein, the term "or" is also intended to be inclusive when used in a series, and may be used interchangeably with "and / or," except where expressly stated otherwise (e.g., when used in combination with "either" or "only one of").
Claims
1. acquiring, by a device, first sensor data from a sensor configured to detect a characteristic associated with the device; causing, by the device, automatic implementation of a first setting of a function 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, a user-controlled change to the first setting of the feature within a threshold time after the automatic implementation of the first setting; acquiring, by the device, second sensor data from the sensor; causing, by the device, automatic performance of a second configuration of the feature identified by the machine learning model based at least in part on the second sensor data; Including, the machine learning model is trained to identify a setting for the feature based at least in part on information about the user-controlled changes to the first setting. method.
2. The method of claim 1 , wherein the feature 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 information regarding the user-controlled changes to the first setting, the 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 the first sensor data was collected; indicates one or more of The method of claim 1.
4. The machine learning model: the second sensor data; the time at which the second sensor data was collected; or the location of the device at the time the second sensor data was collected; and trained to identify the second setting of the feature based at least in part on one or more of: The method of claim 1.
5. The method of claim 1 , wherein the machine learning model is a regression model or a classifier model.
6. determining the first setting based at least in part on the first sensor data; determining the second setting based at least in part on the second sensor data using the machine learning model; and The method of claim 1 further comprising:
7. The method of claim 6 , wherein the first setting is determined using the machine learning model.
8. identifying a type of the second sensor data; selecting the 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; The method of claim 1 further comprising:
9. A device, Memory and one or more processors coupled to the memory, acquiring first sensor data from a sensor configured to detect a characteristic associated with the device; triggering automatic implementation of a first setting of a function 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 user-controlled change to the first setting of the feature within a threshold time after the automatic implementation of the first setting; acquiring second sensor data from the sensor; causing automatic implementation of a second configuration of the feature identified by the machine learning model based at least in part on the second sensor data. one or more processors configured to Equipped with the machine learning model is trained to identify a setting for the feature based at least in part on the information regarding the user-controlled changes to the first setting; device.
10. The device of claim 9 , wherein the function 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 information regarding the user-controlled changes to the first setting, the 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 the first sensor data was collected; indicates one or more of The device of claim 9.
12. The machine learning model: the second sensor data; the time at which the second sensor data was collected; or the location of the device at the time the second sensor data was collected; identifying the second setting of the feature based at least in part on one or more of: The device of claim 9.
13. 10. The device of claim 9, wherein the machine learning model is trained to identify the setting of the feature based at least in part on information regarding a plurality of user-controlled modifications to the feature.
14. the one or more processors, to cause automatic implementation of the second configuration, and configured to trigger 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. The device of claim 9.
15. A set of instructions, When executed by one or more processors of a device, the device acquiring sensor data from a sensor configured to detect a characteristic associated with the device; based at least in part on the sensor data; determining the setting of the feature on the device using a machine learning model trained to identify settings based at least in part on information regarding a plurality of user-controlled changes to a previous setting that was automatically implemented for the feature; a set of instructions including one or more instructions that cause the automatic performance of the setting of the function; Non-transitory computer-readable medium.
16. 16. The non-transitory computer-readable medium of claim 15, wherein the function is the brightness of a display of the device, the rotational orientation of the display, the volume of a speaker of the device, or the mode of a camera of the device.
17. The machine learning model: the sensor data; the time at which the sensor data was collected; or the location of the device at the time the sensor data was collected; identifying the setting of the feature based at least in part on one or more of:
16. The non-transitory computer-readable medium of claim 15.
18. 16. The non-transitory computer-readable medium of claim 15, wherein the sensor is a photodetector, a gyroscope, a microphone, or a camera.
19. 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; selecting the 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 sensor data; 16. The non-transitory computer-readable medium of claim 15.
20. The non-transitory computer-readable medium of claim 15 , wherein the characteristic associated with the device relates to a physical environment of the device or a state of the device.