WO2023276382A1 - 通信装置、通信方法、および通信システム - Google Patents

通信装置、通信方法、および通信システム Download PDF

Info

Publication number
WO2023276382A1
WO2023276382A1 PCT/JP2022/015609 JP2022015609W WO2023276382A1 WO 2023276382 A1 WO2023276382 A1 WO 2023276382A1 JP 2022015609 W JP2022015609 W JP 2022015609W WO 2023276382 A1 WO2023276382 A1 WO 2023276382A1
Authority
WO
WIPO (PCT)
Prior art keywords
calculations
calculation
range
communication
information processing
Prior art date
Application number
PCT/JP2022/015609
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 EP22832543.7A priority Critical patent/EP4365773A1/en
Priority to CN202280045103.2A priority patent/CN117546175A/zh
Priority to JP2023531450A priority patent/JPWO2023276382A1/ja
Publication of WO2023276382A1 publication Critical patent/WO2023276382A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Definitions

  • the present disclosure relates to communication devices, communication methods, and communication systems.
  • This application mainly performs calculations based on a neural network (DNN: Deep Neural Network) with multiple layers, whose internal parameters are optimized by machine learning. Such calculations are more expensive than other common applications. Therefore, when the application is executed on a general-purpose wireless communication terminal such as a smart phone, there arises a problem that calculation time, power consumption, and the like increase.
  • a method in which a cloud server performs the calculation on behalf of the user is also conceivable.
  • the wireless communication terminal transmits information necessary for the calculation to the cloud server and receives the calculation result from the cloud server, resulting in a large amount of communication.
  • delays are likely to occur due to unstable communication quality. Therefore, this method may exceed the amount of delay that the application can tolerate.
  • the communication network that relays the communication between the communication terminal and the cloud server is also being considered to share part of the DNN calculations. That is, at least one of a plurality of communication nodes forming a communication network can take charge of part of a series of calculations from the input layer to the output layer of the DNN.
  • distributing the DNN computations over multiple devices can also have detrimental effects. For example, the load on the communication node responsible for calculation, the communication quality of the network, etc. are not always stable. Therefore, depending on the situation, the calculation may take longer than expected.
  • the present disclosure provides an information processing device and the like that reduces the time required to return the calculation results while distributing the calculations based on the DNN. Specifically, it is realized by dynamically changing the device in charge of the calculation, terminating the calculation in the middle, and feeding back the result of the calculation in the middle. Also, the problems presented here are only part of the problems to be solved by the present invention, and the present disclosure may be used for other problems that can be solved by the present disclosure.
  • An information processing device is an information processing device in charge of part of a series of calculations of a deep neural network, wherein a result of an intermediate calculation in the series of calculations of the deep neural network is obtained by a first If it is not determined to transmit to the first communication device, at least part of the calculations included in the first range of the series of calculations The result of the calculation is transmitted to a second communication device that is in charge of calculation of the second range following the first range, and if it is determined to be transmitted to the first communication device, the series of deep neural networks and transmitting the result of the executed calculation to the first communication device.
  • the information processing device performs at least the calculations included in the first range.
  • a part may be executed and the result of the executed calculation may be used as the result of the calculation to be transmitted to the second communication device, or the result of an intermediate calculation in a series of calculations of the deep neural network may be used as the result of the calculation. If it is determined to transmit to the first communication device, perform at least a portion of the calculations included in the first range, and transmit the results of the performed calculations to the first communication device. may be used in the above calculation for
  • the information processing device performs at least part of the calculations included in the first range, the determination is performed while the calculations included in the first range are performed, and If it is determined to transmit to the first communication device, the results of said computations performed prior to said determination may be used in said computations for transmission to said first communication device.
  • the information processing device performs at least part of the calculations included in the first range, the determination is performed while the calculations included in the first range are performed, and When it is determined to transmit to the first communication device, the result of the calculation performed prior to the determination may be used as the result of the calculation to be transmitted to the second communication device.
  • the information processing device performs at least part of the calculations included in the first range, the determination is performed while the calculations included in the first range are performed, and If it is determined to transmit to the first communication device, continue the calculations included in the first range, and use the results of the calculations in the first range as the results of the calculations to be transmitted to the second communication device.
  • the information processing device when it is determined that the information processing device transmits intermediate calculation results in the series of calculations of the deep neural network to the first communication device, the information processing device further performs may be transmitted to the second communication device.
  • the information processing device executes all of the calculations included in the first range when it is determined that intermediate calculation results in a series of calculations of the deep neural network are to be transmitted to the first communication device. If not, the results of the performed calculations may be sent to the second communication device along with information indicating where in the series of calculations the results of the performed calculations are located.
  • the information processing device sends the results of the executed calculations and the results of the executed calculations to the first communication device. to a third communication device capable of executing at least part of the series of calculations.
  • the information processing device when it is determined to transmit the results of intermediate calculations in a series of calculations of the deep neural network to the first communication device, performs the calculation up to a predetermined position included in the first range. and the results of the performed calculations may be used in said calculations for transmission to said first communication device.
  • the information processing device determines which position of the calculation included in the first range. Calculations included in the first range are performed up to the determined position, and the result of the performed calculation and information indicating the determined position are sent to the second communication device You may send.
  • the information processing device includes information on the computational spare capacity of a device that performs at least part of a series of calculations of the deep neural network, and a device that performs at least a part of the series of calculations of the deep neural network. information about the amount of traffic in the .
  • the information processing device may make the determination based on at least one of quality of communication with the first communication device and mobility information of the first communication device.
  • the information processing device may include information instructing to terminate the series of calculations halfway through, and information instructing to transmit a result of an intermediate calculation in the series of calculations to the first communication device. The determination may be made based on at least one of
  • the information processing device may acquire request information from the first communication device and make the determination based on the request information.
  • the information processing device sends the results of intermediate calculations in a series of calculations of the deep neural network to the first communication. It may be determined to transmit to the device.
  • the information processing device determines whether or not to halfway finish the calculations included in the first range in the series of calculations of the deep neural network, and determines to halfway finish the calculations included in the first range. if performed, a part of the calculations included in the first range is executed, and information indicating the result of the executed calculation and the position of the result of the executed calculation in the series of calculations; , to the device responsible for computing a second range following said first range.
  • the information processing device transmits information indicating whether or not the device in charge of calculation of the second range may terminate the calculation included in the second range in the middle, to the calculation in charge of the second range. It may be further transmitted to a device.
  • An information processing method which is another aspect of the present disclosure, is an information processing method executed by an information processing device in charge of part of a series of calculations of a deep neural network, the method comprising: a step of determining whether or not to transmit a result of an intermediate computation in a series of computations to a first communication device; transmitting the result of at least a portion of the calculations included in the first range of the first range to a second communication device in charge of calculation of the second range following the first range; If it is determined to transmit to the device, performing calculation for transmission to the first communication device using intermediate calculation results in a series of calculations of the deep neural network, and executing calculation results to the first communication device.
  • Another information processing method of the present disclosure includes a step of determining whether or not to end a calculation included in a first range in a series of calculations of a deep neural network, and performing a calculation included in the first range. If it is determined to end midway, a part of the calculations included in the first range is executed, and the result of the executed calculation and the position of the result of the executed calculation in the series of calculations and sending to a device responsible for computing a second range following said first range.
  • An information processing system that is another aspect of the present disclosure includes at least a first information processing device and a second information processing device that are in charge of part of a series of calculations of a deep neural network, and the first information
  • the processing device determines whether or not to transmit intermediate calculation results in a series of calculations of the deep neural network to the first communication device, and if it is not determined to transmit to the first communication device in the case where it is determined to transmit the results of at least part of the calculations included in the first range in the series of calculations to the second information processing device and to the first communication device; performs calculations to be transmitted to the first communication device using intermediate calculation results in a series of calculations of the deep neural network, and transmits the results of the performed calculations to the first communication device; and the second information processing device performs calculations subsequent to the calculation performed by the first information processing device in the series of calculations based on the results of the calculations performed by the first information processing device An information processing system that executes.
  • the information processing system may further include a third information processing device that determines the first range.
  • Another information processing system of the present disclosure includes at least a first information processing device that performs a first range of calculations in a series of deep neural network calculations; a second information processing device that performs calculation of a second range following the range; When it is determined that the calculations included in one range are to be terminated halfway, a part of the calculations included in the first range is executed, and the results of the executed calculations and the results of the executed calculations are combined into the series of calculations. to the second information processing device, and when the second information processing device receives the information, the second information processing device performs the first information processing of the series of calculations. A continuation of the computations performed by the device is performed based on the results of the computations performed by the first information processing device.
  • the another information processing system further includes a third information processing device that determines whether or not to terminate the calculations included in the first range, wherein the third information processing device is included in the first range. is transmitted to the first information processing apparatus, and the first information processing apparatus determines to terminate the calculations included in the first range when receiving the instruction. good.
  • FIG. 1 is a diagram showing a configuration example of an information processing system according to an embodiment of the present disclosure
  • FIG. 4 is a diagram for explaining distribution of DNN calculations
  • FIG. 5 is a diagram for explaining differences in delays and output data amounts according to splitting points
  • FIG. 2 illustrates an example architecture of an IAB network
  • Fig. 3 shows the effect of variance on DNN computations
  • FIG. 2 illustrates the effect of communication network resources on execution delay
  • FIG. 4 is a schematic sequence diagram showing the flow of overall processing of the embodiment
  • FIG. 4 is a diagram for explaining Splitting mode set for each communication route;
  • FIG. 4 is a diagram showing an example of Splitting mode for each communication route; Sequence diagrams before and after switching the computation manager. The figure which shows an example of the conditions for determining the range in charge of a communication terminal.
  • FIG. 5 is a diagram showing an example of a calculation result transmitted from a communication terminal when the communication terminal determines its own range;
  • FIG. 3 is a schematic sequence diagram showing the flow of overall processing when a communication terminal determines its own range;
  • 1 is a diagram showing a configuration example of a 5GS (5G System) network architecture including a core network;
  • FIG. 4 is a diagram showing an example of a calculation range when performing early-exiting;
  • FIG. 5GS 5G System
  • FIG. 3 is a schematic sequence diagram showing a first example of the flow of processing relating to early-exiting
  • FIG. 10 is a schematic sequence diagram showing a second example of the flow of processing relating to early-exiting
  • FIG. 11 is a schematic sequence diagram showing a third example of the flow of processing relating to early-exiting
  • Conceptual diagram for explaining multi-feedback
  • FIG. 1 is a diagram illustrating a configuration example of an information processing system according to the first embodiment of the present disclosure.
  • An information processing system 1 according to the first embodiment includes a communication terminal 11 , a cloud system (Cloud) 12 , and a communication network 13 .
  • the same numbers are assigned to individuals of the same type, and individual individuals are distinguished by alphabets.
  • alphabetical symbols will not be described.
  • the information processing system 1 is a system for operating applications using a deep neural network (DNN: Deep Neural Network) learned by machine learning (ML: Machine Learning).
  • DNN Deep Neural Network
  • ML Machine Learning
  • the communication terminal 11 is also an information processing device capable of starting ML applications, and corresponds to smartphones, laptops, and the like. For example, it is assumed that an ML application is installed in a smart phone, and the ML application is activated by the user of the smart phone. Also, the shape of the communication terminal 11 is not particularly limited. For example, it may be a wearable terminal like glasses. A robot whose motion is controlled by the ML application also corresponds to the communication terminal 11 .
  • the cloud system 12 includes one or more information processing devices called cloud servers that have higher performance than the communication terminal 11 and provides services that can be used by the communication terminal 11 .
  • the communication network 13 is composed of a plurality of communication nodes and relays communication between the communication terminals 11 and the cloud system 12 . A communication node is also called a communication base station.
  • FIG. 1 shows an example in which the communication network 13 includes a wireless communication network.
  • the example of FIG. 1 shows an example using an IAB (Integrated Access and Backhaul) network used for wireless communication of the fifth generation mobile communication system (5G), and the communication terminal 11 is shown as a wireless communication terminal.
  • the communication network 13 includes a wireless communication node 131 that can be wirelessly connected to the communication terminal 11, a donor node 132 that is an upper node of one or more wireless communication nodes 131, and wired communication between the donor node 132 and the cloud system 12. and a core network 133 that performs As shown in FIG.
  • the communication network 13 it is preferable for the communication network 13 to include a wireless communication network whose communication quality is more unstable than that for wired communication, because the effects described later are greater than in the conventional case.
  • all communication of the information processing system 1 may be wired communication, and the wireless communication network that can be included in the communication network 13 is not limited to the IAB network.
  • FIG. 2 is a diagram explaining the DNN.
  • a network surrounded by a dotted line frame 2 in FIG. 2 corresponds to the DNN.
  • the DNN is composed of a plurality of nodes 21 and links 22 connecting the nodes 21 together. Further, as shown in FIG. 2, the plurality of nodes 21 are divided into node groups arranged in a vertical line, and the node groups are called layers. Although the DNN has seven layers in the example of FIG. 2, the DNN may have three or more layers.
  • the DNN calculation is performed for each node 21.
  • image information is input to each node 21 of the first layer called the input layer, and calculations are performed in each node 21 of the first layer. These calculation results are sent to each node 21 of the second layer via the link 22, and the calculation is also performed in each node 21 of the second layer. In this way, calculations are performed from the input layer, and the final calculation results are output from the nodes of the final layer called the output layer. Then, based on the output calculation result, the object shown in the input image is determined to be a cat.
  • FIG. 2 shows an example of image recognition
  • the use of the ML application is not particularly limited.
  • AR Augmented Reality
  • VR Virtual Realty
  • MR Magnetic Realty
  • xR Augmented Reality
  • Autonomous driving, robotics, speech recognition, etc. may also be possible using DNNs, and ML applications may relate to such uses.
  • the implementation environment of the ML application is not particularly limited, and may be used in systems such as digital twins and tactile internet.
  • Smartphones which correspond to the communication terminal 11, generally have lower specs than cloud servers. Therefore, if the communication terminal 11 is caused to perform all the processing of the ML application, especially the calculation of the DNN, as it is (In device learning), the calculation time until completion will be long. In other words, a large computational delay occurs. However, due to the specifications of the ML application, it may be required to keep the time required to execute the ML application within a predetermined allowable limit. It is likely to exceed.
  • the cloud system 12 instead of the communication terminal 11 executes the DNN calculation (cloud learning)
  • the time required for communication in other words, communication delay becomes a problem.
  • the cloud server which increases the communication delay, and the sum of the communication delay and the calculation delay may exceed the allowable limit of the ML application.
  • this data transmission puts pressure on the band, which may affect other communications.
  • the information processing system 1 determines a plurality of persons in charge of calculation from among the communication terminal 11, the cloud system 12, and the communication network 13, and distributes a series of calculations based on the DNN to the plurality of persons in charge of calculation. let it be processed. Such processing is also called distributed learning.
  • computational responsibility refers to the entity responsible for at least part of the computation of the DNN.
  • FIG. 3 is a diagram explaining the distribution of DNN calculations.
  • FIGS. 3A and 3B show an example of federated learning that is not distributed learning
  • FIG. 3C shows an example of distributed learning.
  • the communication terminal 11, the cloud system 12, and the communication network 13 are each in charge of part of the DNN calculation.
  • the communication network 13 also provides computational power for the ML applications running on the communication terminal 11 . Since the cloud server of the cloud system 12 with high computing power takes charge of part of the DNN calculation, the calculation delay can be suppressed as compared with the case where only the communication terminal 11 performs the DNN calculation.
  • the transmission data from the communication terminal 11 is received and processed by the communication network 13 and then transmitted to the cloud system 12 . If the data transmitted from the communication network 13 to the cloud system 12 can be made smaller than the data transmitted from the communication terminal 11, the communication time will be shortened.
  • the sum of the calculation delay, which is the time required for each communication staff to calculate the DNN, and the communication delay, which is the time required for each communication staff to communicate the information necessary for the DNN calculation, is shown in FIG. It may be shorter than it should be.
  • the time required to execute the ML application by distributing and processing a series of calculations of the DNN, the time required to execute the ML application, more specifically, the output from the DNN after the input to the DNN is performed To keep the time-to-obtain within a given acceptable limit.
  • execution delay the time required to execute the ML application
  • one or more communication nodes in the communication network 13 are further determined to be in charge of calculation.
  • the wireless communication node 131 and the donor node 132 described above correspond to communication nodes.
  • the DNN in FIG. 2 has seven layers. It is shown that the cloud system 12 is in charge of 7 layers.
  • the communication terminal 11 transmits the calculation result in the second layer to the wireless communication node 131, and the wireless communication node 131 performs the calculation in the third layer and the fourth layer from the calculation result in the second layer.
  • the calculation results of the four layers are transmitted to the cloud system 12, and the cloud system 12 performs calculations of the fifth to seventh layers based on the calculation results of the fourth layer.
  • the cloud system 12 may return the calculation result of the seventh layer to the communication terminal 11, and the communication terminal 11 may determine that the input is an image cat based on the calculation result of the seventh layer.
  • the cloud system 12 may determine that the input is an image cat based on the calculation result of the seventh layer and return the determination result to the communication terminal 11 .
  • DNNs convolutional neural networks
  • CNNs convolutional neural networks
  • the DNN parameters may or may not be updated. That is, the DNN has already completed learning and the parameters of the DNN may not be updated.
  • a correct answer may be received from the user of the communication terminal 11 via the ML application, and learning may be performed based on the correct answer.
  • a new updated DNN shall be distributed to the calculation staff in order to prevent a situation in which different DNNs are used depending on the calculation staff.
  • the infrastructure for communication within the communication node may actually perform the calculation.
  • a server that performs calculations may be provided within the communication node.
  • An information processing device, such as a communication node, that performs part of the cloud service from a location closer to the user than the cloud service (also called an edge) is generally called an edge server.
  • the DNN calculations are not necessarily distributed to each of the communication terminal 11, the cloud system 12, and the communication network 13. Depending on the application, it is possible to complete the DNN calculation within the communication network 13 without using the cloud system 12 . In this case, since the total distance of the communication route is shortened, it is possible to further reduce the communication delay. Further, there may be a case where the communication terminal 11 does not perform DNN calculation, and the DNN calculation is distributed to the cloud system 12 and the communication network 13 . Alternatively, if a communication terminal 11 connected to the communication network 13 and having a large computational capacity is found apart from the communication terminal 11 that has executed the ML application, the The communication terminal 11 may be in charge of part of the DNN calculation. Alternatively, it may be determined in advance that at least one of the communication nodes existing between the communication route between the communication terminal 11 and the cloud system 12 is in charge of calculation.
  • cloud system 12 is not necessarily in charge of the final calculation.
  • cloud system 12 may perform computation first, and communication network 13 may take over computation of cloud system 12 .
  • FIG. 4 is a diagram explaining the difference in delay and output data amount according to the splitting point.
  • the dot-patterned bar graph in FIG. 4 indicates the amount of data output when calculation is performed from the input layer to the layer corresponding to the bar graph. According to FIG. 4, the amount of data output from each layer is not uniform, and it is preferable not to separate the DNN in a layer that outputs a large amount of data, because the communication delay does not increase.
  • the white bar graph in FIG. 4 indicates the calculation delay in the layer corresponding to the bar graph. For example, the white bar graph corresponding to the layer named "fc6" is high, so we know that the calculation of the fc6 layer is time consuming. Therefore, it can be seen that it is preferable to let a device with high computational power take charge of the calculation of the fc6 layer.
  • the delay of the ML application may increase due to changes in the status of the information processing system 1 .
  • computational delays fluctuate because the computational spare capacity of a computational person is not always constant.
  • the quality of the wireless communication link frequently fluctuates, so the communication delay tends to fluctuate.
  • the communication terminal 11 is portable, the movement of the communication terminal 11 changes the communication route and the like. There may also be variations in network topology. Such a change in circumstances can cause an application's execution delay to exceed acceptable limits, even though it was initially within acceptable limits.
  • the aforementioned IAB network aims to integrate backhaul links and access links, and not only access links but also backhaul links are wireless lines. Therefore, the status of the communication link is likely to change. Therefore, when the IAB network is included in the communication network 13 of the present embodiment, the communication delay is likely to fluctuate. Delays can get worse.
  • the distribution is dynamically changed based on the status of the information processing system 1 . More specifically, based on the situation of the candidate in charge of calculation who can be in charge of calculation and the situation of the communication link between the candidates in charge of calculation, the person in charge of calculation, the range in charge of calculation, the communication route between the candidates in charge of calculation, etc. are changed.
  • communication nodes within the network perform relay communication. This makes it possible to secure a communicable area (coverage) even in millimeter wave communication.
  • TDM Time Division Multiplexing
  • FDM Frequency Division Multiplexing
  • SDM Space Division Multiplexing
  • Efficient communication can be performed as compared with relay communication in a highly effective communication layer.
  • communication using millimeter waves is assumed, and the coverage problem in millimeter wave communication can be improved by using relay communication like the IAB network, and coverage can be expanded efficiently. be able to do it effectively.
  • Multi-hop communication is also assumed in the IAB network, and deployment to a mesh type is also assumed in the future.
  • the IAB network is not limited to millimeter wave communications.
  • it can be applied to vehicle tethering with IAB nodes installed in cars, moving cells installed in trains, and drone cells installed in drones.
  • IoT Internet of things
  • wearable devices that connects smartphones and wearable devices.
  • fields such as medicine and factory automation. The same is true when applying the IAB network to this embodiment.
  • FIG. 5 is a diagram illustrating an example architecture of an IAB network.
  • the IAB-donor corresponding to the donor node 132 is assumed to be a communication node such as gNB (Next Generation Node B).
  • gNB Next Generation Node B
  • IAB-node which corresponds to the wireless communication node 131 and is a relay node, and these nodes are wirelessly connected while configuring a plurality of multi-hops.
  • Each IAB-node connects UE (User Equipment) corresponding to the communication terminal 11 by an access link.
  • An IAB-node may connect with multiple IAB-nodes to improve the redundancy of backhaul links.
  • the IAB-node includes a function as a UE (MT) and a function as a communication node (DU). That is, it operates as MT when performing downlink (DL) reception and uplink (UL) transmission using the backhaul link, and operates as DU during DL transmission and UL reception. Since the IAB-node looks like a normal base station to the UE, even if the UE is a legacy terminal, it is possible to connect to the IAB network as shown in FIG. 5(B). It should be noted that not only the combination of MT and DU, but also the combination of MT and other MTs may be used.
  • FIG. 6 is a diagram illustrating the effect of distributed computation of a DNN.
  • the bar graph (1) shows the execution delay when the communication terminal 11 alone executes the DNN calculation.
  • the bar graph (2) shows the execution delay when the communication terminal 11 and the cloud server in the cloud system 12 execute the DNN calculation.
  • the bar graph of (3) shows the execution delay when the DNN calculation is executed by the communication terminal 11 and the MEC (Multi-access Edge computing) server, which is a kind of edge server, of the communication node in the communication network 13. indicates
  • the bar graph (4) shows the execution delay when the DNN calculation is executed by the communication terminal 11, the MEC server, and the cloud server.
  • the dot-patterned portion of the bar graph represents the calculation delay
  • the white portion represents the communication delay.
  • the communication terminal 11 uses a commercially available laptop
  • the MEC server uses a Ryzen (registered trademark) 3800X CPU (Central Processing Unit) and a memory of 32 GB (Gigabyte)
  • the cloud server is
  • the CPU is Intel (registered trademark) Core i9-9900 and the memory is 128 GB, so that the cloud server has less calculation delay than the MEC server.
  • the communication capacity between the communication terminal 11 and the MEC server is set to 100 Mbps (Mega bits per second), and the communication capacity between the MEC server and the cloud server is set to 30 Mbs.
  • the execution delay is the largest at 212ms (milliseconds).
  • communication delay increases.
  • the communication delay is suppressed because the MEC server is close to the communication terminal 11, but the computational delay increases because the MEC server has lower computing power than the cloud server. It is larger than in the case of 2).
  • the calculation delay is larger than when the cloud server executes all DNN calculations, and the communication delay is larger than when the MEC server executes all DNN calculations.
  • the computational delay is lower than when the server performs all of the DNN computations, and the communication delay is less than when the cloud server performs all of the DNN computations.
  • the execution delay is the minimum of 53 ms.
  • the execution delay can be reduced by also using the communication nodes in the communication network 13 to distribute the DNN calculations.
  • the calculation delay and the communication delay differ depending on the scope of responsibility, so the simulation results in FIG. 6 may also vary depending on the scope of responsibility.
  • the execution delay in the case of (4) above may be greater than in the cases of (1) to (3). It is possible to reduce the execution delay in the case of (1) to (3) above.
  • FIG. 7 shows a diagram of the network topology in the IAB network used for the simulation.
  • the example network of FIG. 7 consists of 10 nodes: wireless communication nodes 131A through 131F of the IAB network, donor node 132 of the IAB network, communication node 1331A of the core network 133 and 1331B and the cloud server 121.
  • the specifications of the wireless communication nodes 131A to 131F are the same as the MEC server used when showing the effect of distributed calculation of the DNN in the example of FIG.
  • the specifications of the cloud server 121 are the same as those of the cloud server used to show the effect of distributed computation of the DNN.
  • the access link and backhaul link of the IAB network shall share a communication capacity of 4 Gbps (Gigabit per second).
  • the communication link between donor node 132 and communication node 1331A is a 1 Gbps wired link
  • the communication link between communication nodes 1331A and 1331B is a 400 Mbps wired link
  • the communication link between communication node 1331B and cloud server 121 is a 400 Mbps wired link.
  • the communication link is a 100 Mbps wired link.
  • the communication terminal 11 uses the above-mentioned commercially available laptop and moves as indicated by the arrow in FIG.
  • the communication terminal 11 first connects to the nearest wireless communication node 131F, but the connected wireless communication node 131 is switched as it moves. Therefore, the communication route to the cloud server 121 is also switched. Therefore, every time the communication route is switched, the person in charge of calculation and the range in charge are determined, and the DNN is calculated.
  • FIG. 8 is a diagram showing variations in communication capacity for simulation.
  • FIG. 8A shows fluctuations in the communication capacity of the access link between the communication terminal 11 and the wireless communication node 131 in FIG.
  • FIG. 8B shows variations in communication capacity between wireless communication nodes 131 in FIG.
  • the communication capacity fluctuates from 200 Mbps to 800 Mbps over time.
  • FIG. 9 is a diagram showing the influence of resources of the communication network 13 on execution delay.
  • FIG. 9A shows the relationship between communication capacity and execution delay between the communication terminal 11 and the IAB node.
  • the bar graphs in FIG. 9A represent execution delays, and the bar graph on the left where the communication capacity of the wireless communication link is large is smaller. That is, the execution delay improves as the communication capacity of the wireless communication link increases. Conversely, when the quality of the wireless communication link deteriorates and the communication capacity decreases, the execution delay also increases at the same time. Since the quality of the wireless communication link is likely to fluctuate, when distributing the DNN computation, it is necessary to change the setting for distribution in consideration of the quality of the wireless communication link. Also, FIG.
  • FIG. 9B shows the relationship between the computational spare capacity of the IAB node in charge of computation and the execution delay.
  • the bar graph on the left side where the computational spare capacity is large, is smaller, and the delay amount can be expected to be reduced as the computational spare capacity of the IAB node increases.
  • the calculation delays in each layer of the DNN are also different, it is necessary to determine the range in charge according to fluctuations in the calculation spare capacity of the IAB node.
  • KPIs Key Performance Indicators
  • control targets control targets
  • information to be used when implementing DNN distribution are shown below.
  • the KPI is the execution delay of the ML application.
  • the execution delay of the ML application includes at least a computation delay in each computational charge and a communication delay between each computational charge.
  • the sum of each calculation delay and each communication delay is not taken into account after receiving the calculation result from the previous calculation person and before starting the calculation of the range of one's own responsibility. You can think of it as an execution delay.
  • Control targets include routing, DL or UL configuration at each communication node (DL/UL configuration), DNN splitting points, and the like.
  • the information to be used is assumed to be the processing capability of each computational candidate, the status of each wireless communication link, the required specifications of the ML application, the required specifications of the communication network 13, the movement status (mobility) of the communication terminal 11, and the like.
  • the candidates in charge of calculation are the communication terminal 11, the cloud system 12, and the communication nodes in the communication network 13, but it may be determined in advance whether the communication terminal 11 and the cloud system 12 are in charge of calculation. , in that case, it may be removed from the candidate in charge of calculation.
  • the processing capacity of each candidate in charge of calculation is assumed to be the calculation capacity, the current calculation spare capacity, etc. For example, first, among the candidates in charge of calculation belonging to the communication network 13, the candidate in charge of calculation having the highest calculation ability is appointed to be in charge of calculation. The responsibility may be changed to another candidate who has sufficient computation responsibility. In this way, the person in charge of calculation may be changed based on the available calculation capacity of the person in charge of calculation.
  • the status of the communication link may include communication capacity and communication quality.
  • the status of the backhaul link and access link is included.
  • the allowable limit of the execution delay of the ML application in other words, the upper limit of the execution delay allowed by the ML application is assumed.
  • an upper limit value that is allowed for the communication delay and the calculation delay may be set individually.
  • the upper limit of traffic on each link is assumed as the required specification for communication. Also, an upper limit of traffic on a route set between the communication terminal 11 and the cloud system 12 may be set. These upper limits may be determined based on the requirements of the ML application and the splitting point of the DNN.
  • the movement status of the communication terminal 11 may be any information related to movement such as movement speed, movement direction, and movement pattern.
  • the determination of the person in charge of calculation and the range in charge may be performed by any device belonging to the information processing system 1, and is not particularly limited. In other words, it is possible to appropriately determine the entity that determines the charge of calculation and the range of charge. Note that when devices belonging to the information processing system 1, such as the communication terminal 11, communication node, and cloud server, are not distinguished, they are described as entities, and the subject responsible for calculation and the scope of responsibility is described as a logical entity. .
  • a communication node of the communication network 13 or a server for making the determination may be implemented in the cloud system 12 and used as a logical entity.
  • a logical entity may implement a module responsible for determining
  • a device present in a position suitable for communication be a logical entity.
  • one logical entity may determine both the responsibility for calculation and the scope of responsibility, or the logical entity that determines the responsibility for calculation and the logical entity that determines the scope of responsibility may be separated.
  • the resources of the information processing system 1 include the computational spare capacity of computational candidates belonging to the information processing system 1, the communication capacity of the communication link within the communication network 13, the communication quality, and the like.
  • Fluctuations in the communication environment include, for example, fluctuations in the quality of communication links, computational capacity of communication nodes, network topology, and communication routes.
  • FIG. 10 is a schematic sequence diagram showing the flow of the overall processing of this embodiment.
  • the communication node and the cloud server are shown as a set for convenience of explanation.
  • the entity of the information processing system 1 is assumed to consist of components in charge of each process.
  • a logical entity comprises a receiver, a transmitter, and a determiner.
  • the candidate in charge of calculation such as the communication terminal 11, communication node, and cloud server, includes a receiving unit, a transmitting unit, an acquiring unit (measuring unit), a setting unit, and a calculating unit.
  • the subject of each process in FIG. 10 is assumed to be the above components.
  • the transmission unit of the logical entity transmits settings related to acquisition and transmission of information such as resources of the information processing system 1 used for determining who is in charge of calculation to each entity such as the communication terminal 11, the communication node, and the cloud server (T101, Measurement configuration).
  • the receiving unit of each entity receives the acquisition setting from the logical entity (T102), the acquiring unit of each entity acquires resource-related information based on the setting (T103), and the transmitting unit of each entity responds to the setting. to the logical entity (T104).
  • the receiving unit of the logical entity receives information on resources from each entity (T105), and the determining unit of the logical entity determines the control content of each entity in order to keep the execution delay of the ML application within the allowable limit ( T106). As will be described later, whether or not to be appointed as the person in charge of calculation is determined as the content of this control. Further, the determining unit of the logical entity determines parameter values, in other words, setting values, to be set in the communication terminal 11 and the communication node in order to implement the determined control content (T107, Parameter configuration). The determined setting value is transmitted to the communication terminal 11 and the communication node by the transmission section of the logic entity (T108).
  • the receiving unit of each entity receives the setting value from the logical entity (T109), and the setting unit of each entity sets the parameter for operating each entity to the setting value (T110).
  • T109 the setting value from the logical entity
  • T110 the setting unit of each entity sets the parameter for operating each entity to the setting value (T110).
  • the ML application is executed in the communication terminal 11 (T111).
  • the calculation unit of the communication terminal 11 performs the calculation of the calculation range in charge.
  • the transmission unit of the communication terminal 11 transmits information necessary for DNN calculation to the specified destination (T112). If the communication terminal 11 is designated to be in charge of calculation, the calculation results up to the middle of the series of calculations of the DNN are included in the information. is included in the information. Also, the designated destination is the person in charge of the following calculations.
  • the receiving unit in charge of the next calculation receives the information necessary for calculating the DNN (T113), the calculation unit in charge of the next calculation calculates its own range (T114), and the transmission unit in charge of the next calculation
  • the calculation result is further transmitted to the next person in charge of calculation (T115).
  • the processing from T113 to T115 is performed by each person in charge of calculation. An entity that is not designated to be in charge of calculation does not calculate the DNN.
  • the transmission unit in charge of the final calculation returns the calculation result to the communication terminal 11 .
  • the receiving unit of the communication terminal 11 receives the final DNN calculation result (T116), and the ML application process is executed based on the final calculation result (T117). Thus, the processing of the ML application is completed.
  • each entity acquires and transmits resources based on the acquisition settings, and each time the logical entity receives a resource, it determines whether the execution delay exceeds the allowable upper limit value. It may be determined whether or not, and if it is determined that it exceeds, the content of control may be changed. In this way, it may be prepared in case the ML application is run again. It should be noted that acquisition and transmission of resources may be stopped, and acquisition and transmission of resources may be resumed when activation of the ML application is detected.
  • the information instructed to be obtained from the logical entity may be information regarding computational power.
  • the information about the computational power includes, for example, the maximum computational capability (Capability), the computational spare capacity, the computational load (computational amount), the computational delay amount assumed from the computational load, and the like.
  • the number of GPUs (Graphical Processor Units) included in each entity may be set as the maximum computational capacity.
  • the number of currently unused GPUs may be used as the computational spare capacity.
  • the information may be information about the status of the connected communication link.
  • it may be information related to wireless communication link connection such as Radio link failure, or communication quality information of wireless communication link such as RSRP (Reference Signal Received Power), RSRQ (Reference Signal Received Quality), RSSI (Reference Signal Strength Indication). It's okay.
  • RSRP Reference Signal Received Power
  • RSRQ Reference Signal Received Quality
  • RSSI Reference Signal Strength Indication
  • the information may be information on the required specifications of the ML application. For example, there is an upper limit of delay allowed by the ML application. Note that the required specifications of the ML application may differ from one communication terminal 11 to another.
  • the information may be information related to the traffic of the communication network 13. For example, traffic limits, traffic buffer status, etc. can be raised. Note that estimates may be used instead of actual traffic measurements.
  • the information may be information related to movement (mobility) of the communication terminal 11 .
  • the communication terminal 11 may move while the ML application is running. Since movement affects communication quality, information such as movement speed and movement direction may be acquired.
  • the information may be information related to DNN calculation.
  • each entity may estimate the computational delay for each layer of the DNN.
  • a plurality of candidate areas of responsibility may be defined in advance, and the logical entity may instruct each entity to estimate the calculation delay for each candidate area of responsibility.
  • the load for example, the GPU usage rate
  • the calculation delay may be calculated based on the past calculation history, or calculated as a theoretical time when calculating the data size shown in FIG. 4 assuming that the current calculation spare capacity continues. good too.
  • the entity may actually measure the indicated information and transmit the measured value to the logical entity.
  • future estimates calculated based on actual measurements may be sent to the logic entity. For example, if the scheduled execution time of the ML application is 10 seconds later, the predicted position of the communication terminal 11 after 10 seconds may be transmitted to the logical entity.
  • the communication terminal 11 and the communication node may quantize the actual measurement value, determine which of the predetermined classification items the actual measurement value corresponds to, and store the information of the corresponding classification item as a logical entity. You may send. The estimation may be made based on past records.
  • Publicly known techniques may be used to acquire information on resources. For example, information about the performance of an entity, such as computing power and computing power, may be acquired using functions such as tools provided by an OS (operating system) installed in the entity. Also, information about the quality of the communication link, eg, communication quality such as RSRQ, may be ascertained using known techniques.
  • information about the performance of an entity such as computing power and computing power
  • functions such as tools provided by an OS (operating system) installed in the entity.
  • information about the quality of the communication link eg, communication quality such as RSRQ, may be ascertained using known techniques.
  • a communication node that acts like a representative by collecting information to be sent to the logical entity and sending it to the logical entity as a representative.
  • information such as the traffic of each link and the movement of the communication terminal 11 may be transmitted to the logical entity after summing the information from a plurality of communication nodes.
  • the timing of information acquisition may be specified.
  • a periodic measurement may be indicated.
  • the logical entity may determine the acquisition start time, acquisition end time, and acquisition period and instruct each entity, and each entity may acquire according to the instruction.
  • the number of acquisitions, the repetition waiting period, and the like may be indicated.
  • dynamic acquisition Trigger based measurement
  • Trigger conditions for each entity to start acquisition dynamically may be defined as appropriate. For example, acquisition may be initiated upon detection of a wireless communication link failure. Alternatively, the acquisition may be started when the node processing load, ML application delay, communication delay, or the like exceeds a predetermined threshold. Note that these thresholds may be adjusted by the logical entity. Alternatively, acquisition may be initiated upon receipt of a request for acquisition. The request may be transmitted from the logical entity, or may be transmitted from a higher node different from the logical entity.
  • the backhaul link in order to measure the quality of the backhaul link, it may be specified to periodically measure the RSRQ of the backhaul link in a period of 10 ms, for example, at intervals of 100 ms.
  • the transmission of this information to the logical entity can be done as appropriate, and the timing of transmission and the format of the data to be transmitted are not particularly limited.
  • the transmission may also be performed periodically.
  • it may be performed when conditions such as when the value of the RSRQ of the communication link becomes equal to or less than a predetermined threshold, or when the processing load of the node becomes equal to or greater than a predetermined threshold.
  • it may be transmitted immediately after acquisition, or may be transmitted after an offset time from acquisition has elapsed.
  • it may be sent when the acquired value satisfies the conditions. For example, if there is a change that requires a change in the person in charge of calculation, the range in charge, etc., a report may be issued, and if not, the report may not be issued.
  • each entity does not have to send all of the acquired information to the logical entity.
  • information may be acquired with fine granularity, and only information that satisfies a predetermined condition, such as information with large fluctuations or information exceeding a threshold, may be transmitted to the logical entity. That is, the logical entity may separately indicate the information to be obtained and the information to be reported. Also, the acquired information may be processed as appropriate for reporting to the logical entity.
  • the settings may be different for each entity. For example, since the communication link connected to the cloud system 12 is assumed to be wired and stable, the cloud system 12 may not need to acquire information about the communication link.
  • the determined control contents include communication links and wireless communication parameters.
  • the person in charge of calculation, the range of responsibility, etc. are determined.
  • Controls related to communication links include, for example, determination of communication routes.
  • the communication network 13 includes a relay-type network such as an IAB network
  • a relay route is determined. Even if an attempt is made to select a person in charge of calculation from among the communication nodes on the communication route between the communication terminal 11 and the cloud system 12, the selection cannot be made unless there is a communication node on the communication route that has calculation capacity. Therefore, the logical entity may determine the communication route using not only the quality of the communication link, but also the computing power, computing power, etc. of the communication node. Also, the IAB node to be passed through and the number of hops may be changed in the same manner.
  • Controlling communication parameters includes, for example, improving the quality of communication links on communication routes.
  • the logical entity may transmit a setting value that increases the intensity (transmission power) of radio waves to be transmitted to the wireless communication node 131 on the communication route.
  • the wireless communication node 131 may reduce the communication capacity of the wireless communication link that is not on the communication route so as not to cause interference. In this manner, settings may be determined that improve the quality of the communication link.
  • the correspondence relationship between the downlink (DL) and the uplink (UL) in the wireless communication link may be changed.
  • Wireless communication links can be adjusted to increase one of the DL and UL communication bands and decrease the other. Therefore, the correspondence between DL and UL may be adjusted so as to reduce communication delay.
  • the communication delay may be calculated from the size of the data to be transmitted and the communication capacity of the communication link through which the data flows. A delay due to communication quality may also be considered.
  • the computational responsibility and the responsible range are determined in consideration of the computational capacity of each wireless communication node 131, the amount of data output in each responsible range, the quality of the communication link on the communication route, and the like. At least the wireless communication node 131, which becomes a delay bottleneck, should not be in charge of calculation.
  • FIG. 11 is a diagram explaining the Splitting mode.
  • FIG. 11 shows four Splitting modes.
  • a table showing a plurality of splitting modes as shown in FIG. 11 is also referred to as a splitting mode table.
  • the responsible range of each calculation is determined.
  • the communication terminal 11, the communication node in the communication network 13, and the cloud system 12 are in charge of calculation, but a splitting mode in charge of calculation may be prepared.
  • a specific Splitting mode may be selected by default, and then switched to another Splitting mode.
  • the splitting mode in the second line in which the range of calculations other than the communication terminal 11 is small, is selected to increase the load on the communication terminal 11. It is conceivable to have them take over. In this way, when there is a load on a particular person in charge of calculation, it can be easily improved by switching to the Splitting mode in which the area in charge of the person in charge of calculation is small.
  • the consideration of whether or not to switch the splitting mode may be performed periodically or dynamically.
  • Both the splitting mode to be used normally and the temporary splitting mode to be used when it is determined that the splitting mode used normally cannot meet the requirements of the ML application may be determined. Then, the splitting mode can be quickly switched without performing the process of selecting an appropriate splitting mode when it is determined that the request of the ML application cannot be satisfied.
  • the content of the Splitting mode that is, the range of responsibility of each person in charge of calculation may be appropriately updated by the logical entity.
  • the updated splitting mode is sequentially notified to each entity so that each calculation operator does not perform calculations based on the splitting mode before updating.
  • FIG. 12 is a diagram explaining the Splitting mode set for each communication route.
  • FIG. 12 shows three communication routes Route_A, Route_B, and Route_C. A plurality of splitting modes as shown in FIG. 11 are set for each of these three communication routes.
  • the communication node of the core network 133, the donor node 132, the wireless communication node 131C, the wireless communication node 131A, and the communication terminal 11A are present on the communication route Route_A.
  • DNN layers are assigned to these calculation candidates to create a Splitting mode table.
  • candidates for calculation are selected and a Splitting mode table is created.
  • FIG. 13 is a diagram showing an example of Splitting mode for each communication route.
  • FIG. 13A shows the splitting mode table for the communication route Route_A
  • FIG. 13B shows the splitting mode table for the communication route Route_B.
  • the number of DNN layers is assumed to be 40
  • the numerical value of each cell of the Splitting mode table indicates the number of layers that the corresponding candidate in charge of calculation is in charge of. If "0" is written in a cell, it means that there is no layer for which the corresponding candidate in charge of calculation is in charge. In other words, it means that you will not be in charge of calculation.
  • the logical entity determines the range of responsibility, that is, the Splitting mode.
  • the communication terminal 11 selects the Splitting mode from the Splitting mode table of the communication route after the change, and the selected Splitting mode is changed.
  • Splitting mode can be reset by notifying each person in charge of calculation.
  • the range in charge of calculations using wired links may be fixed.
  • the cloud system 12 and the edge server of the core network 133 do not perform wireless communication, it is considered that there is little change in the state of the communication link.
  • the splitting mode of the communication route Route_A shown in FIG. 13(A) includes seven candidates in charge of calculation.
  • the logical entity may change the Splitting mode table based on the anchor point.
  • An anchor point is a communication node that always exists on a communication route set for communication terminal 11 as long as communication terminal 11 is within the assumed movement area. Although the communication route changes as the communication terminal 11 moves, the anchor point is a communication node common to all communication routes that can be set within the assumed movement area of the communication terminal 11 . For example, in the example of FIG. 12, if the communication terminal 11 wirelessly connects to any one of the wireless communication nodes 131A to 131D, the donor node 132 always exists on the communication route with the cloud system 12. FIG. Thus, in the example of Figure 12, donor node 132 is the anchor point.
  • the logical entity determines the Splitting mode from the Splitting mode table as long as the anchor point does not disappear from the communication route, and restarts the Splitting mode table itself when it detects that the anchor point has disappeared from the communication route. You can make settings.
  • the splitting mode table may be recreated when a predetermined communication node no longer exists on the communication route.
  • the logical entity may change the scope of responsibility of each calculation on a layer-by-layer basis. For example, if the load on the communication terminal 11 rises slightly after the range in charge of the communication terminal 11 is determined to be layers 1 to 4, the range in charge of the communication terminal 11 is changed to layers 1 to 3. An adjustment may be made such that the layer 4 that has become the next calculation is in charge. In this case, control is performed at a finer granularity than the Splitting mode level, and although the load on the logical entity increases, the risk of not satisfying the requirements of the ML application can be reduced.
  • the communication terminals 11 and communication nodes update the values of parameters related to communication links, areas of responsibility, etc., according to what is determined by the logic entity.
  • the parameter setting instruction may be given directly from the logical entity, or may be given indirectly via the representative wireless communication node 131 that bundles the plurality of wireless communication nodes 131 .
  • the notification method is not particularly limited, and may be signaling notification in the application layer or signaling notification in the physical layer. Semi-static notification such as RRC (Radio Resource Control) signaling, or dynamic notification such as DCI (Downlink control information) or UCI (Uplink control information) may be used.
  • sequence diagram when the calculation charge is switched is also illustrated.
  • 14A and 14B are sequence diagrams before and after the switching of the person in charge of calculation.
  • the blocks in FIG. 14 are labeled with the reference numerals of the processes shown in FIG.
  • FIG. 14 shows the case where the donor node 132 has implemented the logical entity. Also, initially, the communication terminal 11, the wireless communication node 131A, the wireless communication node 131C, and the cloud system 12 were in charge of calculation, but the quality of the backhaul link between the wireless communication node 131A and the wireless communication node 131C deteriorated. and the scope of responsibility is switched. It should be noted that the processing up to the parameter setting (T110) shown in FIG. 10 has already been executed, and the processing from T111 is shown.
  • T110 parameter setting
  • the ML application of the communication terminal 11 is executed (T111), and the communication terminal 11 transmits information necessary for DNN calculation to the next person in charge of calculation (T112).
  • the wireless communication node 131A in charge of the next calculation receives the information (T113), calculates the range in which it is in charge (T114), and transmits the calculation result to the wireless communication node 131C in charge of the next calculation ( T115).
  • the wireless communication node 131C similarly executes the processing from T113 to T115, and the calculation result of the wireless communication node 131C is transmitted to the cloud system 12 in charge of the next calculation.
  • the cloud system 12, which is in charge of the next calculation similarly executes the processing from T113 to T115, and since the cloud system 12 is in charge of the final calculation, the cloud system 12 transmits the final calculation result of DNN to the communication terminal 11. be done.
  • each entity periodically acquires resources (T103), and the wireless communication node 131A that detected the problem reports to the donor node 132, which is a logical entity (T104).
  • T104 a logical entity
  • the core network 133 and the cloud system 12 are set so as not to report to the logical entity, and the core network 133 and the cloud system 12 do not show the block T104.
  • other entities are also set not to report to the logical entity when no deterioration is detected. Therefore, since no entity other than wireless communication node 131A that detected the problem has reported, the block of T104 is not shown.
  • each entity performs measurements on the backhaul link. Then, it is assumed that the radio communication node 131A detects that the RSRQ value of the backhaul link with the radio communication node 131C has become equal to or less than a predetermined value, and transmits it to the logical entity.
  • the donor node 132 which is a logical entity, receives the report of the wireless communication node 131A, determines from the reporting result that it is not enough to increase the bandwidth of the backhaul link in question, and makes new settings such as changing the calculation charge. is determined and transmitted to each entity (T105 to T108). Note that in the example of FIG. 14 , the logical entity transmits settings only to entities that require new settings, so no arrow indicating transmission is shown in the core network 133 and the cloud system 12 . Note that the settings may be sent to entities that do not require new settings.
  • the logical entity may request additional reports from each entity. For example, when receiving a report from the wireless communication node 131A that there is a problem with the backhaul link, communication nodes around the wireless communication node 131A in order to examine whether it is possible to respond by increasing the band of the backhaul link may be requested to send reports such as traffic buffers.
  • Each entity that has received new settings from the logical entity receives the new settings and sets them as parameters (T109, T110).
  • T109, T110 the new settings and sets them as parameters.
  • the backhaul link from the wireless communication node 131A to the wireless communication node 131C disappears and the backhaul link from the wireless communication node 131A to the wireless communication node 131D is newly installed.
  • the communication route is changed, the wireless communication node 131C not on the communication route is removed from the calculation, and the wireless communication node 131D is added to the calculation.
  • the ML application is executed again (T111), and the communication terminal 11 transmits information necessary for DNN calculation to the wireless communication node 131A in charge of the next calculation (T112).
  • the wireless communication node 131A receives the information (T113) and calculates its own range (T114). It transmits to the wireless communication node 131D (T115). Accordingly, unlike the previous time, the processing from T113 to T115 is not executed in the wireless communication node 131C.
  • the wireless communication node 131D similarly executes the processing from T113 to T115, and the calculation result of the wireless communication node 131D is transmitted to the cloud system 12 in charge of the next calculation.
  • the cloud system 12, which is in charge of the next calculation similarly executes the processing from T113 to T115, and since the cloud system 12 is in charge of the final calculation, the cloud system 12 transmits the final calculation result of DNN to the communication terminal 11. be done.
  • a splitting mode that reduces the coverage of the wireless communication node 131C may be selected from the splitting mode table as shown in FIG. Further, for example, until now, the radio communication node 131A was in charge of layers 20 to 25 of the DNN, and the radio communication node 131C was in charge of layers 26 to 40 of the DNN. The coverage of the node 131A may be increased from layer 20 to layer 29 of the DNN, and the coverage of the wireless communication node 131D may be from layer 30 to layer 40 of the DNN. In this way, the radio communication node 131C may continue to be in charge of calculation.
  • the change in the responsible range may be made even when the responsible for the calculation is changed as in the example of FIG.
  • the information processing system 1 includes the communication terminal 11, the communication network 13, and the cloud system 12, but in reality, these are assumed to have different owners. Also, it is assumed that the owner of the network for accessing the communication terminal 11 such as the IAB network and the core network 133 are different. Therefore, the range that can be specified and set by the logical entity may be part of the information processing system 1 . For example, if the logical entity is a communication node within the IAB network, the logical entity may not be able to change the calculation range of the cloud system 12, and may only perform settings for the communication node within the IAB network.
  • the input to the DNN is transmitted from the communication terminal 11 to the external device.
  • the communication terminal 11 is in charge of at least the calculation from the beginning to the middle of a series of DNN calculations so as not to transmit the input data itself to the outside, such a problem can be alleviated.
  • the entity that decides the responsibility of calculation and the scope of responsibility is described as a logical entity, and it is assumed that the logical entity is handled by a communication node of the communication network 13, a cloud server, or the like.
  • a device suitable for grasping the resource status may be a logical entity so that the person in charge of calculation and the range of responsibility can be determined according to the resource status of the information processing system 1.
  • a device that issues an instruction to improve the quality of the communication link to the wireless communication node 131 on the communication route is defined as a logical entity.
  • Communication terminal 11 can also be a logical entity. In other words, the communication terminal 11 may determine the charge of calculation and the range of charge.
  • each entity such as the communication terminal 11 periodically transmits resources to the logical entity, and the logical entity is in charge of calculation and charge based on the resource of each entity.
  • the range was decided and notified to each person in charge of calculation. Therefore, when the communication terminal 11 activates the ML application or when the ML application executes the DNN calculation, the person in charge of the calculation and the range in charge have already been determined.
  • the communication terminal 11 it is also possible for the communication terminal 11 to determine its own range of responsibility by notifying the communication terminal 11 in advance of the conditions for determining the range of responsibility from a logical entity or the like. Note that the entity that transmits the conditions to the communication terminal 11 may not be a logical entity.
  • the communication terminal 11 checks items such as its own calculation capacity, communication quality with the cloud system 12, etc., and determines to which position the DNN calculation is performed according to the items. You may Note that the communication terminal 11 may decide to perform calculations up to any layer of the DNN, or may decide to perform calculations up to a part of a plurality of calculations set for nodes in a certain layer. Alternatively, the logic entity may notify the communication terminal 11 of the minimum range of calculations to be performed after determining the responsibility of each calculation, and the communication terminal 11 may expand the range of responsibility according to the matter.
  • the logic entity after determining each calculation responsibility, notifies the communication terminal 11 of the range of responsibility that may be performed (in other words, the upper limit of the range of responsibility), and the communication terminal 11 logically You may reduce the scope of responsibility notified by the entity.
  • the communication terminal 11 When the communication terminal 11 holds the conditions for determining the range of responsibility of the communication terminal 11 and dynamically determines the range of responsibility of the communication terminal 11, the communication terminal 11 activates the ML application or the ML application Responsibilities can be determined based on the resources at which DNN performs the DNN computation. Therefore, the coverage of the communication terminal 11 can be made according to the state of the communication terminal 11 . In this case, it is possible to reduce the number of periodic transmissions of resources from the communication terminal 11 to the logical entity and the number of times the logical entity notifies the communication terminal 11 of changes in the scope of responsibility, thereby reducing the processing load of each entity and the use of communication resources. can be mitigated.
  • FIG. 15 is a diagram showing an example of conditions for determining the coverage area of the communication terminal 11.
  • FIG. 15A conditions for determining the DNN calculation range based on the computational capacity of the communication terminal 11 are shown.
  • the range in charge is indicated as n. 11 is in charge.
  • n is assumed to be an integer of 10 or more.
  • the n-th layer may be the final layer of the DNN, or the final layer of the range notified by the logical entity.
  • the assigned range is reduced as the computational spare capacity is reduced.
  • FIG. 15 conditions for determining the DNN calculation range based on the computational capacity of the communication terminal 11 are shown.
  • n is assumed to be an integer of 10 or more.
  • the n-th layer may be the final layer of the DNN, or the final layer of the range notified by the logical entity.
  • the range in charge when the computational capacity is less than 90% and 80% or more, the range in charge is shown to be up to the 4n/5th layer, which is lower than when the computational capacity is 90% or more. ing.
  • the computational spare capacity is less than 80% and 60% or more, the range in charge is up to the 3n/5 layer, and if the computational spare capacity is less than 60% and 40% or more, the range in charge is the 3rd layer. Up to 2n/5 layers are shown, and when the computational capacity is less than 40% and 20% or more, the range in charge is shown up to the n/5th layer. In this way, the coverage area of the communication terminal 11 may be determined.
  • the computational capacity when the computational capacity is other than that, that is, when it is less than 20%, the coverage range is up to the first layer, which means that the communication terminal 11 does not perform DNN computation. In other words, even if the communication terminal 11 is designated to be in charge of calculation, the communication terminal 11 may refuse to perform the calculation. By reducing the range in charge when the calculation capacity of the communication terminal 11 is small in this way, it is possible to prevent a situation in which the calculation of the range in charge takes time due to the small calculation capacity of the communication terminal 11 .
  • FLOPS the product of the clock frequency and the number of operations per clock
  • the responsible range is determined similarly to FIG. 15(A), but the conditions are based on delay time, which is a type of communication quality.
  • delay time which is a type of communication quality.
  • the delay time with any communication destination may be determined in advance, and is not particularly limited. It may be in charge of the next calculation, a logical entity, or a wireless communication node to which the communication terminal 11 is wirelessly connected.
  • the main cause of the delay time is the wireless processing performed by each entity, the time associated with the wireless processing may be regarded as the delay time without considering the propagation delay in wireless (radio waves) and wired.
  • the communication terminal 11 when the delay time is 500 ms or more, the communication terminal 11 is in charge of calculations from the first layer to the n-th layer of the DNN.
  • the responsible range When the delay time is less than 500 ms and 250 ms or more, the responsible range is up to the 4n/5 layer, and when the delay time is less than 250 ms and 100 ms or more, the responsible range is up to the 3 n/5 layer.
  • the delay time is less than 100 ms and 50 ms or more, the responsible range is up to the 3n/5th layer, and when the delay time is less than 50 ms and 10 ms or more, the responsible range is the 2nth layer. /5 layers, and the communication terminal 11 does not calculate the DNN if the delay time is other than that, that is, if it is less than 10 ms.
  • the combination of the delay time and the assigned range may be determined by referring to the data shown in FIG. 4 and considering the data size of the calculation result in each layer.
  • conditions may be appropriately set according to the specifications of the embodiment, and are not particularly limited.
  • conditions can be changed for each type of ML application.
  • it may be changed when a plurality of conditions are provided and all of them are satisfied, or may be changed according to the condition with the highest predetermined priority among the satisfied conditions.
  • the degree of confidentiality is determined in advance for each type of ML application, and when the degree of confidentiality of the executed ML application is equal to or greater than a predetermined threshold value, the coverage of the communication terminal 11 is set from the first layer to the second layer or higher. can be By doing so, the communication terminal 11 does not transmit DNN input data to the outside. As a result, the risk of leakage of information with a high degree of confidentiality to other than the communication terminal 11 can be reduced.
  • the communication terminal 11 when the communication terminal 11 has determined its own range, the next person in charge of calculation cannot recognize from which layer of the DNN the calculation should be started. Therefore, for example, although the logical entity has notified each person in charge of calculation of the range of responsibility, if the communication terminal 11 changes the range of responsibility notified from the logical entity, the communication terminal 11 will change the range of responsibility of the next person in charge of calculation. There is also a risk of inputting the calculation results from the communication terminal 11 to each node of the first layer of the planned area of responsibility without knowing the change. Therefore, when the communication terminal 11 decides or changes its assigned range, the communication terminal 11 needs to notify not only the calculation result but also information for recognizing the position where the next person in charge of calculation starts the calculation. .
  • the information may be, for example, information indicating the last layer in the range in charge of the communication terminal 11, information indicating the first layer in the range in charge of the next calculation, or information indicating the node that outputs the calculation result. Alternatively, it may be information indicating the node to which the calculation result should be input.
  • the communication terminal 11 may transmit the information directly to the next person in charge of calculation, or may transmit the information to the next person in charge of calculation via a logical entity.
  • FIG. 16 is a diagram showing an example of a calculation result transmitted from the communication terminal 11 when the communication terminal 11 has determined its own area of responsibility.
  • the output value of each node, which is the calculation result, and the identification information for identifying the node that output the output value are included.
  • the identification information (identifier) of the node is described as "node 3_4", but the number at the end indicates the number of the layer containing the node, which is behind "node”. A number indicates the node number in the layer. That is, "node 3_4" indicates the third node included in the fourth layer.
  • output 3 described in the same line as “node 3_4" indicates the output value by the third node included in the fourth layer. To which node the output of each node is input can be recognized from the structure of the DNN or the like. After receiving the information shown in FIG. 16, the next person in charge of calculation should recognize the node to which the received output value should be input from the structure of the DNN, etc., and start the calculation.
  • the person in charge of calculation performs the calculation set for each node in the area in charge and sends the output value of the node belonging to the last layer in the area in charge to the next person in charge of calculation.
  • a node of a DNN is set up with multiple computations. Therefore, the person in charge of calculation may perform up to a part of the plurality of calculations set in the node, and the rest may be performed by the next person in charge of calculation.
  • each input data input to the node is multiplied by a weighting factor set to the link through which each input data passed, and then added. Furthermore, the bias value set for each node is added to the added value.
  • the added value is input to a predetermined activation function, and the output from the activation function becomes the output value of the node. Therefore, for example, it may be determined in advance that a person in charge of calculation performs up to the calculation of the added value, and the next person in charge of calculation starts with the calculation of the activation function, and the calculations may be shared in such a manner.
  • a link connected to a node is also called an edge.
  • FIG. 17 is a schematic sequence diagram showing the flow of overall processing when the communication terminal 11 determines its own range of responsibility.
  • the cloud system 12 manages the structure of the DNN used by the ML application, the conditions for determining the range in charge of a series of calculations of the DNN, and the like.
  • the communication terminal 11 and the cloud system 12 are in charge of the DNN calculation, but the communication terminal 11 and the communication node may be in charge of the calculation.
  • the functionality of the core network 133 can be implemented within the cloud system 12 . That is, the core network 133 can also manage the above conditions.
  • the cloud system 12 transmits information such as the DNN used by the ML application, the settings of the DNN, and the conditions for determining the scope of responsibility (T201).
  • the information is transferred via the communication node of the communication network 13, the communication terminal 11 receives the information (T202), and sets the ML application such as DNN to be used based on the information. (T203).
  • the communication node is a connection request of the communication terminal 11, for example, a service request (Service Request) or a PDU (Protocol Data Unit) session establishment request (PDU Session Establishment Request), 5QI (5G QoS Identifier) or S-NSSAI (Single-Network Slice Selection Assistance Information), etc.
  • a service request Service Request
  • PDU Session Establishment Request PDU Session Establishment Request
  • 5QI 5G QoS Identifier
  • S-NSSAI Single-Network Slice Selection Assistance Information
  • the communication terminal 11 decides to execute the ML application (T204).
  • the communication terminal 11 confirms the processing capacity of the communication terminal 11 itself (T205), and determines the range in charge of the communication terminal 11 based on the conditions and processing capacity for determining the range in charge of the DNN calculation (T205).
  • T206 For example, if the condition for determining the DNN's assigned range is the example shown in FIG. %, the communication terminal 11 determines the fourth layer as the layer for dividing the DNN.
  • the communication terminal 11 executes the ML application and calculates the coverage of the communication terminal 11 (T207). In the previous example, calculations are performed for the first to fourth layers of the DNN.
  • the scope of responsibility may be expanded again after the scope of responsibility is calculated. For example, it may be checked whether or not a predetermined condition is satisfied after the calculation of the range in charge is completed, and based on the confirmation result, it may be determined whether or not to continue the calculation in the next layer.
  • whether or not a predetermined condition is satisfied may be determined based on computational capacity, delay time, degree of confidentiality, and the like. In this way, the range of responsibility may be determined multiple times.
  • the communication terminal 11 After calculating the coverage area of the communication terminal 11, the communication terminal 11 transmits information showing the coverage area of the communication terminal 11 and the calculation result as shown in FIG. 16 to the cloud system 12 via the communication node (T208). .
  • the cloud system 12 receives the information via the communication node (T209).
  • the cloud system 12 Based on the received identification information of each node, the cloud system 12 identifies the node to which the received output value is input, that is, each node in the layer next to the last layer in the range handled by the communication terminal 11. Calculate the range of responsibility of the system 12 (T210). After completing the calculation, the cloud system 12 returns the calculation result of the range in charge of the cloud system 12 to the communication terminal 11 (T211). It should be noted that the cloud system 12 is assumed to cover all the remaining calculations of the DNN, but it does not have to cover all the remaining DNN calculations. For example, the communication terminal 11 may receive the calculation result of the cloud system 12 and further calculate the remaining DNN.
  • the communication terminal 11 receives the calculation result of the cloud system 12 via the communication node (T212). Then, the ML application process is executed based on the final calculation result (T213). Thus, the processing of the ML application is completed.
  • An entity other than the communication terminal 11, such as the cloud system 12, may calculate up to the processing result of the ML application.
  • the communication terminal when distributed learning of the DNN is performed among the entities, the communication terminal holds the conditions for determining the range in charge of the DNN, and determines the range in charge of the communication terminal. can be distributed more appropriately according to the situation.
  • the communication terminal by causing the communication terminal to perform DNN calculation up to at least the second layer according to the degree of secrecy of the ML application, it is possible to prevent the occurrence of a situation such as leakage of input data.
  • CNN convolutional neural networks
  • RNN recurrent neural networks
  • LSTM Long Short-Term Memory
  • hidden layers are composed of layers called convolution layers and pooling layers.
  • filtering is performed by a convolution operation to extract data called a feature map.
  • the pooling layer compresses the information of the feature map output from the convolutional layer and performs downsampling.
  • the RNN has a network structure in which hidden layer values are recursively input to the hidden layer, and for example, short-term time series data are processed.
  • LSTM processes time-series data of a longer period than RNN.
  • image recognition is used for applications such as tagging people in SNS (Social Network Service) and automatic driving. Speech recognition is applied to smart speakers and the like.
  • Natural language processing is applied to search by browser and automatic translation. Anomaly detection by robots is used in airports, railways, manufacturing sites, and the like.
  • a communication node is called a communication base station (also simply called a base station) and includes an infrastructure for communication, and the infrastructure is also called a base station device.
  • a base station device is a type of communication device, and can also be said to be an information processing device.
  • the base station device may be a device that causes a communication node to function as a wireless base station (Base Station, Node B, eNB, gNB, etc.), wireless access point (Access Point), or the like.
  • the base station device may be a device that causes a communication node to function as a donor station or relay station.
  • the base station device may be an optical extension device called RRH (Remote Radio Head).
  • the base station device may be a device that causes the communication node to function as a receiving station such as an FPU (Field Pickup Unit).
  • the base station device serves as an IAB (Integrated Access and Backhaul) donor node or IAB relay node that provides radio access lines and radio backhaul lines by time division multiplexing, frequency division multiplexing, or space division multiplexing. It may be a device that functions.
  • the base station apparatus may be composed of a plurality of apparatuses, and may be, for example, a combination of an antenna installed in a structure such as a building and a signal processing apparatus connected to the antenna.
  • the radio access technology used by the base station apparatus may be cellular communication technology or wireless LAN technology.
  • the radio access technologies used by the base station apparatus are not limited to these, and other radio access technologies may be used.
  • the radio access technology used by the base station apparatus may be LPWA (Low Power Wide Area) communication technology.
  • wireless communication used by the base station apparatus may be wireless communication using millimeter waves.
  • the wireless communication used by the base station apparatus may be wireless communication using radio waves, or may be wireless communication using infrared rays or visible light (optical wireless).
  • the base station device may be capable of NOMA (Non-Orthogonal Multiple Access) communication with the communication terminal 11 .
  • NOMA communication refers to communication (transmission, reception, or both) using non-orthogonal resources.
  • the base station apparatus may be capable of NOMA communication with other base station apparatuses.
  • the base station devices may be able to communicate with each other via a base station-core network interface (eg, S1 Interface, etc.). This interface can be wired or wireless. Also, the base station devices may be able to communicate with each other via inter-base station interfaces (eg, X2 Interface, S1 Interface, etc.). This interface can be wired or wireless.
  • a base station-core network interface eg, S1 Interface, etc.
  • This interface can be wired or wireless.
  • inter-base station interfaces eg, X2 Interface, S1 Interface, etc.
  • the base station devices may be able to communicate with each other via a base station-core network interface (eg, NG Interface, S1 Interface, etc.). This interface can be wired or wireless. Also, the base station devices may be able to communicate with each other via inter-base station interfaces (eg, Xn Interface, X2 Interface, etc.). This interface can be wired or wireless.
  • a base station-core network interface eg, NG Interface, S1 Interface, etc.
  • This interface can be wired or wireless.
  • inter-base station interfaces eg, Xn Interface, X2 Interface, etc.
  • base station may also mean a structure with the functions of a base station.
  • the structure is not particularly limited.
  • buildings such as skyscrapers, houses, steel towers, station facilities, airport facilities, harbor facilities, office buildings, school buildings, hospitals, factories, commercial facilities, and stadiums are included in the structures.
  • non-building structures such as tunnels, bridges, dams, fences, steel poles, etc., and facilities such as cranes, gates, windmills, etc. are also included in the relevant structures.
  • the place where the structure is installed is not particularly limited. In other words, not only on land (in a narrow sense, above ground) or underground structures, but also on water structures such as piers and mega floats, and underwater structures such as ocean observation equipment, are structures with base station functions. can be.
  • the base station may be a fixed station or a mobile station, as described above.
  • a base station may become a mobile station by installing a base station apparatus in a mobile object.
  • the base station apparatus may have mobility, and the base station apparatus itself may become a mobile station by moving.
  • vehicles, UAVs (Unmanned Aerial Vehicles) represented by drones, which originally have the ability to move, are equipped with the functions of a base station (at least part of the functions of a base station), and mobile stations are also mobile. It can also be said that it is a base station device as a station.
  • Devices such as smartphones that move by being carried by a mobile object and that have the functions of a base station (at least part of the functions of a base station) are also referred to as mobile stations and base station equipment of mobile stations. It can also be said.
  • a mobile object that constitutes a mobile station may be a mobile object that moves on land (ground in a narrow sense) (for example, vehicles such as automobiles, bicycles, buses, trucks, motorcycles, trains, linear motor cars, etc.). However, it may be a mobile body (e.g., subway) that moves underground (e.g., in a tunnel), or a mobile body that moves on water (e.g., a passenger ship, a cargo ship, a ship such as a hovercraft).
  • a mobile body e.g., subway
  • water e.g., a passenger ship, a cargo ship, a ship such as a hovercraft
  • It may be a mobile body that moves underwater (for example, a submarine, a submarine, an unmanned underwater vehicle, etc.), or a mobile body that moves in the air (for example, an airplane, an airship, a drone, etc.) aircraft, etc.), or in other words, a moving body capable of floating in outer space (for example, an artificial celestial body such as an artificial satellite, a spacecraft, a space station, or a probe).
  • a base station floating outside the atmosphere is also called a satellite station.
  • a base station located closer to the earth than outside the atmosphere is also called a ground station.
  • a base station floating in the atmosphere, such as an aircraft is also called an aircraft station.
  • the satellites that will become satellite stations are Low Earth Orbiting (LEO) satellites, Medium Earth Orbiting (MEO) satellites, Geostationary Earth Orbiting (GEO) satellites, and Highly Elliptical Orbiting (HEO) satellites. ) satellite.
  • LEO Low Earth Orbit
  • MEO Medium Earth Orbit
  • GEO Geostationary Earth Orbit
  • HEO Highly Elliptical Orbit
  • unmanned aircraft control systems include unmanned aerial systems (UAS: Unmanned Aircraft Systems), tethered UAS, LTA (Lighter than Air UAS), HTA (Heavier than Air UAS), HAPs (High Altitude UAS Platforms).
  • UAS Unmanned Aircraft Systems
  • LTA Lighter than Air UAS
  • HTA Heavier than Air UAS
  • HAPs High Altitude UAS Platforms
  • these control systems may control the flight of aircraft stations.
  • the size of the coverage of the base station device is not particularly limited, and may be as large as a macro cell, as small as a pico cell, or as extremely small as a femto cell.
  • the base station apparatus may have beamforming capability. In this case, the base station apparatus may form a cell or service area for each beam. Therefore, the base station apparatus may be equipped with an antenna array composed of a plurality of antenna elements and configured to provide advanced antenna technology represented by MIMO (Multiple Input Multiple Output) and beamforming. .
  • MIMO Multiple Input Multiple Output
  • FIG. 18 is a diagram showing a configuration example of a base station device.
  • the base station device 50 shown in FIG. 18 is assumed to perform wireless communication, and includes a wireless communication unit 51, a storage unit 52, a control unit 53, a calculation unit 54, a network communication unit 55, an antenna 56; Note that the configuration shown in FIG. 18 is a functional configuration and may differ from the hardware configuration. Also, the components in FIG. 18 may be further distributed or aggregated with other components. 18 may exist independently as a device separate from base station device 50, and the functions of base station device 50 may be implemented by a plurality of devices.
  • the wireless communication unit 51 performs signal processing for wireless communication with another wireless communication device (for example, the communication terminal 11).
  • the wireless communication section 51 operates under the control of the control section 53 .
  • the radio communication unit 51 supports one or more radio access schemes.
  • the wireless communication unit 51 supports both NR (New Radio) and LTE (Long Term Evolution).
  • the wireless communication unit 51 may support W-CDMA (Wideband Code Division Multiple Access) and CDMA2000 (Code Division Multiple Access 2000) in addition to NR and LTE.
  • the wireless communication unit 51 may support automatic retransmission technology such as HARQ (Hybrid Automatic Repeat reQuest).
  • HARQ Hybrid Automatic Repeat reQuest
  • the wireless communication unit 51 includes a transmission processing unit 510 and a reception processing unit 515.
  • the wireless communication unit 51 may include multiple transmission processing units 510 and multiple reception processing units 515 .
  • each component of the wireless communication unit 51 can be individually configured for each wireless access method.
  • the transmission processing unit 510 and the reception processing unit 515 may be individually configured for LTE and NR.
  • the antenna 56 may be one or more, and may be composed of a plurality of antenna elements (for example, a plurality of patch antennas).
  • the wireless communication unit 51 may be configured to enable beamforming.
  • the wireless communication unit 51 may be configured to enable polarization beamforming using vertical polarization (V polarization) and horizontal polarization (H polarization).
  • the transmission processing unit 510 performs transmission processing of downlink control information and downlink data.
  • the encoding unit 511 of the transmission processing unit 510 encodes the downlink control information and downlink data input from the control unit 53 using an encoding method such as block encoding, convolutional encoding, and turbo encoding. make a change.
  • the encoding may be encoding by polar code or encoding by LDPC code (Low Density Parity Check Code).
  • the modulation unit 512 of the transmission processing unit 510 modulates the encoded bits with a predetermined modulation method such as BPSK (Binary Phase Shift Keying), QPSK (Quadrature Phase shift Keying), 16QAM (Quadrature Amplitude Modulation), 64QAM, 256QAM, etc. do.
  • BPSK Binary Phase Shift Keying
  • QPSK Quadrature Phase shift Keying
  • 16QAM Quadrature Amplitude Modulation
  • 64QAM Quadrature Amplitude Modulation
  • 64QAM 64QAM
  • 256QAM 256QAM
  • the signal points on the constellation of the modulation scheme do not necessarily have to be equidistant.
  • the constellation may be a non-uniform constellation (NUC).
  • the multiplexing unit 513 of the transmission processing unit 510 multiplexes the modulation symbols of each channel used for transmission and the downlink reference signal, and arranges them in predetermined resource elements.
  • the transmission processing unit 510 performs various signal processing on the multiplexed signal.
  • the radio transmission unit 514 of the transmission processing unit 510 performs conversion to the frequency domain by fast Fourier transform, addition of a guard interval (cyclic prefix), generation of a baseband digital signal, conversion to an analog signal, quadrature modulation, Perform processing such as up-conversion, removal of unnecessary frequency components, and power amplification.
  • a signal generated by the radio transmission unit 514 is transmitted from the antenna 56 .
  • the reception processing unit 515 processes uplink signals received via the antenna 56 .
  • the radio reception unit 516 of the reception processing unit 515 performs down-conversion, removal of unnecessary frequency components, control of amplification level, quadrature demodulation, conversion to digital signals, guard interval (cyclic prefix ), and extraction of frequency domain signals by fast Fourier transform.
  • the demultiplexing unit 517 of the reception processing unit 515 extracts uplink channels such as PUSCH (Physical Uplink Shared Channel), PUCCH (Physical Uplink Control Channel) and uplink reference from the signal processed by the radio reception unit 516. Separate the signals.
  • PUSCH Physical Uplink Shared Channel
  • PUCCH Physical Uplink Control Channel
  • the demodulation unit 518 of the reception processing unit 515 demodulates the received signal using a modulation scheme such as BPSK or QPSK for the modulation symbols of the uplink channel.
  • the modulation scheme used for demodulation may be 16QAM, 64QAM, or 256QAM.
  • the signal points on the constellation do not necessarily have to be equidistant.
  • the constellation may be a non-uniform constellation (NUC).
  • the decoding unit 519 of the reception processing unit 515 performs decoding processing on the coded bits of the demodulated uplink channel.
  • the decoded uplink data and uplink control information are output to the control section 53 .
  • the antenna 56 mutually converts electric current and radio waves.
  • the antenna 56 may be composed of one antenna element (for example, one patch antenna), or may be composed of a plurality of antenna elements (for example, a plurality of patch antennas). If the antenna 56 is composed of a plurality of antenna elements, the wireless communication section 51 may be configured to enable beamforming. For example, the wireless communication unit 51 may be configured to generate directional beams by controlling the directivity of wireless signals using a plurality of antenna elements.
  • the antenna 56 may be a dual polarized antenna. When the antenna 56 is a dual polarized antenna, the wireless communication unit 51 may use vertical polarized waves (V polarized waves) and horizontal polarized waves (H polarized waves) for transmitting wireless signals. Then, the wireless communication unit 51 may control the directivity of the wireless signal transmitted using the vertically polarized wave and the horizontally polarized wave.
  • the storage unit 52 serves as storage means for the base station device 50 and stores information necessary for processing of the base station device 50, processing results, and the like. For example, various programs for performing processing of the base station device 50 may be stored.
  • the control unit 53 controls each unit of the base station device 50 .
  • the control unit 53 externally acquires, via the wireless communication unit 51 or the network communication unit 55, information related to the DNN used by the logical entity, conditions for determining the range in charge of a series of DNN calculations, and the like. control necessary to
  • the calculation unit 54 performs calculations necessary for the processing of the base station device 50 according to instructions from the control unit 53 . For example, part of the processing performed by the transmission processing unit 510 and the reception processing unit 515, such as high-load calculations, may be performed by the calculation unit 54. Further, for example, when the base station apparatus is in charge of calculation, the calculating section 54 may calculate the coverage area of the base station apparatus. Further, for example, when the base station apparatus 50 is a logical entity, the operation unit 54 may perform processing executed by the logical entity, for example, determination of a person in charge of calculation based on resources, determination of a range of responsibility, and the like.
  • the network communication unit 55 performs signal processing for wired communication with another communication device (for example, the cloud system 12).
  • the network communication unit 55 is connected to AMF (Access and Mobility Management Function) and UPF (User Plane Function) of the core network to exchange information and signaling.
  • AMF Access and Mobility Management Function
  • UPF User Plane Function
  • the base station device may consist of multiple physical or logical devices.
  • the base station device may be classified into a plurality of devices such as BBU (Baseband Unit) and RU (Radio Unit).
  • BBU Baseband Unit
  • RU Radio Unit
  • a base station device may be interpreted as a collection of these devices, in other words, a base station system.
  • the base station apparatus may be either one of the BBU and the RU, or both.
  • the BBU and RU may be connected by a predetermined interface such as eCPRI (enhanced Common Public Radio Interface).
  • RU may also be called RRU (Remote Radio Unit) or RD (Radio DoT).
  • the RU may correspond to gNB-DU (gNB Distributed Unit), which will be described later.
  • the BBU may correspond to gNB-CU (gNB Central Unit), which will be described later.
  • the RU may be a unit integrally formed with the antenna.
  • the antennas of the base station apparatus eg, antennas formed integrally with the RU
  • the antennas of the base station may have, for example, 64 transmitting antenna ports and 64 receiving antenna ports.
  • one or more antennas may be attached to the RU, and the antenna may be an antenna panel composed of one or more antenna elements.
  • the RU is an antenna panel that includes two types of horizontally polarized antenna panel and vertically polarized antenna panel, or an antenna panel that includes two types of right-handed circularly polarized antenna panel and left-handed circularly polarized antenna panel.
  • a panel may be mounted.
  • the RU may also form and control independent beams for each antenna panel.
  • a base station of a radio access network is sometimes called a RAN node, and a base station of an AN (Access Network) is sometimes called an AN node.
  • RAN radio access network
  • AN Access Network
  • the RAN in LTE is sometimes called E-UTRAN (Enhanced Universal Terrestrial RAN).
  • E-UTRAN Enhanced Universal Terrestrial RAN
  • NG-RAN NG-RAN
  • W-CDMA W-CDMA
  • the LTE base station is also called eNodeB (Evolved Node B) or eNB, and at this time, E-UTRAN can be said to include one or more eNodeBs (eNB).
  • eNB evolved NodeB
  • NR base stations are also referred to as gNodeBs or gNBs, when the NG-RAN is said to include one or more gNBs.
  • the E-UTRAN may include gNBs (en-gNBs) connected to a core network (EPC) in the LTE communication system (EPS).
  • EPC LTE communication system
  • the NG-RAN may include ng-eNBs connected to a core network 5GC in a 5G communication system (5GS).
  • 5GS 5G communication system
  • the base station is sometimes called 3GPP Access.
  • the base station when the base station is a wireless access point (Access Point), the base station may be referred to as a non-3GPP access (Non-3GPP Access).
  • the base station when the base station is a gNB, the base station may be a combination of the above-described gNB-CU and gNB-DU, or either gNB-CU or gNB-DU. may
  • the gNB-CU hosts multiple higher layers (eg, RRC, SDAP, PDCP) of the access stratum for communication with the UE.
  • the gNB-DU hosts multiple lower layers (eg, RLC, MAC, PHY) of the access stratum. That is, among messages or information such as RRC signaling, MAC Control Element (MAC Control Element), and DCI, RRC signaling (semi-static notification) is generated by gNB-CU, while MAC CE and DCI (dynamic notification) may be generated with gNB-DU.
  • some configurations such as IE: cellGroupConfig are generated by gNB-DU, and the remaining configurations are generated by gNB-CU good too. These configurations may be sent and received on the F1 interface described below.
  • the base station may be configured to be able to communicate with other base stations.
  • the base stations may be connected via an X2 interface.
  • the devices may be connected via an Xn interface.
  • the devices may be connected by the F1 interface described above. Messages or information such as RRC signaling, MAC CE, DCI may be transmitted between multiple base stations, for example via the X2 interface, the Xn interface, or the F1 interface.
  • a cell provided by a base station is sometimes called a serving cell.
  • the concept of serving cell includes PCell (Primary Cell) and SCell (Secondary Cell).
  • PCell Primary Cell
  • SCell Secondary Cell
  • dual connectivity When dual connectivity is configured in the UE, the PCell provided by the MN (Master Node) and zero or more SCells may be called a Master Cell Group.
  • dual connectivity include E-UTRA-E-UTRA Dual Connectivity, E-UTRA-NR Dual Connectivity (ENDC), E-UTRA-NR Dual Connectivity with 5GC, NR-E-UTRA Dual Connectivity (NEDC), NR- NR Dual Connectivity can be mentioned.
  • the serving cell may include a PSCell (Primary Secondary Cell or Primary SCG Cell).
  • PSCell Primary Secondary Cell or Primary SCG Cell
  • a PSCell provided by an SN (Secondary Node) and zero or more SCells may be called an SCG (Secondary Cell Group).
  • PUCCH Physical Uplink control channel
  • SCell Secondary Cell Group
  • a radio link failure Radio Link Failure
  • SCell SCell
  • One cell may be associated with one downlink component carrier and one uplink component carrier.
  • the system bandwidth corresponding to one cell may be divided into a plurality of BWPs (Bandwidth Parts).
  • one or more BWPs may be set in the UE, and one BWP may be used by the UE as an active BWP.
  • the radio resources for example, frequency band, numerology (subcarrier spacing), slot format (Slot configuration)
  • the radio resources for example, frequency band, numerology (subcarrier spacing), slot format (Slot configuration) that can be used by the UE may differ for each cell, each component carrier, or each BWP.
  • the communication terminal 11 may move by being installed in a mobile object, or may be the mobile object itself.
  • the communication terminal 11 is a vehicle that moves on roads such as automobiles, buses, trucks, and motorcycles, a vehicle that moves on rails installed on a track such as a train, or a vehicle mounted on the vehicle. It may be a wireless communication device.
  • the mobile object may be a mobile terminal, or a mobile object that moves on land (ground in a narrow sense), underground, on water, or in water. Further, the mobile object may be a mobile object such as a drone, a helicopter, or the like that moves in the atmosphere, or a mobile object that moves outside the atmosphere, such as an artificial satellite.
  • the communication terminal 11 can be used for any main purpose as long as it is a device that has an information processing function and a communication function and is capable of executing the processing of the present disclosure.
  • it may be a device such as a business camera equipped with an information processing function and a communication function, or a communication device such as an FPU (Field Pickup Unit).
  • the communication terminal 11 may be an M2M (Machine to Machine) device or an IoT (Internet of Things) device.
  • the communication terminal 11 may be capable of NOMA communication with the base station. Also, the communication terminal 11 may be able to use an automatic retransmission technique such as HARQ when communicating with a base station. The communication terminal 11 may be capable of sidelink communication with another communication terminal 11 . The communication terminal 11 may be able to use an automatic retransmission technique such as HARQ even when performing sidelink communication. The communication terminal 11 may be capable of NOMA communication also in communication (side link) with another communication terminal 11 . Also, the communication terminal 11 may be capable of LPWA communication with other communication devices (eg, base station, other communication terminal 11). Also, the wireless communication used by the communication terminal 11 may be wireless communication using millimeter waves. Wireless communication (including sidelink communication) used by the communication terminal 11 may be wireless communication using radio waves, or wireless communication using infrared rays or visible light (optical wireless). .
  • the communication terminal 11 may be a communication device installed on a mobile object, or a communication device with mobility.
  • the mobile body on which the communication terminal 11 is installed may be a vehicle such as an automobile, a bus, a truck, or a motorcycle that moves on a road, or a vehicle such as a train that moves on a rail installed on a track. good too.
  • the place where the moving body moves is not particularly limited. Therefore, the mobile body may be a mobile body that moves on land (narrowly defined ground), underground, water, or water. Further, the mobile body may be a mobile body such as a drone, a helicopter, or the like that moves in the atmosphere, or a mobile body that moves outside the atmosphere, such as an artificial satellite.
  • the communication terminal 11 may communicate with multiple base stations or multiple cells at the same time. For example, when one base station supports a communication area through multiple cells (for example, pCell, sCell), carrier aggregation (CA: Carrier Aggregation) technology and dual connectivity (DC: Dual Connectivity) technology, Multi-connectivity (MC) technology enables communication between the base station and the communication terminal 11 by bundling the plurality of cells.
  • communication terminal 11 and a plurality of base stations can communicate with each other by CoMP (Coordinated Multi-Point Transmission and Reception) technology via cells of different base stations.
  • CoMP Coordinatd Multi-Point Transmission and Reception
  • FIG. 19 is a diagram showing a configuration example of the communication terminal 11. As shown in FIG. FIG. 19 shows a configuration example for wireless communication, and communication terminal 11 includes wireless communication section 111 , storage section 112 , control section 113 , calculation section 114 , and antenna 115 . Note that the configuration shown in FIG. 19 is a functional configuration and may differ from the hardware configuration. Also, the functions of the communication terminal 11 may be distributed and implemented in a plurality of physically separated components.
  • the wireless communication unit 111 performs signal processing for wireless communication with other wireless communication devices (eg, base station, relay station, wireless communication node 131, donor node 132, other communication terminal 11, etc.).
  • Wireless communication section 111 operates under the control of control section 113 .
  • Wireless communication section 111 includes transmission processing section 1110 and reception processing section 1115 .
  • Components related to wireless communication of communication terminal 11 may be the same as corresponding components related to wireless communication of base station apparatus 50 . That is, the configuration of the radio communication unit 111 and its internal components, and the antenna 115 may be the same as the radio communication unit 51 of the base station apparatus 50, its internal components, and the antenna 56, respectively.
  • the wireless communication unit 111 may be configured to enable beamforming, like the wireless communication unit 51 of the base station device 50 .
  • the storage unit 112 serves as storage means for the communication terminal 11 and stores information necessary for processing of the communication terminal 11, processing results, and the like. For example, various programs for processing the communication terminal 11 may be stored.
  • the control unit 113 controls each unit of the communication terminal 11. For example, the control unit 113 externally acquires, via the wireless communication unit 111, information related to the DNN used by a logical entity or the like, conditions for determining a range in charge of a series of DNN calculations, and the like. control.
  • the calculation unit 114 performs calculations necessary for the processing of the communication terminal 11 according to instructions from the control unit 113 . For example, part of the processing performed by the transmission processing unit 1110 and the reception processing unit 1115, such as high-load calculations, may be performed by the calculation unit 114. Further, for example, calculations required for the ML application executed by the communication terminal 11, such as calculation of DNN, are performed.
  • FIG. 20 is a diagram showing a configuration example of a 5GS (5G System) network architecture including the core network 133.
  • 5GS is composed of communication terminal 11 (denoted as UE in FIG. 20), RAN 134, and core network 133.
  • the RAN 134 provides a network function (NF) like the radio communication node 131 and the donor node 132 in FIG.
  • the core network 133 in 5GS is called NGC (Next Generation Core), 5GC (5G Core), and the like.
  • the function group of the control plane of the core network 133 is AMF (Access and Mobility Management Function) 601, NEF (Network Exposure Function) 602, NRF (Network Repository Function) 603, NSSF (Network Slice Selection Function) 604, PCF (Policy Control Function) 605, SMF (Session Management Function) 606, UDM (Unified Data Management) 607, AF (Application Function) 608, and AUSF (Authentication Server Function) 609 , and UCMF (UE radio Capability Management Function) 610 .
  • AMF Access and Mobility Management Function
  • NEF Network Exposure Function
  • NRF Network Repository Function
  • NSSF Network Slice Selection Function
  • PCF Policy Control Function
  • SMF Session Management Function
  • UDM Unified Data Management
  • AF Application Function
  • AUSF Authentication Server Function
  • UCMF UE radio Capability Management Function
  • the UDM 607 holds, manages, and processes subscriber information.
  • the execution unit for holding and managing subscriber information is also called UDR (Unified Data Repository) and may be separated from FE (Front End), which is the execution unit for processing subscriber information.
  • the AMF 601 performs mobility management.
  • the SMF 606 performs session management.
  • UCMF 610 holds UE radio capability information (UE Radio Capability Information) corresponding to all UE radio capability IDs (UE Radio Capability IDs) in PLMN (Public Land Mobile Network).
  • UCMF 610 is responsible for assigning each PLMN-assigned UE Radio Capability ID.
  • FIG. 20 shows the service-based interface of NF.
  • Namf is a service-based interface provided by AMF 601
  • Nsmf is a service-based interface provided by SMF 606
  • Nnef is a service-based interface provided by NEF 602
  • Npcf is a service-based interface provided by PCF 605.
  • Nudm is a service-based interface provided by UDM 607
  • Naf is a service-based interface provided by AF 608
  • Nnrf is a service-based interface provided by NRF 603
  • Nnssf is a service-based interface provided by NSSF 604.
  • interface, and Nausf is a service-based interface provided by AUSF609.
  • Each NF exchanges information with other NFs via each service-based interface.
  • the application side can grasp the information of the communication layer in detail, and the NF can be controlled from the external application.
  • a UPF User Plane Function
  • DN Data Network
  • MNO Mobile Network Operator
  • the RAN 134 establishes communication connections with the core network 133, communication terminals 11, and the like. It should be noted that a communication connection with another communication network (not shown), for example, an access network (AN), may also be made.
  • the RAN 134 includes base stations called gNBs or ng-eNBs. RAN is sometimes called NG (Next Generation)-RAN.
  • Information is mutually exchanged between the UE 10 and the AMF 601 via the reference point N1.
  • Information is mutually exchanged between the RAN 134 and the AMF 601 via the reference point N2.
  • Information is mutually exchanged between the SMF 606 and the UPF 630 via the reference point N4.
  • the communication quality may be indicated by, for example, delay time in transmission and reception, data rate, channel occupancy ratio (Channel Occupancy Ratio), and the like.
  • the channel occupancy rate may be indicated by CBR (Channel Busy Ratio), resource usage rate, or congestion degree.
  • CBR Channel Busy Ratio
  • resource usage rate or congestion degree.
  • CBR may be indicated as a ratio of used radio resources to total available radio resources.
  • the degree of congestion may be indicated by the ratio of RRSI (Received Signal Strength Indicator), which is the total received power in the band, to RSRP (Reference Signal Received Power), which is the received strength of the reference signal.
  • RRSI Receiveived Signal Strength Indicator
  • RSRP Reference Signal Received Power
  • the degree of congestion may be indicated by the reciprocal of RSRQ (Reference Signal Received Quality), which is the received quality of the reference signal.
  • the ML application performs processing based on the results of a series of DNN calculations.
  • recent research has revealed that even if the ML application is processed based on the intermediate calculation results of the series of calculations, there may be cases where the processing result of the ML application is less affected. In this way, causing a breakout in the middle of the calculation without performing the entire series of DNN calculations is called early-exiting (also called early termination).
  • the accuracy of the ML application can be reduced, but since the calculation is not performed until the end, the time required to complete the processing of the ML application can be reduced.
  • the information processing system of the second embodiment performs early-exiting depending on the situation, and returns the intermediate calculation results of a series of DNN calculations to the communication terminal 11 . This reduces the time required to complete the processing of the ML application.
  • the logic entity determines who is responsible for calculation, but in the second embodiment where early-exiting is performed, who is responsible for calculation may be determined in advance. Also, in the first embodiment, the logical entity could dynamically change the person in charge of calculation according to the situation, but in the second embodiment, the person in charge of calculation may be fixed and cannot be changed. It may also be determined whether to perform dynamic change of computational responsibility or early-exiting when it is determined that the requirements of the ML application, such as delay time, cannot be met.
  • one of the persons in charge of calculation transmits the calculation result in the middle of a series of calculations of the DNN to the communication terminal 11.
  • a certain calculation is in charge of the 3rd and 4th layers of the DNN, it is possible to perform up to the calculation of the 3rd layer and transmit the calculation result of the 3rd layer to the communication terminal 11 .
  • the logical entity determines the scope of responsibility for calculation so as not to increase the delay due to the large size of data to be transmitted. Therefore, if the person in charge of the calculation ends the calculation in the range they are in charge of, the data size of the calculation result will be large depending on the position of the end in the middle, the communication will take time, and the delay will increase even if early-exiting is performed. Such a situation can also occur. In addition, if the communication bandwidth between calculation members is large, the logical entity can determine that there is no problem even if the data size of the calculation result is large.
  • the communication band to be considered is different.
  • the communication terminal 11 and the communication node A, which is in charge of the first calculation are wirelessly connected, and the communication node A and the communication node B, which is in charge of the second calculation, are connected by wire. could be.
  • the data size of the calculation result transmitted from communication node A to communication node B may be too large for wireless communication.
  • the accuracy of the ML application will be low as a result of calculating the coverage area of the communication node A. In this way, it may not be suitable for early-exiting to have each person in charge of calculations execute all the calculations included in the range they are in charge of.
  • FIG. 21 is a diagram showing an example of a calculation range when Early-exiting is performed.
  • a calculation flow 71 indicated by an arrow in FIG. 21 shows the flow of calculation (calculation range) when the calculation of the range in charge is terminated halfway.
  • Calculation flow 72 shows the flow of calculation when the calculation of the assigned range is terminated halfway.
  • a calculation flow 73 shows the flow of calculation when the calculation of the assigned range is not terminated halfway.
  • the convolution processing after the bending of calculation flow 71 and calculation flow 72 is a calculation added separately from the calculation included in the normal range of responsibility.
  • the calculation for outputting the inference result is performed from the calculation flow that was terminated halfway.
  • calculations are performed to transmit intermediate calculation results in a series of deep neural network calculations.
  • 5x5 convolution processing Conv5x5
  • Conv3x3 3x3 convolution processing
  • Which of the calculation flow 71 and the calculation flow 72 is to be executed may be selected according to the data size of the calculation result, the required time, and the like.
  • the calculation flow 72 may be selected.
  • the person in charge of calculation executes at least part of the calculation in the range in charge, but the entire contents of the calculation executed by the person in charge of calculation are It can vary depending on the situation. Note that the Early-exiting determination may be performed at any position between the start and end of the calculation of the assigned range.
  • the calculation may be performed before the determination, the calculation may not be performed before the determination, the calculation may be performed after the determination, or the calculation may be performed after the determination. It doesn't have to be. Moreover, the presence or absence of these processes may differ based on the result of the determination and other information shown in this specification.
  • Various conditions are conceivable for early-exiting judgment conditions, and may be determined as appropriate.
  • a plurality of conditions may be provided, and determination conditions based on a plurality of parameters may be used.
  • the condition regarding the calculation result may be used as the Early-exiting determination condition.
  • determination may be made based on the final calculation result of the calculation range itself or the calculation result in each layer. Further, determination may be made after further applying an activation function such as a softmax function to the calculation result.
  • the cross-entropy value may be used for determination. For example, when the output value of the softmax function is equal to or greater than a predetermined threshold, the DNN processing may be terminated in that layer and early-exiting may be performed.
  • a condition regarding the person in charge of calculation may be set as an Early-exiting judgment condition.
  • the calculation spare capacity of the person in charge of calculation may be used as the determination condition.
  • conditions related to communication may be provided as early-exiting determination conditions.
  • the communication quality of the communication network such as RARP, RARQ, RSSI, and Link failure may be used as the determination condition.
  • the communication link to the next computational worker is of poor quality, packet errors can add to the delay. Therefore, a determination condition may be provided such that the worse the communication quality is, the more early-exiting is performed.
  • the data amount of the calculation result to be transmitted is small, it may be possible to transmit even if the communication quality is poor. Therefore, the data amount of the calculation result to be transmitted may also be included in the determination conditions.
  • the path information of the communication network may be used as the determination condition.
  • the determination condition may be based on traffic such as information on the amount of traffic flowing on the route or information on the amount of traffic being processed at each node. Note that the traffic may be represented by the usage rate of communication resources or the like.
  • a condition regarding movement (mobility) of the communication terminal 11 may be provided as an Early-exiting determination condition.
  • movement speed, moving direction, and information about link switching and handover caused by movement may be used as determination conditions.
  • request information including the time (delay) until the DNN calculation result is returned to the communication terminal 11, the certainty (accuracy) of the DNN calculation result returned by Early-exiting, etc. is obtained from the ML application. If so, whether or not these requirements are met may be determined based on computational capacity, communication quality, past performance, and the like.
  • the communication terminal 11 may be used as a condition for judging whether or not an instruction to execute Early-exiting has been received. For example, when the time (delay) until the DNN calculation result is returned to the communication terminal 11 is to be kept within a predetermined time, the communication terminal 11 attaches a time stamp in the application layer and counts the time until the reply is received. Then, when the time has passed the upper limit, an instruction to execute Early-exiting is sent. When the communication terminal 11 recognizes all persons in charge of calculation, the communication terminal 11 may transmit execution instructions to all persons in charge of calculation. In cases such as when the communication terminal 11 does not recognize each person in charge of calculation, the execution instruction may be relayed to each person in charge of calculation in order from the communication terminal 11 .
  • the person in charge of calculation who receives the Early-exiting notification during the calculation should perform the Early-exiting.
  • each person in charge of calculation subtracts the time required for the calculation from the allowable time set in advance and notifies the next person in charge of calculation, and the calculation that has used up the allowable time. It is also conceivable that the person in charge transmits the calculation result to the communication terminal 11 . Also, if the time required to calculate the range of responsibility is shorter than the allowable time, the calculation of the range of responsibility may be terminated halfway.
  • the values of parameters for determining whether to perform Early-exiting such as the upper limit value of the required time and the delay margin value, may be determined by the logical entity or by the ML application.
  • Early-exiting criteria may be changed according to the time period, the type of ML application, and other ML applications that are executed in parallel. For example, in the case of ML applications that require accuracy, the criteria for early-exiting are stricter than the standard, and in the case of ML applications that require less time, the criteria for early-exiting are stricter than the standard. You can take it easy.
  • the information used for the determination condition may be notified from the application layer to the communication layer via NEF (Network Exposure Function) or the like.
  • NEF Network Exposure Function
  • FIG. 22 is a schematic sequence diagram showing a first example of the flow of processing regarding early-exiting.
  • the calculations other than the communication terminal are collectively represented as one.
  • the logical entity sends the Early-exiting judgment condition to the calculation manager (T301). If the person in charge of calculation is not fixed, the determination condition may be sent in advance to the entity that can be in charge of calculation, or the fact that the person in charge of calculation is changed is notified when the person in charge of calculation is changed. You may transmit the said judgment conditions with.
  • Each calculator receives and sets the judgment conditions from the logical entity (T302).
  • the communication terminal 11 executes the ML application (T303), and transmits information necessary for DNN calculation to the next person in charge of calculation (T304).
  • the communication terminal 11 may transmit information used for determination. For example, the communication terminal 11 transmits the upper limit value (permissible time) of the time required for the calculation result to be returned to the communication terminal 11, the accuracy of the calculation result, etc. to each person in charge of calculation. may be used as the value of the parameter of
  • the next person in charge of calculation receives information necessary for DNN calculation (T305), collects information necessary for Early-exiting judgment, and uses the collected information to make Early-exiting judgment (T306). If the information may be collected in advance, it may be collected in advance. DNN calculation is executed based on the determination result (T307). As described above, the DNN calculation range may differ between when Early-exiting is executed and when it is not executed.
  • the DNN calculation is started after the Early-exiting determination is performed here, the Early-exiting determination may be performed during the DNN calculation.
  • the person in charge of calculation sends the calculation result to the partner corresponding to the judgment result (T308). If early-exiting is not executed and there is a next person in charge of calculation, the calculation result is sent to the next person in charge of calculation. In this case, the next person in charge of calculation performs the processing from T305 to T308. Note that the arrow from T308 to T305 in FIG. 22 does not indicate that the same person in charge of calculation performs the processing from T305 to T308 again, but that another person in charge of calculation performs the processing from T305 to T308. do.
  • the person in charge of calculation When there is no next person in charge of calculation, in other words, when the calculation is completed up to the output layer of the DNN, or when Early-exiting is executed, the person in charge of calculation sends the calculation result to the communication terminal 11 . In addition, you may transmit necessary information other than a calculation result. For example, when the person in charge of calculation receives information used for determination from the communication terminal 11, the information is also transmitted to the next person in charge of calculation. Information used to determine early-exiting may be sent to the computational staff in order in a bucket-brigade fashion.
  • the communication terminal 11 receives the DNN calculation result (T309) and executes the ML application process based on the calculation result (T310).
  • the calculation result is transmitted to the communication terminal 11 without waiting for the end of the series of calculations of the DNN, so that the processing of the ML application is prevented from being delayed. can be done.
  • the early-exiting determination can also be said to be a determination as to whether or not to transmit the calculation result to the communication terminal 11 .
  • FIG. 23 is a schematic sequence diagram showing a second example of the processing flow regarding early-exiting.
  • the case where the person in charge of calculation executes all the calculations in the area of responsibility is also included in the Early-exiting, but in the example of FIG. 23, the person in charge of calculation executes all the calculations in the area of responsibility It means that the person in charge of calculation ends the calculation in the middle of the calculation in the range in charge.
  • the communication terminal 11 can also end the calculation of the range of responsibility in the middle. Therefore, the example of FIG. 23 shows an example in which the communication terminal 11 is in charge of the first calculation.
  • the example of FIG. 23 shows a case where, in addition to the communication terminal 11, there are a second person in charge of calculation, a third person in charge of calculation, and a person in charge of final calculation (fourth person in charge of calculation).
  • Each person in charge of calculation receives and sets the judgment conditions from the logical entity (T302). After that, the communication terminal 11 executes the ML application (T303). The communication terminal 11 collects information necessary for Early-exiting determination, and uses the collected information to perform Early-exiting determination (T306). Then, the DNN is calculated based on the determination result (T307).
  • the range of the calculation differs depending on whether the Early-exiting is executed or not, and the calculation may not be executed depending on the judgment result or timing of the judgment. In other words, the processing of T307 does not necessarily have to be performed. This is the same for any embodiment in this specification.
  • the communication terminal 11 sends the calculation result to the second calculation manager, who is in charge of the next calculation, regardless of whether the early-exiting is executed (T308).
  • information indicating the position may be transmitted to the next person in charge of calculation so that the next person in charge of calculation recognizes the position where the calculation is to be started.
  • the information may be, for example, information indicating the last layer in the range in charge of the communication terminal 11, information indicating the first layer in the range in charge of the next calculation, or information indicating the node that outputs the calculation result. Alternatively, it may be information indicating the node to which the calculation result should be input.
  • next person in charge of calculation knows the predetermined position to end halfway, the calculation will be performed up to that position, and if the calculation result is sent, the information for the next person in charge of calculation to recognize the position where the calculation will start. need not be sent.
  • the second person in charge of calculation is in charge of receiving information related to the calculation result of the communication terminal 11, collecting information necessary for Early-exiting judgment, making an Early-exiting judgment, executing DNN calculation based on the judgment result, and being in charge of the next calculation.
  • Send to the third person in charge of calculation (T305 to T308).
  • the third person in charge of calculation similarly performs the processing from T305 to T308, and the calculation result of the third person in charge of calculation is transmitted to the final person in charge of calculation.
  • the person in charge of final calculation similarly performs the processing from T305 to T307.
  • Send (T311) the communication terminal 11 receives the DNN calculation result (T309) and executes the ML application process based on the calculation result (T310). By doing so, it is possible to reduce the amount of calculation in charge of calculation, which may cause a delay in the processing, and it is possible to reduce the waiting time of the communication terminal 11, though not as much as in the example of FIG.
  • the accuracy of the calculation results received by the communication terminal 11 is higher than in the case where the second calculation charge sends, for example, the result of the intermediate termination of the DNN calculation. obtain.
  • FIG. 24 is a schematic sequence diagram showing a third example of the processing flow regarding early-exiting.
  • the example in FIG. 24 is different from the example in FIG. 22 in that the logical entity makes early-exiting determination. Note that the entity that decides who is in charge of calculation may be different from the entity that decides the early-exiting determination.
  • the logic entity transmits the Early-exiting judgment condition to the calculation staff (T301), and each calculation staff receives and sets the judgment condition from the logic entity (T302). is, in the example of FIG. 24, whether or not an instruction to execute Early-exiting has been received from the logical entity.
  • the communication terminal 11 executes the ML application (T303), it notifies the logical entity of requesting DNN calculation (T312).
  • the logical entity collects information necessary for Early-exiting determination, and uses the collected information to perform Early-exiting determination (T306).
  • the determination of logical entities is repeated periodically. For example, a logical entity may periodically check communication resources such as computing power and communication quality, and make decisions based on the communication resources. Alternatively, the logical entity may measure the elapsed time after the notification from the communication terminal 11 and check whether the upper limit notified from the communication terminal 11 is exceeded.
  • the communication terminal 11 transmits information necessary for calculating the DNN to the first calculation person in charge of the next calculation, as in the example of FIG. 22 (T304).
  • the first person in charge of calculation performs the processing from T305 to T308, as in the example of FIG.
  • the calculation of the scope of responsibility is executed and the calculation result is sent to the second calculation manager.
  • the judgment condition is satisfied and the logical entity decides to execute Early-exiting and transmits to all the computational agents (T314).
  • the logical entity since the logical entity does not recognize which person in charge of calculation is in charge of calculation, it is assumed that the information is transmitted to all the persons in charge of calculation. If the logical entity is aware of which computation is in progress by, for example, each computation notifying the logical entity of the end of computation, the information may be sent only to the next computation.
  • the second calculator receives the execution notification of Early-exiting before receiving the calculation result of the first calculator (T315). After that, the calculation result of the first person in charge of calculation is transmitted, and the second person in charge of calculation performs the processing from T305 to T308. Therefore, the second person in charge of calculation executes the calculation for Early-exiting and transmits the executed calculation result to the communication terminal 11 .
  • the communication terminal 11 executes the processes of T309 and T310 as in the example of FIG. In this way, the logic entity may determine the execution of Early-exiting, and the execution notification from the logic entity may be used as the Early-exiting determination condition for each calculation. Note that when an Early-exiting execution notification is received during DNN calculation, the person in charge of calculation may perform Early-exiting if possible.
  • the processing for not performing Early-exiting may be continued in parallel with the processing for Early-exiting. That is, the person in charge of calculation who has executed the early-exiting may transmit the intermediate calculation result to the communication terminal 11 and may also transmit the result of calculation to the next person in charge of calculation. In this way, the communication terminal 11 can receive the final calculation result of the DNN after receiving the calculation result up to the middle of the DNN.
  • the processing result of the ML application can be obtained early from the intermediate result of the DNN calculation, and then whether the processing of the ML application was correct is confirmed based on the final calculation result of the DNN received later. be able to.
  • the person in charge of calculation may request the next person in charge of calculation to perform the remaining calculations, as shown in the example of FIG. After executing all the calculations in the range of responsibility, the calculation results may be sent to the next person in charge of calculation.
  • the communication terminal 11 may notify whether or not to perform multi-feedback.
  • the calculation responsible for the Early-exiting notifies the logical entity of the Early-exiting, and upon receipt of the notification, the logical entity decides whether or not to perform multi-feedback depending on the situation.
  • the multi-feedback execution determination condition may also be determined according to the calculation spare capacity of the person in charge of calculation, the communication resource, the required specifications of the ML application, and the like.
  • the early-exiting calculation staff may notify the next calculation staff that the early-exiting has been performed, and the next calculation staff may not perform the early-exiting. Conversely, even if Early-exiting has already been performed, the next person in charge of calculation may also perform Early-exiting. Therefore, the communication terminal 11 may receive a plurality of early-exiting calculation results and the final DNN calculation result.
  • FIG. 25 is a conceptual diagram explaining multi-feedback.
  • the communication terminal and the second to fourth calculators are in charge of DNN calculations.
  • the second calculator performs the early-exiting, and the feedback FD1 indicated by an arrow indicates that the calculation result by the early-exiting of the second calculator is returned to the communication terminal 11. It is also, the second calculator sends the calculation results to the third calculator for multi-feedback.
  • the third calculator is also performing Early-exiting, and the feedback FD2 indicates that the calculation result by the Early-exiting of the third calculator is returned to the communication terminal 11 .
  • the third calculator also sends the calculation results to the fourth calculator for multi-feedback.
  • FIG. 25 the communication terminal and the second to fourth calculators are in charge of DNN calculations.
  • the second calculator performs the early-exiting, and the feedback FD1 indicated by an arrow indicates that the calculation result by the early-exiting of the second calculator is returned to the communication terminal 11. It is Also, the second calculator sends the calculation results to
  • the feedback FD3 indicates that the fourth calculator performs calculations up to the end of a series of DNN calculations and sends the final calculation results to the communication terminal 11.
  • the communication terminal 11 may receive a plurality of early-exiting calculation results (FD1 and FD2) and the final DNN calculation result (FD3).
  • the calculation of DNN after Early-exiting is performed is not performed by each person in charge of calculation, but a specific entity performs the calculation intensively.
  • a specific entity performs the calculation intensively.
  • the second and third calculators may not perform calculations, and the fourth communication manager may collectively perform the remaining calculations.
  • the early-exiting calculator may request the logical entity to change the calculator. For example, if early-exiting is done due to a problem with your own calculation capacity, you may request that you be removed from the calculation. For example, if early-exiting is performed due to a problem in communication quality with the next person in charge of calculation, it may be requested to change the next person in charge of calculation.
  • the communication terminal 11 may notify the logic entity and each calculation manager whether or not Early-exiting can be executed. For example, when the communication terminal 11 has sent a notification to reject the execution of Early-exiting, each calculation operator may not perform Early-exiting without complying with the Early-exiting determination conditions. In addition, a notification regarding whether or not multi-feedback can be executed may be made. Also, when allowing multiple feedbacks, the upper limit of the number of feedbacks shown in FIG. 25 may be specified.
  • each entity in the second embodiment may be the same as in the first embodiment, so it will be omitted.
  • the calculation range when Early-exiting is not performed and the calculation range when Early-exiting is performed are stored in the storage unit of each device (storage unit 52 in FIG. 18 or storage unit 112 in FIG. 19), Switch the calculation range used by the control unit of each device (control unit 53 in FIG. 18 or control unit 113 in FIG. 19), and the calculation unit of each device (calculation unit 54 in FIG. 18 or calculation unit 114 in FIG. 19) You just have to do the calculations.
  • early-exiting is executed when multiple entities perform distributed learning in which a series of DNN calculations are shared.
  • early-exiting it is possible to suppress the time for feedback of the DNN calculation result to the communication terminal 11 within a predetermined time even in distributed learning using communication nodes that are prone to communication delays.
  • the computational spare capacity of the person in charge of calculation is less than expected, the calculation within the range in charge can be terminated halfway and the rest of the calculation can be entrusted to the next person in charge of calculation. In this way, the time required for a series of DNN calculations can also be reduced.
  • the processing procedure described in the present disclosure may be regarded as a method having a series of these procedures. Alternatively, it may be regarded as a program for causing a computer to execute the series of procedures, or a recording medium for storing the program. Also, the logical entities and computational processes described above are executed by a processor, such as a CPU of a computer. Also, the type of recording medium is not particularly limited since it does not affect the embodiments of the present disclosure.
  • each component shown in FIGS. 18 to 20 shown in the present disclosure may be realized by software or by hardware.
  • each component may be a software module implemented by software such as a microprogram, and each component may be implemented by a processor executing the software module.
  • each component may be realized by a circuit block on a semiconductor chip (die), for example, an integrated circuit such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the number of components and the number of hardware that implements the components need not match.
  • a single processor or circuit may implement multiple components.
  • one component may be implemented by multiple processors or circuits.
  • processors described in the present disclosure are not limited.
  • it may be a CPU, MPU (Micro Processing Unit), GPU (Graphics Processing Unit), or the like.
  • DNN digital neural network
  • SNN spike neural network
  • a spike signal may be used to convey any of the information described above.
  • causal relationships may be extracted from the time-series data, and any of the above-described judgments may be made based on the information.
  • Components for storing data may be implemented by devices capable of reading and writing data, and the devices may be appropriately selected. good.
  • the devices may be a DRAM, SRAM, flash memory, hard disk, or the like.
  • this disclosure can also take the following configurations.
  • An information processing device in charge of a part of a series of calculations of a deep neural network Determining whether to transmit intermediate calculation results in a series of calculations of the deep neural network to the first communication device, If it is not determined to transmit to the first communication device, the result of at least part of the calculations included in the first range of the series of calculations is transmitted to the second range following the first range. to the second communication device responsible for the calculation of When it is determined to transmit to the first communication device, performing a calculation for transmitting intermediate calculation results in a series of calculations of the deep neural network to the first communication device, transmitting the result of the calculation to the first communication device; Information processing equipment.
  • [10] determining to which position of the calculations included in the first range is to be executed when it is determined that intermediate calculation results in a series of calculations of the deep neural network are to be transmitted to the first communication device; performing the calculations included in the first range up to the determined position, and transmitting the result of the performed calculations and information indicating the determined position to the second communication device;
  • the information processing device according to any one of [1] to [7].
  • [11] information on the computational spare capacity of a device in charge of at least part of a series of calculations of said deep neural network; and information on a traffic volume in a device in charge of at least part of said series of calculations of said deep neural network making the determination based on at least one of The information processing device according to any one of [1] to [10].
  • [12] making the determination based on at least one of communication quality with the first communication device and mobility information of the first communication device;
  • the information processing device according to any one of [1] to [11].
  • [13] based on at least one of information instructing to terminate the series of calculations halfway and information instructing to transmit the result of an intermediate calculation in the series of calculations to the first communication device. make a decision,
  • the information processing device according to any one of [1] to [12].
  • [14] The information processing device according to any one of [1] to [13], wherein request information is acquired from the first communication device and the determination is made based on the request information.
  • [17] further transmitting information indicating whether or not the device in charge of calculation of the second range may end the calculations included in the second range halfway to the device in charge of calculation of the second range;
  • the information processing device according to [16].
  • An information processing method comprising: [19] a step of determining whether or not to terminate the calculations included in the first range in the series of calculations of the deep neural network; When it is determined that the calculations included in the first range are to be terminated halfway, a part of the calculations included in the first range is performed, and the results of the performed calculations and the results of the performed calculations are returned to the series of calculations.
  • An information processing method comprising: [20] At least a first information processing device and a second information processing device that are in charge of part of a series of calculations of the deep neural network, The first information processing device is Determining whether to transmit intermediate calculation results in a series of calculations of the deep neural network to the first communication device, If it is not determined to transmit to the first communication device, the results of at least part of the calculations included in the first range in the series of calculations are transmitted to the second information processing device. , If it is determined to transmit to the first communication device, the calculation for transmission to the first communication device is performed using intermediate calculation results in a series of calculations of the deep neural network.
  • a first information processing device that performs at least a first range of calculations in a series of deep neural network calculations, and a second range of calculations that follows the first range in a series of deep neural network calculations.
  • the first information processing device is Determining whether to end the calculations included in the first range halfway; When it is determined that the calculations included in the first range are to be terminated halfway, a part of the calculations included in the first range is performed, and the results of the performed calculations and the results of the performed calculations are returned to the series of calculations. and information indicating which position in the calculation of, to the second information processing device, The second information processing device is When the information is received, the continuation of the calculations performed by the first information processing device in the series of calculations is performed based on the results of the calculations performed by the first information processing device.
  • Information processing system [22] The information processing system according to [20], further comprising a third information processing device that determines the first range.
  • [23] further comprising a third information processing device that determines whether or not to terminate the calculations included in the first range, The third information processing device transmits to the first information processing device an instruction to prematurely terminate calculations included in the first range; The first information processing device, when receiving the instruction, determines to end the calculations included in the first range halfway.
  • the information processing system according to [21].

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Neurology (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

[課題]DNNに基づく計算を分散させつつ、計算結果を返信するまでに要する時間を短縮する情報処理装置などを提供する。 [解決手段]本開示の一つは、ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置である。前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信し、送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信する。

Description

通信装置、通信方法、および通信システム
 本開示は、通信装置、通信方法、および通信システムに関する。
 近年、人工知能、機械学習といった分野の研究が急速に進んでおり、これらに関するアプリケーションも急速に普及すると予想されている。そのため、当該アプリケーションを通信環境で快適に動作させるための検討が行われている。
 当該アプリケーションは、主に、機械学習によって内部パラメータが最適化された、複数のレイヤを有するニューラルネットワーク(DNN:Deep Neural Network)に基づく計算を行う。当該計算は、他の一般的なアプリケーションよりも負荷が大きい。そのため、スマートフォンなどの汎用の無線通信端末で当該アプリケーションを実行すると、計算時間、消費電力などが増加するといった問題が生じる。一方、クラウドサーバーが当該計算を代行する方法も考えられる。しかし、当該方法では、無線通信端末は、当該計算に必要な情報をクラウドサーバーに送信し、クラウドサーバーから計算結果を受信することになるため、通信量が多くなる。さらに無線通信の場合では、通信品質が不安定なため、遅延が生じやすい。したがって、当該方法では、アプリケーションが許容できる遅延量を超えてしまう恐れがある。
 そこで、DNNの計算を、通信端末、クラウドサーバーなどに一極集中させる統合学習(Federated Learning)ではなく、DNNの計算を通信端末およびクラウドサーバーの両方に分散させる分散学習(Distributed Learning)が検討されている。つまり、通信端末がDNNの計算の一部を担当し、クラウドサーバーがDNNの計算の残りを担当することが検討されている。
 さらに、通信端末とクラウドサーバーとの通信を中継する通信ネットワークが、DNNの計算の一部を分担することも検討されている。つまり、通信ネットワークを構成する複数の通信ノードの少なくともいずれかがDNNの入力層から出力層までの一連の計算の一部を担当し得る。しかし、DNNの計算を多数の装置に分散させることによって弊害も生じ得る。例えば、計算を担当する通信ノードの負荷、ネットワークの通信品質などは、常に安定しているとは限らない。ゆえに、状況によっては、想定よりも計算に時間がかかる場合もあり得る。
 そこで、本開示は、DNNに基づく計算を分散させつつ、計算結果を返信するまでに要する時間を短縮する情報処理装置などを提供する。具体的には、計算を担当する装置の動的変更や、当該計算を途中終了すること、当該計算の途中の結果をフィードバックすることにより、実現する。また、ここで示した課題は本発明が解決する課題の一部に過ぎず、本開示により解決されうるその他の課題のために本開示が用いられても良い。
 本開示による情報処理装置は、ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置であって、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信し、前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信する。
 また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定されなかった場合には、前記第1範囲に含まれる計算の少なくとも一部を実行し、実行された計算の結果を、前記第2の通信装置に送信する前記計算の結果として用いてもよいし、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合には、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いてもよい。
 また、前記情報処理装置は、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第1の通信装置に送信するための前記計算に用いてもよい。
 また、前記情報処理装置は、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第2の通信装置に送信する前記計算の結果として用いてもよい。
 また、前記情報処理装置は、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算を継続し、前記第1範囲の計算の結果を前記第2の通信装置に送信する前記計算の結果として用いてもよい。
 また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、さらに、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2の通信装置に送信してもよい。
 また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の全てが実行されなかったときは、実行された計算の結果とともに、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報を、前記第2の通信装置に送信してもよい。
 また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記一連の計算の少なくとも一部を実行可能な第3の通信装置に送信してもよい。
 また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の所定位置までを実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いてもよい。
 また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算のいずれの位置まで実行するかを決定し、前記第1範囲に含まれる計算を決定された位置まで実行し、実行された計算の結果と、決定された位置を示す情報と、を前記第2の通信装置に送信してもよい。
 また、前記情報処理装置は、前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置の計算余力に関する情報、前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置におけるトラフィック量に関する情報、のうちの少なくとも1つに基づいて前記判定を行ってもよい。
 また、前記情報処理装置は、前記第1の通信装置との間の通信品質、前記第1の通信装置のモビリティ情報、のうちの少なくとも1つに基づいて前記判定を行ってもよい。
 また、前記情報処理装置は、前記一連の計算を途中終了することを指示する情報、前記一連の計算における途中の計算の結果を前記第1の通信装置に送信することを指示する情報、のうちの少なくとも1つに基づいて前記判定を行ってもよい。
 また、前記情報処理装置は、前記第1の通信装置から要求情報を取得し、前記要求情報に基づいて前記判定を行ってもよい。
 また、前記情報処理装置は、前記第1範囲の計算に必要な時間が与えられた許容時間よりも大きい場合に、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定してもよい。
 また、前記情報処理装置は、ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行い、前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信してもよい。 
 また、前記情報処理装置は、前記第2範囲の計算担当である装置が前記第2範囲に含まれる計算を途中終了してもよいか否かを示す情報を、前記第2範囲の計算担当である装置にさらに送信してもよい。
 本開示の他の一態様である情報処理方法は、ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置において実行される情報処理方法であって、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行うステップと、前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信するステップと、前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信するステップと、を備える。
 本開示の別の情報処理方法は、ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行うステップと、前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信するステップと、を備える。
 本開示の他の一態様である情報処理システムは、ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する第1情報処理装置および第2情報処理装置を少なくとも備え、前記第1情報処理装置は、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2情報処理装置に送信し、前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信し、前記第2情報処理装置は、前記一連の計算のうちの前記第1情報処理装置によって実行された計算以降の計算を前記第1情報処理装置によって実行された計算の結果に基づいて実行する、情報処理システム。
 前記情報処理システムは、前記第1範囲を決定する第3情報処理装置をさらに備えてもよい。
 本開示の別の情報処理システムは、少なくとも、ディープニューラルネットワークの一連の計算のうちの第1範囲の計算を行う第1情報処理装置と、前記ディープニューラルネットワークの一連の計算のうちの前記第1範囲に続く第2範囲の計算を行う第2情報処理装置と、を備え、前記第1情報処理装置は、前記第1範囲に含まれる計算を途中終了するか否かの判定を行い、前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第2情報処理装置に送信し、前記第2情報処理装置は、前記情報を受け取ったときは、前記一連の計算の前記第1情報処理装置によって実行された計算の続きを、前記第1情報処理装置によって実行された計算の結果に基づいて実行する。
 前記別の情報処理システムは、前記第1範囲に含まれる計算を途中終了するか否かの判定を行う第3情報処理装置をさらに備え、前記第3情報処理装置は、前記第1範囲に含まれる計算を途中終了する指示を前記第1情報処理装置に送信し、前記第1情報処理装置は、前記指示を受け取った場合に、前記第1範囲に含まれる計算を途中終了すると判定してもよい。
本開示の実施形態に係る情報処理システムの構成例を示す図。 DNNを説明する図。 DNNの計算の分散について説明する図。 Splitting pointに応じた遅延および出力データ量の相違について説明する図。 IABネットワークのアーキテクチャの例を示す図。 DNNの計算の分散の効果を示す図。 シミュレーションに用いたIABネットワークにおけるネットワークトポロジーの図。 シミュレーシのための通信容量の変動を示す図。 通信ネットワークのリソースが実行遅延に与える影響を示す図。 本実施形態の全体処理の流れを示した概略シーケンス図。 Splitting modeを説明する図。 通信ルートごとに設定されたSplitting modeについて説明する図。 通信ルートごとのSplitting modeの例を示す図。 計算担当が切り替えられる前後のシーケンス図。 通信端末の担当範囲を決定するための条件の一例を示す図。 通信端末が自身の担当範囲を決定した場合に、通信端末から送信される計算結果の一例を示す図。 通信端末が自身の担当範囲を決定する場合の全体処理の流れを示した概略シーケンス図。 基地局装置の構成例を示す図。 通信端末の構成例を示す図。 コアネットワークを含む5GS(5G System)のネットワークアーキテクチャの構成例を示す図。 Early-exitingを行う場合の計算範囲の例を示す図。 Early-exitingに関する処理の流れの第1例を示した概略シーケンス図。 Early-exitingに関する処理の流れの第2例を示した概略シーケンス図。 Early-exitingに関する処理の流れの第3例を示した概略シーケンス図。 マルチフィードバックを説明する概念図。
(第1実施形態)
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。図1は、本開示の第1実施形態に係る情報処理システムの構成例を示す図である。第1実施形態に係る情報処理システム1は、通信端末11と、クラウドシステム(Cloud)12と、通信ネットワーク13と、を備える。なお、符号は、図1に示された11Aおよび11Bのように、同じ種類の個体に対し同一の数字を振ることとし、各個体の区別はアルファベットによって行うものとする。また、本説明において、特に個体を区別する必要がない場合は、符号のアルファベットは記載しない。
 情報処理システム1は、機械学習(ML:Machine Learning)によって学習されたディープニューラルネットワーク(DNN:Deep Neural Network)を利用したアプリケーションを動作させるためのシステムである。以降、当該アプリケーションを、MLアプリケーションと記載する。
 通信端末11は、MLアプリケーションを起動することが可能な情報処理装置でもあり、スマートフォン、ラップトップなどが該当する。例えば、スマートフォンにMLアプリケーションがインストールされており、スマートフォンのユーザによってMLアプリケーションが起動されることが想定される。また、通信端末11の形状は、特に限られるわけではない。例えば、眼鏡のようなウェアラブル端末でもよい。また、MLアプリケーションによってその動作が制御されるロボットも通信端末11に該当する。クラウドシステム12は、クラウドサーバーと呼ばれる、通信端末11よりも高性能な1台以上の情報処理装置を含み、通信端末11によって利用可能なサービスを提供する。通信ネットワーク13は、複数の通信ノードから構成され、通信端末11とクラウドシステム12との通信を中継する。なお、通信ノードは、通信基地局とも称される。
 なお、図1では、通信ネットワーク13に無線通信ネットワークが含まれる例が示されている。図1の例では、第5世代移動通信システム(5G)の無線通信に用いられるIAB(Integrated Access and Backhaul)ネットワークを用いた例が示されており、通信端末11は無線通信端末で示されており、通信ネットワーク13は、通信端末11と無線通信接続可能な無線通信ノード131と、1以上の無線通信ノード131の上位ノードであるドナーノード132と、ドナーノード132とクラウドシステム12との有線通信を行うコア(Core)ネットワーク133と、から構成されている。図1のように、有線通信よりも通信品質が不安定な無線通信ネットワークが通信ネットワーク13に含まれているほうが、後述する効果が従来よりも大きくなるため、好ましい。ただし、情報処理システム1の通信が全て有線通信であってもよいし、通信ネットワーク13に含まれ得る無線通信ネットワークがIABネットワークに限られるわけでもない。
 図2は、DNNを説明する図である。図2の点線枠2に囲まれたネットワークがDNNに相当する。DNNは、複数のノード21と、ノード21同士を接続するリンク22と、から構成される。また、図2に示すように、複数のノード21は、縦一列に並ぶノード群に分けられており、当該ノード群はレイヤ(階層)と称される。図2の例では、DNNは、七つのレイヤを有しているが、DNNが有するレイヤは三つ以上であればよい。
 DNNの計算は、ノード21ごとに行われる。例えば、図2では、画像の情報が入力層と呼ばれる最初のレイヤの各ノード21に入力されており、第1レイヤの各ノード21において計算が行われる。これらの計算結果は、リンク22を介して、第2レイヤの各ノード21に送られ、第2レイヤの各ノード21においても計算が行われる。このように、入力層のほうから計算が行われていき、出力層と呼ばれる最後のレイヤのノードから最終的な計算結果が出力される。そして、出力された計算結果に基づいて、入力画像に写されている物体が猫と判定されることになる。
 なお、図2では、画像認識の例を示したが、MLアプリケーションの用途などは、特に限られるものではない。例えば、画像認識以外にも、xRと総称される、AR(Augmented Reality)、VR(Virtual Realty)、MR(Mixed Realty)などでもよい。また、自動運転、ロボティクス、音声認識などが、DNNを利用して実現可能であり、MLアプリケーションが、このような用途に関するものであってもよい。また、MLアプリケーションの実施環境も特に限られるものではなく、デジタルツイン、Tactile internetといったシステムにおいて用いられてもよい。
 通信端末11に該当するスマートフォンなどは、一般的に、クラウドサーバーに比べてスペックが低い。そのため、MLアプリケーションの処理、特にDNNの計算を、そのまま全て通信端末11に行わせた場合(In device learning)、完了までの計算時間が長くなる。言い換えれば、大きな計算遅延が発生する。しかし、MLアプリケーションの仕様上、MLアプリケーションの実行に要する時間を所定の許容限度内に収めるように要求される場合もあり、通信端末11にDNNの計算を全て任せると、計算遅延が許容限度を超えてしまう恐れがある。
 一方、DNNの計算を、通信端末11ではなく、クラウドシステム12に実行させた場合(Cloud learning)では、通信に要する時間、言い換えれば、通信遅延が問題となる。例えば、撮影を行いながら災害の被害者を探索する救助ロボットなどでは、電力を過度に消費する計算をクラウドサーバーに実行させて、消費電力を抑えるといったことが行われている。しかし、ロボットからクラウドサーバーに必要なデータを送る必要があり、それによる通信遅延が増加することによって、通信遅延と計算遅延の和がMLアプリケーションの許容限度を超えてしまう恐れがある。また、このデータ送信によって帯域が圧迫され、その他の通信にも影響を及ぼす恐れもある。
 そこで、情報処理システム1は、通信端末11と、クラウドシステム12と、通信ネットワーク13と、のうちから、複数の計算担当を決定し、複数の計算担当にDNNに基づく一連の計算を分散して処理させる。このような処理は、分散学習(Distributed learning)とも称される。ここで、計算担当は、DNNの計算の少なくとも一部を担当するエンティティを指す。
 図3は、DNNの計算の分散について説明する図である。図3(A)および(B)は分散学習ではない統合学習(Federated Learning)の例を示し、図3(C)は分散学習の例を示す。
 図3(A)の例では、計算担当は通信端末11だけであり、通信端末11がDNNの計算を行う(In device learning)。前述の通り、データが通信ネットワーク13に送信されないため、通信遅延は生じないが、通信端末11の計算能力の低さによる計算遅延が問題となる。一方、図3(B)の例では、クラウドシステム12だけがDNNの計算を行い(Cloud learning)、通信端末11は、計算に必要な情報をクラウドシステム12に送信し、計算結果をクラウドシステム12から受信する。通信端末11の計算能力はそこまで必要なく、クラウドシステム12での計算遅延も小さい点が優れているが、通信端末11とクラウドシステム12との通信遅延が問題となる。
 それに対し、図3(C)の例では、通信端末11、クラウドシステム12、および通信ネットワーク13がそれぞれ、DNNの計算の一部を担当する。言い換えれば、通信ネットワーク13も、通信端末11において実行されるMLアプリケーションに対して、計算パワーを提供する。クラウドシステム12の計算能力の高いクラウドサーバーがDNNの計算の一部を担当するため、通信端末11だけがDNNの計算を行う場合よりも、計算遅延は抑えられる。また、図3(C)の例では、通信端末11からの送信データは、通信ネットワーク13によって受信されて処理された上で、クラウドシステム12に送信される。通信ネットワーク13からクラウドシステム12への送信データが、通信端末11からの送信データよりも小さくすることができれば通信時間は小さくなるため、クラウドシステム12だけが計算を行う図3(B)の場合よりも、通信遅延を減らすことが可能となる。ゆえに、各通信担当がDNNの計算に要する時間である計算遅延と、各通信担当がDNNの計算に必要な情報の通信に要する時間である通信遅延と、の総和が、図3(B)の場合よりも短くなる可能性がある。
 このように、本実施形態では、DNNの一連の計算を分散させて処理することにより、MLアプリケーションの実行に要する時間、より具体的には、DNNに対する入力が行われてからDNNからの出力が得られるまでの時間を所定の許容限度内に抑える。なお、以降、MLアプリケーションの実行に要する時間を実行遅延と記載する。
 また、通信ネットワーク13が計算担当と決定された場合は、さらに、通信ネットワーク13内の1以上の通信ノードが計算担当と決定される。なお、前述の無線通信ノード131およびドナーノード132は、通信ノードに該当する。また、コアネットワーク133内にも通信ノードが存在し、コアネットワーク133の通信ノードも計算担当として選ばれ得る。
 例えば、図2のDNNは、七つのレイヤを有しているが、第1および第2レイヤを通信端末11が担当し、第3および第4レイヤを無線通信ノード131が担当し、第5から7レイヤをクラウドシステム12が担当することが示されている。この場合、通信端末11は、第2レイヤにおける計算結果を無線通信ノード131に送信し、無線通信ノード131は、第2レイヤにおける計算結果から第3レイヤおよび第4レイヤの計算を行って、第4レイヤの計算結果をクラウドシステム12に送信し、クラウドシステム12は、第4レイヤにおける計算結果から第5レイヤから第7レイヤの計算を行う。なお、クラウドシステム12は、第7レイヤの計算結果を通信端末11に返信し、通信端末11が、第7レイヤの計算結果に基づいて、入力が画像猫という判定を行ってもよい。あるいは、クラウドシステム12は、第7レイヤの計算結果に基づいて入力が画像猫という判定を行い、判定結果を通信端末11に返信してもよい。
 なお、DNNには、畳み込みニューラルネットワーク(CNN)などのように様々な種類があるが、MLアプリケーションは、上記のように、レイヤごとに分担して計算が可能なDNNを用いるものとする。
 なお、本実施形態において、DNNのパラメータは更新されてもよいし、更新されなくてもよい。すなわち、DNNは既に学習を完了しており、DNNのパラメータは更新されないとしてもよい。あるいは、MLアプリケーションを介して、通信端末11のユーザから正解を受け取り、当該正解に基づいて、学習が実行されてもよい。ただし、学習が実行されてDNNが更新された場合、計算担当によって使用するDNNが異なるという事態を防ぐために、更新された新たなDNNが、計算担当に配布されるものとする。
 なお、通信ノードが計算担当と決定された場合、実際には、通信ノード内の通信を行うためのインフラストラクチャーに計算を実行させてもよい。あるいは、通信ノード内に計算を実行するサーバーを設けてもよい。なお、通信ノードのようなクラウドサービスよりも利用者に近い場所(エッジとも称される)からクラウドサービスの一部を代行する情報処理装置は、一般的にエッジサーバーと称される。
 なお、DNNの計算は、通信端末11、クラウドシステム12、および通信ネットワーク13のそれぞれに分散されるとは限られない。アプリケーションによっては、クラウドシステム12を利用せずに、通信ネットワーク13内でDNNの計算を完了させることも可能である。この場合、通信ルートの総距離が短くなるため、通信遅延をさらに低下させることできる。また、通信端末11はDNNの計算を行わず、クラウドシステム12および通信ネットワーク13にDNNの計算が分散される場合もあり得る。あるいは、MLアプリケーションを実行した通信端末11とは別に、通信ネットワーク13に接続されていて計算余力が大きい通信端末11を発見した場合、発見された通信端末11の承諾を得た上で、発見された通信端末11にDNNの計算の一部を担当さてもよい。また、通信端末11とクラウドシステム12との通信ルート間に存在する通信ノードのうちの少なくとも一つを計算担当にすると予め決めておいてもよい。
 なお、クラウドシステム12が最後の計算担当とであるとは限らない。場合によっては、クラウドシステム12が先に計算を行い、通信ネットワーク13がクラウドシステム12の計算を引き継ぐこともあり得る。
 DNNの一連の計算を分散させて処理する場合、計算担当に担当させる計算範囲、言い換えれば、担当範囲をどのように決めるかも重要である。さらに言い換えれば、DNNの一連の計算をどこで分離するかも重要である。DNNを分離させる場所をSplitting pointとも記載する。図2の例では、Splitting pointは、第2レイヤおよび第3レイヤの間と、第4レイヤおよび5レイヤの間と、に設定されており、DNNを三つの範囲に分離させている。
 図4は、Splitting pointに応じた遅延および出力データ量の相違について説明する図である。図4のドット柄の棒グラフは、入力層から当該棒グラフに対応する層までの計算を行った場合に、出力されるデータ量が示されている。図4によれば、各層から出力されるデータ量は均一ではなく、大きなデータ量を出力する層でDNNを分離しないほうが、通信遅延が大きくならず、好ましいことが分かる。また、図4の白色の棒グラフは、当該棒グラフに対応する層における計算遅延が示されている。例えば、「fc6」と名付けられた層に対応する白色の棒グラフが高いので、fc6の層の計算には時間がかかることが分かる。ゆえに、fc6の層の計算は、計算能力の高い装置に担当させたほうが好ましいことが分かる。
 このように、担当範囲によって、計算遅延および通信遅延が変動する。ゆえに、計算担当の決定に際して、各計算担当の担当範囲も決定することが好ましい。
 しかし、DNNの計算を分担させてMLアプリケーションの遅延を抑えることに成功しても、情報処理システム1の状況の変化によって、当該遅延が増加することがあり得る。例えば、計算担当の計算余力は常に一定ではないため、計算遅延は変動する。また、通信ネットワーク13内に無線通信ネットワークが含まれる場合、無線通信リンクの品質が頻繁に変動するため、通信遅延が変動しやすい。また、通信端末11が持ち運び可能である場合、通信端末11の移動によって通信ルートなども変更されてしまう。また、ネットワークトポロジーの変動もあり得る。このような状況の変化によって、アプリケーションの実行遅延が、当初は許容限度内だったにも関わらず、許容限度を超えてしまうこともあり得る。
 例えば、前述のIABネットワークは、バックホールリンクとアクセスリンクの統合を目的としており、アクセスリンクのみならず、バックホールリンクも無線回線である。そのため、通信リンクの状況が変化しやすい。ゆえに、IABネットワークが本実施形態の通信ネットワーク13に含まれる場合では、通信遅延が変動しやすく、当初の計算担当および担当範囲のままにしていると、DNNの計算の分散をしない場合よりも実行遅延が悪化する恐れがある。
 そこで、本実施形態は、情報処理システム1の状況に基づいて分散の動的変更を行う。より詳細には、計算担当となり得る計算担当候補の状況と、計算担当候補間の通信リンクの状況と、に基づいて、計算担当、担当範囲、計算担当間の通信ルートなどを変更する。 
 なお、IABネットワークでは、当該ネットワーク内の通信ノードがリレー通信を行う。これにより、ミリ波通信においても、通信可能な領域(カバレッジ)を担保することが可能となる。また、従来のTDM(Time Division Multiplexing)だけでなく、FDM(Frequency Division Multiplexing)またはSDM(Space Division Multiplexing)を用いて物理レイヤレベルでバックホールリンクとアクセスリンクを直交させるため、レイヤ3などの比較的高い通信レイヤにおけるリレー通信と比較して、効率の良い通信を行うことができる。また、IABネットワークでは、特に、ミリ波を用いた通信を想定しており、ミリ波通信におけるカバレッジ問題も、IABネットワークのようなリレー通信を用いることで改善することができ、カバレッジの拡大も効率的に行えるようになる。IABネットワークではマルチホップ通信も想定しており、将来的にはメッシュタイプへの展開も想定されている。
 なお、IABネットワークは、ミリ波通信に限られない。例えば、車にIABノードを搭載したVehicle tethering、電車に搭載したMoving cell、ドローンに搭載したDrone cellなどにも適用することができる。その他にも、IoT(Internet of things)向けの通信にも適用することが想定される。特にスマートフォンとウェアラブル機器を接続するウェアラブル向けテザリング通信などにも適用することが可能である。その他にも医療やファクトリーオートメーションといった領域にも適用することが可能となる。本実施形態にIABネットワークを適用する場合も同様である。
 なお、IABネットワークのアーキテクチャは、公知のものを用いてよい。図5は、IABネットワークのアーキテクチャの例を示す図である。図5(A)に示すように、ドナーノード132に該当するIAB-donorはgNB(Next Generation Node B)のような通信ノードが想定されている。その配下に、無線通信ノード131に該当し、リレーノードであるIAB-nodeが存在し、これらが複数マルチホップを構成しながら無線にて接続されていく。各IAB-nodeは、通信端末11に該当するUE(User Equipment)をアクセスリンクで接続する。IAB-nodeはバックホールリンクの冗長性を向上させるために、複数のIAB-nodeと接続してもよい。IAB-nodeはUEとしての機能(MT)と、通信ノードとしての機能(DU)と、を含む。つまり、バックホールリンクを用いて、ダウンリンク(DL)の受信と、アップリンク(UL)の送信と、を行う際はMTとして動作し、DL送信およびUL受信の際はDUとして動作する。UEからはIAB-nodeは通常の基地局のように見えるため、UEがレガシー端末であっても、図5(B)に示すようにIABネットワークに接続することが可能である。なお、MTとDUの組み合わせに限らず、MTとMT同士の組み合わせなどを用いてもよい。
 DNNの計算の分散および動的変更の効果について説明する。図6は、DNNの計算の分散の効果を示す図である。(1)の棒グラフは、通信端末11単体でDNNの計算を実行した場合の実行遅延を示す。(2)の棒グラフは、通信端末11と、クラウドシステム12内のクラウドサーバーと、でDNNの計算を実行した場合の実行遅延を示す。(3)の棒グラフは、通信端末11と、通信ネットワーク13内の通信ノードが有する、エッジサーバーの一種であるMEC(Multi-access Edge computing)サーバーと、でDNNの計算を実行した場合の実行遅延を示す。(4)の棒グラフは、通信端末11と、MECサーバーと、クラウドサーバーと、でDNNの計算を実行した場合の実行遅延を示す。また、棒グラフのドット柄の部分が計算遅延を表し、白色の部分が通信遅延を表す。
 なお、通信端末11は市販のラップトップを使用し、MECサーバーは、CPU(Central Processing Unit)がRyzen(商標登録)の3800Xでメモリが32GB(Giga byte)のものを使用し、クラウドサーバーは、CPUがIntel(登録商標)のCore i9-9900でメモリが128GBのものを使用し、クラウドサーバーのほうがMECサーバーよりも計算遅延が少なくなるようにしている。また、通信端末11とMECサーバーとの間の通信容量を100Mbps(Mega bit per second)とし、MECサーバーとクラウドサーバーとの間の通信容量を30Mbsと設定した。なお、DNNは、畳み込みニューラルネットワークの一種であるResNet(Residual Network)18を使用した。
 図6に示すように、(1)の場合は、通信遅延がないものの、実行遅延が212ms(millisecond)と最も大きい。(2)の場合は、通信遅延が大きくなる。(3)の場合は、MECサーバーが通信端末11に近いため通信遅延が抑えられているが、MECサーバーがクラウドサーバーよりも計算能力が低いために計算遅延が大きくなり、そのため、実行遅延が(2)の場合よりも大きくなっている。一方、(4)の場合は、クラウドサーバーがDNNの計算の全てを実行する場合よりも計算遅延が大きく、MECサーバーがDNNの計算の全てを実行する場合よりも通信遅延が大きくなるが、MECサーバーがDNNの計算の全てを実行する場合よりも計算遅延が小さく、クラウドサーバーがDNNの計算の全てを実行する場合よりも通信遅延が小さい。そして、(4)の場合は、実行遅延が53msと最小である。
 このように、DNNの計算の分散に通信ネットワーク13内の通信ノードも利用することにより、実行遅延を低減し得ることが分かる。なお、前述の図4で示した通り、計算遅延および通信遅延は担当範囲によって異なるため、図6のシミュレーション結果も、担当範囲によって変わり得る。つまり、担当範囲によっては、上記(4)の場合の実行遅延が、上記(1)から(3)の場合よりも大きくなるかもしれないが、担当範囲を適切に定めることにより、上記(4)の場合の実行遅延を、上記(1)から(3)の場合よりも小さくすることは可能である。
 また、DNNの計算の分散の動的変更の効果についても示す。図7は、シミュレーションに用いたIABネットワークにおけるネットワークトポロジーの図を示す。図7の例のネットワークは10個のノードから構成されており、10個のノードは、IABネットワークの無線通信ノード131Aから131Fと、IABネットワークのドナーノード132と、コアネットワーク133の通信ノード1331Aおよび1331Bと、クラウドサーバー121と、である。なお、無線通信ノード131Aから131Fのスペックは、図6の例のDNNの計算の分散の効果を示した際に用いたMECサーバーと同じであり、ドナーノード132と、通信ノード1331Aおよび1331Bと、クラウドサーバー121と、のスペックは、上記のDNNの計算の分散の効果を示した際に用いたクラウドサーバーと同じである。また、IABネットワークのアクセスリンクおよびバックホールリンクは、4Gbps(Giga bit per second)の通信容量を共有するものとする。ドナーノード132と通信ノード1331Aとの間の通信リンクは1Gbpsの有線リンクであり、通信ノード1331Aおよび1331Bの間の通信リンクは400Mbpsの有線リンクであり、通信ノード1331Bとクラウドサーバー121との間の通信リンクは100Mbpsの有線リンクである。
 また、通信端末11は、前述の市販のラップトップを使用し、図7の矢印のように移動したものとする。通信端末11は、まず最寄りの無線通信ノード131Fに接続するが、移動に伴って接続される無線通信ノード131が切り替えられていく。そのため、クラウドサーバー121への通信ルートも切り替わる。ゆえに、通信ルートが切り替わるたびに、計算担当および担当範囲を決定して、DNNの計算を実行させる。
 また、無線通信リンクの変動を模擬するため、シミュレーションのための通信容量の変動を定義した。図8は、シミュレーシのための通信容量の変動を示す図である。図8(A)が、図7の通信端末11と無線通信ノード131と間のアクセスリンクの通信容量の変動を示す。図8(B)が、図7の無線通信ノード131間の通信容量の変動を示す。アクセスリンクの例では、時間経過とともに通信容量が200Mbpsから800Mbpsまで変動させている。このリンク変動を用いて、無線通信リンクの変動による遅延の影響をシミュレーションした。
 図9は、通信ネットワーク13のリソースが実行遅延に与える影響を示す図である。図9(A)は、通信端末11とIABノードとの間の通信容量と実行遅延との関係を示す。図9(A)の棒グラフは実行遅延を表し、無線通信リンクの通信容量の大きい左側の棒グラフのほうが小さくなっている。つまり、無線通信リンクの通信容量が上がるにつれて、実行遅延は改善される。逆に言うと、無線通信リンクの品質が劣化して通信容量が減少した場合、実行遅延も同時に増大してしまう。無線通信リンクの品質は変動しやすいことから、DNNの計算を分散する際は、無線通信リンクの品質を考慮して分散のための設定を変更する必要がある。また、図9(B)は計算担当となったIABノードの計算余力と実行遅延との関係を示している。図9(B)でも、計算余力の大きい左側の棒グラフのほうが小さくなっており、IABノードの計算余力が上がれば上がるほど遅延量の削減が期待できる。また、図9で示したように、DNNの各レイヤにおける計算遅延もばらばらであるため、IABノードの計算余力の変動に応じて、担当範囲を決定する必要がある。
 このように、通信リンクの品質、通信ノードの計算余力といった通信ネットワーク13のリソースは実行遅延に影響を与えるが、これらは、ネットワークトポロジーの変化、アプリケーション要求の変化などによって、時間とともに変動し得るため、これらの変動に追従してDNNの計算の分散を動的に変更する。つまり、通信リンクの品質、各計算担当の計算余力の状況を鑑みて、計算担当、担当範囲、通信ルートなどを動的に変更することが好ましい。
 DNNの計算の分散および動的変更を行うための一連の処理について説明する。まずは、DNNの分散を実施する際に必要となるKPI(Key Performance Indicator)、制御対象、使用する情報の例を以下に示す。
 KPIとしては、前述の通り、MLアプリケーションの実行遅延である。MLアプリケーションの実行遅延には、各計算担当における計算遅延と、各計算担当間の通信遅延と、が少なくとも含まれる。なお、一つ前の計算担当からの計算結果を受信してから、自分の担当範囲の計算を始めるまでに行われる処理による遅延は考慮せず、各計算遅延と各通信遅延との総和を、実行遅延とみなしてもよい。
 制御対象は、ルーティング、各通信ノードにおけるDLまたはULの設定(DL/UL configuration)、DNNのSplitting pointなどが想定される。
 使用する情報は、各計算担当候補の処理の能力、各無線通信リンクの状況、MLアプリケーションの要求仕様、通信ネットワーク13の要求仕様、通信端末11の移動状況(モビリティ)などが想定される。なお、計算担当候補は、通信端末11、クラウドシステム12、および通信ネットワーク13内の通信ノードであるが、通信端末11およびクラウドシステム12については、予め計算担当とするかどうかが決まっていてもよく、その場合、計算担当候補から外してもよい。
 各計算担当候補の処理の能力としては、計算能力(Capacity)、現時点の計算余力などが想定される。例えば、最初は、通信ネットワーク13に属する計算担当候補のうち、最も計算能力を有する計算担当候補に、計算担当を任命し、計算担当の計算余力が所定閾値以下に減少した場合に、計算余力を十分に有する別の計算担当候補に担当を変更するようにしてもよい。このように、計算担当の計算余力に基づいて、計算担当の変更が行われてもよい。
 通信リンクの状況としては、通信容量、通信品質などが考えられる。なお、IABネットワークならば、バックホールリンクおよびアクセスリンクの状況を含む。
 MLアプリケーションの要求仕様としては、MLアプリケーションの実行遅延の許容限度、言い換えれば、MLアプリケーションが許容する実行遅延の上限値が想定される。また、通信遅延および計算遅延にも個別に許容される上限値が定められていてもよい。
 通信の要求仕様としては、各リンクにおけるトラフィックの上限値が想定される。また、通信端末11とクラウドシステム12間に設定されたルート上におけるトラフィックの上限値が設定されてもよい。これらの上限値は、MLアプリケーションの要求仕様と、DNNのSplitting pointと、に基づいて決定されてもよい。通信端末11の移動状況は、移動速度、移動方向、移動パターンなどの移動に関する情報であればよい。
 次に、計算担当および担当範囲の決定を行う主体について説明する。計算担当および担当範囲の決定は、情報処理システム1に属するいずれかの装置が行えばよく、特に限定されるものではない。すなわち、計算担当および担当範囲の決定を行う主体は、適宜、定めることが可能である。なお、通信端末11、通信ノード、クラウドサーバーなど、情報処理システム1に属する装置を区別しない場合は、これらをエンティティと記載し、計算担当および担当範囲の決定を行う主体を、論理エンティティと記載する。
 例えば、通信ネットワーク13の通信ノードやクラウドシステム12内に当該決定を行うサーバーなどを実装して論理エンティティにしてもよいし、通信ノード内の通信を行うためのインフラストラクチャーに、計算担当および担当範囲の決定を司るモジュールを実装して論理エンティティしてもよい。
 ただし、計算担当および担当範囲の決定のためには、情報処理システム1のリソースの状況を常時認識しているほうが好ましく、そのための通信に適した位置に存在する装置が論理エンティティとなることが好ましい。
 また、計算担当および担当範囲の両方を一つの論理エンティティが決定してもよいし、計算担当を決定する論理エンティティと、担当範囲を決定する論理エンティティと、に分かれていてもよい。
 情報処理システム1のリソースは、情報処理システム1に属する計算担当候補の計算余力、通信ネットワーク13内の通信リンクの通信容量、通信品質などがある。
 通信環境の変動としては、例えば、通信リンクの品質、通信ノードの計算余力、ネットワークトポロジー、通信ルートなどの変動が想定される。
 本実施形態の処理の流れについて説明する。図10は、本実施形態の全体処理の流れを示した概略シーケンス図である。なお、図10では、説明の都合上、通信ノードとクラウドサーバーはセットにして表されている。
 また、情報処理システム1のエンティティは、図示されていないが、各処理を担当する構成要素から構成されるものとする。本説明では、論理エンティティは、受信部と、送信部と、決定部と、を備える。また、通信端末11、通信ノード、クラウドサーバーといった計算担当候補は、受信部と、送信部と、取得部(測定部)と、設定部と、計算部と、を備える。図10の各処理の主体は、上記の構成要素とする。
 論理エンティティの送信部が、計算担当などの決定に用いられる情報処理システム1のリソースなどの情報の取得および送信に関する設定を、通信端末11、通信ノード、クラウドサーバーといった各エンティティに送信する(T101、Measurement configuration)。各エンティティの受信部は論理エンティティからの当該取得設定を受信し(T102)、各エンティティの取得部は当該設定に基づいてリソースに関する情報を取得し(T103)、各エンティティの送信部は当該設定に基づいて取得したリソースに関する情報を論理エンティティに送信する(T104)。
 論理エンティティの受信部は、各エンティティからのリソースに関する情報を受信し(T105)、論理エンティティの決定部は、MLアプリケーションの実行遅延を許容限度内に収めるべく、各エンティティの制御内容を決定する(T106)。後述するが、計算担当として任命されるか否かは、本制御内容として決定される。さらに、論理エンティティの決定部は、決定された制御内容を実現するために、通信端末11および通信ノードに設定されるパラメータの値、言い換えれば設定値を決定する(T107、Parameter configuration)。決定された設定値は、論理エンティティの送信部によって、通信端末11および通信ノードに送信される(T108)。
 各エンティティの受信部は、論理エンティティからの設定値を受信し(T109)、各エンティティの設定部が、各エンティティが動作するためのパラメータが当該設定値に設定する(T110)。これにより、現在のリソース状況に適した、MLアプリケーションの実行環境が整備されたことになる。
 その後、通信端末11においてMLアプリケーションが実行される(T111)。なお、通信端末11が計算担当と指定されている場合は、通信端末11の計算部が担当の計算範囲の計算を行う。そして、通信端末11の送信部が、DNNの計算に必要な情報を指定先に送信する(T112)。通信端末11が計算担当と指定されている場合は、DNNの一連の計算の途中までの計算結果が当該情報に含まれ、通信端末11が計算担当と指定されていない場合は、DNNへの入力が当該情報に含まれる。また、指定先は、次の計算担当である。
 次の計算担当の受信部はDNNの計算に必要な情報を受信し(T113)、次の計算担当の計算部が自身の担当範囲の計算を行い(T114)、次の計算担当の送信部が計算結果をさらに次の計算担当に送信する(T115)。このT113からT115の処理が各計算担当により行われる。なお、計算担当に指定されなかったエンティティは、DNNの計算は行わない。また、最後の計算担当の送信部は、計算結果を通信端末11に返信する。通信端末11の受信部はDNNの最終の計算結果を受信し(T116)、最終の計算結果に基づいてMLアプリケーションの処理が実行される(T117)。このようにして、MLアプリケーションの処理が完了する。
 なお、MLアプリケーションの処理が完了した後も、各エンティティは、取得設定に基づいてリソースの取得および送信を行い、論理エンティティは、リソースを受信する度に、実行遅延が許容上限値を超えるか否かを判定し、超えると判定された場合に、制御内容の変更を行ってもよい。このようにして、MLアプリケーションが再度実行された場合に備えておいてもよい。なお、リソースの取得および送信を停止し、MLアプリケーションの起動を検知した場合などに、リソースの取得および送信を再開するとしてもよい。
 上記シーケンスの各処理について補足する。まず、取得される情報について説明する。 
 論理エンティティから取得するよう指示される情報は、計算パワーに関する情報であってもよい。計算パワーに関する情報としては、例えば、最大計算能力(Capability)、計算余力、計算負荷(計算量)、計算負荷から想定される計算遅延量などが上げられる。例えば、各エンティティが備えるGPU(Graphical Processor Unit)の数を最大計算能力としてもよい。また、現状の未使用であるGPUの数を計算余力としてもよい。
 また、当該情報は、接続されている通信リンクの状況に関する情報であってもよい。例えば、Radio link failureなどの無線通信リンク接続に関する情報でもよいし、RSRP(Reference Signal Received Power)、RSRQ(Reference Signal Received Quality)、RSSI(Reference Signal Strength Indication)などといった無線通信リンクの通信品質の情報でもよい。また通信リンクのスループットや遅延に関する情報を用いてもよい。
 また、当該情報は、MLアプリケーションの要求仕様に関する情報であってもよい。例えば、MLアプリケーションが許容する遅延の上限値などがある。なお、MLアプリケーションの要求仕様は、通信端末11ごとに異なっていてもよい。
 また、当該情報は、通信ネットワーク13のトラフィックに関する情報であってもよい。例えば、トラフィックの上限値、トラフィックのバッファステータスなどが上げられる。なお、実際のトラフィックの測定値ではなく推定値が用いられてもよい。
 また、当該情報は、通信端末11の移動(モビリティ)に関する情報であってもよい。MLアプリケーションの実行中に、通信端末11が移動することもあり得る。移動によって通信品質に影響を及ぼすため、例えば、移動速度、移動方向といった情報を取得してもよい。
 また、当該情報は、DNNの計算に関する情報であってもよい。例えば、各エンティティにDNNのレイヤごとの計算遅延を推定させてもよい。また、予め複数の担当範囲候補を定めておき、論理エンティティは、各エンティティに各担当範囲候補の計算遅延をそれぞれ推定するように指示してもよい。また、DNNの計算による負荷(例えばGPU使用率など)を推定させてもよい。なお、計算遅延は、過去の計算履歴に基づいて算出されてもよいし、図4に示したデータサイズを現在の計算余力が続いたと仮定して計算した際の理論上の時間として算出されてもよい。
 なお、エンティティは、指示された情報を実際に計測し、その実測値を論理エンティティに送信してもよい。あるいは、実測値に基づいて算出された将来の推定値を論理エンティティに送信してもよい。例えば、MLアプリケーションの実行予定時刻が10秒後であれば、10秒後の通信端末11の予想位置を論理エンティティに送信してもよい。また、通信端末11および通信ノードは、実測値を量子化してもよいし、実測値が予め定めた分類項目のいずれに該当するかを判定し、該当するとされた分類項目の情報を論理エンティティに送信してもよい。推定は、これまでの記録に基づいて行えばよい。
 リソースに関する情報の取得方法は、公知技術を用いてよい。例えば、計算能力、計算余力といったエンティティの性能に関する情報は、エンティティに搭載されたOS(operating system)などが提供するツールなどの機能を利用して取得してもよい。また、通信リンクの品質に関する情報、例えば、RSRQなどの通信品質は、公知技術を用いて確認されてよい。
 また、論理エンティティに送信される情報を収集して代表して論理エンティティに送信するといった代表者的な振る舞いをする通信ノードが存在していてもよい。その場合、例えば、各リンクのトラフィック、通信端末11の移動などの情報は、複数の通信ノードからの情報が合算された上で、論理エンティティに送信されてもよい。
 また、情報の取得のタイミングなども指定されてよい。定期的な取得(Periodical measurement)が指示されてもよい。例えば、論理エンティティが、取得開始時間、取得終了時間、取得期間を決定して各エンティティに指示し、各エンティティが当該指示に従って取得を行ってもよい。また、取得回数、反復待機期間なども指示されてよい。また、動的な取得(Trigger based measurement)が行われてもよい。各エンティティが動的に取得を開始するためのトリガー条件は、適宜に定めてよい。例えば、無線通信リンクの異常(failure)を検知したときに、取得が開始されてもよい。あるいは、ノードの処理負荷、MLアプリケーションの遅延、通信遅延などが、所定閾値を超えた場合に、取得が開始されてもよい。なお、これらの閾値は、論理エンティティにより調整されてもよい。あるいは、取得のリクエストを受信した際に取得が開始されてもよい。当該リクエストは論理エンティティから送信されてもよいし、論理エンティティとは別の上位ノードから送信されてもよい。
 例えば、バックホールリンクの品質を測定するために、例えば、10msの期間におけるバックホールリンクのRSRQの測定を、例えば100ms間隔といった定期的に実行するような指定が行われてもよい。
 これらの情報の論理エンティティに対する送信、言い換えればレポートは、適宜に行えばよく、送信タイミングも、送信されるデータの形式も特に限られるわけではない。例えば、情報を定期的に取得するよう指示された場合、当該送信も定期的に行うとしてもよい。あるいは、通信リンクのRSRQの値が所定閾値以下になったとき、ノードの処理負荷が所定の閾値以上になったとき、などの条件を満たした場合に行われてもよい。また、取得した直後に送信しても、取得からのオフセット時間が経過した後に送信してもよい。また、取得された値が条件を満たしたときに送信されるとしてもよい。例えば、計算担当、担当範囲などの変更が必要とされる程度の変動があった場合にレポートを行い、そうでない場合は、レポートを行わないとしてもよい。
 また、各エンティティは、取得した情報全てを論理エンティティに送信しなくともよい。例えば、情報を細かい粒度で取得し、取得された情報のうち、変動が大きいもの、閾値を超えたものなど、所定条件を満たした情報だけを、論理エンティティに送信してもよい。すなわち、論理エンティティは、取得させる情報と、報告させる情報と、を別々に指示してよい。また、論理エンティティへのレポートのために、取得された情報は、適宜、加工されてよい。
 また、当該設定はエンティティごとに異なっていてもよい。例えば、クラウドシステム12に接続されている通信リンクは有線であって安定していることが想定されるため、クラウドシステム12は通信リンクに関する情報を取得不要としてもよい。
 次に、制御内容の決定について説明する。決定される制御内容としては、通信リンク、無線通信パラメータに関するものがある。また、計算担当、担当範囲なども決定される。 
 通信リンクに関する制御としては、例えば、通信ルートの決定がある。例えば、通信ネットワーク13がIABネットワークなどのリレー方式のネットワークを含む場合、リレーのルートを決定する。なお、通信端末11とクラウドシステム12との通信ルート上の通信ノードから計算担当を選出しようとしても、当該通信ルート上に計算余力がある通信ノードがないと選出できない。そのため、論理エンティティは、通信リンクの品質のみならず、通信ノードの計算能力、計算余力なども用いて、通信ルートを決定してもよい。また、経由するIABノードの変更およびホップ数の変更も同様に行ってもよい。
 通信パラメータに関する制御としては、例えば、通信ルート上の通信リンクの品質の向上がある。これにより、通信遅延を抑えられる。例えば、論理エンティティは、通信ルート上の無線通信ノード131に対して、送信する無線電波の強度(送信電力)を上昇させるような設定値を送信することが考えられる。また、干渉が起きないように、当該無線通信ノード131に対し、通信ルート上ではない無線通信リンクの通信容量を削減させてもよい。このようにして、通信リンクの品質を向上する設定値を決定してもよい。
 また、無線通信パラメータに関する制御として、無線通信リンクにおけるダウンリンク(DL)およびアップリンク(UL)の対応関係を変更してもよい。無線通信リンクでは、DLおよびULの一方の通信帯域を増やし、他方を減らすといった調整が可能である。そのため、DLとULの対応関係を通信遅延が減るように調整してもよい。なお、通信遅延は、送信されるデータのサイズと、データが流れる通信リンクの通信容量と、から算出すればよい。通信品質による遅延も考慮してもよい。
 ただし、通信帯域を調整すると、干渉が起きやすくなる。例えば、IABネットワークでは、IABネットワークリンクとのCLI(Cross link interference)が起きやすくなる。そのため、通信帯域の調整には十分留意する必要がある。
 計算担当および担当範囲は、各無線通信ノード131の計算余力、各担当範囲において出力されるデータ量、通信ルート上の通信リンクの品質などを鑑みて決定される。少なくとも遅延のボトルネックとなるような無線通信ノード131が計算担当とならないようにする。
 ただし、計算担当と担当範囲の最適解の探索には負荷および時間がかかる。通信ルート、DNNのレイヤ数によって、計算担当候補の数が指数関数的に増えるためである。ゆえに、予め計算担当候補を絞り、準最適解を探索するほうが、処理が容易となる。例えば、事前に担当範囲の組み合わせを複数用意しておき、通信環境の状況に応じて、使用する組み合わせを変更してもよい。ここでは、事前に用意された担当範囲の組み合わせをSplitting modeとも記載する。
 図11は、Splitting modeを説明する図である。図11には、四つのSplitting modeが示されている。なお、図11のような複数のSplitting modeを示す表を、Splitting mode tableとも記載する。図11の例では、四つのSplitting modeから、MLアプリケーションの実行遅延が最も小さくなるSplitting modeを選択することにより、各計算担当の担当範囲を決定する。なお、図11の例では、通信端末11と、通信ネットワーク13内の通信ノードと、クラウドシステム12と、が計算担当とされているが、計算担当が異なるSplitting modeが用意されていてもよい。また、例えば、MLアプリケーションの実行開始当初は、特定のSplitting modeをデフォルトで選択し、その後に、別のSplitting modeに切り替えるとしてもよい。例えば、通信端末11以外の計算担当の負荷が高いと判定された場合に、通信端末11以外の計算担当の担当範囲が小さい、2行目のSplitting modeを選択して、通信端末11に負荷を肩代わりしてもらうことが考えられる。このように、特定の計算担当に負荷があるような場合に、当該計算担当の担当範囲が小さいSplitting modeに切り替えることで、容易に改善を行うことができる。なお、Splitting modeを切り替えるかどうかの検討も、定期的に実行されてもよいし、動的に実行されてもよい。
 通常時に使用するSplitting modeと、通常時に使用するSplitting modeではMLアプリケーションの要求を満たせないと判定された場合に使用する臨時のSplitting modeと、の両方を決定しておいてもよい。そうすると、MLアプリケーションの要求を満たせないと判定された場合に適切なSplitting modeを選択するという処理を行わずに、Splitting modeを迅速に切り替えることができる。
 このように、事前に担当範囲の候補を用意しておくことにより、分散の動的変更を容易にしてもよい。また、Splitting modeの内容、つまり、各計算担当の担当範囲は適宜論理エンティティによって更新されてよい。なお、各計算担当が更新前のSplitting modeに基づいて計算を行わないように、更新されたSplitting modeは、逐次、各エンティティに通知される。
 また、通信ルートごとに、Splitting modeを設定してもよい。図12は、通信ルートごとに設定されたSplitting modeについて説明する図である。図12には、Route_A、Route_B、Route_Cの三つの通信ルートが示されている。これらの三つの通信ルートそれぞれごとに、図11に示したような複数のSplitting modeを設定する。
 例えば、通信ルートRoute_Aでは、通信ルートRoute_A上に存在する、クラウドシステム12と、コアネットワーク133の通信ノードと、ドナーノード132と、無線通信ノード131Cと、無線通信ノード131Aと、通信端末11Aとが、計算担当候補となる。これらの計算担当候補に対し、DNNのレイヤを割り当てて、Splitting mode tableを作成する。同様に、通信ルートRoute_BおよびRoute_Cに対しても、計算担当候補を選出して、Splitting mode tableを作成する。
 図13は、通信ルートごとのSplitting modeの例を示す図である。図13(A)は通信ルートRoute_AのSplitting mode tableを示し、図13(B)は通信ルートRoute_BのSplitting mode tableを示す。図13の例では、DNNのレイヤ数を40と想定しており、Splitting mode tableの各セルの数値は、対応する計算担当候補が担当するレイヤの数を示す。なお、セルに「0」が記載されている場合は、対応する計算担当候補が担当するレイヤがないことを意味する。つまり、計算担当とはならないことを意味する。
 なお、上記では、論理エンティティが担当範囲、つまり、Splitting modeを決定することを想定していたが、論理エンティティはSplitting mode tableを作成して計算担当にSplitting mode tableを送信し、計算担当がSplitting modeを選択するという方法もあり得る。例えば、通信端末11がハンドオーバーを行って接続先の無線通信ノード131を変更した際に、通信端末11が変更後の通信ルートのSplitting mode tableから、Splitting modeを選択し、選択したSplitting modeを各計算担当に通知することで、Splitting modeの再設定を行うことも可能である。
 なお、有線リンクを用いる計算担当の担当範囲は、固定としてもよい。例えば、クラウドシステム12と、コアネットワーク133のエッジサーバーとは、無線通信を行わないため、通信リンクの状況変化が少ないと思われる。このように通信環境の変動があまりない場所に存在する計算担当の担当範囲を固定にすることで、Splitting modeのバリエーションを減らすことが可能となる。例えば、図13(A)に示した通信ルートRoute_AのSplitting modeは、七つの計算担当候補を含んでいるが、設定を行うことで、準最適なSplitting modeの割り当てを行うことが可能となる。クラウドシステム12と、コアネットワーク133と、の割り当て値を固定にすることにより、Splitting modeのバリエーションの数を減らすことができる。
 また、論理エンティティは、アンカーポイントに基づいて、Splitting mode tableの変更を行ってもよい。アンカーポイントは、通信端末11が想定移動エリア内にいる限り、通信端末11に設定される通信ルート上に必ず存在する通信ノードである。通信端末11の移動によって通信ルートは変更されるが、通信端末11の想定移動エリア内において設定され得る全ての通信ルートに共通する通信ノードがアンカーポイントである。例えば、図12の例において、通信端末11が無線通信ノード131Aから131Dまでのいずれかと無線接続するならば、クラウドシステム12との通信ルート上に必ずドナーノード132が存在する。ゆえに、図12の例では、ドナーノード132はアンカーポイントである。例えば、論理エンティティは、アンカーポイントが通信ルートからなくならない限り、Splitting mode tableのうちから、Splitting modeを決定し、アンカーポイントが通信ルートからなくなったことを検知した場合に、Splitting mode table自体の再設定を行ってもよい。このように、通信ルート上に所定の通信ノードが存在しなくなったときに、Splitting mode tableの再作成を行ってもよい。
 また、論理エンティティは、各計算担当の担当範囲をレイヤ単位で変更してもよい。例えば、通信端末11の担当範囲がレイヤ1から4までと決定した後に、通信端末11の負荷が少し上昇した場合に、通信端末11の担当範囲をレイヤ1から3までに変更し、担当範囲外となったレイヤ4を次の計算担当に担当させるといった調整が行われてもよい。この場合は、Splitting modeレベルよりも細かい粒度での制御となり、論理エンティティの負荷が増えるが、MLアプリケーションの要求を満たさなくなるリスクを減らすことができる。
 次に、パラメータの設定について説明する。通信端末11および通信ノードは、論理エンティティによって決定された内容に従って、通信リンク、担当範囲などに関するパラメータの値を更新する。パラメータの設定の指示は、論理エンティティから、直接指示されてもよいし、複数の無線通信ノード131を束ねる代表者的な無線通信ノード131を介して、間接的に指示されてもよい。通知方法としては、特に限られるものではなく、アプリケーションレイヤにおけるシグナリング通知でもよいし、物理レイヤにおけるシグナリング通知でもよい。RRC(Radio Resource control) signalingのような準静的通知でもよいし、DCI(Downlink control information)またはUCI(Uplink control information)のような動的通知でもよい。
 さらに、計算担当が切り替えられるときのシーケンス図も例示する。図14は、計算担当が切り替えられる前後のシーケンス図である。なお、説明の便宜上、図14のブロックには、図10で示した処理の符号が記載されている。
 図14の例では、ドナーノード132に論理エンティティが実装された場合を示す。また、当初は、通信端末11と、無線通信ノード131A、無線通信ノード131C、およびクラウドシステム12が計算担当であったが、無線通信ノード131Aと無線通信ノード131Cとのバックホールリンクの品質が悪化し、担当範囲の切り替えが実行されるとする。なお、図10に示したパラメータの設定(T110)までの処理は実行済みとし、T111の処理から示す。
 通信端末11のMLアプリケーションが実行されて(T111)、通信端末11が、DNNの計算に必要な情報を次の計算担当に送信する(T112)。次の計算担当である無線通信ノード131Aが、当該情報を受信し(T113)、自身の担当範囲の計算を行い(T114)、計算結果を次の計算担当である無線通信ノード131Cに送信する(T115)。無線通信ノード131Cも同様に、T113からT115の処理を実行し、次の計算担当であるクラウドシステム12に無線通信ノード131Cの計算結果が送信される。次の計算担当であるクラウドシステム12も同様に、T113からT115の処理を実行し、クラウドシステム12が最終の計算担当であるので、クラウドシステム12からDNNの最終の計算結果が通信端末11に送信される。
 その後、各エンティティにおいて定期のリソースの取得(T103)が実行され、問題を検知した無線通信ノード131Aが論理エンティティであるドナーノード132にレポートする(T104)。なお、図14の例では、コアネットワーク133とクラウドシステム12とは論理エンティティへのレポートはしない設定となっており、コアネットワーク133とクラウドシステム12にはT104のブロックが示されていない。また、それら以外のエンティティも、悪化を検知しなかった場合には論理エンティティへのレポートはしない設定となっている。そのため、問題を検知した無線通信ノード131A以外のエンティティはレポートを行っていないため、T104のブロックが示されていない。
 例えば、各エンティティがバックホールリンクに対する測定を行う。そして、無線通信ノード131Aが無線通信ノード131CとのバックホールリンクのRSRQの値が所定値以下になったことを検知し、論理エンティティに送信するといったことが想定される。 
 論理エンティティであるドナーノード132は、無線通信ノード131Aのレポートを受信し、レポーティングの結果から問題のバックホールリンクの帯域を増強するだけでは不十分と判断し、計算担当の変更などの新たな設定を決定し、各エンティティに送信する(T105からT108)。なお、図14の例では、論理エンティティは、新たな設定が必要なエンティティのみに設定を送信しているため、コアネットワーク133およびクラウドシステム12には送信を示す矢印が示されていない。なお、新たな設定が必要ないエンティティに設定を送信してもよい。
 なお、論理エンティティは、追加のレポートを各エンティティに要求してもよい。例えば、バックホールリンクに問題があるとのレポートを無線通信ノード131Aから受けたときに、当該バックホールリンクの帯域の増強で対応できるかを検討するために、無線通信ノード131Aの周辺の通信ノードに対して、トラフィックバッファなどのレポートを送信するように要求してもよい。
 論理エンティティから新たな設定を受信した各エンティティは、新たな設定を受信してパラメータに設定する(T109、T110)。図14の例では、無線通信ノード131Aから無線通信ノード131Cへのバックホールリンクがなくなり、無線通信ノード131Aから無線通信ノード131Dへのバックホールリンクが新設されたとする。これに伴い、通信ルートが変更され、通信ルート上にない無線通信ノード131Cが計算担当から外れ、無線通信ノード131Dが計算担当に追加されたとする。
 その後、再び、MLアプリケーションが実行されて(T111)、通信端末11が、DNNの計算に必要な情報を次の計算担当の無線通信ノード131Aに送信する(T112)。無線通信ノード131Aは、前回同様、当該情報を受信し(T113)、自身の担当範囲の計算を行うが(T114)、計算結果は、無線通信ノード131Cではなく、新たに次の計算担当になった無線通信ノード131Dに送信する(T115)。これにより、前回とは異なり、無線通信ノード131CではT113からT115の処理は実行されない。無線通信ノード131Dも同様に、T113からT115の処理を実行し、次の計算担当であるクラウドシステム12に無線通信ノード131Dの計算結果が送信される。次の計算担当であるクラウドシステム12も同様に、T113からT115の処理を実行し、クラウドシステム12が最終の計算担当であるので、クラウドシステム12からDNNの最終の計算結果が通信端末11に送信される。
 このように、計算担当が変更されることによって、問題のあるエンティティによる計算遅延と、問題のある通信リンクによる通信遅延と、を抑えることができ、MLアプリケーションの実行遅延が許容上限値を超えてしまうことを防ぐことができる。
 なお、図14の例では、バックホールリンクの帯域を増強するだけでは不十分と判断して、通信ルートの変更と計算担当の変更が行われたが、担当範囲の変更だけで対応可能と判定された場合は、計算担当の変更だけを行うとしてもよい。例えば、図11で示したようなSplitting mode tableから、無線通信ノード131Cの担当範囲が小さくなるようなSplitting modeを選択してもよい。また、例えば、今までは、無線通信ノード131Aの担当範囲がDNNのレイヤ20からレイヤ25までであり、無線通信ノード131Cの担当範囲がDNNのレイヤ26からレイヤ40までであったところ、無線通信ノード131Aの担当範囲をDNNのレイヤ20からレイヤ29までに増やし、無線通信ノード131Dの担当範囲をDNNのレイヤ30からレイヤ40としてもよい。このようにして、無線通信ノード131Cに引き続き計算担当を任せるようにしてもよい。
 また、担当範囲の変更は、図14の例のような計算担当が変更された場合においても行われてもよい。
 なお、本説明では、情報処理システム1に、通信端末11と、通信ネットワーク13と、クラウドシステム12と、が含まれるとしたが、現実的には、これらの所有者は異なると想定される。また、IABネットワークなどの通信端末11のアクセスのためのネットワークと、コアネットワーク133と、も所有者が異なると想定される。そのため、論理エンティティが指示および設定可能な範囲は、情報処理システム1の一部であってもよい。例えば、論理エンティティがIABネットワーク内の通信ノードである場合、論理エンティティは、クラウドシステム12の計算範囲などは変更できず、IABネットワーク内の通信ノードに対する設定のみを行うとしてもよい。
 以上のように、本実施形態では、情報処理システム1のリソースの変動によって、MLアプリケーションの実行に要する時間が上限値を超えてしまう場合に、計算担当、担当範囲、通信リンクの通信容量、通信ルートなどの設定変更を実行する。これにより、当該変動の影響を抑えて、MLアプリケーションを快適に動作させることが可能となる。
 なお、DNNの全ての計算をクラウドサーバーなどの外部の装置に代行させる場合、DNNへの入力が通信端末11から外部の装置に送信されることになる。例えば、m個のノードが入力層に含まれる場合では、入力1,入力2,・・・,入力mといった値から構成された入力データが通信端末11の外部に送信されることになる。しかし、このことがプライバシーや情報漏洩といった観点から問題であるとも指摘されている。ゆえに、通信端末11がDNNの一連の計算の最初から途中までの計算を少なくとも担当することによって、入力データそのものを外部に送信しないようにすれば、このような問題も軽減することができる。
 また、これまでの説明では、計算担当および担当範囲の決定を行う主体を、論理エンティティと記載し、論理エンティティを、通信ネットワーク13の通信ノードやクラウドサーバーなどが担当することを想定した。例えば、情報処理システム1のリソースの状況に応じて計算担当および担当範囲を決定することができるよう、リソースの状況を把握するのに適した装置が論理エンティティとすればよいことが示されている。また、通信ルート上の無線通信ノード131に対して通信リンクの品質を向上するような指示を出すような装置が論理エンティティとされることが示されている。また、通信端末11も論理エンティティになり得る。換言すると、通信端末11が計算担当および担当範囲の決定を行ってもよい。
 また、図10などに示したように、これまでの説明では、通信端末11などの各エンティティは定期的にリソースを論理エンティティに送信し、論理エンティティは各エンティティのリソースに基づいて計算担当および担当範囲を決定し、各計算担当に通知していた。そのため、通信端末11がMLアプリケーションを起動させた時点またはMLアプリケーションがDNNの計算を実行する時点において、計算担当および担当範囲が決定済みであった。しかし、担当範囲を決めるための条件を論理エンティティなどから通信端末11に予め通知することにより、通信端末11が自分自身の担当範囲を自分自身で決定するといったことも可能である。なお、条件を通信端末11に送信するエンティティが論理エンティティでなくてもよい。
 例えば、通信端末11は、MLアプリケーションの実行時において、自身の計算余力、クラウドシステム12との通信品質などといった事項を確認し、DNNの計算をいずれの位置まで行うかを当該事項に応じて決定してもよい。なお、通信端末11は、DNNのいずれかのレイヤまで計算を行うと決めてもよいし、あるレイヤ内のノードに設定された複数の計算の一部まで計算を行うと決めてもよい。あるいは、論理エンティティが、各計算担当を決定した後に、通信端末11に対し最低限計算して欲しい担当範囲を通知し、通信端末11が当該事項に応じて当該担当範囲を拡大してもよい。あるいは、論理エンティティが、各計算担当を決定した後に、通信端末11に対し、実施してもよい担当範囲(言い換えれば、担当範囲の上限)を通知し、通信端末11が当該事項に応じて論理エンティティから通知された担当範囲を縮小してもよい。
 通信端末11の担当範囲を決定するための条件を通信端末11が保持し、通信端末11が動的に担当範囲を決定する場合には、通信端末11がMLアプリケーションを起動させた時点またはMLアプリケーションがDNNの計算を実行する時点のリソースに基づいて、担当範囲を決定することができる。ゆえに、通信端末11の担当範囲を、通信端末11の状態により応じたものとすることができる。また、この場合、通信端末11から論理エンティティへのリソースの定期送信や論理エンティティから通信端末11への担当範囲変更の通知の回数を抑えることができ、各エンティティの処理負荷や通信リソースの使用を軽減することができる。
 図15は、通信端末11の担当範囲を決定するための条件の一例を示す図である。図15(A)の例では、通信端末11の計算余力に基づいてDNNの計算範囲を決定する条件が示されている。例えば、図15(A)の例では、計算余力が90%以上の場合には担当範囲がnと示されているが、これは、DNNの第1レイヤから第nレイヤまでの計算を通信端末11が担当することを示す。なお、図15の例では、nは10以上の整数であることを想定している。また、第nレイヤは、DNNの最終レイヤであってもよいし、論理エンティティから通知された担当範囲の最終レイヤであってもよい。また、計算余力が減少するにつれて担当範囲が減少されることが示されている。図15(A)の例では、計算余力が90%未満で80%以上の場合には担当範囲が第4n/5レイヤまでと示されており、計算余力が90%以上の場合よりも低下している。同様に、計算余力が80%未満で60%以上の場合には担当範囲が第3n/5レイヤまでと示されており、計算余力が60%未満で40%以上の場合には担当範囲が第2n/5レイヤまでと示されており、計算余力が40%未満で20%以上の場合には担当範囲が第n/5レイヤまでと示されている。このようにして、通信端末11の担当範囲を決定してもよい。また、計算余力がそれ以外、つまり、20%未満の場合には、担当範囲が第1レイヤまでとされているが、これは、通信端末11がDNNの計算を実行しないことを意味する。すなわち、通信端末11が計算担当に指定された場合であっても、通信端末11が計算を拒否する場合もあり得る。このように通信端末11の計算余力が小さい場合に担当範囲を減少させることにより、通信端末11の計算余力が少ないがゆえに担当範囲の計算に時間がかかるといった事態を防いでもよい。ここで、計算余力として、相対量(%)に代えて絶対量であるFLOPS(クロック周波数とクロックあたりの演算数の積)を用いてもよいし、その他の計算余力を示しうる値を用いてもよい。
 図15(B)の例は、図15(A)と同様に担当範囲が決められているが、当該条件が通信品質の一種である遅延時間に基づいている。なお、いずれの通信先との遅延時間かは、予め定めておけばよく、特に限られるものではない。次の計算担当でもよいし、論理エンティティでもよいし、通信端末11が無線接続する無線通信ノードでもよい。あるいは、遅延時間の主な要因は各エンティティで行われる無線処理であるため、無線(電波)および有線における伝搬遅延を考慮せず無線処理に係る時間を遅延時間とみなしてもよい。図15(B)の例では、遅延時間が500ms以上の場合には、DNNの第1レイヤから第nレイヤまでの計算を通信端末11が担当することを示す。そして、遅延時間が500ms未満で250ms以上の場合には担当範囲が第4n/5レイヤまでと示されており、遅延時間が250ms未満で100ms以上の場合には担当範囲が第3n/5レイヤまでと示されており、遅延時間が100s未満で50ms以上の場合には担当範囲が第3n/5レイヤまでと示されており、遅延時間が50ms未満で10ms以上の場合には担当範囲が第2n/5レイヤまでと示されており、遅延時間がそれ以外、つまり、10ms未満の場合には、通信端末11がDNNの計算を実行しないことが示されている。
 なお、図15(B)の例では、遅延時間が増加するにつれて通信端末11の担当範囲が一律に増加しているが、担当範囲を一律に増加させる必要はない。図4に示した通り、計算結果のデータサイズは、DNNの計算を進めるにつれて一様に減少するわけではない。そのため、図4のようなデータを参照して各レイヤにおける計算結果のデータサイズを考慮し、遅延時間と担当範囲との組み合わせを決定すればよい。
 また、このような条件は、実施形態の仕様に応じて適宜に設定すればよく、特に限られるものではない。例えば、MLアプリケーションの種類ごとに条件を変えることができる。また、複数の条件を設けて全て満たす場合に変更するとしてもよいし、満たされた条件のうち所定の優先度が最も高い条件に合わせて変更するとしてもよい。
 また、MLアプリケーションの種類ごとに秘匿度を予め定めておき、実行されたMLアプリケーションの秘匿度が所定閾値以上の場合は、通信端末11の担当範囲を第1レイヤから第2レイヤ以上とするようにしてもよい。こうすることにより、通信端末11は、DNNの入力データを、外部に送信しなくなる。これにより、秘匿度の高い情報が通信端末11以外に漏洩するリスクを低減することができる。
 しかし、通信端末11が自身の担当範囲を決定した場合、次の計算担当は、DNNのいずれのレイヤから計算を開始すべきかを認識できていない。ゆえに、例えば、論理エンティティから各計算担当に担当範囲が通知されていたが、通信端末11が論理エンティティから通知された担当範囲を変更した場合、次の計算担当は、通信端末11が担当範囲を変更したことを知らずに、予定されている自身の担当範囲の最初のレイヤの各ノードに通信端末11からの計算結果を入力する恐れもある。そのため、通信端末11が自身の担当範囲を決定または変更した場合、通信端末11は、計算結果のみならず、次の計算担当が計算を開始する位置を認識するための情報を通知する必要がある。当該情報は、例えば、通信端末11の担当範囲の最後のレイヤを示す情報でもよいし、次の計算担当の担当範囲の最初のレイヤを示す情報でもよいし、計算結果を出力したノードを示す情報でもよいし、計算結果を入力すべきノードを示す情報でもよい。なお、通信端末11は、当該情報を、直接、次の計算担当に送信してもよいし、論理エンティティを介して次の計算担当に送信してもよい。
 図16は、通信端末11が自身の担当範囲を決定した場合に、通信端末11から送信される計算結果の一例を示す図である。図16の例では、計算結果である各ノードの出力値と、当該出力値を出力したノードを識別するための識別情報が含まれている。なお、図16の例では、ノードの識別情報(識別子)が「node 3_4」のように記載されているが、末尾の数字はノードが含まれるレイヤの番号を示し、「node」の後ろにある数字が当該レイヤにおけるノードの番号を示す。すなわち、「node 3_4」は、第4レイヤに含まれる3番目のノードを示す。また、「node 3_4」と同じ行に記載された「out 3」が第4レイヤに含まれる3番目のノードによる出力値を示す。各ノードの出力がいずれのノードに入力されるかは、DNNの構造などから認識可能である。図16のような情報を受け取った次の計算担当は、受信した出力値を入力すべきノードをDNNの構造などから認識して、計算を開始すればよい。
 なお、これまでの説明では、計算担当は、担当範囲の各ノードに設定された計算を行い、担当範囲の最後のレイヤに属するノードの出力値を、次の計算担当に送信することを想定していた。しかし、一般的には、DNNのノードには、複数の計算が設定される。そのため、計算担当は、ノードに設定された複数の計算のうちの一部までを行い、その残りは次の計算担当が行うとしてもよい。ノード内の計算例としては、まず、ノードに入力された各入力データに、各入力データが通ってきたリンクに設定された重み係数が掛け合わされた上で加算される。さらに、当該加算値に各ノードに設定されたバイアス値が加算される。そして、加算値が所定の活性化関数に入力され、当該活性化関数からの出力がノードの出力値となる。ゆえに、例えば、加算値の算出までを計算担当が行い、次の計算担当が活性化関数の計算から始めるといったことを予め決めておき、そのように計算が分担されてもよい。なお、ノードに接続されたリンクはエッジとも称される。
 図17は、通信端末11が自身の担当範囲を決定する場合の全体処理の流れを示した概略シーケンス図である。なお、本シーケンス図の例では、MLアプリケーションによって使用されるDNNの構造、DNNの一連の計算の担当範囲を決めるための条件などは、クラウドシステム12が管理していることを想定する。また、本シーケンス図の例では、DNNの計算担当は、通信端末11とクラウドシステム12にしているが、通信端末11と通信ノードが計算担当であることもあり得る。ここで、コアネットワーク133の機能は、クラウドシステム12内に実装することができる。つまり、コアネットワーク133が上述の条件を管理することもできる。
 クラウドシステム12が、MLアプリケーションによって使用されるDNN、当該DNNの設定、担当範囲を決めるための条件などの情報を送信する(T201)。当該情報は、通信ネットワーク13の通信ノードを介して転送され、通信端末11が当該情報を受信し(T202)、当該情報に基づき、使用するDNNなどのMLアプリケーションの設定を行う。(T203)。
 なお、通信ノードは、通信端末11の接続要求、例えばサービス要求(Service Request)やPDU(Protocol Data Unit)セッション確立要求(PDU Session Establishment Request)、に含まれる5QI(5G QoS Identifier)やS-NSSAI(Single-Network Slice Selection Assistance Information)などに基づき、通信端末11がMLアプリケーションを起動したことを検知することが可能である。そのため、通信ノードが通信端末11においてMLアプリケーションの起動を検知し、検知したことをクラウドシステム12に通知し、クラウドシステム12が検知されたMLアプリケーションに使用させるDNNを抽出してもよい。
 その後、通信端末11は、MLアプリケーションの実行を決定する(T204)。その際、通信端末11は、通信端末11自身の処理能力を確認し(T205)、DNNの計算の担当範囲を決めるための条件と処理能力とに基づき、通信端末11の担当範囲を決定する(T206)。例えば、DNNの担当範囲を決めるための条件が図15(A)に示した例であって、DNNが10個のレイヤから構成されている場合(nが10の場合)に、計算余力が50%だったとすると、通信端末11はDNNを分割するレイヤを第4レイヤと決定する。そして、通信端末11は、MLアプリケーションを実行し、通信端末11の担当範囲を計算する(T207)。先ほどの例であれば、DNNの第1レイヤから第4レイヤまでの計算が行われる。
 なお、担当範囲の計算後に、再度、担当範囲の拡大が行われてもよい。例えば、担当範囲の計算終了後に所定の条件を満たしているか否かを確認し、確認結果に基づいて、次のレイヤにおける計算を引き続き行うか否かを判定してもよい。ここで、所定の条件を満たしているか否かは、計算余力や遅延時間、秘匿度等に基づき判定されてもよい。このように、担当範囲の決定が複数回行われてもよい。
 通信端末11は、通信端末11の担当範囲の計算後、図16に示したような通信端末11の担当範囲および計算結果が分かる情報を、通信ノードを介してクラウドシステム12へ送信する(T208)。クラウドシステム12は、当該情報を、通信ノードを介して受信する(T209)。
 クラウドシステム12は、受信した各ノードの識別情報に基づいて、受信した出力値を入力するノード、つまり、通信端末11の担当範囲の最後のレイヤの次のレイヤの各ノード、を識別し、クラウドシステム12の担当範囲を計算する(T210)。そして計算終了後、クラウドシステム12は、クラウドシステム12の担当範囲の計算結果を通信端末11に返信する(T211)。なお、クラウドシステム12の担当範囲は、DNNの残り全ての計算を想定するが、DNNの残り全ての計算でなくともよい。例えば、通信端末11が、クラウドシステム12の計算結果を受信して、さらに残りのDNNの計算を行うとしてもよい。
 通信端末11は、クラウドシステム12の計算結果を、通信ノードを介して受信する(T212)。そして、最終の計算結果に基づいてMLアプリケーションの処理が実行される(T213)。このようにして、MLアプリケーションの処理が完了する。なお、MLアプリケーションの処理結果まで、クラウドシステム12など通信端末11以外のエンティティが算出してもよい。
 以上のように、各エンティティ間でDNNの分散学習が行われる場合に、DNNの担当範囲を決めるための条件を通信端末が保持し、通信端末が自身の担当範囲を決定することにより、通信端末の状況に即した分散をより適切に行うことができる。また、MLアプリケーションの秘匿度などに応じて、通信端末が少なくとも第2レイヤまでDNNの計算を行わせることにより、入力データの漏洩といった事態が生じることも防ぐことができる。 
 なお、深層学習(Deep Learning)で使用される一般的なアルゴリズムとしては、畳み込みニューラルネットワーク(CNN:Convolution Neural Network)、再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)、LSTM(Long Short-Term Memory)等がある。CNNでは、隠れ層は畳み込み層(Convolution Layer)とプーリング層(Pooling Layer)と呼ばれる各層から構成される。畳み込み層では、畳み込み演算によるフィルタリングを施し、特徴マップと呼ばれるデータを抽出する。プーリング層では、畳込み層から出力された特徴マップの情報を圧縮し、ダウンサンプリング(down sampling)を施す。RNNでは、隠れ層の値が再帰的に隠れ層に入力されるネットワーク構造を有し、例えば、短期間の時系列のデータが処理される。LSTMでは、RNNの中間層出力に対して、メモリセルと呼ばれる中間層の状態を保持するパラメータを導入することにより、遠い過去の出力の影響を保持することができる。つまり、LSTMは、RNNに比べてより長い期間の時系列のデータが処理される。深層学習が活用される代表的な技術領域として、画像認識、音声認識、自然言語処理、ロボットによる異常検知の4つの分野が挙げられる。画像認識は、SNS(Social Network Service)の人のタグ付けや自動運転といった用途に利用されている。音声認識は、スマートスピーカー等に応用されている。自然言語処理は、ブラウザーによる検索や自動翻訳に応用されている。ロボットによる異常検知は、空港、鉄道、製造現場等で利用されている。
 通信ネットワーク13の通信ノードについて補足する。前述の通り、通信ノードは、通信基地局(単に基地局とも)と称され、通信を行うためのインフラストラクチャーが含まれており、当該インフラストラクチャーは基地局装置とも称される。基地局装置は通信装置の一種であるし、情報処理装置とも言える。例えば、基地局装置は、無線基地局(Base Station、Node B、eNB、gNB、など)、無線アクセスポイント(Access Point)などとして通信ノードを機能させるための装置であってもよい。また、基地局装置は、ドナー局またはリレー局として通信ノードを機能させる装置であってもよい。また、基地局装置は、RRH(Remote Radio Head)と呼ばれる光張り出し装置であってもよい。また、基地局装置は、通信ノードをFPU(Field Pickup Unit)等の受信局として機能させる装置であってもよい。また、基地局装置は、無線アクセス回線と無線バックホール回線を時分割多重、周波数分割多重、もしくは、空間分割多重で提供するIAB(Integrated Access and Backhaul)ドナーノード、または、IABリレーノードとして通信ノードを機能させる装置であってもよい。また、基地局装置は、複数の装置から構成されていてもよく、例えば、ビル等の構造物に設置されたアンテナ及びそのアンテナに接続する信号処理装置の組み合わせであってもよい。
 なお、基地局装置が使用する無線アクセス技術は、セルラー通信技術であってもよいし、無線LAN技術であってもよい。勿論、基地局装置が使用する無線アクセス技術は、これらに限定されず、他の無線アクセス技術であってもよい。例えば、基地局装置が使用する無線アクセス技術は、LPWA(Low Power Wide Area)通信技術であってもよい。勿論、基地局装置が使用する無線通信は、ミリ波を使った無線通信であってもよい。また、基地局装置が使用する無線通信は、電波を使った無線通信であってもよいし、赤外線や可視光を使った無線通信(光無線)であってもよい。
 基地局装置は、通信端末11とNOMA(Non-Orthogonal Multiple Access)通信が可能であってもよい。ここで、NOMA通信は、非直交リソースを使った通信(送信、受信、またはその双方)のことである。なお、基地局装置は、他の基地局装置とNOMA通信可能であってもよい。
 なお、基地局装置は、基地局-コアネットワーク間インタフェース(例えば、S1 Interface等)を介してお互いに通信可能であってもよい。このインタフェースは、有線及び無線のいずれであってもよい。また、基地局装置は、基地局間インタフェース(例えば、X2 Interface、S1 Interface等)を介して互いに通信可能であってもよい。このインタフェースは、有線及び無線のいずれであってもよい。
 なお、基地局装置は、基地局-コアネットワーク間インタフェース(例えば、NG Interface、S1 Interface等)を介してお互いに通信可能であってもよい。このインタフェースは、有線及び無線のいずれであってもよい。また、基地局装置は、基地局間インタフェース(例えば、Xn Interface、X2 Interface等)を介して互いに通信可能であってもよい。このインタフェースは、有線及び無線のいずれであってもよい。
 また、基地局という用語が、基地局の機能を備えた構造物(Structure)を意味する場合もあり得る。当該構造物は、特に限られるものではない。例えば、高層ビル、家屋、鉄塔、駅施設、空港施設、港湾施設、オフィスビル、校舎、病院、工場、商業施設、スタジアム等の建物も当該構造物に含まれる。また、トンネル、橋梁、ダム、塀、鉄柱等の構築物(Non-building structure)や、クレーン、門、風車等の設備も、当該構造物に含まれる。また、当該構造物が設置される場所は特に限られるものではない。すなわち、陸上(狭義の地上)又は地中の構造物のみならず、桟橋、メガフロート等の水上の構造物や、海洋観測設備等の水中の構造物も、基地局の機能を備えた構造物となり得る。
 また、基地局は、前述のように、固定局であってもよいし、移動局であってもよい。基地局装置が移動体に設置されることにより、基地局が移動局となってもよい。あるいは、基地局装置が移動能力(Mobility)を有し、基地局装置自体が移動することによって基地局が移動局となってもよい。また、車両、ドローンに代表されるUAV(Unmanned Aerial Vehicle)といったもともと移動能力がある装置であって、基地局の機能(少なくとも基地局の機能の一部)を搭載した装置も、移動局とも移動局としての基地局装置とも言える。また、スマートフォンなどのように移動体に携帯されることによって移動する装置であって基地局の機能(少なくとも基地局の機能の一部)を搭載した装置も、移動局とも移動局の基地局装置とも言える。
 固定局および移動局が存在する場所は、特に限られるわけではない。ゆえに、移動局を構成する移動体は、陸上(狭義の地上)を移動する移動体(例えば、自動車、自転車、バス、トラック、自動二輪車、列車、リニアモーターカー等の車両)であってもよいし、地中(例えば、トンネル内)を移動する移動体(例えば、地下鉄)であってもよいし、水上を移動する移動体(例えば、旅客船、貨物船、ホバークラフト等の船舶)であってもよいし、水中を移動する移動体(例えば、潜水艇、潜水艦、無人潜水機等の潜水船)であってもよいし、大気圏内などの空中を移動する移動体(例えば、飛行機、飛行船、ドローン等の航空機)であってもよいし、大気圏外言い換えれば宇宙を浮遊可能な移動体(例えば、人工衛星、宇宙船、宇宙ステーション、探査機等の人工天体)であってもよい。なお、大気圏外を浮遊する基地局は衛星局とも称される。一方、大気圏外よりも地球側にある基地局は地上局とも称される。また、航空機等、大気圏内を浮遊する基地局は、航空機局とも称される。
 なお、衛星局となる衛星は、低軌道(LEO:Low Earth Orbiting)衛星、中軌道(MEO:Medium Earth Orbiting)衛星、静止(GEO:Geostationary Earth Orbiting)衛星、高楕円軌道(HEO:Highly Elliptical Orbiting)衛星の何れであってもよい。
 なお、飛行機、グライダー等の重航空機、気球、飛行船等の軽航空機、ヘリコプターやオートジャイロ等の回転翼機ドローン等の無人航空機も、航空機局となり得る。なお、航空機局となり得る無人航空機をどのように制御するかは特に限られるものではない。すなわち、無人航空機の制御システムには、無人航空システム(UAS:Unmanned Aircraft Systems)、tethered UAS、LTA(Lighter than Air UAS)、HTA(Heavier than Air UAS)HAPs(High Altitude UAS Platforms)といったものがあるが、これらの制御システムによって航空機局の飛行が制御されてよい。
 また、基地局装置のカバレッジの大きさは、特に限られるものではなく、マクロセルのような大きなものでも、ピコセルのような小さなものでも、フェムトセルのような極めて小さなものでもよい。また、基地局装置はビームフォーミングの能力を有していてもよい。この場合、基地局装置はビームごとにセルやサービスエリアが形成されてもよい。そのために、基地局装置は、複数のアンテナ素子から構成されるアンテナアレーを装備して、MIMO(Multiple Input Multiple Output)やビームフォーミングに代表されるAdvanced Antenna Technologyを提供するよう構成されていてもよい。
 図18は、基地局装置の構成例を示す図である。図18に示された基地局装置50は、無線通信を行うことを想定しており、無線通信部51と、記憶部52と、制御部53と、演算部54と、ネットワーク通信部55と、アンテナ56と、を備える。なお、図18に示した構成は、機能的な構成であり、ハードウェア構成とは異なっていてもよい。また、図18の構成要素は、さらに分散されていてもよいし、他の構成要素と集約されていてもよい。また、図18の構成要素が基地局装置50とは別の装置として独立して存在し、複数の装置によって基地局装置50の機能が実現されてもよい。
 無線通信部51は、他の無線通信装置(例えば、通信端末11)と無線通信するための信号処理を行う。無線通信部51は、制御部53の制御に従って動作する。無線通信部51は1又は複数の無線アクセス方式に対応する。例えば、無線通信部51は、NR(New Radio)及びLTE(Long Term Evolution)の双方に対応する。無線通信部51は、NRやLTEに加えて、W-CDMA(Wideband Code Division Multiple Access)やCDMA2000(Code Division Multiple Access 2000)に対応していてもよい。また、無線通信部51は、HARQ(Hybrid Automatic Repeat reQuest)等の自動再送技術に対応していてもよい。
 無線通信部51は、送信処理部510および受信処理部515を備える。無線通信部51は、送信処理部510および受信処理部515をそれぞれ複数備えていてもよい。なお、無線通信部51が複数の無線アクセス方式に対応する場合、無線通信部51の各構成要素は、無線アクセス方式毎に個別に構成されうる。例えば、送信処理部510及び受信処理部515は、LTEとNRとで個別に構成されてもよい。また、アンテナ56は、1以上でよく、また、複数のアンテナ素子(例えば、複数のパッチアンテナ)で構成されていてもよい。この場合、無線通信部51は、ビームフォーミングを可能にするように構成されていてもよい。無線通信部51は、垂直偏波(V偏波)と水平偏波(H偏波)とを使用した偏波ビームフォーミングを可能にするように構成されていてもよい。
 送信処理部510は、下りリンク制御情報及び下りリンクデータの送信処理を行う。例えば、送信処理部510の符号化部511は、制御部53から入力された下りリンク制御情報及び下りリンクデータを、ブロック符号化、畳み込み符号化、ターボ符号化等の符号化方式を用いて符号化を行う。ここで、符号化は、ポーラ符号(Polar code)による符号化、LDPC符号(Low Density Parity Check Code)による符号化を行ってもよい。
 そして、送信処理部510の変調部512は、符号化ビットをBPSK(Binary Phase Shift Keying)、QPSK(Quadrature Phase shift Keying)、16QAM(Quadrature Amplitude Modulation)、64QAM、256QAM等の所定の変調方式で変調する。この場合、変調方式のコンステレーション上の信号点は必ずしも等距離である必要はない。コンステレーションは、不均一コンステレーション(NUC:Non Uniform Constellation)であってもよい。
 そして、送信処理部510の多重部513は、送信に用いられる各チャネルの変調シンボルと下りリンク参照信号とを多重化し、所定のリソースエレメントに配置する。
 そして、送信処理部510は、多重化した信号に対して、各種の信号処理を行う。例えば、送信処理部510の無線送信部514は、高速フーリエ変換による周波数領域への変換、ガードインターバル(サイクリックプレフィックス)の付加、ベースバンドのデジタル信号の生成、アナログ信号への変換、直交変調、アップコンバート、余分な周波数成分の除去、電力の増幅等の処理を行う。無線送信部514により生成された信号は、アンテナ56から送信される。
 受信処理部515は、アンテナ56を介して受信された上りリンク信号の処理を行う。例えば、受信処理部515の無線受信部516は、上りリンク信号に対して、ダウンコンバート、不要な周波数成分の除去、増幅レベルの制御、直交復調、デジタル信号への変換、ガードインターバル(サイクリックプレフィックス)の除去、高速フーリエ変換による周波数領域信号の抽出等を行う。
 そして、受信処理部515の多重分離部517は、無線受信部516の処理が行われた信号から、PUSCH(Physical Uplink Shared Channel)、PUCCH(Physical Uplink Control Channel)等の上りリンクチャネル及び上りリンク参照信号を分離する。
 また、受信処理部515の復調部518は、上りリンクチャネルの変調シンボルに対して、BPSK、QPSK等の変調方式を使って受信信号の復調を行う。復調に使用される変調方式は、16QAM、64QAM、又は256QAMであってもよい。この場合、コンステレーション上の信号点は必ずしも等距離である必要はない。コンステレーションは、不均一コンステレーション(NUC)であってもよい。
 そして、受信処理部515の復号部519は、復調された上りリンクチャネルの符号化ビットに対して、復号処理を行う。復号された上りリンクデータ及び上りリンク制御情報は制御部53へ出力される。
 アンテナ56は、電流と電波を相互に変換する。アンテナ56は、1つのアンテナ素子(例えば、1つのパッチアンテナ)で構成されていてもよいし、複数のアンテナ素子(例えば、複数のパッチアンテナ)で構成されていてもよい。アンテナ56が複数のアンテナ素子で構成される場合、無線通信部51は、ビームフォーミングを可能にするように構成されていてもよい。例えば、無線通信部51は、複数のアンテナ素子を使って無線信号の指向性を制御することで、指向性ビームを生成するよう構成されていてもよい。なお、アンテナ56は、デュアル偏波アンテナであってもよい。アンテナ56がデュアル偏波アンテナの場合、無線通信部51は、無線信号の送信にあたり、垂直偏波(V偏波)と水平偏波(H偏波)とを使用してもよい。そして、無線通信部51は、垂直偏波と水平偏波とを使って送信される無線信号の指向性を制御してもよい。
 記憶部52は、基地局装置50の記憶手段として、基地局装置50の処理に必要な情報、処理結果などを記憶する。例えば、基地局装置50の処理を行うための各種プログラムが記憶されていてもよい。
 制御部53は、基地局装置50の各部を制御する。例えば、制御部53は、無線通信部51またはネットワーク通信部55を介して、論理エンティティなどから使用されるDNNに係る情報、DNNの一連の計算の担当範囲を決めるための条件などを外部から取得するために必要な制御を行う。
 演算部54は、制御部53の指示に従って、基地局装置50の処理に必要な演算を行う。例えば、送信処理部510や受信処理部515が行う処理の一部、例えば負荷の高い演算を、演算部54が肩代わりしてもよい。また、例えば、基地局装置が計算担当である場合に、基地局装置の担当範囲の計算は、演算部54によって行われてもよい。また、例えば、基地局装置50が論理エンティティである場合は、論理エンティティが実行する処理、例えば、リソースに基づく計算担当の決定、担当範囲の決定などが、演算部54によって行われてもよい。
 ネットワーク通信部55は、他の通信装置(例えば、クラウドシステム12)と有線通信するための信号処理を行う。例えば、例えば、ネットワーク通信部55は、コアネットワークのAMF(Access and Mobility Management Function)やUPF(User Plane Function)と接続されて、情報やシグナリングを交換する。
 いくつかの実施形態において、基地局装置は、複数の物理的又は論理的装置によって構成されていてもよい。例えば、本実施形態において基地局装置は、BBU(Baseband Unit)及びRU(Radio Unit)等の複数の装置に区別されてもよい。そして、基地局装置は、これら複数の装置の集合体、言い換えれば基地局システム、として解釈されてもよい。また、基地局装置は、BBU及びRUのうちのいずれかであってもよいし、両方であってもよい。BBUとRUは、eCPRI(enhanced Common Public Radio Interface)などの所定のインタフェースで接続されていてもよい。なお、RUはRRU(Remote Radio Unit )又はRD(Radio DoT)と言い換えてもよい。また、RUは後述するgNB-DU(gNB Distributed Unit)に対応していてもよい。さらにBBUは、後述するgNB-CU(gNB Central Unit)に対応していてもよい。さらに、RUはアンテナと一体的に形成された装置であってもよい。基地局装置が有するアンテナ(例えば、RUと一体的に形成されたアンテナ)はAdvanced Antenna Systemを採用し、MIMO(例えば、FD-MIMO)やビームフォーミングをサポートしていてもよい。また、基地局が有するアンテナは、例えば、64個の送信用アンテナポート及び64個の受信用アンテナポートを備えていてもよい。
 また、RUに取り付けられたアンテナは1以上であってもよく、当該アンテナは、1つ以上のアンテナ素子から構成されるアンテナパネルであってもよい。例えば、RUは、水平偏波のアンテナパネルと垂直偏波のアンテナパネルの2種類を含むアンテナパネル、または、右旋円偏波のアンテナパネルと左旋円偏波のアンテナパネルの2種類を含むアンテナパネルを搭載してもよい。また、RUは、アンテナパネル毎に独立したビームを形成し、制御してもよい。
 なお、無線アクセスネットワーク(RAN:Radio Access Network)の基地局はRANノードと称され、AN(Access Network)の基地局はANノードと称されることがある。なお、LTEにおけるRANはE-UTRAN(Enhanced Universal Terrestrial RAN)と呼ばれることがある。また、NRにおけるRANはNG-RANと呼ばれることがある。また、W-CDMA(UMTS)におけるRANはUTRANと呼ばれることがある。
 なお、LTEの基地局は、eNodeB(Evolved Node B)又はeNBとも称され、このとき、E-UTRANは1又は複数のeNodeB(eNB)を含むと言える。また、NRの基地局は、gNodeB又はgNBとも称され、このとき、NG-RANは1又は複数のgNBを含むと言える。E-UTRANは、LTEの通信システム(EPS)におけるコアネットワーク(EPC)に接続されたgNB(en-gNB)を含んでいてもよい。同様に、NG-RANは5G通信システム(5GS)におけるコアネットワーク5GCに接続されたng-eNBを含んでいてもよい。
 なお、基地局がeNB、gNBなどである場合、基地局は、3GPPアクセス(3GPP Access)と称されることがある。また、基地局が無線アクセスポイント(Access Point)である場合、基地局は、非3GPPアクセス(Non-3GPP Access)と称されることがある。また、基地局がgNBである場合、基地局は、前述したgNB-CUとgNB-DUとを組み合わせたものであってもよいし、gNB-CUとgNB-DUとのうちのいずれかであってもよい。
 ここで、gNB-CUは、UEとの通信のために、アクセス層(Access Stratum)のうち、複数の上位レイヤ(例えば、RRC、SDAP、PDCP)をホストする。一方、gNB-DUは、アクセス層(Access Stratum)のうち、複数の下位レイヤ(例えば、RLC、MAC、PHY)をホストする。すなわち、RRCシグナリング、MAC CE(MAC Control Element)、DCIといったメッセージまたは情報のうち、RRCシグナリング(準静的な通知)はgNB-CUで生成され、一方でMAC CEやDCI(動的な通知)はgNB-DUで生成されてもよい。又は、RRCコンフィギュレーション(準静的な通知)のうち、例えばIE:cellGroupConfigなどの一部のコンフィギュレーション(configuration)についてはgNB-DUで生成され、残りのコンフィギュレーションはgNB-CUで生成されてもよい。これらのコンフィギュレーションは、後述されるF1インタフェースで送受信されてもよい。
 なお、基地局は、他の基地局と通信可能に構成されていてもよい。例えば、複数の基地局装置がeNB同士又はeNBとen-gNBの組み合わせである場合、当該基地局間はX2インタフェースで接続されてもよい。また、複数の基地局がgNB同士又はgn-eNBとgNBの組み合わせである場合、当該装置間はXnインタフェースで接続されてもよい。また、複数の基地局がgNB-CUとgNB-DUの組み合わせである場合、当該装置間は前述したF1インタフェースで接続されてもよい。RRCシグナリング、MAC CE、DCIといったメッセージまたは情報は、複数の基地局間で、例えばX2インタフェース、Xnインタフェース、又はF1インタフェースを介して、送信されてもよい。 
 基地局により提供されるセルはサービングセル(Serving cell)と呼ばれることがある。サービングセルという概念には、PCell(Primary Cell)及びSCell(Secondary Cell)が含まれる。デュアルコネクティビティがUEに設定される場合、MN(Master Node)によって提供されるPCell、及びゼロ又は1以上のSCellはマスターセルグループ(Master Cell Group)と呼ばれることがある。デュアルコネクティビティの例として、E-UTRA-E-UTRA Dual Connectivity、E-UTRA-NR Dual Connectivity(ENDC)、E-UTRA-NR Dual Connectivity with 5GC、NR-E-UTRA Dual Connectivity(NEDC)、NR-NR Dual Connectivityが挙げられる。
 なお、サービングセルはPSCell(Primary Secondary Cell、又は、Primary SCG Cell)を含んでもよい。デュアルコネクティビティがUEに設定される場合、SN(Secondary Node)によって提供されるPSCell、及びゼロ又は1以上のSCellは、SCG(Secondary Cell Group)と呼ばれることがある。特別な設定(例えば、PUCCH on SCell)がされていない限り、物理上りリンク制御チャネル(PUCCH)はPCell及びPSCellで送信されるが、SCellでは送信されない。また、無線リンク障害(Radio Link Failure)もPCell及びPSCellでは検出されるが、SCellでは検出されない(検出しなくてよい)。このようにPCell及びPSCellは、サービングセルの中で特別な役割を持つため、SpCell(Special Cell)とも呼ばれる。
 1つのセルには、1つのダウンリンクコンポーネントキャリアと1つのアップリンクコンポーネントキャリアが対応付けられていてもよい。また、1つのセルに対応するシステム帯域幅は、複数のBWP(Bandwidth Part)に分割されてもよい。この場合、1又は複数のBWPがUEに設定され、1つのBWP分がアクティブBWP(Active BWP)として、UEに使用されてもよい。また、セル毎、コンポーネントキャリア毎又は BWP毎に、UEが使用できる無線資源(例えば、周波数帯域、ヌメロロジー(サブキャリアスペーシング)、スロットフォーマット(Slot configuration)が異なっていてもよい。 
 通信端末11について補足する。通信端末11は、移動体に設置されることにより移動してもよいし、移動体そのものであってもよい。例えば、通信端末11は、自動車、バス、トラック、自動二輪車等の道路上を移動する車両(Vehicle)、列車等の軌道に設置されたレール上を移動する車両、或いは、当該車両に搭載された無線通信装置であってもよい。なお、移動体は、モバイル端末であってもよいし、陸上(狭義の地上)、地中、水上、或いは、水中を移動する移動体であってもよい。また、移動体は、ドローン、ヘリコプター等の大気圏内を移動する移動体であってもよいし、人工衛星等の大気圏外を移動する移動体であってもよい。また、通信端末11は、情報処理機能および通信機能が具備され、本開示の処理が実施可能な装置であれば、主要な用途は問わない。例えば、情報処理機能および通信機能が具備された業務用カメラといった機器であってもよいし、FPU(Field Pickup Unit)等の通信機器であってもよい。また、通信端末11は、M2M(Machine to Machine)デバイス、又はIoT(Internet of Things)デバイスであってもよい。
 なお、通信端末11は、基地局とNOMA通信が可能であってもよい。また、通信端末11は、基地局と通信する際、HARQ等の自動再送技術を使用可能であってもよい。通信端末11は、他の通信端末11とサイドリンク通信が可能であってもよい。通信端末11は、サイドリンク通信を行う際も、HARQ等の自動再送技術を使用可能であってもよい。なお、通信端末11は、他の通信端末11との通信(サイドリンク)においてもNOMA通信が可能であってもよい。また、通信端末11は、他の通信装置(例えば、基地局、他の通信端末11)とLPWA通信が可能であってもよい。また、通信端末11が使用する無線通信は、ミリ波を使った無線通信であってもよい。なお、通信端末11が使用する無線通信(サイドリンク通信を含む)は、電波を使った無線通信であってもよいし、赤外線や可視光を使った無線通信(光無線)であってもよい。
 通信端末11は、移動体に設置された通信装置であってもよいし、移動能力を有した通信装置であってもよい。例えば、通信端末11を設置した移動体は、自動車、バス、トラック、自動二輪車等の道路上を移動する車両(Vehicle)でも、列車等の軌道に設置されたレール上を移動する車両でもよい。もよい。なお、移動体が移動する場所は特に限られるものではない。ゆえに、当該移動体は、陸上(狭義の地上)、地中、水上、または、水中を移動する移動体であってもよい。また、当該移動体は、ドローン、ヘリコプター等の大気圏内を移動する移動体であってもよいし、人工衛星等の大気圏外を移動する移動体であってもよい。
 通信端末11は、同時に複数の基地局または複数のセルと接続して通信を実施してもよい。例えば、1つの基地局が複数のセル(例えば、pCell、sCell)を介して通信エリアをサポートしている場合に、キャリアアグリゲーション(CA:Carrier Aggregation)技術やデュアルコネクティビティ(DC:Dual Connectivity)技術、マルチコネクティビティ(MC:Multi-Connectivity)技術によって、それら複数のセルを束ねて基地局と通信端末11とで通信することが可能である。或いは、異なる基地局のセルを介して、協調送受信(CoMP:Coordinated Multi-Point Transmission and Reception)技術によって、通信端末11とそれら複数の基地局が通信することも可能である。
 図19は、通信端末11の構成例を示す図である。図19は、無線通信を行う場合の構成例であり、通信端末11が、無線通信部111と、記憶部112と、制御部113と、演算部114と、アンテナ115と、を備える。なお、図19に示した構成は、機能的な構成であり、ハードウェア構成とは異なっていてもよい。また、通信端末11の機能は、複数の物理的に分離された構成要素に分散して実装されてもよい。
 無線通信部111は、他の無線通信装置(例えば、基地局、中継局、無線通信ノード131、ドナーノード132、他の通信端末11など)と無線通信するための信号処理を行う。無線通信部111は、制御部113の制御に従って動作する。無線通信部111は、送信処理部1110と、受信処理部1115と、を備える。通信端末11の無線通信に係る構成要素は、基地局装置50の無線通信に係る対応する構成要素と同様でよい。すなわち、無線通信部111及びその内部の構成要素、並びにアンテナ115の構成は、基地局装置50の無線通信部51及びその内部の構成要素、並びにアンテナ56と、それぞれ同様であってもよい。また、無線通信部111は、基地局装置50の無線通信部51と同様に、ビームフォーミングを可能にするように構成されていてもよい。
 記憶部112は、通信端末11の記憶手段として、通信端末11の処理に必要な情報、処理結果などを記憶する。例えば、通信端末11の処理を行うための各種プログラムが記憶されていてもよい。
 制御部113は、通信端末11の各部を制御する。例えば、制御部113は、無線通信部111を介して、論理エンティティなどから使用されるDNNに係る情報、DNNの一連の計算の担当範囲を決めるための条件などを外部から取得するために必要な制御を行う。
 演算部114は、制御部113の指示に従って、通信端末11の処理に必要な演算を行う。例えば、送信処理部1110や受信処理部1115が行う処理の一部、例えば負荷の高い演算を、演算部114が肩代わりしてもよい。また、例えば、DNNの計算など、通信端末11が実行するMLアプリケーションに必要な演算を行う。
 コアネットワークについて補足する。図20は、コアネットワーク133を含む5GS(5G System)のネットワークアーキテクチャの構成例を示す図である。図20の例では、5GSは、通信端末11(図20にはUEと記載)、RAN134、コアネットワーク133から構成されている。RAN134は、図1の無線通信ノード131およびドナーノード132のように、ネットワーク機能(NF; Network Function)を提供する。5GSにおけるコアネットワーク133は、NGC(Next Generation Core)、5GC(5G Core)等と呼称される。
 図20の例では、コアネットワーク133のコントロール・プレーンの機能群は、AMF(Access and Mobility Management Function)601と、NEF(Network Exposure Function)602と、NRF(Network Repository Function)603と、NSSF(Network Slice Selection Function)604と、PCF(Policy Control Function)605と、SMF(Session Management Function)606と、UDM(Unified Data Management)607と、AF(Application Function)608と、AUSF(Authentication Server Function)609と、UCMF(UE radio Capability Management Function)610と、いった複数のNFにより構成されている。
 UDM607は、加入者情報の保持、管理、処理などを行う。なお、加入者情報の保持および管理の実行部はUDR(Unified Data Repository)とも称され加入者情報の処理の実行部であるFE(Front End)とは分けられていてもよい。また、AMF601は、モビリティ管理を行う。SMF606は、セッション管理を行う。UCMF610は、PLMN(Public Land Mobile Network)における全てのUE無線ケイパビリティID(UE Radio Capability ID)に対応するUE無線ケイパビリティ情報(UE Radio Capability Information)を保持している。UCMF610は、各PLMN-割り当てUE無線ケイパビリティID(PLMN-assigned UE Radio Capability ID)を割り当てる役割を担っている。
 図20には、NFのサービスベースドインターフェース(Service-based interface)が示されている。Namfは、AMF601が提供するサービスベースドインターフェースであり、Nsmfは、SMF606が提供するサービスベースドインターフェースであり、Nnefは、NEF602が提供するサービスベースドインターフェースであり、Npcfは、PCF605が提供するサービスベースドインターフェースであり、Nudmは、UDM607が提供するサービスベースドインターフェースであり、Nafは、AF608が提供するサービスベースドインターフェースであり、Nnrfは、NRF603が提供するサービスベースドインターフェースであり、Nnssfは、NSSF604が提供するサービスベースドインターフェースであり、Nausfは、AUSF609が提供するサービスベースドインターフェースである。各NFは、各サービスベースドインターフェースを介して他のNFと情報の交換を行う。
 通信品質などの通信ネットワークに関する情報(ネットワークレイヤ側の情報)を、アプリケーションレイヤで稼働するアプリケーションが取得するためには、インタラクションが必要となることもあり得る。そのような場合、NEF602のような規定を設けて置けばよい。当該規定により、通信レイヤの情報をアプリ側で詳細に把握できるようになるほか、外部アプリからNFの制御も可能になる。
 また、UPF(User Plane Function)630は、ユーザ・プレーン処理を実行する。DN(Data Network)640は、MNO(Mobile Network Operator)独自のサービス、インターネット、サードパーティーのサービスへの接続を可能にする。
 RAN134は、コアネットワーク133、通信端末11などとの通信接続を行う。なお、図示されていない他の通信ネットワーク、例えば、AN(Access Network)との通信接続も行ってよい。RAN134は、gNB、あるいは、ng-eNBと呼ばれる基地局を含む。RANのことをNG(Next Generation)-RANと称する場合もある。
 UE10とAMF601間では、リファレンスポイントN1を介して相互に情報の交換が行われる。RAN134とAMF601間では、リファレンスポイントN2を介して相互に情報の交換が行われる。SMF606とUPF630間では、リファレンスポイントN4を介して相互に情報の交換が行われる。
 なお、通信品質は、例えば、送受信における遅延時間、データレート、チャンネル占有率(Channel Occupancy Ratio)などで示されてもよい。チャンネル占有率は、CBR(Channel Busy Ratio)、リソース使用率、または混雑度で示されてもよい。例えば、CBRは利用可能な全無線リソースに対する使用している無線リソースの割合で示されてもよい。また、混雑度は、基準信号(Reference Signal)の受信強度であるRSRP(Reference Signal Received Power)に対する帯域内の全受信電力であるRRSI(Received Signal Strength Indicator)の比で示されてもよい。また、混雑度は、基準信号の受信品質であるRSRQ(Reference Signal Received Quality)の逆数で示されてもよい。
(第2実施形態)
 第1実施形態において説明した通り、MLアプリケーションは、DNNの一連の計算の結果に基づいて処理を行う。しかし、当該一連の計算の途中の計算結果に基づいてMLアプリケーションの処理を行ったとしても、MLアプリケーションの処理結果に影響が少ない場合もあり得ることが、近年の研究により判明している。このように、DNNの一連の計算全てを行わずに計算途中でブレイクアウトさせることは、Early-exitingと称される(Early terminationとも称される)。
 Early-exitingを行うことによって、MLアプリケーションの精度は下がり得るが、最後まで計算が行われないため、MLアプリケーションの処理が完了するまでに要する時間は抑えられる。特に、第1実施形態のように、複数の通信装置が計算を分担し、通信ネットワークを介して計算結果を順に渡していく場合、計算余力、通信品質などの通信リソースの状況によっては、DNNの計算結果が想定以上に遅く返信されることもあり得る。ゆえに、第2実施形態の情報処理システムは、状況に応じてEarly-exitingを行い、DNNの一連の計算の途中の計算結果を通信端末11に返信する。これにより、MLアプリケーションの処理が完了するまでに要する時間を抑える。
 なお、第1実施形態では、論理エンティティが計算担当を決定していたが、Early-exitingを行う第2実施形態では、計算担当は予め定められていてもよい。また、第1実施形態では、状況に応じて、論理エンティティが計算担当を動的に変更することができたが、第2実施形態では、計算担当は固定で変更できないとしてもよい。また、遅延時間などのMLアプリケーションの要求を満たせないと判定された場合に、計算担当の動的変更とEarly-exitingのいずれを実行するかが決定されてもよい。
 なお、Early-exitingを行う場合、計算担当のいずれかがDNNの一連の計算の途中の計算結果を通信端末11に送信することになるが、当該計算担当は、論理エンティティから指定された担当範囲の計算を最後まで実行し、実行された計算結果を通信端末11に送信する場合もあり得るし、担当範囲の途中で計算を終了して実行された計算結果を通信端末11に送信する場合もあり得る。例えば、ある計算担当の担当範囲がDNNの第3レイヤと第4レイヤであるときに、第3レイヤの計算までを行い、第3レイヤの計算結果を通信端末11に送信することもあり得る。
 ただし、Early-exitingを行う場合、計算を終了する位置を考慮したほうが好ましい。図4に示したように、DNNの各レイヤにおけるデータサイズはまとまりがない。そのため、論理エンティティは、送信されるデータサイズが大きいために遅延が大きくなることがないよう、計算担当の担当範囲を決定していた。ゆえに、計算担当が担当範囲の計算を途中終了した場合、途中終了した位置によっては計算結果のデータサイズが大きくなり、通信に時間がかかり、Early-exitingを行ったにも関わらず遅延が大きくなるといった事態も起こり得る。また、論理エンティティは、計算担当間の通信帯域が大きい場合、計算結果のデータサイズが大きくても問題ないと判断し得るが、Early-exitingを行う場合、計算結果は次の計算担当ではなく通信端末11に送信されるので、考慮すべき通信帯域が異なる。例えば、通信端末11と、最初の計算担当である通信ノードAと、が無線接続されており、通信ノードAと、2番目の計算担当である通信ノードBと、が有線接続されている場合もあり得る。このような場合、通信ノードAから通信ノードBへ送信される計算結果のデータサイズは、無線通信に対しては大きすぎることもあり得る。また、通信ノードAの担当範囲を計算した場合の計算結果では、MLアプリケーションの精度が低くなる恐れもある。このように、各計算担当に担当範囲に含まれる全ての計算を実行させることがEarly-exitingに適さない場合もあり得る。
 また、担当範囲の計算を途中終了する場合では、MLアプリケーションの処理精度の改善などを目的として、追加の計算を実行する場合もあり得る。また、追加の計算は、計算を途中終了する位置などによって異なっていてもよい。例えば、担当範囲の計算を途中終了する場合の計算範囲を予め複数用意しておき、担当範囲の計算を途中終了する場合には、複数の計算範囲のうちからいずれか一つを選択してもよい。図21は、Early-exitingを行う場合の計算範囲の例を示す図である。図21の矢印で示された計算フロー71は、担当範囲の計算を途中終了する場合の計算の流れ(計算範囲)を示す。計算フロー72は、担当範囲の計算を途中終了する場合の計算の流れを示す。計算フロー73は、担当範囲の計算を途中終了しない場合の計算の流れを示す。計算フロー71と計算フロー72の折れ曲がった後の畳み込み処理は、通常の担当範囲に含まれる計算とは別に追加された計算である。ここでは、途中終了した計算フローから、推論結果を出力するための計算を行う。換言すると、ディープニューラルネットワークの一連の計算における途中の計算の結果を送信するための計算を行う。計算フロー73に示すように、Early-exitingを行わない場合、2番目の処理として5x5の畳み込み処理(Conv5x5)が行われるが、計算フロー71上の2番目の処理は3x3の畳み込み処理(Conv3x3)となっている。計算フロー71と計算フロー72のいずれを実行するかは、計算結果のデータサイズ、要する時間などに応じて選択されればよい。あるいは、計算担当がEarly-exitingの実行指示を受けた時点において計算が進んでおり、計算フロー71の通りに実行できない場合に、計算フロー72が選択されるといったことが行われてもよい。第1から第3の計算フローに示したように、Early-exitingが行われる場合、計算担当は担当範囲の少なくとも一部の計算を実行するが、計算担当が実行した計算内容全体はそのときの状況に応じて異なり得る。なお、Early-exitingの判定実施は、担当範囲の計算の中で、開始から終了の間のいずれかの位置において判定が行われてもよい。換言すると、当該判定の前に計算を実行しても良いし、判定の前に計算を実行しなくても良いし、判定の後に計算を実行しても良いし、判定の後に計
算を実行しなくても良い。また、それらの処理の有無は判定の結果や本明細書に示すその他の情報に基づいて異なっても良い。
 Early-exitingの判定条件は、様々なものが考えられ、適宜に定めてよい。複数の条件を設けてもよいし、複数のパラメータに基づいた判定条件を用いてもよい。例えば、計算結果に関する条件をEarly-exitingの判定条件としてもよい。例えば、自身の計算範囲の最終計算結果または各レイヤにおける計算結果に基づいて判定を行ってもよい。また、計算結果にソフトマックス関数などの活性化関数をさらに適用した上で判定を行ってもよい。また、交差エントロピーの値を用いて判定してもよい。例えば、ソフトマックス関数の出力値が所定の閾値以上であったときに、そのレイヤでDNNの処理を終了し、Early-exitingを行うとしてもよい。
 また、Early-exitingの判定条件として、計算担当に関する条件を設けてもよい。例えば、計算担当の計算余力を判定条件に用いてよい。
 また、Early-exitingの判定条件として、通信に関する条件を設けてもよい。例えば、RARP、RARQ、RSSI、Link failureといった通信ネットワークの通信品質を判定条件にしてもよい。例えば、次の計算担当への通信リンクの品質が悪い場合、パケットエラーによって遅延が大きくなり得る。そのため、通信品質が悪いほど、Early-exitingをなるべく行うような判定条件を設けてもよい。また、送信する計算結果のデータ量が小さければ、通信品質が悪くとも送信可能なこともあり得る。ゆえに、送信する計算結果のデータ量も判定条件に含めてよい。また、通信ネットワークのパス情報を判定条件としてもよい。例えば、端末同士間通信(PC5)では一般的に通信リンクの帯域が細いため、端末同士間通信(PC5)であった場合には、通信品質が悪いとみなし、Early-exitingを行うような判定条件を設けてもよい。また、ルート上に流れるトラフィック量の情報、各ノードで処理しているトラフィック量の情報といったトラフィックに基づく判定条件であってもよい。なお、トラフィックは、通信リソースの使用率などで表されてもよい。
 また、Early-exitingの判定条件として、通信端末11の移動(モビリティ)に関する条件を設けてもよい。例えば、移動速度、移動方向、移動によって生じたリンク切り替えやハンドオーバーに関する情報を判定条件に用いてよい。通信端末11のモビリティが高い場合、DNNの計算途中において、通信端末11がハンドオーバーする恐れが高くなる。そのため、Early-exitingを行い、ハンドオーバーが起きる前に、DNNの途中の計算結果を通信端末11に返信してしまうことが考えられる。
 また、MLアプリケーションなどからの要求を満たすかどうかを判定条件としてもよい。例えば、DNNの計算結果が通信端末11に返信されるまでの時間(遅延)、Early-exitingによって返信されるDNNの途中の計算結果の確からしさ(精度)などを含む要求情報をMLアプリケーションから取得された場合に、これらの要求事項を満たすかどうかが、計算余力、通信品質、これまでの実績などに基づいて判定されてもよい。
 また、Early-exitingの実行指示を受け取ったか否か判定条件としてもよい。例えば、DNNの計算結果が通信端末11に返信されるまでの時間(遅延)を所定時間内に収めたい場合に、通信端末11がアプリケーションレイヤでタイムスタンプをつけ、返信を受け取るまでの時間をカウントし、当該時間が上限を過ぎた時点でEarly-exitingの実行指示を送信する。通信端末11が計算担当を全て認識している場合は、通信端末11が全ての計算担当に実行指示を送信してもよい。各計算担当を通信端末11が認識していない場合などでは、通信端末11から順に各計算担当に実行指示がリレーされてもよい。そして、計算中にEarly-exitingの通知を受け取った計算担当がEarly-exitingを行えばよい。なお、通信端末11が所要時間をカウントするのではなく、各計算担当が、事前に設定した許容時間から計算に要した時間を減算して次の計算担当に通知し、許容時間を使い切った計算担当が計算結果を通信端末11に送信することも考えられる。また、担当範囲の計算に必要な時間が許容時間よりも小さい場合に、担当範囲の計算を途中終了することも考えられる。なお、所要時間の上限値、遅延マージン値など、Early-exitingを行うか否かを判定するためのパラメータの値は、論理エンティティが決定してもよいし、MLアプリケーションが決定してもよい。
 なお、Early-exitingの判定条件は、時間帯、MLアプリケーションの種類、並行して実行される他のMLアプリケーションなどに応じて、変更されてもよい。例えば、精度が要求されるMLアプリケーションの場合ではEarly-exitingの判定条件を標準よりも厳しくし、所要時間を抑えることが要求されるMLアプリケーションの場合では、Early-exitingの判定条件を標準よりも緩やかにしてもよい。
 また、判定条件に用いられる情報は、NEF(Network Exposure Function)などを介して、アプリケーションレイヤから通信レイヤへと通知されてもよい。
 Early-exitingを行う際の処理の流れについて説明する。図22は、Early-exitingに関する処理の流れの第1例を示した概略シーケンス図である。なお、図の都合上、通信端末以外の計算担当はまとめて一つとして表している。
 論理エンティティが、Early-exitingの判定条件を計算担当に送信する(T301)。なお、計算担当が固定でない場合は、計算担当となり得るエンティティに当該判定条件を予め送信しておいてもよいし、あるいは、計算担当が変更された時点で計算担当が変更されたことを通知するとともに当該判定条件を送信してもよい。各計算担当は、論理エンティティからの判定条件を受信して設定する(T302)。
 その後、通信端末11がMLアプリケーションを実行し(T303)、次の計算担当に対し、DNNの計算に必要な情報を送信する(T304)。通信端末11が計算担当の場合は、通信端末11が行ったDNNの計算結果もDNNの計算に必要な情報に含まれる。また、通信端末11は、判定に用いられる情報を送信してもよい。例えば、計算結果が通信端末11に返信されるまでに要する時間の上限値(許容時間)、計算結果の精度などを通信端末11が各計算担当に送信し、各計算担当は当該情報を判定条件のパラメータの値として用いてもよい。
 次の計算担当は、DNNの計算に必要な情報を受け取り(T305)、Early-exitingの判定に必要な情報を収集し、収集された情報を用いてEarly-exitingの判定を行う(T306)。なお、当該情報を予め収集しておいてもよい場合は、事前に収集しておいてもよい。判定結果に基づいてDNNの計算を実行する(T307)。前述の通り、Early-exitingの実行する場合と実行しない場合とでDNNの計算範囲が異なっていてもよい。
 なお、ここでは、Early-exitingの判定を行ってからDNNの計算を開始しているが、DNNの計算の途中でEarly-exitingの判定が行われてもよい。
 計算担当は、判定の結果に対応する相手に計算結果を送付する(T308)。Early-exitingを実行せず、かつ、次の計算担当が存在する場合、次の計算担当に計算結果を送付する。この場合、次の計算担当がT305からT308の処理を行う。なお、図22のT308からT305に向かう矢印は、同じの計算担当がT305からT308の処理を再度行うことを示しているのではなく、別の計算担当がT305からT308の処理を行うことを意味する。次の計算担当が存在しない場合、言い換えれば、DNNの出力層まで計算が終了した場合と、Early-exitingを実行した場合と、は、計算担当は通信端末11に計算結果を送付する。なお、計算結果以外に必要な情報を送信してもよい。例えば、計算担当が通信端末11から判定に用いる情報を受信している場合は、当該情報を次の計算担当にも送信する。Early-exitingの判定に用いられる情報が、計算担当にバケツリレー方式で順番に送信されてもよい。
 通信端末11は、DNNの計算結果を受信し(T309)、計算結果に基づくMLアプリケーションの処理を実行する(T310)。図22の例のようにEarly-exitingを実行する場合では、DNNの一連の計算の終了を待たずに計算結果が通信端末11に送信されるため、MLアプリケーションの処理が遅延することを防ぐことができる。
 このように、Early-exitingの実施の有無によって、計算担当の計算結果の送付先が異なり、Early-exitingが行われた場合は、計算担当の計算結果が通信端末11に送信される。ゆえに、Early-exitingの判定は、計算結果を通信端末11に送信するか否かの判定とも言える。
 Early-exitingの別の例について説明する。Early-exitingに関するこれまでの説明では、DNNの一連の計算の途中の計算結果を通信端末11に返信し、通信端末11の待ち時間を減らすようにした。一方、計算担当の計算余力などが想定よりもなくなった場合には、担当範囲内の計算を切り上げ、残りの計算を次の計算担当に託すことも考えられる。次の計算担当のほうが高い計算余力を有する場合、そのようにすれば、最終的な通信端末11の待ち時間を減らし得る。そこで、Early-exitingを行っても、計算結果が通信端末11に送信されない場合を説明する。
 図23は、Early-exitingに関する処理の流れの第2例を示した概略シーケンス図である。図22の例では計算担当が担当範囲の全ての計算を実行する場合もEarly-exitingに含まれたが、図23の例のEarly-exitingは、計算担当が担当範囲の全ての計算を実行する場合は含まれず、計算担当が担当範囲の計算を途中で終了することを意味する。
 なお、通信端末11も担当範囲の計算を途中で終了することができる。そのため、図23の例は、通信端末11が第1計算担当である例を示している。また、図23の例では、通信端末11以外に、第2計算担当、第3計算担当、および最終計算担当(第4計算担当)がいる場合を示している。
 各計算担当は、論理エンティティからの判定条件を受信して設定する(T302)。その後、通信端末11がMLアプリケーションを実行する(T303)。通信端末11は、Early-exitingの判定に必要な情報を収集し、収集された情報を用いてEarly-exitingの判定を行う(T306)。そして判定結果に基づいてDNNの計算を実行する(T307)。当該計算の範囲は、Early-exitingの実行する場合と実行しない場合とで異なり、判定結果や判定のタイミングによっては計算を実行しない場合があっても良い。換言するとT307の処理は必ずしも行われなくても良い。これは、本明細書におけるどの実施例においても同様である。通信端末11は、Early-exitingの実行如何に関わらず、計算結果を次の計算担当である第2計算担当に送付する(T308)。なお、Early-exitingを行ったときに、次の計算担当が計算を開始する位置を認識するために当該位置を示す情報も次の計算担当に送信してもよい。当該情報は、例えば、通信端末11の担当範囲の最後のレイヤを示す情報でもよいし、次の計算担当の担当範囲の最初のレイヤを示す情報でもよいし、計算結果を出力したノードを示す情報でもよいし、計算結果を入力すべきノードを示す情報でもよい。なお、途中終了する所定位置を次の計算担当が認識している場合は、当該位置まで計算を行い、計算結果を送信すれば、次の計算担当が計算を開始する位置を認識するための情報を送信する必要はない。
 第2計算担当は、通信端末11の計算結果に関する情報の受信、Early-exitingの判定に必要な情報の収集、Early-exitingの判定、判定結果に基づくDNN計算の実行、次の計算担当である第3計算担当への送付を行う(T305からT308)。第3計算担当も同様にT305からT308の処理を行い、第3計算担当の計算結果が最終計算担当に送信される。
 最終計算担当も同様にT305からT307の処理を行うが、最終計算担当の次の計算担当が存在しないため、最終計算担当は、Early-exitingの実行如何に関わらず、計算結果を通信端末11に送信する(T311)。通信端末11は、図22の例と同様、DNNの計算結果を受信し(T309)、計算結果に基づくMLアプリケーションの処理を実行する(T310)。このようにすれば、処理の遅延の要因となり得る計算担当の計算量を減らすことができ、図22の例ほどではないが、通信端末11の待ち時間を減らし得る。また、DNNの一連の計算が最終計算担当まで行われるため、例えば第2計算担当がDNNの計算の途中終了の結果を送付した場合よりも、通信端末11が受信する計算結果の精度は高くなり得る。
 また、Early-exitingの判定を各計算担当が行うのではなく、論理エンティティなどの特定のエンティティなどが決定する例の流れを説明する。図24は、Early-exitingに関する処理の流れの第3例を示した概略シーケンス図である。図24の例では、図22の例に対し、論理エンティティがEarly-exitingの判定を行う点などが異なる。なお、計算担当を決定するエンティティと、Early-exitingの判定を行う決定するエンティティは異なっていてもよい。
 図22の例と同様、論理エンティティがEarly-exitingの判定条件を計算担当に送信し(T301)、各計算担当が論理エンティティからの判定条件を受信して設定する(T302)が、当該判定条件は、図24の例では、論理エンティティからEarly-exitingの実行指示を受信したか否かである。
 通信端末11は、MLアプリケーションを実行すると(T303)、DNNの計算を依頼することを論理エンティティに通知する(T312)。論理エンティティは、Early-exitingの判定に必要な情報を収集し、収集された情報を用いてEarly-exitingの判定を行う(T306)。論理エンティティの判定は定期的に繰り返される。例えば、論理エンティティが、計算余力、通信品質といった通信リソースを定期的に確認して、当該通信リソースに基づいて判定が行われてもよい。また、論理エンティティが、通信端末11からの通知が行われてからの経過時間を計測し、通信端末11から通知された上限値を超えているかを確認してもよい。また、通信端末11は、図22の例と同様、次の計算担当である第1計算担当に対し、DNNの計算に必要な情報を送信する(T304)。
 第1計算担当は、図22の例と同様、T305からT308の処理を行う。図24の例では、論理エンティティからEarly-exitingの実行指示を受信していないので、担当範囲の計算を実行し、計算結果を第2計算担当に送信する。
 図24の例では、第1計算担当のDNNの計算の間に、判定条件が満たされて、論理エンティティがEarly-exitingの実行を決定し、全ての計算担当に送信する(T314)。なお、図24の例では、いずれの計算担当が計算中であるかを論理エンティティが認識していないため、全ての計算担当に送信するとしている。各計算担当が計算終了を論理エンティティに通知するなどによっていずれの計算担当が計算中であるかを論理エンティティが認識している場合は、次の計算担当だけに送信してもよい。
 第2計算担当は、第1計算担当の計算結果を受け取る前に、Early-exitingの実行通知を受信する(T315)。その後、第1計算担当の計算結果が送信されて、第2計算担当は、T305からT308の処理を行う。ゆえに、第2計算担当は、Early-exitingを行う場合の計算を実行し、実行された計算結果を通信端末11に送信することになる。通信端末11は、図22の例同様、T309およびT310の処理を実行する。このように、論理エンティティがEarly-exitingの実行を判定し、論理エンティティからの実行通知を各計算担当のEarly-exitingの判定条件としてもよい。なお、Early-exitingの実行通知をDNNの計算途中に受け取った場合、計算担当は、可能であれば、Early-exitingを行うとしてもよい。
 なお、Early-exitingを実行すると判定された場合、Early-exitingのための処理と並行して、Early-exitingを行わない場合の処理も継続して実行してもよい。すなわち、Early-exitingを実行した計算担当は、途中の計算結果を通信端末11に送信するとともに、次の計算担当にも計算結果を送信してもよい。こうすると、通信端末11は、DNNの途中までの計算結果を受信した後に、DNNの最終の計算結果も受信することができる。例えば、MLアプリケーションの処理結果をDNN計算の途中結果から早く得られるようにし、その後、MLアプリケーションの処理が正しかったかを、後から受信したDNNの最終の計算結果に基づいて確認するといったことを行うことができる。その結果、計算精度の向上や計算時間の短縮に貢献しうる。以降、Early-exitingを行った場合でも、Early-exitingを行わなかった場合の計算も実行し、DNNの最終的な計算結果を通信端末11に送信することをマルチフィードバックと記載する。
 なお、マルチフィードバックを行う場合に担当範囲の途中で計算を終了したときは、計算担当は、図23の例で示したように、残りの計算を次の計算担当に依頼してもよいし、担当範囲の全ての計算を実行した上で、次の計算担当に計算結果を送信してもよい。
 マルチフィードバックを行うか否かは、通信端末11から通知されてもよい。あるいは、Early-exitingを行った計算担当が論理エンティティにEarly-exitingを行ったことを通知し、論理エンティティは、当該通知を受けて、マルチフィードバックを行うか否かを、状況に応じて決定してもよい。マルチフィードバックの実行判定条件も、Early-exitingの実行判定条件と同様に、計算担当の計算余力、通リソース、MLアプリケーションの要求仕様などに応じて、決定されてよい。
 また、Early-exitingを行った計算担当は、次の計算担当にEarly-exitingが行われたことを通知し、次の計算担当がEarly-exitingを行わないようにしてもよい。逆に、既にEarly-exitingが行われた場合であっても、次の計算担当もEarly-exitingを行ってもよい。ゆえに、通信端末11は、複数のEarly-exitingによる計算結果と、DNNの最終の計算結果と、を受け取ることもあり得る。
 図25は、マルチフィードバックを説明する概念図である。図25の例では、通信端末と、第2から第4の計算担当がDNNの計算を担当している。図25の例では、第2計算担当がEarly-exitingを行っており、第2計算担当のEarly-exitingによる計算結果が通信端末11に返信されていることが矢印で表されたフィードバックFD1によって表されている。また、第2計算担当は、マルチフィードバックのために計算結果を第3計算担当に送信している。一方、第3計算担当もEarly-exitingを行っており、第3計算担当のEarly-exitingによる計算結果が通信端末11に返信されていることがフィードバックFD2によって表されている。また、第3計算担当も、マルチフィードバックのために計算結果を第4計算担当に送信している。図25の例では、第4計算担当はDNNの一連の計算の最後まで計算を行い、最終計算結果を通信端末11に送信しいていることがフィードバックFD3によって表されている。このように、通信端末11は、複数のEarly-exitingによる計算結果(FD1とFD2)と、DNNの最終の計算結果(FD3)と、を受け取ることがあり得る。
 なお、マルチフィードバックを行う場合は、Early-exitingが行われた後のDNNの計算は、各計算担当が分担して計算を行うのではなく、特定のエンティティが計算を一局集中的に実行してもよい。例えば、図25の例では、Early-exitingが行われた場合、第2計算担当および第3計算担当は計算を実行せず、第4通信担当が残りの計算を一括して行うとしてもよい。
 なお、Early-exitingが行われた場合、Early-exitingを行った計算担当、Early-exitingを行った理由、計算の終了位置など、Early-exitingの実行に関する情報が通信端末11に送信されてもよい。また、マルチフィードバックを実行する場合は、論理エンティティなどが、実績、通信リソースなどに基づき、DNNの最終計算結果が通信端末11に到達する時間を推定し、通信端末11に通知してもよい。これにより、MLアプリケーションは、Early-exitingの結果を受け取ったとしても、Early-exitingの結果を用いずに、DNNの最終計算結果を待つということもできる。
 また、Early-exitingを行った計算担当は、計算担当の変更を論理エンティティに要求してもよい。例えば、自身の計算余力に問題があるためにEarly-exitingを行った場合には、自身を計算担当から外すように要求してもよい。例えば、次の計算担当との通信品質に問題があるためにEarly-exitingを行った場合では、次の計算担当を変更するように要求してもよい。
 また、通信端末11は、Early-exitingの実行可否の通知を論理エンティティ、各計算担当に行ってもよい。例えば、Early-exitingの実行を拒否する通知が通信端末11から送信されている場合は、各計算担当はEarly-exitingの判定条件に従わずに、Early-exitingを行わないとしてもよい。また、マルチフィードバックの実行可否に関する通知を行ってもよい。また、マルチフィードバックを許可する場合、図25で示したフィードバックの数の上限値などを指定してもよい。
 第2実施形態の各エンティティの内部構成は、第1実施形態同様でよいため省略する。Early-exitingを行わない場合の計算範囲と、Early-exitingを行う場合の計算範囲と、を各装置の記憶部(図18の記憶部52または図19の記憶部112)に記憶しておき、各装置の制御部(図18の制御部53または図19の制御部113)が用いる計算範囲を切り替え、各装置の演算部(図18の演算部54または図19の演算部114)がDNNの計算を実行すればよい。
 以上のように、本実施形態では、複数のエンティティがDNNの一連の計算を分担して担当する分散学習を行う場合においてEarly-exitingを実行する。Early-exitingを実行することにより、通信遅延などが起きやすい通信ノードを用いた分散学習においても、DNNの計算結果が通信端末11にフィードバックされる時間を所定時間内に抑えることが可能となる。また、計算担当の計算余力などが想定よりもなくなった場合には、担当範囲内の計算も途中で終了し、残りの計算を次の計算担当に託すこともできる。このようにして、DNNの一連の計算にかかる時間を抑えることもできる。
 なお、本開示の処理は、特定の規格に限定されるものではなく、例示された設定は、適宜に変更されてよい。なお、上述の実施形態は本開示を具現化するための一例を示したものであり、その他の様々な形態で本開示を実施することが可能である。例えば、本開示の要旨を逸脱しない範囲で、種々の変形、置換、省略またはこれらの組み合わせが可能である。そのような変形、置換、省略等を行った形態も、本開示の範囲に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
 また、本開示において説明された処理の手順は、これら一連の手順を有する方法として捉えてもよい。あるいは、これら一連の手順をコンピュータに実施させるためのプログラム、または、当該プログラムを記憶する記録媒体として捉えてもよい。また、上記で説明された論理エンティティおよび計算担当の処理は、コンピュータのCPU等のプロセッサによって実行される。また、記録媒体の種類は、本開示の実施形態に影響を及ぼすものではないため、特に限られるものではない。
 なお、本開示で示された、図18から図20で示された各構成要素は、ソフトウェアで実現されてもよいし、ハードウェアで実現されてもよい。例えば、各構成要素がマイクロプログラムなどのソフトウェアで実現されるソフトウェアモジュールであり、プロセッサが当該ソフトウェアモジュールを実行することにより、各構成要素が実現されてもよい。あるいは、各構成要素が、半導体チップ(ダイ)上の回路ブロック、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路によって実現されてもよい。また、構成要素の数と、構成要素を実現するハードウェアの数と、は一致していなくともよい。例えば、1つのプロセッサまたは回路が複数の構成要素を実現していてもよい。逆に、1つの構成要素が複数のプロセッサまたは回路により実現されていてもよい。
 なお、本開示で述べられたプロセッサは、その種類が限られるものではない。例えば、CPU、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などであってもよい。
 また、上記ではDNNにおける本開示の活用について記載したが、必ずしもこれに限定されない。例えばSNN(スパイキングニューラルネットワーク)等において同様の構成が用いられても良い。また、その際にDNNにおける活用とは違う課題を解決するために用いられても良い。上述したいずれかの情報の伝達にはスパイク信号を用いても良い。また、時系列データから因果関係を抽出し、その情報を基に上述したいずれかの判断を行っても良い。
 また、基地局装置50の記憶部52、通信端末11の記憶部112など、データを記憶するための構成要素は、データ読み書き可能な装置によって実現されればよく、当該装置は適宜に選択されてよい。例えば、DRAM、SRAM、フラッシュメモリ、ハードディスクなどであってよい。
 なお、本開示は以下のような構成を取ることもできる。
[1]
 ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置であって、
 前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、
 前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信し、
 前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信する、
 情報処理装置。
[2]
 前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定されなかった場合には、前記第1範囲に含まれる計算の少なくとも一部を実行し、実行された計算の結果を、前記第2の通信装置に送信する前記計算の結果として用い、
 前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合には、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いる、
 [1]に記載の情報処理装置。
[3]
 前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
 前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第1の通信装置に送信するための前記計算に用いる、
 [1]に記載の情報処理装置。
[4]
 前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
 前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第2の通信装置に送信する前記計算の結果として用いる、
 [1]に記載の情報処理装置。
[5]
 前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
 前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算を継続し、前記第1範囲の計算の結果を前記第2の通信装置に送信する前記計算の結果として用いる、
 [1]ないし[4]のいずれか一項に記載の情報処理装置。
[6]
 前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、さらに、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2の通信装置に送信する、
 [1]ないし[5]のいずれか一項に記載の情報処理装置。
[7]
 前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の全てが実行されなかったときは、実行された計算の結果とともに、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報を、前記第2の通信装置に送信する、
 [6]に記載の情報処理装置。
[8]
 前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記一連の計算の少なくとも一部を実行可能な第3の通信装置に送信する、
 [1]ないし[7]のいずれか一項に記載の情報処理装置。
[9]
 前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の所定位置までを実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いる、
 [1]ないし[7]のいずれか一項に記載の情報処理装置。
[10]
 前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算のいずれの位置まで実行するかを決定し、前記第1範囲に含まれる計算を決定された位置まで実行し、実行された計算の結果と、決定された位置を示す情報と、を前記第2の通信装置に送信する、
 [1]ないし[7]のいずれか一項に記載の情報処理装置。
[11]
 前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置の計算余力に関する情報、前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置におけるトラフィック量に関する情報、のうちの少なくとも1つに基づいて前記判定を行う、
 [1]ないし[10]のいずれか一項に記載の情報処理装置。
[12]
 前記第1の通信装置との間の通信品質、前記第1の通信装置のモビリティ情報、のうちの少なくとも1つに基づいて前記判定を行う、
 [1]ないし[11]のいずれか一項に記載の情報処理装置。
[13]
 前記一連の計算を途中終了することを指示する情報、前記一連の計算における途中の計算の結果を前記第1の通信装置に送信することを指示する情報、のうちの少なくとも1つに基づいて前記判定を行う、
 [1]ないし[12]のいずれか一項に記載の情報処理装置。
[14]
 前記第1の通信装置から要求情報を取得し、前記要求情報に基づいて前記判定を行う、 [1]ないし[13]のいずれか一項に記載の情報処理装置。
[15]
 前記第1範囲の計算に必要な時間が与えられた許容時間よりも大きい場合に、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定する、
 [1]ないし[14]のいずれか一項に記載の情報処理装置。
[16]
 ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行い、
 前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信する、
 情報処理装置。
[17]
 前記第2範囲の計算担当である装置が前記第2範囲に含まれる計算を途中終了してもよいか否かを示す情報を、前記第2範囲の計算担当である装置にさらに送信する、
 [16]に記載の情報処理装置。
[18]
 ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置において実行される情報処理方法であって、
 前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行うステップと、
 前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信するステップと、
 前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信するステップと、
 を備える情報処理方法。
[19]
 ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行うステップと、
 前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信するステップと、
 を備える情報処理方法。
[20]
 ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する第1情報処理装置および第2情報処理装置を少なくとも備え、
 前記第1情報処理装置は、
  前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、
  前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2情報処理装置に送信し、
  前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信し、
 前記第2情報処理装置は、
  前記一連の計算のうちの前記第1情報処理装置によって実行された計算以降の計算を前記第1情報処理装置によって実行された計算の結果に基づいて実行する、
 情報処理システム。
[21]
 少なくとも、ディープニューラルネットワークの一連の計算のうちの第1範囲の計算を行う第1情報処理装置と、前記ディープニューラルネットワークの一連の計算のうちの前記第1範囲に続く第2範囲の計算を行う第2情報処理装置と、を備え、
 前記第1情報処理装置は、
  前記第1範囲に含まれる計算を途中終了するか否かの判定を行い、
  前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第2情報処理装置に送信し、
 前記第2情報処理装置は、
  前記情報を受け取ったときは、前記一連の計算の前記第1情報処理装置によって実行された計算の続きを、前記第1情報処理装置によって実行された計算の結果に基づいて実行する、
 情報処理システム。
[22]
 前記第1範囲を決定する第3情報処理装置
 をさらに備える[20]に記載の情報処理システム。
[23]
 前記第1範囲に含まれる計算を途中終了するか否かの判定を行う第3情報処理装置
 をさらに備え、
 前記第3情報処理装置は、前記第1範囲に含まれる計算を途中終了する指示を前記第1情報処理装置に送信し、
 前記第1情報処理装置は、前記指示を受け取った場合に、前記第1範囲に含まれる計算を途中終了すると判定する、
 [21]に記載の情報処理システム。
 1:情報処理システム、11:通信端末、111:無線通信部、1110:送信処理部、1111:符号化部、1112:変調部、1113:多重部、1114:無線送信部、1115:受信処理部、1116:無線受信部、1117:多重分離部、1118:復調部、1119:復号部、112:記憶部、113:制御部、114:演算部、1141:条件設定部、1142:演算モデル設定部、1143:演算処理部、115:アンテナ、12:クラウドシステム、121:クラウドサーバー、13:通信ネットワーク、131:無線通信ノード、132:ドナーノード、133:コアネットワーク、1331:コアネットワークの通信ノード、134:RAN、2:点線枠(DNN)、21:DNNのノード、22:DNNのリンク、50:基地局装置、51:無線通信部、510:送信処理部、511:符号化部、512:変調部、513:多重部、514:無線送信部、515:受信処理部、516:無線受信部、517:多重分離部、518:復調部、519:復号部、52:記憶部、53:制御部、54:演算部、55:ネットワーク通信部、56:アンテナ、601:AMF、602:NEF、603:NRF、604:NSSF、605:PCF、606:SMF、607:UDM、608:AF、609:AUSF、610:UCMF、630:UPF、640:DN、71・72・73:計算フロー、FD1・FD2・FD3:フィードバック、

Claims (23)

  1.  ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置であって、
     前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、
     前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信し、
     前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信する、
     情報処理装置。
  2.  前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定されなかった場合には、前記第1範囲に含まれる計算の少なくとも一部を実行し、実行された計算の結果を、前記第2の通信装置に送信する前記計算の結果として用い、
     前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合には、前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いる、
     請求項1に記載の情報処理装置。
  3.  前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
     前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第1の通信装置に送信するための前記計算に用いる、
     請求項1に記載の情報処理装置。
  4.  前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
     前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記判定の前に実行された前記計算の結果を前記第2の通信装置に送信する前記計算の結果として用いる、
     請求項1に記載の情報処理装置。
  5.  前記第1範囲に含まれる計算のうちの少なくとも一部を実行し、
     前記判定が前記第1範囲に含まれる計算を実行している間に行われ、かつ、前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算を継続し、前記第1範囲の計算の結果を前記第2の通信装置に送信する前記計算の結果として用いる、
     請求項1に記載の情報処理装置。
  6.  前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、さらに、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2の通信装置に送信する、
     請求項1に記載の情報処理装置。
  7.  前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の全てが実行されなかったときは、実行された計算の結果とともに、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報を、前記第2の通信装置に送信する、
     請求項6に記載の情報処理装置。
  8.  前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記一連の計算の少なくとも一部を実行可能な第3の通信装置に送信する、
     請求項1に記載の情報処理装置。
  9.  前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算の所定位置までを実行し、実行された計算の結果を、前記第1の通信装置に送信するための前記計算に用いる、
     請求項1に記載の情報処理装置。
  10.  前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定された場合に、前記第1範囲に含まれる計算のいずれの位置まで実行するかを決定し、前記第1範囲に含まれる計算を決定された位置まで実行し、実行された計算の結果と、決定された位置を示す情報と、を前記第2の通信装置に送信する、
     請求項1に記載の情報処理装置。
  11.  前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置の計算余力に関する情報、前記ディープニューラルネットワークの一連の計算のうちの少なくとも一部を担当する装置におけるトラフィック量に関する情報、のうちの少なくとも1つに基づいて前記判定を行う、
     請求項1に記載の情報処理装置。
  12.  前記第1の通信装置との間の通信品質、前記第1の通信装置のモビリティ情報、のうちの少なくとも1つに基づいて前記判定を行う、
     請求項1に記載の情報処理装置。
  13.  前記一連の計算を途中終了することを指示する情報、前記一連の計算における途中の計算の結果を前記第1の通信装置に送信することを指示する情報、のうちの少なくとも1つに基づいて前記判定を行う、
     請求項1に記載の情報処理装置。
  14.  前記第1の通信装置から要求情報を取得し、前記要求情報に基づいて前記判定を行う、
     請求項1に記載の情報処理装置。
  15.  前記第1範囲の計算に必要な時間が与えられた許容時間よりも大きい場合に、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を前記第1の通信装置に送信すると判定する、
     請求項1に記載の情報処理装置。
  16.  ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行い、
     前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信する、
     情報処理装置。
  17.  前記第2範囲の計算担当である装置が前記第2範囲に含まれる計算を途中終了してもよいか否かを示す情報を、前記第2範囲の計算担当である装置にさらに送信する、
     請求項16に記載の情報処理装置。
  18.  ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する情報処理装置において実行される情報処理方法であって、
     前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行うステップと、
     前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第1範囲に続く第2範囲の計算担当である第2の通信装置に送信するステップと、
     前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信するステップと、
     を備える情報処理方法。
  19.  ディープニューラルネットワークの一連の計算のうちの第1範囲に含まれる計算を途中終了するか否かの判定を行うステップと、
     前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第1範囲に続く第2範囲の計算担当である装置に送信するステップと、
     を備える情報処理方法。
  20.  ディープニューラルネットワークの一連の計算のうちの一部の計算を担当する第1情報処理装置および第2情報処理装置を少なくとも備え、
     前記第1情報処理装置は、
      前記ディープニューラルネットワークの一連の計算における途中の計算の結果を、第1の通信装置に送信するか否かの判定を行い、
      前記第1の通信装置に送信すると判定されなかった場合には、前記一連の計算のうちの第1範囲に含まれる計算の少なくとも一部の計算の結果を、前記第2情報処理装置に送信し、
      前記第1の通信装置に送信すると判定された場合には、前記ディープニューラルネットワークの一連の計算における途中の計算の結果を用いて前記第1の通信装置に送信するための計算を実行し、実行された計算の結果を、前記第1の通信装置に送信し、
     前記第2情報処理装置は、
      前記一連の計算のうちの前記第1情報処理装置によって実行された計算以降の計算を前記第1情報処理装置によって実行された計算の結果に基づいて実行する、
     情報処理システム。
  21.  少なくとも、ディープニューラルネットワークの一連の計算のうちの第1範囲の計算を行う第1情報処理装置と、前記ディープニューラルネットワークの一連の計算のうちの前記第1範囲に続く第2範囲の計算を行う第2情報処理装置と、を備え、
     前記第1情報処理装置は、
      前記第1範囲に含まれる計算を途中終了するか否かの判定を行い、
      前記第1範囲に含まれる計算を途中終了すると判定された場合に、前記第1範囲に含まれる計算の一部を実行し、実行された計算の結果と、実行された計算の結果が前記一連の計算のいずれの位置であるかを示す情報と、を、前記第2情報処理装置に送信し、
     前記第2情報処理装置は、
      前記情報を受け取ったときは、前記一連の計算の前記第1情報処理装置によって実行された計算の続きを、前記第1情報処理装置によって実行された計算の結果に基づいて実行する、
     情報処理システム。
  22.  前記第1範囲を決定する第3情報処理装置
     をさらに備える請求項20に記載の情報処理システム。
  23.  前記第1範囲に含まれる計算を途中終了するか否かの判定を行う第3情報処理装置
     をさらに備え、
     前記第3情報処理装置は、前記第1範囲に含まれる計算を途中終了する指示を前記第1情報処理装置に送信し、
     前記第1情報処理装置は、前記指示を受け取った場合に、前記第1範囲に含まれる計算を途中終了すると判定する、
     請求項21に記載の情報処理システム。
PCT/JP2022/015609 2021-07-01 2022-03-29 通信装置、通信方法、および通信システム WO2023276382A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22832543.7A EP4365773A1 (en) 2021-07-01 2022-03-29 Communication device, communication method, and communication system
CN202280045103.2A CN117546175A (zh) 2021-07-01 2022-03-29 通信设备、通信方法和通信系统
JP2023531450A JPWO2023276382A1 (ja) 2021-07-01 2022-03-29

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021110381 2021-07-01
JP2021-110381 2021-07-01

Publications (1)

Publication Number Publication Date
WO2023276382A1 true WO2023276382A1 (ja) 2023-01-05

Family

ID=84692660

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/015609 WO2023276382A1 (ja) 2021-07-01 2022-03-29 通信装置、通信方法、および通信システム

Country Status (4)

Country Link
EP (1) EP4365773A1 (ja)
JP (1) JPWO2023276382A1 (ja)
CN (1) CN117546175A (ja)
WO (1) WO2023276382A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018196631A1 (en) * 2017-04-26 2018-11-01 Midea Group Co., Ltd. Training machine learning models on a large-scale distributed system using a job server
JP2019148876A (ja) * 2018-02-26 2019-09-05 日本電信電話株式会社 制御装置、データ処理制御方法、及びプログラム
JP2021068393A (ja) * 2019-10-28 2021-04-30 富士通株式会社 情報処理システム、情報処理装置、および情報処理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018196631A1 (en) * 2017-04-26 2018-11-01 Midea Group Co., Ltd. Training machine learning models on a large-scale distributed system using a job server
JP2019148876A (ja) * 2018-02-26 2019-09-05 日本電信電話株式会社 制御装置、データ処理制御方法、及びプログラム
JP2021068393A (ja) * 2019-10-28 2021-04-30 富士通株式会社 情報処理システム、情報処理装置、および情報処理プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"TR (Technical Report) 22.874, V0.1.0", 3GPP (3RD GENERATION PARTNERSHIP PROJECT
SURAT TEERAPITTAYANON, BRANCHYNET: FAST INFERENCE VIA EARLY-EXITING FROM DEEP NEURAL NETWORKS, Retrieved from the Internet <URL:http://bradmcdanel.com/files/2016-icpr-teerapittayanon-mcdanel-kung.pdf>
SURAT TEERAPITTAYANON, DISTRIBUTED DEEP NEURAL NETWORKS OVER THE CLOUD, THE EDGE AND END DEVICES

Also Published As

Publication number Publication date
JPWO2023276382A1 (ja) 2023-01-05
EP4365773A1 (en) 2024-05-08
CN117546175A (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
Dong et al. An edge computing empowered radio access network with UAV-mounted FSO fronthaul and backhaul: Key challenges and approaches
KR20200095469A (ko) 핸드오버 관련 기술, 장치 및 방법
JP7480713B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2021117373A1 (ja) 情報処理装置、情報処理方法、端末装置、基地局装置、及びプログラム
WO2021070703A1 (ja) 端末装置及び通信方法
JP7452437B2 (ja) 通信装置、通信方法、情報処理装置、及び情報処理方法
EP4027680A1 (en) Communication control device, communication control method, and communication control program
WO2020218183A1 (ja) 基地局装置、基地局装置の制御方法、端末装置、及び端末装置の制御方法
KR102346094B1 (ko) 무선 통신 시스템에서 경로를 제공하기 위한 장치 및 방법
WO2022138232A1 (ja) 通信装置、通信方法、および通信システム
WO2023276382A1 (ja) 通信装置、通信方法、および通信システム
EP4135474A1 (en) Mobile and plug-and-play cell networks
Peng et al. Fog Radio Access Networks (F-RAN)
US20220330334A1 (en) Communication control device, communication device, communication control method, and communication method
CN117643105A (zh) 使用移动通信节点进行数据路由的方法和装置
CN116648957A (zh) 通信设备,通信方法和通信系统
WO2024018780A1 (ja) 端末装置、情報処理装置、及び通信方法
WO2020001769A1 (en) Quality of service control and mobility management for advanced vehicular users of wireless network
CN114342443B (zh) 通信控制装置、通信控制方法和通信控制程序
US20230096676A1 (en) Using expanded metadata to select among available wireless networks
WO2022113808A1 (ja) 通信装置、通信方法、及び通信システム
WO2021111751A1 (ja) 制御装置、基地局装置、制御方法および接続方法
WO2021132194A1 (ja) 端末装置、管理装置及び通信方法

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023531450

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202280045103.2

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18574143

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2022832543

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022832543

Country of ref document: EP

Effective date: 20240201