WO2021064769A1 - システム、方法及び制御装置 - Google Patents

システム、方法及び制御装置 Download PDF

Info

Publication number
WO2021064769A1
WO2021064769A1 PCT/JP2019/038457 JP2019038457W WO2021064769A1 WO 2021064769 A1 WO2021064769 A1 WO 2021064769A1 JP 2019038457 W JP2019038457 W JP 2019038457W WO 2021064769 A1 WO2021064769 A1 WO 2021064769A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
work
based controller
machine learning
control device
Prior art date
Application number
PCT/JP2019/038457
Other languages
English (en)
French (fr)
Inventor
亜南 沢辺
孝法 岩井
航生 小林
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2021550734A priority Critical patent/JP7231049B2/ja
Priority to US17/642,341 priority patent/US11863399B2/en
Priority to PCT/JP2019/038457 priority patent/WO2021064769A1/ja
Publication of WO2021064769A1 publication Critical patent/WO2021064769A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • G06F18/2185Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Definitions

  • This disclosure relates to systems, methods and control devices.
  • Machine learning is expected as a method for automatically setting the control parameters.
  • Reinforcement learning is known as a type of machine learning.
  • Patent Document 1 describes a technique that uses reinforcement learning to automatically set control parameters of a wireless communication network.
  • An object of the present disclosure is to provide a system, a method and a control device capable of stabilizing the control of communication in a communication network.
  • the system includes an acquisition means for acquiring work-related information related to human work in network operation, and a machine learning-based controller for controlling communication in a communication network based on the work-related information. Includes training means to train.
  • a method is to acquire work-related information related to human work in network operation, and to train a machine learning-based controller for controlling communication in a communication network based on the work-related information. Including to do.
  • the control device is an acquisition means for acquiring work-related information related to human work in network operation, and a machine learning-based controller for controlling communication in a communication network based on the work-related information. It is equipped with training means for training.
  • supervised learning for example, algorithms such as neural networks, support vector machines, and decision trees are used.
  • FIG. 1 is a diagram for explaining the outline of reinforcement learning.
  • the agent 81 observes the state of the environment 83 and selects an action from the observed state.
  • the agent 81 receives a reward from the environment 83 by selecting the action under the environment.
  • the agent 81 can learn what kind of action brings the greatest reward depending on the state of the environment 83. That is, the agent 81 can learn the action to be selected according to the environment in order to maximize the reward.
  • Q-learning is an example of reinforcement learning.
  • Q-learning for example, a Q-table showing how much each action is worth for each state of the environment 83 is used.
  • the agent 81 uses the Q table to select an action according to the state of the environment 83. Further, the agent 81 updates the Q table based on the reward obtained according to the selection of the action.
  • FIG. 2 is a diagram for explaining an example of the Q table.
  • the state of the environment 83 includes the state A (State A) and the state B (State B), and the actions of the agent 81 include the action A (Action A) and the action B (Action B).
  • the Q table shows the value when each action is taken in each state. For example, the value of taking action A in state A is q AA , and the value of taking action B in state A is q AB .
  • the value of taking action A in state B is q BA , and the value of taking action B in state B is q BB .
  • the agent 81 takes the action with the highest value in each state.
  • the agent 81 takes action A in state A.
  • the values in the Q table (q AA , q AB , q BA and q BB ) are updated based on the rewards obtained according to the action selection.
  • FIG. 3 shows an example of a schematic configuration of the system 1 according to the first embodiment.
  • system 1 includes a communication network 10 and a control device 100.
  • the communication network 10 transfers data.
  • the communication network 10 includes a network device (for example, a proxy server, a gateway, a router and / or a switch, etc.) and a line, and each of the network devices transfers data via the line.
  • a network device for example, a proxy server, a gateway, a router and / or a switch, etc.
  • the communication network 10 may be a wired network or a wireless network.
  • the communication network 10 may include both a wired network and a wireless network.
  • the wireless network may be, for example, a mobile communication network using a communication line standard such as LTE (Long Term Evolution) or 5G (5th Generation), or a wireless LAN (Local Area Network) or local 5G. It may be a network used in a specific area.
  • the wired network may be, for example, LAN, WAN (Wide Area Network), the Internet, or the like.
  • Control device 100 The control device 100 controls for the communication network 10.
  • control device 100 includes a machine learning based controller for controlling communication in the communication network 10.
  • control device 100 is a network device (for example, a proxy server, a gateway, a router, and / or a switch, etc.) that transfers data within the communication network 10.
  • a network device for example, a proxy server, a gateway, a router, and / or a switch, etc.
  • the control device 100 according to the first embodiment is not limited to the network device that transfers data within the communication network 10. This point will be described in detail later as a sixth modification of the first embodiment.
  • FIG. 4 is a block diagram showing an example of a schematic functional configuration of the control device 100 according to the first embodiment.
  • the control device 100 includes acquisition means 110, training means 120, machine learning-based controller 130, setting means 140, and communication processing means 150.
  • the operations of the acquisition means 110, the training means 120, the machine learning-based controller 130, the setting means 140, and the communication processing means 150 will be described later.
  • FIG. 5 is a block diagram showing an example of a schematic hardware configuration of the control device 100 according to the first embodiment.
  • the control device 100 includes a processor 210, a main memory 220, a storage 230, a communication interface 240, and an input / output interface 250.
  • the processor 210, the main memory 220, the storage 230, the communication interface 240, and the input / output interface 250 are connected to each other via the bus 260.
  • the processor 210 executes a program read from the main memory 220.
  • the processor 210 is a CPU (Central Processing Unit).
  • the main memory 220 stores programs and various data.
  • the main memory 220 is a RAM (Random Access Memory).
  • the storage 230 stores programs and various data.
  • the storage 230 includes an SSD (Solid State Drive) and / or an HDD (Hard Disk Drive).
  • the communication interface 240 is an interface for communication with other devices.
  • the communication interface 240 is a network adapter or a network interface card.
  • the input / output interface 250 is an interface for connecting to an input device such as a keyboard and an output device such as a display.
  • Each of the acquisition means 110, the training means 120, the machine learning-based controller 130, the setting means 140 and the communication processing means 150 may be implemented by the processor 210 and the main memory 220, or the processor 210, the main memory 220 and the communication. It may be implemented by interface 240.
  • control device 100 is not limited to this example.
  • the control device 100 may be implemented by other hardware configurations.
  • control device 100 may be virtualized. That is, the control device 100 may be implemented as a virtual machine.
  • the control device 100 may operate as a virtual machine on a physical machine (hardware) including a processor, a memory, and the like and a hypervisor.
  • the control device 100 may be distributed and operated in a plurality of physical machines.
  • the control device 100 may include a memory (main memory 220) for storing a program (instruction) and one or more processors (processor 210) capable of executing the program (instruction).
  • the one or more processors may execute the program to operate the acquisition means 110, the training means 120, the machine learning-based controller 130, the setting means 140, and / or the communication processing means 150.
  • the program may be a program for causing the processor to execute the operations of the acquisition means 110, the training means 120, the machine learning-based controller 130, the setting means 140, and / or the communication processing means 150.
  • the control device 100 acquires work-related information related to human work in network operation.
  • the control device 100 trains a machine learning-based controller 130 for controlling communication in the communication network 10 based on the work-related information.
  • the work-related information is information related to human work in network operation.
  • the above network operation is, for example, the network operation of the communication network 10. That is, the above-mentioned human work is a human work in the network operation of the communication network 10.
  • the above human work is, for example, changing network control parameters. That is, the above-mentioned human work is a change of network control parameters in network operation.
  • the work-related information includes, for example, work information indicating the human work and network state information indicating the network state corresponding to the human work.
  • the network state information is used as input data for machine learning
  • the work information is used as output data for machine learning corresponding to the input data.
  • the work-related information includes a plurality of sets of the work information and the network state information. More specifically, for example, the work-related information includes N sets of the work information and the network state information, where N is a sufficiently large number for machine learning.
  • the work information indicates, for example, an increase or decrease of the network control parameter as a change of the network control parameter. More specifically, the work information may indicate whether the network control parameters have increased or decreased, or may indicate the amount of increase or decrease of the network control parameters.
  • NW state Throughput and / or packet arrival interval
  • NW control parameter Priority and / or bandwidth
  • the network control parameter is a parameter for each flow
  • the network state is also a network state for each flow.
  • Each flow is identified by, for example, a sending address, a receiving address and a port number.
  • the network state and the network control parameters according to the first embodiment are not limited to this example. This point will be described in detail later as a second modification of the first embodiment.
  • the control device 100 is a network device (for example, a proxy server, a gateway, a router, and / or a switch) that transfers data within the communication network 10.
  • the network state is a network state observed in the control device 100 (for example, throughput and / or packet arrival interval), and for example, the network control parameter is a network set in the control device 100. Control parameters (eg, priority and / or bandwidth).
  • control device 100 is not limited to the network device that transfers data within the communication network 10. This point will be described in detail later as a sixth modification of the first embodiment.
  • the network state is the state of the communication network (for example, the communication network 10), but the network state can also be said to be the state of communication in the communication network.
  • the work-related information is generated based on, for example, the log of the human work.
  • the human work is, for example, a change in network control parameters, in which case the work-related information is generated based on a log of changes in network control parameters.
  • the work information included in the work-related information is directly generated from the log, and the network state information included in the work-related information is generated from the packet capture information corresponding to the log.
  • FIG. 6 shows an example of a work log of changing network control parameters according to the first embodiment.
  • the work log includes the time and value at which a set of network control parameters, parameter 21 and parameter 23 (eg, a set of priorities and bands) was changed.
  • the set of parameters 21 and 23 is modified at time 25 and time 27.
  • the parameter 23 is changed from a to b.
  • changes in network control parameters can be known. Therefore, work information indicating changes in network control parameters can be generated directly from such work logs.
  • the network state corresponding to the change of the network control parameter (for example, parameter 23) is obtained.
  • throughput and / or packet arrival interval can be known.
  • statistical values of the network state during the predetermined period for example, mean value, mode value, median value, maximum value, minimum value, variance and / or standard deviation, etc.
  • network state information indicating the network state (for example, the above statistical value) corresponding to the change of the network control parameter can be generated from the packet capture information specified from the work log.
  • the probability density distribution of the network state in the predetermined period as shown in FIG. 7, for example, may be generated and used for calculating the statistical value.
  • control device 100 acquires the work-related information.
  • the work-related information is generated (manually or automatically) in a device other than the control device 100 and provided to the control device 100. Then, the control device 100 (acquisition means 110) acquires the work-related information.
  • the method of acquiring the work-related information is not limited to this example. This point will be described in detail later as a fourth modification of the first embodiment.
  • control device 100 trains the machine learning-based controller 130 for controlling the communication in the communication network 10 based on the work-related information.
  • control device 100 uses the network state information included in the work-related information as input data, and uses the work information included in the work-related information as output data corresponding to the input data.
  • the control device 100 uses the machine learning-based controller 130 with the network state information as input data and the work information as output data corresponding to the input data. Trains a machine learning-based controller 130.
  • the machine learning-based controller 130 is a supervised learning-based controller, and the control device 100 (training means 120) uses the above work-related information as training data for supervised learning.
  • the training data includes input data and correct answer data (output data) corresponding to the input data.
  • the control device 100 (training means 120) provides the network state information as the input data to the machine learning-based controller 130, and provides the work information to the machine learning-based controller 130 as the correct answer data (output data). To do.
  • the training data may be referred to as teacher data.
  • the machine learning-based controller 130 learns how to change the network control parameters according to the network state based on human work (change of network control parameters) in network operation. Can be done. As a result, the machine learning-based controller 130 can control communication in the communication network 10 in the same manner as human work. Therefore, for example, by using the machine learning-based controller 130 for controlling the communication in the communication network 10, it becomes possible to stabilize the control of the communication in the communication network 10.
  • the machine learning-based controller 130 according to the first embodiment is not limited to the supervised learning-based controller. This point will be described in detail later as a fifth modification of the first embodiment.
  • FIG. 8 is a flowchart for explaining an example of a schematic flow of the training process according to the first embodiment.
  • the control device 100 acquires work-related information related to human work in network operation (S310).
  • the control device 100 trains a machine learning-based controller 130 for controlling communication in the communication network 10 based on the work-related information (S320).
  • the machine learning-based controller 130 is used to control communication in the communication network 10 after training based on the work-related information.
  • the machine learning-based controller 130 changes the network control parameters (eg, priority and / or bandwidth) from the network state (eg, throughput and / or packet arrival interval) in the communication network 10. Select and output.
  • network control parameters eg, priority and / or bandwidth
  • the network state eg, throughput and / or packet arrival interval
  • the control device 100 is a network device (for example, a proxy server, a gateway, a router, and / or a switch) that transfers data within the communication network 10.
  • the network state is the network state observed in the control device 100 (for example, throughput and / or packet arrival interval)
  • the network control parameter is a network control parameter set in the control device 100. (For example, priority and / or bandwidth). That is, the machine learning-based controller 130 selects and outputs a change in the network control parameter set in the control device 100 from the network state observed in the control device 100.
  • the control device 100 (setting means 140) sets the changed network control parameter in the control device 100 according to the change of the selected network control parameter.
  • control device 100 transfers data (for example, a packet) according to the changed network control parameter.
  • data for example, a packet
  • the machine learning-based controller 130 controls the communication in the communication network 10 by selecting, for example, changing the network control parameters.
  • the machine learning-based controller 130 is trained based on work-related information regarding human work in network operation.
  • the network operation is, for example, the network operation of the communication network 10.
  • the first embodiment is not limited to this example.
  • the network operation may be a network operation of another communication network different from the communication network 10. That is, the machine learning-based controller 130 may be trained based on work-related information about human work in the other communication networks.
  • the other communication network may be a network similar to the communication network 10.
  • the work-related information includes, for example, work information indicating the human work and network state information indicating the network state corresponding to the human work.
  • the human work is, for example, a change in network control parameters
  • the work information indicates, for example, an increase or decrease in the network control parameters as a change in the network control parameters.
  • the network state is throughput and / or packet arrival interval
  • the network control parameter is priority and / or bandwidth.
  • the network control parameter is a parameter for each flow
  • the network state is also a network state for each flow.
  • the first embodiment is not limited to this example.
  • the network control parameter does not have to be a parameter for each flow, and the network state does not have to be the network state for each flow.
  • the network control parameter may be a parameter for the entire communication that may include a plurality of flows, and the network state may also be a network state for the entire communication.
  • the network state does not have to be the throughput and / or the packet arrival interval
  • the network control parameter does not have to be the priority and / or the bandwidth.
  • the combination of the network state (NW state) and the network control parameter (NW control parameter) may be as follows.
  • Example 1 (Example of TCP (Transmission Control Protocol) flow control)] [NW state] Number of active flows, available bandwidth, and / or IP (Internet Protocol) past buffer size [NW control parameter] Transmission buffer size [Example 2 (Example of controlling the flow rate of video traffic)] [NW status] Video QoE (Quality of Experience) (For example, video bit rate and / or video resolution) [NW control parameter] Upper limit of throughput [Example 3 (Example of robot control)] [NW state] Packet arrival interval and / or packet size statistics (for example, maximum value, minimum value, mean value, standard deviation, etc.) [NW control parameter] Packet transmission interval
  • the work information may not show an increase or decrease of the network control parameter as a change of the network control parameter, but may show the changed value of the network control parameter itself.
  • the parameter 23 does not show an increase or decrease (eg, ba), but a modified value of a set of parameter 21 and parameter 23 (a, b) may be shown.
  • the work-related information is generated based on, for example, the log of the human work.
  • the first embodiment is not limited to this example.
  • the work-related information may be generated based on the work standard for the human work.
  • the human work is, for example, a change in network control parameters, in which case the work-related information may be generated based on work criteria for changing network control parameters.
  • the above work standard may be a rule for human work in network operation, or may be know-how or reference information for human work in network operation.
  • the work criteria may include network states and changes in network control parameters corresponding to the network states (ie, human work), and changes in network states and network control parameters based on the work criteria.
  • a set sample with that is, human work
  • training data (that is, the above work-related information) can be generated even if there is no work log.
  • the work-related information is generated (manually or automatically) in a device other than the control device 100 and provided to the control device 100.
  • the first embodiment is not limited to this example.
  • the work-related information may be generated by the control device 100.
  • the control device 100 may further include a generation means, and the control device 100 (generation means) may generate the work-related information.
  • the machine learning-based controller 130 is a supervised learning-based controller.
  • the first embodiment is not limited to this example.
  • the machine learning-based controller 130 may be a reinforcement learning-based controller (reinforcement learning based controller) that outputs actions based on the input state.
  • the control device 100 training means 120
  • the control device 100 uses the network state information as the input state and the work information as the output action, and uses the machine learning-based controller 130.
  • Reinforcement learning-based controller may be trained. That is, the control device 100 (training means 120) may provide the network state information to the machine learning-based controller 130 as the input state, and may provide the work information as the output action to the machine learning-based controller 130. It may be provided to the controller 130.
  • the work-related information may further include reward information indicating a reward corresponding to the human work, in addition to the network state information and the work information.
  • the work-related information may include a plurality of sets of the work information, the network state information, and the reward information.
  • the control device 100 (training means 120) regards the work-related information as the input state, the output action, and the reward obtained in the reinforcement learning, and the machine learning-based controller 130 (reinforcement learning-based controller). May be trained. Specifically, for example, the control device 100 (training means 120) may train the machine learning-based controller 130 using the reward information as the obtained reward. That is, the control device 100 (training means 120) may provide the reward information to the machine learning-based controller 130 as the obtained reward.
  • the reward indicated by the reward information may be constant regardless of the human work (change of network control parameters) corresponding to the reward. That is, human work may be considered to deserve a certain reward.
  • the reward indicated by the reward information may be calculated from the packet capture information for a predetermined period after the human work (change of network control parameter) corresponding to the reward according to the standard of the reward for reinforcement learning. ..
  • the reinforcement learning-based controller that is, the machine learning-based controller 130
  • the reinforcement learning-based controller does not take a long time.
  • the learning in the controller 130) of the above can converge. Therefore, the control of communication in the communication network 10 can be stable.
  • the control device 100 is a network device (for example, a proxy server, a gateway, a router, and / or a switch, etc.) that transfers data within the communication network 10 (FIG. 9). Further, as described above, for example, the control device 100 (setting means 140) sets the changed network control parameters in the control device 100 when the machine learning-based controller 130 selects to change the network control parameters. (See FIG. 9). However, the control device 100 according to the first embodiment is not limited to this example.
  • the control device 100 is a network device itself that transfers data in the communication network 10. Instead, it may be a device (for example, a network controller) that controls a network device 30 that transfers data within the communication network 10.
  • the machine learning-based controller 130 determines the network control parameters (eg, priority and / or bandwidth) set in the network device 30 from the network state (eg, throughput and / or packet arrival interval) observed in the network device 30. You may select the change of and output it.
  • the network control parameters eg, priority and / or bandwidth
  • the network state eg, throughput and / or packet arrival interval
  • the control device 100 causes the network device 30 to set the changed network control parameters when the machine learning-based controller 130 selects to change the network control parameters. May be good.
  • the control device 100 transmits parameter information indicating a change in the network control parameter (for example, a command instructing the change of the network control parameter) to the network device 30, and the network device 30 sends the parameter.
  • modified network control parameters may be set.
  • the network device 30 may transfer data (eg, packets) according to the modified network control parameters.
  • the network controller 50 controls the network device 40 that transfers data in the communication network 10, and the control device 100 controls the network controller 50.
  • the control device 100 controls the network controller 50.
  • it may be an assisting device.
  • the control device 100 may not observe the network state of the communication network 10 by itself, and the network device 40 may observe the network state.
  • the control device 100 may acquire information indicating the network state from the network device 40 or the network controller 50.
  • the machine learning-based controller 130 determines the network control parameters (eg, priority and / or bandwidth) set in the network device 40 from the network state (eg, throughput and / or packet arrival interval) observed in the network device 40. You may select the change of and output it.
  • the control device 100 (setting means 140) provides first parameter information (eg, for example) indicating a change in network control parameters when the machine learning-based controller 130 chooses to change network control parameters.
  • first parameter information eg, for example
  • the network controller 50 transmits the second parameter information indicating the change of the network control parameter (for example, a command for instructing the change of the network control parameter) to the network device 40 based on the first parameter information.
  • the network device 40 may set changed network control parameters based on the second parameter information.
  • the network device 40 may transfer data (eg, packets) according to the modified network control parameters.
  • the network controller 70 controls the network device 60 that transfers data in the communication network 10, and the control device 100 controls the network controller 70. It may be a device for
  • the control device 100 may not observe the network state of the communication network 10 by itself, and the network device 60 may observe the network state.
  • the control device 100 may acquire information indicating the network state from the network device 60 or the network controller 70.
  • the machine learning-based controller 130 may select and output a change in the network control parameter set in the network controller 70 from the network state observed in the network device 60.
  • the control device 100 causes the network controller 70 to set the changed network control parameters when the machine learning-based controller 130 selects to change the network control parameters. May be good.
  • the control device 100 transmits parameter information indicating a change in the network control parameter (for example, a command instructing the change of the network control parameter) to the network controller 70, and the network controller 70 sends the parameter.
  • modified network control parameters may be set.
  • the network controller 70 may control the network device 60 according to the modified network control parameters, and the network device 60 may transfer data (eg, packets) according to the control by the network controller 70. Good.
  • the control device 100 includes an acquisition means 110, a training means 120, a machine learning-based controller 130, a setting means 140, and a communication processing means 150.
  • the control device 100 according to the first embodiment is not limited to this example.
  • the machine learning-based controller 130 is not included in the control device 100, but may be included in other devices.
  • the control device 100 (training means 120) may train the machine learning-based controller 130 by providing the work-related information to the machine learning-based controller 130 included in the other device.
  • the setting means 140 is not included in the control device 100, but may be included in the other device.
  • the "control device 100" is replaced with the "device including the machine learning-based controller 130" in the explanation in the sixth modification. You may.
  • the setting means 140 may be included in the machine learning-based controller 130. That is, the machine learning-based controller 130 may perform the operation of the setting means 140 described above.
  • the communication processing means 150 for transferring data is not included in the control device 100, but may be included in another device.
  • the communication processing means 150 may not be included in the control device 100 but may be included in the network device.
  • control device 100 may further include a generation means.
  • Second embodiment A second embodiment of the present disclosure will be described with reference to FIGS. 13-16.
  • FIG. 13 shows an example of a schematic configuration of the system 2 according to the second embodiment.
  • system 2 includes a communication network 10 and a control device 400.
  • Communication network 10 The description of the communication network 10 is the same as the description of the communication network 10 in the first embodiment. Therefore, a duplicate description will be omitted here.
  • Control device 400 The control device 400 controls for the communication network 10.
  • control device 400 includes a machine learning-based controller and a reinforcement learning-based controller for controlling communication in the communication network 10.
  • the machine learning-based controller is a supervised learning-based controller.
  • control device 400 further includes a reinforcement learning-based controller for controlling communication in the communication network 10.
  • control device 400 is a network device (for example, a proxy server, a gateway, a router, and / or a switch, etc.) that transfers data within the communication network 10.
  • a network device for example, a proxy server, a gateway, a router, and / or a switch, etc.
  • the control device 400 according to the second embodiment is not limited to the network device that transfers data within the communication network 10. This point will be described in detail later as a seventh modification of the second embodiment.
  • FIG. 14 is a block diagram showing an example of a schematic functional configuration of the control device 400 according to the second embodiment.
  • the control device 400 includes a first acquisition means 410, a training means 420, a machine learning-based controller 430, a reinforcement learning-based controller 440, a setting means 442, a communication processing means 444, an observation means 450, and a determination means.
  • 460, a second acquisition means 470 and a selection means 480 are provided.
  • First acquisition means 410 training means 420, machine learning-based controller 430, reinforcement learning-based controller 440, setting means 442, communication processing means 444, observation means 450, determination means 460, second acquisition means 470 and selection means 480. Each operation of is described later.
  • FIG. 15 is a block diagram showing an example of a schematic hardware configuration of the control device 400 according to the second embodiment.
  • the control device 400 includes a processor 510, a main memory 520, a storage 530, a communication interface 540, and an input / output interface 550.
  • the processor 510, the main memory 520, the storage 530, the communication interface 540, and the input / output interface 550 are connected to each other via the bus 560.
  • the processor 510 executes a program read from the main memory 520.
  • the processor 510 is a CPU.
  • the main memory 520 stores programs and various data.
  • the main memory 520 is a RAM.
  • Storage 530 stores programs and various data.
  • storage 530 includes SSD and / or HDD.
  • Communication interface 540 is an interface for communication with other devices.
  • the communication interface 540 is a network adapter or a network interface card.
  • the input / output interface 550 is an interface for connecting to an input device such as a keyboard and an output device such as a display.
  • First acquisition means 410 training means 420, machine learning-based controller 430, reinforcement learning-based controller 440, setting means 442, communication processing means 444, observation means 450, determination means 460, second acquisition means 470 and selection means 480.
  • processor 510 and the main memory 520, or may be implemented by the processor 510, the main memory 520 and the communication interface 540.
  • control device 400 is not limited to this example.
  • the control device 400 may be implemented by other hardware configurations.
  • control device 400 may be virtualized. That is, the control device 400 may be implemented as a virtual machine.
  • the control device 400 (virtual machine) may operate as a virtual machine on a physical machine (hardware) including a processor, a memory, and the like and a hypervisor.
  • the control device 400 (virtual machine) may be distributed and operated in a plurality of physical machines.
  • the control device 400 may include a memory (main memory 520) for storing a program (instruction) and one or more processors (processor 510) capable of executing the program (instruction).
  • the one or more processors execute the above program to execute the first acquisition means 410, the training means 420, the machine learning-based controller 430, the reinforcement learning-based controller 440, the setting means 442, the communication processing means 444, and the observation means.
  • the operation of 450, the determination means 460, the second acquisition means 470 and / or the selection means 480 may be performed.
  • the above program includes a first acquisition means 410, a training means 420, a machine learning-based controller 430, a reinforcement learning-based controller 440, a setting means 442, a communication processing means 444, an observation means 450, a determination means 460, and a second acquisition means 470. And / or a program for causing the processor to execute the operation of the selection means 480.
  • First operation (machine learning-based controller training)>
  • the control device 400 (first acquisition means 410) acquires work-related information regarding human work in network operation.
  • the control device 400 (training means 420) trains a machine learning-based controller 430 for controlling communication in the communication network 10 based on the work-related information.
  • the machine learning-based controller 430 is trained based on the above work-related information.
  • control device 100 the acquisition means 110, the training means 120, the machine learning-based controller 130, the setting means 140, and the communication processing means 150 according to the first embodiment are each in the second embodiment. It corresponds to the control device 400, the first acquisition means 410, the training means 420, the machine learning-based controller 430, the setting means 442, and the communication processing means 444.
  • the machine learning-based controller 430 is a machine learning-based controller trained based on the above work-related information.
  • the machine learning-based controller 430 according to the second embodiment is not a reinforcement learning-based controller.
  • the machine learning-based controller 430 according to the second embodiment is a supervised learning-based controller, for example, like the machine learning-based controller 130 in the main example of the first embodiment.
  • the control device 400 controls the reinforcement learning-based controller 440 for controlling the communication in the communication network 10 and the communication in the communication network 10 based on the information about the state of the communication network 10. Select one of the machine learning-based controllers 430. That is, the control device 400 (selection means 480) selects one controller used for controlling communication in the communication network 10 from the machine learning-based controller 430 and the reinforcement learning-based controller 440.
  • FIG. 16 is a flowchart for explaining an example of a schematic flow of the controller selection process according to the second embodiment. Hereinafter, the operation for selecting the controller will be described with reference to FIG.
  • Observation For example, the control device 400 (observation means 450) observes the communication network 10 (S610).
  • control device 400 observes the throughput in the communication network 10 and / or the packet loss rate in the communication network 10.
  • the control device 400 is a network device that transfers data within the communication network 10, the observed throughput is the throughput of the control device 400, and the observed packet loss rate is the packet of the control device 400. The loss rate.
  • the control device 400 (observation means 450) generates observation information about the communication network 10.
  • the observation information shows the result of observation of the communication network 10. More specifically, for example, the observation information indicates the throughput in the communication network 10 and / or the packet loss rate in the communication network 10.
  • the control device 400 determines the state of the communication network 10 (S620).
  • the above-mentioned state to be determined is a congestion state of the communication network 10. That is, the control device 400 (determination means 460) determines the congestion state of the communication network 10.
  • control device 400 determines whether the communication network 10 is congested beyond a certain level (certain level).
  • state of the communication network 10 is a state determined only for the selection of the controller and does not mean the "state” which is the input of reinforcement learning. Should be.
  • control device 400 determines the state of the communication network 10 based on the observation information about the communication network 10.
  • the above observation information indicates the throughput in the communication network 10 and / or the packet loss rate in the communication network 10.
  • the control device 400 determines the state of the communication network 10 (for example, the communication network 10 is at a constant level) based on the throughput in the communication network 10 and / or the packet loss rate in the communication network 10. Is it congested beyond?).
  • the communication network 10 is constant when the throughput in the communication network 10 is smaller than the predetermined threshold value or the packet loss rate in the communication network 10 is larger than the predetermined threshold value. Judge that the congestion exceeds the level of. Otherwise (otherwise), the control device 400 (determining means 460) determines that the communication network 10 is not congested beyond a certain level.
  • control device 400 keeps the communication network 10 constant when the throughput in the communication network 10 is smaller than the predetermined threshold value and the packet loss rate in the communication network 10 is larger than the predetermined threshold value. It may be determined that the congestion exceeds the level. If this is not the case, the control device 400 (determination means 460) may determine that the communication network 10 is not congested beyond a certain level.
  • control device 400 (determining means 460) is not based on both the throughput and the packet loss rate as described above, but based on only one of the throughput and the packet loss rate. It may be determined whether the congestion exceeds a certain level.
  • the control device 400 determines information regarding the above-mentioned state (that is, the determined state) of the communication network 10.
  • state information here is the "network state information” described in the first embodiment (that is, information indicating a network state corresponding to the human work, and is included in the work-related information. It should be noted that the information is different from the information).
  • the above state information indicates the above state (that is, the determined state) of the communication network 10. More specifically, for example, the state information indicates whether the communication network 10 is congested beyond a certain level.
  • the above status information is not limited to this example. This point will be described in detail later as a fifth modification of the second embodiment.
  • the control device 400 acquires the above state information.
  • the control device 400 selects one of the machine learning-based controller 430 and the reinforcement learning-based controller 440 based on the above state information (S630). That is, the control device 400 (selection means 480) selects one controller used for controlling communication in the communication network 10 from the machine learning-based controller 430 and the reinforcement learning-based controller 440 based on the above state information. select. With such selection, the machine learning-based controller 430 and the reinforcement learning-based controller 440 are selectively used for controlling communication in the communication network 10.
  • control device 400 selects the machine learning-based controller 430 when the communication network 10 is congested beyond a certain level, and the communication network 10 is congested beyond a certain level. If not, select the reinforcement learning-based controller 440. That is, if the communication network 10 is congested above a certain level, a machine learning-based controller 430 trained based on work-related information about human work in network operation is used, otherwise. In addition, a reinforcement learning-based controller 440 is used.
  • the selected controller (machine learning-based controller 430 or reinforcement learning-based controller 440) is used to control communication in the communication network 10. Specifically, for example, the selected controller selects to change network control parameters (eg, priority and / or bandwidth) from the network state (eg, throughput and / or packet arrival interval) in the communication network 10. ,Output.
  • the control device 400 is a network device (for example, a proxy server, a gateway, a router and / or a switch, etc.) that transfers data within the communication network 10, and the control device 400 (setting means 442) is , The changed network control parameter is set in the control device 400 according to the change of the selected network control parameter.
  • control device 400 transfers data (eg, packets) according to the modified network control parameters.
  • the selected controller (machine learning-based controller 430 or reinforcement learning-based controller 440) controls communication in the communication network 10 by selecting, for example, changing network control parameters.
  • the selection of the controller according to the second embodiment has been described above.
  • the network state becomes unstable, and if the reinforcement learning-based controller 440 is used, erroneous learning may occur in the reinforcement learning, and the learning may not converge.
  • the use of the reinforcement learning-based controller 440 can lead to instability in the communication control of the communication network 10.
  • the controller selection as described above if the communication network 10 is extremely congested, the machine learning based controller 430 can be used, similar to human work, the communication network 10. Communication can be controlled in. Therefore, the control of the communication of the communication network 10 can be stable.
  • the reinforcement learning-based controller 440 can be used, and the optimum control of the communication in the communication network 10 can be performed. Can be done. Therefore, the control of the communication of the communication network 10 can be stable.
  • the description of the first to fourth modified examples of the second embodiment is the same as the description of the first to fourth modified examples of the first embodiment except for the difference in reference numerals. Therefore, a duplicate description will be omitted here.
  • the control device 100 and the machine learning-based controller 130 according to the first to fourth modifications of the first embodiment are the first to fourth modifications of the second embodiment, respectively. It corresponds to the controller 400 and the machine learning-based controller 430 according to the example.
  • the state information is the state of the communication network 10 (that is, state information).
  • the communication network 10 congested beyond a certain level? is the state information according to the second embodiment.
  • the state information does not have to indicate the state of the communication network 10 (for example, whether the communication network 10 is congested beyond a certain level) itself.
  • the state information does not indicate the state of the communication network 10 itself, but may be information corresponding to the state of the communication network 10.
  • the state information does not indicate whether the communication network 10 is congested above a certain level, but may be a flag corresponding to whether the communication network 10 is congested above a certain level. ..
  • the reinforcement learning-based controller 440 may also be trained based on the above work-related information.
  • the reinforcement learning-based controller 440 may be trained based on the work-related information, similar to the training described in the fifth modification of the first embodiment.
  • reinforcement learning-based controller 440 By training the reinforcement learning-based controller 440 using work-related information related to human work in this way, reinforcement learning can be advanced in advance. Therefore, after starting to use the reinforcement learning-based controller 440 for controlling communication in the communication network 10, the learning in the reinforcement learning-based controller 440 can converge without taking a long time. Therefore, the control of communication in the communication network 10 can be more stable.
  • control device 100 is referred to as “control” in these drawings. It shall be read as “device 400".
  • the control device 400 is a network device (for example, a proxy server, a gateway, a router and / or a switch, etc.) that transfers data within the communication network 10 (see FIG. 9). Further, as described above, for example, the controller 400 (setting means 442) determines that the selected controller (machine learning-based controller 430 or reinforcement learning-based controller 440) selects to change the network control parameters. The modified network control parameters are set in the controller 400 (see FIG. 9). However, the control device 400 according to the second embodiment is not limited to this example.
  • control device 400 is a network device itself that transfers data within the communication network 10. Instead, it may be a device (for example, a network controller) that controls a network device 30 that transfers data within the communication network 10.
  • the control device 400 may not observe the communication network 10 by itself, and the network device 30 may observe the communication network 10.
  • the control device 400 may acquire observation information about the communication network 10 from the network device 30.
  • the selected controller (machine learning-based controller 430 or reinforcement learning-based controller 440) is set in the network device 30 from the network state (eg, throughput and / or packet arrival interval) observed in the network device 30. Changes in network control parameters (eg, priority and / or bandwidth) may be selected and output.
  • the control device 400 may cause the network device 30 to set the changed network control parameters when the selected controller chooses to change the network control parameters. ..
  • the control device 400 transmits parameter information indicating a change in the network control parameter (for example, a command instructing the change of the network control parameter) to the network device 30, and the network device 30 sends the parameter.
  • modified network control parameters may be set.
  • the network device 30 may transfer data (eg, packets) according to the modified network control parameters.
  • the network controller 50 controls the network device 40 that transfers data within the communication network 10, and the control device 400 controls the network controller 50.
  • the control device 400 controls the network controller 50.
  • it may be a supporting device.
  • the control device 400 may not observe the network state of the communication network 10 by itself, and the network device 40 may observe the network state.
  • the control device 400 may acquire information indicating the network state from the network device 40 or the network controller 50.
  • the selected controller (machine learning-based controller 430 or reinforcement learning-based controller 440) is set in the network device 40 from the network state (eg, throughput and / or packet arrival interval) observed in the network device 40. Changes in network control parameters (eg, priority and / or bandwidth) may be selected and output.
  • the control device 400 (setting means 442) is a network when the selected controller (machine learning-based controller 430 or reinforcement learning-based controller 440) chooses to change the network control parameters.
  • the first parameter information indicating the change of the control parameter (for example, a command for instructing the change of the network control parameter or support information for teaching the change of the network control parameter) may be transmitted to the network controller 50.
  • the network controller 50 transmits the second parameter information indicating the change of the network control parameter (for example, a command for instructing the change of the network control parameter) to the network device 40 based on the first parameter information.
  • the network device 40 may set changed network control parameters based on the second parameter information. As a result, the network device 40 may transfer data (eg, packets) according to the modified network control parameters.
  • the network controller 70 controls the network device 60 that transfers data in the communication network 10, and the control device 400 controls the network controller 70. It may be a device for
  • the control device 400 may not observe the network state of the communication network 10 by itself, and the network device 60 may observe the network state.
  • the control device 400 may acquire information indicating the network state from the network device 60 or the network controller 70.
  • the selected controller (machine learning-based controller 430 or reinforcement learning-based controller 440) selects and outputs a change in the network control parameter set in the network controller 70 from the network state observed in the network device 60. You may.
  • the control device 400 may cause the network controller 70 to set the changed network control parameters when the selected controller chooses to change the network control parameters. ..
  • the control device 400 transmits parameter information indicating a change of the network control parameter (for example, a command instructing the change of the network control parameter) to the network controller 70, and the network controller 70 sends the parameter.
  • modified network control parameters may be set.
  • the network controller 70 may control the network device 60 according to the modified network control parameters, and the network device 60 may transfer data (eg, packets) according to the control by the network controller 70. Good.
  • the control device 400 includes a first acquisition means 410, a training means 420, a machine learning-based controller 430, a reinforcement learning-based controller 440, a setting means 442, and communication processing. It includes means 444, observation means 450, determination means 460, second acquisition means 470, and selection means 480.
  • the control device 400 according to the second embodiment is not limited to this example.
  • the first acquisition means 410 and the training means 420 are not included in the control device 400, but may be included in other devices. That is, the training of the machine learning-based controller 430 may be performed by the other device.
  • the observation means 450 may not be included in the control device 400 but may be included in another device.
  • the control device 400 may receive observation information about the communication network 10 from the other device.
  • the determination means 460 may not be included in the control device 400, but may be included in the other device.
  • the control device 400 may receive information regarding the state of the communication network 10 (that is, state information) from the other device.
  • At least one of the machine learning-based controller 430 and the reinforcement learning-based controller 440 may not be included in the control device 400 but may be included in the other device.
  • the control device 400 may notify the other device of the result of the controller selection.
  • the setting means 442 is also not included in the control device 400, but may be included in the other device.
  • the “control device 400” is referred to as “machine learning base” in the description of the sixth modification. It may be replaced with "a device including at least one of the controller 430 and the reinforcement learning-based controller 440".
  • the setting means 442 may be included in each of the machine learning-based controller 430 and the reinforcement learning-based controller 440. That is, each of the machine learning-based controller 430 and the reinforcement learning-based controller 440 may perform the operation of the setting means 442 described above.
  • the communication processing means 444 for transferring data is not included in the control device 400, but may be included in another device.
  • the communication processing means 444 may not be included in the control device 400 but may be included in the network device.
  • FIG. 17 shows an example of a schematic configuration of the system 3 according to the third embodiment.
  • the system 3 includes acquisition means 700 and training means 800.
  • FIG. 18 is a flowchart for explaining an example of a schematic flow of the training process according to the third embodiment.
  • the acquisition means 700 acquires work-related information related to human work in network operation (S910).
  • the training means 800 trains a machine learning-based controller for controlling communication in a communication network based on the above work-related information (S920).
  • the third embodiment is not limited to the example of the first embodiment.
  • the machine learning-based controller is trained. This makes it possible to stabilize the control of communication in a communication network, for example.
  • the steps in the processing described in the present specification do not necessarily have to be executed in chronological order in the order described in the flowchart.
  • the steps in the process may be executed in an order different from the order described in the flowchart, or may be executed in parallel.
  • some of the steps in the process may be deleted, and additional steps may be added to the process.
  • a method including processing of a component of a system or a control device described in the present specification may be provided, and a program for causing a processor to execute the processing of the component may be provided.
  • a non-transitory computer readable recording medium may be provided that can be read by the computer on which the program is recorded.
  • Appendix 1 An acquisition method for acquiring work-related information related to human work in network operation, A training tool that trains a machine learning-based controller to control communication in a communication network based on the work-related information.
  • System including.
  • Appendix 2 The system according to Appendix 1, wherein the work-related information includes work information indicating the human work and network state information indicating the network state corresponding to the human work.
  • Appendix 3 The system according to Appendix 2, wherein the training means uses the network state information as input data and uses the work information as output data corresponding to the input data to train the machine learning-based controller. ..
  • the human task is to change network control parameters.
  • the work information indicates an increase or decrease of the network control parameter, or a changed value of the network control parameter.
  • Appendix 6 The system according to any one of Appendix 1 to 5, wherein the work-related information is information generated based on the log of the human work or the work standard for the human work.
  • Appendix 7 The system according to any one of Appendix 1 to 6, wherein the network operation is a network operation of the communication network.
  • Appendix 8 A selection means for selecting one of a reinforcement learning-based controller and a machine learning-based controller for controlling communication in the communication network based on information about the state of the communication network.
  • Appendix 9 The system according to Appendix 8, wherein the state of the communication network is a congestion state of the communication network.
  • the selection means selects the machine learning-based controller when the communication network is congested beyond a certain level, and the reinforcement learning when the communication network is not congested at a certain level.
  • Appendix 11 A determination means for determining the state of the communication network, The system according to any one of Appendix 8 to 10, further comprising.
  • Appendix 12 The system according to Appendix 11, wherein the determination means determines the state of the communication network based on observation information about the communication network.
  • Appendix 13 The system according to Appendix 11 or 12, wherein the determination means determines whether the communication network is congested beyond a certain level.
  • the machine learning-based controller is a supervised learning-based controller.
  • the training means uses the work-related information as training data for supervised learning to train the machine learning-based controller.
  • the system according to any one of Appendix 1 to 13.
  • the machine learning-based controller is a reinforcement learning-based controller that outputs actions based on an input state.
  • the training means trains the machine learning-based controller by regarding the work-related information as input states and output actions in reinforcement learning.
  • the system according to any one of Appendix 1 to 7.
  • Appendix 16 Acquiring work-related information about human work in network operation Based on the work-related information, training a machine learning-based controller to control communication in a communication network, and How to include.
  • Appendix 17 The method according to Appendix 16, wherein the work-related information includes work information indicating the human work and network state information indicating the network state corresponding to the human work.
  • Appendix 18 The method of Appendix 17, wherein the machine learning-based controller is trained using the network state information as input data and the work information as output data corresponding to the input data.
  • the human task is to change network control parameters.
  • the work information indicates an increase or decrease of the network control parameter, or a changed value of the network control parameter.
  • Appendix 20 The method according to any one of Appendix 16 to 19, wherein the human work is a change of network control parameters.
  • Appendix 21 The method according to any one of Appendix 16 to 20, wherein the work-related information is information generated based on the log of the human work or the work standard for the human work.
  • Appendix 22 The method according to any one of Appendix 16 to 21, wherein the network operation is a network operation of the communication network.
  • Appendix 23 To select one of the reinforcement learning-based controller and the machine learning-based controller for controlling communication in the communication network based on the information about the state of the communication network.
  • Appendix 24 The method according to Appendix 23, wherein the state of the communication network is a congestion state of the communication network.
  • the machine learning-based controller is selected when the communication network is congested above a certain level, and the reinforcement learning-based controller is selected when the communication network is not congested at a certain level.
  • Appendix 26 Determining the state of the communication network, The method according to any one of Appendix 23 to 25, further comprising.
  • Appendix 27 The method of Appendix 26, wherein the state of the communication network is determined based on observation information about the communication network.
  • Appendix 28 The method according to Appendix 26 or 27, wherein the state of the communication network is whether the communication network is congested beyond a certain level.
  • the machine learning-based controller is a supervised learning-based controller.
  • the machine learning-based controller is trained using the work-related information as training data for supervised learning.
  • the method according to any one of Appendix 16 to 28.
  • the machine learning-based controller is a reinforcement learning-based controller that outputs actions based on an input state.
  • the machine learning-based controller is trained by regarding the work-related information as input states and output actions in reinforcement learning.
  • the method according to any one of Appendix 16 to 22.
  • Appendix 31 An acquisition method for acquiring work-related information related to human work in network operation, A training tool that trains a machine learning-based controller to control communication in a communication network based on the work-related information.
  • a control device comprising.
  • Appendix 32 The control device according to Appendix 31, wherein the work-related information includes work information indicating the human work and network state information indicating the network state corresponding to the human work.
  • Appendix 33 The control according to Appendix 32, wherein the training means uses the network state information as input data and uses the work information as output data corresponding to the input data to train the machine learning-based controller. apparatus.
  • the human task is to change network control parameters.
  • the work information indicates an increase or decrease of the network control parameter, or a changed value of the network control parameter.
  • the control device according to Appendix 32 or 33.
  • Appendix 35 The control device according to any one of Appendix 31 to 34, wherein the human work is a change of network control parameters.
  • Appendix 36 The control device according to any one of Appendix 31 to 35, wherein the work-related information is information generated based on the log of the human work or the work standard for the human work.
  • Appendix 37 The control device according to any one of Appendix 31 to 36, wherein the network operation is a network operation of the communication network.
  • Appendix 38 A selection means for selecting one of a reinforcement learning-based controller and a machine learning-based controller for controlling communication in the communication network based on information about the state of the communication network. 31.
  • the control device according to any one of Appendix 31 to 37.
  • Appendix 39 The control device according to Appendix 38, wherein the state of the communication network is a congestion state of the communication network.
  • the selection means selects the machine learning-based controller when the communication network is congested beyond a certain level, and the reinforcement learning when the communication network is not congested at a certain level. 39.
  • Appendix 42 The control device according to Appendix 41, wherein the determination means determines the state of the communication network based on observation information about the communication network.
  • Appendix 43 The control device according to Appendix 41 or 42, wherein the determination means determines whether or not the communication network is congested beyond a certain level.
  • the machine learning-based controller is a supervised learning-based controller.
  • the training means uses the work-related information as training data for supervised learning to train the machine learning-based controller.
  • the control device according to any one of Appendix 31 to 43.
  • the machine learning-based controller is a reinforcement learning-based controller that outputs actions based on an input state.
  • the training means trains the machine learning-based controller by regarding the work-related information as input states and output actions in reinforcement learning.
  • the control device according to any one of Appendix 31 to 37.
  • Appendix 46 Acquiring work-related information about human work in network operation Based on the work-related information, training a machine learning-based controller to control communication in a communication network, and A program that causes the processor to execute.
  • Appendix 47 Acquiring work-related information about human work in network operation Based on the work-related information, training a machine learning-based controller to control communication in a communication network, and A non-temporary recording medium that can be read by a computer that records a program that causes the processor to execute.

Abstract

【課題】通信ネットワークにおける通信の制御を安定させることを可能にすること。 【解決手段】本開示の一態様に係るシステムは、ネットワーク運用における人間の作業に関する作業関連情報を取得する取得手段と、上記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練する訓練手段と、を含む。

Description

システム、方法及び制御装置
 本開示は、システム、方法及び制御装置に関する。
 通信環境が変化するネットワークにおいて、通信環境に適した制御パラメータを自動で設定することは、非常に重要である。当該制御パラメータを自動で設定するための手法として、機械学習(machine learning)が期待されている。当該機械学習の一種として、強化学習(reinforcement learning)が知られている。
 例えば、特許文献1には、無線通信ネットワークの制御パラメータを自動で設定するために強化学習を使用する技術が記載されている。
特開2013-106202号公報
 しかし、通信ネットワークの制御パラメータを自動で設定するために強化学習を使用する場合に、学習の収束に長い時間がかかり得る。そのため、学習が収束しない長い時間にわたり、通信ネットワークにおける通信の制御が不安定になる可能性がある。
 本開示の目的は、通信ネットワークにおける通信の制御を安定させることを可能にするシステム、方法及び制御装置を提供することにある。
 本開示の一態様に係るシステムは、ネットワーク運用における人間の作業に関する作業関連情報を取得する取得手段と、上記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練する訓練手段と、を含む。
 本開示の一態様に係る方法は、ネットワーク運用における人間の作業に関する作業関連情報を取得することと、上記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練することと、を含む。
 本開示の一態様に係る制御装置は、ネットワーク運用における人間の作業に関する作業関連情報を取得する取得手段と、上記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練する訓練手段と、を備える。
 本開示によれば、通信ネットワークにおける通信の制御を安定させることが可能になる。なお、本開示により、当該効果の代わりに、又は当該効果とともに、他の効果が奏されてもよい。
強化学習の概略を説明するための図である。 Qテーブルの一例を説明するための図である。 第1の実施形態に係るシステムの概略的な構成の一例を示す図である。 第1の実施形態に係る制御装置の概略的な機能構成の例を示すブロック図である。 第1の実施形態に係る制御装置の概略的なハードウェア構成の例を示すブロック図である。 第1の実施形態に係るネットワーク制御パラメータの変更の作業ログの一例を示す図である。 第1の実施形態に係るネットワーク状態の確率密度分布の一例を示す図である。 第1の実施形態に係る訓練処理の概略的な流れの例を説明するためのフローチャートである。 第1の実施形態に係る制御装置の動作の一例を説明するための図である。 第1の実施形態の第6の変形例に係る制御装置の動作の第1の例を説明するための図である。 第1の実施形態の第6の変形例に係る制御装置の動作の第2の例を説明するための図である。 第1の実施形態の第6の変形例に係る制御装置の動作の第3の例を説明するための図である。 第2の実施形態に係るシステムの概略的な構成の一例を示す図である。 第2の実施形態に係る制御装置の概略的な機能構成の例を示すブロック図である。 第2の実施形態に係る制御装置の概略的なハードウェア構成の例を示すブロック図である。 第2の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。 第3の実施形態に係るシステムの概略的な構成の一例を示す。 第3の実施形態に係る訓練処理の概略的な流れの例を説明するためのフローチャートである。
 以下、添付の図面を参照して本開示の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
 説明は、以下の順序で行われる。
 1.関連技術
 2.第1の実施形態
  2.1.システムの構成
  2.2.制御装置の構成
  2.3.動作(機械学習ベースのコントローラの訓練)
  2.4.変形例
 3.第2の実施形態
  3.1.システムの構成
  3.2.制御装置の構成
  3.3.第1の動作(機械学習ベースのコントローラの訓練)
  3.4.第2の動作(コントローラの選択)
  3.5.変形例
 4.第3の実施形態
 <<1.関連技術>>
 図1及び図2を参照して、本開示の実施形態に関連する技術として、機械学習の一種である教師あり学習(supervised learning)と、機械学習の一種である強化学習とを説明する。
 (1)教師あり学習
 教師あり学習では、入力データと当該入力データに対応する出力データ(即ち、正解データ)とを含む訓練データを使用して、入力データに応じてどのようなデータを出力すべきかが学習される。換言すると、教師あり学習では、当該訓練データを使用して、入力データに対する出力データのパターンが学習される。
 教師あり学習には、例えば、ニューラルネットワーク、サポートベクターマシン又は決定木等のアルゴリズムが使用される。
 (2)強化学習
 図1は、強化学習の概略を説明するための図である。図1を参照すると、強化学習では、エージェント(agent)81は、環境(environment)83の状態(state)を観測し、観測した状態から行動(action)を選択する。エージェント81は、当該環境の下での当該行動の選択により、環境83から報酬(reward)を得る。このような一連の動作の繰り返しにより、エージェント81は、環境83の状態に応じてどのような行動が最も大きい報酬をもたらすかを学習することができる。即ち、エージェント81は、報酬を最大化するために、環境に応じて選択すべき行動を学習することができる。
 強化学習の一例として、Q学習がある。Q学習では、例えば、環境83の各状態について各行動がどの程度の価値があるかを示すQテーブルが用いられる。エージェント81は、Qテーブルを用いて、環境83の状態に応じて行動を選択する。さらに、エージェント81は、当該行動の選択に応じて得られる報酬に基づいて、Qテーブルを更新する。
 図2は、Qテーブルの一例を説明するための図である。図2を参照すると、環境83の状態として、状態A(State A)及び状態B(State B)があり、エージェント81の行動として、行動A(Action A)及び行動B(Action B)がある。Qテーブルは、各状態において各行動をとった場合の価値を示す。例えば、状態Aにおいて行動Aをとることの価値はqAAであり、状態Aにおいて行動Bをとることの価値はqABである。状態Bにおいて行動Aをとることの価値はqBAであり、状態Bにおいて行動Bをとることの価値はqBBである。例えば、エージェント81は、各状態において、価値が最も高い行動をとる。一例として、qAAがqABよりも高い場合に、エージェント81は、状態Aにおいて行動Aをとる。なお、Qテーブル内の価値(qAA、qAB、qBA及びqBB)は、行動の選択に応じて得られる報酬に基づいて更新される。
 強化学習では、上述したように各状態において価値が最も高い行動をとることは、「利用(exploitation)」と呼ばれる。「利用」のみにより学習が行われると、各状態においてとられる行動は限定されるので、学習結果は、最適解ではなく局所最適解となり得る。そのため、強化学習では、「利用」と「探索(exploration)」とにより学習が行われる。「探索」は、各状態においてランダムに選択された行動をとることを意味する。例えば、Epsilon-Greedy法では、確率εで「探索」が選択され、確率1-εで「利用」が選択される。「探索」により、例えば、ある状態において、価値が不明である行動が選択され、その結果、当該ある状態における当該行動の価値を知ることができる。このような「探索」により、学習結果として最適解を得られる可能性が高くなる。
 <<2.第1の実施形態>>
 図3~図12を参照して、本開示の第1の実施形態を説明する。
 <2.1.システムの構成>
 図3は、第1の実施形態に係るシステム1の概略的な構成の一例を示す。図3を参照すると、システム1は、通信ネットワーク10及び制御装置100を含む。
 (1)通信ネットワーク10
 通信ネットワーク10は、データを転送する。例えば、通信ネットワーク10は、ネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)と回線とを含み、当該ネットワーク機器の各々が、回線を介してデータを転送する。
 通信ネットワーク10は、有線ネットワークであってもよく、又は、無線ネットワークであってもよい。あるいは、通信ネットワーク10は、有線ネットワーク及び無線ネットワークの両方を含んでもよい。無線ネットワークは、例えば、LTE(Long Term Evolution)又は5G(5th Generation)等の通信回線規格を用いた移動体通信ネットワークであってもよいし、無線LAN(Local Area Network)又はローカル5Gのような特定のエリアで用いるネットワークであってよい。有線ネットワークは、例えば、LAN、WAN(Wide Area Network)又はインターネット等であってもよい。
 (2)制御装置100
 制御装置100は、通信ネットワーク10のための制御を行う。
 例えば、制御装置100は、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラ(machine learning based controller)を含む。
 例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である。
 なお、第1の実施形態に係る制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器に限定されない。この点については、第1の実施形態の第6の変形例として後に詳細に説明する。
 <2.2.制御装置の構成>
 (1)機能構成
 図4は、第1の実施形態に係る制御装置100の概略的な機能構成の例を示すブロック図である。図4を参照すると、制御装置100は、取得手段110、訓練手段120、機械学習ベースのコントローラ130、設定手段140及び通信処理手段150を備える。
 取得手段110、訓練手段120、機械学習ベースのコントローラ130、設定手段140及び通信処理手段150の各々の動作は、後に説明する。
 (2)ハードウェア構成
 図5は、第1の実施形態に係る制御装置100の概略的なハードウェア構成の例を示すブロック図である。図5を参照すると、制御装置100は、プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250を備える。プロセッサ210、メインメモリ220、ストレージ230、通信インタフェース240及び入出力インタフェース250は、バス260を介して互いに接続されている。
 プロセッサ210は、メインメモリ220から読み出されるプログラムを実行する。一例として、プロセッサ210は、CPU(Central Processing Unit)である。
 メインメモリ220は、プログラム及び各種データを記憶する。一例として、メインメモリ220は、RAM(Random Access Memory)である。
 ストレージ230は、プログラム及び各種データを記憶する。一例として、ストレージ230は、SSD(Solid State Drive)及び/又はHDD(Hard Disk Drive)を含む。
 通信インタフェース240は、他の装置との通信のためのインタフェースである。一例として、通信インタフェース240は、ネットワークアダプタ又はネットワークインタフェースカードである。
 入出力インタフェース250は、キーボード等の入力装置、及びディスプレイ等の出力装置との接続のためのインタフェースである。
 取得手段110、訓練手段120、機械学習ベースのコントローラ130、設定手段140及び通信処理手段150の各々は、プロセッサ210及びメインメモリ220により実装されてもよく、又は、プロセッサ210、メインメモリ220及び通信インタフェース240により実装されてもよい。
 当然ながら、制御装置100のハードウェア構成はこの例に限定されない。制御装置100は、他のハードウェア構成により実装されてもよい。
 あるいは、制御装置100は、仮想化されていてもよい。即ち、制御装置100は、仮想マシンとして実装されてもよい。この場合に、制御装置100(仮想マシン)は、プロセッサ及びメモリ等を含む物理マシン(ハードウェア)及びハイパーバイザ上で仮想マシンとして動作してもよい。当然ながら、制御装置100(仮想マシン)は、複数の物理マシンに分散され、動作してもよい。
 制御装置100は、プログラム(命令)を記憶するメモリ(メインメモリ220)と、当該プログラム(命令)を実行可能な1つ以上のプロセッサ(プロセッサ210)とを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、取得手段110、訓練手段120、機械学習ベースのコントローラ130、設定手段140及び/又は通信処理手段150の動作を行ってもよい。上記プログラムは、取得手段110、訓練手段120、機械学習ベースのコントローラ130、設定手段140及び/又は通信処理手段150の動作をプロセッサに実行させるためのプログラムであってもよい。
 <2.3.動作(機械学習ベースのコントローラの訓練)>
 制御装置100(取得手段110)は、ネットワーク運用における人間の作業に関する作業関連情報を取得する。制御装置100(訓練手段120)は、上記作業関連情報に基づいて、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラ130を訓練する。
 (1)作業関連情報
 上述したように、上記作業関連情報は、ネットワーク運用における人間の作業に関する情報である。
 -ネットワーク運用における人間の作業
 上記ネットワーク運用は、例えば、通信ネットワーク10のネットワーク運用である。即ち、上記人間の作業は、通信ネットワーク10のネットワーク運用における人間の作業である。
 上記人間の作業は、例えば、ネットワーク制御パラメータの変更である。即ち、上記人間の作業は、ネットワーク運用におけるネットワーク制御パラメータの変更である。
 なお、第1の実施形態に係るネットワーク運用及び人間の作業はこの例に限定されない。この点については第1の実施形態の第1の変形例として後に詳細に説明する。
 -作業関連情報に含まれる情報(作業情報及びネットワーク状態情報)
 上記作業関連情報は、例えば、上記人間の作業を示す作業情報、及び、上記人間の作業に対応するネットワーク状態を示すネットワーク状態情報を含む。後述するように、例えば、当該ネットワーク状態情報は、機械学習の入力データとして使用され、当該作業情報は、当該入力データに対応する機械学習の出力データとして使用される。
 例えば、上記作業関連情報は、上記作業情報及び上記ネットワーク状態情報の複数のセットを含む。より具体的には、例えば、上記作業関連情報は、上記作業情報及び上記ネットワーク状態情報のN個のセットを含み、Nは、機械学習のために十分に大きい数である。
 上述したように、上記人間の作業は、例えば、ネットワーク制御パラメータの変更である。この場合に、上記作業情報は、上記ネットワーク制御パラメータの変更として、例えば、上記ネットワーク制御パラメータの増加若しくは減少を示す。さらに具体的には、上記作業情報は、上記ネットワーク制御パラメータが増加したか減少したかを示してもよく、又は、上記ネットワーク制御パラメータの増加若しくは減少の量を示してもよい。
 一例として、上記ネットワーク状態(NW状態)と上記ネットワーク制御パラメータ(NW制御パラメータ)との組合せは、以下のようなものである。
[NW状態]スループット及び/又はパケット到着間隔
[NW制御パラメータ]優先度及び/又は帯域
 例えば、上記ネットワーク制御パラメータは、フローごとのパラメータであり、上記ネットワーク状態も、フローごとのネットワーク状態である。各フローは、例えば、送信アドレス、受信アドレス及びポート番号により識別される。
 当然ながら、第1の実施形態に係る上記ネットワーク状態及び上記ネットワーク制御パラメータは、この例に限定されない。この点については第1の実施形態の第2の変形例として後に詳細に説明する。
 上述したように、例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である。この場合に、例えば、上記ネットワーク状態は、制御装置100において観測されるネットワーク状態(例えば、スループット及び/又はパケット到着間隔)であり、例えば、上記ネットワーク制御パラメータは、制御装置100において設定されるネットワーク制御パラメータ(例えば、優先度及び/又は帯域)である。
 なお、上述したように、第1の実施形態に係る制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器に限定されない。この点については、第1の実施形態の第6の変形例として後に詳細に説明する。
 上記ネットワーク状態は、通信ネットワーク(例えば、通信ネットワーク10)の状態であるが、上記ネットワーク状態は、当該通信ネットワークにおける通信の状態とも言える。
 -作業関連情報の生成
 上記作業関連情報は、例えば、上記人間の作業のログに基づいて生成される。上述したように、上記人間の作業は、例えば、ネットワーク制御パラメータの変更であり、この場合に、上記作業関連情報は、ネットワーク制御パラメータの変更のログに基づいて生成される。
 例えば、上記作業関連情報に含まれる上記作業情報は、上記ログから直接的に生成され、上記作業関連情報に含まれる上記ネットワーク状態情報は、上記ログに対応するパケットキャプチャ情報から生成される。
 図6は、第1の実施形態に係るネットワーク制御パラメータの変更の作業ログの一例を示す。図6を参照すると、当該作業ログは、ネットワーク制御パラメータであるパラメータ21及びパラメータ23のセット(例えば、優先度及び帯域のセット)が変更された時刻と変更値とを含む。この例では、パラメータ21及びパラメータ23のセットは、時刻25及び時刻27において変更されている。例えば時刻27では、パラメータ23がaからbに変更されている。例えばこのような作業ログから、ネットワーク制御パラメータの変更を知ることができる。よって、ネットワーク制御パラメータの変更を示す作業情報が、このような作業ログから直接的に生成され得る。さらに、ネットワーク制御パラメータが変更された時刻(例えば、パラメータ23が変更された時刻27)の直前の所定期間のパケットキャプチャ情報から、当該ネットワーク制御パラメータ(例えば、パラメータ23)の変更に対応するネットワーク状態(例えば、スループット及び/又はパケット到着間隔)を知ることができる。例えば、当該パケットキャプチャ情報から、上記所定期間におけるネットワーク状態の統計値(例えば、平均値、最頻値、中央値、最大値、最小値、分散及び/又は標準偏差等)を算出することができる。よって、ネットワーク制御パラメータの変更に対応するネットワーク状態(例えば、上記統計値)を示すネットワーク状態情報が、作業ログから特定されるパケットキャプチャ情報から生成され得る。なお、例えば図7に示されるような、上記所定期間におけるネットワーク状態の確率密度分布が、上記統計値の算出のために生成され、使用されてもよい。
 (2)作業関連情報の取得
 上述したように、制御装置100(取得手段110)は、上記作業関連情報を取得する。
 例えば、上記作業関連情報は、制御装置100以外の装置において(人手により又は自動で)生成され、制御装置100に提供される。そして、制御装置100(取得手段110)は、上記作業関連情報を取得する。
 なお、第1の実施形態において、上記作業関連情報の取得の手法は、この例に限定されない。この点については、第1の実施形態の第4の変形例として後に詳細に説明する。
 (3)訓練
 上述したように、制御装置100(訓練手段120)は、上記作業関連情報に基づいて、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラ130を訓練する。
 例えば、制御装置100(訓練手段120)は、上記作業関連情報に含まれる上記ネットワーク状態情報を入力データとして使用し、上記作業関連情報に含まれる上記作業情報を、上記入力データに対応する出力データとして使用して、機械学習ベースのコントローラ130を訓練する。具体的には、例えば、制御装置100(訓練手段120)は、機械学習ベースのコントローラ130に、入力データとして上記ネットワーク状態情報を、上記入力データに対応する出力データとして上記作業情報を提供することにより、機械学習ベースのコントローラ130を訓練する。
 例えば、機械学習ベースのコントローラ130は、教師あり学習ベースのコントローラ(supervised learning based controller)であり、制御装置100(訓練手段120)は、上記作業関連情報を教師あり学習の訓練データとして使用して、機械学習ベースのコントローラ130を訓練する。具体的には、例えば、上記訓練データは、入力データと、当該入力データに対応する正解データ(出力データ)とを含む。制御装置100(訓練手段120)は、上記入力データとして上記ネットワーク状態情報を機械学習ベースのコントローラ130に提供し、上記正解データ(上記出力データ)として上記作業情報を機械学習ベースのコントローラ130に提供する。上記訓練データは、教師データと呼ばれてもよい。
 このような訓練により、機械学習ベースのコントローラ130は、ネットワーク運用における人間の作業(ネットワーク制御パラメータの変更)に基づいて、ネットワーク状態に応じてネットワーク制御パラメータをどのように変更すべきかを学習することができる。その結果、機械学習ベースのコントローラ130は、人間の作業と同様に、通信ネットワーク10における通信を制御することが可能になる。そのため、例えば、通信ネットワーク10における通信の制御に機械学習ベースのコントローラ130を使用することによって、通信ネットワーク10における通信の制御を安定させることが可能になる。
 なお、第1の実施形態に係る機械学習ベースのコントローラ130は、教師あり学習ベースのコントローラに限定されない。この点については、第1の実施形態の第5の変形例として後に詳細に説明する。
 (4)処理の流れ
 図8は、第1の実施形態に係る訓練処理の概略的な流れの例を説明するためのフローチャートである。
 制御装置100(取得手段110)は、ネットワーク運用における人間の作業に関する作業関連情報を取得する(S310)。
 制御装置100(訓練手段120)は、上記作業関連情報に基づいて、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラ130を訓練する(S320)。
 (5)訓練後の動作
 機械学習ベースのコントローラ130は、上記作業関連情報に基づく訓練の後に、通信ネットワーク10における通信の制御に使用される。
 具体的には、例えば、機械学習ベースのコントローラ130は、通信ネットワーク10におけるネットワーク状態(例えば、スループット及び/又はパケット到着間隔)から、ネットワーク制御パラメータ(例えば、優先度及び/又は帯域)の変更を選択し、出力する。
 上述したように、例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である。この場合に、上記ネットワーク状態は、制御装置100において観測されるネットワーク状態(例えば、スループット及び/又はパケット到着間隔)であり、例えば、上記ネットワーク制御パラメータは、制御装置100において設定されるネットワーク制御パラメータ(例えば、優先度及び/又は帯域)である。即ち、機械学習ベースのコントローラ130は、制御装置100において観測されるネットワーク状態から、制御装置100において設定されるネットワーク制御パラメータの変更を選択し、出力する。制御装置100(設定手段140)は、選択された当該ネットワーク制御パラメータの当該変更に従って、変更されたネットワーク制御パラメータを制御装置100において設定する。その結果、制御装置100(通信処理手段150)は、当該変更されたネットワーク制御パラメータに従って、データ(例えば、パケット)を転送する。このように、機械学習ベースのコントローラ130は、例えばネットワーク制御パラメータの変更を選択することにより、通信ネットワーク10における通信を制御する。
 <2.4.変形例>
 第1の実施形態の第1~第7の変形例を説明する。なお、第1の実施形態の第1~第7の変形例のうちの2つ以上の変形例が組み合せられてもよい。
 (1)第1の変形例
 上述したように、機械学習ベースのコントローラ130は、ネットワーク運用における人間の作業に関する作業関連情報に基づいて訓練される。また、上述したように、上記ネットワーク運用は、例えば、通信ネットワーク10のネットワーク運用である。しかし、第1の実施形態は、この例に限定されない。
 第1の実施形態の第1の変形例では、上記ネットワーク運用は、通信ネットワーク10とは異なる他の通信ネットワークのネットワーク運用であってもよい。即ち、機械学習ベースのコントローラ130は、上記他の通信ネットワークにおける人間の作業に関する作業関連情報に基づいて訓練されてもよい。上記他の通信ネットワークは、通信ネットワーク10に類似するネットワークであってもよい。
 これにより、例えば、通信ネットワーク10の運用の実績がなくても、通信ネットワーク10における通信の制御に使用可能な機械学習ベースのコントローラを得ることが可能になる。
 (2)第2の変形例
 上述したように、上記作業関連情報は、例えば、上記人間の作業を示す作業情報、及び、上記人間の作業に対応するネットワーク状態を示すネットワーク状態情報を含む。上述したように、上記人間の作業は、例えば、ネットワーク制御パラメータの変更であり、上記作業情報は、上記ネットワーク制御パラメータの変更として、例えば、上記ネットワーク制御パラメータの増加若しくは減少を示す。さらに、上述したように、一例として、上記ネットワーク状態は、スループット及び/又はパケット到着間隔であり、上記ネットワーク制御パラメータは、優先度及び/又は帯域である。また、上述したように、例えば、上記ネットワーク制御パラメータは、フローごとのパラメータであり、上記ネットワーク状態も、フローごとのネットワーク状態である。しかし、当然ながら、第1の実施形態は、この例に限定されない。
 第1の実施形態の第2の変形例では、まず、上記ネットワーク制御パラメータは、フローごとのパラメータでなくてもよく、上記ネットワーク状態も、フローごとのネットワーク状態でなくてもよい。上記ネットワーク制御パラメータは、複数のフローを含み得る通信全体についてのパラメータであってもよく、上記ネットワーク状態も、当該通信全体についてのネットワーク状態であってもよい。
 また、上記ネットワーク状態は、スループット及び/又はパケット到着間隔でなくてもよく、上記ネットワーク制御パラメータは、優先度及び/又は帯域でなくてもよい。上記ネットワーク状態(NW状態)と上記ネットワーク制御パラメータ(NW制御パラメータ)との組合せは、以下のようなものであってもよい。
[例1(TCP(Transmission Control Protocol)フローの制御の例)]
 [NW状態]アクティブフロー数、可用帯域、及び/又は、
       IP(Internet Protocol)の過去のバッファサイズ
 [NW制御パラメータ]送信バッファサイズ
[例2(動画トラフィックの流量の制御の例)]
 [NW状態]動画のQoE(Quality of Experience)
       (例えば、動画のビットレート及び/又は動画の解像度)
 [NW制御パラメータ]スループットの上限
[例3(ロボット制御の例)]
 [NW状態]パケット到着間隔及び/又はパケットサイズの統計値
       (例えば、最大値、最小値、平均値又は標準偏差など)
 [NW制御パラメータ]パケット送信間隔
 さらに、上記作業情報は、上記ネットワーク制御パラメータの変更として、上記ネットワーク制御パラメータの増加若しくは減少を示さず、上記ネットワーク制御パラメータの変更された値そのものを示してもよい。例えば、図6を再び参照すると、時刻27についてのパラメータの変更として、パラメータ23の増加又は減少(例えば、b-a)を示さず、パラメータ21とパラメータ23のセットの変更された値(a、b)を示してもよい。
 (3)第3の変形例
 上述したように、上記作業関連情報は、例えば、上記人間の作業のログに基づいて生成される。しかし、第1の実施形態は、この例に限定されない。
 第1の実施形態の第3の変形例では、上記作業関連情報は、上記人間の作業のための作業基準に基づいて生成されてもよい。上述したように、上記人間の作業は、例えば、ネットワーク制御パラメータの変更であり、この場合に、上記作業関連情報は、ネットワーク制御パラメータの変更のための作業基準に基づいて生成されてもよい。上記作業基準は、ネットワーク運用における人間の作業のためのルールであってもよく、ネットワーク運用における人間の作業のためのノウハウ又は参考情報であってもよい。
 例えば、上記作業基準は、ネットワーク状態と、当該ネットワーク状態に対応するネットワーク制御パラメータの変更(即ち、人間の作業)とを含んでもよく、上記作業基準に基づいて、ネットワーク状態とネットワーク制御パラメータの変更(即ち、人間の作業)とのセットのサンプルが、上記作業関連情報(上記ネットワーク状態情報及び上記作業情報)として生成されてもよい。
 このように、作業ログがなくても訓練データ(即ち、上記作業関連情報)が生成され得る。
 (4)第4の変形例
 上述したように、例えば、上記作業関連情報は、制御装置100以外の装置において(人手により又は自動で)生成され、制御装置100に提供される。しかし、第1の実施形態は、この例に限定されない。
 第1の実施形態の第4の変形例では、上記作業関連情報は、制御装置100により生成されてもよい。この場合に、制御装置100は、生成手段をさらに備えてもよく、制御装置100(生成手段)は、上記作業関連情報を生成してもよい。
 (5)第5の変形例
 上述したように、例えば、機械学習ベースのコントローラ130は、教師あり学習ベースのコントローラである。しかし、第1の実施形態は、この例に限定されない。
 第1の実施形態の第5の変形例では、機械学習ベースのコントローラ130は、入力される状態に基づいて行動を出力する強化学習ベースのコントローラ(reinforcement learning based controller)であってもよい。この場合に、制御装置100(訓練手段120)は、上記作業関連情報を、強化学習における入力される状態及び出力される行動とみなして、機械学習ベースのコントローラ130を訓練してもよい。具体的には、例えば、制御装置100(訓練手段120)は、上記入力される状態として上記ネットワーク状態情報を使用し、上記出力する行動として上記作業情報を使用して、機械学習ベースのコントローラ130(強化学習ベースのコントローラ)を訓練してもよい。即ち、制御装置100(訓練手段120)は、上記入力される状態として上記ネットワーク状態情報を機械学習ベースのコントローラ130に提供してもよく、上記出力される行動として上記作業情報を機械学習ベースのコントローラ130に提供してもよい。
 上記作業関連情報は、上記ネットワーク状態情報及び上記作業情報に加えて、上記人間の作業に対応する報酬を示す報酬情報をさらに含んでもよい。上記作業関連情報は、上記作業情報、上記ネットワーク状態情報及び上記報酬情報の複数のセットを含んでもよい。制御装置100(訓練手段120)は、上記作業関連情報を、強化学習における入力される状態、出力される行動及び得られる報酬とみなして、上記機械学習ベースのコントローラ130(強化学習ベースのコントローラ)を訓練してもよい。具体的には、例えば、制御装置100(訓練手段120)は、上記得られる報酬として上記報酬情報を使用して、機械学習ベースのコントローラ130を訓練してもよい。即ち、制御装置100(訓練手段120)は、上記得られる報酬として上記報酬情報を機械学習ベースのコントローラ130に提供してもよい。
 上記報酬情報により示される上記報酬は、上記報酬に対応する人間の作業(ネットワーク制御パラメータの変更)によらず、一定であってもよい。即ち、人間の作業は、一定の報酬に値するとみなされてもよい。あるいは、上記報酬情報により示される上記報酬は、上記報酬に対応する人間の作業(ネットワーク制御パラメータの変更)の後の所定期間のパケットキャプチャ情報から、強化学習の報酬の基準に従って算出されてもよい。
 このように人間の作業に関する作業関連情報を使用して強化学習ベースのコントローラ(即ち、機械学習ベースのコントローラ130)を訓練することにより、強化学習を事前に進めておくことができる。そのため、強化学習ベースのコントローラ(即ち、機械学習ベースのコントローラ130)を通信ネットワーク10における通信の制御に使用し始めた後、長い時間がかかることなく、強化学習ベースのコントローラ(即ち、機械学習ベースのコントローラ130)における学習が収束し得る。そのため、通信ネットワーク10における通信の制御が安定し得る。
 (6)第6の変形例
 上述したように、例えば、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である(図9を参照)。また、上述したように、例えば、制御装置100(設定手段140)は、機械学習ベースのコントローラ130がネットワーク制御パラメータの変更を選択した場合に、変更されたネットワーク制御パラメータを制御装置100において設定する(図9を参照)。しかし、第1の実施形態に係る制御装置100はこの例に限定されない。
 -第1の例
 第1の実施形態の第6の変形例では、第1の例として、図10に示されるように、制御装置100は、通信ネットワーク10内でデータを転送するネットワーク機器そのものではなく、通信ネットワーク10内でデータを転送するネットワーク機器30を制御する装置(例えば、ネットワークコントローラ)であってもよい。
 機械学習ベースのコントローラ130は、ネットワーク機器30において観測されるネットワーク状態(例えば、スループット及び/又はパケット到着間隔)から、ネットワーク機器30において設定されるネットワーク制御パラメータ(例えば、優先度及び/又は帯域)の変更を選択し、出力してもよい。
 図10に示されるように、制御装置100(設定手段140)は、機械学習ベースのコントローラ130がネットワーク制御パラメータの変更を選択した場合に、変更されたネットワーク制御パラメータをネットワーク機器30に設定させてもよい。一例として、制御装置100(設定手段140)は、ネットワーク制御パラメータの変更を示すパラメータ情報(例えば、ネットワーク制御パラメータの変更を指示するコマンド)をネットワーク機器30へ送信し、ネットワーク機器30は、当該パラメータ情報に基づいて、変更されたネットワーク制御パラメータを設定してもよい。その結果、ネットワーク機器30は、当該変更されたネットワーク制御パラメータに従って、データ(例えば、パケット)を転送してもよい。
 -第2の例
 第2の例として、図11に示されるように、ネットワークコントローラ50が、通信ネットワーク10内でデータを転送するネットワーク機器40を制御し、制御装置100は、ネットワークコントローラ50を制御又は支援(assist)する装置であってもよい。
 制御装置100は、通信ネットワーク10のネットワーク状態を自ら観測せず、ネットワーク機器40が、当該ネットワーク状態を観測してもよい。制御装置100は、当該ネットワーク状態を示す情報をネットワーク機器40又はネットワークコントローラ50から取得してもよい。機械学習ベースのコントローラ130は、ネットワーク機器40において観測されるネットワーク状態(例えば、スループット及び/又はパケット到着間隔)から、ネットワーク機器40において設定されるネットワーク制御パラメータ(例えば、優先度及び/又は帯域)の変更を選択し、出力してもよい。
 図11に示されるように、制御装置100(設定手段140)は、機械学習ベースのコントローラ130がネットワーク制御パラメータの変更を選択した場合に、ネットワーク制御パラメータの変更を示す第1のパラメータ情報(例えば、ネットワーク制御パラメータの変更を指示するコマンド、又は、ネットワーク制御パラメータの変更を教える支援情報)をネットワークコントローラ50へ送信してもよい。さらに、ネットワークコントローラ50は、当該第1のパラメータ情報に基づいて、ネットワーク制御パラメータの変更を示す第2のパラメータ情報(例えば、ネットワーク制御パラメータの変更を指示するコマンド)をネットワーク機器40へ送信し、ネットワーク機器40は、当該第2のパラメータ情報に基づいて、変更されたネットワーク制御パラメータを設定してもよい。その結果、ネットワーク機器40は、当該変更されたネットワーク制御パラメータに従って、データ(例えば、パケット)を転送してもよい。
 -第3の例
 第3の例として、図12に示されるように、ネットワークコントローラ70が、通信ネットワーク10内でデータを転送するネットワーク機器60を制御し、制御装置100は、ネットワークコントローラ70を制御する装置であってもよい。
 制御装置100は、通信ネットワーク10のネットワーク状態を自ら観測せず、ネットワーク機器60が、当該ネットワーク状態を観測してもよい。制御装置100は、当該ネットワーク状態を示す情報をネットワーク機器60又はネットワークコントローラ70から取得してもよい。機械学習ベースのコントローラ130は、ネットワーク機器60において観測されるネットワーク状態から、ネットワークコントローラ70において設定されるネットワーク制御パラメータの変更を選択し、出力してもよい。
 図12に示されるように、制御装置100(設定手段140)は、機械学習ベースのコントローラ130がネットワーク制御パラメータの変更を選択した場合に、変更されたネットワーク制御パラメータをネットワークコントローラ70に設定させてもよい。一例として、制御装置100(設定手段140)は、ネットワーク制御パラメータの変更を示すパラメータ情報(例えば、ネットワーク制御パラメータの変更を指示するコマンド)をネットワークコントローラ70へ送信し、ネットワークコントローラ70は、当該パラメータ情報に基づいて、変更されたネットワーク制御パラメータを設定してもよい。その結果、ネットワークコントローラ70は、当該変更されたネットワーク制御パラメータに従って、ネットワーク機器60を制御してもよく、ネットワーク機器60は、ネットワークコントローラ70による制御に従って、データ(例えば、パケット)を転送してもよい。
 (7)第7の変形例
 上述したように、例えば、制御装置100は、取得手段110、訓練手段120、機械学習ベースのコントローラ130、設定手段140及び通信処理手段150を備える。しかし、第1の実施形態に係る制御装置100はこの例に限定されない。
 第1の実施形態の第7の変形例では、例えば、機械学習ベースのコントローラ130は、制御装置100に含まれず、他の装置に含まれてもよい。この場合に、制御装置100(訓練手段120)は、当該他の装置に含まれる機械学習ベースのコントローラ130に上記作業関連情報を提供することにより、機械学習ベースのコントローラ130を訓練してもよい。設定手段140も、制御装置100に含まれず、上記他の装置に含まれてもよい。なお、機械学習ベースのコントローラ130が制御装置100に含まれない場合には、第6の変形例における説明において、「制御装置100」は、「機械学習ベースのコントローラ130を含む装置」に置き換えられてもよい。
 第1の実施形態の第7の変形例では、例えば、設定手段140は、機械学習ベースのコントローラ130に含まれていてもよい。即ち、機械学習ベースのコントローラ130は、上述した設定手段140の動作を行ってもよい。
 第1の実施形態の第7の変形例では、例えば、データ(例えば、パケット)を転送する通信処理手段150は、制御装置100に含まれず、他の装置に含まれてもよい。例えば、第6の変形例のような場合に、通信処理手段150が、制御装置100に含まれず、ネットワーク機器に含まれてもよい。
 第4の変形例において説明したように、制御装置100は、生成手段をさらに備えてもよい。
 <<3.第2の実施形態>>
 図13~図16を参照して、本開示の第2の実施形態を説明する。
 <3.1.システムの構成>
 図13は、第2の実施形態に係るシステム2の概略的な構成の一例を示す。図13を参照すると、システム2は、通信ネットワーク10及び制御装置400を含む。
 (1)通信ネットワーク10
 通信ネットワーク10についての説明は、第1の実施形態における通信ネットワーク10の説明と同じである。よって、ここでは重複する説明を省略する。
 (2)制御装置400
 制御装置400は、通信ネットワーク10のための制御を行う。
 例えば、制御装置400は、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラと強化学習ベースのコントローラとを含む。例えば、当該機械学習ベースのコントローラは、教師あり学習ベースのコントローラである。
 とりわけ第2の実施形態では、例えば、制御装置400は、通信ネットワーク10における通信を制御するための強化学習ベースのコントローラをさらに含む。
 例えば、制御装置400は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である。
 なお、第2の実施形態に係る制御装置400は、通信ネットワーク10内でデータを転送するネットワーク機器に限定されない。この点については、第2の実施形態の第7の変形例として後に詳細に説明する。
 <3.2.制御装置の構成>
 (1)機能構成
 図14は、第2の実施形態に係る制御装置400の概略的な機能構成の例を示すブロック図である。図14を参照すると、制御装置400は、第1取得手段410、訓練手段420、機械学習ベースのコントローラ430、強化学習ベースのコントローラ440、設定手段442、通信処理手段444、観測手段450、判定手段460、第2取得手段470及び選択手段480を備える。
 第1取得手段410、訓練手段420、機械学習ベースのコントローラ430、強化学習ベースのコントローラ440、設定手段442、通信処理手段444、観測手段450、判定手段460、第2取得手段470及び選択手段480の各々の動作は、後に説明する。
 (2)ハードウェア構成
 図15は、第2の実施形態に係る制御装置400の概略的なハードウェア構成の例を示すブロック図である。図15を参照すると、制御装置400は、プロセッサ510、メインメモリ520、ストレージ530、通信インタフェース540及び入出力インタフェース550を備える。プロセッサ510、メインメモリ520、ストレージ530、通信インタフェース540及び入出力インタフェース550は、バス560を介して互いに接続されている。
 プロセッサ510は、メインメモリ520から読み出されるプログラムを実行する。一例として、プロセッサ510は、CPUである。
 メインメモリ520は、プログラム及び各種データを記憶する。一例として、メインメモリ520は、RAMである。
 ストレージ530は、プログラム及び各種データを記憶する。一例として、ストレージ530は、SSD及び/又はHDDを含む。
 通信インタフェース540は、他の装置との通信のためのインタフェースである。一例として、通信インタフェース540は、ネットワークアダプタ又はネットワークインタフェースカードである。
 入出力インタフェース550は、キーボード等の入力装置、及びディスプレイ等の出力装置との接続のためのインタフェースである。
 第1取得手段410、訓練手段420、機械学習ベースのコントローラ430、強化学習ベースのコントローラ440、設定手段442、通信処理手段444、観測手段450、判定手段460、第2取得手段470及び選択手段480の各々は、プロセッサ510及びメインメモリ520により実装されてもよく、又は、プロセッサ510、メインメモリ520及び通信インタフェース540により実装されてもよい。
 当然ながら、制御装置400のハードウェア構成はこの例に限定されない。制御装置400は、他のハードウェア構成により実装されてもよい。
 あるいは、制御装置400は、仮想化されていてもよい。即ち、制御装置400は、仮想マシンとして実装されてもよい。この場合に、制御装置400(仮想マシン)は、プロセッサ及びメモリ等を含む物理マシン(ハードウェア)及びハイパーバイザ上で仮想マシンとして動作してもよい。当然ながら、制御装置400(仮想マシン)は、複数の物理マシンに分散され、動作してもよい。
 制御装置400は、プログラム(命令)を記憶するメモリ(メインメモリ520)と、当該プログラム(命令)を実行可能な1つ以上のプロセッサ(プロセッサ510)とを含んでもよい。当該1つ以上のプロセッサは、上記プログラムを実行して、第1取得手段410、訓練手段420、機械学習ベースのコントローラ430、強化学習ベースのコントローラ440、設定手段442、通信処理手段444、観測手段450、判定手段460、第2取得手段470及び/又は選択手段480の動作を行ってもよい。上記プログラムは、第1取得手段410、訓練手段420、機械学習ベースのコントローラ430、強化学習ベースのコントローラ440、設定手段442、通信処理手段444、観測手段450、判定手段460、第2取得手段470及び/又は選択手段480の動作をプロセッサに実行させるためのプログラムであってもよい。
 <3.3.第1の動作(機械学習ベースのコントローラの訓練)>
 制御装置400(第1取得手段410)は、ネットワーク運用における人間の作業に関する作業関連情報を取得する。制御装置400(訓練手段420)は、上記作業関連情報に基づいて、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラ430を訓練する。
 即ち、第1の実施形態における機械学習ベースのコントローラ130の訓練と同様に、第2の実施形態では、機械学習ベースのコントローラ430が上記作業関連情報に基づいて訓練される。
 第2の実施形態に係る「(1)作業関連情報」、「(2)作業関連情報の取得」、「(3)訓練」、「(4)処理の流れ」及び「(5)訓練後の動作」の説明は、符号の相違を除き、第1の実施形態に係るこれらの説明と同じである。よって、ここでは重複する説明を省略する。なお、符号の相違について、第1の実施形態に係る制御装置100、取得手段110、訓練手段120、機械学習ベースのコントローラ130、設定手段140及び通信処理手段150は、それぞれ、第2の実施形態に制御装置400、第1取得手段410、訓練手段420、機械学習ベースのコントローラ430、設定手段442及び通信処理手段444に対応している。
 なお、以下の第2の動作(コントローラの選択)において、機械学習ベースのコントローラ430は、上記作業関連情報に基づいて訓練された機械学習ベースのコントローラである。
 また、第1の実施形態の第5の変形例における機械学習ベースのコントローラ130とは異なり、第2の実施形態に係る機械学習ベースのコントローラ430は、強化学習ベースのコントローラではない。第2の実施形態に係る機械学習ベースのコントローラ430は、例えば、第1の実施形態のメインの例における機械学習ベースのコントローラ130と同様に、教師あり学習ベースのコントローラである。
 <3.4.第2の動作(コントローラの選択)>
 例えば、制御装置400(選択手段480)は、通信ネットワーク10の状態に関する情報に基づいて、通信ネットワーク10における通信を制御するための強化学習ベースのコントローラ440と、通信ネットワーク10における通信を制御するための機械学習ベースのコントローラ430とのうちの、一方を選択する。即ち、制御装置400(選択手段480)は、機械学習ベースのコントローラ430及び強化学習ベースのコントローラ440の中から、通信ネットワーク10における通信の制御に使用する1つのコントローラを選択する。
 図16は、第2の実施形態に係るコントローラ選択処理の概略的な流れの例を説明するためのフローチャートである。以下、図16を参照して、コントローラの選択のための動作を説明する。
 (1)観測(S610)
 例えば、制御装置400(観測手段450)は、通信ネットワーク10を観測する(S610)。
 より具体的には、例えば、制御装置400(観測手段450)は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率を観測する。例えば、制御装置400は、通信ネットワーク10内でデータを転送するネットワーク機器であり、観測される上記スループットは、制御装置400におけるスループットであり、観測される上記パケットロス率は、制御装置400におけるパケットロス率である。
 例えば、制御装置400(観測手段450)は、通信ネットワーク10についての観測情報を生成する。当該観測情報は、通信ネットワーク10の観察の結果を示す。より具体的には、例えば、上記観測情報は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率を示す。
 (2)判定(S620)
 例えば、制御装置400(判定手段460)は、通信ネットワーク10の状態を判定する(S620)。
 -通信ネットワーク10の状態
 例えば、判定される上記状態は、通信ネットワーク10の輻輳状態である。即ち、制御装置400(判定手段460)は、通信ネットワーク10の輻輳状態を判定する。
 より具体的には、例えば、制御装置400(判定手段460)は、通信ネットワーク10が一定のレベル(certain level)を超えて輻輳しているかを判定する。
 なお、ここで判定される上記状態(通信ネットワーク10の状態)は、あくまでコントローラの選択のために判定される状態であり、強化学習の入力である「状態」を意味しない、ということに留意すべきである。
 -判定手法
 例えば、制御装置400(判定手段460)は、通信ネットワーク10についての上記観測情報に基づいて、通信ネットワーク10の上記状態を判定する。
 上述したように、例えば、上記観測情報は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率を示す。この場合に、制御装置400(判定手段460)は、通信ネットワーク10におけるスループット、及び/又は、通信ネットワーク10におけるパケットロス率に基づいて、通信ネットワーク10の状態(例えば、通信ネットワーク10が一定のレベルを超えて輻輳しているか)を判定する。
 一例として、制御装置400(判定手段460)は、通信ネットワーク10におけるスループットが所定の閾値よりも小さい、又は、通信ネットワーク10におけるパケットロス率が所定の閾値よりも大きい場合に、通信ネットワーク10が一定のレベルを超えて輻輳していると判定する。そうではない場合に(otherwise)、制御装置400(判定手段460)は、通信ネットワーク10が一定のレベルを超えて輻輳していないと判定する。
 あるいは、制御装置400(判定手段460)は、通信ネットワーク10におけるスループットが所定の閾値よりも小さく、且つ、通信ネットワーク10におけるパケットロス率が所定の閾値よりも大きい場合に、通信ネットワーク10が一定のレベルを超えて輻輳していると判定してもよい。そうではない場合に、制御装置400(判定手段460)は、通信ネットワーク10が一定のレベルを超えて輻輳していないと判定してもよい。
 当然ながら、制御装置400(判定手段460)は、上述したように上記スループット及び上記パケットロス率の両方に基づくのではなく、上記スループット及び上記パケットロス率の一方のみに基づいて、通信ネットワーク10が一定のレベルを超えて輻輳しているかを判定してもよい。
 -通信ネットワーク10の状態に関する情報(状態情報)
 例えば、制御装置400(判定手段460)は、通信ネットワーク10の上記状態(即ち、判定された状態)に関する情報(以下、「状態情報」と呼ぶ)を生成する。なお、ここでの「状態情報」は、第1の実施形態において説明した「ネットワーク状態情報」(即ち、上記人間の作業に対応するネットワーク状態を示す情報であって、上記作業関連情報に含まれる情報)とは別の情報である、ということに留意すべきである。
 例えば、上記状態情報は、通信ネットワーク10の上記状態(即ち、判定された状態)を示す。より具体的には、例えば、上記状態情報は、通信ネットワーク10が一定のレベルを超えて輻輳しているかを示す。
 なお、上記状態情報はこの例に限定されない。この点については、第2の実施形態の第5の変形例として後に詳細に説明する。
 (3)選択(S630)
 制御装置400(第2取得手段470)は、上記状態情報を取得する。制御装置400(選択手段480)は、上記状態情報に基づいて、機械学習ベースのコントローラ430と強化学習ベースのコントローラ440とのうちの一方を選択する(S630)。即ち、制御装置400(選択手段480)は、上記状態情報に基づいて、機械学習ベースのコントローラ430及び強化学習ベースのコントローラ440の中から、通信ネットワーク10における通信の制御に使用する1つのコントローラを選択する。このような選択により、機械学習ベースのコントローラ430及び強化学習ベースのコントローラ440は、通信ネットワーク10における通信の制御のために選択的に使用される。
 例えば、制御装置400(選択手段480)は、通信ネットワーク10が一定のレベルを超えて輻輳している場合に、機械学習ベースのコントローラ430を選択し、通信ネットワーク10が一定のレベルを超えて輻輳していない場合に、強化学習ベースのコントローラ440を選択する。即ち、通信ネットワーク10が一定のレベルを超えて輻輳している場合には、ネットワーク運用における人間の作業に関する作業関連情報に基づいて訓練された機械学習ベースのコントローラ430が使用され、そうではない場合に、強化学習ベースのコントローラ440が使用される。
 なお、選択されたコントローラ(機械学習ベースのコントローラ430又は強化学習ベースのコントローラ440)は、通信ネットワーク10における通信の制御に使用される。具体的には、例えば、選択されたコントローラは、通信ネットワーク10におけるネットワーク状態(例えば、スループット及び/又はパケット到着間隔)から、ネットワーク制御パラメータ(例えば、優先度及び/又は帯域)の変更を選択し、出力する。上述したように、例えば、制御装置400は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)であり、制御装置400(設定手段442)は、選択された上記ネットワーク制御パラメータの当該変更に従って、変更されたネットワーク制御パラメータを制御装置400において設定する。その結果、制御装置400(通信処理手段444)は、当該変更されたネットワーク制御パラメータに従って、データ(例えば、パケット)を転送する。このように、選択されたコントローラ(機械学習ベースのコントローラ430又は強化学習ベースのコントローラ440)は、例えばネットワーク制御パラメータの変更を選択することにより、通信ネットワーク10における通信を制御する。
 以上、第2の実施形態に係るコントローラの選択を説明した。通信ネットワーク10が極度に輻輳している場合には、ネットワーク状態が不安定になり、もし強化学習ベースのコントローラ440を使用すると、強化学習において、誤学習が発生し、学習が収束しなくなり得る。その結果、強化学習ベースのコントローラ440の使用により、通信ネットワーク10の通信の制御が不安定になり得る。しかし、上述したようなコントローラの選択によれば、通信ネットワーク10が極度に輻輳している場合には、機械学習ベースのコントローラ430を使用することができ、人間の作業と同様に、通信ネットワーク10における通信の制御が行われ得る。そのため、通信ネットワーク10の通信の制御が安定し得る。
 また、上述したようなコントローラの選択によれば、通信ネットワーク10が極度に輻輳していない場合には、強化学習ベースのコントローラ440を使用することができ、通信ネットワーク10における通信の最適な制御が行われ得る。そのため、通信ネットワーク10の通信の制御が安定し得る。
 <3.5.変形例>
 第2の実施形態の第1~第4の変形例の説明は、符号の相違を除き、第1の実施形態の第1~第4の変形例の説明と同じである。よって、ここでは重複する説明を省略する。なお、符号の相違について、第1の実施形態の第1~第4の変形例に係る制御装置100及び機械学習ベースのコントローラ130は、それぞれ、第2の実施形態の第1~第4の変形例に係る制御装置400及び機械学習ベースのコントローラ430に対応している。
 以下では、第2の実施形態の第5~第8の変形例を説明する。
 なお、第2の実施形態の第1~第8の変形例のうちの2つ以上の変形例が組み合せられてもよい。
 (1)第5の変形例
 上述したように、コントローラの選択のために、通信ネットワーク10の状態に関する情報(即ち、状態情報)が用いられ、例えば、当該状態情報は、通信ネットワーク10の状態(例えば、通信ネットワーク10が一定のレベルを超えて輻輳しているか)を示す。しかし、第2の実施形態に係る状態情報はこの例に限定されない。
 第2の実施形態の第5の変形例では、上記状態情報は、通信ネットワーク10の状態(例えば、通信ネットワーク10が一定のレベルを超えて輻輳しているか)そのものを示さなくてもよい。例えば、上記状態情報は、通信ネットワーク10の状態そのものを示さないが、通信ネットワーク10の状態に対応する情報であってもよい。
 一例として、上記状態情報は、通信ネットワーク10が一定のレベルを超えて輻輳しているかを示さないが、通信ネットワーク10が一定のレベルを超えて輻輳しているかに対応するフラグであってもよい。
 (2)第6の変形例
 上述したように、機械学習ベースのコントローラ430は、上記作業関連情報に基づいて訓練される。
 第2の実施形態の第6の変形例では、機械学習ベースのコントローラ430に加えて、強化学習ベースのコントローラ440も、上記作業関連情報に基づいて訓練されてもよい。例えば、強化学習ベースのコントローラ440は、第1の実施形態の第5の変形例において説明された訓練と同様に、上記作業関連情報に基づいて訓練されてもよい。
 このように人間の作業に関する作業関連情報を使用して強化学習ベースのコントローラ440を訓練することにより、強化学習を事前に進めておくことができる。そのため、強化学習ベースのコントローラ440を通信ネットワーク10における通信の制御に使用し始めた後、長い時間がかかることなく、強化学習ベースのコントローラ440における学習が収束し得る。そのため、通信ネットワーク10における通信の制御がより安定し得る。
 (3)第7の変形例
 図9~図12を再び参照して第7の変形例を説明するが、第7の変形例の説明においては、これらの図面において「制御装置100」は「制御装置400」に読み替えられるものとする。
 上述したように、例えば、制御装置400は、通信ネットワーク10内でデータを転送するネットワーク機器(例えば、プロキシサーバ、ゲートウェイ、ルータ及び/又はスイッチ等)である(図9を参照)。また、上述したように、例えば、制御装置400(設定手段442)は、選択されたコントローラ(機械学習ベースのコントローラ430又は強化学習ベースのコントローラ440)がネットワーク制御パラメータの変更を選択した場合に、変更されたネットワーク制御パラメータを制御装置400において設定する(図9を参照)。しかし、第2の実施形態に係る制御装置400はこの例に限定されない。
 -第1の例
 第2の実施形態の第7の変形例では、第1の例として、図10に示されるように、制御装置400は、通信ネットワーク10内でデータを転送するネットワーク機器そのものではなく、通信ネットワーク10内でデータを転送するネットワーク機器30を制御する装置(例えば、ネットワークコントローラ)であってもよい。
 制御装置400(観測手段450)は、通信ネットワーク10を自ら観測せず、ネットワーク機器30が、通信ネットワーク10を観測してもよい。制御装置400(観測手段450)は、通信ネットワーク10についての観測情報をネットワーク機器30から取得してもよい。
 選択されたコントローラ(機械学習ベースのコントローラ430又は強化学習ベースのコントローラ440)は、ネットワーク機器30において観測されるネットワーク状態(例えば、スループット及び/又はパケット到着間隔)から、ネットワーク機器30において設定されるネットワーク制御パラメータ(例えば、優先度及び/又は帯域)の変更を選択し、出力してもよい。
 図10に示されるように、制御装置400(設定手段442)は、選択されたコントローラがネットワーク制御パラメータの変更を選択した場合に、変更されたネットワーク制御パラメータをネットワーク機器30に設定させてもよい。一例として、制御装置400(設定手段442)は、ネットワーク制御パラメータの変更を示すパラメータ情報(例えば、ネットワーク制御パラメータの変更を指示するコマンド)をネットワーク機器30へ送信し、ネットワーク機器30は、当該パラメータ情報に基づいて、変更されたネットワーク制御パラメータを設定してもよい。その結果、ネットワーク機器30は、当該変更されたネットワーク制御パラメータに従って、データ(例えば、パケット)を転送してもよい。
 -第2の例
 第2の例として、図11に示されるように、ネットワークコントローラ50が、通信ネットワーク10内でデータを転送するネットワーク機器40を制御し、制御装置400は、ネットワークコントローラ50を制御又は支援する装置であってもよい。
 制御装置400は、通信ネットワーク10のネットワーク状態を自ら観測せず、ネットワーク機器40が、当該ネットワーク状態を観測してもよい。制御装置400は、当該ネットワーク状態を示す情報をネットワーク機器40又はネットワークコントローラ50から取得してもよい。選択されたコントローラ(機械学習ベースのコントローラ430又は強化学習ベースのコントローラ440)は、ネットワーク機器40において観測されるネットワーク状態(例えば、スループット及び/又はパケット到着間隔)から、ネットワーク機器40において設定されるネットワーク制御パラメータ(例えば、優先度及び/又は帯域)の変更を選択し、出力してもよい。
 図11に示されるように、制御装置400(設定手段442)は、選択されたコントローラ(機械学習ベースのコントローラ430又は強化学習ベースのコントローラ440)がネットワーク制御パラメータの変更を選択した場合に、ネットワーク制御パラメータの変更を示す第1のパラメータ情報(例えば、ネットワーク制御パラメータの変更を指示するコマンド、又は、ネットワーク制御パラメータの変更を教える支援情報)をネットワークコントローラ50へ送信してもよい。さらに、ネットワークコントローラ50は、当該第1のパラメータ情報に基づいて、ネットワーク制御パラメータの変更を示す第2のパラメータ情報(例えば、ネットワーク制御パラメータの変更を指示するコマンド)をネットワーク機器40へ送信し、ネットワーク機器40は、当該第2のパラメータ情報に基づいて、変更されたネットワーク制御パラメータを設定してもよい。その結果、ネットワーク機器40は、当該変更されたネットワーク制御パラメータに従って、データ(例えば、パケット)を転送してもよい。
 -第3の例
 第3の例として、図12に示されるように、ネットワークコントローラ70が、通信ネットワーク10内でデータを転送するネットワーク機器60を制御し、制御装置400は、ネットワークコントローラ70を制御する装置であってもよい。
 制御装置400は、通信ネットワーク10のネットワーク状態を自ら観測せず、ネットワーク機器60が、当該ネットワーク状態を観測してもよい。制御装置400は、当該ネットワーク状態を示す情報をネットワーク機器60又はネットワークコントローラ70から取得してもよい。選択されたコントローラ(機械学習ベースのコントローラ430又は強化学習ベースのコントローラ440)は、ネットワーク機器60において観測されるネットワーク状態から、ネットワークコントローラ70において設定されるネットワーク制御パラメータの変更を選択し、出力してもよい。
 図12に示されるように、制御装置400(設定手段442)は、選択されたコントローラがネットワーク制御パラメータの変更を選択した場合に、変更されたネットワーク制御パラメータをネットワークコントローラ70に設定させてもよい。一例として、制御装置400(設定手段442)は、ネットワーク制御パラメータの変更を示すパラメータ情報(例えば、ネットワーク制御パラメータの変更を指示するコマンド)をネットワークコントローラ70へ送信し、ネットワークコントローラ70は、当該パラメータ情報に基づいて、変更されたネットワーク制御パラメータを設定してもよい。その結果、ネットワークコントローラ70は、当該変更されたネットワーク制御パラメータに従って、ネットワーク機器60を制御してもよく、ネットワーク機器60は、ネットワークコントローラ70による制御に従って、データ(例えば、パケット)を転送してもよい。
 (4)第8の変形例
 上述したように、例えば、制御装置400は、第1取得手段410、訓練手段420、機械学習ベースのコントローラ430、強化学習ベースのコントローラ440、設定手段442、通信処理手段444、観測手段450、判定手段460、第2取得手段470及び選択手段480を備える。しかし、第2の実施形態に係る制御装置400はこの例に限定されない。
 第2の実施形態の第8の変形例では、例えば、第1取得手段410及び訓練手段420は、制御装置400に含まれず、他の装置に含まれてもよい。即ち、機械学習ベースのコントローラ430の訓練は、当該他の装置により行われてもよい。
 第2の実施形態の第8の変形例では、例えば、観測手段450は、制御装置400に含まれず、他の装置に含まれてもよい。この場合に、制御装置400は、通信ネットワーク10についての観測情報を当該他の装置から受信してもよい。さらに、例えば、判定手段460も、制御装置400に含まれず、上記他の装置に含まれてもよい。この場合に、制御装置400は、通信ネットワーク10の状態に関する情報(即ち、状態情報)を上記他の装置から受信してもよい。
 第2の実施形態の第8の変形例では、例えば、機械学習ベースのコントローラ430及び強化学習ベースのコントローラ440の少なくとも一方が、制御装置400に含まれず、他の装置に含まれてもよい。この場合に、制御装置400は、コントローラの選択の結果を当該他の装置に通知してもよい。設定手段442も、制御装置400に含まれず、上記他の装置に含まれてもよい。なお、機械学習ベースのコントローラ430及び強化学習ベースのコントローラ440の少なくとも一方が制御装置400に含まれない場合には、第6の変形例における説明において、「制御装置400」は、「機械学習ベースのコントローラ430及び強化学習ベースのコントローラ440の少なくとも一方を含む装置」に置き換えられてもよい。
 第3の実施形態の第8の変形例では、例えば、設定手段442は、機械学習ベースのコントローラ430及び強化学習ベースのコントローラ440の各々に含まれていてもよい。即ち、機械学習ベースのコントローラ430及び強化学習ベースのコントローラ440の各々は、上述した設定手段442の動作を行ってもよい。
 第2の実施形態の第8の変形例では、例えば、データ(例えば、パケット)を転送する通信処理手段444は、制御装置400に含まれず、他の装置に含まれてもよい。例えば、第7の変形例のような場合に、通信処理手段444が、制御装置400に含まれず、ネットワーク機器に含まれてもよい。
 <<4.第3の実施形態>>
 続いて、図17及び図18を参照して、本開示の第3の実施形態を説明する。上述した第1の実施形態は、具体的な実施形態であるが、第3の実施形態は、より一般化された実施形態である。
 図17は、第3の実施形態に係るシステム3の概略的な構成の一例を示す。図17を参照すると、システム3は、取得手段700及び訓練手段800を含む。
 図18は、第3の実施形態に係る訓練処理の概略的な流れの例を説明するためのフローチャートである。
 取得手段700は、ネットワーク運用における人間の作業に関する作業関連情報を取得する(S910)。
 訓練手段800は、上記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練する(S920)。
 上記作業関連情報、上記作業関連情報の取得、及び訓練についての説明は、例えば、符号の相違を除き、第1の実施形態におけるこれらについての説明と同じである。よって、ここでは重複する説明を省略する。なお、当然ながら、第3の実施形態は、第1の実施形態の例に限定されない。
 以上のように、機械学習ベースのコントローラが訓練される。これにより、例えば、通信ネットワークにおける通信の制御を安定させることが可能になる。
 以上、本開示の実施形態を説明したが、本開示はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本開示のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
 例えば、本明細書に記載されている処理におけるステップは、必ずしもフローチャートに記載された順序に沿って時系列に実行されなくてよい。例えば、処理におけるステップは、フローチャートとして記載した順序と異なる順序で実行されても、並列的に実行されてもよい。また、処理におけるステップの一部が削除されてもよく、さらなるステップが処理に追加されてもよい。
 また、本明細書において説明したシステム又は制御装置の構成要素の処理を含む方法が提供されてもよく、上記構成要素の処理をプロセッサに実行させるためのプログラムが提供されてもよい。また、当該プログラムを記録したコンピュータに読み取り可能な非一時的記録媒体(Non-transitory computer readable recording medium)が提供されてもよい。当然ながら、このような方法、プログラム、及びコンピュータに読み取り可能な非一時的記録媒体も本開示に含まれる。
 上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
 ネットワーク運用における人間の作業に関する作業関連情報を取得する取得手段と、
 前記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練する訓練手段と、
を含むシステム。
(付記2)
 前記作業関連情報は、前記人間の作業を示す作業情報、及び、前記人間の作業に対応するネットワーク状態を示すネットワーク状態情報を含む、付記1に記載のシステム。
(付記3)
 前記訓練手段は、前記ネットワーク状態情報を入力データとして使用し、前記作業情報を、前記入力データに対応する出力データとして使用して、前記機械学習ベースのコントローラを訓練する、付記2に記載のシステム。
(付記4)
 前記人間の作業は、ネットワーク制御パラメータの変更であり、
 前記作業情報は、前記ネットワーク制御パラメータの増加若しくは減少、又は、前記ネットワーク制御パラメータの変更された値を示す、
付記2又は3に記載のシステム。
(付記5)
 前記人間の作業は、ネットワーク制御パラメータの変更である、付記1~4のいずれか1項に記載のシステム。
(付記6)
 前記作業関連情報は、前記人間の作業のログ又は前記人間の作業のための作業基準に基づいて生成される情報である、付記1~5のいずれか1項に記載のシステム。
(付記7)
 前記ネットワーク運用は、前記通信ネットワークのネットワーク運用である、付記1~6のいずれか1項に記載のシステム。
(付記8)
 通信ネットワークの状態に関する情報に基づいて、前記通信ネットワークにおける通信を制御するための強化学習ベースのコントローラ及び前記機械学習ベースのコントローラのうちの一方を選択する選択手段、
をさらに含む、付記1~7のいずれか1項に記載のシステム。
(付記9)
 前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、付記8に記載のシステム。
(付記10)
 前記選択手段は、前記通信ネットワークが一定のレベルを超えて輻輳している場合に、前記機械学習ベースのコントローラを選択し、前記通信ネットワークが一定のレベルを輻輳していない場合に、前記強化学習ベースのコントローラを選択する、付記9に記載のシステム。
(付記11)
 前記通信ネットワークの前記状態を判定する判定手段、
をさらに含む、付記8~10のいずれか1項に記載のシステム。
(付記12)
 前記判定手段は、前記通信ネットワークについての観測情報に基づいて、前記通信ネットワークの前記状態を判定する、付記11に記載のシステム。
(付記13)
 前記判定手段は、前記通信ネットワークが一定のレベルを超えて輻輳しているかを判定する、付記11又は12に記載のシステム。
(付記14)
 前記機械学習ベースのコントローラは、教師あり学習ベースのコントローラであり、
 前記訓練手段は、前記作業関連情報を教師あり学習の訓練データとして使用して、前記機械学習ベースのコントローラを訓練する、
付記1~13のいずれか1項に記載のシステム。
(付記15)
 前記機械学習ベースのコントローラは、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
 前記訓練手段は、前記作業関連情報を、強化学習における入力される状態及び出力される行動とみなして、前記機械学習ベースのコントローラを訓練する、
付記1~7のいずれか1項に記載のシステム。
(付記16)
 ネットワーク運用における人間の作業に関する作業関連情報を取得することと、
 前記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練することと、
を含む方法。
(付記17)
 前記作業関連情報は、前記人間の作業を示す作業情報、及び、前記人間の作業に対応するネットワーク状態を示すネットワーク状態情報を含む、付記16に記載の方法。
(付記18)
 前記機械学習ベースのコントローラは、前記ネットワーク状態情報を入力データとして使用し、前記作業情報を、前記入力データに対応する出力データとして使用して、訓練される、付記17に記載の方法。
(付記19)
 前記人間の作業は、ネットワーク制御パラメータの変更であり、
 前記作業情報は、前記ネットワーク制御パラメータの増加若しくは減少、又は、前記ネットワーク制御パラメータの変更された値を示す、
付記17又は18に記載の方法。
(付記20)
 前記人間の作業は、ネットワーク制御パラメータの変更である、付記16~19のいずれか1項に記載の方法。
(付記21)
 前記作業関連情報は、前記人間の作業のログ又は前記人間の作業のための作業基準に基づいて生成される情報である、付記16~20のいずれか1項に記載の方法。
(付記22)
 前記ネットワーク運用は、前記通信ネットワークのネットワーク運用である、付記16~21のいずれか1項に記載の方法。
(付記23)
 通信ネットワークの状態に関する情報に基づいて、前記通信ネットワークにおける通信を制御するための強化学習ベースのコントローラ及び前記機械学習ベースのコントローラのうちの一方を選択すること、
をさらに含む、付記16~22のいずれか1項に記載の方法。
(付記24)
 前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、付記23に記載の方法。
(付記25)
 前記通信ネットワークが一定のレベルを超えて輻輳している場合に、前記機械学習ベースのコントローラが選択され、前記通信ネットワークが一定のレベルを輻輳していない場合に、前記強化学習ベースのコントローラが選択される、付記24に記載の方法。
(付記26)
 前記通信ネットワークの前記状態を判定すること、
をさらに含む、付記23~25のいずれか1項に記載の方法。
(付記27)
 前記通信ネットワークの前記状態は、前記通信ネットワークについての観測情報に基づいて判定される、付記26に記載の方法。
(付記28)
 前記通信ネットワークの前記状態は、前記通信ネットワークが一定のレベルを超えて輻輳しているかである、付記26又は27に記載の方法。
(付記29)
 前記機械学習ベースのコントローラは、教師あり学習ベースのコントローラであり、
 前記機械学習ベースのコントローラは、前記作業関連情報を教師あり学習の訓練データとして使用して訓練される、
付記16~28のいずれか1項に記載の方法。
(付記30)
 前記機械学習ベースのコントローラは、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
 前記機械学習ベースのコントローラは、前記作業関連情報を強化学習における入力される状態及び出力される行動とみなして訓練される、
付記16~22のいずれか1項に記載の方法。
(付記31)
 ネットワーク運用における人間の作業に関する作業関連情報を取得する取得手段と、
 前記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練する訓練手段と、
を備える制御装置。
(付記32)
 前記作業関連情報は、前記人間の作業を示す作業情報、及び、前記人間の作業に対応するネットワーク状態を示すネットワーク状態情報を含む、付記31に記載の制御装置。
(付記33)
 前記訓練手段は、前記ネットワーク状態情報を入力データとして使用し、前記作業情報を、前記入力データに対応する出力データとして使用して、前記機械学習ベースのコントローラを訓練する、付記32に記載の制御装置。
(付記34)
 前記人間の作業は、ネットワーク制御パラメータの変更であり、
 前記作業情報は、前記ネットワーク制御パラメータの増加若しくは減少、又は、前記ネットワーク制御パラメータの変更された値を示す、
付記32又は33に記載の制御装置。
(付記35)
 前記人間の作業は、ネットワーク制御パラメータの変更である、付記31~34のいずれか1項に記載の制御装置。
(付記36)
 前記作業関連情報は、前記人間の作業のログ又は前記人間の作業のための作業基準に基づいて生成される情報である、付記31~35のいずれか1項に記載の制御装置。
(付記37)
 前記ネットワーク運用は、前記通信ネットワークのネットワーク運用である、付記31~36のいずれか1項に記載の制御装置。
(付記38)
 通信ネットワークの状態に関する情報に基づいて、前記通信ネットワークにおける通信を制御するための強化学習ベースのコントローラ及び前記機械学習ベースのコントローラのうちの一方を選択する選択手段、
をさらに備える、付記31~37のいずれか1項に記載の制御装置。
(付記39)
 前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、付記38に記載の制御装置。
(付記40)
 前記選択手段は、前記通信ネットワークが一定のレベルを超えて輻輳している場合に、前記機械学習ベースのコントローラを選択し、前記通信ネットワークが一定のレベルを輻輳していない場合に、前記強化学習ベースのコントローラを選択する、付記39に記載の制御装置。
(付記41)
 前記通信ネットワークの前記状態を判定する判定手段、
をさらに備える、付記38~40のいずれか1項に記載の制御装置。
(付記42)
 前記判定手段は、前記通信ネットワークについての観測情報に基づいて、前記通信ネットワークの前記状態を判定する、付記41に記載の制御装置。
(付記43)
 前記判定手段は、前記通信ネットワークが一定のレベルを超えて輻輳しているかを判定する、付記41又は42に記載の制御装置。
(付記44)
 前記機械学習ベースのコントローラは、教師あり学習ベースのコントローラであり、
 前記訓練手段は、前記作業関連情報を教師あり学習の訓練データとして使用して、前記機械学習ベースのコントローラを訓練する、
付記31~43のいずれか1項に記載の制御装置。
(付記45)
 前記機械学習ベースのコントローラは、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
 前記訓練手段は、前記作業関連情報を、強化学習における入力される状態及び出力される行動とみなして、前記機械学習ベースのコントローラを訓練する、
付記31~37のいずれか1項に記載の制御装置。
(付記46)
 ネットワーク運用における人間の作業に関する作業関連情報を取得することと、
 前記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練することと、
をプロセッサに実行させるプログラム。
(付記47)
 ネットワーク運用における人間の作業に関する作業関連情報を取得することと、
 前記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練することと、
をプロセッサに実行させるプログラムを記録したコンピュータに読み取り可能な非一時的記録媒体。
 1、2、3       システム
 10          通信ネットワーク
 100、400     制御装置
 110、700     取得手段
 410         第1取得手段
 120、420、900 訓練手段
 130、430     機械学習ベースのコントローラ
 440         強化学習ベースのコントローラ
 460         判定手段
 480         選択手段

 

Claims (18)

  1.  ネットワーク運用における人間の作業に関する作業関連情報を取得する取得手段と、
     前記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練する訓練手段と、
    を含むシステム。
  2.  前記作業関連情報は、前記人間の作業を示す作業情報、及び、前記人間の作業に対応するネットワーク状態を示すネットワーク状態情報を含む、請求項1に記載のシステム。
  3.  通信ネットワークの状態に関する情報に基づいて、前記通信ネットワークにおける通信を制御するための強化学習ベースのコントローラ及び前記機械学習ベースのコントローラのうちの一方を選択する選択手段、
    をさらに含む、請求項1又は2に記載のシステム。
  4.  前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、請求項3に記載のシステム。
  5.  前記機械学習ベースのコントローラは、教師あり学習ベースのコントローラであり、
     前記訓練手段は、前記作業関連情報を教師あり学習の訓練データとして使用して、前記機械学習ベースのコントローラを訓練する、
    請求項1~4のいずれか1項に記載のシステム。
  6.  前記機械学習ベースのコントローラは、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
     前記訓練手段は、前記作業関連情報を、強化学習における入力される状態及び出力される行動とみなして、前記機械学習ベースのコントローラを訓練する、
    請求項1又は2に記載のシステム。
  7.  ネットワーク運用における人間の作業に関する作業関連情報を取得することと、
     前記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練することと、
    を含む方法。
  8.  前記作業関連情報は、前記人間の作業を示す作業情報、及び、前記人間の作業に対応するネットワーク状態を示すネットワーク状態情報を含む、請求項7に記載の方法。
  9.  通信ネットワークの状態に関する情報に基づいて、前記通信ネットワークにおける通信を制御するための強化学習ベースのコントローラ及び前記機械学習ベースのコントローラのうちの一方を選択すること、
    をさらに含む、請求項7又は8に記載の方法。
  10.  前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、請求項9に記載の方法。
  11.  前記機械学習ベースのコントローラは、教師あり学習ベースのコントローラであり、
     前記機械学習ベースのコントローラは、前記作業関連情報を教師あり学習の訓練データとして使用して訓練される、
    請求項7~10のいずれか1項に記載の方法。
  12.  前記機械学習ベースのコントローラは、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
     前記機械学習ベースのコントローラは、前記作業関連情報を強化学習における入力される状態及び出力される行動とみなして訓練される、
    請求項7又は8に記載の方法。
  13.  ネットワーク運用における人間の作業に関する作業関連情報を取得する取得手段と、
     前記作業関連情報に基づいて、通信ネットワークにおける通信を制御するための機械学習ベースのコントローラを訓練する訓練手段と、
    を備える制御装置。
  14.  前記作業関連情報は、前記人間の作業を示す作業情報、及び、前記人間の作業に対応するネットワーク状態を示すネットワーク状態情報を含む、請求項13に記載の制御装置。
  15.  通信ネットワークの状態に関する情報に基づいて、前記通信ネットワークにおける通信を制御するための強化学習ベースのコントローラ及び前記機械学習ベースのコントローラのうちの一方を選択する選択手段、
    をさらに備える、請求項13又は14に記載の制御装置。
  16.  前記通信ネットワークの前記状態は、前記通信ネットワークの輻輳状態である、請求項15に記載の制御装置。
  17.  前記機械学習ベースのコントローラは、教師あり学習ベースのコントローラであり、
     前記訓練手段は、前記作業関連情報を教師あり学習の訓練データとして使用して、前記機械学習ベースのコントローラを訓練する、
    請求項13~16のいずれか1項に記載の制御装置。
  18.  前記機械学習ベースのコントローラは、入力される状態に基づいて行動を出力する強化学習ベースのコントローラであり、
     前記訓練手段は、前記作業関連情報を、強化学習における入力される状態及び出力される行動とみなして、前記機械学習ベースのコントローラを訓練する、
    請求項13又は14に記載の制御装置。

     
PCT/JP2019/038457 2019-09-30 2019-09-30 システム、方法及び制御装置 WO2021064769A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021550734A JP7231049B2 (ja) 2019-09-30 2019-09-30 システム、方法及び制御装置
US17/642,341 US11863399B2 (en) 2019-09-30 2019-09-30 System, method, and control apparatus
PCT/JP2019/038457 WO2021064769A1 (ja) 2019-09-30 2019-09-30 システム、方法及び制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/038457 WO2021064769A1 (ja) 2019-09-30 2019-09-30 システム、方法及び制御装置

Publications (1)

Publication Number Publication Date
WO2021064769A1 true WO2021064769A1 (ja) 2021-04-08

Family

ID=75337008

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/038457 WO2021064769A1 (ja) 2019-09-30 2019-09-30 システム、方法及び制御装置

Country Status (3)

Country Link
US (1) US11863399B2 (ja)
JP (1) JP7231049B2 (ja)
WO (1) WO2021064769A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220172103A1 (en) * 2020-11-30 2022-06-02 International Business Machines Corporation Variable structure reinforcement learning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223092A (ja) * 1996-02-14 1997-08-26 Nippon Telegr & Teleph Corp <Ntt> ネットワーク管理方法及びシステム
JP2010539760A (ja) * 2007-09-14 2010-12-16 エヌイーシー ヨーロッパ リミテッド ネットワークパフォーマンスを最適化する方法およびシステム
WO2019026684A1 (ja) * 2017-08-04 2019-02-07 日本電信電話株式会社 経路制御方法及び経路設定装置
JP2019526107A (ja) * 2016-06-21 2019-09-12 エスアールアイ インターナショナルSRI International 信用されるモデルを使用する機械学習のためのシステムおよび方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665651B2 (en) * 2001-07-18 2003-12-16 Colorado State University Research Foundation Control system and technique employing reinforcement learning having stability and learning phases
JP5733166B2 (ja) 2011-11-14 2015-06-10 富士通株式会社 パラメータ設定装置、コンピュータプログラム及びパラメータ設定方法
US9679258B2 (en) * 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
US11170293B2 (en) * 2015-12-30 2021-11-09 Microsoft Technology Licensing, Llc Multi-model controller
US11468310B2 (en) * 2018-03-07 2022-10-11 International Business Machines Corporation Constraining actions for reinforcement learning under safety requirements
US10810512B1 (en) * 2018-03-21 2020-10-20 Verily Life Sciences Llc Validating a machine learning model prior to deployment
US10680889B2 (en) * 2018-04-02 2020-06-09 Cisco Technology, Inc. Network configuration change analysis using machine learning
WO2020018133A1 (en) * 2018-07-17 2020-01-23 Facebook, Inc. Detecting communication network insights of alerts
US20210012239A1 (en) * 2019-07-12 2021-01-14 Microsoft Technology Licensing, Llc Automated generation of machine learning models for network evaluation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223092A (ja) * 1996-02-14 1997-08-26 Nippon Telegr & Teleph Corp <Ntt> ネットワーク管理方法及びシステム
JP2010539760A (ja) * 2007-09-14 2010-12-16 エヌイーシー ヨーロッパ リミテッド ネットワークパフォーマンスを最適化する方法およびシステム
JP2019526107A (ja) * 2016-06-21 2019-09-12 エスアールアイ インターナショナルSRI International 信用されるモデルを使用する機械学習のためのシステムおよび方法
WO2019026684A1 (ja) * 2017-08-04 2019-02-07 日本電信電話株式会社 経路制御方法及び経路設定装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ATA, SHINGO: "A Framework for Automating Operation and Management with Combination of Traffic and Configuration Histories", IEICE TECHNICAL REPORT, vol. 116, no. 405, 12 January 2017 (2017-01-12) *

Also Published As

Publication number Publication date
US11863399B2 (en) 2024-01-02
JP7231049B2 (ja) 2023-03-01
US20220303190A1 (en) 2022-09-22
JPWO2021064769A1 (ja) 2021-04-08

Similar Documents

Publication Publication Date Title
US11153196B2 (en) Efficient machine learning for network optimization
JP2018181325A5 (ja)
KR20120066116A (ko) 웹 서비스 정보 처리 방법과 이를 이용한 웹 서비스 조합 방법 및 장치
US11956118B2 (en) Fault root cause identification method, apparatus, and device
CN103053146A (zh) 数据迁移方法和设备
US20230145097A1 (en) Autonomous traffic (self-driving) network with traffic classes and passive and active learning
WO2021064769A1 (ja) システム、方法及び制御装置
WO2021064771A1 (ja) システム、方法及び制御装置
JP7275314B2 (ja) 作業負荷ルーティングのためのスマートキャパシティ
CN110598871A (zh) 一种微服务架构下的业务流柔性控制的方法及系统
JP7188609B2 (ja) システム、方法及び制御装置
JP7259978B2 (ja) 制御装置、方法及びシステム
US11196686B2 (en) Chatbot context setting using packet capture
CN109688011A (zh) 一种基于OpenStack的agent选择方法及装置
JP6816511B2 (ja) セッション管理プログラム、セッション管理方法、情報処理装置、及び情報処理システム
CN106911662B (zh) 一种恶意样本养殖高交互转化低交互的系统及方法
CN105763414B (zh) 一种表项的学习方法和装置
CN114584494A (zh) 一种边缘云网络中测量实际可用带宽的方法
JP6816824B2 (ja) 分散システム、データ管理装置、データ管理方法、及びプログラム
US20220345377A1 (en) Control apparatus, control method, and system
CN114202066B (zh) 一种网络控制方法、装置、电子设备及存储介质
Cao Using reinforcement learning for agent-based network fault diagnosis system
US10805384B1 (en) Systems and methods for load balancing server infrastructure
CN112202616B (zh) 故障处理方法、可读存储介质和电子设备
CN116436844B (zh) 路由震荡的定位方法及装置、存储介质及电子设备

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021550734

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19947928

Country of ref document: EP

Kind code of ref document: A1