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

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

Info

Publication number
WO2021064766A1
WO2021064766A1 PCT/JP2019/038454 JP2019038454W WO2021064766A1 WO 2021064766 A1 WO2021064766 A1 WO 2021064766A1 JP 2019038454 W JP2019038454 W JP 2019038454W WO 2021064766 A1 WO2021064766 A1 WO 2021064766A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
learning
action
control
control device
Prior art date
Application number
PCT/JP2019/038454
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 US17/641,920 priority Critical patent/US20220337489A1/en
Priority to PCT/JP2019/038454 priority patent/WO2021064766A1/ja
Priority to JP2021550731A priority patent/JP7259978B2/ja
Publication of WO2021064766A1 publication Critical patent/WO2021064766A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • 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

Definitions

  • the present invention relates to control devices, methods and systems.
  • Moving image data is distributed from a server on a network, the moving image data is played back on a terminal, and a robot or the like installed in a factory or the like is remotely controlled from the server.
  • Patent Document 1 describes that it is possible to estimate the quality of the display waiting time from which the influence of individual web pages is removed.
  • the quality of the display waiting time of the web page in the area and the time zone is estimated based on the traffic measurement data in the arbitrary area and the time zone.
  • machine learning For example, it is being considered to apply machine learning to games such as chess and control of robots and the like.
  • maximization of the score in the game is set as a reward, and the performance of machine learning is evaluated.
  • the realization of the target motion is set as a reward, and the performance of machine learning is evaluated.
  • learning performance is discussed by the sum of immediate reward and episode-based reward.
  • the question is what to set as a reward.
  • network control it is not possible to imagine the existence of a score that maximizes as in the case of applying machine learning to a game.
  • the reward is set to maximize the throughput of the communication devices included in the network, it cannot be said that the setting is appropriate depending on the service or application.
  • a main object of the present invention is to provide a control device, a method and a system that contribute to realizing efficient network control using machine learning.
  • the learning unit includes a learning unit that learns an action for controlling a network and a storage unit that stores learning information generated by the learning unit.
  • a control device is provided that determines the reward for an action performed on the network based on the steadyness of the network after the action is performed.
  • the learning step includes a step of learning an action for controlling a network and a step of storing learning information generated by the learning, and the learning step is performed on the network.
  • a method is provided in which the reward for an action performed on the action is determined based on the steadyness of the network after the action is performed.
  • the learning means includes a learning means for learning an action for controlling a network and a storage means for storing learning information generated by the learning means.
  • a system is provided in which the reward for an action performed on the network is determined based on the steadyness of the network after the action is performed.
  • control devices, methods and systems that contribute to realizing efficient network control using machine learning are provided.
  • other effects may be produced in place of or in combination with the effect.
  • the control device 100 includes a learning unit 101 and a storage unit 102 (see FIG. 1).
  • the learning unit 101 learns actions for controlling the network.
  • the storage unit 102 stores the learning information generated by the learning unit 101.
  • the learning unit 101 acts on the network (step S01 in FIG. 2).
  • the learning unit 101 determines the reward of the action performed on the network based on the stationarity of the network after the action is performed, and learns the action for controlling the network (step S02 in FIG. 2).
  • Network stability is important for services and applications provided by the network.
  • the control device 100 determines the reward based on the stationarity of the state obtained by the action (change of the control parameter) performed on the network. That is, the control device 100 considers that the convergent state in which the network state is stable during machine learning (reinforcement learning) has high value, and in such a situation, gives a high reward to control the network. To learn. As a result, efficient network control using machine learning is realized.
  • FIG. 3 is a diagram showing an example of a schematic configuration of a communication network system according to the first embodiment.
  • the communication network system includes a terminal 10, a control device 20, and a server 30.
  • the terminal 10 is a device having a communication function.
  • Examples of the terminal 10 include a WEB camera, a surveillance camera, a drone, a smartphone, a robot, and the like.
  • the purpose is not to limit the terminal 10 to the above-mentioned WEB camera or the like.
  • the terminal 10 can be any device having a communication function.
  • the terminal 10 communicates with the server 30 via the control device 20.
  • Various applications and services are provided by the terminal 10 and the server 30.
  • the server 30 analyzes the image data from the WEB camera and manages the materials of the factory and the like.
  • the terminal 10 is a drone
  • a control command is transmitted from the server 30 to the drone, and the drone transports luggage and the like.
  • the terminal 10 is a smartphone
  • the video is distributed from the server 30 to the smartphone, and the user watches the video using the smartphone.
  • the control device 20 is, for example, a communication device such as a proxy server or a gateway, and is a device that controls a network including a terminal 10 and a server 30.
  • the control device 20 controls the network by changing the values of the TCP (Transmission Control Protocol) parameter group and the buffer control parameter group.
  • TCP Transmission Control Protocol
  • buffer control For example, as a control of TCP parameters, changing the flow window size is exemplified.
  • buffer control include changing parameters related to the minimum guaranteed bandwidth, RED (Random Early Detection) loss rate, loss start queue length, and buffer length in queue management of a plurality of buffers.
  • control parameters parameters that affect communication (traffic) between the terminal 10 and the server 30, such as the above TCP parameters and parameters related to buffer control, are referred to as "control parameters”.
  • the control device 20 controls the network by changing the control parameters.
  • the network control by the control device 20 may be performed at the time of packet transfer of the own device (control device 20), or may be performed by instructing the terminal 10 or the server 30 to change the control parameters.
  • control device 20 controls the network by changing the flow window size of the TCP session formed with the terminal 10.
  • the control device 20 may control the network by changing the size of a buffer for storing packets received from the server 30 or changing the cycle of reading packets from the buffer.
  • the control device 20 uses "machine learning” to control the network. More specifically, the control device 20 controls the network based on the learning model obtained by reinforcement learning.
  • control device 20 may control the network based on learning information (Q table) obtained as a result of reinforcement learning called Q-learning.
  • the "agent” is trained so as to maximize the “value” in the given "environment”.
  • the network including the terminal 10 and the server 30 is the "environment”
  • the control device 20 is trained so as to optimize the state of the network.
  • the state s indicates what kind of state the environment (network) is in.
  • traffic for example, throughput, average packet arrival interval, etc.
  • the action a indicates an action that the agent (control device 20) can take with respect to the environment (network). For example, in the case of a communication network system, changing the setting of the TCP parameter group, turning on / off the function, and the like are exemplified as the action a.
  • the reward r indicates how much evaluation can be obtained as a result of the agent (control device 20) executing the action a in a certain state s.
  • the control device 20 is defined as a positive reward if the throughput increases as a result of changing a part of the TCP parameter group, and a negative reward if the throughput decreases.
  • Q-learning learning proceeds so as to maximize the value in the future, instead of maximizing the reward (immediate reward) obtained at the present time (Q-table is constructed).
  • the learning of the agent in Q learning is performed so as to maximize the value (Q value, state action value) when the action a in a certain state s is adopted.
  • the Q value (state behavior value) is expressed as Q (s, a).
  • Q-learning it is premised that the action of the agent to transition to a high-value state by the action has the same value as the transition destination. Based on such a premise, the Q value at the present time t can be expressed by the Q value at the next time point t + 1 (see equation (1)).
  • Es t + 1 is the expected value relating to the state S t + 1
  • Ea t + 1 denotes the expected value behavioral a t + 1.
  • is the discount rate.
  • the Q value is updated according to the result of adopting the action a in a certain state s. Specifically, the Q value is updated according to the following equation (2).
  • is a parameter called the learning rate and controls the update of the Q value.
  • "max" in the equation (2) is a function that outputs the maximum value of the possible actions a in the state St + 1.
  • a method for the agent (control device 20) to select the action a a method called ⁇ -greedy can be adopted.
  • an action is randomly selected with a probability ⁇ , and the most valuable action is selected with a probability 1- ⁇ .
  • a Q-table as shown in FIG. 4 is generated.
  • the control device 20 may control the network based on a learning model obtained as a result of reinforcement learning using deep learning called DQN (Deep Q Network).
  • DQN Deep Q Network
  • the action value function is expressed by the Q table, but in DQN, the action value function is expressed by deep learning.
  • the optimal action value function is calculated by an approximate function using a neural network.
  • the optimal action value function is a function that outputs the value of performing a certain action a in a certain state s.
  • the neural network includes an input layer, an intermediate layer (hidden layer), and an output layer.
  • the input layer inputs the state s. There is a corresponding weight in the link of each node in the middle layer.
  • the output layer outputs the value of action a.
  • the nodes of the input layer correspond to the network states S1 to S3.
  • the state of the network input to the input layer is weighted by the intermediate layer and output to the output layer.
  • the nodes of the output layer correspond to the actions A1 to A3 that the control device 20 can take.
  • Node of the output layer outputs value of action value function Q (s t, a t) corresponding to each of the actions A1 ⁇ A3.
  • connection parameter (weight) between the nodes that output the action value function is learned.
  • the operation mode of the control device 20 includes two operation modes.
  • the first operation mode is a learning mode for calculating a learning model.
  • a Q table as shown in FIG. 4 is calculated.
  • the control device 20 executes reinforcement learning by "DQN”
  • the weight as shown in FIG. 6 is calculated.
  • the second operation mode is a control mode in which the network is controlled using the learning model calculated in the learning mode. Specifically, the control device 20 in the control mode calculates the current network state s and selects the most valuable action a among the actions a that can be taken in the case of the state s. The control device 20 executes an operation (network control) corresponding to the selected action a.
  • FIG. 7 is a diagram showing an example of a processing configuration (processing module) of the control device 20 according to the first embodiment.
  • the control device 20 includes a packet transfer unit 201, a feature amount calculation unit 202, a network control unit 203, a reinforcement learning execution unit 204, and a storage unit 205.
  • the packet transfer unit 201 is a means for receiving a packet transmitted from the terminal 10 or the server 30 and transferring the received packet to the opposite device.
  • the packet transfer unit 201 performs packet transfer according to the control parameters notified from the network control unit 203.
  • the packet transfer unit 201 performs packet transfer with the notified flow window size.
  • the packet transfer unit 201 delivers a copy of the received packet to the feature amount calculation unit 202.
  • the feature amount calculation unit 202 is a means for calculating the feature amount that characterizes the communication traffic between the terminal 10 and the server 30.
  • the feature amount calculation unit 202 extracts a traffic flow that is a target of network control from the acquired packet.
  • the traffic flow that is the target of network control is a group consisting of packets having the same source IP (Internet Protocol) address, destination IP address, port number, and the like.
  • the feature amount calculation unit 202 calculates the feature amount from the extracted traffic flow. For example, the feature amount calculation unit 202 calculates throughput, average packet arrival interval, packet loss rate, jitter, and the like as feature amounts. The feature amount calculation unit 202 stores the calculated feature amount in the storage unit 205 together with the calculation time. Since existing techniques can be used for calculation of throughput and the like and are obvious to those skilled in the art, detailed description thereof will be omitted.
  • the network control unit 203 is a means for controlling the network based on the behavior obtained from the learning model generated by the reinforcement learning execution unit 204.
  • the network control unit 203 determines the control parameters to be notified to the packet transfer unit 201 based on the learning model obtained as a result of the reinforcement learning.
  • the network control unit 203 is a module that mainly operates in the control mode.
  • the network control unit 203 reads the latest (current time) feature amount from the storage unit 205.
  • the network control unit 203 estimates (calculates) the state of the network to be controlled from the read feature amount.
  • the network control unit 203 refers to a table (see FIG. 8) in which the feature amount F and the network state are associated with each other, and calculates the network state corresponding to the current feature amount F. Since the traffic is generated by the communication between the terminal 10 and the server 30, the network state can be regarded as the "traffic state". That is, in the disclosure of the present application, the "traffic state" and the “network state” can be interchanged with each other.
  • the network control unit 203 refers to the Q table stored in the storage unit 205, and the value Q is the highest among the actions corresponding to the current network state. Get high behavior. For example, in the example of FIG. 4, the calculated traffic state is "state S1", and the value Q (S1, A3) of the values Q (S1, A1), Q (S1, A2), and Q (S1, A3). If A1) is the maximum, the action A1 is read out.
  • the network control unit 203 inputs the current network state into the neural network as shown in FIG. 5 and acquires the most valuable action among the actions that can be taken. ..
  • the network control unit 203 determines the control parameter according to the acquired action, and sets (notifies) the packet transfer unit 201.
  • a table (see FIG. 9) in which actions and control contents are associated is stored in the storage unit 205, and the network control unit 203 determines a control parameter to be set in the packet transfer unit 201 with reference to the table. ..
  • the network control unit 203 sends the control parameter corresponding to the change content to the packet transfer unit 201. Notice.
  • the reinforcement learning execution unit 204 is a means for learning actions (control parameters) for controlling the network.
  • the reinforcement learning execution unit 204 executes the Q-learning and the reinforcement learning by DQN described above to generate a learning model.
  • the reinforcement learning execution unit 204 is a module that mainly operates in the learning mode.
  • the reinforcement learning execution unit 204 calculates the network state s at the current time t from the feature amount stored in the storage unit 205.
  • the reinforcement learning execution unit 204 selects the action a from the possible actions a in the calculated state s by a method such as the above-mentioned ⁇ -greedy method.
  • the reinforcement learning execution unit 204 notifies the packet transfer unit 201 of the control content (updated value of the control parameter) corresponding to the selected action.
  • the reinforcement learning execution unit 204 determines the reward according to the change of the network according to the above behavior. At that time, the reinforcement learning execution unit 204 determines the reward of the action performed on the network based on the stationarity of the network after the action is performed.
  • the reinforcement learning execution unit 204 determines the reward based on whether or not the network is in a steady state as a result of taking the action a.
  • the reinforcement learning execution unit 204 gives a positive reward when the reward rt + 1 described in the equation (2) or the equation (3) is determined if the network is in a steady state (if the network is stable). On the other hand, if the state of the network is unsteady (if the network is unstable), the reinforcement learning execution unit 204 gives a negative reward.
  • Reinforcement learning execution unit 204 determines the steady state of the network by performing statistical processing on the time-series data related to the state of the network that fluctuates due to taking action on the network.
  • the reinforcement learning execution unit 204 controls the network corresponding to the action a selected by the method such as the ⁇ -greedy method, and the feature amount from the next time t + 1 to the predetermined period before. Read the feature quantity time series data). The reinforcement learning execution unit 204 calculates an evaluation index indicating whether or not the network state is a steady state by performing statistical processing on the time-series data of the read feature amount.
  • the reinforcement learning execution unit 204 models the time series data by an autoregressive model (AR) model.
  • AR autoregressive model
  • the time series data x1, x2, ..., XN are represented by the addition of the weighted past values (linear sum) as shown in the following equation (4). To do.
  • x (t) is the feature quantity
  • epsilon (t) is noise (white noise)
  • c is not changed by the time constant
  • w i represents the weight.
  • i is a suffix for designating the past time
  • p is an integer for specifying the time before the predetermined period.
  • Reinforcement learning execution unit 204 estimates using time-series data read out weight w i represented by the above formula (4) from the storage unit 205. Specifically, reinforcement learning execution unit 204, maximum likelihood estimates the weights w i by a parameter estimation technique, such as Yule Walker. Since known techniques can be used for parameter estimation methods such as the maximum likelihood method and Yulewalker, detailed description thereof will be omitted.
  • a parameter estimation technique such as Yule Walker. Since known techniques can be used for parameter estimation methods such as the maximum likelihood method and Yulewalker, detailed description thereof will be omitted.
  • the reinforcement learning execution unit 204 performs a unit root test on the AR model obtained from the time series data. By performing the unit root test, the reinforcement learning execution unit 204 obtains the steady state (steady state) of the time series data. The reinforcement learning execution unit 204 can calculate the ratio of "steady" to "non-steady” by executing the unit root test. Since the unit root test can be realized by an existing algorithm and is obvious to those skilled in the art, a detailed description thereof will be omitted.
  • the reinforcement learning execution unit 204 executes a threshold value process (for example, a process of determining whether the acquired value is equal to or less than the threshold value) for the steady state obtained by the unit root test, and the network state is in the steady state. Determine if it is in. That is, the reinforcement learning execution unit 204 determines whether the state of the network is in a transient "non-steady state" toward a steady state or in a “steady state” that converges around a specific value. To do.
  • a threshold value process for example, a process of determining whether the acquired value is equal to or less than the threshold value
  • the reinforcement learning execution unit 204 determines that the network state is "steady” if the steady state is equal to or higher than the threshold value.
  • the reinforcement learning execution unit 204 determines that the network state is "unsteady” if the steady state is smaller than the threshold value.
  • FIG. 10 is a diagram showing an example of time-series data of feature quantities.
  • the reinforcement learning execution unit 204 performs a unit root test on the time series data shown in FIG. 10A, the network state is determined to be “unsteady”.
  • the reinforcement learning execution unit 204 gives a negative reward (for example, -1) to the reward rt + 1 of the equation (2) and the equation (3), and updates the Q table and the weight.
  • the reinforcement learning execution unit 204 performs a unit root test on the time series data shown in FIG. 10B, the network state is determined to be “steady”.
  • the reinforcement learning execution unit 204 gives a positive reward (for example, +1) to the reward rt + 1 of the equation (2) and the equation (3), and updates the Q table and the weight.
  • control device 20 The operation of the control device 20 according to the first embodiment in the control mode is summarized in the flowchart shown in FIG.
  • the control device 20 acquires the packet and calculates the feature amount (step S101).
  • the control device 20 identifies the state of the network based on the calculated feature amount (step S102).
  • the control device 20 controls the network by the most valuable action according to the state of the network by using the learning model (step S103).
  • control device 20 The operation of the control device 20 according to the first embodiment in the learning mode is summarized in the flowchart shown in FIG.
  • the control device 20 acquires the packet and calculates the feature amount (step S201).
  • the control device 20 identifies the state of the network based on the calculated feature amount (step S202).
  • the control device 20 selects an action that can be taken in the current network state by the ⁇ -greedy method or the like (step S203).
  • the control device 20 controls the network according to the selected action (step S204).
  • the control device 20 determines the stationarity of the network using the time-series data of the feature amount (step S205).
  • the control device 20 determines the reward based on the determination result (step S206), and updates the learning information (Q table, weight) (step S207).
  • control device 20 will be specifically described for each type of the terminal 10.
  • the average packet arrival interval of packets transmitted from the drone to the server 30 is selected as an index (feature amount) indicating the state of the network.
  • the server 30 transmits a control packet (packet including a control command) to the drone.
  • the average packet arrival interval of the response packets (affirmative response, negative response) from the drone to the control packet is selected as the feature amount.
  • the control device 20 determines control parameters and controls the network so that the packet transmission / reception interval between the server 30 and the drone is stable.
  • a packet read interval packet transmission interval
  • a buffer that stores a control packet acquired from the server 30 can be considered.
  • the reinforcement learning execution unit 204 learns a parameter for reading a control packet from the buffer so that the average packet arrival interval of the response packet transmitted from the drone to the server 30 is stable.
  • the server 30 remotely controls a drone (control target)
  • the packet size of the control packet and the response packet is not so large. Therefore, the throughput from the server 30 is high, but the packet transmission / reception is not stable (a situation in which a lot of information can be sent at one time but the packet arrival varies), but the throughput is low, but the packet transmission / reception is stable. Is more valuable in drone control.
  • the control device 20 is suitable for an application of remote control of a drone by appropriately selecting a feature amount that characterizes a network state (traffic state) (for example, selecting an average packet arrival interval). Network control can be realized.
  • a feature amount that characterizes a network state (traffic state) (for example, selecting an average packet arrival interval).
  • Network control can be realized.
  • the terminal is a WEB camera
  • the condition (criteria) for determining the reward rt + 1 has been described, but the reward rt + 1 may be determined by adding other criteria to the stationarity.
  • a case where the terminal 10 is a WEB camera is taken as an example, and a case where items other than “network stationarity” are taken into consideration in determining the reward rt + 1 will be described.
  • the throughput of traffic flowing from the WEB camera to the server 30 is selected as an index (feature amount) indicating the state of the network.
  • the reinforcement learning execution unit 204 calculates the learning model so that the throughput from the WEB camera to the server 30 stabilizes in the vicinity of the target value.
  • the flow window size of the TCP session formed between the terminal 10 and the server 30 is set in the control parameter, and the behavior that realizes the above target (throughput is stable at the target value) is learned.
  • the reinforcement learning execution unit 204 determines the stationarity of the network using the time-series data of the feature amount (throughput) calculated by the feature amount calculation unit 202.
  • the reinforcement learning execution unit 204 determines the reward rt + 1 according to the range of the feature amount (throughput). For example, if the target value is the threshold value TH21 or more and the threshold value TH22 or less, the reinforcement learning execution unit 204 determines the reward rt + 1 according to the policy as shown in FIG.
  • the network is controlled so that the throughput from the WEB camera is stable near the target value.
  • the network state (throughput is stable near the target value) as shown in FIG. 14A can be realized by the network control by the control device 20.
  • the network control by the control device 20.
  • the reward rt + 1 in consideration of the throughput range, it is possible to avoid falling into the network state as shown in FIG. 14B.
  • the state of the network is finally stable, but the throughput at the steady state deviates greatly from the target value.
  • FIG. 13 shows a case where a positive reward is given if the throughput is within a predetermined range
  • a positive reward may be given when the throughput is equal to or higher than a predetermined value (see FIG. 15).
  • the reward rt + 1 may be determined as shown in FIG.
  • the limit provided for the throughput may be determined in consideration of the resource (communication resource) of the control device 20. For example, when the flow window size is selected as the control parameter, it is considered that the throughput is stable at a high value if the window size is increased. However, in order to prepare a large flow window size, the memory (resource) consumption becomes large, and the resources that can be allocated to the other terminal 10 decrease.
  • the control device 20 may determine the table update policy in consideration of the above-mentioned merits and demerits.
  • the stationarity of the network is determined by one feature amount has been described, but the stationarity of the network may be determined by a plurality of feature amounts.
  • the terminal 10 is a smartphone will be taken as an example, and a case where the stationarity of the network is determined by a plurality of feature quantities will be described.
  • the feature amount calculation unit 202 calculates the throughput of traffic flowing from the server 30 to the smartphone and the average packet arrival interval.
  • the reinforcement learning execution unit 204 determines the stationarity of the network from the two feature quantities. Specifically, the reinforcement learning execution unit 204 determines whether or not the throughput is stable based on the time-series data of the throughput. Similarly, the reinforcement learning execution unit 204 determines whether or not the average packet arrival interval is stable based on the time-series data of the average packet arrival interval.
  • the reinforcement learning execution unit 204 determines that the network is in the steady state when both the throughput and the average packet arrival interval are in the steady state, gives a positive reward to the reward rt + 1 , and in other cases, a negative reward. give.
  • the control device 20 estimates the state of the network using the feature amount that characterizes the traffic flowing through the network.
  • the control device 20 determines the reward for the action according to the time-series change of the state obtained by the action (change of the control parameter) performed on the network. Therefore, a high reward is given to the "network stability" required at the service or application level provided by the network, and the network quality suitable for the application or the like can be improved. That is, in the disclosure of the present application, it is considered that the convergent state in which the network state is stable during reinforcement learning is highly valuable, and the learner can adapt to the environment (network) in such a situation. , The reward is decided.
  • the state of the network is estimated from the feature amount (for example, throughput) that characterizes the traffic flowing through the network.
  • the feature amount for example, throughput
  • the network state is determined based on QoE (user experience quality) and QoC (control quality) in the terminal 10 will be described.
  • the terminal 10 notifies the control device 20 of the image quality of the reproduced moving image, the bit rate, the number of interruptions (the number of times the buffer is emptied), the frame rate, and the like.
  • the terminal 10 is referred to by the ITU (International Telecommunication Union) -T Recommendation P.M.
  • the MOS (Mean Opinion Score) value defined in 1203 may be transmitted to the control device 20.
  • the terminal 10 may notify the control device 20 of the initial waiting time until the page is displayed.
  • the robot may notify the control device 20 of the reception interval of the control command, the work completion time, the number of successful works, and the like.
  • the surveillance camera may notify the control device 20 of the authentication rate, the number of authentications, and the like of the monitoring target (for example, a human face, an object, etc.).
  • the control device 20 may acquire a value indicating QoE in the terminal 10 (for example, the initial standby time or the like) from the terminal 10, determine the stationarity of the network based on the value, and determine the reward rt + 1. .. At that time, the control device 20 performs a unit root test on the time series data of QoE acquired from the terminal 10 in the same manner as the method described in the first embodiment, and evaluates the steady state of the network. Just do it.
  • a value indicating QoE in the terminal 10 for example, the initial standby time or the like
  • the control device 20 performs a unit root test on the time series data of QoE acquired from the terminal 10 in the same manner as the method described in the first embodiment, and evaluates the steady state of the network. Just do it.
  • control device 20 may estimate the value indicating the QoE from the traffic flowing between the terminal 10 and the server 30.
  • the control device 20 may estimate the bit rate from the throughput and determine the stationarity of the network based on the estimated value.
  • the method described in Reference 1 below may be used. [Reference 1]: International Publication No. 2019/044065
  • the control device 20 estimates the state of the network from the user experience quality (QoE) and the control quality (QoC), and is high when the user experience quality and the like are stable. You may give a reward. For example, consider the case where a user watches a moving image using a terminal. In this case, in the disclosure of the present application, it is determined that the network quality is higher in a network environment in which the frame rate is constant even at a low frame rate than in a network environment in which the frame rate changes frequently (environment in which the frame rate is not stable). ing. In other words, the control device 20 learns the control parameters that realize such high network quality by reinforcement learning.
  • FIG. 16 is a diagram showing an example of the hardware configuration of the control device 20.
  • the control device 20 can be configured by an information processing device (so-called computer), and includes the configuration illustrated in FIG.
  • the control device 20 includes a processor 311, a memory 312, an input / output interface 313, a communication interface 314, and the like.
  • the components such as the processor 311 are connected by an internal bus or the like so that they can communicate with each other.
  • control device 20 may include hardware (not shown), or may not include an input / output interface 313 if necessary.
  • number of processors 311 and the like included in the control device 20 is not limited to the example of FIG. 16, and for example, a plurality of processors 311 may be included in the control device 20.
  • the processor 311 is a programmable device such as a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and a DSP (Digital Signal Processor). Alternatively, the processor 311 may be a device such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). The processor 311 executes various programs including an operating system (OS).
  • OS operating system
  • the memory 312 is a RAM (RandomAccessMemory), a ROM (ReadOnlyMemory), an HDD (HardDiskDrive), an SSD (SolidStateDrive), or the like.
  • the memory 312 stores an OS program, an application program, and various data.
  • the input / output interface 313 is an interface of a display device or an input device (not shown).
  • the display device is, for example, a liquid crystal display or the like.
  • the input device is, for example, a device that accepts user operations such as a keyboard and a mouse.
  • the communication interface 314 is a circuit, module, or the like that communicates with another device.
  • the communication interface 314 includes a NIC (Network Interface Card) and the like.
  • the function of the control device 20 is realized by various processing modules.
  • the processing module is realized, for example, by the processor 311 executing a program stored in the memory 312.
  • the program can also be recorded on a computer-readable storage medium.
  • the storage medium may be a non-transient such as a semiconductor memory, a hard disk, a magnetic recording medium, or an optical recording medium. That is, the present invention can also be embodied as a computer program product.
  • the program can be downloaded via a network or updated using a storage medium in which the program is stored.
  • the processing module may be realized by a semiconductor chip.
  • terminal 10 and the server 30 can also be configured by an information processing device like the control device 20, and the basic hardware configuration thereof is not different from that of the control device 20, so the description thereof will be omitted.
  • control device 20 may be separated into a device that controls the network and a device that generates a learning model.
  • the storage unit 205 that stores the learning information (learning model) may be realized by an external database server or the like. That is, the disclosure of the present application may be implemented as a system including learning means, control means, storage means and the like.
  • the degree of network stability is calculated by performing a unit root test on the time-series data of the feature amount.
  • the steadyness of the network may be calculated by other indicators.
  • the reinforcement learning execution unit 204 may calculate a standard deviation indicating the degree of variation in the data, and may determine that the network is in a steady state when the “mean-standard deviation” is equal to or greater than the threshold value.
  • the stationarity (stability) of the network is determined using one threshold value, but the stationarity degree of the network may be calculated more finely using a plurality of threshold values.
  • the stationarity of the network may be determined in four stages such as “extremely stable”, “stable”, “unstable”, and “extremely unstable”.
  • the reward may be determined according to the degree of steadyness of the network.
  • the terminal 10 may be a sensor device.
  • the sensor device generates a communication pattern (communication traffic) according to the on / off model. That is, if the terminal 10 is a sensor device or the like, there may be cases where data (packets) flow through the network and cases where data (packets) do not flow (no communication state). Therefore, the control device 20 may determine the stationarity by the fluctuation pattern instead of performing the stationarity determination (unit root test) using the traffic (feature amount) time series data itself. The control device 20 may determine the stationarity of the network by using the time series data regarding the time interval in which the feature amount fluctuates.
  • control device 20 may take measures such as not reflecting the non-communication state in the reward. That is, the control device 20 may give a reward for reinforcement learning when the network state is in the “communication state”.
  • control device 20 may control a unit of 10 terminals or a group of a plurality of terminals 10 as a control target. That is, even if the same terminal 10 is used, different applications have different port numbers and the like, and are treated as different flows.
  • the control device 20 may apply the same control (change of control parameters) to packets transmitted from the same terminal 10.
  • the control device 20 may, for example, treat terminals 10 of the same type as one group and apply the same control to packets transmitted from terminals 10 belonging to the same group.
  • the learning unit (101, 204) A control device (20, 100) that determines the reward for an action performed on the network based on the stationarity of the network after the action is performed.
  • the control device (20, 100) according to Appendix 1, which gives a negative reward to the action performed on the network if the network after the action is performed is in an unsteady state.
  • [Appendix 3] The learning unit (101, 204) The control device (20, 100) according to Appendix 1 or 2, which determines the stationarity of the network based on time-series data regarding the state of the network that fluctuates due to taking an action on the network.
  • [Appendix 4] The control device (20) according to Appendix 3, wherein the learning unit (101, 204) estimates the state of the network from at least one of a feature amount, a user experience quality, and a control quality that characterize the traffic flowing through the network. , 100).
  • [Appendix 5] The control device according to any one of Supplementary note 1 to 4, further comprising a control unit (203) that controls the network based on the behavior obtained from the learning model generated by the learning units (101, 204). 20, 100).
  • Steps to learn actions to control the network A step of storing the learning information generated by the learning, and Including The learning step is A method in which the reward for an action performed on the network is determined based on the stationarity of the network after the action is performed.
  • the learning step is If the network after the action is performed is steady, the action performed on the network is positively rewarded.
  • the learning step is The method according to Appendix 6 or 7, wherein the stationarity of the network is determined based on time-series data regarding the state of the network that fluctuates due to taking an action on the network.
  • [Appendix 10] The method according to any one of Supplementary note 6 to 9, further comprising a step of controlling the network based on the behavior obtained from the learning model generated by the learning step.
  • [Appendix 11] Learning means (101, 204) that learn behaviors to control networks, and Includes storage means (102, 205), which stores the learning information generated by the learning means.
  • the learning means (101, 204) A system that determines the reward for an action performed on the network based on the stationarity of the network after the action is performed.
  • the learning means (101, 204) If the network after the action is performed is steady, the action performed on the network is positively rewarded.
  • the learning means (101, 204) The system according to Appendix 11 or 12, wherein the stationarity of the network is determined based on time-series data regarding the state of the network that fluctuates due to taking action on the network.
  • the system according to Appendix 13 wherein the learning means (101, 204) estimates the state of the network from at least one of a feature amount, a user experience quality, and a control quality that characterize the traffic flowing through the network.
  • Appendix 15 The system according to any one of Supplementary note 11 to 14, further comprising a control means (203) that controls the network based on the behavior obtained from the learning model generated by the learning means (101, 204).
  • the process of learning behavior to control the network The process of storing the learning information generated by the learning and To execute, The learning process is A program that determines the reward for an action performed on the network based on the stationarity of the network after the action is performed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

機械学習を用いた効率的なネットワークの制御を実現する制御装置を提供する。制御装置は、学習部と記憶部を含む。学習部は、ネットワークを制御するための行動を学習する。記憶部は、学習部が生成した学習情報を記憶する。学習部は、ネットワークに対して行動をする。学習部は、ネットワークに対して行われた行動の報酬を、行動が行われた後のネットワークの定常性に基づき定め、ネットワークを制御するための行動を学習する。学習部は、行動が行われた後のネットワークが定常状態であれば、ネットワークに対して行われた行動に正の報酬を与え、行動が行われた後のネットワークが非定常状態であれば、ネットワークに対して行われた行動に負の報酬を与えてもよい。

Description

制御装置、方法及びシステム
 本発明は、制御装置、方法及びシステムに関する。
 通信技術、情報処理技術の進展に伴い様々なサービスがネットワーク上にて提供される状況にある。例えば、ネットワーク上のサーバから動画データが配信され、端末にて当該動画データを再生することや、サーバから工場等に設置されたロボット等を遠隔制御することが行われている。
 上記のようなネットワーク上で提供されるサービス、アプリケーションにおいて、エンドユーザが感じ取る品質(QoE;Quality of Experience)や制御品質(QoC;Quality of Control)を高める取り組みがなされている。
 例えば、特許文献1には、個別のwebページの影響が除去された表示待ち時間の品質の推定を可能とする、と記載されている。特許文献1に記載された技術では、任意のエリア及び時間帯におけるトラフィック計測データに基づき当該エリア及び時間帯におけるwebページの表示待ち時間の品質を推定している。
特開2019-075030号公報
 上記特許文献1に開示された技術では、SVM(Support Vector Machine)と称される機械学習が用いられている。ここで、近年、深層学習(ディープラーニング)に代表される機械学習に関する技術が進展し、種々の分野への機械学習の適用が検討されている。
例えば、チェス等のゲームやロボット等の制御に機械学習を適用することが検討されている。ゲームの運用に機械学習を適用する場合には、ゲーム内のスコアの最大化が報酬に設定され、機械学習の性能が評価される。また、ロボットの制御では、目標動作の実現が報酬に設定され、機械学習の性能が評価される。通常、機械学習(強化学習)では、即時報酬及びエピソード単位の報酬の総和により学習の性能が議論される。
 しかし、ネットワークの制御に機械学習を適用する場合には何を報酬に設定するのかが問題となる。例えば、ネットワークの制御では、ゲームに機械学習を適用する場合のように最大化するスコアの存在を観念することができない。例えば、ネットワークに含まれる通信機器におけるスループットを最大化することを報酬に設定したとしてもサービス、アプリケーションによっては適切な設定とはいえない。
 本発明は、機械学習を用いた効率的なネットワークの制御を実現することに寄与する、制御装置、方法及びシステムを提供することを主たる目的とする。
 本発明の第1の視点によれば、ネットワークを制御するための行動を学習する、学習部と、前記学習部が生成した学習情報を記憶する、記憶部と、を備え、前記学習部は、前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、制御装置が提供される。
 本発明の第2の視点によれば、ネットワークを制御するための行動を学習するステップと、前記学習により生成された学習情報を記憶するステップと、を含み、前記学習するステップは、前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、方法が提供される。
 本発明の第3の視点によれば、ネットワークを制御するための行動を学習する、学習手段と、前記学習手段が生成した学習情報を記憶する、記憶手段と、を含み、前記学習手段は、前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、システムが提供される。
 本発明の各視点によれば、機械学習を用いた効率的なネットワークの制御を実現することに寄与する、制御装置、方法及びシステムが提供される。なお、本発明により、当該効果の代わりに、又は当該効果と共に、他の効果が奏されてもよい。
一実施形態の概要を説明するための図である。 一実施形態に係る制御装置の動作の一例を示すフローチャートである。 第1の実施形態に係る通信ネットワークシステムの概略構成の一例を示す図である。 Qテーブルの一例を示す図である。 ニューラルネットワークの構成の一例を示す図である。 強化学習により得られる重みの一例を示す図である。 第1の実施形態に係る制御装置の処理構成の一例を示す図である。 特徴量とネットワークの状態を対応付ける情報の一例を示す図である。 行動と制御内容を対応付けたテーブル情報の一例を示す図である。 特徴量の時系列データの一例を示す図である。 第1の実施形態に係る制御装置の制御モード時の動作の一例を示すフローチャートである。 第1の実施形態に係る制御装置の学習モード時の動作の一例を示すフローチャートである。 強化学習実行部の動作を説明するための図である。 スループットの時系列データの一例を示す図である。 報酬の与え方を説明するための図である。 制御装置のハードウェア構成の一例を示す図である。
 はじめに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
 一実施形態に係る制御装置100は、学習部101と記憶部102を含む(図1参照)。学習部101は、ネットワークを制御するための行動を学習する。記憶部102は、学習部101が生成した学習情報を記憶する。学習部101は、ネットワークに対して行動をする(図2のステップS01)。学習部101は、ネットワークに対して行われた行動の報酬を、行動が行われた後のネットワークの定常性に基づき定め、ネットワークを制御するための行動を学習する(図2のステップS02)。
 ネットワークにより提供されるサービスやアプリケーションでは、「ネットワークの安定性」が重要視される。制御装置100は、ネットワークに対して行った行動(制御パラメータの変更)により得られる状態の定常性に基づき報酬を定める。即ち、制御装置100は、機械学習(強化学習)の際にネットワークの状態が安定している収束状態に価値が高いものと捉え、そのような状況の場合に高い報酬を与えネットワークを制御するための学習を行う。その結果、機械学習を用いた効率的なネットワークの制御が実現される。
 以下に具体的な実施形態について、図面を参照してさらに詳しく説明する。
[第1の実施形態]
 第1の実施形態について、図面を用いてより詳細に説明する。
図3は、第1の実施形態に係る通信ネットワークシステムの概略構成の一例を示す図である。図3を参照すると、通信ネットワークシステムは、端末10と、制御装置20と、サーバ30と、を含んで構成される。
端末10は、通信機能を有する装置である。端末10には、WEB(ウェブ)カメラ、監視カメラ、ドローン、スマートフォン、ロボット等が例示される。但し、端末10を上記WEBカメラ等に限定する趣旨ではない。端末10は、通信機能を備える任意の装置とすることができる。
端末10は、制御装置20を介してサーバ30と通信する。端末10とサーバ30により様々なアプリケーション、サービスが提供される。
例えば、端末10がWEBカメラの場合には、サーバ30が当該WEBカメラからの画像データを解析し、工場等の資材管理が行われる。例えば、端末10がドローンの場合には、サーバ30からドローンに制御コマンドが送信され、ドローンが荷物等を搬送する。例えば、端末10がスマートフォンの場合には、サーバ30からスマートフォンに向けて動画が配信され、ユーザはスマートフォンを用いて動画を視聴する。
制御装置20は、例えば、プロキシサーバやゲートウェイ等の通信機器であり、端末10とサーバ30からなるネットワークを制御する装置である。制御装置20は、TCP(Transmission Control Protocol)のパラメータ群やバッファ制御に関するパラメータ群の値を変更し、ネットワークを制御する。
例えば、TCPパラメータの制御としては、フローウィンドウサイズの変更が例示される。バッファ制御としては、複数バッファのキュー管理において、最低保証帯域、RED(Random Early Detection)のロス率、ロス開始キュー長、バッファ長に関するパラメータの変更が例示される。
なお、以降の説明において、上記TCPパラメータやバッファ制御に関するパラメータ等、端末10とサーバ30の間の通信(トラヒック)に影響を与えるパラメータを「制御パラメータ」と表記する。
制御装置20は、制御パラメータを変更することで、ネットワークを制御する。制御装置20によるネットワークの制御は、自装置(制御装置20)のパケット転送時に行われてもよいし、端末10やサーバ30に制御パラメータの変更を指示することにより行われてもよい。
TCPセッションが制御装置20により終端される場合には、例えば、制御装置20は、端末10との間で形成されるTCPセッションのフローウィンドウサイズを変更することで、ネットワークを制御する。制御装置20は、サーバ30から受信したパケットを格納するバッファのサイズを変更したり、当該バッファからパケットを読み出す周期を変更したりしてネットワークを制御してもよい。
制御装置20は、ネットワークの制御に「機械学習」を用いる。より具体的には、制御装置20は、強化学習により得られる学習モデルに基づきネットワークを制御する。
強化学習には、種々のバリエーションが存在するが、例えば、制御装置20は、Q学習と称される強化学習の結果得られる学習情報(Qテーブル)に基づきネットワークを制御してもよい。
[Q学習]
以下、Q学習について概説する。
Q学習では、与えられた「環境」における「価値」を最大化するように、「エージェント」を学習させる。当該Q学習をネットワークシステムに適用すると、端末10やサーバ30を含むネットワークが「環境」であり、ネットワークの状態を最良にするように、制御装置20を学習させる。
Q学習では、状態(ステート)s、行動(アクション)a、報酬(リワード)rの3要素が定義される。
状態sは、環境(ネットワーク)がどのような状態にあるかを示す。例えば、通信ネットワークシステムの場合には、トラヒック(例えば、スループット、平均パケット到着間隔等)が状態sに該当する。
行動aは、エージェント(制御装置20)が環境(ネットワーク)に対して取り得る行動を示す。例えば、通信ネットワークシステムの場合には、TCPパラメータ群の設定の変更や機能のオン/オフ等が行動aとして例示される。
報酬rは、ある状態sにおいてエージェント(制御装置20)が行動aを実行した結果、どの程度の評価が得られるかを示す。例えば、通信ネットワークシステムの場合には、制御装置20が、TCPパラメータ群の一部を変更した結果、スループットが上昇すれば正の報酬、スループットが下降すれば負の報酬の様に定められる。
Q学習では、現在時点で得られる報酬(即時報酬)を最大化するのではなく、将来に亘る価値を最大化するように学習が進められる(Qテーブルが構築される)。Q学習におけるエージェントの学習は、ある状態sにおける行動aを採用した時の価値(Q値、状態行動価値)を最大化するように行われる。
Q値(状態行動価値)は、Q(s、a)と表記される。Q学習では、エージェントが行動することによって価値の高い状態に遷移させる行動は、遷移先と同程度の価値を持つことを前提としている。このような前提により、現時点tにおけるQ値は、次の時点t+1のQ値により表現することができる(式(1)参照)。
Figure JPOXMLDOC01-appb-M000001
なお、式(1)においてrt+1は即時報酬、Est+1は状態St+1に関する期待値、Eat+1は行動at+1に関する期待値を示す。γは割引率である。
Q学習では、ある状態sにおいて行動aを採用した結果によりQ値を更新する。具体的には、下記の式(2)に従いQ値を更新する。
Figure JPOXMLDOC01-appb-M000002
式(2)において、αは学習率と称されるパラメータであり、Q値の更新を制御する。また、式(2)における「max」は状態St+1の取り得る行動aのうち最大値を出力する関数である。なお、エージェント(制御装置20)が行動aを選択する方式には、ε-greedyと称される方式を採用することができる。
ε-greedy方式では、確率εでランダムに行動を選択し、確率1-εで最も価値の高い行動を選択する。Q学習の実行により、図4に示すようなQテーブルが生成される。
[DQNによる学習]
制御装置20は、DQN(Deep Q Network)と称される深層学習(ディープラーニング)を使った強化学習の結果得られる学習モデルに基づきネットワークを制御してもよい。Q学習では、Qテーブルにより行動価値関数を表現しているが、DQNでは、ディープラーニングにより行動価値関数を表現する。DQNでは、最適行動価値関数を、ニューラルネットワークを使った近似関数により算出する。
なお、最適行動価値関数とは、ある状態s時にある行動aを行うことの価値を出力する関数である。
ニューラルネットワークは、入力層、中間層(隠れ層)、出力層を備える。入力層は、状態sを入力する。中間層の各ノードのリンクには、対応する重みが存在する。出力層は、行動aの価値を出力する。
例えば、図5に示すようなニューラルネットワークの構成を考える。図5に示すニューラルネットワークを通信ネットワークシステムに適用すると、入力層のノードは、ネットワークの状態S1~S3に相当する。入力層に入力されたネットワークの状態は、中間層にて重み付けされ、出力層に出力される。
出力層のノードは、制御装置20が取り得る行動A1~A3に相当する。出力層のノードは、行動A1~A3のそれぞれに対応する行動価値関数Q(s、a)の値を出力する。
DQNでは、上記行動価値関数を出力するノード間の結合パラメータ(重み)を学習する。具体的には、下記の式(3)に示す誤差関数E(s、a)を設定しバックプロパゲーションにより学習を行う。
Figure JPOXMLDOC01-appb-M000003
DQNによる強化学習の実行により、用意されたニューラルネットワークの中間層の構成に対応した学習情報(重み)が生成される(図6参照)。
ここで、制御装置20の動作モードには、2つの動作モードが含まれる。
第1の動作モードは、学習モデルを算出する学習モードである。制御装置20が「Q学習」を実行することで、図4に示すようなQテーブルが算出される。あるいは、制御装置20が「DQN」による強化学習を実行することで、図6に示すような重みが算出される。
第2の動作モードは、学習モードにて算出された学習モデルを用いてネットワークを制御する制御モードである。具体的には、制御モードの制御装置20は、現在のネットワークの状態sを算出し、当該状態sの場合に取り得る行動aのうち最も価値の高い行動aを選択する。制御装置20は、当該選択された行動aに対応する動作(ネットワークの制御)を実行する。
 図7は、第1の実施形態に係る制御装置20の処理構成(処理モジュール)の一例を示す図である。図7を参照すると、制御装置20は、パケット転送部201と、特徴量算出部202と、ネットワーク制御部203と、強化学習実行部204と、記憶部205と、を含んで構成される。
パケット転送部201は、端末10やサーバ30から送信されたパケットを受信し、当該受信したパケットを対向する装置に転送する手段である。パケット転送部201は、ネットワーク制御部203からの通知された制御パラメータに従い、パケット転送を行う。
例えば、ネットワーク制御部203からフローウィンドウサイズの設定値が通知されると、パケット転送部201は当該通知されたフローウィンドウサイズにてパケット転送を行う。
パケット転送部201は、受信したパケットの複製を特徴量算出部202に引き渡す。
特徴量算出部202は、端末10とサーバ30の間の通信トラヒックを特徴付ける特徴量を算出する手段である。特徴量算出部202は、取得したパケットからネットワーク制御の対象となるトラヒックフローを抽出する。なお、ネットワーク制御の対象となるトラヒックフローは、送信元IP(Internet Protocol)アドレス、宛先IPアドレス、ポート番号等が同一のパケットからなるグループである。
特徴量算出部202は、抽出したトラヒックフローから上記特徴量を算出する。例えば、特徴量算出部202は、スループット、平均パケット到着間隔、パケットロス率、ジッター等を特徴量として算出する。特徴量算出部202は、算出した特徴量を算出時刻と共に記憶部205に格納する。なお、スループット等の算出については既存の技術を用いることができ、且つ、当業者にとって明らかであるのでその詳細な説明を省略する。
ネットワーク制御部203は、強化学習実行部204が生成した学習モデルから得られる行動に基づき、ネットワークを制御する手段である。ネットワーク制御部203は、強化学習の結果得られる学習モデルに基づきパケット転送部201に通知する制御パラメータを決定する。ネットワーク制御部203は、主に制御モード時に動作するモジュールである。
ネットワーク制御部203は、記憶部205から最新の(現在時刻の)特徴量を読み出す。ネットワーク制御部203は、当該読み出した特徴量から制御対象となっているネットワークの状態を推定(算出)する。
 例えば、ネットワーク制御部203は、特徴量Fとネットワークの状態を対応付けたテーブル(図8参照)を参照し、現在の特徴量Fに対応するネットワークの状態を算出する。なお、トラヒックは端末10とサーバ30の間の通信により生じるものであるから、ネットワークの状態は「トラヒックの状態」と捉えることもできる。即ち、本願開示において、「トラヒックの状態」と「ネットワークの状態」は相互に読み替えが可能である。
 Q学習により学習モデルが構築された場合には、ネットワーク制御部203は、記憶部205に格納されたQテーブルを参照し、現在のネットワーク状態に対応する各行動(アクション)のうち価値Qが最も高い行動を取得する。例えば、図4の例では、算出されたトラヒックの状態が「状態S1」であり、価値Q(S1、A1)、Q(S1、A2)、Q(S1、A3)のうち価値Q(S1、A1)が最大であれば、行動A1が読み出される。
あるいは、DNQにより学習モデルが構築された場合には、ネットワーク制御部203は、図5に示すようなニューラルネットワークに現在のネットワーク状態を入力し、取り得る行動のうち最も価値の高い行動を取得する。
ネットワーク制御部203は、取得した行動に応じて制御パラメータを決定し、パケット転送部201に設定(通知)する。なお、記憶部205には、行動と制御内容を対応付けたテーブル(図9参照)が格納され、ネットワーク制御部203は、当該テーブルを参照してパケット転送部201に設定する制御パラメータを決定する。
 例えば、図9に示すように、制御パラメータの変更内容(更新内容)が制御内容として記載されている場合には、ネットワーク制御部203は、当該変更内容に応じた制御パラメータをパケット転送部201に通知する。
 強化学習実行部204は、ネットワークを制御するための行動(制御パラメータ)を学習する手段である。強化学習実行部204は、上記説明したQ学習やDQNによる強化学習を実行し、学習モデルを生成する。強化学習実行部204は、主に学習モード時に動作するモジュールである。
 強化学習実行部204は、記憶部205に格納された特徴量から現在時刻tのネットワークの状態sを算出する。強化学習実行部204は、算出した状態sの取り得る行動aのなかから上記ε-greedy方式のような方法で行動aを選択する。強化学習実行部204は、当該選択した行動に対応する制御内容(制御パラメータの更新値)をパケット転送部201に通知する。強化学習実行部204は、上記行動に応じたネットワークの変化に応じて報酬を定める。その際、強化学習実行部204は、ネットワークに対して行われた行動の報酬を、行動が行われた後のネットワークの定常性に基づき定める。
 具体的には、強化学習実行部204は、行動aを起こした結果、ネットワークが定常状態にあるか否かに基づき報酬を決定する。強化学習実行部204は、式(2)や式(3)に記載された報酬rt+1を定める際、ネットワークが定常状態であれば(ネットワークが安定していれば)、正の報酬を与える。対して、ネットワークの状態が非定常状態であれば(ネットワークが不安定であれば)、強化学習実行部204は、負の報酬を与える。
 強化学習実行部204は、ネットワークに対して行動を起こしたことにより変動するネットワークの状態に関する時系列データに対して統計処理を実施することで、ネットワークの定常性を判定する。
 具体的には、強化学習実行部204は、上記ε-greedy方式のような方法で選択された行動aに対応するネットワークの制御を実行後の次の時刻t+1から所定期間前までの特徴量(特徴量の時系列データ)を読み出す。強化学習実行部204は、当該読み出された特徴量の時系列データに対して統計処理を施すことで、ネットワークの状態が定常状態か否かを示す評価指標を算出する。
具体的には、強化学習実行部204は、上記時系列データを自己回帰(Autoregressive model;AR)モデルによりモデル化する。ARモデルは、時系列データx1、x2、・・・、xNを下記の式(4)に示すように、現在時刻の値を、重みが付けられた過去の値の加算(線形和)により表現するものである。
Figure JPOXMLDOC01-appb-M000004
式(4)において、x(t)は特徴量、ε(t)はノイズ(ホワイトノイズ)、cは時刻により変化しない定数、wは重みを示す。iは過去の時刻を指定するためのサフィックスであり、pは上記所定期間前を指定する整数である。
 強化学習実行部204は、上記式(4)に示される重みwを記憶部205から読み出した時系列データを用いて推定する。具体的には、強化学習実行部204は、最尤法、ユールウォーカー等のパラメータ推定手法により重みwを推定する。なお、最尤法、ユールウォーカー等のパラメータ推定手法は公知の技術を用いることができるのでその詳細な説明を省略する。
次に、強化学習実行部204は、時系列データから得られたARモデルに対して単位根検定を実施する。単位根検定を実施することで、強化学習実行部204は、時系列データの定常度(定常度合い)を得る。強化学習実行部204は、単位根検定の実行により、「非定常」に対する「定常」の割合を算出することができる。単位根検定は既存のアルゴリズムにより実現でき、且つ、当業者にとって明らかであるのでその詳細な説明を省略する。
強化学習実行部204は、単位根検定により得られた定常度に対して閾値処理(例えば、取得した値が閾値以上または未満であるかを判定する処理)を実行し、ネットワークの状態が定常状態にあるか否かを判定する。つまり、強化学習実行部204は、ネットワークの状態が、定常状態に向かう過渡的な「非定常状態」にあるのか、又は、特定の値を中心に収束している「定常状態」にあるのか判定する。
具体的には、強化学習実行部204は、定常度が閾値以上であればネットワークの状態は「定常」と判定する。強化学習実行部204は、定常度が閾値よりも小さければネットワークの状態は「非定常」と判定する。
 図10は、特徴量の時系列データの一例を示す図である。図10Aに示す時系列データに対して、強化学習実行部204が単位根検定を実施すると、ネットワークの状態は「非定常」と判定される。
 この場合、強化学習実行部204は、式(2)や式(3)の報酬rt+1に負の報酬(例えば、-1)を与え、Qテーブルや重みを更新する。対して、図10Bに示す時系列データに対して、強化学習実行部204が単位根検定を実施すると、ネットワークの状態は「定常」と判定される。この場合、強化学習実行部204は、式(2)や式(3)の報酬rt+1に正の報酬(例えば、+1)を与え、Qテーブルや重みを更新する。
第1の実施形態に係る制御装置20の制御モード時の動作をまとめると図11に示すフローチャートのとおりとなる。
 制御装置20は、パケットを取得し、特徴量を算出する(ステップS101)。制御装置20は、当該算出された特徴量に基づきネットワークの状態を特定する(ステップS102)。制御装置20は、学習モデルを用いて、ネットワークの状態に応じた最も価値の高い行動によりネットワークを制御する(ステップS103)。
第1の実施形態に係る制御装置20の学習モード時の動作をまとめると図12に示すフローチャートのとおりとなる。
 制御装置20は、パケットを取得し、特徴量を算出する(ステップS201)。制御装置20は、当該算出された特徴量に基づきネットワークの状態を特定する(ステップS202)。制御装置20は、ε-greedy方式等により現在のネットワーク状態にて取り得る行動を選択する(ステップS203)。制御装置20は、当該選択された行動によりネットワークを制御する(ステップS204)。制御装置20は、特徴量の時系列データを用いてネットワークの定常性を判定する(ステップS205)。制御装置20は、判定結果により報酬を定め(ステップS206)、学習情報(Qテーブル、重み)を更新する(ステップS207)。
続いて、端末10の種類ごとに制御装置20の動作について具体的に説明する。
[端末がドローンの場合]
 端末10がドローンの場合、ネットワークの状態を示す指標(特徴量)として、例えば、ドローンからサーバ30へ向けて送信されるパケットの平均パケット到着間隔が選択される。サーバ30は、ドローンに対して制御パケット(制御コマンドを含むパケット)を送信する。当該制御パケットに対するドローンからの応答パケット(肯定応答、否定応答)の平均パケット到着間隔が特徴量として選択される。
 制御装置20は、サーバ30とドローンの間のパケット送受信の間隔が安定するように、制御パラメータを決定しネットワークの制御を行う。端末10がドローンの場合の取り得る行動(変更可能な制御パラメータ)としては、サーバ30から取得した制御パケットを格納するバッファからのパケット読み出し間隔(パケット送信間隔)が考えられる。
 強化学習実行部204は、ドローンからサーバ30に送信される応答パケットの平均パケット到着間隔が安定するように、バッファから制御パケットを読み出すパラメータを学習する。サーバ30がドローン(制御対象)を遠隔制御するアプリケーションでは、ドローンとサーバ30間で送受信されるパケット(制御パケット、応答パケット)が安定して相手側に届くことが重視される。
ここで、制御パケットや応答パケットのパケットサイズはあまり大きくない。そのため、サーバ30からのスループットが高いが、パケットの送受信が安定しない状況(一度に多くの情報を送れるがパケットの到着にばらつきがある状況)よりも、スループットは低いがパケットの送受信が安定する状況の方が、ドローンの制御では価値が高い。
 第1の実施形態に係る制御装置20は、ネットワークの状態(トラヒックの状態)を特徴付ける特徴量を適切に選択(例えば、平均パケット到着間隔を選択)することで、ドローンの遠隔制御というアプリケーションに適したネットワーク制御を実現できる。
[端末がWEBカメラの場合]
上記説明では、報酬rt+1を決定する条件(基準)としてネットワークの定常性を用いる場合について説明したが、上記定常性に他の基準を加えて報酬rt+1を決定してもよい。ここでは、端末10がWEBカメラである場合を例に取り、報酬rt+1の決定に「ネットワークの定常性」以外の項目を考慮する場合について説明する。
 端末10がWEBカメラの場合、ネットワークの状態を示す指標(特徴量)として、例えば、WEBカメラからサーバ30に流れるトラヒックのスループットが選択される。強化学習実行部204は、WEBカメラからサーバ30へのスループットが目標値の近傍で安定するように、学習モデルを算出する。
 例えば、端末10、サーバ30との間で形成されるTCPセッションのフローウィンドウサイズが制御パラメータに設定され、上記目標(スループットが目標値で安定)を実現するような行動が学習される。強化学習実行部204は、特徴量算出部202が算出した特徴量(スループット)の時系列データを用いてネットワークの定常性を判定する。
続いて、強化学習実行部204は、特徴量(スループット)の範囲に応じて報酬rt+1を決定する。例えば、目標値が閾値TH21以上、且つ、閾値TH22以下とすれば、強化学習実行部204は、図13に示すような方針(ポリシ)にて報酬rt+1を決定する。このような報酬の与え方により得られた学習モデルを用いることで、WEBカメラからのスループットが目標とする値近傍で安定するようにネットワークは制御される。
具体的には、制御装置20によるネットワーク制御により、図14Aに示すようなネットワークの状態(スループットが目標値近辺で安定)を実現できる。換言すれば、スループットの範囲を考慮して報酬rt+1を決定することで、図14Bに示すようなネットワークの状態に陥ることが回避される。図14Bでは、最終的にネットワークの状態が安定しているが、定常時のスループットは目標値から大きく乖離している。
なお、図13には、スループットが所定の範囲内であれば正の報酬を与える場合を記載したが、スループットが所定の値以上の場合に正の報酬を与えてもよい(図15参照)。図14Bの状況とは逆に、目標値から遠く離れた高い値でスループットが安定することが許容できる場合には、図15に示すように報酬rt+1が決定されてもよい。
スループットに設ける制限に関しては、制御装置20のリソース(通信リソース)を考慮して決定すればよい。例えば、制御パラメータにフローウィンドウサイズを選択した場合、当該ウィンドウサイズを大きくすればスループットは高い値で安定すると考えられる。しかしながら、大きなフローウィンドウサイズを用意するためにはメモリ(リソース)の消費が大きくなり、他の端末10に割り当て可能なリソースが減少してしまう。制御装置20は、上記のようなメリット、デメリットを考慮してテーブル更新ポリシを決定すればよい。
[端末がスマートフォンの場合]
上記では、1つの特徴量によりネットワークの定常性を判定したりする場合について説明したが、複数の特徴量によりネットワークの定常性の判定等が行われてもよい。以下、端末10がスマートフォンである場合を例に取り、ネットワークの定常性が複数の特徴量により判定される場合について説明する。
ここでは、サーバ30から動画が配信され、スマートフォン(端末10)にて当該動画が再生される場合を想定する。特徴量算出部202は、サーバ30からスマートフォンに流れるトラヒックのスループットと平均パケット到着間隔を算出する。
強化学習実行部204は、当該2つの特徴量からネットワークの定常性を判定する。具体的には、強化学習実行部204は、スループットの時系列データに基づきスループットが安定しているか否かを判定する。同様に、強化学習実行部204は、平均パケット到着間隔の時系列データに基づき平均パケット到着間隔が安定しているか否かを判定する。
強化学習実行部204は、スループット及び平均パケット到着間隔が共に定常状態にある場合に、ネットワークが定常状態にあると判定し、報酬rt+1に正の報酬を与え、他の場合には負の報酬を与える。
 以上のように、第1の実施形態に係る制御装置20は、ネットワークの状態を、ネットワークに流れるトラヒックを特徴付ける特徴量を用いて推定する。制御装置20は、ネットワークに対して行った行動(制御パラメータの変更)により得られる状態の時系列変化に応じて、当該行動に対する報酬を定める。そのため、ネットワークにて提供されるサービスやアプリケーションレベルで求められる、「ネットワークの安定性」に高い報酬が与えられ、アプリケーション等に適したネットワーク品質の向上が実現できる。即ち、本願開示では、強化学習の際にネットワークの状態が安定している収束状態に価値が高いものと捉え、そのような状況の場合に学習器が環境(ネットワーク)に適応できていると考える、報酬を決定している。
[第2の実施形態]
 続いて、第2の実施形態について図面を参照して詳細に説明する。
第1の実施形態では、ネットワークに流されるトラヒックを特徴付ける特徴量(例えば、スループット)によりネットワークの状態を推定している。第2の実施形態では、端末10におけるQoE(ユーザ体感品質)やQoC(制御品質)に基づきのネットワークの状態を決定する場合について説明する。
例えば、端末10がスマートフォンであって、動画再正アプリケーションが動作している場合を考える。この場合、端末10は、再生動画の画質、ビットレート、途絶回数(バッファが空となった回数)、フレームレート等を制御装置20に通知する。あるいは、端末10は、ITU(International Telecommunication Union)-T勧告P.1203に規定されたMOS(Mean Opinion Score)値を制御装置20に送信してもよい。
あるいは、スマートフォンにてWEBページの閲覧(ブラウザが動作)が行われている場合には、端末10は、ページ表示までの初期待機時間を制御装置20に通知してもよい。
例えば、端末10がロボットである場合には、ロボットは、制御コマンドの受信間隔、作業完了時間、作業成功回数等を制御装置20に通知してもよい。
あるいは、端末10が監視カメラである場合には、監視カメラは、監視対象(例えば、人の顔、物体等)の認証率、認証回数等を制御装置20に通知してもよい。
制御装置20は、端末10から当該端末10におけるQoEを示す値(例えば、上記初期待機時間等)を取得し、当該値に基づきネットワークの定常性を判定し、報酬rt+1を決定してもよい。その際、制御装置20は、第1の実施形態にて説明した方法と同様にして、端末10から取得したQoEの時系列データに対して単位根検定を実施し、ネットワークの定常性を評価すればよい。
あるいは、制御装置20は、端末10とサーバ30の間に流れるトラヒックから上記QoEを示す値を推定してもよい。例えば、制御装置20は、スループットからビットレートを推定し、当該推定値に基づきネットワークの定常性を判定してもよい。なお、スループットからビットレートを推定する際には、以下の参考文献1に記載された方法を用いればよい。
[参考文献1]:国際公開第2019/044065号
 以上のように、第2の実施形態に係る制御装置20は、ネットワークの状態を、ユーザ体感品質(QoE)や制御品質(QoC)から推定し、ユーザ体感品質等が安定している場合に高い報酬を与えても良い。例えば、ユーザが端末を使用して動画を視聴する場合を考える。この場合、本願開示では、フレームレートが頻繁に変わるネットワーク環境(フレームレートが安定しない環境)よりも、低いフレームレートであっても一定しているネットワーク環境の方が、ネットワーク品質が高いと判断している。換言すれば、制御装置20は、このような高いネットワーク品質を実現する制御パラメータを強化学習により学習する。
 続いて、通信ネットワークシステムを構成する各装置のハードウェアについて説明する。図16は、制御装置20のハードウェア構成の一例を示す図である。
 制御装置20は、情報処理装置(所謂、コンピュータ)により構成可能であり、図16に例示する構成を備える。例えば、制御装置20は、プロセッサ311、メモリ312、入出力インターフェイス313及び通信インターフェイス314等を備える。上記プロセッサ311等の構成要素は内部バス等により接続され、相互に通信可能に構成されている。
 但し、図16に示す構成は、制御装置20のハードウェア構成を限定する趣旨ではない。制御装置20は、図示しないハードウェアを含んでもよいし、必要に応じて入出力インターフェイス313を備えていなくともよい。また、制御装置20に含まれるプロセッサ311等の数も図16の例示に限定する趣旨ではなく、例えば、複数のプロセッサ311が制御装置20に含まれていてもよい。
 プロセッサ311は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)等のプログラマブルなデバイスである。あるいは、プロセッサ311は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等のデバイスであってもよい。プロセッサ311は、オペレーティングシステム(OS;Operating System)を含む各種プログラムを実行する。
 メモリ312は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等である。メモリ312は、OSプログラム、アプリケーションプログラム、各種データを格納する。
 入出力インターフェイス313は、図示しない表示装置や入力装置のインターフェイスである。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
 通信インターフェイス314は、他の装置と通信を行う回路、モジュール等である。例えば、通信インターフェイス314は、NIC(Network Interface Card)等を備える。
 制御装置20の機能は、各種処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ312に格納されたプログラムをプロセッサ311が実行することで実現される。また、当該プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transitory)なものとすることができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。また、上記プログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。
 なお、端末10、サーバ30も制御装置20と同様に情報処理装置により構成可能であり、その基本的なハードウェア構成は制御装置20と相違する点はないので説明を省略する。
[変形例]
 なお、上記実施形態にて説明した通信ネットワークシステムの構成、動作等は例示であって、システムの構成等を限定する趣旨ではない。例えば、制御装置20は、ネットワークを制御する装置と学習モデルを生成する装置に分離されていてもよい。あるいは、学習情報(学習モデル)を記憶する記憶部205は、外部のデータベースサーバ等により実現されてもよい。即ち、本願開示は、学習手段、制御手段、記憶手段等を含むシステムとして実施されてもよい。
 上記実施形態では、特徴量の時系列データに対して単位根検定を実施することとで、ネットワークの定常度を算出している。しかし、ネットワークの定常度は他の指標により算出されてもよい。例えば、強化学習実行部204は、データのばらつき度合いを示す標準偏差を計算し、「平均-標準偏差」が閾値以上の場合にネットワークは定常状態であると判定してもよい。
 上記実施形態では、1つの閾値を用いてネットワークの定常性(安定性)を判定しているが、複数の閾値を用いてより細かくネットワークの定常度合いが算出されてもよい。例えば、「極めて安定」、「安定」、「不安定」、「極めて不安定」のように4段階でネットワークの定常性が判定されてもよい。この場合、ネットワークの定常度合いに応じて報酬が決められていてもよい。
 なお、端末10はセンサ装置である場合がある。センサ装置は、オン/オフモデルに従う通信パターン(通信トラヒック)を発生する。つまり、端末10がセンサ装置等であれば、データ(パケット)がネットワークに流れる場合と流れない場合(無通信状態)が生じ得る。そのため、制御装置20が、トラヒック(特徴量)の時系列データそのものを使って定常性判定(単位根検定)を実施するのではなく、変動パターンにより定常性が判定されてもよい。制御装置20は、特徴量が上下する時間間隔に関する時系列データを用いてネットワークの定常性を判定してもよい。あるいは、制御装置20は、事前にオン/オフモデルに従うアプリケーションを把握している場合には、無通信状態は報酬に反映しない等の対応を行ってもよい。即ち、制御装置20は、ネットワークの状態が「通信状態」にある場合に強化学習の報酬を与えるようにしてもよい。
 上記実施形態では、制御装置20は、トラヒックフローを制御の対象(制御単位)とする場合について説明した。しかし、制御装置20は、端末10単位、又は、複数の端末10をまとめたグループを制御の対象としてもよい。つまり、同じ端末10であってもアプリケーションが異なればポート番号等が異なり、異なるフローとして扱われる。制御装置20は、同じ端末10から送信されるパケットには同じ制御(制御パラメータの変更)を適用してもよい。あるいは、制御装置20は、例えば、同じ種類の端末10を1つのグループとして扱い、同じグループに属する端末10から送信されるパケットに対して同じ制御を適用してもよい。
上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、例えば各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
 ネットワークを制御するための行動を学習する、学習部(101、204)と、
 前記学習部(101、204)が生成した学習情報を記憶する、記憶部(102、205)と、を備え、
 前記学習部(101、204)は、
 前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、制御装置(20、100)。
[付記2]
 前記学習部(101、204)は、
 前記行動が行われた後のネットワークが定常状態であれば、前記ネットワークに対して行われた行動に正の報酬を与え、
 前記行動が行われた後のネットワークが非定常状態であれば、前記ネットワークに対して行われた行動に負の報酬を与える、付記1に記載の制御装置(20、100)。
[付記3]
 前記学習部(101、204)は、
 前記ネットワークに対して行動を起こしたことにより変動するネットワークの状態に関する時系列データに基づいて前記ネットワークの定常性を判定する、付記1又は2に記載の制御装置(20、100)。
[付記4]
 前記学習部(101、204)は、前記ネットワークの状態を、前記ネットワークに流れるトラヒックを特徴付ける特徴量、ユーザ体感品質及び制御品質のうち少なくとも1つから推定する、付記3に記載の制御装置(20、100)。
[付記5]
 前記学習部(101、204)が生成した学習モデルから得られる行動に基づき、前記ネットワークを制御する、制御部(203)をさらに備える、付記1乃至4のいずれか一つに記載の制御装置(20、100)。
[付記6]
 ネットワークを制御するための行動を学習するステップと、
 前記学習により生成された学習情報を記憶するステップと、
 を含み、
 前記学習するステップは、
 前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、方法。
[付記7]
 前記学習するステップは、
 前記行動が行われた後のネットワークが定常状態であれば、前記ネットワークに対して行われた行動に正の報酬を与え、
 前記行動が行われた後のネットワークが非定常状態であれば、前記ネットワークに対して行われた行動に負の報酬を与える、付記6に記載の方法。
[付記8]
 前記学習するステップは、
 前記ネットワークに対して行動を起こしたことにより変動するネットワークの状態に関する時系列データに基づいて前記ネットワークの定常性を判定する、付記6又は7に記載の方法。
[付記9]
 前記学習するステップは、前記ネットワークの状態を、前記ネットワークに流れるトラヒックを特徴付ける特徴量、ユーザ体感品質及び制御品質のうち少なくとも1つから推定する、付記8に記載の方法。
[付記10]
 前記学習するステップにより生成された学習モデルから得られる行動に基づき、前記ネットワークを制御するステップをさらに含む、付記6乃至9のいずれか一つに記載の方法。
[付記11]
 ネットワークを制御するための行動を学習する、学習手段(101、204)と、
 前記学習手段が生成した学習情報を記憶する、記憶手段(102、205)と、を含み、
 前記学習手段(101、204)は、
 前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、システム。 
[付記12]
 前記学習手段(101、204)は、
 前記行動が行われた後のネットワークが定常状態であれば、前記ネットワークに対して行われた行動に正の報酬を与え、
 前記行動が行われた後のネットワークが非定常状態であれば、前記ネットワークに対して行われた行動に負の報酬を与える、付記11に記載のシステム。
[付記13]
 前記学習手段(101、204)は、
 前記ネットワークに対して行動を起こしたことにより変動するネットワークの状態に関する時系列データに基づいて前記ネットワークの定常性を判定する、付記11又は12に記載のシステム。
[付記14]
 前記学習手段(101、204)は、前記ネットワークの状態を、前記ネットワークに流れるトラヒックを特徴付ける特徴量、ユーザ体感品質及び制御品質のうち少なくとも1つから推定する、付記13に記載のシステム。
[付記15]
 前記学習手段(101、204)が生成した学習モデルから得られる行動に基づき、前記ネットワークを制御する、制御手段(203)をさらに備える、付記11乃至14のいずれか一つに記載のシステム。
[付記16]
 コンピュータ(311)に、
 ネットワークを制御するための行動を学習する処理と、
 前記学習により生成された学習情報を記憶する処理と、
 を実行させ、
 前記学習する処理は、
 前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、プログラム。
 なお、引用した上記の先行技術文献の各開示は、本書に引用をもって繰り込むものとする。以上、本発明の実施形態を説明したが、本発明はこれらの実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、及び、本発明のスコープ及び精神から逸脱することなく様々な変形が可能であるということは、当業者に理解されるであろう。
10 端末
20、100 制御装置
30 サーバ
101 学習部
102、205 記憶部
201 パケット転送装置
202 特徴量算出部
203 ネットワーク制御部
204 強化学習実行部
311 プロセッサ
312 メモリ
313 入出力インターフェイス
314 通信インターフェイス
 

Claims (15)

  1.  ネットワークを制御するための行動を学習する、学習部と、
     前記学習部が生成した学習情報を記憶する、記憶部と、を備え、
     前記学習部は、
     前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、制御装置。
  2.  前記学習部は、
     前記行動が行われた後のネットワークが定常状態であれば、前記ネットワークに対して行われた行動に正の報酬を与え、
     前記行動が行われた後のネットワークが非定常状態であれば、前記ネットワークに対して行われた行動に負の報酬を与える、請求項1に記載の制御装置。
  3.  前記学習部は、
     前記ネットワークに対して行動を起こしたことにより変動するネットワークの状態に関する時系列データに基づいて前記ネットワークの定常性を判定する、請求項1又は2に記載の制御装置。
  4.  前記学習部は、前記ネットワークの状態を、前記ネットワークに流れるトラヒックを特徴付ける特徴量、ユーザ体感品質及び制御品質のうち少なくとも1つから推定する、請求項3に記載の制御装置。
  5.  前記学習部が生成した学習モデルから得られる行動に基づき、前記ネットワークを制御する、制御部をさらに備える、請求項1乃至4のいずれか一項に記載の制御装置。
  6.  ネットワークを制御するための行動を学習するステップと、
     前記学習により生成された学習情報を記憶するステップと、
     を含み、
     前記学習するステップは、
     前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、方法。
  7.  前記学習するステップは、
     前記行動が行われた後のネットワークが定常状態であれば、前記ネットワークに対して行われた行動に正の報酬を与え、
     前記行動が行われた後のネットワークが非定常状態であれば、前記ネットワークに対して行われた行動に負の報酬を与える、請求項6に記載の方法。
  8.  前記学習するステップは、
     前記ネットワークに対して行動を起こしたことにより変動するネットワークの状態に関する時系列データに基づいて前記ネットワークの定常性を判定する、請求項6又は7に記載の方法。
  9.  前記学習するステップは、前記ネットワークの状態を、前記ネットワークに流れるトラヒックを特徴付ける特徴量、ユーザ体感品質及び制御品質のうち少なくとも1つから推定する、請求項8に記載の方法。
  10.  前記学習するステップにより生成された学習モデルから得られる行動に基づき、前記ネットワークを制御するステップをさらに含む、請求項6乃至9のいずれか一項に記載の方法。
  11.  ネットワークを制御するための行動を学習する、学習手段と、
     前記学習手段が生成した学習情報を記憶する、記憶手段と、を含み、
     前記学習手段は、
     前記ネットワークに対して行われた行動の報酬を、前記行動が行われた後のネットワークの定常性に基づき定める、システム。 
  12.  前記学習手段は、
     前記行動が行われた後のネットワークが定常状態であれば、前記ネットワークに対して行われた行動に正の報酬を与え、
     前記行動が行われた後のネットワークが非定常状態であれば、前記ネットワークに対して行われた行動に負の報酬を与える、請求項11に記載のシステム。
  13.  前記学習手段は、
     前記ネットワークに対して行動を起こしたことにより変動するネットワークの状態に関する時系列データに基づいて前記ネットワークの定常性を判定する、請求項11又は12に記載のシステム。
  14.  前記学習手段は、前記ネットワークの状態を、前記ネットワークに流れるトラヒックを特徴付ける特徴量、ユーザ体感品質及び制御品質のうち少なくとも1つから推定する、請求項13に記載のシステム。
  15.  前記学習手段が生成した学習モデルから得られる行動に基づき、前記ネットワークを制御する、制御手段をさらに備える、請求項11乃至14のいずれか一項に記載のシステム。
     
PCT/JP2019/038454 2019-09-30 2019-09-30 制御装置、方法及びシステム WO2021064766A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/641,920 US20220337489A1 (en) 2019-09-30 2019-09-30 Control apparatus, method, and system
PCT/JP2019/038454 WO2021064766A1 (ja) 2019-09-30 2019-09-30 制御装置、方法及びシステム
JP2021550731A JP7259978B2 (ja) 2019-09-30 2019-09-30 制御装置、方法及びシステム

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=75336997

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US20220337489A1 (ja)
JP (1) JP7259978B2 (ja)
WO (1) WO2021064766A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023228256A1 (ja) * 2022-05-23 2023-11-30 日本電信電話株式会社 体感品質劣化推定装置、機械学習方法、体感品質劣化推定方法及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875478B2 (en) * 2020-08-28 2024-01-16 Nvidia Corporation Dynamic image smoothing based on network conditions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009027303A (ja) * 2007-07-18 2009-02-05 Univ Of Electro-Communications 通信装置および通信方法
JP2013106202A (ja) * 2011-11-14 2013-05-30 Fujitsu Ltd パラメータ設定装置、コンピュータプログラム及びパラメータ設定方法
JP2019041338A (ja) * 2017-08-28 2019-03-14 日本電信電話株式会社 無線通信システム、無線通信方法および集中制御局
US20190141113A1 (en) * 2017-11-03 2019-05-09 Salesforce.Com, Inc. Simultaneous optimization of multiple tcp parameters to improve download outcomes for network-based mobile applications
WO2019176997A1 (ja) * 2018-03-14 2019-09-19 日本電気株式会社 トラヒック分析装置、方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5772345B2 (ja) * 2011-07-25 2015-09-02 富士通株式会社 パラメータ設定装置、コンピュータプログラム及びパラメータ設定方法
CN109802924B (zh) * 2017-11-17 2022-05-17 华为技术有限公司 一种识别加密数据流的方法及装置
US11509703B2 (en) * 2018-09-26 2022-11-22 Vmware, Inc. System and method for widescale adaptive bitrate selection
KR101990326B1 (ko) * 2018-11-28 2019-06-18 한국인터넷진흥원 감가율 자동 조정 방식의 강화 학습 방법
US11360757B1 (en) * 2019-06-21 2022-06-14 Amazon Technologies, Inc. Request distribution and oversight for robotic devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009027303A (ja) * 2007-07-18 2009-02-05 Univ Of Electro-Communications 通信装置および通信方法
JP2013106202A (ja) * 2011-11-14 2013-05-30 Fujitsu Ltd パラメータ設定装置、コンピュータプログラム及びパラメータ設定方法
JP2019041338A (ja) * 2017-08-28 2019-03-14 日本電信電話株式会社 無線通信システム、無線通信方法および集中制御局
US20190141113A1 (en) * 2017-11-03 2019-05-09 Salesforce.Com, Inc. Simultaneous optimization of multiple tcp parameters to improve download outcomes for network-based mobile applications
WO2019176997A1 (ja) * 2018-03-14 2019-09-19 日本電気株式会社 トラヒック分析装置、方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023228256A1 (ja) * 2022-05-23 2023-11-30 日本電信電話株式会社 体感品質劣化推定装置、機械学習方法、体感品質劣化推定方法及びプログラム

Also Published As

Publication number Publication date
US20220337489A1 (en) 2022-10-20
JP7259978B2 (ja) 2023-04-18
JPWO2021064766A1 (ja) 2021-04-08

Similar Documents

Publication Publication Date Title
US11233710B2 (en) System and method for applying machine learning algorithms to compute health scores for workload scheduling
WO2021064766A1 (ja) 制御装置、方法及びシステム
Hou et al. An intelligent transaction migration scheme for RAFT-based private blockchain in Internet of Things applications
Altman et al. The evolution of transport protocols: An evolutionary game perspective
CN112667400A (zh) 边缘自治中心管控的边云资源调度方法、装置及系统
Bouzidi et al. Deep Q-Network and traffic prediction based routing optimization in software defined networks
CN113778691A (zh) 一种任务迁移决策的方法、装置及系统
CN111211984B (zh) 优化cdn网络的方法、装置及电子设备
JP7251646B2 (ja) 制御装置、方法及びシステム
JP7251647B2 (ja) 制御装置、制御方法及びシステム
Tosounidis et al. Deep Q-learning for load balancing traffic in SDN networks
Ma et al. An intelligent scheme for congestion control: When active queue management meets deep reinforcement learning
CN114024906B (zh) 优化视频传输用户体验质量的流量控制方法、装置和系统
CN113672372B (zh) 一种基于强化学习的多边缘协同负载均衡任务调度方法
Ali et al. Efficient congestion control in communications using novel weighted ensemble deep reinforcement learning
GB2603852A (en) Performing network congestion control utilizing reinforcement learning
Xu et al. PnP-DRL: A plug-and-play deep reinforcement learning approach for experience-driven networking
CN114090108A (zh) 算力任务执行方法、装置、电子设备及存储介质
WO2023048609A1 (en) Device and method for scaling microservices
Gomez et al. Federated intelligence for active queue management in inter-domain congestion
KR102531646B1 (ko) 지연된 보상에 기초하여 공조 장치를 제어하기 위한 방법
Shaio et al. A reinforcement learning approach to congestion control of high-speed multimedia networks
CN116192766A (zh) 用于调整数据发送速率和训练拥塞控制模型的方法及装置
JP2022009740A (ja) 制御システム及び制御方法
Luo et al. A novel Congestion Control algorithm based on inverse reinforcement learning with parallel training

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021550731

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

Country of ref document: EP

Kind code of ref document: A1