WO2021038759A1 - モデル選択方法、モデル選択プログラムおよび情報処理装置 - Google Patents

モデル選択方法、モデル選択プログラムおよび情報処理装置 Download PDF

Info

Publication number
WO2021038759A1
WO2021038759A1 PCT/JP2019/033733 JP2019033733W WO2021038759A1 WO 2021038759 A1 WO2021038759 A1 WO 2021038759A1 JP 2019033733 W JP2019033733 W JP 2019033733W WO 2021038759 A1 WO2021038759 A1 WO 2021038759A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning
user
model
behavior
learning model
Prior art date
Application number
PCT/JP2019/033733
Other languages
English (en)
French (fr)
Inventor
寛彰 金月
勉 石田
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2019/033733 priority Critical patent/WO2021038759A1/ja
Publication of WO2021038759A1 publication Critical patent/WO2021038759A1/ja

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/62Control or safety arrangements characterised by the type of control or by internal processing, e.g. using fuzzy logic, adaptive control or estimation of values
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F11/00Control or safety arrangements
    • F24F11/62Control or safety arrangements characterised by the type of control or by internal processing, e.g. using fuzzy logic, adaptive control or estimation of values
    • F24F11/63Electronic processing
    • F24F11/64Electronic processing using pre-stored data

Definitions

  • the present invention relates to a model selection method, a model selection program, and an information processing device.
  • a learning model of each user is constructed on a cloud server, and the learning model of the user is distributed to an edge (terminal) such as an air conditioner to repeat learning and perform an action suitable for each user.
  • One aspect is to provide a model selection method, a model selection program, and an information processing device that can suppress unpleasant predictions for the user.
  • the learning method is that the computer acquires a plurality of learning models that predict the behavior based on the environmental state.
  • the computer selects one learning model to be used for predicting the behavior from the plurality of learning models by reinforcement learning based on the environmental state.
  • FIG. 1 is a diagram showing an overall configuration example of the system according to the first embodiment.
  • FIG. 2 is a functional block diagram showing a functional configuration of the cloud server according to the first embodiment.
  • FIG. 3 is a diagram showing an example of information stored in the sensor value DB.
  • FIG. 4 is a diagram showing an example of information stored in the operation log DB.
  • FIG. 5 is a diagram showing an example of information stored in the learning data DB.
  • FIG. 6 is a diagram showing a determination example of user operation.
  • FIG. 7 is a diagram showing an example of the inter-model distance for clustering the learning model.
  • FIG. 8 is a diagram showing an example of a candidate model determined by clustering of learning models.
  • FIG. 9 is a functional block diagram showing a functional configuration of an edge according to the first embodiment.
  • FIG. 9 is a functional block diagram showing a functional configuration of an edge according to the first embodiment.
  • FIG. 10 is a diagram showing an example of information stored in the reinforcement learning result DB.
  • FIG. 11 is a diagram showing an example of reinforcement learning for learning model selection.
  • FIG. 12 is a flowchart showing the flow of determination processing in the cloud server.
  • FIG. 13 is a flowchart showing the flow of distribution processing in the cloud server.
  • FIG. 14 is a flowchart showing the flow of reinforcement learning processing at the edge.
  • FIG. 15 is a flowchart showing the flow of behavior prediction processing at the edge.
  • FIG. 16 is a diagram showing an example of behavior prediction by reinforcement learning.
  • FIG. 17 is a diagram showing an example of model selection by reinforcement learning.
  • FIG. 18 is a diagram illustrating an image of the learning model.
  • FIG. 19 is a diagram showing a hardware configuration example.
  • model selection method examples of the model selection method, model selection program, and information processing apparatus disclosed in the present application will be described in detail based on the drawings.
  • the present invention is not limited to this embodiment.
  • each embodiment can be appropriately combined within a consistent range.
  • FIG. 1 is a diagram showing an overall configuration example of the system according to the first embodiment.
  • this system is an air-conditioning control system in which a cloud server 10 and a communication device corresponding to an edge of each room are connected to each other via a network N so as to be able to communicate with each other.
  • the network N various communication networks such as the Internet can be adopted regardless of whether they are wired or wireless.
  • Each room is subject to air conditioning control by the cloud server 10.
  • the room 1 has an air conditioner 1a that is installed in the room and controls air conditioning.
  • the room 2 has an air conditioner 2a that is installed in the room and controls air conditioning, and an information terminal 2b that transmits an air conditioning control instruction to the air conditioner 2a using a wireless network or UPnP (Universal Plug and Play).
  • the room 3 has an air conditioner 3a installed in the room to control the air conditioning, and a remote controller 3b for transmitting an air conditioning control instruction to the air conditioner 3a.
  • the edge in each room receives the learning model delivered from the cloud server 10.
  • Edge uses the delivered learning model to predict user operations on the air conditioner, and controls the air conditioner according to the prediction result.
  • the edge is, for example, an air conditioner 1a in the case of room 1, an information terminal 2b in the case of room 2, and a remote controller 3b in the case of room 3.
  • sensors for measuring the outside air temperature are installed in each room.
  • the sensor value measured by each sensor (may be described as an observed value or a log) is transmitted to the cloud server 10 or the edge by each sensor or the like. Alternatively, each sensor value can be measured by the edge itself.
  • Each edge collects a user's operation log for the air conditioner and sends it to the cloud server 10.
  • FIG. 1 shows an example of three rooms, it is merely an example and does not limit the number of rooms.
  • the cloud server 10 is a server device that provides a cloud service to a user.
  • the cloud server 10 acquires sensor values, operation logs, and the like from each room, and uses these as learning data to build a learning model for each user.
  • the cloud server 10 performs a user operation indicating environmental conditions such as room temperature, humidity, and outside air temperature as explanatory variables, and indicating raising (Up) / lowering (Down) / maintaining temperature (Keep) the temperature of the air conditioner. Build a learning model as the objective variable. Then, the cloud server 10 repeats learning by delivering the learning model to each edge.
  • the cloud server 10 delivers a group of learned learning models of existing users to the edge of the new user, which predicts behavior based on the environmental state for new users who do not have a learning model.
  • one learning model can be selected from the learning model group of the existing user by reinforcement learning, the user operation can be predicted using the selected learning model, and the air conditioning control suitable for the new user can be performed. ..
  • Each edge of each room selects one learning model from a plurality of learning models delivered from the cloud server 10 by reinforcement learning, predicts the user operation for the air conditioner using the selected learning model, and responds to the prediction result. Air conditioning control is performed. In this way, air conditioning control on the edge side is realized.
  • the learning model selected by reinforcement learning is a learning model of another user, but has already been learned. Therefore, it is difficult to predict an unpleasant behavior for the user as compared with the behavior (user operation) prediction by reinforcement learning.
  • the cloud server in order to select a learning model that is more suitable for the user, it is desirable to perform reinforcement learning for all existing user learning models.
  • it is not realistic to deliver and process a huge number of learning models to the edge.
  • similar learning models will be distributed unevenly. Therefore, in the cloud server according to the first embodiment, the distance between the models of each learning model is calculated, and similar learning models are clustered to deliver only the candidate models in each cluster to the edge.
  • FIG. 2 is a functional block diagram showing a functional configuration of the cloud server 10 according to the first embodiment.
  • the cloud server 10 has a communication unit 11, a storage unit 12, and a control unit 20.
  • the communication unit 11 is a processing unit that controls communication with other devices, and is, for example, a communication interface.
  • the communication unit 11 receives various data such as sensor values and operation logs from devices such as edges and sensors installed in each room, and distributes a trained learning model group to the edge.
  • the storage unit 12 is an example of a storage device that stores various data and a program executed by the control unit 20, and is, for example, a memory or a hard disk.
  • the storage unit 12 stores the sensor value DB 13, the operation log DB 14, the learning data DB 15, and the learning result DB 16.
  • the sensor value DB 13 is a database that stores sensor values related to room temperature, indoor humidity, outside air temperature, etc. acquired by sensors in each room.
  • the sensor value stored here is an observation value acquired by the cloud server 10 from each sensor, and may include other observation values that can be measured by the sensor, such as a change in temperature over time.
  • the sensor value DB 13 stores the sensor value for each sensor in each room (space).
  • FIG. 3 is a diagram showing an example of information stored in the sensor value DB.
  • the sensor value DB 13 stores "air conditioner ID, date and time, room temperature, humidity, outside air temperature” and the like in association with each other.
  • the "air conditioner ID” stored here is an identifier that identifies the air conditioner, and the “date and time” is the date and time when the data was measured.
  • "Room temperature” and “humidity” are the indoor temperature and humidity measured by each sensor in each room, respectively, and “outside air temperature” is the outdoor temperature measured by each sensor in each room.
  • the sensor value for each hour is shown. For example, for the air conditioner (a001), “At 0:00 on November 1, 2019, the room temperature is 20 degrees, the indoor humidity is 55%, and the outside temperature is. It was 10 degrees. "
  • the operation log DB 14 is a database that stores log information related to user operations of the air conditioner in each room.
  • the log information stored here is information acquired by the cloud server 10 from each air conditioner or a remote controller of each air conditioner, and may include other information such as a set temperature that can be measured by the air conditioner or the remote controller. Further, the operation log DB 14 stores the operation log for each user, that is, for each air conditioner in each space.
  • FIG. 4 is a diagram showing an example of information stored in the operation log DB.
  • the operation log DB 14 stores "air conditioner ID, date and time, operation” in association with each other.
  • the "air conditioner ID” stored here is an identifier that identifies the air conditioner, and the “date and time” is the date and time when the user operation was performed.
  • “Operation” is a log of user operation of each air conditioner.
  • the learning data DB 15 is a database that stores learning data used for learning a learning model, that is, training data.
  • FIG. 5 is a diagram showing an example of information stored in the learning data DB. As shown in FIG. 5, the learning data DB 15 corresponds to "air conditioner ID, time, user operation, feature amount 1 (5 minutes ago), feature amount 2 (10 minutes ago), feature amount 3 (15 minutes ago)". Attach and memorize.
  • the "air conditioner ID” stored here is an identifier that identifies the air conditioner.
  • the “time” is a reference time.
  • "User operation” is the operation content of the air conditioner operation by the user, for example, “Up” for raising the set temperature of the air conditioner, “Down” for lowering the set temperature, “Keep” for maintaining the set temperature (doing nothing), etc. Is set.
  • “Feature amount 1 (5 minutes ago)”, “feature amount 2 (10 minutes ago)”, and “feature amount 3 (15 minutes ago)” are 5 minutes before, 10 minutes before, and 15 minutes before the reference time, respectively. This is the sensor value acquired a minute ago.
  • FIG. 6 is a diagram showing a determination example of user operation.
  • the sensor values and the like are acquired at intervals of 5 minutes, such as time t1 and time t2.
  • time window used as the learning data is 3 (15 minutes)
  • the data 5 minutes ago, the data 10 minutes ago, and the data 15 minutes ago are the user operations (set temperature) after 5 minutes. Up / Down / Keep) is used as learning data for predicting.
  • the content of the user operation at each time is information that can be acquired from the operation log or the like, and the driving behavior by the actual user operation within each time is set.
  • the learning result DB 16 is a database that stores the learning results constructed or relearned by the learning data.
  • the learning result DB 16 stores various parameters for constructing a learning model using logistic regression, a neural network, or the like.
  • various information can be stored in the storage unit 12.
  • a weather information DB that stores weather information acquired from an external weather server (not shown).
  • the weather information DB stores observed values of outside air temperature and humidity, forecast values of outside air temperature and humidity, weather, etc. acquired from the weather server by the cloud server 10 at an arbitrary timing.
  • the control unit 20 is a processing unit that controls the entire cloud server 10, and is, for example, a processor.
  • the control unit 20 includes an acquisition unit 30, a learning processing unit 40, a determination unit 50, and a distribution unit 60.
  • Each processing unit is an example of an electronic circuit included in the processor and an example of a process executed by the processor.
  • the acquisition unit 30 is a processing unit that acquires various sensor values from each sensor in each room. Specifically, the acquisition unit 30 acquires the sensor value from each sensor, acquires the operation log from each edge, and stores the operation log in the sensor value DB 13 and the operation log DB 14, respectively. Further, the acquisition unit 30 can acquire weather information or the like from a weather server or the like and store it in the storage unit 12. That is, the acquisition unit 30 collects information such as sensor values and operation logs that are the targets of the learning data used by the learning processing unit 40 on the cloud server 10. The acquisition unit 30 periodically collects various data for re-learning the learning model even after the learning model is distributed.
  • the learning processing unit 40 has a learning unit 41 and a re-learning unit 42.
  • the learning processing unit 40 is a processing unit that generates learning data using information such as sensor values and operation logs acquired by the acquisition unit 30, and builds and updates (re-learns) a learning model.
  • the learning unit 41 is a processing unit that generates learning data and builds a learning model. Specifically, the learning unit 41 generates learning data using information such as sensor values and operation logs acquired by the acquisition unit 30, and stores it in the learning data DB 15. Then, the learning unit 41 learns the learning model by logistic regression, neural network, or the like using the generated learning data. Further, when the learning is completed, the learning unit 41 stores various parameters for constructing the learned learning model as the learning result in the learning result DB 16.
  • the re-learning unit 42 is a processing unit that executes re-learning of the learned learning model.
  • the re-learning unit 42 regenerates learning data using information such as sensor values and operation logs acquired by the acquisition unit 30 after the previous learning to learn. It is stored in the data DB 15. Then, the re-learning unit 42 relearns the learning model using the regenerated learning data. At this time, the learning data used for the previous learning can also be used.
  • the re-learning unit 42 stores various parameters for constructing the re-learned learning model in the learning result DB 16 as the re-learning result.
  • the determination unit 50 calculates the inter-model distance of each learning model that the learning unit 41 and the re-learning unit 42 have learned or relearned, clusters similar learning models, and distributes them to each edge. To decide.
  • FIG. 7 is a diagram showing an example of the inter-model distance for clustering the learning model.
  • the distance between models is, for example, the KL (Kullback-Leibler) distance.
  • the KL distance can be calculated using the formula shown in the formula (1).
  • Equation (1) is an equation for calculating the KL distance D KL (P
  • the smaller the KL distance D KL the closer the distance between the models, that is, the model. It means that they are similar to each other.
  • the distance between the learning models A and B is 0.2
  • the distance between the learning models B and C is 0.4
  • the distance between the learning models A and C is 0.3, so that they are the most similar. It is shown that the combination of learning models to be performed is learning models A and B.
  • the determination unit 50 calculates the inter-model distance for all combinations of learning models. Then, for example, models whose inter-model distance is equal to or less than an arbitrary threshold value are clustered as similar learning models. In addition, the determination unit 50 determines a candidate model in each cluster.
  • the candidate model is, for example, a learning model at the center point of each cluster, and is determined for each cluster.
  • FIG. 8 is a diagram showing an example of a candidate model determined by clustering of learning models.
  • similar models are classified into three clusters X, Y, and Z, and learning models B, F, and H are determined as candidate models from each cluster.
  • the example of FIG. 8 also shows only three clusters for explanation, but is not limited thereto.
  • the training model can be clustered so that the number of candidate models and clusters is below an arbitrary threshold. In this way, by clustering the learning models using the inter-model distance as shown in FIGS. 7 and 8, similar learning models are distributed in a biased manner while narrowing down the number of learning models distributed to each edge. You can prevent it from happening.
  • the distribution unit 60 is a processing unit that distributes the candidate model group determined by the determination unit 50 to each edge. For example, the distribution unit 60 reads various parameters for constructing the candidate model from the learning result DB 16 and transmits them to each edge. At each edge, a candidate model can be constructed by using various distributed parameters. Further, when the learning model of the target user exists, the distribution unit 60 reads various parameters for constructing the learning model from the learning result DB 16 and transmits the learning model to the target user.
  • FIG. 9 is a functional block diagram showing a functional configuration of an edge according to the first embodiment.
  • the edge 100 has a communication unit 111, a storage unit 112, and a control unit 120.
  • the communication unit 111 is a processing unit that controls communication with other devices, like the cloud server 10.
  • the communication unit 11 receives the learning model from the cloud server 10 and transmits the operation log and the sensor value to the cloud server 10.
  • the storage unit 112 is an example of a storage device that stores various data and a program executed by the control unit 120, like the cloud server 10.
  • the storage unit 112 stores the sensor value DB 113, the operation log DB 114, and the reinforcement learning data DB 115.
  • the reinforcement learning result DB 115 is a database that stores the result of reinforcement learning learned by selecting a learning model for a certain user.
  • FIG. 10 is a diagram showing an example of information stored in the reinforcement learning result DB. As shown in FIG. 10, the reinforcement learning result DB 115 stores "learning model, time, predictive behavior, execution behavior, user operation presence / absence, reward" in association with each other.
  • the "learning model” stored here is an identifier that identifies the learning model delivered to the edge 100, which is the target of reinforcement learning.
  • the "time” is a reference time.
  • the "predicted behavior” is an action (Up / Down / Keep of the set temperature) predicted to be taken by the user at a reference time by each learning model.
  • the “executive behavior” is an action (Up / Down / Keep) predicted and executed by the learning model selected by reinforcement learning.
  • “Presence / absence of user operation” is the presence / absence of operation of the air conditioner by the user at a reference time.
  • the “reward” is a reward for reinforcement learning, and the content to be set differs depending on whether or not there is a user operation for the execution action. For example, in the example of FIG. 10, when there is a user operation (that is, the behavior predicted by the learning model selected by reinforcement learning is incorrect), the reward is decremented by -1.
  • the predicted behavior of each learning model at time t1 indicates that the learning models B and F were “Up” and the learning model H was “Down”. Further, it is shown that the execution action at time t1 was "Up” predicted by the learning model B selected by reinforcement learning. Then, it indicates that there was no user operation within a certain time (for example, within 30 minutes) after the time t1. That is, this means that the learning model B selected by reinforcement learning and the predictive behavior “Up” by the learning model B were correct answers. As a result, it is shown that the reward of the learning model H that predicted other than "Up” was -1.
  • the control unit 120 is a processing unit that controls the entire edge 100, and is, for example, a processor or the like like the cloud server 10.
  • the control unit 120 includes an acquisition unit 130, a learning processing unit 140, and an air conditioning control unit 150.
  • the acquisition unit 130 is a processing unit that acquires a learning model from the cloud server 10 and acquires various sensor values from each sensor in the room. Specifically, the learning model is constructed and acquired using various parameters used for constructing the learning model received from the cloud server 10. Further, the acquisition unit 130 acquires the sensor value from each sensor and stores it in the sensor value DB 113. Further, the acquisition unit 130 acquires the operation log from the air conditioner and stores it in the operation log DB 114. When the edge is an air conditioner as in room 1 of FIG. 1, the acquisition unit 130 generates an operation log based on the user operation and stores it in the operation log DB 114. That is, the acquisition unit 130 collects the sensor values and operation logs that are the targets of the learning data used by the learning processing unit 140 on the edge 100.
  • the learning processing unit 140 has a selection unit 141 and a reinforcement learning unit 142.
  • the learning processing unit 40 is a processing unit that selects one learning model from the candidate model group distributed from the cloud server 10 by reinforcement learning.
  • the learning processing unit 140 performs reinforcement learning using the predicted behavior by the learning model selected by the reinforcement learning and the actual user operation.
  • the selection unit 141 is a processing unit that selects one learning model from a group of candidate models delivered from the cloud server 10 by reinforcement learning (for example, a multi-armed bandit method).
  • the reinforcement learning unit 142 operates the reward of each learning model to perform reinforcement learning by using the predicted behavior (up / Down / Keep of the set temperature) by the learning model selected by the selection unit 141 and the actual user operation. Do.
  • FIG. 11 is a diagram showing an example of reinforcement learning for learning model selection. As shown in FIG. 11, one learning model is selected from the candidate model group by reinforcement learning (for example, the multi-armed bandit method). The behavior predicted by the selected learning model is executed, and the presence or absence of user operation within a certain period after the execution is determined. In addition, the behavior of the learning model that was not selected is also predicted.
  • the method of setting the reward for each learning model may be another method (for example, the reward is also given to the learning model that predicts the correct behavior). May be).
  • the method of setting the reward for each learning model may be another method (for example, the reward is also given to the learning model that predicts the correct behavior). May be).
  • the predicted behavior by the selected learning model is incorrect, and the reward of the incorrect learning model including the selected learning model is -1.
  • a learning model is selected from the candidate model group again, and by repeating reinforcement learning and selection, a learning model more suitable for the user is sequentially selected.
  • the learning model selected by reinforcement learning is a learned learning model of an existing user. Therefore, the behavior prediction using such a learned learning model is less likely to predict an unpleasant behavior for the user than the behavior prediction by reinforcement learning.
  • the air-conditioning control unit 150 is a processing unit that predicts the user operation (Up / Down / Keep of the set temperature) for the air conditioner using the learning model selected by the selection unit 141, and performs air-conditioning control according to the prediction result. .. Specifically, the sensor value acquired by the acquisition unit 130 is input to the learning model selected by the selection unit 141, and the prediction result of the user operation is acquired. Then, the air conditioning control unit 150 adjusts the set temperature of the air conditioner according to the prediction result.
  • FIG. 12 is a flowchart showing the flow of decision processing in the cloud server. This process is a process of determining a candidate model group for distribution to the edge 100 in the cloud server 10.
  • the acquisition unit 30 of the cloud server 10 obtains sensor values (for example, environmental conditions such as room temperature, humidity, and outside air temperature) and user operation logs for the air conditioner from each sensor and each edge. Acquire and store the respective data in the sensor value DB 13 and the operation log DB 14 (S101).
  • the learning unit 41 of the cloud server 10 generates learning data for each user using the data acquired in S101, and constructs a learning model for each user (S102).
  • “for each user” here means, for example, “for each air conditioner”
  • a learning model for each air conditioner is constructed by using the "air conditioner ID" in the sensor value DB 13 and the operation log DB 14. Can be done.
  • the determination unit 50 of the cloud server 10 clusters similar learning models according to the inter-model distance of each learning model, and determines a candidate model for distribution to each edge (S103).
  • models whose inter-model distance is equal to or less than an arbitrary threshold may be clustered as similar learning models, or the inter-model distance is set so that the number of learning models in the cluster is equal to or more than a predetermined number. It may be used for clustering.
  • the candidate model is, for example, a learning model at the center point of each cluster. However, alternative models may be determined from within the cluster (eg, the training model closest to the center point, or any one training model). After executing S103, this process ends.
  • FIG. 13 is a flowchart showing the flow of distribution processing in the cloud server.
  • This process is a process of delivering the learning model from the cloud server 10 to the edge 100.
  • the distribution unit 60 of the cloud server 10 receives the distribution request of the learning model from the edge 100 (S201).
  • the distribution unit 60 distributes the candidate model group determined in S103 of the determination process in FIG. 12 to the edge 100 (S203).
  • the distribution unit 60 reads various parameters for constructing the candidate model from the learning result DB 16 and transmits them to the edge 100. After that, this process ends.
  • S203 may be executed to deliver the candidate model group to the edge. This is because the candidate model group includes a learning model of the target user, or at least a learning model that is more similar to clustering.
  • the learning model of the target user exists (S202: Yes)
  • the learning model of the target user is distributed to the edge 100 (S204).
  • the distribution unit 60 transmits various parameters for constructing a learning model of the target user to the edge 100. After that, this process ends.
  • FIG. 14 is a flowchart showing the flow of reinforcement learning processing at the edge. This process starts from acquiring the candidate model group delivered in S203 when the learning model of the target user does not exist (S202: No in FIG. 13), and is enhanced to select a learning model more suitable for the user. It is a process of learning.
  • the acquisition unit 130 of the edge 100 acquires the candidate model group distributed from the cloud server 10 (S301). Specifically, the candidate model group is constructed and acquired by using various parameters used for constructing the candidate model delivered from the cloud server 10.
  • the acquisition unit 130 acquires a sensor value (for example, an environmental state such as room temperature, humidity, and outside air temperature) from each sensor and stores it in the sensor value DB 113 (S302).
  • a sensor value for example, an environmental state such as room temperature, humidity, and outside air temperature
  • the selection unit 141 of the edge 100 performs reinforcement learning (for example, the multi-armed bandit method) from the candidate model group acquired in S301 based on the sensor value acquired in S302, and selects one learning model. (S303).
  • reinforcement learning for example, the multi-armed bandit method
  • the air conditioning control unit 150 of the edge 100 predicts an action (operation such as Up / Down / Keep of the set temperature by the user) using the learning model selected in S303, and executes the predicted action (the predicted action). S304).
  • the air conditioning control unit 150 inputs the sensor value acquired by the acquisition unit 130 into the selected learning model to predict the behavior. Then, for example, when the predicted action is "Up”, the air conditioning control unit 150 raises the set temperature of the air conditioner by 1 degree, and when the predicted action is "Down”, lowers the set temperature of the air conditioner by 1 degree.
  • the set temperature of the air conditioner is controlled to be maintained without being changed. Since the reinforcement learning in S307, the behavior of the learning model not selected in S303 is also predicted.
  • the acquisition unit 130 acquires the operation log from the air conditioner and stores it in the operation log DB 114 (S305).
  • the edge 100 is an air conditioner as in the room 1 of FIG. 1, in S305, the operation log is acquired from the operation log DB 114 stored in the edge 100.
  • the reinforcement learning unit 142 of the edge 100 determines whether or not there is a user operation based on the operation log acquired in S305 (S306). Specifically, it is determined whether or not there is a user operation (Up / Down / Keep of the set temperature) for the air conditioner within a certain time (for example, within 30 minutes) after the execution of the prediction action by S304.
  • the reinforcement learning unit 142 performs reinforcement learning of each learning model depending on the presence or absence of user operation (S307). Reinforcement learning is performed so as to obtain a measure for maximizing the reward by rewarding the user's reaction to the behavior predicted by the selected learning model. Specifically, when there is no user operation, it is determined that the predicted behavior by the selected learning model is the correct answer, and the reward of the learning model that predicts the behavior other than the correct behavior is reduced (for example, -1). .. As a result, the learning model of the incorrect answer is less likely to be selected at the time of subsequent selection (S303).
  • FIG. 15 is a flowchart showing the flow of behavior prediction processing at the edge. This process starts from acquiring the learning model of the target user delivered in S204 when the learning model of the target user exists (S202: Yes in FIG. 13), and predicts the behavior based on the acquired learning model. It is a process.
  • the acquisition unit 130 of the edge 100 acquires the learning model of the target user delivered from the cloud server 10 (S401). Specifically, the learning model of the target user is constructed and acquired by using various parameters used for constructing the learning model delivered from the cloud server 10.
  • the acquisition unit 130 of the edge 100 acquires a sensor value (for example, an environmental state such as room temperature, humidity, and outside air temperature) from each sensor and stores it in the sensor value DB 113 (S402).
  • a sensor value for example, an environmental state such as room temperature, humidity, and outside air temperature
  • the air conditioning control unit 150 of the edge 100 predicts the behavior (operation of the user such as Up / Down / Keep of the set temperature) by using the learning model of the target user acquired in S401, and the predicted behavior. Is executed (S403). Specifically, for example, as described above with reference to FIG. 6, the user operation (Up / Down / Keep of the set temperature) after 5 minutes is predicted and executed. After executing the prediction action by S403, for example, S402-403 is repeated at 5-minute intervals to control the air conditioning.
  • the edge 100 predicts the user operation from a plurality of learning models distributed from the cloud server 10 that predict the user operation with respect to the set temperature of the air conditioner based on the environmental state.
  • One learning model to be used is selected by reinforcement learning.
  • the learning model selected here is that of another user, but is a learned learning model. Therefore, it is possible to suppress the prediction of unpleasant user operations as compared with the prediction of user operations by reinforcement learning.
  • FIG. 16 is a diagram showing an example of behavior prediction by reinforcement learning.
  • reinforcement learning one action is randomly selected from all possible actions, including actions that result in failure, and the selected action is executed. After the selected action is executed, the state update (change) evaluates the executed action and rewards the executed action.
  • such actions are repeatedly executed and evaluated, and the actions are optimized so that the total reward is maximized. Therefore, an action that results in failure is actually executed, and in some cases, the action may be executed multiple times.
  • FIG. 17 is a diagram showing an example of model selection by reinforcement learning.
  • the learning model selected by reinforcement learning has already been learned so that failure behavior is difficult to predict due to the reaction of existing users. Therefore, no matter which learning model is selected by reinforcement learning, it is difficult to predict failure behavior.
  • a plurality of trained learning models stored in the cloud server 10 are delivered to the edge 100. Then, the edge 100 selects one learning model by reinforcement learning from the plurality of delivered learning models, and predicts the behavior using the selected learning model. Reinforcement learning is performed on the selection of the learning model, and behavior prediction is performed using the learned learning model. Therefore, in the first embodiment, unlike the behavior prediction by reinforcement learning as shown in FIG. 16, it is difficult for the user to predict the failure behavior.
  • the edge 100 performs reinforcement learning to obtain a measure for maximizing the reward by using the user's reaction to the user operation predicted by the selected learning model as a reward. Therefore, a learning model more suitable for the user can be selected.
  • the reinforcement learning by the edge 100 is a learning model selected when the user operates within a predetermined time with respect to the user operation predicted by the selected learning model. Judges that it was an incorrect learning model and reduces its reward. Therefore, a learning model more suitable for the user can be selected.
  • the plurality of learning models delivered from the cloud server 10 are determined by clustering similar learning models so that the number is equal to or less than a predetermined threshold value. Therefore, the distribution of a similar learning model can be suppressed.
  • FIG. 18 is a diagram for explaining an image of any one of the learning model B, the learning model F, and the learning model H of FIG.
  • the learning model is a model in which the environment state of another user is used as an explanatory variable and the user operation is used as an objective variable among the learning data having the environment state and the user's operation in another user.
  • the learning model B uses the learning data of the house where an elderly single person lives
  • the learning model F uses the learning data of the house where the couple lives
  • the learning model H uses the learning data of the house where the couple lives. It is assumed that the learning data of the house where the child lives is used.
  • the thick line in FIG. 18 indicates the prediction boundary by the trained learning model.
  • the trained learning model predicts whether the user operation that occurs within 30 minutes from time t is "Keep” or "Down” based on the room temperature and humidity at time t.
  • the learning model can be learned by logistic regression, neural network, or the like.
  • the learning unit 41 inputs the linear regression equation shown in the equation (2) into the sigmoid function shown in the equation (3), and acquires the value obtained by the equation (3) as a logistic regression.
  • An explanatory variable is input to X in the equation (2), y is the objective variable, w is the weight, and b is a predetermined constant.
  • the learning unit 41 inputs sensor values such as room temperature, humidity, and outside air temperature from the input layer and propagates them forward to the neural network. Then, the learning unit 41 compares the classification result obtained from the output layer with the correct answer (correct example / negative example) of the user operation to obtain an error. Further, the learning unit 41 propagates the error between the classification result and the correct answer to the neural network in the direction opposite to that at the time of classification by the error back propagation method, and changes the parameters of each layer of the neural network to approach the optimum solution.
  • a room such as a user's home has been described as an example, but the present invention is not limited to this.
  • various spaces such as the inside of a train or a car, a machine room, or the inside of an airplane can be targeted.
  • [Learning data] In the above embodiment, an example in which room temperature, humidity, and outside air temperature are used as learning data for learning in the cloud server 10 has been described, but the present invention is not limited thereto.
  • learning a learning model that predicts user operations using room temperature and outside air temperature as learning data, and a learning model that predicts user operations using changes in room temperature and outside air temperature within a predetermined time such as 5 minutes as learning data.
  • the log operation log + sensor value
  • the device for constructing the learning model and the device for performing re-learning can be executed by separate devices.
  • the sensor value items, numerical values, the number of devices, the number of edges, and the like described in the above embodiment are not limited to those shown in the figure, and information that can be collected by a general sensor or the like can be used.
  • the prediction interval can be arbitrarily changed after 30 minutes or 2 hours. In that case, the collection unit such as the sensor value is also changed to an arbitrary time.
  • the present invention is not limited to this, and only the sensor value can be used.
  • each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific forms of distribution and integration of each device are not limited to those shown in the figure. That is, all or a part thereof can be functionally or physically distributed / integrated in any unit according to various loads, usage conditions, and the like.
  • the selection unit 141 of the edge 100 and the air conditioning control unit 150 can be integrated.
  • each processing function performed by each device can be realized by a CPU and a program analyzed and executed by the CPU, or can be realized as hardware by wired logic.
  • FIG. 19 is a diagram showing a hardware configuration example.
  • the computer 200 includes a communication device 200a, an HDD (Hard Disk Drive) 200b, a memory 200c, and a processor 200d. Further, the parts shown in FIG. 19 are connected to each other by a bus or the like.
  • HDD Hard Disk Drive
  • the communication device 200a is a network interface card or the like, and communicates with other servers.
  • the HDD 200b stores programs and DBs that operate the functions shown in FIGS. 2 and 9.
  • the processor 200d reads a program that executes the same processing as each processing unit shown in FIGS. 2 and 9 from the HDD 200b or the like and expands the program into the memory 200c to execute the process of executing each function described in FIG. 2 or the like. Make it work. For example, this process executes the same function as each processing unit of the cloud server 10. Specifically, for example, the processor 200d reads a program having the same functions as the acquisition unit 30 and the learning processing unit 40 from the HDD 200b or the like. Then, the processor 200d executes a process that executes the same processing as the acquisition unit 30 and the learning processing unit 40.
  • the cloud server 10 and the edge 100 operate as an information processing device that executes each process by reading and executing the program. Further, the cloud server 10 and the edge 100 can realize the same functions as those in the above-described embodiment by reading the program from the recording medium by the medium reading device and executing the read program.
  • the program referred to in the other embodiment is not limited to being executed by the cloud server 10 and the edge 100.
  • the present invention can be similarly applied when another computer or server executes a program, or when they execute a program in cooperation with each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Air Conditioning Control Device (AREA)

Abstract

エッジ(端末)は、環境状態に基づいて行動を予測する複数の学習モデルを取得し、前記環境状態に基づいて、前記複数の学習モデルから前記行動の予測に用いる1つの学習モデルを強化学習によって選択する。

Description

モデル選択方法、モデル選択プログラムおよび情報処理装置
 本発明は、モデル選択方法、モデル選択プログラムおよび情報処理装置に関する。
 室温、湿度、および外気温などを含む環境状態の変化や、エアコンに対するユーザの操作ログなどを取得し、学習モデルに学習させることで、ユーザにとって快適な行動(例えば、空調制御)を行う技術が利用されている。近年では、クラウドサーバにおいて各ユーザの学習モデルを構築し、エアコンなどであるエッジ(端末)にそのユーザの学習モデルを配信することで学習を繰り返し、各ユーザに適した行動を行うシステムがある。
特開2018-206286号公報 特開平10-74188号公報
 しかしながら、エアコンの初期稼働時の新規ユーザや転居者などの場合、対象ユーザの学習モデルが存在しないので、上記技術ではユーザにとって不快な行動が行われる場合がある。例えば、対象ユーザの学習モデルが存在しない場合、ユーザの各種の行動を予測するために試行錯誤型の学習アルゴリズムである強化学習を用いることが考えられる。しかしながら、強化学習において失敗行動を学習するためには、結果的に失敗となる行動を実行する必要があり、これがユーザにとっては不快な行動となってしまう。これは、例えば、ユーザにとって室温が高いと感じるときに、エアコンの設定温度をさらに上げてしまう行動である。このような行動を行った場合、ユーザはエアコンの設定温度を下げ、これにより強化学習プログラムは、その行動が失敗行動であったことを学習する。なお、このような課題は、ユーザによるエアコンの操作を予測する場合に限ったものではなく、ユーザの各種の行動を予測する場合に同様に生ずる課題である。
 一つの側面では、ユーザに対して不快な予測を抑制することができるモデル選択方法、モデル選択プログラムおよび情報処理装置を提供することを目的とする。
 第1の案では、学習方法は、コンピュータが、環境状態に基づいて行動を予測する複数の学習モデルを取得する。学習方法は、コンピュータが、前記環境状態に基づいて、前記複数の学習モデルから前記行動の予測に用いる1つの学習モデルを強化学習によって選択する。
 一つの側面では、ユーザに対して不快な予測を抑制することができる。
図1は、実施例1にかかるシステムの全体構成例を示す図である。 図2は、実施例1にかかるクラウドサーバの機能構成を示す機能ブロック図である。 図3は、センサ値DBに記憶される情報の例を示す図である。 図4は、操作ログDBに記憶される情報の例を示す図である。 図5は、学習データDBに記憶される情報の例を示す図である。 図6は、ユーザ操作の判定例を示す図である。 図7は、学習モデルのクラスタリングのためのモデル間距離の例を示す図である。 図8は、学習モデルのクラスタリングにより決定される候補モデルの例を示す図である。 図9は、実施例1にかかるエッジの機能構成を示す機能ブロック図である。 図10は、強化学習結果DBに記憶される情報の例を示す図である。 図11は、学習モデル選択のための強化学習の例を示す図である。 図12は、クラウドサーバにおける決定処理の流れを示すフローチャートである。 図13は、クラウドサーバにおける配信処理の流れを示すフローチャートである。 図14は、エッジにおける強化学習処理の流れを示すフローチャートである。 図15は、エッジにおける行動予測処理の流れを示すフローチャートである。 図16は、強化学習による行動予測の例を示す図である。 図17は、強化学習によるモデル選択の例を示す図である。 図18は、学習モデルのイメージを説明する図である。 図19は、ハードウェア構成例を示す図である。
 以下に、本願の開示するモデル選択方法、モデル選択プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる
[全体構成例]
 図1は、実施例1にかかるシステムの全体構成例を示す図である。図1に示すように、このシステムは、クラウドサーバ10と、各部屋のエッジに相当する通信装置とがネットワークNを介して相互に通信可能に接続される空調制御システムである。なお、ネットワークNには、有線や無線を問わず、インターネットなどの各種通信網を採用することができる。
 各部屋は、クラウドサーバ10による空調制御の対象である。例えば、部屋1は、室内に設置されて空調制御を行うエアコン1aを有する。部屋2は、室内に設置されて空調制御を行うエアコン2a、無線ネットワークやUPnP(Universal Plug and Play)などを用いてエアコン2aへの空調制御指示を送信する情報端末2bを有する。また、部屋3は、室内に設置されて空調制御を行うエアコン3aと、エアコン3aへの空調制御指示を送信するリモコン3bを有する。
 クラウドサーバ10から配信された学習モデルを、各室内におけるエッジが受信する。エッジは、配信された学習モデルを用いてエアコンに対するユーザ操作の予測を行い、予測結果に応じて空調制御を行う。エッジは、例えば、部屋1の場合はエアコン1aであり、部屋2の場合は情報端末2bであり、部屋3の場合はリモコン3bである。
 また、図示しないが、各部屋には、外気温を測定するセンサ、室内の温度や湿度を測定するセンサなどが設置される。各センサが測定したセンサ値(観測値やログと記載する場合がある)は、各センサなどにより、クラウドサーバ10やエッジに送信される。または、エッジ自身で各センサ値を測定することもできる。各エッジは、エアコンに対するユーザの操作ログなどを収集して、クラウドサーバ10に送信する。なお、図1は、3部屋の例を示したが、あくまで例示であり、部屋数などを限定するものではない。
 クラウドサーバ10は、ユーザにクラウドサービスを提供するサーバ装置である。クラウドサーバ10は、各部屋からセンサ値や操作ログなどを取得し、これらを学習データに用いてユーザごとの学習モデルを構築する。例えば、クラウドサーバ10は、室温や湿度、外気温などの環境状態を説明変数、エアコンの温度を上げる(Up)/温度を下げる(Down)/温度を維持する(Keep)などを示すユーザ操作を目的変数として学習モデルを構築する。そして、クラウドサーバ10は、学習モデルを各エッジに配信することで学習を繰り返す。
 また、クラウドサーバ10は、学習モデルの存在しない新規ユーザなどのために、環境状態に基づいて行動を予測する、既存ユーザの学習済みの学習モデル群を新規ユーザにかかるエッジに配信する。これにより、エッジでは、既存ユーザの学習モデル群から1つの学習モデルを強化学習によって選択し、選択された学習モデルを用いてユーザ操作を予測し、新規ユーザに適した空調制御を行うことができる。
 各部屋の各エッジは、クラウドサーバ10から配信された複数の学習モデルから1つの学習モデルを強化学習によって選択し、選択された学習モデルを用いてエアコンに対するユーザ操作を予測し、予測結果に応じた空調制御を行う。このようして、エッジ側での空調制御を実現する。なお、強化学習によって選択される学習モデルは、他ユーザの学習モデルであるが学習済みである。そのため、強化学習による行動(ユーザ操作)予測と比較して、ユーザに対して不快な行動が予測され難い。
 なお、学習モデルの存在しないユーザの場合、エッジでは、既存ユーザのどの学習モデルを用いて空調制御を行うかが重要となってくる。そこで、実施例1にかかるエッジでは、強化学習により学習モデルの選択を行うことにより、学習モデルの存在しないユーザに対しても適切な空調制御を行う。
 また、よりユーザに適した学習モデルを選択するには、すべての既存ユーザの学習モデルに対して強化学習を行うことが望ましい。しかしながら、エッジのパフォーマンスやリソースを考慮すると、膨大な数の学習モデルをエッジに配信して処理することは現実的ではない。かといって、一部の学習モデルに限定してエッジに配信しても、同じような学習モデルが偏って配信されてしまうことも想定される。そこで、実施例1にかかるクラウドサーバでは、各学習モデルのモデル間距離を算出し、類似する学習モデルをクラスタリング(クラスタ化)することにより、各クラスタにおける候補モデルのみをエッジに配信する。
[クラウドサーバ10の機能構成]
 次に、図1に示したクラウドサーバ10の機能構成について説明する。図2は、実施例1にかかるクラウドサーバ10の機能構成を示す機能ブロック図である。図2に示すように、クラウドサーバ10は、通信部11、記憶部12、および制御部20を有する。
 通信部11は、他の装置との間の通信を制御する処理部であり、例えば、通信インタフェースである。通信部11は、例えば、各部屋に設置されるエッジやセンサなどのデバイスからセンサ値や操作ログなどの各種データを受信し、学習済みの学習モデル群をエッジに配信する。
 記憶部12は、各種データや、制御部20が実行するプログラムを記憶する記憶装置の一例であり、例えば、メモリやハードディスクなどである。この記憶部12は、センサ値DB13、操作ログDB14、学習データDB15、および学習結果DB16を記憶する。
 センサ値DB13は、各部屋のセンサなどにより取得された室温、室内の湿度、外気温などに関するセンサ値を記憶するデータベースである。例えば、ここで記憶されるセンサ値は、クラウドサーバ10が各センサから取得する観測値であり、温度の時間変化などセンサが測定できる他の観測値を含んでいてもよい。また、センサ値DB13は、各部屋(空間)のセンサごとにセンサ値を記憶する。
 図3は、センサ値DBに記憶される情報の例を示す図である。図3に示すように、センサ値DB13は、「エアコンID、日時、室温、湿度、外気温」などを対応付けて記憶する。ここで記憶される「エアコンID」は、エアコンを識別する識別子であり、「日時」は、データが測定された日時である。「室温」および「湿度」は、それぞれ、各室内の各センサなどにより測定された室内の温度および湿度であり、「外気温」は、各室の各センサにより測定された室外の温度である。図3の例では、一時間ごとのセンサ値を示し、例えば、エアコン(a001)について「2019年11月1日の0:00では、室温が20度、室内の湿度が55%、外気温が10度であったこと」を示す。
 操作ログDB14は、各部屋のエアコンのユーザ操作に関するログ情報を記憶するデータベースである。ここで記憶されるログ情報は、クラウドサーバ10が各エアコンや各エアコンのリモコンなどから取得する情報であり、設定温度などエアコンやリモコンなどが測定できる他の情報を含んでもよい。また、操作ログDB14は、ユーザごと、すなわち各空間のエアコンごとに操作ログを記憶する。
 図4は、操作ログDBに記憶される情報の例を示す図である。図4に示すように、操作ログDB14は、「エアコンID、日時、操作」を対応付けて記憶する。ここで記憶される「エアコンID」は、エアコンを識別する識別子であり、「日時」は、ユーザ操作が行われた日時である。「操作」は、各エアコンのユーザ操作のログである。
 図4の例では、例えば、エアコン(a001)について、「2019年11月1日の0:00に、ユーザ操作によって設定温度が上げられ(Up)、2019年11月1日の1:00に、設定温度が下げられたこと(Down)」を示す。
 学習データDB15は、学習モデルの学習に利用する学習データ、すなわち訓練データを記憶するデータベースである。図5は、学習データDBに記憶される情報の例を示す図である。図5に示すように、学習データDB15は、「エアコンID、時刻、ユーザ操作、特徴量1(5分前)、特徴量2(10分前)、特徴量3(15分前)」を対応付けて記憶する。
 ここで記憶される「エアコンID」は、エアコンを識別する識別子である。「時刻」は、基準となる時刻である。「ユーザ操作」は、ユーザによるエアコン操作の操作内容であり、例えば、エアコンの設定温度を上げる「Up」・設定温度を下げる「Down」・設定温度を維持する(何もしない)「Keep」などが設定される。「特徴量1(5分前)」、「特徴量2(10分前)」、「特徴量3(15分前)」は、それぞれ、基準となる時刻の5分前、10分前、15分前に取得されたセンサ値である。
 すなわち、「ユーザ操作」を目的変数、「特徴量1、特徴量2、特徴量3」を説明変数として学習モデルの学習に用いる。ここで、ユーザ操作の判定例について説明する。図6は、ユーザ操作の判定例を示す図である。図6に示すように、センサ値などが取得される時間t1、時間t2などのように、例えば、5分間隔で取得される。そして、学習データとして利用される時間窓が3(15分間)である場合、例えば、5分前のデータ、10分前のデータ、15分前のデータが、5分後のユーザ操作(設定温度のUp/Down/Keep)を予測する学習データとして利用される。各時間におけるユーザ操作の内容は、操作ログなどから取得できる情報であって、各時間内の実際のユーザ操作による運転行動が設定される。
 例えば、時間(時刻)t1に対応する学習データを生成する場合、時間t1の5分前の時間t-1のセンサ値、時間t1の10分前の時刻t-2のセンサ値、時間t1の15分前の時間t-3のセンサ値が説明変数に設定され、時間t1で実際に発生したユーザ操作である「設定温度を上げる」を示す「Up」が目的変数に設定された、学習データが生成される。
 学習結果DB16は、学習データによって構築または再学習された学習結果を記憶するデータベースである。例えば、学習結果DB16は、ロジスティック回帰やニューラルネットワークなどを用いた学習モデルを構築するための各種パラメータなどを記憶する。
 なお、記憶部12には、これらのDB以外にも様々な情報を記憶することができる。例えば、図示しない外部の気象サーバなどから取得された気象情報を記憶する気象情報DBを記憶することもできる。例えば、気象情報DBは、クラウドサーバ10が任意のタイミングで気象サーバから取得した、外気温や湿度の観測値、外気温や湿度の予報値、天候などを記憶する。
 制御部20は、クラウドサーバ10全体を司る処理部であり、例えば、プロセッサなどである。制御部20は、取得部30、学習処理部40、決定部50、および配信部60を有する。なお、各処理部は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
 取得部30は、各部屋の各センサなどから各種センサ値を取得する処理部である。具体的には、取得部30は、各センサからセンサ値を取得し、各エッジから操作ログを取得し、それぞれ、センサ値DB13、操作ログDB14に格納する。また、取得部30は、気象サーバなどから気象情報などを取得して記憶部12に格納することもできる。すなわち、取得部30は、学習処理部40で用いる学習データの対象となるセンサ値や操作ログなどの情報をクラウドサーバ10上に収集する。なお、取得部30は、学習モデル配信後も、学習モデルの再学習のため、定期的に、各種データを収集する。
 学習処理部40は、学習部41および再学習部42を有する。学習処理部40は、取得部30により取得されたセンサ値や操作ログなどの情報を用いて学習データを生成し、学習モデルを構築および更新(再学習)する処理部である。
 学習部41は、学習データの生成および学習モデルを構築する処理部である。具体的には、学習部41は、取得部30により取得されたセンサ値や操作ログなどの情報を用いて学習データを生成して学習データDB15に格納する。そして、学習部41は、生成した学習データを用いて、ロジスティック回帰やニューラルネットワークなどによって学習モデルの学習を行う。また、学習部41は、学習が終了すると、学習結果として、学習済みの学習モデルを構築するための各種パラメータを学習結果DB16に格納する。
 再学習部42は、学習済みの学習モデルの再学習を実行する処理部である。再学習部42は、例えば、いずれかのエッジから再学習の要求を受信すると、前回学習後に取得部30により取得されたセンサ値や操作ログなどの情報を用いて学習データを再生成して学習データDB15に格納する。そして、再学習部42は、再生成された学習データを用いて、学習モデルの再学習を行う。この際、前回学習に用いた学習データを併せて用いることもできる。再学習部42は、再学習が終了すると、再学習結果として、再学習済みの学習モデルを構築するための各種パラメータを学習結果DB16に格納する。
 決定部50は、学習部41や再学習部42が学習または再学習を行った各学習モデルのモデル間距離を算出し、類似する学習モデルをクラスタリングして、各エッジに配信するための候補モデルを決定する。図7は、学習モデルのクラスタリングのためのモデル間距離の例を示す図である。
 モデル間距離は、例えば、KL(カルバック・ライブラー)距離である。KL距離は、式(1)に示す式を用いて算出することができる。
Figure JPOXMLDOC01-appb-M000001
 式(1)は、モデルPとモデルQとの間のKL距離DKL(P||Q)を算出する式であり、KL距離DKLが小さいほど、モデル間の距離が近い、すなわち、モデル同士が類似していることを意味する。式(1)におけるP(i)およびQ(i)は、例えば、各学習モデルにおける予測結果の確率分布(例えば、Up=0.5、Down=0.7、Keep=0.2)である。
 図7の例では、学習モデルA-B間の距離が0.2、学習モデルB-C間の距離が0.4、学習モデルA-C間の距離が0.3であるため、最も類似する学習モデルの組合せは学習モデルAおよびBであることを示す。
 図7の例は説明のために3つのモデルのみを示しているが、決定部50は、すべての学習モデルの組合せに対してモデル間距離を算出する。そして、例えば、モデル間距離が任意の閾値以下であるモデル同士を類似する学習モデルとしてクラスタリング(クラスタ化)する。また、決定部50は、各クラスタにおいて候補モデルを決定する。候補モデルは、例えば、各クラスタの中心点にある学習モデルであり、各クラスタ分決定される。
 図8は、学習モデルのクラスタリングにより決定される候補モデルの例を示す図である。図8の例では、類似するモデル同士が、3つのクラスタX、Y、Zに分類され、各クラスタから学習モデルB、F、Hが候補モデルとして決定されたことを示す。図8の例も説明のため3つのクラスタのみを示しているが、これに限定されるものではない。例えば、候補モデルやクラスタの数が任意の閾値以下になるように、学習モデルをクラスタリングすることもできる。このように、図7および図8に示すような、モデル間距離を用いた学習モデルのクラスタリングにより、各エッジに配信される学習モデルの数を絞り込みつつ、同じような学習モデルが偏って配信されてしまわないようにすることができる。
 配信部60は、決定部50により決定された候補モデル群などを各エッジに配信する処理部である。例えば、配信部60は、学習結果DB16から、候補モデルを構築するための各種パラメータを読み出し、各エッジに送信する。各エッジでは、配信された各種パラメータを用いることで、候補モデルを構築することができる。また、配信部60は、対象ユーザの学習モデルが存在する場合は、当該学習モデルを構築するための各種パラメータを学習結果DB16から読み出し、対象ユーザにかかるエッジに送信する。
[エッジ100の機能構成]
 次に、図1に示したエッジの機能構成について説明する。図9は、実施例1にかかるエッジの機能構成を示す機能ブロック図である。図9に示すように、エッジ100は、通信部111、記憶部112、および制御部120を有する。
 通信部111は、クラウドサーバ10同様、他の装置との間の通信を制御する処理部である。通信部11は、例えば、クラウドサーバ10から学習モデルを受信し、操作ログやセンサ値をクラウドサーバ10に送信する。
 記憶部112は、クラウドサーバ10同様、各種データや、制御部120が実行するプログラムを記憶する記憶装置の一例である。この記憶部112は、センサ値DB113、操作ログDB114、および強化学習データDB115を記憶する。
 センサ値DB113は、エッジ100により取得された室温、室内の湿度、外気温などに関するセンサ値を記憶するデータベースである。すなわち、センサ値DB113は、エッジ100が設置されたある部屋(空間)における各センサ値を記憶する。これは、例えば、図3におけるエアコン1台分(例えば、エアコンID=a001)のデータである。
 操作ログDB114は、あるエアコンに対するユーザ操作に関するログ情報を記憶するデータベースである。これは、例えば、図4におけるエアコン1台分(例えば、エアコンID=a001)のデータである。
 強化学習結果DB115は、あるユーザに対する学習モデルの選択により学習された強化学習の結果を記憶するデータベースである。図10は、強化学習結果DBに記憶される情報の例を示す図である。図10に示すように、強化学習結果DB115は、「学習モデル、時刻、予測行動、実行行動、ユーザ操作有無、報酬」を対応付けて記憶する。
 ここで記憶される「学習モデル」は、強化学習の対象となった、エッジ100に配信された学習モデルを識別する識別子である。「時刻」は、基準となる時刻である。「予測行動」は、各学習モデルによって、基準となる時刻にユーザがとると予測された行動(設定温度のUp/Down/Keep)である。「実行行動」は、強化学習によって選択された学習モデルにより予測され実行された行動(Up/Down/Keep)である。「ユーザ操作有無」は、基準となる時刻における、ユーザによるエアコンの操作の有無である。「報酬」は、強化学習のための報酬であり、実行行動に対して、ユーザ操作があったか否かで設定される内容が異なる。例えば、図10の例では、ユーザ操作があった(すなわち、強化学習によって選択された学習モデルにより予測された行動が不正解であった)場合は、報酬を-1するものである。
 図10の例では、例えば、時刻t1による各学習モデルの予測行動は、学習モデルBおよびFが「Up」、学習モデルHが「Down」であったことを示す。また、時刻t1による実行行動は、強化学習によって選択された学習モデルBにより予測された「Up」であったことを示す。そして、時刻t1後、一定時間内(例えば、30分以内)にユーザ操作はなかったことを示す。すなわち、これは強化学習によって選択された学習モデルB、および学習モデルBによる予測行動「Up」は正解であったことを意味する。また、その結果、「Up」以外を予測した学習モデルHの報酬は-1されたことを示す。
 制御部120は、エッジ100全体を司る処理部であり、クラウドサーバ10同様、例えば、プロセッサなどである。制御部120は、取得部130、学習処理部140、および空調制御部150を有する。
 取得部130は、クラウドサーバ10から学習モデルを取得し、室内の各センサなどから各種センサ値を取得する処理部である。具体的には、クラウドサーバ10から受信された、学習モデルの構築に使用される各種パラメータを用いて学習モデルを構築し取得する。また、取得部130は、各センサからセンサ値を取得してセンサ値DB113に格納する。さらに、取得部130は、エアコンから操作ログを取得して操作ログDB114に格納する。なお、図1の部屋1のようにエッジがエアコンである場合、取得部130は、ユーザ操作に基づいて操作ログを生成し、操作ログDB114に格納する。すなわち、取得部130は、学習処理部140で用いる学習データの対象となるセンサ値や操作ログをエッジ100上に収集する。
 学習処理部140は、選択部141、および強化学習部142を有する。学習処理部40は、クラウドサーバ10から配信された候補モデル群から1つの学習モデルを強化学習によって選択する処理部である。また、学習処理部140は、強化学習によって選択された学習モデルによる予測行動と、実際のユーザ操作とを用いて強化学習を行う。
 選択部141は、クラウドサーバ10から配信された候補モデル群から、強化学習(例えば、多腕バンディット法)によって1つの学習モデルを選択する処理部である。
 強化学習部142は、選択部141によって選択された学習モデルによる予測行動(設定温度のUp/Down/Keep)と、実際のユーザ操作とを用いて、各学習モデルの報酬を操作し強化学習を行う。ここで、本発明にかかる強化学習について説明する。図11は、学習モデル選択のための強化学習の例を示す図である。図11に示すように、候補モデル群の中から、強化学習(例えば、多腕バンディット法)によって1つの学習モデルが選択される。選択された学習モデルにより予測された行動を実行し、実行後一定期間内のユーザ操作の有無を判定する。また、選択されなかった学習モデルも行動を予測しておく。一定期間内にユーザ操作がなかった場合、選択された学習モデルによる予測行動が正解であったと判断し、正解の行動以外の行動を予測した学習モデルの報酬を-1する。なお、図11の例は、あくまでも一実施例であり、各学習モデルに対する報酬の設定方法は別の方法であってもよい(例えば、正解の行動を予測した学習モデルに対しても報酬を付与してもよい)。一方、一定期間内にユーザ操作があった場合、選択された学習モデルによる予測行動は不正解であったと判断し、選択された学習モデルを含む、不正解の学習モデルの報酬を-1する。報酬操作の後、改めて候補モデル群から学習モデルが選択され、強化学習と選択とを繰り返すことにより、よりユーザに適した学習モデルが逐次選択されるようになる。また、強化学習により選択される学習モデルは、既存ユーザの学習済みの学習モデルである。そのため、このような学習済みの学習モデルを用いた行動予測の方が、強化学習による行動予測と比較して、ユーザにとって不快な行動が予測され難い。
 空調制御部150は、選択部141によって選択された学習モデルを用いて、エアコンに対するユーザ操作(設定温度のUp/Down/Keep)を予測し、予測結果に応じた空調制御を行う処理部である。具体的には、選択部141によって選択された学習モデルに対して、取得部130によって取得されたセンサ値を入力して、ユーザ操作の予測結果を取得する。そして、空調制御部150は、予測結果に応じて、エアコンの設定温度を調節する。
[処理の流れ]
 次に、実施例1にかかるシステムの処理の流れを説明する。ここでは、クラウドサーバ10の処理と、エッジ100の処理をわけて説明する。まず、クラウドサーバ10の処理を説明する。
 図12は、クラウドサーバにおける決定処理の流れを示すフローチャートである。本処理は、クラウドサーバ10において、エッジ100に配信するための候補モデル群を決定する処理である。まず、図12に示すように、クラウドサーバ10の取得部30は、各センサや各エッジから、センサ値(例えば、室温や湿度、外気温などの環境状態)、およびエアコンに対するユーザの操作ログを取得して、センサ値DB13および操作ログDB14にそれぞれのデータを格納する(S101)。
 続いて、クラウドサーバ10の学習部41は、S101において取得されたデータを用いて、ユーザごとに学習データを生成し、ユーザごとの学習モデルを構築する(S102)。なお、ここでいう「ユーザごと」とは、例えば、「エアコンごと」のことであり、センサ値DB13や操作ログDB14における「エアコンID」を用いるなどして、エアコンごとの学習モデルを構築することができる。
 次に、クラウドサーバ10の決定部50は、各学習モデルのモデル間距離によって、類似する学習モデルをクラスタリングして、各エッジに配信するための候補モデルを決定する(S103)。各学習モデルのクラスタリングは、モデル間距離が任意の閾値以下であるモデル同士を類似する学習モデルとしてクラスタリングしてもよいし、クラスタ内の学習モデル数が所定数以上になるようにモデル間距離を用いてクラスタリングしてもよい。また、候補モデルは、例えば、各クラスタの中心点にある学習モデルである。しかしながら、別の方法で、クラスタ内から候補モデル群を決定してもよい(例えば、中心点に最も近い学習モデル、または任意の1つの学習モデル)。S103実行後、本処理は終了する。
 次に、図13は、クラウドサーバにおける配信処理の流れを示すフローチャートである。本処理は、クラウドサーバ10からエッジ100に学習モデルを配信する処理である。まず、図13に示すように、クラウドサーバ10の配信部60は、エッジ100から学習モデルの配信要求を受信する(S201)。エッジ100にかかる対象ユーザの学習モデルが存在しない場合(S202:No)、配信部60は、図12における決定処理のS103で決定された候補モデル群をエッジ100に配信する(S203)。具体的には、例えば、配信部60が、候補モデルを構築するための各種パラメータを学習結果DB16から読み出し、エッジ100に送信する。その後、本処理は終了する。なお、対象ユーザの学習モデルが存在する場合でも、その学習データが十分でない場合は、S203を実行し、候補モデル群をエッジに配信してもよい。これは、候補モデル群に、対象ユーザの学習モデル、または、少なくともクラスタリングにより類似する学習モデルが含まれていることによる。
 一方、対象ユーザの学習モデルが存在する場合(S202:Yes)、対象ユーザの学習モデルをエッジ100に配信する(S204)。これも、例えば、配信部60が、対象ユーザの学習モデルを構築するための各種パラメータをエッジ100に送信する。その後、本処理は終了する。
 次に、エッジ100における処理を説明する。図14は、エッジにおける強化学習処理の流れを示すフローチャートである。本処理は、対象ユーザの学習モデルが存在しない場合(図13のS202:No)にS203において配信された候補モデル群を取得するところから開始され、ユーザにより適した学習モデルを選択するために強化学習を行う処理である。
 まず、図14に示すように、エッジ100の取得部130は、クラウドサーバ10から配信された候補モデル群を取得する(S301)。具体的には、クラウドサーバ10から配信された候補モデルの構築に使用される各種パラメータを用いて、候補モデル群を構築し取得する。
 次に、取得部130は、各センサからセンサ値(例えば、室温や湿度、外気温などの環境状態)を取得し、センサ値DB113に格納する(S302)。
 続いて、エッジ100の選択部141は、S301において取得された候補モデル群から、S302において取得されたセンサ値に基づいて強化学習(例えば、多腕バンディット法)を行い、1つの学習モデルを選択する(S303)。
 次に、エッジ100の空調制御部150は、S303において選択された学習モデルを用いて行動(ユーザによる設定温度のUp/Down/Keepなどの操作)を予測し、予測された行動を実行する(S304)。例えば、空調制御部150は、選択された学習モデルに、取得部130により取得されたセンサ値を入力して、行動を予測する。そして、空調制御部150は、例えば、予測行動が「Up」である場合はエアコンの設定温度を1度上げ、予測行動が「Down」である場合はエアコンの設定温度を1度下げ、予測行動が「Keep」である場合はエアコンの設定温度を変更せずに維持するように制御する。なお、S307における強化学習のため、S303において選択されなかった学習モデルも行動を予測しておく。
 続いて、取得部130は、エアコンから操作ログを取得し、操作ログDB114に格納する(S305)。なお、図1の部屋1のように、エッジ100がエアコンである場合は、S305では、エッジ100に蓄積された操作ログDB114から操作ログを取得する。
 次に、エッジ100の強化学習部142は、S305において取得された操作ログに基づいてユーザ操作の有無を判定する(S306)。具体的には、S304による予測行動の実行後、一定時間内(例えば、30分以内)に、エアコンに対するユーザ操作(設定温度のUp/Down/Keep)があったか否かを判定する。
 次に、強化学習部142は、ユーザ操作の有無により各学習モデルの強化学習を行う(S307)。強化学習は、選択された学習モデルによって予測された行動に対するユーザの反応を報酬として、当該報酬を最大化する方策を得るように行われる。具体的には、ユーザ操作がなかった場合、選択された学習モデルによる予測行動が正解であったと判断し、正解の行動以外の行動を予測した学習モデルの報酬を減らす(例えば、-1する)。これにより、不正解の学習モデルは、以降の選択時(S303)に選択され難くなる。また、ユーザ操作があった場合は、選択された学習モデルによる予測行動は不正解であったと判断し、選択された学習モデルを含む、不正解の学習モデルの報酬を減らす。S307のよる強化学習の後、図14に示すように、学習モデルの選択と強化学習(S302-S307)を繰り返すことにより、よりユーザに適した学習モデルが逐次選択されるようになる。
 次に、図15は、エッジにおける行動予測処理の流れを示すフローチャートである。本処理は、対象ユーザの学習モデルが存在する場合(図13のS202:Yes)にS204において配信された対象ユーザの学習モデルを取得するところから開始され、取得された学習モデルにより行動を予測する処理である。
 図15に示すように、エッジ100の取得部130は、クラウドサーバ10から配信された、対象ユーザの学習モデルを取得する(S401)。具体的には、クラウドサーバ10から配信された学習モデルの構築に使用される各種パラメータを用いて、対象ユーザの学習モデルを構築し取得する。
 次に、エッジ100の取得部130は、各センサからセンサ値(例えば、室温や湿度、外気温などの環境状態)を取得し、センサ値DB113に格納する(S402)。
 続いて、エッジ100の空調制御部150は、S401において取得された対象ユーザの学習モデルを用いて、行動(ユーザによる設定温度のUp/Down/Keepなどの操作)を予測し、予測された行動を実行する(S403)。具体的には、例えば、図6を用いて上述したように、5分後のユーザ操作(設定温度のUp/Down/Keep)を予測して実行する。S403による予測行動の実行後、例えば、5分間隔でS402-403を繰り返し、空調制御を行う。
[効果]
 上述したように、実施例1によれば、エッジ100は、クラウドサーバ10から配信された、環境状態に基づいてエアコンの設定温度に対するユーザ操作を予測する複数の学習モデルから、ユーザ操作の予測に用いる1つの学習モデルを強化学習によって選択する。ここで選択される学習モデルは他ユーザのものであるが学習済みの学習モデルである。したがって、強化学習によるユーザ操作の予測と比較して、不快なユーザ操作の予測が抑制可能になる。
 図16は、強化学習による行動予測の例を示す図である。図16に示すように、試行錯誤型の強化学習による行動予測の場合、失敗行動を学習するためには失敗行動を実行する必要がある。強化学習では、結果的に失敗となるような行動を含む、すべての取り得る行動からランダムに1つの行動が選択され、選択された行動が実行される。選択された行動の実行後、状態の更新(変化)により、実行した行動の評価および報酬の付与が行われる。強化学習では、このような行動の実行および評価を繰り返し、報酬の合計が最大化されるような行動を実行するよう最適化していく。したがって、結果的に失敗となる行動が実際に実行され、場合によってはその行動が複数回実行される可能性もある。
 一方、図17は、強化学習によるモデル選択の例を示す図である。強化学習により選択される学習モデルは、既存ユーザの反応によって、失敗行動が予測され難いように既に学習されている。そのため、強化学習によってどの学習モデルが選択されたとしても、失敗行動が予測され難い。実施例1では、クラウドサーバ10に蓄積された複数の学習済みの学習モデルをエッジ100に配信する。そして、エッジ100は、配信された複数の学習モデルから強化学習によって1つの学習モデルを選択し、選択された学習モデルを用いて行動を予測する。あくまでも、強化学習は学習モデルの選択に対して行われ、行動の予測は学習済みの学習モデルを用いて行われる。そのため、実施例1では、図16に示すような、強化学習による行動予測とは異なり、ユーザに対して失敗行動が予測され難い。
 また、実施例1によれば、エッジ100は、選択された学習モデルによって予測されたユーザ操作に対するユーザの反応を報酬として報酬を最大化する方策を得る強化学習を行う。したがって、ユーザにより適した学習モデルが選択可能になる。
 そして、実施例1によれば、エッジ100による強化学習は、選択された学習モデルによって予測されたユーザ操作に対して予め定められた時間内にユーザの操作があった場合、選択された学習モデルは不正解の学習モデルであったと判断してその報酬を減らす。したがって、ユーザにさらに適した学習モデルが選択可能になる。
 さらに、実施例1によれば、クラウドサーバ10から配信される複数の学習モデルは、予め定められた閾値以下の数になるように、類似する学習モデルをクラスタリングして決定される。したがって、同じような学習モデルの配信が抑制可能になる。
 さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[学習モデル]
 ここで、図18を用いて、学習モデルについて説明する。図18は、図17の学習モデルB、学習モデルF、学習モデルHのうち、いずれか1つの学習モデルのイメージを説明する図である。なお、学習モデルは、他のユーザにおける環境状態とユーザの操作を有する学習データのうち、他のユーザ毎に環境状態を説明変数とするとともにユーザ操作を目的変数として学習されたモデルである。例えば、学習モデルBは、高齢の単身者が暮らす住宅の学習データを用いたものであり、学習モデルFは、夫婦が暮らす住宅の学習データを用いたものであり、学習モデルHは、夫婦と子供が暮らす住宅の学習データを用いたものであるとする。ここでは、説明をわかりやすくするために、室温と湿度の2次元の特徴空間で、ユーザ操作を「Keep」と「Down」の2値に分類する例で説明する。なお、図18における太線は、学習済みの学習モデルによる予測境界を示す。図18に示すように、学習された学習モデルは、時刻tにおける室温と湿度に基づいて、時刻tから30分以内に発生するユーザ操作が「Keep」か「Down」かを予測する。このとき、学習のモデルは、ロジスティック回帰、ニューラルネットワークなどで学習することができる。
 ここで、ロジスティック回帰を用いたモデルの学習について説明する。学習部41は、式(2)に示す線形回帰の式を、式(3)に示すシグモイド関数に入力し、式(3)で得られる値をロジスティック回帰として取得する。なお、式(2)におけるXに説明変数が入力され、yが目的変数、wは重みであり、bは予め指定された定数である。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 次いで、ニューラルネットワークを用いたモデルの学習について説明する。学習部41は、室温、湿度、および外気温などのセンサ値を入力層より入力してニューラルネットワークに順伝播させる。そして、学習部41は、出力層から得られる分類結果とユーザ操作の正解(正例・負例)とを比較して誤差を求める。さらに、学習部41は、誤差逆伝播法により、分類結果と正解との誤差を分類時と逆方向にニューラルネットワークに伝播させ、ニューラルネットワークの各階層のパラメータを変更して最適解に近づける。
[対象空間]
 上記実施例では、ユーザの自宅などの部屋を一例として説明したが、これに限定されるものではない。例えば、電車や車などの車内、マシンルーム、飛行機の機内など様々な空間を対象とすることができる。
[学習データ]
 上記実施例では、クラウドサーバ10における学習の学習データとして、室温、湿度、および外気温を用いる例を説明したが、これらに限定されるものではない。例えば、室温と外気温を学習データとしてユーザ操作を予測する学習モデル、5分間などの所定時間内の室温の変化と外気温の変化を学習データとしてユーザ操作を予測する学習モデルなどを学習することもできる。また、再学習時は、再学習までに収集されたログ(操作ログ+センサ値)を学習データとして利用することもできる。また、学習モデルを構築する装置と、再学習を行う装置とを別々の装置で実行することもできる。
[数値]
 上記実施例で説明したセンサ値の項目、数値、装置の台数、エッジ数などは、図示したものに限定されず、一般的なセンサなどで収集可能な情報を用いることができる。また、予測間隔も、30分後や2時間後など任意に変更することができる。その場合、センサ値などの収集単位も任意の時間に変更する。また、学習データとして、センサ値と操作ログを使用する例を説明したが、これに限定されるものではなく、センサ値のみを使用することもできる。
[予測]
 上記実施例では、エアコンに対するユーザ操作を予測する学習モデルを構築する例を説明したが、これに限定されるものではなく、本発明によれば任意の事象を予測する学習モデルを構築することができる。例えば、本発明により他の装置等に対するユーザ操作を予測する学習モデルを構築することができる。また、例えば、本発明により室温を予測する学習モデルを構築することもできる。この場合、30分後の室温などを目的変数とする。
[システム]
 上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、エッジ100の選択部141と空調制御部150とを統合することもできる。
 さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
 上述したクラウドサーバ10およびエッジ100は同様のハードウェア構成を有するので、ここでは、コンピュータ200として説明する。図19は、ハードウェア構成例を示す図である。図19に示すように、コンピュータ200は、通信装置200a、HDD(Hard Disk Drive)200b、メモリ200c、およびプロセッサ200dを有する。また、図19に示した各部は、バスなどで相互に接続される。
 通信装置200aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD200bは、図2および図9に示した機能を動作させるプログラムやDBを記憶する。
 プロセッサ200dは、図2および図9に示した各処理部と同様の処理を実行するプログラムをHDD200bなどから読み出してメモリ200cに展開することで、図2などで説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、クラウドサーバ10が有する各処理部と同様の機能を実行する。具体的には、例えば、プロセッサ200dは、取得部30および学習処理部40などと同様の機能を有するプログラムをHDD200bなどから読み出す。そして、プロセッサ200dは、取得部30および学習処理部40などと同様の処理を実行するプロセスを実行する。
 このように、クラウドサーバ10およびエッジ100は、プログラムを読み出して実行することで各処理を実行する情報処理装置として動作する。また、クラウドサーバ10およびエッジ100は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、クラウドサーバ10およびエッジ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
 1   部屋
 1a  エアコン
 2   部屋
 2a  エアコン
 2b  情報端末
 3   部屋
 3b  リモコン
 10  クラウドサーバ
 11  通信部
 12  記憶部
 13  センサ値DB
 14  操作ログDB
 15  学習データDB
 16  学習結果DB
 20  制御部
 30  取得部
 40  学習処理部
 41  学習部
 42  再学習部
 50  決定部
 60  配信部
 100 エッジ
 111 通信部
 112 記憶部
 113 センサ値DB
 114 操作ログDB
 115 強化学習結果DB
 120 制御部
 130 取得部
 140 学習処理部
 141 選択部
 142 強化学習部
 150 空調制御部

Claims (17)

  1.  コンピュータが、
     環境状態に基づいて行動を予測する複数の学習モデルを取得し、
     前記環境状態に基づいて、前記複数の学習モデルから前記行動の予測に用いる1つの学習モデルを強化学習によって選択する
     処理を実行することを特徴とするモデル選択方法。
  2.  前記強化学習は、前記選択された学習モデルによって予測された前記行動に対するユーザの反応を報酬として、前記報酬を最大化する方策を得るような学習であることを特徴とする請求項1に記載のモデル選択方法。
  3.  前記ユーザの反応は、前記ユーザの操作の有無であり、
     予め定められた時間内に前記ユーザの操作があった場合、前記報酬を減らすことを特徴とする請求項2に記載のモデル選択方法。
  4.  前記環境状態は、室温、湿度、および外気温の少なくとも1つであり、
     前記行動は、エアコンの設定温度に対する前記ユーザの操作であり、
     前記ユーザの反応は、前記ユーザの操作の有無であることを特徴とする請求項2に記載のモデル選択方法。
  5.  前記複数の学習モデルは、予め定められた閾値以下の数になるように、類似する学習モデルをクラスタリングして決定されたものであることを特徴とする請求項1に記載のモデル選択方法。
  6.  前記学習モデルは、他のユーザにおける環境状態とユーザの操作を有する学習データのうち、前記環境状態を説明変数とするとともに前記ユーザの操作を目的変数として学習されたモデルであることを特徴とする請求項1に記載のモデル選択方法。
  7.  コンピュータに、
     環境状態に基づいて行動を予測する複数の学習モデルを取得し、
     前記環境状態に基づいて、前記複数の学習モデルから前記行動の予測に用いる1つの学習モデルを強化学習によって選択する
     処理を実行させることを特徴とするモデル選択プログラム。
  8.  前記強化学習は、前記選択された学習モデルによって予測された前記行動に対するユーザの反応を報酬として、前記報酬を最大化する方策を得るような学習であることを特徴とする請求項7に記載のモデル選択プログラム。
  9.  前記ユーザの反応は、前記ユーザの操作の有無であり、
     予め定められた時間内に前記ユーザの操作があった場合、前記報酬を減らす
     ことを特徴とする請求項8に記載のモデル選択プログラム。
  10.  前記環境状態は、室温、湿度、および外気温の少なくとも1つであり、
     前記行動は、エアコンの設定温度に対する前記ユーザの操作であり、
     前記ユーザの反応は、前記ユーザの操作の有無である
     ことを特徴とする請求項8に記載のモデル選択プログラム。
  11.  前記複数の学習モデルは、予め定められた閾値以下の数になるように、類似する学習モデルをクラスタリングして決定されたものである
     ことを特徴とする請求項7に記載のモデル選択プログラム。
  12.  環境状態に基づいて行動を予測する複数の学習モデルを取得する取得部と、
     前記環境状態に基づいて、前記複数の学習モデルから前記行動の予測に用いる1つの学習モデルを強化学習によって選択する選択部と
     を有することを特徴とする情報処理装置。
  13.  前記強化学習は、前記選択された学習モデルによって予測された前記行動に対するユーザの反応を報酬として、前記報酬を最大化する方策を得るような学習であることを特徴とする請求項12に記載の情報処理装置。
  14.  前記ユーザの反応は、前記ユーザの操作の有無であり、
     予め定められた時間内に前記ユーザの操作があった場合、前記報酬を減らす
     ことを特徴とする請求項13に記載の情報処理装置。
  15.  前記環境状態は、室温、湿度、および外気温の少なくとも1つであり、
     前記行動は、エアコンの設定温度に対する前記ユーザの操作であり、
     前記ユーザの反応は、前記ユーザの操作の有無である
     ことを特徴とする請求項13に記載の情報処理装置。
  16.  前記複数の学習モデルは、予め定められた閾値以下の数になるように、類似する学習モデルをクラスタリングして決定されたものである
     ことを特徴とする請求項12に記載の情報処理装置。
  17.  プロセッサと、
     前記プロセッサに動作可能に接続されたメモリと
     を備えた情報処理装置であって、前記プロセッサは、
     環境状態に基づいて行動を予測する複数の学習モデルを取得する取得部と、
     前記環境状態に基づいて、前記複数の学習モデルから前記行動の予測に用いる1つの学習モデルを強化学習によって選択する選択部と、
     前記選択された学習モデルを用いて行動を予測し、予測された行動を実行する空調制御部と、
     エアコンから取得された操作ログに基づいてユーザ操作の有無を判定し、前記ユーザ操作の有無により各学習モデルの強化学習を行う強化学習部と
     を有することを特徴とする情報処理装置。
PCT/JP2019/033733 2019-08-28 2019-08-28 モデル選択方法、モデル選択プログラムおよび情報処理装置 WO2021038759A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/033733 WO2021038759A1 (ja) 2019-08-28 2019-08-28 モデル選択方法、モデル選択プログラムおよび情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/033733 WO2021038759A1 (ja) 2019-08-28 2019-08-28 モデル選択方法、モデル選択プログラムおよび情報処理装置

Publications (1)

Publication Number Publication Date
WO2021038759A1 true WO2021038759A1 (ja) 2021-03-04

Family

ID=74683914

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/033733 WO2021038759A1 (ja) 2019-08-28 2019-08-28 モデル選択方法、モデル選択プログラムおよび情報処理装置

Country Status (1)

Country Link
WO (1) WO2021038759A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023004271A (ja) * 2021-06-25 2023-01-17 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー 機械学習アルゴリズムを選択及びチューニングするための改善された多腕バンディットアルゴリズムを用いるメタ自動機械学習
JP7305850B1 (ja) 2022-06-30 2023-07-10 菱洋エレクトロ株式会社 機械学習を利用したシステム、端末、サーバ、方法、及び、プログラム
WO2023214584A1 (ja) * 2022-05-02 2023-11-09 三菱重工業株式会社 学習装置、学習方法及び学習プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016109422A (ja) * 2014-12-04 2016-06-20 台達電子工業股▲ふん▼有限公司Delta Electronics,Inc. 環境快適性制御システム及びその制御方法
WO2018142766A1 (ja) * 2017-02-03 2018-08-09 パナソニックIpマネジメント株式会社 学習済みモデル提供方法および学習済みモデル提供装置
WO2018173121A1 (ja) * 2017-03-21 2018-09-27 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
JP2019075159A (ja) * 2014-03-28 2019-05-16 日本電気株式会社 学習モデル選択システム、学習モデル選択方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019075159A (ja) * 2014-03-28 2019-05-16 日本電気株式会社 学習モデル選択システム、学習モデル選択方法およびプログラム
JP2016109422A (ja) * 2014-12-04 2016-06-20 台達電子工業股▲ふん▼有限公司Delta Electronics,Inc. 環境快適性制御システム及びその制御方法
WO2018142766A1 (ja) * 2017-02-03 2018-08-09 パナソニックIpマネジメント株式会社 学習済みモデル提供方法および学習済みモデル提供装置
WO2018173121A1 (ja) * 2017-03-21 2018-09-27 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023004271A (ja) * 2021-06-25 2023-01-17 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー 機械学習アルゴリズムを選択及びチューニングするための改善された多腕バンディットアルゴリズムを用いるメタ自動機械学習
WO2023214584A1 (ja) * 2022-05-02 2023-11-09 三菱重工業株式会社 学習装置、学習方法及び学習プログラム
JP7305850B1 (ja) 2022-06-30 2023-07-10 菱洋エレクトロ株式会社 機械学習を利用したシステム、端末、サーバ、方法、及び、プログラム
JP7398587B1 (ja) 2022-06-30 2023-12-14 菱洋エレクトロ株式会社 機械学習を利用したシステム、端末、サーバ、方法、及び、プログラム
JP2024006959A (ja) * 2022-06-30 2024-01-17 菱洋エレクトロ株式会社 機械学習を利用したシステム、端末、サーバ、方法、及び、プログラム
JP2024005989A (ja) * 2022-06-30 2024-01-17 菱洋エレクトロ株式会社 機械学習を利用したシステム、端末、サーバ、方法、及び、プログラム

Similar Documents

Publication Publication Date Title
JP7188255B2 (ja) 学習方法、学習プログラムおよび学習装置
JP7279445B2 (ja) 予測方法、予測プログラムおよび情報処理装置
WO2021038759A1 (ja) モデル選択方法、モデル選択プログラムおよび情報処理装置
US11808473B2 (en) Action optimization device, method and program
JP7495944B2 (ja) 動き検出システムにおいて新しい動きゾーンを検出するためのオフラインチューニングシステム
US11268713B2 (en) Smart home air conditioner automatic control system based on artificial intelligence
Dong et al. Building energy and comfort management through occupant behaviour pattern detection based on a large-scale environmental sensor network
US20200025401A1 (en) Thermo-hygrometer and method of controlling temperature and humidity for adjusting indoor environment
Reverdy et al. Modeling human decision making in generalized Gaussian multiarmed bandits
US20200379417A1 (en) Techniques for using machine learning for control and predictive maintenance of buildings
US9811781B2 (en) Time-series data prediction device of observation value, time-series data prediction method of observation value, and program
US20220178572A1 (en) Air conditioning control system and air conditioning control method
CN104364805A (zh) 信息处理器、信息处理方法和程序
CN113821903B (zh) 温度控制方法和设备、模块化数据中心及存储介质
US20210334702A1 (en) Model evaluating device, model evaluating method, and program
KR20210049769A (ko) 인공지능 기반 스마트 홈 에어컨 자동 제어 시스템
Nagy et al. Reinforcement learning for intelligent environments: A Tutorial
Dmitrewski et al. CntrlDA: A building energy management control system with real-time adjustments. Application to indoor temperature
JP2021140749A (ja) 人間の知能を人工知能に移植するための精密行動プロファイリングのための電子装置およびその動作方法
US12117195B2 (en) Control method, computer-readable recording medium storing control program, and air conditioning control device
Markovic Generic occupant behavior modeling for commercial buildings
Das et al. Segmentation analysis in human centric cyber-physical systems using graphical lasso
EP4386513A1 (en) Transfer learning model for newly setup environment
KR102512506B1 (ko) 기계학습모델을 이용한 에어컨 자동 쾌적제어방법, 시스템, 및 컴퓨터-판독가능 매체
KR20240086233A (ko) 최적 설계 모델을 이용한 실내 환기 시스템 설계 및 제어 장치, 방법 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19943388

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19943388

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP