Method, system, and apparatus for reasoning using probabilistic information

Distributed inference processes across multiple devices, leveraging data correlations and redundancy, enhance inference accuracy and reduce latency in low-cost wireless devices.

JP2025532570APending Publication Date: 2025-10-01HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025515550
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-09-14
Publication Date
2025-10-01

AI Technical Summary

Technical Problem

Low-cost devices in wireless communication networks face challenges with unreliable communication and computation, leading to poor inference performance in real-time systems requiring high accuracy and low latency, especially when data transfer is limited by bandwidth and stability.

Method used

Distributed inference processes across multiple devices, leveraging correlations in input data to refine inference results using probability information, and introducing redundancy to mitigate errors.

Benefits of technology

Improves inference accuracy and reduces latency by utilizing correlations and redundancy in input data, enabling low-cost devices to perform effective inference tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025532570000001_ABST
    Figure 2025532570000001_ABST
Patent Text Reader

Abstract

Input data for an inference process is often highly correlated and interdependent. These correlations provide inherent redundancy in the input data that can be used to refine inference results and thus improve inference performance. In some embodiments, probabilistic information is used to refine results from the inference process. The probabilistic information indicates, for each of a plurality of potential outcomes obtainable from the inference process, the probability of obtaining each potential outcome and another potential outcome from the plurality of potential outcomes. By refining the inference results in this manner, inference performance can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application relates to inference, and in particular to inference using probabilistic information. [Background technology]

[0002] Future wireless communication systems, such as sixth-generation, or "6G," wireless communication, are expected to trend toward ever more diverse application scenarios, including the use of artificial intelligence (AI) such as machine-learning (ML) and sensing to provide services for a large number of devices.

[0003] One common application of machine learning is performing inference to extract insights from data. In the context of wireless communication networks, machine learning processes, such as deep neural networks (DNNs), can be trained to perform inference using data from devices in the network. The machine learning processes can be deployed, for example, in data centers that are remote from the devices that provide the data, which means that large amounts of data can need to be transferred from the devices to the machine learning processes over the network. Because wireless connections may not provide sufficient bandwidth and stability to transfer data to the machine learning processes, this data transfer is only feasible when the devices are connected to the network by wired or optical fiber connections that can provide high-bandwidth and stable connections. Summary of the Invention

[0004] In next-generation networks, inference can be performed collectively by the network and devices within the network, rather than solely in a centralized data center. An inference job can be distributed to multiple devices, with each device performing one or more tasks as part of a distributed machine learning process. This can ease the computational load on each device compared to a situation where one device performs the entire inference job, and also reduce the amount of data each device may need to communicate as part of the machine learning process (e.g., reduced traffic load). Because the computational and traffic load on each device is reduced, lower complexity devices, such as IoT devices, can be used to perform the inference. This means that inference can be performed using low-cost hardware, which may even be battery-powered.

[0005] However, challenges may still arise because low-cost devices may be less reliable, both in terms of communication and computation. The low capabilities of individual devices may result in poor inference performance in real-time systems that require not only inference accuracy but also low latency. To improve inference performance (e.g., improve accuracy and latency) and achieve a desired quality of service, many devices may be required to work together.

[0006] According to aspects of the present disclosure, inference results from a distributed inference process may be refined by exploiting correlations present in the data on which the inference was performed. The input data for the inference process is often highly correlated and interdependent. These correlations provide inherent redundancy in the input data that may be used to refine the inference results and thus improve inference performance. This may improve the accuracy of the inference results, for example. Additionally, using these correlations may enable the inference to be adapted to particular applications, environments, and environmental changes.

[0007] In a first aspect, a method is provided. The method involves receiving inputs from a network device for component inference processes forming part of a distributed inference process representing a machine learning process. The method also involves performing the component inference processes on the inputs to obtain a first inference result. The method also involves transmitting a second inference result to the network device based on the first inference result and probability information. The probability information indicates, for each of a plurality of potential outcomes obtainable from the component inference processes, a probability of obtaining the respective potential outcome from the plurality of potential outcomes and another potential outcome.

[0008] The machine learning process may include a classification process. The plurality of potential outcomes may include a plurality of classes, such that the probability information indicates, for each of the plurality of classes obtainable from the component inference processes, a probability of obtaining the respective class and another class from the plurality of classes. The first inference result may include, for each class i in the plurality of classes, a respective first confidence c1(i). The second inference result may include, for each class i in the plurality of classes, a respective second confidence c2(i).

[0009] The probability information may include, for each class in the plurality of classes, a respective conditional probability P(i,j|j) of obtaining the respective class i and the other class j from the plurality of potential outcomes given that the other potential outcomes j have been obtained from the component inference processes.

number

[0010] The machine learning process may include a regression process. The plurality of potential outcomes may have a plurality of values ​​of a parameter. The first inference result may be a first probability distribution P1(x) of the parameter associated with a first datum i in the input. i The second inference result may have a second probability distribution P2(x i ).

[0011] The probability information is the first value x of the parameter i and obtaining a second value x of said parameter j It may include the joint probability of obtaining The method comprises:

number

[0012] The probability information is a second value x of the parameter j Assuming that the first value x of the parameter has been obtained, i The conditional probability of obtaining P(x i |x j ) The method may include:

number

[0013] The method may also involve receiving an indication of the probability information from the network device.

[0014] The method may also involve updating the probability information based on the first inference result or the second inference result.

[0015] The method may also involve one or more of indicating the updated probability information to the network devices and indicating the updated probability information to a device configured to perform inference as part of the distributed inference process.

[0016] Also provided is an apparatus (e.g., an entity) configured to perform the aforementioned methods. In yet another aspect, a memory (e.g., a non-transitory processor-readable medium) is provided. The memory includes instructions (e.g., processor-executable instructions) that, when executed by a processor of the apparatus, cause the apparatus to perform the methods described above.

[0017] In a second aspect, a method implemented by a network device is provided. The method includes transmitting a respective first input of a plurality of first inputs to each of a plurality of processing devices, each respective first input being for a component inference process as part of a distributed inference process representing a machine learning process. The method also includes receiving, from the plurality of processing devices, probability information and first inference results obtained based on the plurality of first inputs, where the probability information indicates, for each of a plurality of potential outcomes obtainable from the component inference processes, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes.

[0018] The plurality of first inputs comprises a plurality of second inputs and at least one redundant input, and the method may further include encoding the plurality of second inputs to generate the at least one redundant input, and decoding the first inference result to obtain a second inference result.

[0019] The method may also involve receiving, from at least one of the plurality of processing devices, a respective update to the probability information based on the first inference results obtained from the component inference processes.

[0020] The method may also involve indicating the probability information to the plurality of processing devices by indicating the same probability information to each of the plurality of processing devices.

[0021] The method may also involve indicating the probability information to at least one of the plurality of processing devices by indicating the first probability information specific to the respective processing device.

[0022] The plurality of potential outcomes obtainable from the component inference processes may be a first plurality of potential outcomes. The method may also involve obtaining, for each of a second plurality of potential outcomes obtainable from the distributed inference processes, second probability information indicative of a probability of obtaining the respective potential outcome and another potential outcome from the second plurality of potential outcomes. The method may also involve, for each of at least one of the plurality of processing devices, selecting the first probability information from the second probability information based on the first plurality of potential outcomes.

[0023] Also provided is a network device configured to perform the aforementioned method. In yet another aspect, a memory (e.g., a non-transitory processor-readable medium) is provided. The memory includes instructions (e.g., processor-executable instructions) that, when executed by a processor of a network device, cause the network device to perform the method described above.

[0024] In a third aspect, a method is provided for implementation by a network device. The method involves transmitting a respective first input of a plurality of first inputs to each of a plurality of processing devices, the respective first inputs being for a component inference process as part of a distributed inference process representing a machine learning process. The method also includes receiving first inference results from the plurality of processing devices based on the plurality of first inputs. The method also includes determining a second inference result based on the first inference result and probability information, where, for each of a plurality of potential outcomes obtainable from the component inference processes, the probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes.

[0025] The plurality of first inputs comprises a plurality of second inputs and at least one redundant input, and the method may further include encoding the plurality of second inputs to generate the at least one redundant input, and decoding the first inference result to obtain a second inference result.

[0026] In a fourth aspect, a method is provided, the method including performing an inference process on input data to obtain a first inference result, and determining a second inference result based on the first inference result and probability information, the probability information indicating, for each of a plurality of potential outcomes obtainable from the inference process, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes.

[0027] In yet another aspect, a system is provided. The system includes a first device configured to obtain a first inference result as part of a distributed inference process representing a machine learning process. The system further includes a second device in communication with the first device. The second device is configured to obtain a second inference result as part of the distributed inference process, the second inference result being based on the first inference result and probability information. The probability information indicates, for each of a plurality of potential outcomes obtainable from the inference process, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes. [Brief explanation of the drawings]

[0028] For a more complete understanding of the present embodiments and their advantages, reference is now made, by way of example, to the following descriptions taken in conjunction with the accompanying drawings, in which:

[0029] [Figure 1] 1 is a schematic diagram of a communication system in which embodiments of the present disclosure may occur;

[0030] [Figure 2] FIG. 2 is another schematic diagram of a communication system in which embodiments of the present disclosure may occur.

[0031] [Figure 3] 1 is a block diagram illustrating units or modules within a device in which embodiments of the present disclosure may occur.

[0032] [Figure 4] 1 is a block diagram illustrating units or modules within a device in which embodiments of the present disclosure may occur.

[0033] [Figure 5] FIG. 1 is a block diagram of an exemplary system for implementing a coding inference process, according to an embodiment of the present disclosure.

[0034] [Figure 6]In two sets of images, this indicates the number of times each object in a set of objects appears as another object in the same image. [Figure 7] In two sets of images, this indicates the number of times each object in a set of objects appears as another object in the same image.

[0035] [Figure 8] For a set of images, it indicates the number of times objects of different classes appear in the same image.

[0036] [Figure 9] Correlation maps for classes of images in the two datasets are shown. [Figure 10] Correlation maps for classes of images in the two datasets are shown.

[0037] [Figure 11] 1 is an illustration of a method according to an embodiment of the present disclosure.

[0038] [Figure 12] 1 shows a flowchart of a method according to an embodiment of the present disclosure. [Figure 13] 1 shows a flowchart of a method according to an embodiment of the present disclosure. [Figure 14] 1 shows a flowchart of a method according to an embodiment of the present disclosure. [Figure 15] 1 shows a flowchart of a method according to an embodiment of the present disclosure.

[0039] [Figure 16] 1 illustrates object detection and classification in an image according to an embodiment of the present disclosure. [Figure 17] 1 illustrates object detection and classification in an image according to an embodiment of the present disclosure.

[0040] [Figure 18]10 illustrates an object detection rate for a distributed inference process implemented in accordance with an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0041] The operation of the present exemplary embodiment and its structure are discussed in detail below. However, it should be understood that the present disclosure provides many applicable inventive concepts that can be embodied in any of a variety of specific contexts. The specific embodiments discussed are merely illustrative of the specific structure of the present disclosure and the manner in which it operates, and do not limit the scope of the present disclosure.

[0042] Referring to FIG. 1 , a simplified schematic diagram of a communication system is provided as a non-limiting illustrative example. Communication system 100 includes a radio access network 120. Radio access network 120 may be a next-generation (e.g., sixth-generation (6G) or later) radio access network or a legacy (e.g., 5G, 4G, 3G, or 2G) radio access network. One or more communication electronic devices (EDs) 110a-110j (generally referred to as 110) may be interconnected to each other or connected to one or more network nodes (generally referred to as 170a, 170b, 170c) within radio access network 120. A core network 130 may be part of the communication system and may be dependent on or independent of the radio access technology used in communication system 100. Communication system 100 also includes a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160.

[0043] FIG. 2 illustrates an exemplary communication system 100. Generally, the communication system 100 enables multiple wireless or wired elements to communicate data and other content. The purpose of the communication system 100 may be to provide content such as voice, data, video, and / or text via broadcast, multicast, unicast, and the like. The communication system 100 may operate by sharing resources, such as carrier spectrum bandwidth, among its components. The communication system 100 may include terrestrial-based and / or non-terrestrial-based communication systems. The communication system 100 may provide a wide range of communication services and applications (e.g., Earth observation, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc.). The communication system 100 may provide high availability and robustness through the cooperation of terrestrial-based and non-terrestrial-based communication systems. For example, integrating non-terrestrial-based communication systems (or components thereof) into a terrestrial-based communication system may result in what may be considered a heterogeneous network comprising multiple layers. Compared to traditional communication networks, heterogeneous networks can achieve better overall performance through efficient multi-link cooperation, more flexible function sharing, and faster physical layer link switching between terrestrial and non-terrestrial based networks.

[0044] The terrestrial-based communication system and the non-terrestrial-based communication system may be considered subsystems of a communication system. In the illustrated example, communication system 100 includes electronic devices (EDs) 110a-110d (commonly referred to as EDs 110), radio access networks (RANs) 120a-120b, a non-terrestrial-based communication network 120c, a core network 130, a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160. RANs 120a-120b include respective base stations (BSs) 170a-170b, which may be commonly referred to as terrestrial transmit and receive points (T-TRPs) 170a-170b. Non-terrestrial-based communication network 120c includes access nodes 120c, which may be commonly referred to as non-terrestrial transmit and receive points (NT-TRPs) 172.

[0045] Any ED 110 may alternatively or additionally be configured to interface with, access, or communicate with any other T-TRPs 170a-170b and NT-TRP 172, the Internet 150, the core network 130, the PSTN 140, other networks 160, or any combination of the foregoing. In some examples, the ED 110a may communicate with uplink and / or downlink transmissions over an interface 190a with the T-TRP 170a. In some examples, the EDs 110a, 110b, and 110d may also communicate directly with each other via one or more sidelink air interfaces 190b. In some examples, the ED 110d may communicate with uplink and / or downlink transmissions over an interface 190c with the NT-TRP 172.

[0046] Air interfaces 190a and 190b may use similar communication technologies, e.g., any suitable radio access technology. For example, communication system 100 may implement one or more channel access methods, e.g., code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), or single-carrier FDMA (SC-FDMA), in air interfaces 190a and 190b. Air interfaces 190a and 190b may utilize other, higher-dimensional signal spaces, which may involve combinations of orthogonal and / or non-orthogonal dimensions.

[0047] The air interface 190c may enable communication between the ED 110d and one or more NT-TRPs 172 via a wireless link or simply a link. In some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs and one or more NT-TRPs for multicast transmission.

[0048] The RANs 120a and 120b communicate with the core network 130 to provide various services, such as voice, data, and other services, to the EDs 110a, 110b, and 110c. The RANs 120a and 120b and / or the core network 130 may communicate directly or indirectly with one or more other RANs (not shown) provided by the core network 130, which may or may not use the same radio access technology as the RAN 120a, RAN 120b, or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or the EDs 110a, 110b, and 110c, or both, and (ii) other networks (e.g., the PSTN 140, the Internet 150, and other networks 160). Additionally, some or all of the EDs 110a, 110b, and 110c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of (or in addition to) wireless communication, the EDs 110a, 110b, and 110c may communicate via wired communication channels to a service provider or switch (not shown) and to the Internet 150. The PSTN 140 may include a circuit-switched telephone network for providing plain old telephone service (POTS). The Internet 150 may include computer networks and subnets (intranets), or both, and may incorporate protocols such as the Internet Protocol (IP), Transmission Control Protocol (TCP), and User Datagram Protocol (UDP). The EDs 110a, 110b, and 110c may be multimode devices capable of operating according to multiple wireless access technologies and may incorporate multiple transceivers necessary to support such.

[0049] 3 shows another example of the ED 110 and the base stations 170a, 170b, and / or 170c. The ED 110 is used to connect people, things, machines, etc. The ED 110 may be widely used in various scenarios, such as cellular communication, device-to-device (D2D), vehicle-to-everything (V2X), peer-to-peer (P2P), machine-to-machine (M2M), machine-type communication (MTC), Internet of Things (IOT), virtual reality (VR), augmented reality (AR), industrial control, autonomous driving, telemedicine, smart grid, smart furniture, smart office, smart wearable, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery, and mobility.

[0050] Each ED 110 represents any suitable end-user device for wireless operation and may include (or be referred to as) a device such as a user equipment / device (UE), wireless transmit / receive unit (WTRU), mobile station, fixed or mobile subscriber unit, cell phone, station (STA), machine type communication (MTC) device, personal digital assistant (PDA), smartphone, laptop, computer, tablet, wireless sensor, home electronic device, smartbook, vehicle, automobile, truck, bus, train, or IoT device, industrial device, or apparatus (e.g., communication module, modem, or chip) in the aforementioned devices, among other possibilities. Future generation EDs 110 may be referred to using other terminology. Base stations 170a and 170b are T-TRPs and will be referred to hereinafter as T-TRP 170. As also shown in FIG. 3, an NT-TRP will be referred to hereinafter as NT-TRP 172. Each ED 110 connected to a T-TRP 170 and / or NT-TRP 172 may be dynamically or semi-statically turned on (i.e., established, activated, or enabled), turned off (i.e., released, deactivated, or disabled), and / or configured in response to one or more of the availability and need for a connection.

[0051] The ED 110 includes a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is shown. One, some, or all of the antennas may alternatively be panels. The transmitter 201 and the receiver 203 may be integrated, for example, as a transceiver. The transceiver is configured to modulate data or other content for transmission by at least one antenna 204 or a network interface controller (NIC). The transceiver is also configured to demodulate data or other content received by at least one antenna 204. Each transceiver includes any suitable structure for generating signals for wireless or wired transmission and / or for processing signals received wirelessly or wired. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless or wired signals.

[0052] The ED 110 includes at least one memory 208. The memory 208 stores instructions and data used, generated, or collected by the ED 110. For example, the memory 208 may store software instructions or modules configured to implement some or all of the functions and / or embodiments described herein and performed by the processing unit 210. Each memory 208 includes any suitable volatile and / or non-volatile storage and retrieval device. Any suitable type of memory may be used, such as random access memory (RAM), read only memory (ROM), hard disk, optical disk, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, on-processor cache, etc.

[0053] ED 110 may further include one or more input / output devices (not shown) or interfaces (e.g., a wired interface to Internet 150 in FIG. 1). The input / output devices enable interaction with a user or other devices in a network. Each input / output device includes any suitable structure for providing information to or receiving information from a user, including network interface communications, such as a speaker, microphone, keypad, keyboard, display, or touch screen.

[0054] The ED 110 further includes a processor 210 for performing operations including those related to preparing a transmission for uplink transmission to the NT-TRP 172 and / or T-TRP 170, those related to processing a downlink transmission received from the NT-TRP 172 and / or T-TRP 170, and those related to processing a sidelink transmission from / to another ED 110. Processing operations related to preparing a transmission for uplink transmission may include operations such as encoding, modulation, transmit beamforming, and generating symbols for transmission. Processing operations related to processing a downlink transmission may include operations such as receive beamforming, demodulation, and decoding received symbols. Depending on the embodiment, the downlink transmission may be received by the receiver 203, possibly using receive beamforming, and the processor 210 may extract signaling from the downlink transmission (e.g., by detecting and / or decoding the signaling). One example of signaling may be a reference signal transmitted by the NT-TRP 172 and / or T-TRP 170. In some embodiments, processor 276 implements transmit beamforming and / or receive beamforming based on beam direction instructions, e.g., beam angle information (BAI), received from T-TRP 170. In some embodiments, processor 210 may perform operations related to network access (e.g., initial access) and / or downlink synchronization, e.g., operations related to detecting synchronization sequences, decoding and obtaining system information, etc. In some embodiments, processor 210 may perform channel estimation, e.g., using reference signals received from NT-TRP 172 and / or T-TRP 170.

[0055] Although not shown, the processor 210 may be part of the transmitter 201 and / or the receiver 203. Although not shown, the memory 208 may be part of the processor 210.

[0056] The processor 210 and the processing components of the transmitter 201 and receiver 203 may be implemented by the same or different processor(s), each configured to execute instructions stored in a memory (e.g., in memory 208). Alternatively, some or all of the processor 210 and the processing components of the transmitter 201 and receiver 203 may be implemented using dedicated circuitry, such as a programmed field-programmable gate array (FPGA), a graphics processing unit (GPU), or an application-specific integrated circuit (ASIC).

[0057] In some implementations, the T-TRP 170 may be known by other names such as a base station, base transceiver station (BTS), radio base station, network node, network device, network-side device, transmitting / receiving node, Node B, evolved Node B (eNodeB or eNB), Home eNodeB, next generation Node B (gNB), transmission point (TP), site controller, access point (AP), or wireless router, relay station, remote radio head, terrestrial node, terrestrial network device, or terrestrial base station, base band unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), central unit (CU), distribute unit (DU), positioning node, etc. The T-TRP 170 may be a macro BS, pico BS, relay node, donor node, etc., or a combination thereof. The T-TRP 170 may refer to such a device or a unit in such a device (e.g., a communication module, a modem, or a chip).

[0058] In some embodiments, parts of the T-TRP 170 may be distributed. For example, some of the modules of the T-TRP 170 may be located remotely from the equipment housing the T-TRP 170's antenna and may be coupled to the equipment housing the antenna via a communications link (not shown), sometimes known as fronthaul, e.g., a common public radio interface (CPRI). Thus, in some embodiments, the term T-TRP 170 may also refer to network-side modules that perform processing operations, such as determining the location of the ED 110, allocating resources (scheduling), generating messages, and encoding / decoding, and that are not necessarily part of the equipment housing the T-TRP 170's antenna. Modules may also be coupled to other T-TRPs. In some embodiments, the T-TRP 170 may actually be multiple T-TRPs working together to serve the ED 110, e.g., through coordinated multipoint transmission.

[0059] The T-TRP 170 includes at least one transmitter 252 and at least one receiver 254 coupled to one or more antennas 256. Only one antenna 256 is shown. One, some, or all of the antennas may alternatively be panels. The transmitter 252 and receiver 254 may be integrated as a transceiver. The T-TRP 170 further includes a processor 260 for performing operations including those related to preparing transmissions for downlink transmission to the ED 110, processing uplink transmissions received from the ED 110, preparing transmissions for backhaul transmission to the NT-TRP 172, and processing transmissions received over the backhaul from the NT-TRP 172. Processing operations related to preparing transmissions for downlink or backhaul transmission may include operations such as encoding, modulation, precoding (e.g., MIMO precoding), transmit beamforming, and generating symbols for transmission. Processing operations related to processing transmissions received in the uplink or over the backhaul may include operations such as receive beamforming, and demodulating and decoding received symbols. The processor 260 may also perform operations related to network access (e.g., initial access) and / or downlink synchronization, such as generating synchronization signal block (SSB) content, generating system information, etc. In some embodiments, the processor 260 also generates beam direction indications, such as BAIs, that may be scheduled for transmission by the scheduler 253. The processor 260 performs other network-side processing operations described herein, such as determining the location of the ED 110, determining where to deploy the NT-TRP 172, etc. In some embodiments, the processor 260 may generate signaling, for example, to configure one or more parameters of the ED 110 and / or one or more parameters of the NT-TRP 172. Any signaling generated by the processor 260 is transmitted by the transmitter 252. It should be noted that "signaling," as used herein, may alternatively be referred to as control signaling.Dynamic signaling may be transmitted on a control channel, e.g., a physical downlink control channel (PDCCH), and static or semi-static higher layer signaling may be included in packets transmitted on a data channel, e.g., a physical downlink shared channel (PDSCH).

[0060] The scheduler 253 may be coupled to the processor 260. The scheduler 253 may be included within or operate separately from the T-TRP 170, which may schedule uplink, downlink, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free ("configured grants") resources. The T-TRP 170 further includes a memory 258 for storing information and data. The memory 258 stores instructions and data used, generated, or collected by the T-TRP 170. For example, the memory 258 may store software instructions or modules configured to implement some or all of the functions and / or embodiments described herein and performed by the processor 260.

[0061] Although not shown, the processor 260 may be part of the transmitter 252 and / or the receiver 254. Also, although not shown, the processor 260 may implement the scheduler 253. Although not shown, the memory 258 may be part of the processor 260.

[0062] The processor 260, the scheduler 253, and the processing components of the transmitter 252 and the receiver 254 may each be implemented by the same or different one or more processors configured to execute instructions stored in a memory, such as the memory 258. Alternatively, some or all of the processing components of the processor 260, the scheduler 253, and the transmitter 252 and the receiver 254 may be implemented using dedicated circuitry, such as an FPGA, a GPU, or an ASIC.

[0063] Although the NT-TRP 172 is shown as a drone only as an example, the NT-TRP 172 may be implemented in any suitable non-terrestrial form. In some implementations, the NT-TRP 172 may also be known by other names, such as a non-terrestrial node, a non-terrestrial network device, or a non-terrestrial base station. The NT-TRP 172 includes a transmitter 272 and a receiver 274 coupled to one or more antennas 280. Only one antenna 280 is shown. One, some, or all of the antennas may alternatively be panels. The transmitter 272 and the receiver 274 may be integrated as a transceiver. The NT-TRP 172 further includes a processor 276 for performing operations, including those related to preparing transmissions for downlink transmission to the ED 110, processing uplink transmissions received from the ED 110, preparing transmissions for backhaul transmission to the T-TRP 170, and processing transmissions received over the backhaul from the T-TRP 170. Processing operations related to preparing a transmission for downlink or backhaul transmission may include operations such as encoding, modulation, precoding (e.g., MIMO precoding), transmit beamforming, and generating symbols for transmission. Processing operations related to processing a transmission received in the uplink or over the backhaul may include operations such as receive beamforming and demodulation and decoding of received symbols. In some embodiments, the processor 276 implements transmit beamforming and / or receive beamforming based on beam direction information (e.g., BAI) received from the T-TRP 170. In some embodiments, the processor 276 may generate signaling, for example, to configure one or more parameters of the ED 110. In some embodiments, the NT-TRP 172 implements physical layer processing but does not implement higher layer functions, such as functions at the medium access control (MAC) or radio link control (RLC) layers. This is merely an example; more generally, the NT-TRP 172 may implement higher layer functions in addition to physical layer processing.

[0064] The NT-TRP 172 further includes a memory 278 for storing information and data. Although not shown, the processor 276 may be part of the transmitter 272 and / or the receiver 274. Although not shown, the memory 278 may be part of the processor 276.

[0065] The processor 276 and the processing components of the transmitter 272 and receiver 274 may each be implemented by the same or different processor(s) configured to execute instructions stored in a memory, such as memory 278. Alternatively, some or all of the processing components of the processor 276 and the transmitter 272 and receiver 274 may be implemented using dedicated circuitry, such as a programmed FPGA, GPU, or ASIC. In some embodiments, the NT-TRP 172 may actually be multiple NT-TRPs operating together to provide the ED 110, for example, through coordinated multipoint transmission.

[0066] T-TRP170, NT-TRP172, and / or ED110 may include other components, which have been omitted for clarity.

[0067] One or more steps of the method according to the embodiments provided herein may be implemented by a corresponding unit or module according to FIG. 4. FIG. 4 illustrates units or modules within a device, such as within the ED 110, in the T-TRP 170, or in the NT-TRP 172. For example, a signal may be transmitted by a transmitting unit or a transmitting module. For example, a signal may be transmitted by a transmitting unit or a transmitting module. The signal may be received by a receiving unit or a receiving module. The signal may be processed by a processing unit or a processing module. Other steps may be implemented by an artificial intelligence (AI) or machine learning (ML) module. Each unit or module may be implemented using hardware, one or more components or devices executing software, or a combination thereof. For example, one or more of the units or modules may be an integrated circuit, such as a programmed FPGA, GPU, or ASIC. When modules are implemented using software, for example, for execution by a processor, it will be understood that they may be incorporated by the processor in whole or in part, individually or together, in single or multiple instances for processing as needed, and that the modules themselves may include instructions for further deployment and instantiation.

[0068] Additional details regarding ED110, T-TRP170, and NT-TRP172 are known to those skilled in the art, and therefore, these details are omitted here. Performing inference

[0069] In situations where a centralized machine learning process, such as a centralized DNN, performs inference using data from a distributed set of devices, the reliability of the machine learning process may depend on the quality, reliability, and latency of transmission between the machine learning process and the devices.

[0070] This can be mitigated by performing inference locally to the data source. Thus, for example, machine learning processes can be deployed closer to the device. However, machine learning processes can be computationally intensive. For example, a DNN can have tens to hundreds of billions of neurons. Therefore, it can be difficult to perform inference using machine learning processes on a single client device.

[0071] Alternatively, the machine learning process may be implemented using low-cost, low-power devices by distributing the machine learning process across multiple devices. In the context of wireless communication networks, distributed inference may be particularly advantageous because input data for the inference process is often collected by devices in the access network, such as electronic communication devices and TRPs. By distributing the machine learning processing across multiple devices, the machine learning process can be implemented within or near the access network, reducing the risk that input data for the machine learning process will be lost or delayed.

[0072] However, when a machine learning process is distributed across multiple devices, there is a risk that a device will not return its results due to, for example, errors in computation or transmission. This risk can be mitigated by introducing redundancy so that corrupted results can be restored.

[0073] Coded inference is one way to introduce this redundancy. In coded inference, inputs to a distributed learning process are encoded to generate redundant inputs. The inputs and redundant inputs are processed by component inference processes (which may be the same or different) to generate inference results and redundant results. The redundant results can be used to recover lost inference results and / or to refine the inference results.

[0074] An exemplary system 500 for implementing coded inference is shown in Figure 5. The system includes a first inference unit 502 and a second inference unit 504. The first inference unit 502 is operable to perform a component inference process on a first input X1 as part of a distributed inference process to obtain a first result Y1 = f(X1). The second inference unit 504 is operable to perform a component inference process (e.g., the same component inference process) on a second input X2 as part of the distributed inference process to obtain a second result Y2 = f(X2).

[0075] The system 500 further comprises a redundant inference unit 506 operable to receive a redundant input X3=h(X1,X2) obtained by encoding the first and second inputs, and operable to perform a component inference process on the redundant input to output a third result Y3=f(h(X1,X2)) that can be used to recover one of the first or second results.

[0076] The inference units 502-506 may be implemented in any processing device. In some examples, the inference units 502-506 may be implemented in respective electronic devices (e.g., terminal devices, user equipment, or Internet of Things devices). The electronic devices may be any suitable electronic devices, such as fixed cameras or mobile phones, vehicle-mounted sensors, etc.

[0077] The system 500 may further include an encoding unit and a decoding unit (not shown). The encoding unit encodes (e.g., processes) inputs X1 and X2 to generate a redundant input h(X1, X2). The decoding unit decodes the redundant inference result Y3 using at least one of the first and second inference results Y1 and Y2 to recover a corrupted result and / or refine the inference results Y1 and Y2. In some examples, the encoding unit and the decoding unit may be a single unit (e.g., a combined encoder-decoder). The encoding unit and / or the decoding unit may be implemented in a network device, such as a TRP, a base station, or an access point, or another device (e.g., an electronic device). The encoding unit and / or the decoding unit may be implemented in one of the inference units 502-506.

[0078] In some examples, the redundant inputs are based on linear combinations of the inputs. The redundant inference unit 506 can be trained to provide redundant results that are linear combinations of the inference results. While this approach can enable distributed coded inference, it can increase the complexity of the redundant inference unit 506. In other implementations of coded inference, AI / ML invariant transformations can be imposed when generating the redundant inputs from the inputs. For example, the redundant input X3 can include a concatenation of the inputs. Generating the redundant inputs in this manner avoids the need for additional training of the redundant inference unit 506, which means that the same component inference process can be used in the first and second inference units 502-504 and the redundant inference unit 506 to process the inputs and the redundant inputs. This means that inference tasks can be deployed without time-consuming training, which means that deployment of inference tasks does not need to be done in a case-by-case manner. As inference applications become more specialized and diverse in the 6G era, this is expected to save service providers considerable time and resources.

[0079] Coding inference is inspired by error-correction coding, which is also referred to herein as channel coding. This is illustrated by considering a channel encoder that encodes an input binary sequence by adding some redundant bits. The redundant bits may be calculated from and appended to the input binary sequence in a predefined manner, which may create some correlation between the redundant bits and the input binary sequence in the codeword (the output of the channel encoder). When the codeword is decoded by a channel decoder, the channel decoder uses these correlations to recover the most likely binary sequence. This creates a coding gain due to the correlation between the original input sequence and the redundant bits.

[0080] In contrast to error-correcting coding, which typically corresponds to binary input, coding inference can use a wider range of data as input, such as images, audio, video, or point clouds. The output from coding inference can be an inference result, such as, for example, a class (also referred to herein as a label) and / or a number.

[0081] The inputs to the coding inference process may not follow the same classical statistical assumptions as error-correction coding. In particular, the inputs to the coding inference process may not be independent and memoryless. Rather, in many applications, the inputs for the coding inference process are highly correlated and dependent.

[0082] Take image classification as an example: some objects may be more likely to appear in the same image than others. For example, a zebra is more likely to appear in an image of a giraffe than in an image of a whale. This is an example of spatial correlation within a dataset.

[0083] In other examples, inference results may be temporally correlated. Events in the real world often have causal relationships in that one event can lead to another. As a result, real-world data often contains temporal correlations. An example of this is audio and video clips, in which events and / or objects occurring in adjacent time frames may depend on each other.

[0084] Aspects of the present disclosure improve inference performance using correlations expected to exist in input data. The correlations may be quantified in probability information indicating the probability of obtaining one inference result and another inference result. The probability may be a joint probability or a conditional probability. In embodiments of the present disclosure, inference results obtained from an inference process, such as a machine learning process or a distributed inference process representing a machine learning process, may be refined using probability information indicating the probability of obtaining both a particular inference result and another inference result.

[0085] Inference performance can be enhanced by using correlations expected to exist in the input data to refine inference results. In particular embodiments, probability information can be used to refine inference results from the coded inference process, resulting in a process referred to as correlated coded inference. This allows two types of redundancy, namely, redundancy inherent in the input data and redundancy generated through coded inference, to be used together to improve the performance of the inference algorithm. Quantifying correlation in probabilistic information

[0086] The nature of the probability information and methods for obtaining it may be explained in more detail with reference to Figures 6-10, which illustrate examples of correlations that may occur in input data for an inference process. Figures 6-10 relate to object detection and identification in images, also referred to as image classification. Image classification is used herein as an example of an inference process to which aspects of the present disclosure may be applied. In general, aspects of the present disclosure may be applied to any suitable inference process.

[0087] Figure 6 shows a table obtained using images in the COCO training dataset (COCO-train2017 dataset; Lin, Tsung-Yi, et al., "Microsoft coco: Common objects in context," European conference on computer vision. Springer, Cham, 2014). Figure 7 shows a similar table for the COCO validation dataset (COCO-val2017 dataset; Lin, Tsung-Yi, et al., "Microsoft coco: Common objects in context," European conference on computer vision. Springer, Cham, 2014). Objects in images in the COCO dataset are labeled with one of 80 classes. The 80 classes are grouped into 12 superclasses. These 12 superclasses are listed along the first row and column of the tables shown in Figures 6 and 7.

[0088] The tables in Figures 6 and 7 show, for each image in the COCO dataset, the number of times an object of a particular superclass is present in the same image as an object of another superclass. The cells in the tables are shaded to reflect the strength of the correlation: the darker the cell associated with a particular pair of superclasses, the more images are associated with both superclasses in the pair. Each of these tables forms a correlation map that allows visualization of statistical similarities between different datasets. A similar table can be generated for any set of data with associated classes by incrementing, for each datum (e.g., each image) in the set of data, a counter associated with a group of classes (e.g., that pair) each time the group of classes is present in the same data.

[0089] The tables in Figures 6 and 7 show that some superclasses of objects are more likely to appear in the same image than others. For example, 4264 images in the training dataset (Figure 6) have both outdoor objects and vehicles, while only 4 images in the training dataset (Figure 6) have both instruments and vehicles. This indicates that vehicles are more likely to appear in the same image as outdoor objects than images containing instruments.

[0090] As another example, 136,837 images in the validation dataset (Figure 7) have both food objects and kitchen objects, while only 291 images have both food objects and sports objects, indicating that food objects and kitchen objects are more likely to appear in the same image than food objects and sports objects.

[0091] Both tables also demonstrate a large number of images containing people and objects from another superclass. This is indicated by the darker shading along the row labeled as people, indicating that the "people" superclass is highly correlated with all other superclasses. This reflects the centrality of people (humans) in the world observed by humans.

[0092] Similar correlations are also found among the 80 classes in the COCO dataset. This is shown in Figures 8-10. Figure 8 shows the co-occurrence of several pairs of classes for the COCO-validated dataset. As shown in Figure 8, cars and traffic lights appear together in over 2,000 images, while giraffes and stop signs appear together in only a few images. This indicates that cars and traffic lights are much more likely to appear in the same image than giraffes and stop signs.

[0093] Figures 9 and 10 show maps showing the number of times that objects of each class appear in the same image as objects of another respective class for all 80 classes in the COCO training dataset (Figure 9) and the COCO validation dataset (Figure 10). Each row and column is associated with a respective class, and consequently, each cell is associated with a pair of classes. The darker the shade of a cell, the greater the number of images containing objects of both classes. Although the training and validation datasets are independent, the same correlations exist in both images. Therefore, both datasets suggest that the same classes of objects are likely to appear in the same images.

[0094] According to embodiments of the present disclosure, these correlations can be quantified in probability information that indicates, for each of multiple classes into which objects in images in the COCO dataset are classified, the probability that an object of the respective class and an object of another class from the multiple classes are present in the same image.

[0095] In some examples, the probability information may include a set of conditional probabilities {P(i|j)} for i, j = 1, ... N, where each respective conditional probability P(i|j) is the probability that an object of class i appears in a particular image given that an object of class j appears in the image. The set of conditional probabilities may be determined by counting the number of times objects of each pair of classes appear in images in a particular COCO dataset to obtain a respective co-occurrence count A(i, j) for each pair. The co-occurrence count may alternatively be referred to as, for example, a co-occurrence count.

[0096] The conditional probability of an object of class i being present given that an object of class j is present is obtained by normalizing the co-occurrence count for each pair with respect to the total number of occurrences of objects of class i. For example, the respective conditional probability P(i|j) of an object of class i being present given that an object of class j is present is

number

[0097] In another example, the probability information may include a set of joint probabilities {P(i,j)} for i=1,...N and j=1,...N, which includes, for each pair of classes i,j, the probability that objects of both classes appear in a particular image P(i,j). The set of joint probabilities may be determined based on the co-occurrence counts A(i,j), as described above. In particular, the joint probability for a particular pair of classes may be obtained by normalizing the co-occurrence counts for each pair with respect to the total number of occurrences of all classes. For example, the joint probability P(i,j) for a pair of classes may be

number

[0098] While the examples described above relate to classifying objects in images (also referred to as image classification or identification) and utilize the COCO dataset in particular, it will be understood that the techniques described above can be generalized to other datasets and / or other inference problems. Accordingly, probability information can be generated using different datasets in the same or similar manner. In general, for any suitable dataset, Equation (1) can be used to determine the conditional probability for a pair of classes based on the co-occurrence counts A(i,j) of classes i and j. For any suitable dataset, Equation (2) can be used to determine the joint probability for a pair of classes based on the co-occurrence counts A(i,j) of classes i and j.

[0099] Co-occurrence counts can relate to the presence of pairs of classes within the same observation (e.g., the same image). This can be described as co-occurrence counts being defined on two or more semantics (e.g., classes, objects) within an observation. Thus, the joint probability described above is P(a i ,b i ), where a and b are semantics and i is an observation. The conditional probability that semantic a is present in observation i given that semantic b is present in the observation is P(a i |b i ) The conditional probability that semantic b is present in observation i given that semantic a is present in observation i is P(b i |a i ) can be shown as

[0100] Co-occurrence counts may alternatively relate to the presence of pairs of classes in different observations (e.g., in adjacent or neighboring observations). For example, co-occurrence counts may reflect how often a first class is present in a frame of a media clip (e.g., video) and a second class is present in a subsequent frame in the media clip. This may be described as a co-occurrence count defined on two or more semantics (e.g., classes, objects) across multiple observations. Thus, the joint probability described above is P(a i ,b j ), where a and b are the first and second semantics, and i and j are the first and second observations. The conditional probability that semantic a is present in observation i given that semantic b is present in observation i is P(a i |b i ) The conditional probability that semantic b is present in observation i given that semantic a is present in observation i is P(b i |a i ) can be shown as

[0101] Thus, the above-described methods for determining probability information can be used to determine probability information for refining inferences obtained from any classification process. In this context, a classification process may be any process that seeks to classify, label, or categorize data. As such, references to classes herein may include, for example, classes, categories, class labels, or any other suitable method for categorizing or classifying information.

[0102] It will be appreciated that a classification process is one example of an inference process to which the methods of the present disclosure may be applied.

[0103] In some examples, probability information can be used to refine inferences obtained from a regression process. Regression processes are typically used to extract information from values ​​of multiple variables. As such, regression can be used to obtain inferences about quantities (e.g., temperature or brightness) across multiple observations (e.g., time and / or location). For example, a regression process can be used to identify patterns or trends in a dataset that includes temperature measurements at multiple time points.

[0104] Therefore, in some examples, the probability information may be a joint probability P(x i ,x j ) The joint probability is that the first parameter takes the value x at observation i. i and has value x j , the probability of having

[0105] Alternatively, the first parameter x may be referred to as a variable (e.g., a continuous or discrete variable) or parameter. Each observation i,j may be at a particular instance (e.g., value) of the second parameter. For example, the value x of the first parameter x may be i is the second parameter y with a specific value y iThus, for example, a value may be associated with (e.g., measured at) a particular time t i In another example, the value x i is a specific position l i may be associated with.

[0106] The first value of the parameter x i and the second value of the parameter x j The joint probability of obtaining P(x i ,x j )teeth,

number

[0107] Additionally or alternatively, the probability information may be a conditional probability P(x i |x j ), which means that the first parameter takes the value x at observation j j , the first parameter has a first value x i The conditional probability is

number

[0108] In general, the methods described above can be used to obtain probability information for any inference process, such as a machine learning process or a component inference process of a distributed process, where the distributed inference process represents a machine learning process. The inference process may involve a classification process and / or a regression process.

[0109] In particular, the above methods may be applied to obtain, for each of a plurality of potential outcomes obtainable from an inference process, probability information indicating the probability of obtaining each potential outcome and another potential outcome from the plurality of potential outcomes. The potential outcomes may include, for example, a confidence associated with a particular class (e.g., in the case of a classification process). Alternatively, the potential outcomes may include multiple values ​​for a parameter (e.g., in the case of a regression process). The probability information may include joint probabilities or conditional probabilities. The probability information may alternatively be referred to as correlation information.

[0110] In some examples, the probability information may be stored in a table. The table may be referred to as a correlation table. The table may be rectangular in shape, in which each row and each column represents a respective semantic or observation. The entries in the table may be, for example, joint probabilities or conditional probabilities. Each row in the table may be normalized so that the sum of each row may be equal to 1. Each column in the table may be normalized so that the sum of each column may be equal to 1.

[0111] In some instances, it may be advantageous for the probability information to include joint probabilities rather than conditional probabilities, since joint probabilities are symmetric. For example, P(x i ,x j )=P(x j ,x i ), which means that when stored in a table, the joint probabilities are symmetric along the diagonal. Thus, in certain embodiments, the probability information may comprise an upper or lower triangular matrix of joint probabilities. This reduces by half the storage required to store the probability information and / or the transmission resources required to transmit the probability information.

[0112] Methods of using probabilistic information to refine an inference result are described herein. In this context, refining an inference result refers to determining a second inference result based on a first inference result. While the second inference result may be more accurate and / or precise than the first inference result (e.g., such that the use of probabilistic information provides an improved result), it will be understood that this is not a requirement and that the use of the term "refinement" merely suggests that the second inference result differs from the first inference result as a result of the use of probabilistic information. Refining inference results

[0113] As briefly mentioned above, probabilistic information indicating the probability of obtaining particular potential outcomes from an inference process, and other potential outcomes from an inference process, can be used to refine the output of the inference process.

[0114] For example, the image classification process may return respective confidences indicating the likelihood that food, kitchen objects, and outdoor objects are present in the image. Based on a high confidence associated with food being present in the image and a high likelihood that food appears with the kitchen object, the confidence associated with the kitchen object being present in the image may be increased. Conversely, based on a low likelihood that food appears with the outdoor object, the confidence associated with detecting the outdoor object may be decreased.

[0115] FIG. 11 shows an example of determining refined inference results based on probability information (labeled "Statistics from Training Pictures") and preliminary inference results (labeled "Inference Output: Class Confidence").

[0116] In this example, preliminary inference results are obtained by inputting images into the YOLO algorithm (Farhadi, Ali, and Joseph Redmon. "Yolov3: An incremental improvement." Computer Vision and Pattern Recognition. Berlin / Heidelberg, Germany: Springer, 2018), which is an example of an image classification process. However, in general, any suitable inference process, such as any suitable image classification process, may be used.

[0117] Based on an input image, the YOLO algorithm provides preliminary inference results, including the coordinates of a bounding box within the image, an object likelihood score, and an initial class confidence associated with each of the N classes. The bounding box coordinates are expressed as the x-coordinate t of the bounding box. x and y-coordinate t y , and the width of the bounding box t w and height t h The objectness score p o indicates the confidence that an object is detected in an image. The initial class confidence c1(i) associated with each class i indicates the likelihood that an object in the bounding box is in class i. The class confidence may also be referred to as a class score. The initial class confidence may also be referred to as an initial marginal probability (e.g., for a particular class).

[0118] Based on the conditional probability and the initial confidence c1(i) for a particular class i, the refined confidence c2(i) that an object of class i is present in the image is given by

number

number

[0119] Thus, the refined confidence for a particular class can be normalized based on the sum of the refined confidences for all classes.

[0120] In the above example, conditional probabilities are used to refine the confidence. The refined confidence c2(i) that a detected object is in a particular class i is calculated by multiplying the initial confidence value c1(i) (e.g., the confidence value provided by the inference process), and

number

[0121] The refined confidence c2(i) for i=1,...N can be normalized using the same technique described above in the method using conditional probabilities. In effect, P(i,j) is the joint probability of the co-occurrence of class / object i and class / object j given the statistics from the training data before running the inference process. In contrast, c1(i) is the probability of class i given the standalone observations after running the inference process.

[0122] A refined confidence c2 may be determined for each of the N classes that may be identified by the YOLO algorithm. The refined confidence c2 may be used to classify objects in the image. An object c2(i) of a particular class may be determined to be present if the refined confidence for that class meets (e.g., is greater than, or greater than or equal to) a threshold. For example, an object c2(i) in a particular class may be determined to be present if the following relationship c2(i)>θ is satisfied (where θ is a threshold). This step may be referred to as thresholding.

[0123] This example using the YOLO algorithm demonstrates how probability information can be used to refine results from an image classification process. In general, the techniques described above can be applied to any classification process. Thus, in the context of a classification problem, probability information can be used to obtain a second, or refined, confidence c2(i) associated with class i based on a first, or initial, confidence c1(i) associated with class i.

[0124] As noted above, the methods described herein may be applied to other inference processes, such as regression processes.

[0125] The regression process consists of an initial probability distribution P1(x i ) which may be operable to return an initial marginal probability distribution. This initial probability distribution may be referred to as an initial marginal probability distribution. The initial probability distribution may be determined by determining whether a parameter x takes a particular value x at observation i from a range of potential values.i Thus, for example, a parameter may be temperature, with potential values ​​in the range 0 to 100 degrees Celsius. i ) is the temperature at time t i At the value x i It can be shown that the likelihood of having

[0126] The initial, or first, probability distribution may be refined based on the probability information to obtain a second probability distribution. In some examples, the probability information may be a first value x of the parameter i and obtaining a second value x of the parameter (e.g., determined as described above). j The joint probability of obtaining P(x i ,x j ), and a second, or refined, probability distribution may be determined based on the joint probabilities. For example, the second probability distribution may include:

number

[0127] In other words, the second probability distribution is a function of the first probability distribution P1(x j ) based on P(x i ,x j ) to x j The second probability distribution may be determined by integrating over . The second probability distribution may be normalized so that the total probabilities sum to 1. The second probability distribution may be

number

[0128] In some embodiments, the second probability distribution P2 returned by equation (9) may already be normalized and no further normalization may be necessary.

[0129] In another example, the probability information is that the parameter has a second value x j(e.g., determined as described above), i and a second, or refined, probability distribution may be determined based on the conditional probabilities. For example, the second probability distribution may be

number

[0130] Therefore, the second probability distribution is a function of the first probability distribution P1(x j ), based on P1(x j )P(x i |x j ) to x j The second probability distribution may be determined by integrating over . The second probability distribution may be normalized so that the total probabilities sum to 1. The second probability distribution may be

number

[0131] In some embodiments, the second probability distribution P2 returned by equation (11) may already be normalized and no further normalization may be necessary.

[0132] In summary, the marginal probabilities P(x j ) is P(x j ) can be combined with local observations to obtain a refined probability distribution of

[0133] As noted above, some inference processes involve both regression and classification. Thus, in some instances, the methods described above with respect to regression and classification may be combined and applied to the inference results provided by an inference process. For example, the refinement techniques described above with respect to a regression process may be used to refine the coordinates of a bounding box provided by an image classification process, and the refinement techniques described above with respect to a classification process may be used to refine the classification of an object detected within the bounding box. Probability information update

[0134] As described above, the probability information may be used to refine one or more inference results from the inference process. In some examples, updates to the probability information may be determined based on the inference results.

[0135] For example, the updated conditional probability P' of the existence of a particular class i given the existence of class j (i|j) can be determined based on the conditional probability P(i|j) of the existence of classes i and j and the initial confidences c1(i) and c1(j) provided by the inference process. The updated conditional probability is

number

[0136] In another example, an updated joint probability P'(i,j) of the presence of a particular class i and the presence of class j can be determined based on the joint probability P(i,j) of the presence of classes i and j and the initial confidences c1(i) and c1(j) provided by the inference process. The updated joint probability is

number

[0137] In another example, the parameter takes a second value x j the first value x of the parameter at observation i, given i The updated conditional probability P'(x i |x j ) is the initial probability distribution P1(x for parameter x at observation i, provided by the inference process. i ) and the initial probability distribution P1(x j ) The updated conditional probability can be determined based on

number

[0138] In another example, the first value x of the parameter in observation i i and obtain the second value of the parameter x at observation j. j The updated joint probability P'(x i ,x j ) is the initial probability distribution P1(x for parameter x at observation i, provided by the inference process. i ) and the initial probability distribution P1(x j ) The updated joint probability can be determined based on

number

[0139] In general, the probability information may be updated based on initial, or first, inference results provided by the inference process. The initial inference results may include one or more confidence levels and / or one or more probability distributions, as in the examples given above. In some examples, the probability information may be updated based on refined inference results determined based on the initial inference results provided by the inference process and the probability information itself.

[0140] In some examples, inference results may be obtained by multiple devices, also referred to as processing devices. This is described in more detail below under distributed inference and correlated coded inference. In these examples, the same probability information may be used to refine inference results from multiple devices. The probability information may be updated, for example, based on inference results from multiple devices. Alternatively, the probability information may be specific to a particular device or a particular group of devices. As such, the probability information may be updated based on inference results from a particular device or group of devices. In some examples, the same probability information may be initially used for multiple devices, and by repeatedly updating the probability information based on inference results provided by a particular device, probability information specific to each device may be determined based on the same probability information. That is, default probability information may be initially used for all devices and then refined according to the actual inference results provided by the devices. Refining inference results from a single device

[0141] The methods described herein may be applied to an inference process performed by a single device (e.g., a non-distributed inference process). Thus, for example, a processing device may perform an inference process on inference data to obtain an inference result. The inference process may involve a classification and / or regression process. The inference result may be refined based on probability information as described above. The refinement may be performed by the same processing device that performed the inference. Alternatively, the refinement may be performed elsewhere. For example, an electronic device connected to a cell served by a network device may perform the inference to obtain an inference result, and the electronic device may transmit the inference result to the network device for refinement using the methods described herein. Distributed Correlation Inference

[0142] In another example, the methods described herein may be applied to distributed inference, in which component inference processes are performed on multiple processing devices to obtain respective initial inference results on each processing device. The distributed inference process may represent a machine learning process, such as a neural network (e.g., a deep neural network, DNN), a k-nearest neighbor process, a linear regression process, a logistic regression process, a support vector machine, or any other suitable machine learning process. The initial or first inference result may be refined based on probability information to obtain a refined or second inference result using any of the methods described above. These refinement techniques may be particularly advantageous for distributed inference processes because they may be implemented without incurring significant processing load. They may provide improvements in inference performance at less computational cost than, for example, training the inference process using more training data or using a more complex inference process (e.g., using a different or more involved machine learning process or algorithm).

[0143] The refinement may be performed in the processing unit or elsewhere. For example, the processing unit may transmit the initial inference result to the network device, and the network device may determine a refined inference result based on the probability information and the initial inference result. By refining the inference result elsewhere (e.g., not in the processing unit), improved inference performance may be achieved without requiring further processing in the processing unit. This may conserve processing resources in the processing unit, which may be particularly advantageous for low-complexity and / or low-power processing units.

[0144] In some examples, further processing on the inference results may be performed after refinement. This may be particularly appropriate for classification processes in which the initial inference results may include respective initial confidence levels for one or more classes, and the refined inference results may include refined or second confidence levels for one or more classes. According to aspects of the present disclosure, the refined confidence levels may be compared to a threshold to confirm detection of one or more classes. This may be referred to as thresholding and may be performed as described above. Thresholding may be performed by a device performing a component inference process and / or a device refining the inference results. In some examples, thresholding may be performed elsewhere. For example, a network device may obtain the refined inference results and transmit the refined inference results to another device (e.g., a device in the core network) for thresholding. Correlation Coding Inference

[0145] In some embodiments, the methods described herein may be applied to coded inference, where inputs are encoded to provide redundancy and probabilistic information is used to refine the inference results, which may be referred to as correlated coded inference.

[0146] In the system 500 described above with reference to FIG. 5 , for example, a refined first inference result may be determined based on the first inference result Y1 and probability information provided by the first inference unit 502. The probability information may indicate, for each of a plurality of potential outcomes obtainable from the component inference processes performed by the first inference unit 502, the probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes. The probability information may be obtained using any of the methods described above in the section “Quantifying Correlations in Probability Information.” The refined first inference result may be determined based on the first inference result Y1 and the probability information using any of the methods described above in the section “Refining the Inference Result.”

[0147] Similarly, a refined second inference result may be determined based on the second inference result Y2 and probability information provided by the second inference unit 504. The probability information used to refine the first and second inference results may be the same or different. For example, the component inference processes in the first and second inference units 504, 506 may be capable of providing different inference results (e.g., may classify according to different classes), and the probability information may be specific to each component inference process.

[0148] The refinement may be performed in the respective inference units 504, 506 or elsewhere. For example, another device (not shown in FIG. 5) may receive the first, second, and redundant inference results Y1, Y2, and Y3 from the first, second, and redundant inference units 502-506 and refine the first and second inference results as described above. The other device may be any of the encoding units, decoding units, or encoder-decoders described above.

[0149] In some examples, the redundant inference result Y3 may also be refined based on probability information using the methods described herein. This may be appropriate when the inputs X1 and X2 are taken from similar scenarios, which may mean that any inherent correlations in the inputs X1 and X2 are preserved in the redundant input h(X1, X2). In other examples, the redundant inference result may not be refined based on probability information. Because the redundant input h(X1, X2) combines the inputs X1 and X2, any inherent correlations in X1 and X2 may not be preserved in the redundant input, which may lead to unexpected results when refining the redundant inference result.

[0150] The refined inference results may be decoded (e.g., in a decoding unit or encoder-decoder described above) to determine corrupted inference results or to further refine the inference results. Methods for decoding inference results from a correlation-encoded inference process are described in more detail below with respect to method 1300.

[0151] An exemplary method for implementing correlation coding inference is provided as follows: Step 1: Conduct independent inference > Obtain inference results (probabilities) for each individual class / object / event. Stage 2: Refining inferences with correlation knowledge (systematic input only) >Update the inference result (probability) according to the marginal probability expression >Normalize the inference results (probabilities) Phase 3: Refine inference using redundant input > "Set operation" based messages are passed between the inference units 502, 504 and the redundant inference unit 506. Normalize the inference results (probabilities) Phase 4: Obtaining the final inference result >Perform thresholding or make decisions based on refined inference results

[0152] Stage 1 may be performed according to the description of implementing a component inference process provided herein. Stage 2 may be performed according to the method described in the "Refining the Inference Results" section. Stage 3 may be performed according to the decoding described in method 1300 below. Stage 4 may involve implementing thresholding as described herein. Stages 1-4 may be performed one or more times (e.g., may be performed iteratively).

[0153] The message passing between the inference units 502, 504 and the redundant inference unit 506 based on "set operations" in stage 3 may be omitted in some instances. Without stage 3, the exemplary method becomes correlation inference only and may be implemented in a single device (e.g., without network support). Generalization to two or more possible outcomes

[0154] In the preceding description, probability information has been described as indicating, for each of a plurality of potential outcomes obtainable from the component inference processes, the probability of obtaining each potential outcome and another potential outcome from the plurality of potential outcomes. In general, probability information may relate to the probability of obtaining each potential outcome and one or more other potential outcomes from the plurality of potential outcomes. Accordingly, equations (1)-(15) described above may be adapted and / or generalized in embodiments in which the probability information relates to the probability of obtaining each potential outcome and two or more other potential outcomes. For example, in one embodiment in which the classification process returns respective initial confidences c1(i) for classes i=1, 2, ..., N, the refined confidence for a particular class c2(i) may be expressed as:

number

[0155] FIG. 12 illustrates a method 1200 according to an embodiment of the present disclosure. In the foregoing description, method 1200 is described as being performed by a processing device. However, in general, method 1200 may be performed by any suitable device, and in some examples, by more than one device. In particular examples, method 1200 may be performed by an inference unit, such as any of the first and second inference units 502, 504 described above. In some examples, the processing device may be an electronic device, such as any of the electronic devices 110 described above with respect to FIGS. 1-4. In particular examples, the processing device may be a sensing device. Thus, method 1200 may be used to implement, for example, simultaneous or collaborative sensing.

[0156] Method 1200 may begin at step 1202, where a processing unit receives input for a component inference process. In some examples, the processing unit receives input from a network device. The network device may be a TRP, such as any of the TRPs 170 described above with respect to FIGS. 1-4. For example, the network device may be a base station, and the processing unit may be connected to a cell served by the base station.

[0157] In other examples, the input may be obtained in other ways. For example, the processing device may include a sensing device, and the input may include sensing data obtained (e.g., measured, sensed, and / or calculated) by the processing device.

[0158] The inputs may include any data on which inferences can be performed. Thus, for example, the inputs may include one or more of image data, audio data, video data, measurement data, network data for a communications network (e.g., indicative of traffic, usage, performance, or any other network parameter), user data, or any suitable data.

[0159] The component inference processes form part of a distributed inference process that represents a machine learning process. The component inference processes may be any suitable process (e.g., algorithm) that includes one or more tasks performed as part of the distributed inference process. The component inference processes and / or the distributed inference process may include any suitable machine learning process, such as, for example, a neural network (e.g., a deep neural network, DNN), a k-nearest neighbor process, a linear regression process, a logistic regression process, a support vector machine, or any other suitable machine learning process. The component inference processes and / or the distributed inference process may include, for example, a regression process, a classification process (e.g., a classifier), or a combination of a regression process and a classification process. Those skilled in the art will understand that the choice of machine learning process is often specific to the inference task. For example, the inference task may include image classification, and the component process may include a neural network, such as a deep neural network, trained to classify images.

[0160] In the context of this disclosure, a distributed inference process may be any inference process that includes tasks that may be performed by multiple devices. In some examples, a distributed inference process may be performed by multiple processing devices, where each processing device performs a component inference process. Each processing device may perform the same component inference process. Alternatively, different processing devices may perform different component inference processes.

[0161] In some examples, the distributed inference process may include a coded inference process, which will be understood to be applied to the method 1200 in some examples, as described in more detail below with respect to FIG.

[0162] Continuing with the discussion of method 1200, at step 1204, the processing unit performs the component inference processes on the input to obtain a first inference result. It will be appreciated that different inference processes will provide different results, and thus the form of the first inference result may depend on the component inference processes, distributed inference processes, and / or machine learning processes represented by the distributed inference processes.

[0163] In some examples, the machine learning process may include a classification process, and the first inference result may include one or more classes and a respective confidence for each class. The confidence may alternatively be referred to as a confidence score, a confidence indicator, a confidence level, a class score, a credit score, or any other suitable term. The confidence indicates the likelihood that the class assignment based on the input is correct. For example, an image classification process may provide one or more classes for objects detected in an image, and for each class, an associated confidence indicating the likelihood that the object is in the respective class. In some examples, the confidence may take a value ranging from 0 to 1, with a larger value indicating a higher likelihood that the class is correct.

[0164] In some examples, the machine learning process represented by the distributed learning process may include a regression process, and the first inference result may be a first probability distribution P1(x i ). Thus, for example, stage 1204 may involve performing component inference processes on the input image to obtain respective first probability distributions for coordinates of bounding boxes in the image. The bounding boxes may indicate, for example, the presence of an object in the image. As explained above, a bounding box may have coordinates (t x , t y , t w , t h ) The first probability distribution may therefore have the respective distributions

number

[0165] In some examples, the machine learning process may include a classification and regression process, and thus the first result may include a combination of the first results described above with respect to the classification and regression process.

[0166] Method 1200 may further involve obtaining probability information, for each of a plurality of potential outcomes obtainable from the component inference processes, indicating the probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes.

[0167] The form of the multiple potential outcomes may depend on the component inference processes. For a classification process, the potential outcomes may include, for example, multiple classes. For a regression process, the potential outcomes may include, for example, a range or set of values.

[0168] The probability information may be the probability information described above in the "Quantifying Correlation in Probability Information" section. In some examples, the processing device may determine the probability information using any of the methods described in that section. In other examples, the processing device may receive an indication of the probability information. The processing device may receive the indication of the probability information from the network device or from another device. Alternatively, the processing device may be configured to have the indication of the probability information.

[0169] The indication of the probability information may include the probability information itself. For example, the processing device may receive any of the joint and / or conditional probabilities described above. Alternatively, the instructions may take another form. In certain examples, the instructions may include an identifier for use in a lookup table available to (e.g., stored in) the processing device. The lookup table may alternatively be referred to as, for example, a correlation table or a belief table. The processing device may look up the identifier in the lookup table to determine the probability information. For example, the processing device may be configured with a table such as Table 1. [Table 1]

[0170] Table 1 is an example of a lookup table that may be used in some embodiments of the present disclosure. The table has three columns. The first column contains an identifier (ID) that the processing device may receive (e.g., from a network device). The second column contains a probability or probability range that the processing device may determine by looking up the associated identifier in the lookup table. The third column (which may be omitted) contains the meaning of the associated probability. Each probability in the lookup table may be a potential outcome from a component inference process and a probability of obtaining another potential outcome. Thus, for example, identifier (ID) 00 may be associated with the conditional probability of detecting an object of class "giraffe" in an image when an object of class "stop sign" is also detected in the image.

[0171] Table 2 shows another example of a lookup table that may be used. [Table 2]

[0172] In some examples, the processing device may store received instructions such that the instructions can be retrieved from memory at the processing device to determine probability information (e.g., as needed) using a lookup table. Table 3 shows an example of a table that stores, for each pair of classes in the set of classes 1, 2, and 3, respective identifiers that can be used in conjunction with a lookup table such as Table 1 or Table 2 to determine probability information for each pair. Each processing device may, for example, store a table of identifiers for each combination of possible outcomes from the component inference processes. A network device may, for example, store a corresponding table. A table stored at a network device may include an identifier for each combination of possible outcomes from the distributed inference process (e.g., possible outcomes from all of the component inference processes that are part of the distributed inference process). A network device may store a table that is larger than any individual processing device. [Table 3]

[0173] While the above description refers to the processing device receiving an identifier, it will be understood that in general, the processing device may receive one or more identifiers. In some examples, the processing device may receive an identifier for each combination of potential outcomes obtainable from the component inference processes. For example, the processing device may receive a table such as Table 3 that includes a respective identifier for each pair of classes obtainable from the component classification processes. In general, the probability information may be quantified and / or encoded in any suitable manner in the instructions.

[0174] The processing device may further determine a second inference result based on the first inference result and the probability information. Thus, the processing device may refine the first inference result based on the probability information. This step may be performed using, for example, any of the methods described above in the "Refining the inference result" section.

[0175] In step 1206, the processing unit transmits the second inference result to the network device.

[0176] Method 1200 may also involve updating the probability information based on the first inference result and / or the second inference result.

[0177] The processing device may indicate the updated probability information to the network device. The processing device may transmit the probability information itself to the network device. Alternatively, the processing device may indicate updates to the probability information using other means. For example, the processing device may transmit an updated identifier for each combination of potential outcomes. The network device may determine the probability for the combination of potential outcomes based on the updated identifier (e.g., using a lookup table such as any of the lookup tables described above).

[0178] The processing device may additionally or alternatively indicate the updated probability information to another device, such as another processing device. In some examples, the processing device may transmit the updated probability information to another processing device (e.g., to another device configured to perform component inference as part of a distributed learning process). The processing device may indicate the updated probability information to another device using any of the methods described above with respect to indicating the updated probability information to a network device.

[0179] In some examples, a processing device may receive an indication of an update to the probability information. The processing device may receive the indication from another device, such as another processing device (e.g., another device configured to perform a component inference process as part of a distributed inference process), from a network device. In some examples, each processing device may exchange its (updated) probability information with at least one other processing device. The updated probability information at a particular processing device may be referred to as local correlation information. Thus, each processing device may, for example, exchange its local correlation information with its neighboring processing devices.

[0180] The processing device may update the probability information based on the received indication of an update to the probability information. The processing device may update the probability information using any of the methods described above in the "Updating Probability Information" section.

[0181] Also provided is an apparatus configured to perform method 1200. In yet another aspect, a memory (e.g., a non-transitory processor-readable medium) is provided. The memory includes instructions (e.g., processor-executable instructions) that, when executed by a processor of the apparatus, cause the apparatus to perform method 1200. In yet another aspect, an apparatus is provided that includes a processor and a memory. The memory includes instructions (e.g., processor-executable instructions) that, when executed by the processor, cause the apparatus to perform method 1200.

[0182] 13 shows a flowchart of a method 1300 performed by a network device according to an embodiment of the present disclosure. The network device may be a TRP, such as any of the TRPs 170 described above with respect to FIGS. 1-4. The network device may be any of the network devices mentioned in the description of method 1200 above.

[0183] In step 1302, the network device transmits a respective first input in the plurality of first inputs to each of a plurality of processing devices. Some or all of the plurality of processing devices may be configured to perform the method 1200 described above. Thus, some or all of the processing devices may be, for example, the processing devices described above with respect to the method 1200. The processing devices may be electronic devices. In some examples, the processing devices may be connected to a cell provided by the network device.

[0184] Each of the plurality of processing devices is configured to perform a component inference process as part of a distributed inference process representing a machine learning process, where the component inference processes, the distributed inference process, and / or the machine learning process may be as described above with respect to method 1200.

[0185] Each of the first inputs is for a component inference process in a respective processing unit.

[0186] The method may also involve indicating, by the network device, the probability information to a plurality of processing devices. The probability information is defined as described above in the description of method 1200. The processing devices may receive the indication of the probability information in accordance with receiving the indication of the probability information in method 1200 described above. Thus, for example, the network device may transmit to the network device the probability information itself or an indication (e.g., an identifier) ​​that enables the processing devices to determine the probability information.

[0187] In some examples, the network device may indicate the same probability information to all processing units. The network device may, for example, broadcast the same probability information. The same probability information may, for example, indicate the probability of obtaining each potential outcome and another potential outcome from a plurality of potential outcomes obtainable from the distributed inference process. Thus, the plurality of potential outcomes may be outcomes obtainable by any of the component inference processes. The same probability information may alternatively be referred to as global probability information or global correlation information. Thus, the network device may implement broadcasting and distribute the global correlation information to the inference units (e.g., to the processing units).

[0188] In another example, the probability information indicated by the network device may be specific to a particular processing device. The probability information may be specific to a component inference process that a particular processing device is configured to perform. The multiple potential outcomes obtainable from a component inference process may vary from processing device to processing device. For example, one processing device may be capable of classifying input data using fewer classes than another processing device. Thus, the network device may transmit to a particular processing device only probability information related to potential outcomes obtainable from a component inference process performed by the particular processing device. Transmitting only probability information related to a particular processing device may conserve transmission resources of the network device and the processing device, as well as memory in the processing device.

[0189] For example, a network device may store probability information including a 100x100 table containing, for each of 100 classes, the respective probabilities of each class co-occurring with another class. A The first processing unit, referred to as User Equipment B (UE B), may be operable only to classify data according to 50 classes. B The second processing unit, referred to as a 100x100 processor, may be operable to classify the data according to five classes. Thus, the network device may extract the 50x50 table from the full 100x100 table and provide the 50x50 table as probability information to the UE. A Therefore, the network device may extract the 5x5 table from the full 100x100 table and transmit the 5x5 table to the UE as probability information. B This allows the network device and the UE A and UE B The communication overhead between the UE is reduced. A and UE B This can save memory in

[0190] Thus, in some examples, the plurality of potential outcomes obtainable from the component inference processes may be a first plurality of potential outcomes, and the network device may obtain, for each of a second plurality of potential outcomes obtainable from the distributed inference process, second probability information indicating the probability of obtaining the respective potential outcome and another potential outcome from the second plurality of potential outcomes. The first plurality of potential outcomes may be a subset of the second plurality of potential outcomes. The network device may select, for one or more (e.g., each) of at least one of the plurality of processing devices, first probability information from the second probability information based on the first plurality of potential outcomes. Thus, the network device may transmit, for one or more of the processing devices, a subset of probability information to the respective processing device based on the plurality of potential outcomes obtainable by the component inference processes performed by the respective processing device.

[0191] In some examples, the probability information may be specific to a particular location (e.g., a particular area). For example, a processing device may be provided with specific probability information based on its location. This may be particularly appropriate when inputs to component inference processes in a particular processing device are specific to the location of the processing device. By using location-specific probability information, inference may be specialized depending on the location of the processing device, which may further improve performance. For example, an electronic device entering an area (e.g., a cell) of a network may be provided with area-based (e.g., cell-specific) probability information. In a sense, the probability information may reflect historical knowledge (or prior knowledge) about where it was created.

[0192] In some examples, the processing device may not receive the probability information from the network device. Rather, the processing device may obtain the probability information through other means. For example, the processing device may be configured with the probability information or may receive it from another device.

[0193] In step 1304, the network device receives first inference results from the plurality of processing devices. The first inference results are obtained in the processing devices based on the probability information and the plurality of first inputs. Thus, the first inference results received in step 1304 are refined in the processing devices based on the probability information before they are transmitted to the network device. The first inference results may be obtained using, for example, any of the methods described above in the "Refining Inference Results" section. Step 1304 may correspond to step 1206 described above.

[0194] The network device may also receive updates to the probability information from at least one of the processing units. In some examples, the network device may receive respective updates from all of the processing units. The updates may be based on first inference results obtained from the component inference processes. The updates may be determined using any of the methods described above in the "Updating Probability Information" section. The at least one processing unit may transmit updates to the network device as directed by the updated probability information to the network device described above in method 1200.

[0195] The network device may update its probability information (e.g., global probability information) based on updates received from at least one processing device. In the simplest example, the network device may replace its probability information with updates received from a processing device. In another example, the network device may average the probability information received from all of the at least one processing device. The network device may weight the average based on, for example, the size of the input processed by each processing device and / or the reliability (e.g., trust) of each processing device.

[0196] As noted above, the probability information may be specific to a particular processing device and / or a particular location. Thus, a network device may update the probability information for a particular processing device based solely on updates received from the device. In another example, a network device may update the probability information for a location (e.g., a particular area) based on updates received from one or more processing devices at or associated with that location. This may enable a network device or wireless network to adapt and match target applications depending on a particular geographic location and / or a particular scenario.

[0197] In the preceding description of method 1300, the network device transmits a plurality of first inputs to a plurality of processing devices as part of a distributed inference process. In some embodiments, the plurality of first inputs includes a plurality of second inputs and at least one redundant input. The at least one redundant input is redundant in that it includes data that is also included in the plurality of second inputs. As such, the at least one redundant input may be used, for example, to recover corrupted inference results from the distributed inference process and / or refine inference results from the distributed inference process.

[0198] Thus, the distributed inference process may include an encoding inference process. A network device may process multiple second inputs to generate at least one redundant input before transmitting a first input. This process may be referred to as encoding because it provides redundancy in a manner similar to encoding.

[0199] In some examples, the multiple second inputs are processed such that each of the at least one redundant input includes a concatenation of data from at least two of the multiple second inputs. In this context, concatenation may refer to combining data from at least two of the multiple inputs without mixing data from the different inputs. Thus, for example, data from at least two of the multiple inputs may be combined into a common dataset without superimposing (e.g., adding) data from the different inputs. For example, data from at least two of the multiple inputs may be placed next to each other in the same dataset. Data from one input may be appended to another, for example. In a further example, data from, for example, three or more datasets may be tiled. Tiling may be particularly appropriate for data having two or more dimensions. By generating redundant inputs in this manner, the same component inference processes may be used in a processing device that performs inference on the redundant inputs as in a processing device that performs inference on the second input.

[0200] The method 1300 may further involve, after the network device receives a first inference result from the plurality of processing results, decoding the first inference result to obtain a second inference result. The first inference result includes a redundant result based on at least one redundant input and another first result based on a plurality of second inputs. The decoding may be performed on at least two of the first inference results, where the at least two first inference results include a redundant result. In other words, the decoding may be performed on one or more redundant results and at least one of zero or more other first results. Thus, for example, the decoding may be performed based on two or more redundant results. Alternatively, the decoding may be performed on at least one of the redundant results or one or more of the other first results.

[0201] The second inference result may include, for example, an estimate of a corrupted result (e.g., a result that should have been returned by a processing device but was not) from one instance of the same component inference process. Even if no data is lost from the distributed inference process, decoding the results and redundant results using the above process may still be advantageous as it may provide a more accurate and / or insightful second inference result.

[0202] In examples where the at least one redundant input includes a concatenation of data from at least two of the plurality of second inputs, the network device may decode the first inference result by performing one or more linear operations and / or one or more set operations. Performing one or more set operations may be particularly appropriate in examples where the machine learning process includes a classification process such that the first inference result includes multiple classes and one or more redundant classes.

[0203] There are various ways in which linear operations can be used to decode the first inference result. This may depend, for example, on the desired first inference result, the distributed inference process, and / or the inference. In this context, a linear operation is any operation for which the operations of vector addition and scalar multiplication hold. Thus, the one or more linear operations may be: for all x and for all constants a, f(x+y)=f(x)+f(y) f(ax)=af(x) The implementation of one or more linear operations may be particularly suitable in instances where the machine learning process includes a regression process.

[0204] There are various ways in which set operations can be used to decode the first inference result. Implementing one or more set operations may be particularly appropriate in examples where the machine learning process includes a classification process, such that the first inference result includes multiple classes and one or more redundant classes. In some examples, a belief propagation process (e.g., an algorithm) may be used to decode the first inference result. This may be illustrated by considering an example where the redundant classes form a set R, the classes in the first inference result form a set S, and N is a contiguous set. A class i in the first inference result may be decoded to obtain a class j of the second inference result by performing the following steps one or more times: {class j→i}={class i' ,i'∈N(j)∩R}-union(all i''∈N(j)∪S {class i''} and i''≠i) {class i→j}={class i} ∪ union (all j'∈N(i) {class j'→i} and j' ≠ j) {class i}={class i} ∪ union (all j'∈N(i) {class j'→i}) Here, ∪ denotes the union of two classes, "union" denotes the union of more than two classes, "-" denotes the difference, and ∩ denotes the intersection. The neighbor set N of a particular class j may include each of the labels used to infer class j. This particular belief propagation process may reduce decoding complexity because the class in the second inference result may be determined without performing an exhaustive search. The belief propagation process may be particularly suitable when sparse codes are used for encoding because the belief propagation process converges more quickly with sparse codes.

[0205] Although the example belief propagation algorithm uses union, intersection, and difference operations, in general, any suitable set operation may be used to decode the first inference result. Thus, for example, the one or more set operations may include one or more of union, intersection, complement, and difference.

[0206] Also provided is a network device configured to perform method 1300. In yet another aspect, a memory (e.g., a non-transitory processor-readable medium) is provided. The memory includes instructions (e.g., processor-executable instructions) that, when executed by a processor of the network device, cause the network device to perform method 1300. In yet another aspect, a network device is provided that includes a processor and a memory. The memory includes instructions (e.g., processor-executable instructions) that, when executed by the processor, cause the network device to perform method 1300.

[0207] In method 1300, the first inference results received in step 1304 are refined in a processing unit based on probability information before they are received at the network device. In other embodiments, the network device may use the probability information to refine the inference results provided by the component inference processes. This is described with respect to FIG. 14, which illustrates a flowchart of a method 1400 implemented by a network device according to an embodiment of the present disclosure. The network device may be a TRP, such as any of the TRPs 170 described above with respect to FIGS. 1-4.

[0208] Method 1400 may be substantially similar to method 1300, except that a network device, rather than a processing unit, refines the inference results based on the probability information.

[0209] Method 1400 involves a network device transmitting a plurality of first inputs to a plurality of processing devices, each of the first inputs being for a component inference process on a respective processing device as part of a distributed inference process representing a machine learning process, at step 1402. Step 1402 may be performed in accordance with step 1302.

[0210] In step 1404, the network device receives a first inference result based on the plurality of first inputs from the plurality of processing devices. Step 1404 may be performed according to step 1304, except that the first inference result in step 1404 is not based on probability information. Thus, in method 1400, the processing device may not obtain probability information as described above in method 1300.

[0211] In step 1406, the network device determines a second inference result based on the first inference result and the probability information, where the probability information is defined as described above in the description of methods 1200 and 1300.

[0212] The network device 1406 may also update the probability information based on the first inference result and / or the second inference result. The network device 1406 may update the probability information based on the inference results from all processing devices. Alternatively, the network device 1406 may maintain separate probability information for each processing device or for groups of processing devices. Thus, for example, the network device 1406 may update the probability information for a group of one or more processing devices based on the inference results for processing devices in the group. The network device may update the probability information using any of the methods described above in the "Updating Probability Information" section.

[0213] In the foregoing description of method 1400, the network device transmits a plurality of first inputs to a plurality of processing devices as part of a distributed inference process. In some embodiments, the plurality of first inputs includes a plurality of second inputs and at least one redundant input. Thus, the distributed inference process may include a coded inference process, which may be implemented in the same manner as the coded inference process described above with respect to method 1300.

[0214] Thus, the network device may encode a plurality of second inputs to generate at least one redundant input. The network device may also decode the second inference result to obtain a third inference result. Thus, the network device may decode the inference result after refining the inference result based on the probability information. Thus, the network device may use redundancy to recover a corrupted result and / or further refine a result after the probability information is used to refine the inference result.

[0215] Also provided is a network device configured to perform method 1400. In yet another aspect, a memory (e.g., a non-transitory processor-readable medium) is provided. The memory includes instructions (e.g., processor-executable instructions) that, when executed by a processor of the network device, cause the network device to perform method 1400. In yet another aspect, a network device is provided that includes a processor and a memory. The memory includes instructions (e.g., processor-executable instructions) that, when executed by the processor, cause the network device to perform method 1400.

[0216] Although many of the examples described herein are provided in the context of distributed inference, it will be understood that many of the techniques described herein are also applicable in the context of inference performed by a single device.

[0217] 15 shows a flowchart of a method 1500 according to an embodiment of the present disclosure. The method 1500 may be implemented by any suitable apparatus, such as an electronic device or a network device.

[0218] The method 1500 may involve obtaining input data. The input data may be obtained, for example, by receiving the input data from another device. In some examples, the input data may be collated from multiple devices.

[0219] Method 1500 involves, at step 1502, performing an inference process on input data to obtain a first inference result. The inference process may involve a machine learning process, such as any suitable machine learning process, such as, for example, a neural network (e.g., a deep neural network, DNN), a k-nearest neighbor process, a linear regression process, a logistic regression process, a support vector machine, or any other suitable machine learning process. The inference process may include, for example, a regression process, a classification process (e.g., a classifier), or a combination of a regression process and a classification process. Those skilled in the art will understand that the choice of machine learning process is often specific to the inference task. For example, the inference task may include image classification, and the component process may include a neural network, such as a deep neural network, trained to classify images.

[0220] At step 1504, method 1500 involves determining a second inference result based on the first inference result and probability information, where the probability information indicates, for each of a plurality of potential outcomes obtainable from the inference process, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes. Step 1504 may be performed in accordance with the determination of the second inference result described above in method 1200 or in accordance with step 1406 described above, where the inference process replaces the component inference processes referred to above.

[0221] Method 1500 may also involve transmitting the second inference result to another device, which may be the same as or a different device from the device that provided the input data. In some examples, method 1500 may involve using the second inference result.

[0222] Also provided is an apparatus configured to perform method 1500. In yet another aspect, a memory (e.g., a non-transitory processor-readable medium) is provided. The memory includes instructions (e.g., processor-executable instructions) that, when executed by a processor of the apparatus, cause the apparatus to perform method 1500. In yet another aspect, an apparatus is provided that includes a processor and a memory. The memory includes instructions (e.g., processor-executable instructions) that, when executed by the processor, cause the apparatus to perform method 1500. result

[0223] 16 and 17 show simplified line drawings based on photographs on which distributed inference was performed that represent the image classification process. In each figure, four copies of each image are shown. Boxes are overlaid to indicate the objects identified in each image. In both figures, the right-most images show objects that have been manually (e.g., by a human) identified in those images. These images represent the "ground truth," i.e., the information that the image classification process seeks to obtain.

[0224] In Figure 16, the ground truth image shows a first bird 1602, a first giraffe 1604, a second giraffe 1606, a second bird 1608, a third bird 1610, and a fourth bird 1612. In Figure 17, the bottom image shows three boats in the background with a crowded scene of umbrellas, people, and lounge chairs in the foreground. The boats, umbrellas, people, and lounge chairs have all been detected and identified in the ground truth image.

[0225] In both Figures 16 and 17, three additional images are labeled, from left to right, "Detect," "Correlation-Detect," and "Correlation-Decode." These images show objects detected in the images using the three different techniques. In all three techniques, objects are detected and classified using a YOLOv3 model (Farhadi, Ali, and Joseph Redmon. "Yolov3: An incremental improvement." Computer Vision and Pattern Recognition. Berlin / Heidelberg, Germany: Springer, 2018) trained using the COCO-train2017 dataset (Lin, Tsung-Yi, et al. "Microsoft coco: Common objects in context." European conference on computer vision. Springer, Cham, 2014). For the correlation-detection images, the confidence associated with the initial classification provided by the YOLOv3 model was refined based on probability information using the methods described herein. For correlation-decoded images, both the probability information and redundancy provided by coding inference were implemented to classify objects in the image using the methods described herein.

[0226] As shown in FIG. 16 , all of the objects 1602-1610 except the fourth bird 1612 are detected (e.g., have boxes around them) in the detected image, indicating that the YOLOv3 model is able to accurately detect and identify the objects 1602-1610. These objects are also detected in the correlation-detection and correlation-decoded images, indicating that the use of probability information does not degrade classification performance. Additionally, the fourth bird 1612 is detected and identified as a bird (e.g., has a box around it) in both the correlation-detection and correlation-decoded images. This indicates that using probability information to refine inference results in accordance with the methods described herein can improve the performance of the image classification process, particularly enabling the accurate detection and identification of small objects in images. While FIG. 16 illustrates this benefit, this improvement was also found when classifying objects in other images using the methods described herein.

[0227] As shown in FIG. 17, fewer objects are detected in the detected image compared to the correlation-detection and correlation-decoded images. This indicates that refining the inference results using probability information according to the methods described herein can improve the performance of the image classification process by accurately detecting and identifying more objects, especially more objects in crowded images. In FIG. 17, more objects are detected and identified in the correlation-decoded image than in the correlation-detection image. This indicates that refining the inference results using probability information and redundancy provided by coding inference according to the methods described herein can further improve the performance of the image classification process. The performance gains obtained using both probability information (also referred to as correlation inference) and coding inference indicate that these techniques can reinforce each other.

[0228] The performance improvement provided by the methods disclosed herein can be further illustrated by reference to FIG. 18, which shows the object detection rate for a distributed inference process implemented in accordance with an embodiment of the present disclosure.

[0229] For each example shown in Figure 18, the YOLOv3 model (Farhadi, Ali, and Joseph Redmon. "Yolov3: An incremental improvement." Computer Vision and Pattern Recognition. Berlin / Heidelberg, Germany: Springer, 2018) was trained using the COCO-train2017 dataset (Lin, Tsung-Yi, et al. "Microsoft coco: Common objects in context." European conference on computer vision. Springer, Cham, 2014). Inference was performed on images from the COCO-val2017 dataset (Lin, Tsung-Yi, et al. "Microsoft coco: Common objects in context." European conference on computer vision. Springer, Cham, 2014), detecting 36,781 labeled objects in 5,000 images. Each input image was fed into a respective instance of the trained YOLOv3 model, which output bounding box estimates and class predictions for one or more objects detected in the image.

[0230] This process is repeated with an elimination probability ranging from 0 to 0.8, where the elimination probability indicates the likelihood that each instance of the YOLOv3 model will return its respective output. Thus, for example, an elimination probability of 0 indicates that all of the YOLOv3 model's outputs have been returned.

[0231] The lower dashed line with circle markers (labeled "Inference") shows the detection rate for an inference process performed without using probability information or redundancy (e.g., without encoding). The dashed line with triangular markers (labeled "Correlated Inference") shows the detection rate for a distributed inference process according to an embodiment of the present disclosure that uses probability information to refine the inference results. The solid line with star markers (labeled "(7,4) Hamming Coded Inference") shows the detection rate for object detection performed by a distributed inference process in which the input image is encoded according to a (7,4) Hamming code with the following parity-check matrix:

number

[0232] Therefore, a (7,4) Hamming code was used to generate seven inputs, including four input images and three redundant input images. The generator matrix for this Hamming code is:

number

[0233] The solid line with square markers (labeled "(24,12) Degree-2 Coding Inference") shows the detection rate for an implementation using a (24,12) code with degree 2. For the (24,12) code, images were grouped into batches of 12 images, and 12 redundant images were generated for each batch, resulting in 24 images being input to an instance of YOLOv3 for each batch. Because the (24,12) code is degree 2, each redundant image contains data from two images. The parity-check matrix for a (24,12) degree-2 code is:

number

[0234] The solid line with triangular markers (labeled "(24,12) degree-2 correlation coded inference") shows the detection rate for a distributed inference process according to an embodiment of the present disclosure, in which probability information is used to refine the inference results and the inputs are encoded according to the (24,12) code described above.

[0235] As shown in Figure 18, using probability information alone to refine inference (e.g., without any redundancy) results in a large improvement in performance across all erasure rates, with the largest improvement seen at low erasure rates. When probability information is used in combination with the redundancy provided by coded inference, performance is further enhanced. This demonstrates that correlation inference and coded inference can reinforce each other. In particular, correlation coded inference can improve detection rates by more than 20% for at least some erasure rates.

[0236] While many of the examples provided above are described in the context of image classification, it will be understood that the disclosure is not so limited and that aspects of the disclosure may be implemented in a wide range of applications, such as network inference, environmental sensing, and / or autonomous driving. Aspects of the disclosure may be implemented in a wide range of system architectures. The embodiments described herein may be implemented in various communication networks, such as 5G, 6G, and Wi-Fi. In some cases, no network is required. In some examples, aspects of the disclosure may be implemented in next-generation mobile and wireless network services, cloud and edge computing services, and / or sensing services. Aspects of the disclosure may be implemented, for example, to enable joint sensing or detection in wireless networks.

[0237] It should be understood that one or more steps of the method of the embodiments provided herein may be performed by a corresponding unit or module. For example, a signal may be transmitted by a transmitting unit or a transmitting module. The signal may be received by a receiving unit or a receiving module. The signal may be processed by a processing unit or a processing module. Each unit / module may be hardware, software, or a combination thereof. For example, one or more of the units / modules may be an integrated circuit, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). When such modules are software, it should be understood that the modules may be retrieved by a processor for processing, individually or together, in whole or in part, as needed, in a single instance or multiple instances, as needed, and the modules themselves may include instructions for further deployment and instantiation.

[0238] Although combinations of features are shown in the illustrated embodiments, not all of them need to be combined to realize the benefits of various embodiments of the present disclosure. In other words, a system or method designed in accordance with an embodiment of the present disclosure does not necessarily include all of the features shown in any one of the figures or all of the portions schematically shown in the figures. Also, selected features of one exemplary embodiment may be combined with selected features of other exemplary embodiments.

[0239] While the present disclosure has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Numerous modifications and variations of the present disclosure are possible in light of the above teachings. It is therefore to be understood that, within the scope of the appended claims, the present disclosure may be practiced otherwise than as specifically described herein.

Claims

1. receiving input from a network device for a component inference process forming part of a distributed inference process representing a machine learning process; performing the component inference processes on the input to obtain a first inference result; and transmitting a second inference result to the network device based on the first inference result and probability information, wherein the probability information indicates, for each of a plurality of potential outcomes obtainable from the component inference processes, a probability of obtaining the respective potential outcome from the plurality of potential outcomes and another potential outcome. A method comprising:

2. the machine learning process comprises a classification process; the plurality of potential outcomes comprises a plurality of classes, such that the probability information indicates, for each of the plurality of classes obtainable from the component inference processes, a probability of obtaining the respective class and another class from the plurality of classes; The first inference result is a first confidence level c for each class i in the plurality of classes. 1 (i), wherein the second inference result includes a second confidence level c for each class in the plurality of classes. 2 (i) The method of claim 1.

3. the probability information comprises, for each class in the plurality of classes, a respective conditional probability P(i,j|j) of obtaining the respective class i and the other class j from the plurality of potential outcomes given that the other class j has been obtained from the component inference processes, and the method further comprises: [0000] the respective second confidences c for the respective classes i in the plurality of classes according to 2 The method of claim 2 further comprising determining (i).

4. the machine learning process comprises a regression process, and the plurality of potential outcomes comprises a plurality of values ​​for a parameter; The first inference result is a first probability distribution P of the parameter associated with a first datum i in the input. 1 (x i ) and the second inference result has a second probability distribution P of the parameter associated with the first data i. 2 (x i 10. The method of claim 1, wherein

5. The probability information is the first value x of the parameter i and obtaining a second value x of the parameter j The joint probability of obtaining P(x i , x j ), wherein the method comprises: [Equation 25] The method of claim 4 , further comprising determining the second probability distribution according to:

6. The probability information is a second value x of the parameter j is obtained, the first value x of the parameter i The conditional probability P(x i |x j ), wherein the method comprises: [Equation 26] The method of claim 4 , further comprising determining the second probability distribution according to:

7. receiving an indication of the probability information from the network device. The method of any one of claims 1 to 6, further comprising:

8. updating the probability information based on the first inference result or the second inference result; The method of any one of claims 1 to 7, further comprising:

9. indicating the updated probability information to the network device; and indicating the updated probability information to a device configured to perform inference as part of the distributed inference process. The method of claim 8 , further comprising one or more of:

10. transmitting a respective first input of the plurality of first inputs to each of a plurality of processing devices, each respective first input being for a component inference process as part of a distributed inference process representing a machine learning process; and receiving, from the plurality of processing devices, probability information and first inference results obtained based on the plurality of first inputs, wherein the probability information indicates, for each of a plurality of potential outcomes obtainable from the component inference processes, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes; 1. A method implemented by a network device, comprising:

11. The plurality of first inputs comprises a plurality of second inputs and at least one redundant input, and the method comprises: encoding the plurality of second inputs to generate the at least one redundant input; and Decoding the first inference result to obtain a second inference result. The method of claim 10 further comprising:

12. receiving from at least one of the plurality of processing devices respective updates to the probability information based on the first inference results obtained from the component inference processes; The method of claim 10 or claim 11, further comprising:

13. A method according to any one of claims 10 to 12, further comprising indicating the probability information to the plurality of processing devices by indicating the same probability information to each of the plurality of processing devices.

14. 13. The method of claim 10, further comprising indicating the probability information to at least one of the plurality of processing devices by indicating to the plurality of processing devices first probability information that is specific to the respective processing device.

15. the plurality of potential outcomes obtainable from the component inference processes is a first plurality of potential outcomes, and the method comprises: obtaining, for each of a second plurality of potential outcomes obtainable from the distributed inference process, second probability information indicative of a probability of obtaining the respective potential outcome and another potential outcome from the second plurality of potential outcomes; and for each of at least one of the plurality of processing devices, selecting the first probability information from the second probability information based on the first plurality of potential outcomes. The method of claim 14 further comprising:

16. transmitting a respective first input of the plurality of first inputs to each of the plurality of processing devices, the respective first inputs being for a component inference process as part of a distributed inference process representing a machine learning process; receiving a first inference result based on the plurality of first inputs from the plurality of processing devices; and determining a second inference result based on the first inference result and probability information, wherein the probability information indicates, for each of a plurality of potential outcomes obtainable from the component inference processes, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes; 1. A method implemented by a network device, comprising:

17. The plurality of first inputs comprises a plurality of second inputs and at least one redundant input, and the method comprises: encoding the plurality of second inputs to generate the at least one redundant input; and Decoding the second inference result to obtain a third inference result.

17. The method of claim 16, further comprising:

18. performing an inference process on the input data to obtain a first inference result; and determining a second inference result based on the first inference result and probability information, wherein the probability information indicates, for each of a plurality of potential outcomes obtainable from the inference process, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes; A method comprising:

19. 1. An apparatus comprising: a processor; and When executed by the processor, the device: receiving inputs from network devices for component inference processes that form part of a distributed inference process that represents a machine learning process; performing the component inference processes on the input to obtain a first inference result; and transmitting a second inference result to the network device based on the first inference result and probability information, where the probability information indicates, for each of a plurality of potential outcomes obtainable from the component inference processes, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes; Memory that stores instructions An apparatus comprising:

20. the machine learning process comprises a classification process; the plurality of potential outcomes having a plurality of classes, whereby the probability information indicates, for each of the plurality of classes obtainable from the component inference processes, a probability of obtaining the respective class and another class from the plurality of classes; The first inference result is a first confidence level c for each class i in the plurality of classes. 1 (i), wherein the second inference result includes a second confidence level c for each class in the plurality of classes. 2 (i) 20. The apparatus of claim 19.

21. the probability information comprising, for each class in the plurality of classes, a respective conditional probability P(i, j|j) of obtaining the respective class i and the other class j from the plurality of potential outcomes given that the other class j has been obtained from the component inference process, and wherein the instructions, when executed by the processor, cause the apparatus to further: [0000] the respective second confidences c for the respective classes i in the plurality of classes according to 2 21. The apparatus of claim 20, adapted to determine (i).

22. the machine learning process comprises a regression process, and the plurality of potential outcomes comprises a plurality of values ​​for a parameter; The first inference result is a first probability distribution P of the parameter associated with a first datum i in the input. 1 (x i ) and the second inference result has a second probability distribution P of the parameter associated with the first data i. 2 (x i 20. The apparatus of claim 19, further comprising:

23. The probability information is the first value x of the parameter i and obtaining a second value x of the parameter j The joint probability of obtaining P(x i , x j ), wherein the instructions, when executed by the processor, cause the apparatus to further: [0000] 23. The apparatus of claim 22, wherein the second probability distribution is determined according to:

24. The probability information is a second value x of the parameter j is obtained, the first value x of the parameter i The conditional probability P(x i |x j ), wherein the instructions, when executed by the processor, cause the apparatus to further: [0000] 23. The apparatus of claim 22, wherein the second probability distribution is determined according to:

25. The apparatus of any one of claims 19 to 24, wherein the instructions when executed by the processor further cause the apparatus to receive an indication of the probability information from the network device.

26. The apparatus of any one of claims 19 to 25, wherein when the instructions are executed by the processor, the apparatus is further caused to update the probability information based on the first inference result or the second inference result.

27. When the instructions are executed by the processor, the apparatus further: indicating the updated probability information to the network device; and indicating the updated probability information to a device configured to perform inference as part of the distributed inference process.

27. The apparatus of claim 26, adapted to perform one or more of the following:

28. 1. A network device comprising: a processor; and When executed by the processor, the network device: transmitting a respective first input of the plurality of first inputs to each of the plurality of processing devices, each respective first input being for a component inference process as part of a distributed inference process representing a machine learning process; and receiving from the plurality of processing devices first inference results obtained based on probability information and the plurality of first inputs, wherein the probability information indicates, for each of a plurality of potential outcomes obtainable from the component inference processes, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes; Memory that stores instructions A network device comprising:

29. The plurality of first inputs comprises a plurality of second inputs and at least one redundant input, and the instructions, when executed by the processor, further cause the network device to: encoding the plurality of second inputs to generate the at least one redundant input; and Decoding the first inference result to obtain a second inference result.

30. The network device of claim 28, wherein the network device is configured to:

30. The instructions, when executed by the processor, further cause the network device to: receiving from at least one of the plurality of processing devices respective updates to the probability information based on the first inference results obtained from the component inference processes; 30. A network device according to claim 28 or claim 29, adapted to:

31. A network device according to any one of claims 28 to 30, wherein when the instructions are executed by the processor, the network device is further caused to indicate the probability information to the plurality of processing devices by indicating the same probability information to each of the plurality of processing devices.

32. 31. The network device of claim 28, wherein when the instructions are executed by the processor, the network device is further caused to indicate the probability information to at least one of the plurality of processing devices by indicating, to the plurality of processing devices, first probability information that is specific to the respective processing device.

33. The plurality of potential outcomes obtainable from the component inference process is a first plurality of potential outcomes, and the instructions, when executed by the processor, further cause the network device to: obtaining, for each of a second plurality of potential outcomes obtainable from the distributed inference process, second probability information indicative of a probability of obtaining the respective potential outcome and another potential outcome from the second plurality of potential outcomes; and For each of at least one of the plurality of processing devices, selecting the first probability information from the second probability information based on the first plurality of potential outcomes.

33. The network device of claim 32, wherein the network device is configured to:

34. 1. A network device, comprising: a processor; and When executed by the network device, the apparatus: transmitting a respective first input of a plurality of first inputs to each of a plurality of processing devices, the respective first inputs being for a component inference process as part of a distributed inference process representing a machine learning process; receiving a first inference result based on the plurality of first inputs from the plurality of processing devices; and determining a second inference result based on the first inference result and probability information, where the probability information indicates, for each of a plurality of potential outcomes obtainable from the component inference processes, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes; memory that stores instructions to A network device comprising:

35. The plurality of first inputs comprises a plurality of second inputs and at least one redundant input, and the instructions, when executed by the processor, further cause the network device to: encoding the plurality of second inputs to generate the at least one redundant input; and Decoding the second inference result to obtain a third inference result.

35. The network device of claim 34, wherein the network device is configured to:

36. 1. An apparatus comprising: a processor; and When executed by the processor, the device: performing an inference process on the input data to obtain a first inference result; and determining a second inference result based on the first inference result and probability information, where the probability information indicates, for each of a plurality of potential outcomes obtainable from the inference process, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes; memory that stores instructions to An apparatus comprising:

37. 19. A non-transitory computer readable medium storing a program for execution by a processor, said program including instructions for performing the method of any one of claims 1 to 18.

38. A computer program product comprising instructions, which when executed by a computer, cause the computer to perform the method of any one of claims 1 to 18.

39. 19. An apparatus comprising a processor configured to cause the apparatus to perform the method of any one of claims 1 to 18.

40. A processor of an apparatus, said processor being configured to cause said apparatus to perform a method according to any one of claims 1 to 18.

41. a first device configured to obtain a first inference result as part of a distributed inference process representing a machine learning process; and a second device in communication with the first device, the second device configured to obtain a second inference result as part of the distributed inference process, the second inference result being based on the first inference result and probability information, where the probability information indicates, for each of a plurality of potential outcomes obtainable from the inference process, a probability of obtaining the respective potential outcome and another potential outcome from the plurality of potential outcomes; A system comprising: