WO2023199846A1 - システム - Google Patents

システム Download PDF

Info

Publication number
WO2023199846A1
WO2023199846A1 PCT/JP2023/014300 JP2023014300W WO2023199846A1 WO 2023199846 A1 WO2023199846 A1 WO 2023199846A1 JP 2023014300 W JP2023014300 W JP 2023014300W WO 2023199846 A1 WO2023199846 A1 WO 2023199846A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
layer
learning
agent
agents
Prior art date
Application number
PCT/JP2023/014300
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 ソフトバンク株式会社
Publication of WO2023199846A1 publication Critical patent/WO2023199846A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a system.
  • Patent Document 1 describes multi-agent reinforcement learning. [Prior art documents] [Patent document] [Patent Document 1] Japanese Patent Application Publication No. 2004-227208
  • a system may include a first layer agent of a first layer and a plurality of second layer agents of a second layer lower than the first layer, which are arranged in a network.
  • Each of the plurality of second layer agents uses the collected information to perform learning in cooperation with other second layer agents, and transmits information generated using the learning results to the first layer agent. It's fine.
  • the first layer agent may perform learning using information received from the plurality of second layer agents.
  • the system may further include a plurality of third layer agents of a third layer lower than the second layer. Each of the plurality of third layer agents executes learning in cooperation with other third layer agents using the collected information, and the information generated using the learning results is transmitted to the plurality of second layer agents.
  • Each of the plurality of third layer agents learns in cooperation with the other plurality of third layer agents using a third information collection unit that collects information and the information collected by the third information collection unit. and a third information transmitting unit that transmits information generated using the learning results by the third learning executing unit to at least one of the plurality of second layer agents. good.
  • Each of the plurality of second layer agents includes a second information collection unit that collects information from the plurality of third layer agents, and uses the information collected by the second information collection unit to collect information from the other plurality of third layer agents.
  • the first layer agent includes a first information collection section that collects information from the plurality of second layer agents, and a first learning execution section that executes learning using the information collected by the first information collection section. may have.
  • the first layer agent may be placed in a first NW layer of a hierarchical network, and the plurality of second layer agents may be placed in a second NW layer lower than the first NW layer of the layered network.
  • the plurality of third layer agents may be placed in a third network layer lower than the second network layer of the hierarchical network.
  • the hierarchical network may be a cloud network, the first NW tier may be configured by cloud computing, the second NW tier may be configured by a plurality of fog computing, and the third NW tier may be configured by cloud computing. , may be configured by multiple edge computing systems.
  • the hierarchical network may be a cloud network, the first NW tier may be configured by cloud computing, the second NW tier may be configured by a plurality of fog computing, and the third NW tier may be configured by cloud computing.
  • the third information collection unit may collect information from a plurality of IoT (Internet of Things) devices by mobile communication, and the third information transmission unit may be configured by a plurality of edge computing units.
  • At least one of the plurality of second layer agents selects information selected from the information collected by the third information collecting unit or information generated using the learning results.
  • the second information collecting unit may collect the information transmitted by the third information transmitting unit, and the second information transmitting unit may use the learning result by the second learning execution unit. Then, information selected from the information collected by the second information collection unit or information generated using the learning result may be transmitted to the first layer agent.
  • each of the plurality of third layer agents includes a third processing execution unit that executes a process on the information collected by the third information collection unit using learning results by the third learning execution unit. may have.
  • the third processing execution unit may generate information to be sent to at least one of the plurality of second layer agents using the plurality of pieces of information collected by the third information collection unit.
  • the third processing execution unit may generate transmission information including information selected from a plurality of pieces of information collected by the third information collection unit, using a learning result by the third learning execution unit.
  • the third processing execution unit may generate summary information that summarizes a plurality of pieces of information collected by the third information collection unit, using a learning result by the third learning execution unit.
  • the third information transmitting unit may transmit the information generated by the third processing execution unit to at least one of the plurality of second layer agents.
  • each of the plurality of second layer agents includes a second processing execution unit that executes processing on the information collected by the second information collection unit using learning results by the second learning execution unit. may have.
  • the second processing execution unit may generate information to be sent to the first layer agent using a plurality of pieces of information collected by the second information collection unit.
  • the second processing execution unit may generate transmission information including information selected from a plurality of pieces of information collected by the second information collection unit, using a learning result by the second learning execution unit.
  • the second processing execution unit may generate summary information that summarizes a plurality of pieces of information collected by the second information collection unit, using the learning result by the second learning execution unit.
  • the second information transmitting unit may transmit the information generated by the second processing execution unit to the first layer agent.
  • the first layer agent includes a first processing execution unit that executes processing on information collected by the first information collection unit using learning results by the first learning execution unit. good.
  • the first processing execution unit may use the learning result by the first learning execution unit to execute processing aimed at stabilizing the entire network to which the system is applied.
  • the first processing execution unit is configured to analyze at least one of the plurality of second tier agents or at least one of the plurality of third tier agents based on the result of analyzing the information collected by the first information collection unit. You may also generate instruction information for.
  • the first processing execution unit instructs at least one of the plurality of third layer agents to send information to at least one of the plurality of second layer agents out of the information collected from the IoT device.
  • Instruction information may be generated.
  • the first processing execution unit generates instruction information that instructs at least one of the plurality of second-tier agents to process the information collected from at least one of the plurality of second-tier agents. good.
  • the first processing execution unit may generate learning information to be transmitted to at least one of the plurality of third layer agents based on a result of analyzing the information collected by the first information collection unit.
  • the first processing execution unit may generate learning information to be transmitted to at least one of the plurality of second layer agents based on a result of analyzing the information collected by the first information collection unit.
  • the first processing execution unit may generate learning information including a reward set in accordance with a change in tendency of the information collected by the first information collection unit.
  • the plurality of third layer agents perform analysis that requires more real-time performance, and the first layer agent: Analyzing trends over a fairly long period of time, the plurality of second layer agents may perform a corresponding analysis during that period.
  • the plurality of third-tier agents collect image data and object detection data from a plurality of IoT devices placed in the area.
  • third-tier agents in charge of geographically adjacent subareas execute learning to detect the occurrence of accidents while sharing information, and the third-tier agents use the learning results to , detects the occurrence of an accident, and a plurality of second-tier agents are assigned to a group of subareas, collect information from third-tier agents that collect information from IoT devices in the subareas of the group, and The second layer agents perform learning to predict the occurrence of accidents by cooperating with each other, the second layer agents predict the occurrence of accidents using the learning results, and the first layer agents Based on the prediction result by the second layer agent, learning for controlling the overall information may be performed.
  • the first layer agent increases the amount of information collected and increases the types of information for subareas where accidents are expected to occur, and reduces the amount of information collected for other subareas, and increases the types of information collected. Control may be performed to reduce the number of types.
  • the third layer agent may route the message. It's fine.
  • the third layer agent may cooperate with other third layer agents to perform learning to control Topic, To (including Copy), and division of messages from publishers. Using the learning results, the third layer agent cooperates with other third layer agents to generate Topic, determine To, and send the message so that the message from the publisher reaches the appropriate subscriber. May control replication, message splitting, etc.
  • the second layer agent monitors the routing by the third layer agent based on the information collected from the third layer agent, and performs learning so that it can perform processing to resolve problems that occur in the routing. good.
  • the second layer agent buffers the message when there is a message with the same To with an unknown destination, and sends a part of the buffered message to the network when the amount of buffering exceeds a threshold. As a result, if the message comes back again, it will be buffered for a certain period of time until the message arrives, and when the message starts to arrive, it will send the message with the same To among the buffered messages. You may begin.
  • the first layer agent may perform learning to detect problems in the network using information collected from the second layer agent. When the first layer agent detects a problem in the network using the learning results, it may notify the network operator of the detection results or output an instruction to change the configuration of the network.
  • each of the multiple third-tier agents is installed in a vehicle located in each region divided into multiple regions.
  • Information may be collected from IoT devices installed in traffic lights, IoT devices installed in traffic lights, etc., and IoT devices installed on roads, etc.
  • the third layer agent collects vehicle location information, images captured by vehicle cameras and street cameras, vehicle detection information and human detection information detected by road sensors, vehicles detected by vehicle sensors, etc. At least one of the following information may be collected: distance between vehicles, weather information in the area, vehicle navigation information, and vehicle travel speed.
  • the third layer agent is in charge of a certain area, collects information from the IoT device installed in the vehicle from the time a vehicle enters the area, and collects information from the IoT device installed in the vehicle when the vehicle leaves the area. In some cases, the third layer agent in charge of the area where the vehicle enters may take over the collection of information.
  • the third layer lower agent shares information with other third layer agents to detect whether the distance between vehicles is shorter than a threshold or a danger such as a vehicle colliding with a person. good. When the third layer agent detects danger, it may transmit danger detection information to the target vehicle.
  • the second tier agent may instruct the third tier agent what information to communicate.
  • the second layer agent analyzes (learns) important information (many people, many cars, etc.) based on the information (day of the week, time, etc.) collected from the third layer agent in the past, and prioritizes collection. It may be possible to make it possible to determine information with a high degree of accuracy.
  • the second layer agent may instruct the third layer agent to collect high priority information for each period.
  • the second layer agent may be able to identify high priority information with high accuracy by learning in cooperation with other second layer agents. As a result of the learning, the second layer agent instructs the vehicle detection results to have a higher priority so that information can be collected on weekday mornings, and to increase the priority for the human detection results during the afternoon on holidays. It may be possible to provide instructions so that information can be collected.
  • the first tier agent may perform a broader range of analysis.
  • the first layer agent performs prediction several steps ahead (at a set time) based on traffic information (traffic volume, time of day, day of the week, event, weather) for the area in charge (city, prefecture, country), and Information may be provided to second-tier agents.
  • traffic information traffic volume, time of day, day of the week, event, weather
  • Information may be provided to second-tier agents.
  • An example of a network 100 to which an autonomous decentralized system is applied is schematically shown.
  • An example of a cloud network 300, which is an example of the network 100, is schematically shown.
  • An example of an autonomous decentralized system 200 is schematically shown.
  • An example of the functional configuration of the lower-level agent 230 is schematically shown.
  • An example of the functional configuration of the intermediate agent 220 is schematically shown.
  • An example of the functional configuration of the upper agent 210 is schematically shown.
  • Another example of the autonomous decentralized system 200 is schematically shown.
  • An example of the hardware configuration of a computer 1200 that implements an upper agent 210, an intermediate agent 220, or a lower agent 230 is schematically shown.
  • An autonomous decentralized system which is one type of multi-agent system, is known.
  • each of the multiple agents aims to independently learn autonomously and acquire cooperative behavior.
  • a state in which each agent is exactly the same (structure and parameters) is called homogeneous, and a state in which each agent becomes different from homogeneous (heterogenious) is called functional differentiation.
  • an autonomous distributed system there is a target and multiple hunters, and the multiple hunters learn how to capture the target. In other words, multiple hunter agents learn their own roles and cooperate to capture the target. There are examples like the catch-and-trace problem.
  • an autonomous distributed system a group of agents with the same performance (homo) differentiates in function through learning, and each agent comes to have a role (hetero). For example, in the tracking problem, agents are divided into agents that chase straight and agents that go around. By using such technology, for example, it is possible to autonomously perform learning that adapts to the environment using the same algorithm, or to perform autonomous and distributed learning using multi-agents.
  • an autonomous decentralized system is applied to the network.
  • FIG. 1 schematically shows an example of a communication network 100 to which an autonomous decentralized system is applied.
  • Communication network 100 is a hierarchical network.
  • the communication network 100 is composed of an upper computing 110, multiple intermediate computing 120, and multiple lower computing 130.
  • the upper computing 110 constitutes a first NW (NetWork) tier
  • the plurality of intermediate computing 120 constitutes a second NW tier lower than the first NW tier
  • the plurality of lower computing 130 constitutes a second NW tier lower than the second NW tier.
  • a lower third NW layer is also configured.
  • the communication network 100 to which the autonomous decentralized system is applied may be any communication network as long as it has a hierarchical structure.
  • communication network 100 is a cloud network.
  • FIG. 2 schematically shows an example of a cloud network 300, which is an example of the communication network 100.
  • the cloud network 300 is configured by cloud computing 310, multiple fog computing units 320, and multiple edge computing units 330.
  • Cloud computing 310 may be an example of upper level computing 110.
  • Fog computing 320 may be an example of intermediate computing 120.
  • Edge computing 330 may be an example of lower level computing 130.
  • the first NW tier is configured by cloud computing 310
  • the second NW tier is configured by multiple fog computing 320
  • the third NW tier is configured by multiple edge computing 330.
  • Each of the plurality of edge computing devices 330 communicates with one or more IoT devices 400 via a mobile communication system.
  • Each of the plurality of IoT devices 400 may transmit information to at least one of the plurality of edge computing devices 330 via a wireless base station, a Wi-Fi (registered trademark) access point, or the like.
  • the IoT device 400 may be any device as long as it can acquire and transmit some information.
  • the IoT device 400 includes, for example, various sensors. Examples of information transmitted by the IoT device 400 include image data (still images, moving images), sound data, infrared data, position data, object detection data, distance data, weather data, temperature data, humidity data, etc. This is just an example, and any information may be used.
  • the mobile communication system is, for example, a 5G (5th Generation) communication system.
  • the mobile communication system may be an LTE (Long Term Evolution) communication system.
  • the mobile communication system may be a 3G (3rd Generation) communication system.
  • the mobile communication system may be a 6G (6th Generation) communication system or later.
  • FIG. 3 schematically shows an example of an autonomous decentralized system 200.
  • the autonomous decentralized system 200 is composed of a plurality of agents having a hierarchical structure.
  • the autonomous decentralized system 200 includes a higher-level agent 210, multiple intermediate agents 220, and multiple lower-level agents 230.
  • the autonomous decentralized system 200 is applied to the communication network 100.
  • the upper level agent 210 is located at the upper level computing 110
  • each of the multiple intermediate agents 220 is located at each of the multiple intermediate computing 120
  • each of the multiple lower level agents 230 is located at each of the multiple lower level computing 110. 130 respectively.
  • a plurality of intermediate agents 220 may be arranged for one intermediate computing 120.
  • a plurality of lower-level agents 230 may be placed in one lower-level computing 130.
  • FIG. 2 illustrates a case where the autonomous decentralized system 200 is configured with three layers, the present invention is not limited to this.
  • the autonomous decentralized system 200 may have two hierarchies, or may have four or more hierarchies.
  • the autonomous decentralized system 200 may include a higher level agent 210 and a plurality of lower level agents 230.
  • the upper agent 210 may be an example of a first tier agent of the first tier
  • the lower agent 230 may be an example of a plurality of second tier agents of the second tier.
  • the upper level agent 210 is placed in the higher level computing 110
  • each of the plurality of lower level agents 230 is placed in each of the plurality of lower level computing 130.
  • the upper level agent 210 is placed in one of the plurality of intermediate computing units 120, and the plurality of lower level agents 230 are arranged in each of the plurality of lower level computing units 130.
  • the communication network 100 may be configured with two layers without including the plurality of intermediate computing devices 120.
  • the autonomous decentralized system 200 is applied to a cloud network 300, for example.
  • the upper level agent 210 is placed in a cloud computing 310
  • each of the plurality of intermediate agents 220 is placed in each of the plurality of fog computing 320
  • each of the plurality of lower level agents 230 is placed in each of the plurality of edge computing 330 respectively.
  • Multiple intermediate agents 220 may be deployed for one fog computing 320.
  • a plurality of lower-level agents 230 may be placed in one edge computing 330.
  • the upper agent 210 is placed in the cloud computing 310, and each of the plurality of lower agents 230 is placed in each of the plurality of edge computing 330. Further, for example, the upper level agent 210 is placed in one of the plurality of fog computing units 320, and the plurality of lower level agents 230 are placed in each of the plurality of edge computing units 330. Note that in this case, the cloud network 300 may be configured with two layers without including the plurality of fog computing devices 320.
  • the lower agent 230 collects information.
  • Lower agent 230 collects information sent by IoT device 400, for example.
  • the lower-level agent 230 may collect information from the IoT device 400 through mobile communication.
  • Lower level agent 230 may collect information sent by any device other than IoT device 400.
  • the lower-level agent 230 may collect information from any device other than the IoT device 400 through mobile communication.
  • the lower-level agent 230 uses the collected information to perform learning in cooperation with other lower-level agents 230.
  • the lower agent 230 may perform learning according to pre-registered rewards.
  • the lower agent 230 may perform learning according to knowledge registered in advance.
  • the lower agent 230 may perform various processes using the learning results. For example, the lower-level agent 230 uses the learning results to select information to be transmitted to the intermediate agent 220 from among the plurality of pieces of collected information, and transmits the selected information to the intermediate agent 220.
  • the lower agent 230 uses the learning results to generate summary information that summarizes a plurality of pieces of collected information and sends it to the intermediate agent 220.
  • the lower agent 230 collects it from the IoT devices 400 and sends it to the intermediate agent 222 or The usefulness of the information sent to the higher-level agent 210 is registered as a reward.
  • Each of the plurality of lower-level agents 230 autonomously advances learning while cooperating with other lower-level agents 230 to maximize the reward.
  • the plurality of lower-level agents 230 collect information from one or more different IoT devices 400, and each selects information to be sent to the upper layer from the collected information or sends the collected information to the upper layer based on different criteria.
  • a system can be constructed such that summary information is generated, and only information that is highly useful overall is transmitted to upper layers.
  • the lower agent 230 may execute processing with relatively high real-time performance.
  • the lower-level agent 230 uses the learning results to perform selection processing or summarize information collected from one or more IoT devices 400 at predetermined intervals such as 1 minute and 3 minutes. Performs information generation processing and sends the information to the upper layer. This makes it possible to adjust the information sent to the upper layer in real time.
  • a plurality of lower-level agents 230 placed in an edge computing 330 that handles information that includes images during the day and infrared data at night
  • many lower-level agents 230 handle images during the day and infrared data at night. Becomes in charge of.
  • the lower-level agent 230 can dynamically adapt to the environment, for example, the IoT device 400 to be collected may be changed, or the type of information collected by the IoT device 400 to be collected may be changed. However, it is still applicable. In this way, the lower agent 230 may execute processing in real time, but may also transmit statistical information or summary information with a time delay. Lower agent 230 may be able to intentionally insert a delay.
  • the intermediate agent 220 collects information.
  • Intermediate agent 220 may collect information from subordinate agents 230.
  • the intermediate agent 220 collects from the lower agent 230 the information that the lower agent 230 has collected from the IoT device 400.
  • the intermediate agent 220 collects from the lower-level agent 230 information selected by the lower-level agent 230 from among the plurality of pieces of information that the lower-level agent 230 has collected from the IoT device 400 .
  • the intermediate agent 220 collects from the lower agent 230 summary information that is a compilation of multiple pieces of information that the lower agent 230 has collected from the IoT device 400 .
  • the intermediate agent 220 uses the collected information to perform learning in cooperation with other intermediate agents 220.
  • the intermediate agent 220 may perform various processes using the learning results. For example, the intermediate agent 220 uses the learning results to select information to be transmitted to the intermediate agent 220 from among the plurality of pieces of information collected, and transmits the selected information to the upper agent 210. For example, the intermediate agent 220 uses the learning results to generate summary information that summarizes a plurality of pieces of collected information and sends it to the upper agent 210.
  • the intermediate agent 220 may execute processing with lower real-time performance than the lower-level agent 230.
  • the intermediate agent 220 performs processing using information collected from one or more lower-level agents 230 at predetermined intervals, such as one hour and one day.
  • the intermediate agent 220 performs learning using information for a predetermined period.
  • the intermediate agent 220 cooperates with other intermediate agents 220 to adjust the amount of information sent from the multiple lower-level agents 230 to the upper layer, and to adjust the amount of information transmitted from the multiple intermediate agents 220 to the higher-level agent 210. You may adjust the amount.
  • the intermediate agent 220 may perform learning or processing that ensures robustness in the autonomous decentralized system 200.
  • the intermediate agent 220 may play the role of Spinal Cord in the autonomous decentralized system 200.
  • the upper level agent 210 collects information.
  • Upper level agent 210 may collect information from intermediate agents 220.
  • the upper agent 210 collects from the lower agent 230 the information collected from the intermediate agent 220 and from the lower agent 230 .
  • the upper agent 210 collects from the intermediate agent 220 information selected by the intermediate agent 220 from among the plurality of pieces of information that the intermediate agent 220 has collected from the lower agent 230 .
  • the upper agent 210 collects summary information from the intermediate agent 220, which is a compilation of multiple pieces of information that the intermediate agent 220 has collected from the lower agents 230.
  • Upper level agents 210 may collect information from lower level agents 230.
  • the upper agent 210 executes processing using the collected information.
  • the upper agent 210 performs learning using the collected information, for example.
  • the upper agent 210 executes various processes using the learning results, for example.
  • the upper agent 210 may execute processing with lower real-time performance than the intermediate agent 220.
  • the upper level agent 210 executes processing using the collected information every predetermined period such as one week, one month, and one year.
  • the upper agent 210 performs learning using information for a predetermined period, for example.
  • the upper level agent 210 may execute processing aimed at stabilizing the entire autonomous decentralized system 200. For example, the upper level agent 210 may perform factor analysis of the overall communication load of the communication network 100 and the cloud network 300 based on the collected information. The upper agent 210 identifies the location where the communication load on the network is increasing depending on the content of the collected information and the information collection status, and reduces the communication load by, for example, the IoT device 400, the lower agent 230, The amount of information sent by intermediate agent 220 may be adjusted and the propagation path may be adjusted.
  • the autonomous decentralized system 200 by applying the autonomous decentralized system 200 according to this embodiment to a network, processing can be layered. According to the autonomous decentralized system 200, for example, while the low-level agents 230 execute highly real-time processing, only useful information is transmitted to the upper layer, and the intermediate agents 220 use the carefully selected information to perform further processing.
  • the information is further narrowed down, and the upper level agent 210 performs information processing over a wider span using even more carefully selected information, and the entire network is stabilized. It can contribute to building an environment that can handle large amounts of information appropriately.
  • FIG. 4 schematically shows an example of the functional configuration of the lower agent 230.
  • the lower agent 230 includes a storage section 231 , a registration section 232 , an information collection section 233 , a learning execution section 234 , a processing execution section 235 , and an information transmission section 236 .
  • the registration unit 232 performs various registrations.
  • the registration unit 232 registers, for example, learning information used by the lower agent 230 for learning.
  • the registration unit 232 stores the registered learning information in the storage unit 231.
  • the learning information may include a reward.
  • the learning information may include knowledge.
  • the registration unit 232 registers learning information by accepting input from, for example, an operator of the autonomous decentralized system 200.
  • the registration unit 232 registers learning information received from the upper agent 210, for example.
  • the registration unit 232 registers learning information received from the intermediate agent 220, for example.
  • the registration unit 232 may be an example of a third registration unit.
  • the information collection unit 233 collects information.
  • the information collection unit 233 may collect information transmitted by any device.
  • the information collection unit 233 collects information transmitted by the IoT device 400, for example.
  • the information collection unit 233 may collect information from the IoT device 400 through mobile communication.
  • the information collection unit 233 stores the collected information in the storage unit 231.
  • the information collection unit 233 may be an example of a third information collection unit.
  • the learning execution unit 234 executes learning using the information collected by the information collection unit 233.
  • the learning execution unit 234 may execute learning in cooperation with other lower-level agents 230 using the information collected by the information collection unit 233.
  • the learning execution unit 234 stores the learning results in the storage unit 231.
  • the learning result may include a model generated by learning by the learning execution unit 234.
  • the learning result may include a neural network generated by learning by the learning execution unit 234.
  • the learning execution unit 234 may be an example of a third learning execution unit.
  • the learning execution unit 234 may use any learning method. For example, the learning execution unit 234 first executes pre-training by simulation, and updates the model, neural network, etc. based on the information collected by the information collection unit 233. Actual data collected by the information collection unit 233 in the past may be used for preliminary learning. Synthetic data may be used for pre-learning. If the environment does not allow trial and error in learning, it is effective to perform rule-based learning instead of reinforcement learning and learn only its parameters.
  • the learning method may be ANN (Artificial Neural Network), DNN (Deep Neural Network), heuristics, or the like.
  • the process execution unit 235 executes various processes.
  • the processing execution unit 235 may use the learning results obtained by the learning execution unit 234 to execute processing on the information collected by the information collection unit 233.
  • the processing execution unit 235 may generate information to be sent to the intermediate agent 220 using a plurality of pieces of information collected by the information collection unit 233.
  • the processing execution unit 235 uses the learning results by the learning execution unit 234 to generate transmission information that includes information selected from the plurality of pieces of information collected by the information collection unit 233.
  • the processing execution unit 235 uses the learning result by the learning execution unit 234 to generate summary information that summarizes a plurality of pieces of information collected by the information collection unit 233.
  • the processing execution unit 235 may be an example of a third processing execution unit.
  • the information transmitter 236 transmits information.
  • the information transmitter 236 transmits the information collected by the information collector 233 to the intermediate agent 220.
  • the information transmitting unit 236 transmits the information generated by the processing execution unit 235 to the intermediate agent 220.
  • the information transmitter 236 may be an example of a third information transmitter.
  • FIG. 5 schematically shows an example of the functional configuration of the intermediate agent 220.
  • the intermediate agent 220 includes a storage section 221 , a registration section 222 , an information collection section 223 , a learning execution section 224 , a processing execution section 225 , and an information transmission section 226 .
  • the registration unit 222 performs various registrations.
  • the registration unit 222 registers learning information used for learning by the intermediate agent 220, for example.
  • the registration unit 222 stores the registered learning information in the storage unit 221.
  • the learning information may include a reward.
  • the learning information may include knowledge.
  • the registration unit 222 registers learning information by accepting input from, for example, an operator of the autonomous decentralized system 200.
  • the registration unit 222 registers learning information received from the higher-level agent 210, for example.
  • the registration unit 222 may be an example of a second registration unit.
  • the information collection unit 223 collects information.
  • the information collection unit 223 may collect information from the lower-level agents 230.
  • the information collecting unit 223 collects, for example, information transmitted by the information transmitting unit 236 of the lower-level agent 230.
  • the information collection unit 223 stores the collected information in the storage unit 221.
  • the information collection unit 223 may be an example of a second information collection unit.
  • the learning execution unit 224 executes learning using the information collected by the information collection unit 223.
  • the learning execution unit 224 may execute learning in cooperation with other intermediate agents 220 using the information collected by the information collection unit 223.
  • the learning execution unit 224 stores the learning results in the storage unit 221.
  • the learning results may include a model generated by learning by the learning execution unit 224.
  • the learning result may include a neural network generated by learning by the learning execution unit 224.
  • the learning execution unit 224 may be an example of a second learning execution unit.
  • the learning execution unit 224 may use any learning method. For example, the learning execution unit 224 first performs preliminary learning by simulation, and updates the model, neural network, etc. using information collected by the information collection unit 223. Actual data collected by the information collection unit 223 in the past may be used for preliminary learning. Synthetic data may be used for pre-learning. If the environment does not allow trial and error in learning, it is effective to perform rule-based learning instead of reinforcement learning and learn only its parameters.
  • the learning method may be ANN, DNN, heuristics, or the like.
  • the process execution unit 225 executes various processes.
  • the processing execution unit 225 may use the learning results obtained by the learning execution unit 224 to execute processing on the information collected by the information collection unit 223.
  • the processing execution unit 225 may generate information to be sent to the higher-level agent 210 using a plurality of pieces of information collected by the information collection unit 223.
  • the processing execution unit 225 uses the learning results by the learning execution unit 224 to generate transmission information that includes information selected from the plurality of pieces of information collected by the information collection unit 223.
  • the processing execution unit 225 uses the learning result by the learning execution unit 224 to generate summary information that summarizes a plurality of pieces of information collected by the information collection unit 223.
  • the processing execution unit 225 may be an example of a second processing execution unit.
  • the information transmitting unit 226 transmits information.
  • the information transmitter 226 transmits the information collected by the information collector 223 to the higher-level agent 210.
  • the information transmitting unit 226 transmits the information generated by the processing execution unit 225 to the higher-level agent 210.
  • the information transmitter 226 may be an example of a second information transmitter.
  • FIG. 6 schematically shows an example of the functional configuration of the upper agent 210.
  • the upper agent 210 includes a storage section 211 , a registration section 212 , an information collection section 213 , a learning execution section 214 , a processing execution section 215 , and an information transmission section 216 .
  • the registration unit 212 performs various registrations.
  • the registration unit 212 registers learning information used for learning by the upper agent 210, for example.
  • the registration unit 212 stores the registered learning information in the storage unit 211.
  • the learning information may include a reward.
  • the learning information may include knowledge.
  • the registration unit 212 registers learning information by accepting input from, for example, an operator of the autonomous decentralized system 200.
  • the registration unit 212 may be an example of a first registration unit.
  • the information collection unit 213 collects information.
  • the information collection unit 213 may collect information from the intermediate agent 220.
  • the information collecting unit 213 collects information transmitted by the information transmitting unit 226 of the intermediate agent 220, for example.
  • the information collection unit 213 stores the collected information in the storage unit 211.
  • the information collection unit 213 may be an example of a first information collection unit.
  • the learning execution unit 214 executes learning using the information collected by the information collection unit 213.
  • the learning execution unit 214 may be an example of a first learning execution unit.
  • the learning execution unit 214 may execute learning in cooperation with a plurality of intermediate agents 220 using the information collected by the information collection unit 213.
  • the learning execution unit 214 may execute learning in cooperation with the plurality of lower-level agents 230 using the information collected by the information collection unit 213.
  • the learning execution unit 214 may execute learning in cooperation with the plurality of intermediate agents 220 and the plurality of lower-level agents 230 using the information collected by the information collection unit 213.
  • the learning execution unit 214 stores the learning results in the storage unit 211.
  • the learning result may include a model generated by learning by the learning execution unit 214.
  • the learning result may include a neural network generated by learning by the learning execution unit 214.
  • the learning execution unit 214 may be an example of a first learning execution unit.
  • the learning execution unit 214 may use any learning method. For example, the learning execution unit 214 first performs preliminary learning by simulation, and updates the model, neural network, etc. using information collected by the information collection unit 213. Actual data collected by the information collection unit 213 in the past may be used for preliminary learning. Synthetic data may be used for pre-learning. If the environment does not allow trial and error in learning, it is effective to perform rule-based learning instead of reinforcement learning and learn only its parameters.
  • the learning method may be ANN, DNN, heuristics, or the like.
  • the process execution unit 215 executes various processes.
  • the processing execution unit 215 may be an example of a first processing execution unit.
  • the processing execution unit 215 may use the learning results obtained by the learning execution unit 214 to execute processing on the information collected by the information collection unit 213.
  • the processing execution unit 215 may use the learning results obtained by the learning execution unit 214 to execute processing aimed at stabilizing the entire network to which the autonomous decentralized system 200 is applied.
  • the processing execution unit 215 may generate instruction information for the intermediate agent 220 or the lower-level agent 230 based on the result of analyzing the information collected by the information collection unit 213. For example, the processing execution unit 215 generates instruction information that instructs the lower-level agent 230 to send information to the intermediate agent 220 from among the information collected from the IoT device 400. For example, the processing execution unit 215 generates instruction information that instructs the intermediate agent 220 to process the information collected from the intermediate agent 220.
  • the processing execution unit 215 may generate learning information to be sent to the lower agent 230 based on the results of analyzing the information collected by the information collection unit 213.
  • the processing execution unit 215 may generate learning information to be sent to the intermediate agent 220 based on the result of analyzing the information collected by the information collection unit 213. For example, the processing execution unit 215 generates learning information including a reward set according to a change in the trend of the information collected by the information collection unit 213.
  • the information transmitter 216 transmits information. For example, the information transmitting unit 216 transmits the instruction information generated by the processing execution unit 215 to the lower agent 230. For example, the information transmitting unit 216 transmits instruction information generated by the processing execution unit 215 to the intermediate agent 220.
  • the information transmitting unit 216 transmits the learning information generated by the processing execution unit 215 to the lower agent 230.
  • the information transmitting unit 216 transmits the learning information generated by the processing execution unit 215 to the intermediate agent 220.
  • the lower-level agent 230 will perform analysis that requires more real-time performance, and the higher-level agent 210 will perform analysis that requires more real-time performance. Analyzing trends over long periods of time, intermediate agent 220 performs the corresponding analysis during that time.
  • multiple lower-level agents 230 collect image data, object detection data, etc. from multiple IoT devices 400 placed in the area. do.
  • the area is divided into a plurality of subareas, and each of the plurality of lower-level agents 230 collects information from the IoT device 400 placed in each of the plurality of subareas.
  • a plurality of lower-level agents 230 in charge of geographically adjacent subareas execute learning for detecting the occurrence of an accident while sharing information.
  • the lower agent 230 may use the learning results to detect the occurrence of an accident.
  • a plurality of intermediate agents 220 are also assigned to a group of subareas to collect information from lower level agents 230 that collect information from IoT devices 400 in subareas of the group.
  • the plurality of intermediate agents 220 perform learning to predict the occurrence of an accident by cooperating with each other.
  • Intermediate agent 220 may use the learning results to predict the occurrence of an accident.
  • the upper agent 210 performs learning for controlling overall information, for example, based on the prediction results of the plurality of intermediate agents 220.
  • the upper level agent 210 may increase the amount of information collected or increase the types of information for subareas where accidents are expected to occur, and reduce the amount of information collected for other subareas. , perform control such as reducing the types of information.
  • the lower-level agent 230 will route the message. implement.
  • the lower-level agent 230 cooperates with other lower-level agents 230 to perform learning to control Topic, To (including Copy), and division of messages from the publisher. Using the learning results, the lower-level agent 230 cooperates with other lower-level agents 230 to generate a topic, determine To, duplicate the message, and send the message so that the message from the publisher reaches the appropriate subscriber. Control splitting, etc.
  • the intermediate agent 220 monitors the routing by the lower agent 230 using information collected from the lower agent 230, and performs learning so that it can perform processing to resolve problems that occur in the routing. For example, the intermediate agent 220 buffers the message when there is a message with the same To whose destination is unknown, and sends a part of the buffered message to the network when the amount of buffering exceeds a threshold. Release. As a result, if it comes back again, it will be buffered for a certain period of time until it can be delivered. Then, when messages start to arrive, transmission of messages with the same To among the buffered messages is started.
  • the upper agent 210 performs learning to detect problems in the network using information collected from the intermediate agent 220.
  • the higher-level agent 210 detects a problem in the network using the learning results, it notifies the network operator of the detection result or outputs an instruction to change the network configuration.
  • each of the plurality of lower-level agents 230 may be assigned to a vehicle located within each region divided into a plurality of regions.
  • Information is collected from the IoT devices 400 installed, the IoT devices 400 installed in traffic lights, etc., the IoT devices 400 installed on roads, etc.
  • the lower-level agent 230 may collect vehicle location information, images captured by a vehicle camera or street camera, vehicle detection information or human detection information detected by a road sensor, information detected by a vehicle sensor, etc.
  • the system collects information such as the distance between vehicles, local weather information, vehicle navigation information, and vehicle speed.
  • the lower agent 230 will be in charge of a certain area, and will collect information from the IoT device 400 installed in the vehicle from the time a certain vehicle enters the area, and When exiting the vehicle, information collection is handed over to the subordinate agent 230 in charge of the area into which the vehicle enters.
  • the lower-level agent 230 shares information with other lower-level agents 230 to detect that the distance between vehicles is shorter than a threshold, or that the vehicle is in danger of colliding with a person or the like.
  • the lower agent 230 detects danger, it transmits danger detection information to the target vehicle.
  • the vehicle warns the driver or stops driving.
  • the intermediate agent 220 instructs the lower-level agent 230 what information to communicate.
  • the intermediate agent 220 analyzes (learns) important information (many people, many cars, etc.) based on information (day of the week, time, etc.) collected from the lower agent 230 in the past, and determines the collection priority. Make it possible to judge high-level information. Then, the intermediate agent 220 issues instructions to the lower agent 230 so that high priority information can be collected for each period.
  • the intermediate agent 220 can identify high-priority information with high accuracy.
  • the intermediate agent 220 instructs to prioritize vehicle detection results so that information can be collected in the morning on weekdays, and to prioritize human detection results in the afternoon on holidays. The system will now instruct users to collect information.
  • the higher level agent 210 performs a broader range of analysis, for example.
  • the upper level agent 210 performs prediction several steps ahead (at a set time) based on traffic information (traffic volume, time of day, day of the week, event, weather) for the area in charge (city, prefecture, country), and Provide information to 220.
  • traffic information traffic volume, time of day, day of the week, event, weather
  • area in charge city, prefecture, country
  • FIG. 7 schematically shows another example of the autonomous decentralized system 200.
  • the autonomous decentralized system 200 may further include a switch agent 250.
  • Switch agent 250 may control the amount of information flowing through communication network 100. For example, when message routing is controlled by upper level agent 210, intermediate agent 220, and lower level agent 230, switch agent 250 performs communication traffic control.
  • FIG. 8 schematically shows an example of the hardware configuration of a computer 1200 that implements the upper agent 210, intermediate agent 220, or lower agent 230.
  • the program installed on the computer 1200 causes the computer 1200 to function as one or more "parts" of the apparatus according to the present embodiment, or causes the computer 1200 to perform operations associated with the apparatus according to the present embodiment or the one or more "parts" of the apparatus according to the present embodiment.
  • Multiple units may be executed and/or the computer 1200 may execute a process or a stage of a process according to the present embodiments.
  • Such programs may be executed by CPU 1212 to cause computer 1200 to perform certain operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.
  • a computer 1200 includes a CPU 1212, a RAM 1214, and a graphics controller 1216, which are interconnected by a host controller 1210.
  • the computer 1200 also includes input/output units such as a communication interface 1222, a storage device 1224, a DVD drive 1226, and an IC card drive, which are connected to the host controller 1210 via an input/output controller 1220.
  • DVD drive 1226 may be a DVD-ROM drive, a DVD-RAM drive, or the like.
  • Storage device 1224 may be a hard disk drive, solid state drive, or the like.
  • Computer 1200 also includes legacy input/output units, such as ROM 1230 and a keyboard, which are connected to input/output controller 1220 via input/output chips 1240.
  • the CPU 1212 operates according to programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit.
  • Graphics controller 1216 obtains image data generated by CPU 1212, such as in a frame buffer provided in RAM 1214 or itself, and causes the image data to be displayed on display device 1218.
  • the communication interface 1222 communicates with other electronic devices via the network.
  • Storage device 1224 stores programs and data used by CPU 1212 within computer 1200.
  • the DVD drive 1226 reads a program or data from a DVD-ROM 1227 or the like and provides it to the storage device 1224.
  • the IC card drive reads programs and data from and/or writes programs and data to the IC card.
  • ROM 1230 stores therein programs such as a boot program executed by computer 1200 upon activation and/or programs dependent on the computer 1200 hardware.
  • I/O chip 1240 may also connect various I/O units to I/O controller 1220 via USB ports, parallel ports, serial ports, keyboard ports, mouse ports, etc.
  • the program is provided by a computer readable storage medium such as a DVD-ROM 1227 or an IC card.
  • the program is read from a computer-readable storage medium, installed in storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by CPU 1212.
  • the information processing described in these programs is read by the computer 1200 and provides coordination between the programs and the various types of hardware resources described above.
  • An apparatus or method may be configured to implement the operation or processing of information according to the use of computer 1200.
  • the CPU 1212 executes a communication program loaded into the RAM 1214 and sends communication processing to the communication interface 1222 based on the processing written in the communication program. You may give orders.
  • the communication interface 1222 reads transmission data stored in a transmission buffer area provided in a recording medium such as a RAM 1214, a storage device 1224, a DVD-ROM 1227, or an IC card under the control of the CPU 1212, and transmits the read transmission data. Data is transmitted to the network, or received data received from the network is written to a reception buffer area provided on the recording medium.
  • the CPU 1212 causes the RAM 1214 to read all or a necessary part of a file or database stored in an external recording medium such as a storage device 1224, a DVD drive 1226 (DVD-ROM 1227), or an IC card. Various types of processing may be performed on the data. CPU 1212 may then write the processed data back to an external storage medium.
  • an external recording medium such as a storage device 1224, a DVD drive 1226 (DVD-ROM 1227), or an IC card.
  • Various types of processing may be performed on the data.
  • CPU 1212 may then write the processed data back to an external storage medium.
  • CPU 1212 performs various types of operations, information processing, conditional determination, conditional branching, unconditional branching, and information retrieval on data read from RAM 1214 as described elsewhere in this disclosure and specified by the program's instruction sequence. Various types of processing may be performed, including /substitutions, etc., and the results are written back to RAM 1214. Further, the CPU 1212 may search for information in a file in a recording medium, a database, or the like.
  • the CPU 1212 selects the first entry from among the plurality of entries. Search for an entry whose attribute value matches the specified condition, read the attribute value of the second attribute stored in the entry, and then set the attribute value to the first attribute that satisfies the predetermined condition. An attribute value of the associated second attribute may be obtained.
  • the programs or software modules described above may be stored in a computer-readable storage medium on or near computer 1200.
  • a storage medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, thereby allowing the program to be transferred to the computer 1200 via the network. provide.
  • Blocks in the flowcharts and block diagrams of the present embodiments may represent a stage of a process in which an operation is performed or a "section" of a device responsible for performing the operation.
  • Certain steps and units may be provided with dedicated circuitry, programmable circuitry provided with computer readable instructions stored on a computer readable storage medium, and/or provided with computer readable instructions stored on a computer readable storage medium. May be implemented by a processor.
  • Dedicated circuitry may include digital and/or analog hardware circuits, and may include integrated circuits (ICs) and/or discrete circuits.
  • Programmable circuits can perform AND, OR, EXCLUSIVE OR, NAND, NOR, and other logical operations, such as field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), etc. , flip-flops, registers, and memory elements.
  • FPGAs field programmable gate arrays
  • PLAs programmable logic arrays
  • flip-flops registers, and memory elements.
  • a computer-readable storage medium may include any tangible device capable of storing instructions for execution by a suitable device such that a computer-readable storage medium with instructions stored therein may be illustrated in a flowchart or block diagram.
  • a product will be provided that includes instructions that can be executed to create a means for performing specified operations.
  • Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer readable storage media include floppy disks, diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory).
  • EEPROM Electrically Erasable Programmable Read Only Memory
  • SRAM Static Random Access Memory
  • CD-ROM Compact Disc Read Only Memory
  • DVD Digital Versatile Disk
  • Blu-ray Disc Memory Stick
  • integrated circuit cards and the like.
  • Computer-readable instructions may include assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state configuration data, or instructions such as Smalltalk®, JAVA®, C++, etc. any source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as may include.
  • ISA instruction set architecture
  • the computer-readable instructions are for producing means for a processor of a general purpose computer, special purpose computer, or other programmable data processing device, or programmable circuit to perform the operations specified in the flowchart or block diagrams.
  • a general purpose computer, special purpose computer, or other programmable data processor locally or over a local area network (LAN), wide area network (WAN), such as the Internet, to execute the computer readable instructions. It may be provided in a processor or programmable circuit of the device. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ネットワークに配置された、第1階層の第1階層エージェント及び前記第1階層よりも下位の第2階層の複数の第2階層エージェントを備え、前記複数の第2階層エージェントのそれぞれは、収集した情報を用いて、他の第2階層エージェントと協調して学習を実行し、学習結果を用いて生成した情報を前記第1階層エージェントに送信し、前記第1階層エージェントは、前記複数の第2階層エージェントから受信した情報を用いて学習を実行する、システムを提供する。

Description

システム
 本発明は、システムに関する。
 特許文献1には、マルチエージェントの強化学習について記載されている。
 [先行技術文献]
 [特許文献]
 [特許文献1]特開2004-227208号公報
一般的開示
 本発明の第1の態様によれば、システムが提供される。前記システムは、ネットワークに配置された、第1階層の第1階層エージェント及び前記第1階層よりも下位の第2階層の複数の第2階層エージェントを備えてよい。前記複数の第2階層エージェントのそれぞれは、収集した情報を用いて、他の第2階層エージェントと協調して学習を実行し、学習結果を用いて生成した情報を前記第1階層エージェントに送信してよい。前記第1階層エージェントは、前記複数の第2階層エージェントから受信した情報を用いて学習を実行してよい。前記システムは、前記第2階層よりも下位の第3階層の複数の第3階層エージェントを更に備えてよい。前記複数の第3階層エージェントのそれぞれは、収集した情報を用いて、他の第3階層エージェントと協調して学習を実行し、学習結果を用いて生成した情報を前記複数の第2階層エージェントの少なくともいずれかに送信してよい。前記複数の第3階層エージェントのそれぞれは、情報を収集する第3情報収集部と、前記第3情報収集部によって収集された情報を用いて、他の複数の第3階層エージェントと協調して学習を実行する第3学習実行部と、前記第3学習実行部による学習結果を用いて生成した情報を前記複数の第2階層エージェントの少なくともいずれかに送信する第3情報送信部とを有してよい。前記複数の第2階層エージェントのそれぞれは、複数の前記第3階層エージェントから情報を収集する第2情報収集部と、前記第2情報収集部によって収集された情報を用いて、他の複数の第2階層エージェントと協調して学習を実行する第2学習実行部と、前記第2学習実行部による学習結果を用いて生成した情報を前記第1階層エージェントに送信する第2情報送信部とを有してよい。前記第1階層エージェントは、複数の前記第2階層エージェントから情報を収集する第1情報収集部と、前記第1情報収集部によって収集された情報を用いて学習を実行する第1学習実行部とを有してよい。前記第1階層エージェントは、階層型ネットワークの第1NW階層に配置されてよく、前記複数の第2階層エージェントは、前記階層型ネットワークの前記第1NW階層よりも下位の第2NW階層に配置されてよく、前記複数の第3階層エージェントは、前記階層型ネットワークの前記第2NW階層よりも下位の第3NW階層に配置されてよい。前記階層型ネットワークは、クラウドネットワークであってよく、前記第1NW階層は、クラウドコンピューティングにより構成されてよく、前記第2NW階層は、複数のフォグコンピューティングにより構成されてよく、前記第3NW階層は、複数のエッジコンピューティングにより構成されてよい。前記階層型ネットワークは、クラウドネットワークであってよく、前記第1NW階層は、クラウドコンピューティングにより構成されてよく、前記第2NW階層は、複数のフォグコンピューティングにより構成されてよく、前記第3NW階層は、複数のエッジコンピューティングにより構成されてよく、前記第3情報収集部は、複数のIoT(Internet of Thing)デバイスから移動体通信によって情報を収集してよく、前記第3情報送信部は、前記第3学習実行部による学習結果を用いて、前記第3情報収集部が収集した情報から選択した情報、又は、前記学習結果を用いて生成した情報を前記複数の第2階層エージェントの少なくともいずれかに送信してよく、前記第2情報収集部は、前記第3情報送信部によって送信された情報を収集してよく、前記第2情報送信部は、前記第2学習実行部による学習結果を用いて、前記第2情報収集部が収集した情報から選択した情報、又は、前記学習結果を用いて生成した情報を前記第1階層エージェントに送信してよい。
 前記システムにおいて、前記複数の第3階層エージェントのそれぞれは、前記第3学習実行部による学習結果を用いて、前記第3情報収集部が収集した情報に対して処理を実行する第3処理実行部を有してよい。前記第3処理実行部は、前記第3情報収集部が収集した複数の情報を用いて、前記複数の第2階層エージェントの少なくともいずれかに送信する情報を生成してよい。前記第3処理実行部は、前記第3学習実行部による学習結果を用いて、前記第3情報収集部が収集した複数の情報から選択した情報を含む送信情報を生成してよい。前記第3処理実行部は、前記第3学習実行部による学習結果を用いて、前記第3情報収集部が収集した複数の情報をまとめたサマリ情報を生成してよい。前記第3情報送信部は、前記第3処理実行部によって生成された情報を前記複数の第2階層エージェントの少なくともいずれかに送信してよい。前記システムにおいて、前記複数の第2階層エージェントのそれぞれは、前記第2学習実行部による学習結果を用いて、前記第2情報収集部が収集した情報に対して処理を実行する第2処理実行部を有してよい。前記第2処理実行部は、前記第2情報収集部が収集した複数の情報を用いて、前記第1階層エージェントに送信する情報を生成してよい。前記第2処理実行部は、前記第2学習実行部による学習結果を用いて、前記第2情報収集部が収集した複数の情報から選択した情報を含む送信情報を生成してよい。前記第2処理実行部は、前記第2学習実行部による学習結果を用いて、前記第2情報収集部が収集した複数の情報をまとめたサマリ情報を生成してよい。前記第2情報送信部は、前記第2処理実行部によって生成された情報を前記第1階層エージェントに送信してよい。前記システムにおいて、前記第1階層エージェントは、前記第1学習実行部による学習結果を用いて、前記第1情報収集部が収集した情報に対して処理を実行する第1処理実行部を有してよい。前記第1処理実行部は、前記第1学習実行部による学習結果を用いて、前記システムが適用されたネットワークの全体を安定させることを目的とした処理を実行してよい。前記第1処理実行部は、前記第1情報収集部が収集した情報を解析した結果に基づいて、前記複数の第2階層エージェントの少なくともいずれか、又は前記複数の第3階層エージェントの少なくともいずれかに対する指示情報を生成してもよい。前記第1処理実行部は、前記複数の第3階層エージェントの少なくともいずれかに対して、IoTデバイスから収集した情報のうちの前記複数の第2階層エージェントの少なくともいずれかに送信する情報を指示する指示情報を生成してよい。前記第1処理実行部は、前記複数の第2階層エージェントの少なくともいずれかに対して、前記複数の第2階層エージェントの少なくともいずれかから収集した情報の処理内容を指示する指示情報を生成してよい。前記第1処理実行部は、前記第1情報収集部が収集した情報を解析した結果に基づいて、前記複数の第3階層エージェントの少なくともいずれかに送信する学習用情報を生成してもよい。前記第1処理実行部は、前記第1情報収集部が収集した情報を解析した結果に基づいて、前記複数の第2階層エージェントの少なくともいずれかに送信する学習用情報を生成してもよい。前記第1処理実行部は、前記第1情報収集部が収集した情報の傾向の変化に合わせて設定した報酬を含む学習用情報を生成してよい。
 前記システムが、複数のIoTデバイスによって送信される情報の解析を一つの目的としている場合、前記複数の第3階層エージェントは、よりリアルタイム性を求められる解析を実行し、前記第1階層エージェントは、ある程度長い期間の傾向を解析し、前記複数の第2階層エージェントは、その間に相当する解析を実行してよい。前記システムが、ある地域における事故の発生状況を管理することを目的とした場合に、前記複数の第3階層エージェントが、当該地域に配置された複数のIoTデバイスから画像データ及び物体検知データを収集し、地理的に近接するサブエリアを担当する複数の第3階層エージェントが、情報を共有しながら、事故の発生を検出するための学習を実行し、第3階層エージェントは、学習結果を用いて、事故の発生を検出し、複数の第2階層エージェントが、サブエリアのグループに対して割り当てられ、グループのサブエリアのIoTデバイスから情報を収集する第3階層エージェントから情報を収集し、複数の第2階層エージェントは、互いに協調することによって、事故の発生を予測するための学習を実行し、第2階層エージェントは、学習結果を用いて事故の発生を予測し、第1階層エージェントは、複数の第2階層エージェントによる予測結果によって、全体的な情報の制御を行うための学習を実行してよい。第1階層エージェントは、事故の発生が予測されるサブエリアについて、収集する情報量を増やしたり、情報の種類を増やしたりし、それ以外のサブエリアについて、収集する情報量を減らしたり、情報の種類を減らしたりする制御を行ってよい。
 例えば、前記システムが、クラウドネットワークにおける、IoTデバイスによって取得された情報を通知するメッセージのルーティングを円滑に実施することを一つの目的としている場合、前記第3階層エージェントは、メッセージのルーティングを実施してよい。前記第3階層エージェントは、他の前記第3階層エージェントと協調して、パブリッシャーからのメッセージについて、Topic、To(Copyを含む)、及び分割を制御するような学習を実行してよい。前記第3階層エージェントは、学習結果を用いて、他の前記第3階層エージェントと協調して、パブリッシャーからのメッセージが、適切なサブスクライバーに到達するようにTopicの生成、Toの決定、メッセージの複製、メッセージの分割などを制御してよい。前記第2階層エージェントは、例えば、前記第3階層エージェントから収集する情報によって、前記第3階層エージェントによるルーティングを監視し、ルーティングに発生した問題を解消する処理を実行できるような学習を実行してよい。前記第2階層エージェントは、宛先不明の同じToのメッセージが存在する場合に、メッセージをバッファリングし、バッファリングの量が閾値を超えた場合に、バッファリングしているメッセージの一部をネットワークに放ち、その結果、再度戻ってきた場合には、届くようになるまでか、一定時間、バッファリングをし、メッセージが届き始めたら、バッファリングしているメッセージのうち、同じToのメッセージについて送信を開始してよい。前記第1階層エージェントは、前記第2階層エージェントから収集する情報によって、ネットワークにおける問題点を検出するための学習を実行してよい。前記第1階層エージェントは、学習結果を用いて、ネットワークの問題点を検出した場合に、検出結果をネットワークのオペレータに通知したり、ネットワークの構成を変更する指示を出力したりしてよい。
 例えば、前記システムが、自動運転に関する制御を実施することを一つの目的としている場合、複数の第3階層エージェントのそれぞれは、複数に区切られた地域毎に、その地域内に位置する車両に搭載されたIoTデバイス、信号機等に搭載されたIoTデバイス、及び道路等に設置されたIoTデバイスから、情報を収集してよい。前記第3階層エージェントは、車両の位置情報、車両のカメラや、街頭のカメラによって撮像された画像、道路のセンサによって検知された車両検知情報や人検知情報、車両のセンサ等によって検知された車両間距離、地域における天候情報、車両のナビゲーション情報、及び車両の走行速度の少なくともいずれかを収集してよい。前記第3階層エージェントは、あるエリアを担当することになり、ある車両が当該エリアに入ったときから、当該車両に搭載されているIoTデバイスからの情報を収集し、当該車両が当該エリアを出るときに、当該車両が入るエリアを担当する前記第3階層エージェントに、情報の収集を引き継いでよい。前記第3階層下位エージェントは、他の前記第3階層エージェントと情報を共有して、車間距離が閾値より短くなっていることや、車両が人等と衝突するような危険の検知を実行してよい。前記第3階層エージェントは、危険を検知した場合に、対象となる車両に対して、危険検知情報を送信してよい。前記第2階層エージェントは、前記第3階層エージェントに、何の情報を通信するかを指示してよい。前記第2階層エージェントは、過去に前記第3階層エージェントから収集した情報(曜日、時間等)に基づいて、重要情報(人が多い、車が多い等)を分析(学習)し、収集の優先度が高い情報を判定可能にしてよい。前記第2階層エージェントは、期間毎に、優先度の高い情報を収集できるように、前記第3階層エージェントに指示を出してよい。前記第2階層エージェントは、他の前記第2階層エージェントと協調して学習することによって、優先度の高い情報を高い精度で特定可能になってよい。前記第2階層エージェントは、学習の結果、平日の朝は、車検知結果の優先度を高くして情報が収集できるように指示し、休日の昼は、人検知結果の優先度を高くして情報が収集できるように指示するようになってよい。前記第1階層エージェントは、より広い範囲の解析を実行してよい。前記第1階層エージェントは、担当エリア(市、県、国単位の交通情報(交通量、時刻、曜日、イベント、天候)から、数ステップ先の(設定した時刻の)予測を実行し、前記第2階層エージェントに情報を提供してよい。
 なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
自律分散システムの適用対象であるネットワーク100の一例を概略的に示す。 ネットワーク100の一例であるクラウドネットワーク300の一例を概略的に示す。 自律分散システム200の一例を概略的に示す。 下位エージェント230の機能構成の一例を概略的に示す。 中間エージェント220の機能構成の一例を概略的に示す。 上位エージェント210の機能構成の一例を概略的に示す。 自律分散システム200の他の一例を概略的に示す。 上位エージェント210、中間エージェント220、又は下位エージェント230を実装するコンピュータ1200のハードウェア構成の一例を概略的に示す。
 マルチエージェントシステムの一つである自律分散システムが知られている。自律分散システムでは、複数のエージェントのそれぞれが、独自に自律的に学習し、協調行動を獲得することを目的としている。各エージェントが全く同じ状態(構造やパラメータ)をhomogeniousといい、homogeniousから、それぞれ異なる状態(Heterogenious)になることを機能分化という。自律分散システムの適用例として、Targetと複数のHunterが存在し、複数のHunterがTargetの捕まえ方を学習する、すなわち、複数のHunterエージェントが、自身の役割をそれぞれ学習し、協調してTargetを捕まえる追跡問題のような例がある。自律分散システムでは、同じ性能のエージェント群(homo)が、学習をすることで機能分化し、それぞれが役割を持つようになる(hetero)。例えば、追跡問題では、まっすぐに追いかけるエージェントと、回り込むエージェントに分かれてくる。このような技術を用いることによって、例えば、同じアルゴリズムで、自律的に、環境に適応した学習を行ったり、マルチエージェントで、自律的に分散して学習したりすることができる。本実施形態では、自律分散システムを、ネットワークに適用する。
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、自律分散システムの適用対象である通信ネットワーク100の一例を概略的に示す。通信ネットワーク100は、階層型のネットワークである。通信ネットワーク100は、上位コンピューティング110と、複数の中間コンピューティング120と、複数の下位コンピューティング130とによって構成される。
 上位コンピューティング110によって、第1NW(NetWork)階層が構成され、複数の中間コンピューティング120によって、第1NW階層よりも下位の第2NW階層が構成され、複数の下位コンピューティング130によって、第2NW階層よりも下位の第3NW階層が構成される。
 自律分散システムの適用対象である通信ネットワーク100は、階層構造を備えていればどのような通信ネットワークであってもよい。例えば、通信ネットワーク100は、クラウドネットワークである。
 図2は、通信ネットワーク100の一例であるクラウドネットワーク300の一例を概略的に示す。クラウドネットワーク300は、クラウドコンピューティング310と、複数のフォグコンピューティング320と、複数のエッジコンピューティング330とによって構成される。
 クラウドコンピューティング310は、上位コンピューティング110の一例であってよい。フォグコンピューティング320は、中間コンピューティング120の一例であってよい。エッジコンピューティング330は、下位コンピューティング130の一例であってよい。
 クラウドネットワーク300において、第1NW階層は、クラウドコンピューティング310によって構成され、第2NW階層は、複数のフォグコンピューティング320によって構成され、第3NW階層は、複数のエッジコンピューティング330によって構成される。
 複数のエッジコンピューティング330のそれぞれは、移動通信システムを介して、1又は複数のIoTデバイス400と通信する。複数のIoTデバイス400のそれぞれは、無線基地局及びWi-Fi(登録商標)アクセスポイント等を介して、複数のエッジコンピューティング330の少なくともいずれかに対して情報を送信してよい。
 IoTデバイス400は、何らかの情報を取得して送信可能であれば、どのようなデバイスであってもよい。IoTデバイス400は、例えば、各種センサを備える。IoTデバイス400が送信する情報の例として、画像データ(静止画像、動画像)、音データ、赤外線データ、位置データ、物体検知データ、距離データ、天候データ、温度データ、及び湿度データ等が挙げられるが、ほんの一例であり、どのような情報であってもよい。
 当該移動通信システムは、例えば、5G(5th Generation)通信システムである。当該移動通信システムは、LTE(Long Term Evolution)通信システムであってもよい。当該移動通信システムは、3G(3rd Generation)通信システムであってもよい。当該移動通信システムは、6G(6th Generation)通信システム以降の移動通信システムであってもよい。
 図3は、自律分散システム200の一例を概略的に示す。自律分散システム200は、階層構造を有する複数のエージェントによって構成される。図3に示す例において、自律分散システム200は、上位エージェント210、複数の中間エージェント220、及び複数の下位エージェント230を備える。
 自律分散システム200は、通信ネットワーク100に適用される。例えば、上位エージェント210が、上位コンピューティング110に配置され、複数の中間エージェント220のそれぞれが、複数の中間コンピューティング120のそれぞれに配置され、複数の下位エージェント230のそれぞれが、複数の下位コンピューティング130のそれぞれに配置される。1つの中間コンピューティング120に対して複数の中間エージェント220が配置されてもよい。1つの下位コンピューティング130に複数の下位エージェント230が配置されてもよい。
 図2では、自律分散システム200が3階層によって構成される場合を例示しているが、これに限らない。自律分散システム200は、2階層であってもよく、4階層以上であってもよい。自律分散システム200が2階層である場合、自律分散システム200は、上位エージェント210と、複数の下位エージェント230とを備えてよい。この例において、上位エージェント210は、第1階層の第1階層エージェントの例であってよく、下位エージェント230は、第2階層の複数の第2階層エージェントの一例であってよい。この場合、例えば、上位エージェント210が上位コンピューティング110に配置され、複数の下位エージェント230のそれぞれが、複数の下位コンピューティング130のそれぞれに配置される。また、例えば、上位エージェント210が、複数の中間コンピューティング120のいずれかに配置され、複数の下位エージェント230が、複数の下位コンピューティング130のそれぞれに配置される。なお、この場合、通信ネットワーク100は、複数の中間コンピューティング120を備えずに、2階層により構成されてもよい。
 自律分散システム200は、例えば、クラウドネットワーク300に適用される。例えば、上位エージェント210が、クラウドコンピューティング310に配置され、複数の中間エージェント220のそれぞれが、複数のフォグコンピューティング320のそれぞれに配置され、複数の下位エージェント230のそれぞれが、複数のエッジコンピューティング330のそれぞれに配置される。1つのフォグコンピューティング320に対して複数の中間エージェント220が配置されてもよい。1つのエッジコンピューティング330に複数の下位エージェント230が配置されてもよい。
 自律分散システム200が2階層である場合、例えば、上位エージェント210がクラウドコンピューティング310に配置され、複数の下位エージェント230のそれぞれが、複数のエッジコンピューティング330のそれぞれに配置される。また、例えば、上位エージェント210が、複数のフォグコンピューティング320のいずれかに配置され、複数の下位エージェント230が、複数のエッジコンピューティング330のそれぞれに配置される。なお、この場合、クラウドネットワーク300は、複数のフォグコンピューティング320を備えずに、2階層により構成されてもよい。
 下位エージェント230は、情報を収集する。下位エージェント230は、例えば、IoTデバイス400によって送信された情報を収集する。下位エージェント230は、IoTデバイス400から移動体通信によって情報を収集してよい。下位エージェント230は、IoTデバイス400以外の任意のデバイスによって送信された情報を収集してもよい。下位エージェント230は、IoTデバイス400以外の任意のデバイスから移動体通信によって情報を収集してよい。
 下位エージェント230は、収集した情報を用いて、他の下位エージェント230と協調して学習を実行する。下位エージェント230は、予め登録された報酬に従って、学習を実行してよい。下位エージェント230は、予め登録された知識に従って、学習を実行してよい。下位エージェント230は、学習結果を用いて各種処理を実行してよい。例えば、下位エージェント230は、学習結果を用いて、収集した複数の情報のうち、中間エージェント220に送信する情報を選択して、中間エージェント220に送信する。例えば、下位エージェント230は、学習結果を用いて、収集した複数の情報をまとめたサマリ情報を生成して、中間エージェント220に送信する。
 例えば、複数のIoTデバイス400によって送信される多量の情報のうち、有用な情報のみを上位階層に送信することを目的とした場合に、下位エージェント230がIoTデバイス400から収集して中間エージェント220又は上位エージェント210に送信する情報の有用度が、報酬として登録される。複数の下位エージェント230のそれぞれは、他の下位エージェント230と協調しながら、それぞれ自律的に報酬を最大化するように学習を進める。複数の下位エージェント230は、異なる1又は複数のIoTデバイス400から情報を収集しており、それぞれ異なる基準で、収集情報から上位階層に送信する情報を選択したり、収集情報から上位階層に送信するサマリ情報を生成したりするようになり、全体的に有用度の高い情報のみが上位階層に伝わるようにシステムが構築され得る。
 下位エージェント230は、比較的リアルタイム性の高い処理を実行してよい。例えば、下位エージェント230は、1分及び3分等の予め定められた時間毎に、1又は複数のIoTデバイス400から収集する情報に対して、学習結果を用いて、選択処理を行ったり、サマリ情報の生成処理を行ったりして、情報を上位階層に送信する。これにより、上位階層に送信する情報をリアルタイムに調整することが可能となる。例えば、昼間は画像が、夜は赤外線データが多い情報を扱うエッジコンピューティング330に配置された複数の下位エージェント230の場合、多くの下位エージェント230が、昼は画像を担当し、夜は赤外線データを担当するようになる。このように、下位エージェント230は動的に環境に適応することが可能であるため、例えば、収集対象のIoTデバイス400を変更したり、収集対象のIoTデバイス400が収集する情報の種類が変わったりした場合であっても、適応可能である。このように、下位エージェント230は、処理をリアルタイムに実行してよいが、時間遅れで統計情報を送信したり、サマリ情報を送信したりしてもよい。下位エージェント230は、意図的にディレイを入れることが可能であってもよい。
 中間エージェント220は、情報を収集する。中間エージェント220は、下位エージェント230から情報を収集してよい。中間エージェント220は、例えば、下位エージェント230がIoTデバイス400から収集した情報を、下位エージェント230から収集する。中間エージェント220は、例えば、下位エージェント230がIoTデバイス400から収集した複数の情報のうち、下位エージェント230によって選択された情報を下位エージェント230から収集する。中間エージェント220は、例えば、下位エージェント230がIoTデバイス400から収集した複数の情報をまとめたサマリ情報を、下位エージェント230から収集する。
 中間エージェント220は、収集した情報を用いて、他の中間エージェント220と協調して学習を実行する。中間エージェント220は、学習結果を用いて各種処理を実行してよい。例えば、中間エージェント220は、学習結果を用いて、収集した複数の情報のうち、中間エージェント220に送信する情報を選択して、上位エージェント210に送信する。例えば、中間エージェント220は、学習結果を用いて、収集した複数の情報をまとめたサマリ情報を生成して、上位エージェント210に送信する。
 中間エージェント220は、下位エージェント230と比較してリアルタイム性の低い処理を実行してよい。例えば、中間エージェント220は、1時間及び1日等の予め定められた期間毎に、1又は複数の下位エージェント230から収集する情報を用いた処理を実行する。中間エージェント220は、例えば、予め定められた期間の情報を用いた学習を実行する。中間エージェント220は、他の中間エージェント220と協調して、複数の下位エージェント230から上位階層に送信される情報の量を調整したり、複数の中間エージェント220から上位エージェント210に対して送信する情報の量を調整したりしてもよい。中間エージェント220は、自律分散システム200におけるロバスト性を担保するような学習や処理を実行してもよい。中間エージェント220は、自律分散システム200におけるSpinal Cordの役割を担ってもよい。中間エージェント220は、下位エージェント230から情報を受信した場合に、上位エージェント210に対して当該情報や当該情報に基づいて生成した情報を送信するか、下位エージェント230に対して応答したり指示を送信したりするかを判定してもよい。
 上位エージェント210は、情報を収集する。上位エージェント210は、中間エージェント220から情報を収集してよい。上位エージェント210は、例えば、中間エージェント220から下位エージェント230から収集した情報を、下位エージェント230から収集する。上位エージェント210は、例えば、中間エージェント220が下位エージェント230から収集した複数の情報のうち、中間エージェント220によって選択された情報を中間エージェント220から収集する。上位エージェント210は、例えば、中間エージェント220が下位エージェント230から収集した複数の情報をまとめたサマリ情報を、中間エージェント220から収集する。上位エージェント210は、下位エージェント230から情報を収集してもよい。
 上位エージェント210は、収集した情報を用いた処理を実行する。上位エージェント210は、例えば、収集した情報を用いた学習を実行する。上位エージェント210は、例えば、学習結果を用いて各種処理を実行する。
 上位エージェント210は、中間エージェント220と比較してリアルタイム性の低い処理を実行してよい。例えば、上位エージェント210は、1週間、1カ月、及び1年等の予め定められた期間毎に、収集した情報を用いた処理を実行する。上位エージェント210は、例えば、予め定められた期間の情報を用いた学習を実行する。
 上位エージェント210は、自律分散システム200の全体を安定させることを目的とした処理を実行してもよい。例えば、上位エージェント210は、収集した情報に基づいて、通信ネットワーク100やクラウドネットワーク300の全体の通信負荷の要因分析等を実行してよい。上位エージェント210は、収集した情報の内容や、情報の収集状況によって、ネットワークにおける通信負荷が高まっている位置を特定して、通信負荷を低減するように、例えば、IoTデバイス400、下位エージェント230、中間エージェント220によって送信される情報の量を調整したり、伝搬経路を調整したりしてよい。
 いわゆるクラウドネットワークにおいて取り扱われる情報の量は非常に増加している。今後、5G移動通信システムの普及がより進み、IoTデバイスの数が増加することによって、情報量はさらに増加することが想定される。このような情報量の増加に対して、ネットワークの通信機能の向上や、ネットワーク機器の性能の向上が、常套手段としての対応策となるが、それのみでは対応しきれない可能性がある。それに対して、本実施形態に係る自律分散システム200をネットワークに適用することによって、処理を階層化することができる。自律分散システム200によれば、例えば、下位エージェント230によってリアルタイム性の高い処理を実行しつつ、有用な情報に絞って上位階層に伝達し、中間エージェント220によって、厳選された情報を用いた、もう少し広いスパンの情報処理を行いつつ、情報をさらに絞り、上位エージェント210において、更に厳選された情報を用いた、更に広いスパンの情報処理を行ったり、ネットワーク全体の安定化が図られたりするので、大量の情報を適切に取り扱える環境の構築に貢献することができる。
 図4は、下位エージェント230の機能構成の一例を概略的に示す。下位エージェント230は、記憶部231、登録部232、情報収集部233、学習実行部234、処理実行部235、及び情報送信部236を備える。
 登録部232は、各種登録を実行する。登録部232は、例えば、下位エージェント230が学習に用いる学習用情報を登録する。登録部232は、登録した学習用情報を記憶部231に記憶する。学習用情報は、報酬を含んでよい。学習用情報は、知識を含んでよい。登録部232は、例えば、自律分散システム200のオペレータ等による入力を受け付けることによって、学習用情報を登録する。登録部232は、例えば、上位エージェント210から受信した学習用情報を登録する。登録部232は、例えば、中間エージェント220から受信した学習用情報を登録する。登録部232は、第3登録部の一例であってよい。
 情報収集部233は、情報を収集する。情報収集部233は、任意のデバイスによって送信された情報を収集してよい。情報収集部233は、例えば、IoTデバイス400によって送信された情報を収集する。情報収集部233は、IoTデバイス400から移動体通信によって情報を収集してよい。情報収集部233は、収集した情報を記憶部231に記憶する。情報収集部233は、第3情報収集部の一例であってよい。
 学習実行部234は、情報収集部233が収集した情報を用いて、学習を実行する。学習実行部234は、情報収集部233が収集した情報を用いて、他の下位エージェント230と協調して学習を実行してよい。
 学習実行部234は、学習結果を記憶部231に記憶する。学習結果は、学習実行部234が学習によって生成したモデルを含んでよい。学習結果は、学習実行部234が学習によって生成したニューラルネットワークを含んでよい。学習実行部234は、第3学習実行部の一例であってよい。
 学習実行部234は、任意の学習方法を用いてよい。例えば、学習実行部234は、まず、シミュレーションによる事前学習(Pre-training)を実行し、情報収集部233が収集する情報によって、モデル及びニューラルネットワーク等を更新する。事前学習には、過去に情報収集部233が収集した実データを用いてよい。事前学習には、シンセティックデータを用いてもよい。学習にトライアンドエラーが許されない環境である場合、強化学習ではなく、ルールベースで学習を行い、そのパラメータのみを学習する方法が有効である。学習方法は、ANN(Artificial Neural Network)、DNN(Deep Neural Network)、ヒューリスティクス等であってもよい。
 処理実行部235は、各種処理を実行する。処理実行部235は、学習実行部234による学習結果を用いて、情報収集部233が収集した情報に対して処理を実行してよい。処理実行部235は、情報収集部233が収集した複数の情報を用いて、中間エージェント220に送信する情報を生成してよい。
 例えば、処理実行部235は、学習実行部234による学習結果を用いて、情報収集部233が収集した複数の情報から選択した情報を含む送信情報を生成する。例えば、処理実行部235は、学習実行部234による学習結果を用いて、情報収集部233が収集した複数の情報をまとめたサマリ情報を生成する。処理実行部235は、第3処理実行部の一例であってよい。
 情報送信部236は、情報を送信する。例えば、情報送信部236は、情報収集部233によって収集された情報を中間エージェント220に送信する。例えば、情報送信部236は、処理実行部235によって生成された情報を中間エージェント220に送信する。情報送信部236は、第3情報送信部の一例であってよい。
 図5は、中間エージェント220の機能構成の一例を概略的に示す。中間エージェント220は、記憶部221、登録部222、情報収集部223、学習実行部224、処理実行部225、及び情報送信部226を備える。
 登録部222は、各種登録を実行する。登録部222は、例えば、中間エージェント220が学習に用いる学習用情報を登録する。登録部222は、登録した学習用情報を記憶部221に記憶する。学習用情報は、報酬を含んでよい。学習用情報は、知識を含んでよい。登録部222は、例えば、自律分散システム200のオペレータ等による入力を受け付けることによって、学習用情報を登録する。登録部222は、例えば、上位エージェント210から受信した学習用情報を登録する。登録部222は、第2登録部の一例であってよい。
 情報収集部223は、情報を収集する。情報収集部223は、下位エージェント230から情報を収集してよい。情報収集部223は、例えば、下位エージェント230の情報送信部236が送信した情報を収集する。情報収集部223は、収集した情報を記憶部221に記憶する。情報収集部223は、第2情報収集部の一例であってよい。
 学習実行部224は、情報収集部223が収集した情報を用いて、学習を実行する。学習実行部224は、情報収集部223が収集した情報を用いて、他の中間エージェント220と協調して学習を実行してよい。
 学習実行部224は、学習結果を記憶部221に記憶する。学習結果は、学習実行部224が学習によって生成したモデルを含んでよい。学習結果は、学習実行部224が学習によって生成したニューラルネットワークを含んでよい。学習実行部224は、第2学習実行部の一例であってよい。
 学習実行部224は、任意の学習方法を用いてよい。例えば、学習実行部224は、まず、シミュレーションによる事前学習を実行し、情報収集部223が収集する情報によって、モデル及びニューラルネットワーク等を更新する。事前学習には、過去に情報収集部223が収集した実データを用いてよい。事前学習には、シンセティックデータを用いてもよい。学習にトライアンドエラーが許されない環境である場合、強化学習ではなく、ルールベースで学習を行い、そのパラメータのみを学習する方法が有効である。学習方法は、ANN、DNN、ヒューリスティクス等であってもよい。
 処理実行部225は、各種処理を実行する。処理実行部225は、学習実行部224による学習結果を用いて、情報収集部223が収集した情報に対して処理を実行してよい。処理実行部225は、情報収集部223が収集した複数の情報を用いて、上位エージェント210に送信する情報を生成してよい。
 例えば、処理実行部225は、学習実行部224による学習結果を用いて、情報収集部223が収集した複数の情報から選択した情報を含む送信情報を生成する。例えば、処理実行部225は、学習実行部224による学習結果を用いて、情報収集部223が収集した複数の情報をまとめたサマリ情報を生成する。処理実行部225は、第2処理実行部の一例であってよい。
 情報送信部226は、情報を送信する。例えば、情報送信部226は、情報収集部223によって収集された情報を上位エージェント210に送信する。例えば、情報送信部226は、処理実行部225によって生成された情報を上位エージェント210に送信する。情報送信部226は、第2情報送信部の一例であってよい。
 図6は、上位エージェント210の機能構成の一例を概略的に示す。上位エージェント210は、記憶部211、登録部212、情報収集部213、学習実行部214、処理実行部215、及び情報送信部216を備える。
 登録部212は、各種登録を実行する。登録部212は、例えば、上位エージェント210が学習に用いる学習用情報を登録する。登録部212は、登録した学習用情報を記憶部211に記憶する。学習用情報は、報酬を含んでよい。学習用情報は、知識を含んでよい。登録部212は、例えば、自律分散システム200のオペレータ等による入力を受け付けることによって、学習用情報を登録する。登録部212は、第1登録部の一例であってよい。
 情報収集部213は、情報を収集する。情報収集部213は、中間エージェント220から情報を収集してよい。情報収集部213は、例えば、中間エージェント220の情報送信部226が送信した情報を収集する。情報収集部213は、収集した情報を記憶部211に記憶する。情報収集部213は、第1情報収集部の一例であってよい。
 学習実行部214は、情報収集部213が収集した情報を用いて、学習を実行する。学習実行部214は、第1学習実行部の一例であってよい。学習実行部214は、情報収集部213が収集した情報を用いて、複数の中間エージェント220と協調して学習を実行してもよい。学習実行部214は、情報収集部213が収集した情報を用いて、複数の下位エージェント230と協調して学習を実行してもよい。学習実行部214は、情報収集部213が収集した情報を用いて、複数の中間エージェント220及び複数の下位エージェント230と協調して学習を実行してもよい。
 学習実行部214は、学習結果を記憶部211に記憶する。学習結果は、学習実行部214が学習によって生成したモデルを含んでよい。学習結果は、学習実行部214が学習によって生成したニューラルネットワークを含んでよい。学習実行部214は、第1学習実行部の一例であってよい。
 学習実行部214は、任意の学習方法を用いてよい。例えば、学習実行部214は、まず、シミュレーションによる事前学習を実行し、情報収集部213が収集する情報によって、モデル及びニューラルネットワーク等を更新する。事前学習には、過去に情報収集部213が収集した実データを用いてよい。事前学習には、シンセティックデータを用いてもよい。学習にトライアンドエラーが許されない環境である場合、強化学習ではなく、ルールベースで学習を行い、そのパラメータのみを学習する方法が有効である。学習方法は、ANN、DNN、ヒューリスティクス等であってもよい。
 処理実行部215は、各種処理を実行する。処理実行部215は、第1処理実行部の一例であってよい。処理実行部215は、学習実行部214による学習結果を用いて、情報収集部213が収集した情報に対して処理を実行してよい。処理実行部215は、学習実行部214による学習結果を用いて、自律分散システム200が適用されたネットワークの全体を安定させることを目的とした処理を実行してよい。
 処理実行部215は、情報収集部213が収集した情報を解析した結果に基づいて、中間エージェント220又は下位エージェント230に対する指示情報を生成してもよい。処理実行部215は、例えば、下位エージェント230に対して、IoTデバイス400から収集した情報のうちの中間エージェント220に送信する情報を指示する指示情報を生成する。処理実行部215は、例えば、中間エージェント220に対して、中間エージェント220から収集した情報の処理内容を指示する指示情報を生成する。
 処理実行部215は、情報収集部213が収集した情報を解析した結果に基づいて、下位エージェント230に送信する学習用情報を生成してもよい。処理実行部215は、情報収集部213が収集した情報を解析した結果に基づいて、中間エージェント220に送信する学習用情報を生成してもよい。例えば処理実行部215は、情報収集部213が収集した情報の傾向の変化に合わせて設定した報酬を含む学習用情報を生成する。
 情報送信部216は、情報を送信する。例えば、情報送信部216は、処理実行部215によって生成された指示情報を下位エージェント230に送信する。例えば、情報送信部216は、処理実行部215によって生成された指示情報を中間エージェント220に送信する。
 例えば、情報送信部216は、処理実行部215によって生成された学習用情報を下位エージェント230に送信する。例えば、情報送信部216は、処理実行部215によって生成された学習用情報を中間エージェント220に送信する。
 例えば、自律分散システム200が、複数のIoTデバイス400によって送信される情報の解析を一つの目的としている場合、下位エージェント230は、よりリアルタイム性を求められる解析を実行し、上位エージェント210は、ある程度長い期間の傾向を解析し、中間エージェント220は、その間に相当する解析を実行する。
 具体例として、ある地域における事故の発生状況を管理することを目的とした場合に、複数の下位エージェント230が、当該地域に配置された複数のIoTデバイス400から画像データや物体検知データ等を収集する。例えば、当該地域が複数のサブエリアに分けられ、複数の下位エージェント230のそれぞれが、複数のサブエリアのそれぞれに配置されているIoTデバイス400から情報を収集する。そして、地理的に近接するサブエリアを担当する複数の下位エージェント230が、情報を共有しながら、事故の発生を検出するための学習を実行する。下位エージェント230は、学習結果を用いて、事故の発生を検出してよい。また、複数の中間エージェント220が、サブエリアのグループに対して割り当てられ、グループのサブエリアのIoTデバイス400から情報を収集する下位エージェント230から情報を収集する。例えば、複数の中間エージェント220は、互いに協調することによって、事故の発生を予測するための学習を実行する。中間エージェント220は、学習結果を用いて事故の発生を予測してよい。上位エージェント210は、例えば、複数の中間エージェント220による予測結果によって、全体的な情報の制御を行うための学習を実行する。具体例として、上位エージェント210は、事故の発生が予測されるサブエリアについて、収集する情報量を増やしたり、情報の種類を増やしたりし、それ以外のサブエリアについて、収集する情報量を減らしたり、情報の種類を減らしたりする制御を行う。
 例えば、自律分散システム200が、クラウドネットワーク300における、IoTデバイス400によって取得された情報を通知するメッセージのルーティングを円滑に実施することを一つの目的としている場合、下位エージェント230は、メッセージのルーティングを実施する。下位エージェント230は、他の下位エージェント230と協調して、パブリッシャーからのメッセージについて、Topic、To(Copyを含む)、及び分割を制御するような学習を実行する。下位エージェント230は、学習結果を用いて、他の下位エージェント230と協調して、パブリッシャーからのメッセージが、適切なサブスクライバーに到達するようにTopicの生成、Toの決定、メッセージの複製、メッセージの分割などを制御する。
 中間エージェント220は、例えば、下位エージェント230から収集する情報によって、下位エージェント230によるルーティングを監視し、ルーティングに発生した問題を解消する処理を実行できるような学習を実行する。例えば、中間エージェント220は、宛先不明の同じToのメッセージが存在する場合に、メッセージをバッファリングし、バッファリングの量が閾値を超えた場合に、バッファリングしているメッセージの一部をネットワークに放つ。その結果、再度戻ってきた場合には、届くようになるまでか、一定時間、バッファリングをする。そして、メッセージが届き始めたら、バッファリングしているメッセージのうち、同じToのメッセージについて送信を開始する。
 上位エージェント210は、例えば、中間エージェント220から収集する情報によって、ネットワークにおける問題点を検出するための学習を実行する。そして、上位エージェント210は、学習結果を用いて、ネットワークの問題点を検出した場合に、検出結果をネットワークのオペレータ等に通知したり、ネットワークの構成を変更する指示を出力したりする。
 例えば、自律分散システム200が、自動運転に関する制御を実施することを一つの目的としている場合、複数の下位エージェント230のそれぞれは、複数に区切られた地域毎に、その地域内に位置する車両に搭載されたIoTデバイス400、信号機等に搭載されたIoTデバイス400、及び道路等に設置されたIoTデバイス400等から、情報を収集する。具体例として、下位エージェント230は、車両の位置情報、車両のカメラや、街頭のカメラによって撮像された画像、道路のセンサによって検知された車両検知情報や人検知情報、車両のセンサ等によって検知された車両間距離、地域における天候情報、車両のナビゲーション情報、及び車両の走行速度等を収集する。この場合、下位エージェント230は、あるエリアを担当することになり、ある車両が当該エリアに入ったときから、当該車両に搭載されているIoTデバイス400からの情報を収集し、当該車両が当該エリアを出るときに、当該車両が入るエリアを担当する下位エージェント230に、情報の収集を引き継ぐ。
 下位エージェント230は、他の下位エージェント230と情報を共有して、車間距離が閾値より短くなっていることや、車両が人等と衝突するような危険の検知を実行する。下位エージェント230は、危険を検知した場合に、対象となる車両に対して、危険検知情報を送信する。車両は、当該危険検知情報を受信したことに応じて、運転者に警告したり、走行を停止したりする。
 中間エージェント220は、例えば、下位エージェント230に、何の情報を通信するかを指示する。中間エージェント220は、例えば、過去に下位エージェント230から収集した情報(曜日、時間等)に基づいて、重要情報(人が多い、車が多い等)を分析(学習)し、収集の優先度が高い情報を判定可能にする。そして、中間エージェント220は、期間毎に、優先度の高い情報を収集できるように、下位エージェント230に指示を出す。中間エージェント220は、他の中間エージェント220と協調して学習することによって、優先度の高い情報を高い精度で特定可能になる。具体例として、中間エージェント220は、学習の結果、平日の朝は、車検知結果の優先度を高くして情報が収集できるように指示し、休日の昼は、人検知結果の優先度を高くして情報が収集できるように指示するようになる。
 上位エージェント210は、例えば、より広い範囲の解析を実行する。上位エージェント210は、例えば、担当エリア(市、県、国単位の交通情報(交通量、時刻、曜日、イベント、天候)から、数ステップ先の(設定した時刻の)予測を実行し、中間エージェント220に情報を提供する。
 図7は、自律分散システム200の他の一例を概略的に示す。自律分散システム200は、スイッチエージェント250を更に備えてよい。スイッチエージェント250は、通信ネットワーク100を流れる情報量を制御してよい。例えば、上位エージェント210、中間エージェント220及び下位エージェント230によって、メッセージのルーティングが制御される場合において、スイッチエージェント250は、通信トラフィックの制御を実行する。
 図8は、上位エージェント210、中間エージェント220、又は下位エージェント230を実装するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
 本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ1226、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブ1226は、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
 CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
 通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブ1226は、プログラム又はデータをDVD-ROM1227等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
 ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
 プログラムは、DVD-ROM1227又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
 例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM1227、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
 また、CPU1212は、記憶装置1224、DVDドライブ1226(DVD-ROM1227)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
 様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
 上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
 本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
 コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
 コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
 コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
 請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
100 ネットワーク、110 上位コンピューティング、120 中間コンピューティング、130 下位コンピューティング、200 自律分散システム、210 上位エージェント、211 記憶部、212 登録部、213 情報収集部、214 学習実行部、215 処理実行部、216 情報送信部、220 中間エージェント、221 記憶部、222 登録部、223 情報収集部、224 学習実行部、225 処理実行部、226 情報送信部、230 下位エージェント、231 記憶部、232 登録部、233 情報収集部、234 学習実行部、235 処理実行部、236 情報送信部、250 スイッチエージェント、300 クラウドネットワーク、310 クラウドコンピューティング、320 フォグコンピューティング、330 エッジコンピューティング、400 IoTデバイス、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1226 DVDドライブ、1227 DVD-ROM、1230 ROM、1240 入出力チップ

Claims (6)

  1.  ネットワークに配置された、第1階層の第1階層エージェント及び前記第1階層よりも下位の第2階層の複数の第2階層エージェント
     を備え、
     前記複数の第2階層エージェントのそれぞれは、収集した情報を用いて、他の第2階層エージェントと協調して学習を実行し、学習結果を用いて生成した情報を前記第1階層エージェントに送信し、
     前記第1階層エージェントは、前記複数の第2階層エージェントから受信した情報を用いて学習を実行する、
     システム。
  2.  前記第2階層よりも下位の第3階層の複数の第3階層エージェント
     を更に備え、
     前記複数の第3階層エージェントのそれぞれは、収集した情報を用いて、他の第3階層エージェントと協調して学習を実行し、学習結果を用いて生成した情報を前記複数の第2階層エージェントの少なくともいずれかに送信する、請求項1に記載のシステム。
  3.  前記複数の第3階層エージェントのそれぞれは、
     情報を収集する第3情報収集部と、
     前記第3情報収集部によって収集された情報を用いて、他の複数の第3階層エージェントと協調して学習を実行する第3学習実行部と、
     前記第3学習実行部による学習結果を用いて生成した情報を前記複数の第2階層エージェントの少なくともいずれかに送信する第3情報送信部と
     を有し、
     前記複数の第2階層エージェントのそれぞれは、
     複数の前記第3階層エージェントから情報を収集する第2情報収集部と、
     前記第2情報収集部によって収集された情報を用いて、他の複数の第2階層エージェントと協調して学習を実行する第2学習実行部と、
     前記第2学習実行部による学習結果を用いて生成した情報を前記第1階層エージェントに送信する第2情報送信部と
     を有し、
     前記第1階層エージェントは、
     複数の前記第2階層エージェントから情報を収集する第1情報収集部と、
     前記第1情報収集部によって収集された情報を用いて学習を実行する第1学習実行部と
     を有する、請求項2に記載のシステム。
  4.  前記第1階層エージェントは、階層型ネットワークの第1NW階層に配置され、
     前記複数の第2階層エージェントは、前記階層型ネットワークの前記第1NW階層よりも下位の第2NW階層に配置され、
     前記複数の第3階層エージェントは、前記階層型ネットワークの前記第2NW階層よりも下位の第3NW階層に配置される、請求項3に記載のシステム。
  5.  前記階層型ネットワークは、クラウドネットワークであり、
     前記第1NW階層は、クラウドコンピューティングにより構成され、
     前記第2NW階層は、複数のフォグコンピューティングにより構成され、
     前記第3NW階層は、複数のエッジコンピューティングにより構成される、請求項4に記載のシステム。
  6.  前記階層型ネットワークは、クラウドネットワークであり、
     前記第1NW階層は、クラウドコンピューティングにより構成され、
     前記第2NW階層は、複数のフォグコンピューティングにより構成され、
     前記第3NW階層は、複数のエッジコンピューティングにより構成され
     前記第3情報収集部は、複数のIoTデバイスから移動体通信によって情報を収集し、
     前記第3情報送信部は、前記第3学習実行部による学習結果を用いて、前記第3情報収集部が収集した情報から選択した情報、又は、前記学習結果を用いて生成した情報を前記複数の第2階層エージェントの少なくともいずれかに送信し、
     前記第2情報収集部は、前記第3情報送信部によって送信された情報を収集し、
     前記第2情報送信部は、前記第2学習実行部による学習結果を用いて、前記第2情報収集部が収集した情報から選択した情報、又は、前記学習結果を用いて生成した情報を前記第1階層エージェントに送信する、請求項4に記載のシステム。
PCT/JP2023/014300 2022-04-14 2023-04-06 システム WO2023199846A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-066766 2022-04-14
JP2022066766A JP7392027B2 (ja) 2022-04-14 2022-04-14 システム

Publications (1)

Publication Number Publication Date
WO2023199846A1 true WO2023199846A1 (ja) 2023-10-19

Family

ID=88329680

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/014300 WO2023199846A1 (ja) 2022-04-14 2023-04-06 システム

Country Status (2)

Country Link
JP (1) JP7392027B2 (ja)
WO (1) WO2023199846A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021140825A (ja) * 2014-12-22 2021-09-16 インテル コーポレイション ホリスティックグローバルなパフォーマンス及び電力管理

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227208A (ja) 2003-01-22 2004-08-12 Matsushita Electric Ind Co Ltd ユーザ適応型行動決定装置および行動決定方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021140825A (ja) * 2014-12-22 2021-09-16 インテル コーポレイション ホリスティックグローバルなパフォーマンス及び電力管理

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALEXANDER SASHA VEZHNEVETS; SIMON OSINDERO; TOM SCHAUL; NICOLAS HEESS; MAX JADERBERG; DAVID SILVER; KORAY KAVUKCUOGLU: "FeUdal Networks for Hierarchical Reinforcement Learning", ARXIV.ORG, 3 March 2017 (2017-03-03), XP080754067 *

Also Published As

Publication number Publication date
JP7392027B2 (ja) 2023-12-05
JP2023157091A (ja) 2023-10-26

Similar Documents

Publication Publication Date Title
JP6738932B2 (ja) シミュレーションプラットフォームに配置された、機械学習モデルを訓練するためのシステム及び方法
US11181913B2 (en) Autonomous vehicle fleet model training and testing
Namazi et al. Intelligent intersection management systems considering autonomous vehicles: A systematic literature review
CN112400192B (zh) 多模态深度交通信号控制的方法和系统
Alsrehin et al. Intelligent transportation and control systems using data mining and machine learning techniques: A comprehensive study
US11548518B2 (en) Subjective route comfort modeling and prediction
JP6722280B2 (ja) 自律走行車の交通予測における予測軌跡の評価フレームワーク
EP3035314B1 (en) A traffic data fusion system and the related method for providing a traffic state for a network of roads
JP2022009142A (ja) 自律車両の軌道修正のための遠隔操作システムおよび方法
Louati et al. Deep learning and case-based reasoning for predictive and adaptive traffic emergency management
US11398150B2 (en) Navigation analysis for a multi-lane roadway
JP7068260B2 (ja) データ処理を優先順位付けするシステム及び方法
CN111912423B (zh) 一种预测障碍物轨迹以及模型训练的方法及装置
Louati et al. Multi-agent deep neural networks coupled with LQF-MWM algorithm for traffic control and emergency vehicles guidance
CN112783619A (zh) 一种任务调度方法、装置和自动驾驶系统
Louati A hybridization of deep learning techniques to predict and control traffic disturbances
Awaisi et al. Deep reinforcement learning approach towards a smart parking architecture
WO2019228285A1 (zh) 一种任务调度方法及装置
WO2023199846A1 (ja) システム
Chen et al. The real deal: A review of challenges and opportunities in moving reinforcement learning-based traffic signal control systems towards reality
Ou AI for real-time bus travel time prediction in traffic congestion management
Humagain et al. Routing autonomous emergency vehicles in smart cities using real time systems analogy: a conceptual model
AL-Kafaf et al. A three-phase decision making approach for self-adaptive systems using web services
Hayashi et al. Prioritization of Lane-Specific Traffic Jam Detection for Automotive Navigation Framework Utilizing Suddenness Index and Automatic Threshold Determination
Menendez et al. Detecting and Predicting Smart Car Collisions in Hybrid Environments from Sensor Data

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: 23788265

Country of ref document: EP

Kind code of ref document: A1