Machine learning framework for wireless local area network (WLAN)
By designing a device that can send and receive machine learning capabilities messages, the sharing and communication of machine learning models across devices is realized, and the problem of machine learning applications across devices is solved in the 802.11 specification does not support machine learning applications across devices is improved, and the efficiency optimization of wireless LANs is improved.
Patent Information
- Application Number
- CN202380057864.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-15
- Filing Date
- 2023-07-18
- Publication Date
- 2025-03-18
AI Technical Summary
In the prior art, the 802.11 specification does not support machine learning applications across devices, limiting the efficiency optimization of wireless local area networks (WLANs).
An apparatus is designed to transmit and receive machine learning capability messages through a processor and realize machine learning model sharing and communication across devices based on the received message transmission information associated with the machine learning model.
Through this technology, machine learning models can be shared and used between access points and sites to optimize 802.11 features such as enhanced distributed channel access (EDCA) optimization, interference estimation, rate adaptation, and channel state information (CSI) enhancement, improving the efficiency of wireless communications.
Smart Images

Figure CN119654639A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. patent application No. 17 / 888,435, filed on August 15, 2022, and entitled “MACHINE LEARNING FRAMEWORK FOR WIRELESS LOCAL AREA NETWORKS (WLANs)”, the disclosure of which is expressly incorporated herein by reference in its entirety. Technical Field
[0003] The present disclosure relates generally to wireless communications and, more particularly, to a machine learning framework for wireless local area networks (WLANs). Background Art
[0004] A wireless local area network (WLAN) can be formed by one or more wireless access points (APs), which provide a shared wireless communication medium for use by multiple client devices (also referred to as wireless stations (STAs)). The basic building block of a WLAN that complies with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 series of standards is the basic service set (BSS), which is managed by the AP. Each BSS is identified by a basic service set identifier (BSSID) announced by the AP. The AP periodically broadcasts beacon frames to enable any STA within the wireless range of the AP to establish or maintain a communication link with the WLAN.
[0005] Machine learning techniques include supervised learning, unsupervised learning, and reinforcement learning. However, the 802.11 specification currently does not support the use of these machine learning techniques across devices. Proprietary models can be used by individual STAs or APs, but these models can only be used to optimize features that are yet to be implemented. It would be desirable to apply machine learning techniques to wireless communications to achieve higher efficiency. Summary of the invention
[0006] Some aspects of the present disclosure relate to an apparatus. The apparatus has a memory and one or more processors coupled to the memory. The processor is configured to send a first message indicating a first machine learning capability of a first wireless device. The processor is also configured to receive a second message indicating a second machine learning capability of the second wireless device from a second wireless device. The processor is also configured to transmit information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability. The processor is also configured to communicate with the second wireless device based at least in part on the machine learning model. In this specification, transmitting refers to both sending and receiving.
[0007] In other aspects of the present disclosure, a method for wireless communication at a first wireless device includes sending a first message indicating a first machine learning capability of the first wireless device. The method also includes receiving a second message indicating a second machine learning capability of the second wireless device from a second wireless device. The method also includes transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability. The method also includes communicating with the second wireless device based at least in part on the machine learning model.
[0008] The various aspects generally include methods, apparatuses, systems, computer program products, non-transitory computer-readable media, access points (APs), stations (STAs), user equipment, base stations, wireless communication devices, and processing systems as generally described herein with reference to the accompanying drawings and descriptions and as illustrated by the accompanying drawings and descriptions.
[0009] The foregoing has been fairly extensively outlined the features and technical advantages of examples according to the present disclosure so that the specific embodiments below may be better understood. Additional features and advantages will be described. The disclosed concepts and specific examples may be easily used as the basis for modifying or designing other structures for the same purpose of achieving the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. When considered in conjunction with the accompanying drawings, the characteristics of the disclosed concepts (both their organization and methods of operation) and the associated advantages will be better understood from the description below. Each of the figures in the accompanying drawings is provided for the purpose of illustration and description and is not intended to be a definition of limitations to the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In order to be able to understand the features of the present disclosure in detail, a specific description may be obtained by reference to various aspects, some of which are shown in the accompanying drawings. However, it should be noted that the accompanying drawings only illustrate certain aspects of the present disclosure and are therefore not to be considered as limiting the scope thereof, as the specification may admit other equally effective aspects. The same reference numerals in different drawings may identify the same or similar elements.
[0011] Figure 1 A schematic diagram of an example wireless communication network is shown.
[0012] Figure 2 An example protocol data unit (PDU) is shown that may be used for communications between an access point (AP) and one or more stations (STAs).
[0013] Figure 3 Show Figure 2 Example fields in a PDU.
[0014] Figure 4An example implementation of designing a machine learning model using a system on a chip (SOC) including a general-purpose processor in accordance with certain aspects of the present disclosure is shown.
[0015] Figure 5A , 5B 5 and 5C are diagrams illustrating neural networks according to aspects of the present disclosure.
[0016] Figure 5D is a diagram illustrating an exemplary deep convolutional network (DCN) according to aspects of the present disclosure.
[0017] Figure 6 is a block diagram illustrating an exemplary deep convolutional network (DCN) according to aspects of the present disclosure.
[0018] Figure 7 is a block diagram illustrating a high-level machine learning model according to aspects of the present disclosure.
[0019] Figure 8 is a block diagram illustrating a reinforcement learning model according to aspects of the present disclosure.
[0020] Fig. 9A is a table illustrating machine learning capabilities of wireless devices according to aspects of the present disclosure.
[0021] Fig. 9B is a call flow diagram illustrating a machine learning framework for a wireless local area network (WLAN) in accordance with aspects of the present disclosure.
[0022] Fig.10 A block diagram of an example wireless communication device is shown in accordance with aspects of the present disclosure.
[0023] Fig.11A A block diagram of an example access point (AP) is shown in accordance with aspects of the present disclosure.
[0024] Fig. 11B A block diagram of an example station (STA) is shown in accordance with aspects of the present disclosure.
[0025] Fig.12 is a flow chart illustrating an example process, such as performed by a wireless device, in accordance with various aspects of the present disclosure.
[0026] Fig.13 A block diagram illustrates an example access point (AP) supporting a machine learning framework for a wireless local area network (WLAN) in accordance with some implementations.
[0027] Fig.14 A block diagram of an example station (STA) supporting a machine learning framework for a WLAN is shown in accordance with some implementations. DETAILED DESCRIPTION
[0028] For the purpose of describing the innovative aspects of the present disclosure, the following description is directed to some specific examples. However, those skilled in the art will readily appreciate that the teachings herein can be applied in a variety of different ways. Some or all of the described examples can be implemented in any device, system, or network capable of sending and receiving radio frequency (RF) signals in accordance with one or more of the following: the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard, the IEEE 802.15 standard, the Bluetooth Special Interest Group (SIG) standard, the Bluetooth SIG ... Standards, or Long Term Evolution (LTE), 3G, 4G or 5G (New Radio (NR)) standards released by the Third Generation Partnership Project (3GPP), etc. The described implementations can be implemented in any device, system or network capable of sending and receiving RF signals according to one or more of the following technologies or methods: Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal FDMA (OFDMA), Single Carrier FDMA (SC-FDMA), Single User (SU) Multiple Input Multiple Output (MIMO) and Multi-User (MU) MIMO. The described implementations can also be implemented using other wireless communication protocols or RF signals suitable for use in one or more of the following: Wireless Personal Area Network (WPAN), Wireless Local Area Network (WLAN), Wireless Wide Area Network (WWAN) or Internet of Things (IOT) network.
[0029] As mentioned above, the 802.11 specification does not currently support the use of machine learning across devices. Proprietary models can be used by individual stations (STAs) or APs, but these models can only be used to optimize features that are yet to be implemented. An example is rate adaptation. The standard does not specify what algorithms the client can use. The client can use heuristic algorithms or machine learning-based techniques. But for applications such as enhanced distributed channel access (EDCA) optimization, the 802.11 specification only allows specified behaviors. Aspects of the present disclosure create a flexible framework in which machine learning models can be used for any 802.11 use case that the access point deems appropriate. Therefore, the access point can share the model across entities in the network.
[0030] Various aspects generally relate to wireless local area networks (WLANs). Some aspects more specifically relate to a machine learning framework for WLANs. In some implementations, a wireless device (such as an access point or station) may transmit machine learning capabilities. For example, a wireless device may advertise support for machine learning for certain use cases. Exemplary use cases include enhanced distributed channel access (EDCA) optimization, interference estimation, rate adaptation, channel state information (CSI) enhancement, and traffic classification. The fields and values for each use case may be standardized. In some aspects, an access point shares use cases with a station during discovery. Announcements of non-access point stations may be sent during or after association.
[0031] The wireless device may advertise one or more machine learning (ML) models for each use case. The advertised machine learning model may indicate the type of machine learning technique and the structure of the machine learning model. Similar to the use case, the standard may define fields and values for each type of machine learning model. In some aspects, the encoding associated with the structure of the machine learning model may be standardized. The access point may advertise the output of the machine learning model and the input features in the machine learning model. The fields and values may be standardized for both the output and input features.
[0032] According to aspects of the present disclosure, a wireless device may advertise a function ID instead of a separate component. In some aspects, a function ID is a representation of a four-element tuple: <use case, ML model, input, output>. The function ID field may be standardized. Of course, the label "function ID" is non-limiting, as other labels may be used instead.
[0033] For each machine learning function (which can be identified by a function ID), the wireless device can advertise the level of machine learning support. For example, an access point can advertise support for proprietary models to non-access point STAs. Access points can also provide downloadable trained models. The support level can include a downloaded model that cannot be retrained by a non-access point. Other support levels are related to the following situations: the downloaded model can be retrained by a non-access point, however, uploading updated models and aggregation is not supported (e.g., no federated learning); and the downloaded model can be retrained by a non-access point and the updated model can be uploaded to the access point (e.g., federated learning).
[0034] In some aspects, a standard specification may define a set of machine learning models for each use case. In these aspects, model parameters may be exchanged over an air interface such as an 802.11 air interface. In other aspects, a specification may define the encoding of the various components of a machine learning algorithm. In other words, the different components of a machine learning model may be standardized. For example, a standard may define the encoding of the name / type of a machine learning model, the structure of a machine learning model, and the parameters of a machine learning model. The specification may also define a model structure, including a machine learning algorithm and model parameters. The parameters depend on the specific algorithm. Each of these components may be exchanged over an air interface (e.g., an 802.11 air interface). In other aspects of the present disclosure, an external standardized interface defines machine learning algorithm components, including machine learning models, structures, and parameters.
[0035] According to aspects of the present disclosure, a specification can standardize an input. In other aspects, a specification can define a set of measurements and a set of operations. In other aspects, a specification can define a combination of a set of standard input features and a set of standard measurements.
[0036] Certain aspects of the subject matter described in this disclosure may be implemented to achieve one or more of the following potential advantages. In some examples, the described techniques (e.g., communicating between access points and non-access point stations based on machine learning models) may be used to (jointly) optimize one or more 802.11 features. These features may be difficult to optimize using conventional (e.g., non-machine learning) techniques. In addition, the downloadable model may help create fairness between users of the machine learning model, for example, by enabling the exchange of machine learning capabilities between access points and non-access point stations, and further ensuring that all non-access point stations use the same downloaded model.
[0037] Figure 1 A block diagram of an example wireless communication network 100 is shown. According to some aspects, the wireless communication network 100 may be an example of a wireless local area network (WLAN) such as a Wi-Fi network (and will be referred to as WLAN 100 hereinafter). For example, the WLAN 100 may be a network that implements at least one of the IEEE 802.11 family of wireless communication protocol standards (such as those defined by the IEEE 802.11-2016 specification or its amendments, including but not limited to 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be). The WLAN 100 may include a plurality of wireless communication devices, such as an access point (AP) 102 and a plurality of stations (STAs) 104. Although only one AP 102 is shown, the WLAN 100 may also include a plurality of APs 102.
[0038] Each of the STAs 104 may also be referred to as a mobile station (MS), a mobile device, a mobile phone, a wireless phone, an access terminal (AT), a user equipment (UE), a subscriber station (SS), or a subscriber unit, etc. The STAs 104 may represent various devices, such as mobile phones, personal digital assistants (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptop computers, display devices (e.g., TVs, computer monitors, navigation systems, etc.), music or other audio or stereo equipment, remote control devices (“remote devices”), printers, kitchen or other home appliances, key cards (e.g., for passive keyless entry and start (PKES) systems), and other examples.
[0039] A single AP 102 and the associated set of STAs 104 may be referred to as a basic service set (BSS) managed by the corresponding AP 102 . Figure 1 Also shown is an example coverage area 108 of the AP 102, which may represent a basic service area (BSA) of the WLAN 100. The BSS may be identified to users by a service set identifier (SSID) and to other devices by a basic service set identifier (BSSID), which may be a medium access control (MAC) address of the AP 102. The AP 102 periodically broadcasts a beacon frame (“beacon”) including the BSSID to enable any STA 104 within the wireless range of the AP 102 to “associate” or re-associate with the AP 102 to establish or maintain a corresponding communication link 106 (hereinafter also referred to as a “Wi-Fi link”) with the AP 102. For example, the beacon may include an identification of a primary channel used by the corresponding AP 102 and a timing synchronization function for establishing or maintaining timing synchronization with the AP 102. The AP 102 may provide access to external networks to the respective STAs 104 in the WLAN 100 via the corresponding communication links 106.
[0040] To establish a communication link 106 with the AP 102, each of the STAs 104 is configured to perform a passive or active scanning operation (“scan”) on frequency channels in one or more frequency bands (e.g., 2.4 GHz, 5.0 GHz, 6.0 GHz, or 60 GHz bands). To perform a passive scan, the STA 104 listens for beacons transmitted by the corresponding AP 102 at periodic time intervals (measured in time units (TUs), one TU being equal to 1024 microseconds (μs)) called target beacon transmission times (TBTTs). To perform an active scan, the STA 104 generates a probe request and sequentially transmits the probe request on each channel to be scanned, and listens for probe responses from the AP 102. Each STA 104 may be configured to identify or select an AP 102 with which to associate based on the scan information obtained through the passive or active scan, and perform authentication and association operations to establish a communication link 106 with the selected AP 102. The AP 102 assigns an association identifier (AID) to the STA 104 at the end of the association operation, and the AP 102 uses the AID to track the STA 104.
[0041] As wireless networks become more popular, a STA 104 may have the opportunity to select one of multiple BSSs within the STA's range, or multiple APs 102 that together form an extended service set (ESS) including multiple connected BSSs. Extended network stations associated with the WLAN 100 may be connected to a wired or wireless distribution system that allows multiple APs 102 to connect in such an ESS. In this way, a STA 104 may be covered by more than one AP 102 and may associate with different APs 102 at different times for different transmissions. In addition, after association with an AP 102, the STA 104 may also be configured to periodically scan the surrounding environment to find a more suitable AP 102 to associate with. For example, a STA 104 that is moving relative to an associated AP 102 may perform a "roaming" scan to find another AP 102 with more desirable network characteristics, such as a larger received signal strength indicator (RSSI) or reduced traffic load.
[0042] In some cases, STA 104 can form a network without AP 102 or other devices except STA 104 itself. An example of such a network is a self-organizing network (or wireless self-organizing network). A self-organizing network can be alternatively referred to as a mesh network or a peer-to-peer (P2P) network. In some cases, a self-organizing network can be implemented in a larger wireless network (such as WLAN 100). In such an implementation, although STA 104 can communicate with each other through AP 102 using a communication link 106, STA 104 can also communicate directly with each other via a direct wireless link 110. In addition, two STAs 104 can communicate via a direct communication link 110, regardless of whether the two STAs 104 are associated with the same AP 102 and served by the same AP 102. In such a self-organizing system, one or more STAs in STA 104 can assume the role played by AP 102 in the BSS. Such STA 104 can be referred to as a group owner (GO), and can coordinate transmissions in the self-organizing network. Examples of direct wireless link 110 include a Wi-Fi direct connection, a connection established by using a Wi-Fi Tunnel Direct Link Setup (TDLS) link, and other P2P group connections.
[0043] The AP 102 and the STA 104 may operate and communicate (via corresponding communication links 106) in accordance with the IEEE 802.11 family of wireless communication protocol standards (such as those defined by the IEEE 802.11-2016 specification or its amendments, including but not limited to 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be). These standards define WLAN radio and baseband protocols for the physical (PHY) and medium access control (MAC) layers. The AP 102 and the STA 104 send and receive wireless communications in the form of PHY protocol data units (PPDUs) (or physical layer convergence protocol (PLCP) PDUs) to and from each other (hereinafter also referred to as "Wi-Fi communications"). The AP 102 and STA 104 in the WLAN 100 can send PPDUs on an unlicensed spectrum, which can be a portion of a spectrum that includes frequency bands traditionally used by Wi-Fi technology, such as the 2.4 GHz band, the 5 GHz band, the 60 GHz band, the 3.6 GHz band, and the 900 MHz band. Some implementations of the AP 102 and STA 104 described herein can also communicate in other frequency bands (such as the 6 GHz band) that can support both licensed and unlicensed communications. The AP 102 and STA 104 can also be configured to communicate in other frequency bands such as shared licensed bands, where multiple operators may have licenses to operate in the same or overlapping frequency band or bands.
[0044] Each of these frequency bands may include multiple sub-bands or multiple frequency channels. For example, PPDUs that comply with IEEE 802.11n, 802.11ac, 802.11ax, and 802.11be standard revisions may be sent on 2.4, 5 GHz, or 6 GHz frequency bands, each of which is divided into multiple 20 MHz channels. Thus, these PPDUs are sent on a physical channel with a minimum bandwidth of 20 MHz, but larger channels may be formed by channel bonding. For example, a PPDU may be sent on a physical channel with a bandwidth of 40 MHz, 80 MHz, 160 MHz, or CCC20 MHz by bonding multiple 20 MHz channels together.
[0045] Each PPDU is a composite structure including a PHY preamble and a payload in the form of a PHY service data unit (PSDU). The information provided in the preamble can be used by the receiving device to decode subsequent data in the PSDU. In an instance where a PPDU is sent on a bonded channel, the preamble field can be copied and sent in each component channel in a plurality of component channels. The PHY preamble may include both a traditional part (or "traditional preamble") and a non-traditional part (or "non-traditional preamble"). Traditional preambles can be used for packet detection, automatic gain control, and channel estimation, as well as other purposes. Traditional preambles can also be used to maintain compatibility with traditional devices. The format, encoding, and information provided therein of the non-traditional part of the preamble are based on the specific IEEE 802.11 protocol to be used to send the payload.
[0046] Figure 2 An example protocol data unit (PDU) 200 that can be used for wireless communication between an AP 102 and one or more STAs 104 is shown. For example, the PDU 200 can be configured as a PPDU. As shown, the PDU 200 includes a PHY preamble 202 and a PHY payload 204. For example, the preamble 202 can include a legacy portion, which itself includes a legacy short training field (L-STF) 206 that can be composed of two binary phase shift keying (BPSK) symbols, a legacy long training field (L-LTF) 208 that can be composed of two BPSK symbols, and a legacy signal field (L-SIG) 210 that can be composed of two BPSK symbols. The legacy portion of the preamble 202 can be configured according to the IEEE 802.11a wireless communication protocol standard. The preamble 202 can also include a non-legacy portion, which includes, for example, one or more non-legacy fields 212 that comply with an IEEE wireless communication protocol (such as IEEE 802.11ac, 802.11ax, 802.11be, or a later wireless communication protocol).
[0047] The L-STF 206 generally enables the receiving device to perform coarse timing and frequency tracking and automatic gain control (AGC). The L-LTF 208 generally enables the receiving device to perform fine timing and frequency tracking, and can also perform an initial estimation of the wireless channel. The L-SIG 210 generally enables the receiving device to determine the duration of the PDU, and uses the determined duration to avoid sending over the PDU. For example, the L-STF 206, L-LTF 208, and L-SIG 210 can be modulated according to a binary phase shift keying (BPSK) modulation scheme. The payload 204 can be modulated according to a BPSK modulation scheme, an orthogonal BPSK (Q-BPSK) modulation scheme, an orthogonal amplitude modulation (QAM) modulation scheme, or another appropriate modulation scheme. The payload 204 may include a PSDU, which includes a data field (DATA) 214, which in turn may carry, for example, higher layer data in the form of a medium access control (MAC) protocol data unit (MPDU) or an aggregated MPDU (A-MPDU).
[0048] Figure 3 Show Figure 2 2. An example L-SIG 300 in a PDU 200 of FIG. 20. The L-SIG 300 includes a data rate field 302, reserved bits 304, a length field 306, parity bits 308, and a tail field 310. The data rate field 302 indicates the data rate (note that the data rate indicated in the data rate field 302 may not be the actual data rate of the data carried in the payload 204). The length field 306 indicates the length of the packet in units of, for example, symbols or bytes. The parity bits 308 can be used to detect bit errors. The tail field 310 includes tail bits that can be used by a receiving device to terminate the operation of a decoder (e.g., a Viterbi decoder). The receiving device can use the data rate and length indicated in the data rate field 302 and the length field 306 to determine the duration of the packet in units of, for example, microseconds (μs) or other time units.
[0049] In some aspects, the access point 102 and the station 104 may include means for transmitting, means for receiving, means for communicating, and means for advertising. Such means may include reference Figure 1 , 2 , 4, 10, 11A and 11B discussed one or more components of the access point 102 and the station 104.
[0050] Figure 4An example implementation of a system on chip (SOC) 400 is shown, which may include a central processing unit (CPU) 402 or a multi-core CPU configured to generate gradients for neural network training according to certain aspects of the present disclosure. The SOC 400 may be included in the access point 102 and the station 104. Variables (e.g., neural signals and synaptic weights), system parameters associated with a computing device (e.g., a neural network with weights), delays, frequency band information, and task information may be stored in a memory block associated with a neural processing unit (NPU) 408, a memory block associated with the CPU 402, a memory block associated with a graphics processing unit (GPU) 404, a memory block associated with a digital signal processor (DSP) 406, a memory block 418, or may be distributed across multiple blocks. Instructions executed at the CPU 402 may be loaded from a program memory associated with the CPU 402 or may be loaded from the memory block 418.
[0051] The SOC 400 may also include additional processing blocks customized for specific functions, such as a GPU 404, a DSP 406, a connection block 410 (which may include a fifth generation (5G) connection, a fourth generation long term evolution (4G LTE) connection, a Wi-Fi connection, a USB connection, a Bluetooth connection, etc.), and a multimedia processor 412 that may, for example, detect and recognize gestures. In one implementation, the NPU is implemented in the CPU, DSP, and / or GPU. The SOC 400 may also include a sensor processor 414, an image signal processor (ISP) 416, and / or a navigation module 420 (which may include a global positioning system).
[0052] The SOC 400 may be based on the ARM instruction set. In one aspect of the present disclosure, the instructions loaded into the general processor 402 may include code for sending a first message indicating a first machine learning capability of the first wireless device. The instructions loaded into the general processor 402 may also include code for receiving a second message indicating a second machine learning capability of the second wireless device from a second wireless device. The instructions loaded into the general processor 402 may also include code for transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability. The instructions loaded into the general processor 402 may also include code for communicating with the second wireless device based at least in part on the machine learning model.
[0053] Deep learning architectures can perform object recognition tasks by learning to represent the input at successively higher levels of abstraction in each layer, thereby building up useful feature representations of the input data. In this way, deep learning addresses a major bottleneck of traditional machine learning. Before the advent of deep learning, machine learning approaches to object recognition problems might rely heavily on human-engineered features, perhaps combined with shallow classifiers. A shallow classifier could be a two-class linear classifier, for example, where a weighted sum of the components of a feature vector can be compared to a threshold to predict which class the input belongs to. Human-engineered features can be templates or kernels that are customized for a specific problem domain by engineers with domain expertise. In contrast, deep learning architectures can learn to represent features that are similar to those that a human engineer might design, but are learned through training. In addition, deep networks can learn to represent and recognize new types of features that humans might not have considered.
[0054] Deep learning architectures can learn hierarchies of features. For example, if presented with visual data, the first layer can learn to recognize relatively simple features in the input stream, such as edges. In another example, if presented with auditory data, the first layer can learn to recognize spectral power in specific frequencies. A second layer, which takes the output of the first layer as input, can learn to recognize combinations of features, such as simple shapes for visual data or combinations of sounds for auditory data. For example, higher layers can learn to represent complex shapes in visual data, or represent words in auditory data. Even higher layers can learn to recognize common visual objects or spoken phrases.
[0055] Deep learning architectures can perform particularly well when applied to problems that have a natural hierarchical structure. For example, the classification of motor vehicles can benefit from first learning to recognize wheels, windshields, and other features. These features can be combined in different ways at higher layers to recognize cars, trucks, and airplanes.
[0056] Neural networks can be designed to have a variety of connectivity patterns. In a feedforward network, information is passed from a lower layer to a higher layer, where each neuron in a given layer transmits to a neuron in a higher layer. Hierarchical representations can be constructed in successive layers of a feedforward network, as described above. Neural networks can also have loops or feedback (also referred to as top-down) connections. In a loop connection, the output from a neuron in a given layer can be transmitted to another neuron in the same layer. The loop architecture can help identify patterns that span more than one data block in the input data blocks that are sequentially passed to the neural network. The connection from a neuron in a given layer to a neuron in a lower layer is called a feedback (or top-down) connection. When the recognition of high-level concepts can assist in distinguishing specific low-level features of the input, a network with many feedback connections may be helpful.
[0057] The connections between layers of a neural network can be fully connected or partially connected. Figure 5A An example of a fully connected neural network 502 is shown. In the fully connected neural network 502, neurons in a first layer may transmit outputs to each neuron in a second layer, such that each neuron in the second layer will receive inputs from each neuron in the first layer. Figure 5B An example of a locally connected neural network 504 is shown. In the locally connected neural network 504, neurons in a first layer may be connected to a limited number of neurons in a second layer. More generally, the locally connected layers of the locally connected neural network 504 may be configured such that each neuron in the layer will have the same or similar connectivity pattern, but the connection strengths may have different values (e.g., 510, 512, 514, and 516). The locally connected connectivity patterns may give rise to spatially different receptive fields in higher layers because higher layer neurons in a given region may receive inputs that are tuned through training to the characteristics of a limited portion of the total input to the network.
[0058] An example of a locally connected neural network is a convolutional neural network. Figure 5C An example of a convolutional neural network 506 is shown. The convolutional neural network 506 can be configured so that the connection strengths associated with the inputs for each neuron in the second layer are shared (e.g., 508). Convolutional neural networks can be well suited for problems where the spatial location of the inputs is meaningful.
[0059] One type of convolutional neural network is a deep convolutional network (DCN). Figure 5D A detailed example of a DCN 500 is shown, which is designed to recognize visual features based on an image 526 input from an image capture device 530 (such as a vehicle-mounted camera). The DCN 500 of the current example can be trained to recognize traffic signs and numbers provided on traffic signs. Of course, the DCN 500 can be trained for other tasks, such as recognizing lane markings or recognizing traffic lights.
[0060] The DCN 500 may be trained using supervised learning. During training, an image (such as an image 526 of a speed limit sign) may be presented to the DCN 500, and a forward pass may then be calculated to produce an output 522. The DCN 500 may include a feature extraction portion and a classification portion. Upon receiving the image 526, a convolutional layer 532 may apply a convolutional kernel (not shown) to the image 526 to generate a first feature map set 518. As an example, the convolutional kernel used for the convolutional layer 532 may be a 5x5 kernel that generates a 28x28 feature map. In this example, because four different feature maps are generated in the first feature map set 518, four different convolutional kernels are applied to the image 526 at the convolutional layer 532. A convolutional kernel may also be referred to as a filter or a convolutional filter.
[0061] The first feature map set 518 may be subsampled by a max pooling layer (not shown) to generate a second feature map set 520. The max pooling layer reduces the size of the first feature map set 518. That is, the size of the second feature map set 520 (e.g., 14x14) is smaller than the size of the first feature map set 518 (e.g., 28x28). The reduced size provides similar information to subsequent layers while reducing memory consumption. The second feature map set 520 may be further convolved via one or more subsequent convolutional layers (not shown) to generate one or more subsequent feature map sets (not shown).
[0062] exist Figure 5D In the example of , the second feature map set 520 is convolved to generate a first feature vector 524. In addition, the first feature vector 524 is further convolved to generate a second feature vector 528. Each feature of the second feature vector 528 can include a number corresponding to a possible feature of the image 526 (such as "sign", "60", and "100"). A softmax function (not shown) can convert the numbers in the second feature vector 528 into probabilities. As such, the output 522 of the DCN 500 is the probability that the image 526 includes one or more features.
[0063] In this example, the probability of "logo" and "60" in output 522 is higher than the probability of other items (such as "30", "40", "50", "70", "80", "90", and "100") of output 522. Before training, the output 522 produced by DCN 500 may be incorrect. Therefore, the error between the output 522 and the target output can be calculated. The target output is the ground truth value of image 526 (e.g., "logo" and "60"). The weights of DCN 500 can then be adjusted so that the output 522 of DCN 500 is more closely aligned with the target output.
[0064] To adjust the weights, the learning algorithm may calculate a gradient vector for the weights. The gradient may indicate the amount by which the error will increase or decrease if the weights are adjusted. At the top layer, the gradient may directly correspond to the value of the weights connecting the activated neurons in the penultimate layer and the neurons in the output layer. In lower layers, the gradient may depend on the value of the weights and the calculated error gradients of the higher layers. The weights may then be adjusted to reduce the error. This manner of adjusting weights may be referred to as "backward propagation" because it involves a "backward pass" through the neural network.
[0065] In practice, the error gradient of the weights can be calculated on a small number of examples so that the calculated gradient approximates the true error gradient. This approximation method can be called stochastic gradient descent. Stochastic gradient descent can be repeated until the achievable error rate of the entire system has stopped decreasing or until the error rate has reached a target level. After learning, a new image (e.g., a speed limit sign of image 526) can be presented to the DCN, and a forward pass through the network can produce an output 522 that can be considered an inference or prediction of the DCN.
[0066] A deep belief network (DBN) is a probabilistic model comprising multiple layers of hidden nodes. A DBN can be used to extract a hierarchical representation of a training data set. A DBN can be obtained by superimposing a layer of a restricted Boltzmann machine (RBM). RBM is a class of artificial neural networks that can learn probability distributions over a set of inputs. Since RBMs can learn probability distributions without information about the class to which each input should be classified, RBMs are often used for unsupervised learning. Using a hybrid unsupervised and supervised paradigm, the bottom RBM of a DBN can be trained in an unsupervised manner and can be used as a feature extractor, and the top RBM can be trained in a supervised manner (based on the joint distribution of the input and target class from the previous layer) and can be used as a classifier.
[0067] A deep convolutional network (DCN) is a network of convolutional networks that is configured with additional pooling and normalization layers. DCNs have achieved state-of-the-art performance on many tasks. DCNs can be trained using supervised learning, where both the input and output targets are known for many examples and used to modify the weights of the network by using a gradient descent method.
[0068] The DCN can be a feed-forward network. In addition, as described above, the connections from the neurons in the first layer of the DCN to the groups of neurons in the next higher layer are shared across the neurons in the first layer. The feed-forward and shared connections of the DCN can be utilized for fast processing. For example, the computational burden of the DCN can be much smaller than that of a neural network of similar size that includes loops or feedback connections.
[0069] The processing of each layer of the convolutional network can be thought of as a spatially invariant template or basis projection. If the input is first decomposed into multiple channels, such as the red, green, and blue channels of a color image, the convolutional network trained on the input can be thought of as three-dimensional, with two spatial dimensions along the axis of the image and a third dimension that captures color information. The output of the convolutional connection can be thought of as forming a feature map in a subsequent layer, where each element of the feature map (e.g., 220) receives input from a series of neurons in the previous layer (e.g., feature map 218) and from each of the multiple channels. Nonlinearities can be used to further process the values in the feature map, such as correction, max (0, x). Values from neighboring neurons can be further pooled, which corresponds to downsampling and can provide additional local invariance and dimensionality reduction. Normalization (which corresponds to whitening) can also be applied by lateral inhibition between neurons in the feature map.
[0070] The performance of deep learning architectures can increase as more labeled data points become available or as computing power increases. Modern deep neural networks are routinely trained with thousands of times more computing resources than were available to a typical researcher 15 years ago. New architectures and training paradigms can further improve the performance of deep learning. Rectified linear units can reduce the training problem known as vanishing gradients. New training techniques can reduce overfitting and therefore enable larger models to achieve better generalization. Encapsulation techniques can abstract data within a given receptive field and further improve overall performance.
[0071] Figure 6 6 is a block diagram illustrating a deep convolutional network 650. The deep convolutional network 650 may include multiple different types of layers based on connectivity and weight sharing. Figure 6 As shown in FIG. 6 , the deep convolution network 650 includes convolution blocks 654A and 654B. Each of the convolution blocks 654A and 654B may be configured with a convolution layer (CONV) 656 , a normalization layer (LNorm) 658 , and a maximum pooling layer (MAX POOL) 660 .
[0072] The convolution layer 656 may include one or more convolution filters that may be applied to the input data to generate a feature map. Although only two convolution blocks 654A, 654B are shown, the present disclosure is not limited thereto, and alternatively, any number of convolution blocks 654A, 654B may be included in the deep convolution network 650 according to design preferences. The normalization layer 658 may normalize the output of the convolution filter. For example, the normalization layer 658 may provide whitening or lateral suppression. The maximum pooling layer 660 may provide spatial downsampling aggregation for local invariance and dimensionality reduction.
[0073] For example, the parallel filter bank of the deep convolutional network can be loaded on the CPU 402 or GPU 404 of the SOC 400 to achieve high performance and low power consumption. In an alternative embodiment, the parallel filter bank can be loaded on the DSP 406 or ISP 416 of the SOC 400. In addition, the deep convolutional network 650 can access other processing blocks that may exist on the SOC 400, such as the sensor processor 414 and the navigation module 420 dedicated to sensors and navigation, respectively.
[0074] The deep convolutional network 650 may also include one or more fully connected layers 662 (FC1 and FC2). The deep convolutional network 650 may also include a logistic regression (LR) layer 664. Between each layer 656, 658, 660, 662, 664 of the deep convolutional network 650 are weights (not shown) to be updated. The output of each layer in the layer (e.g., 656, 658, 660, 662, 664) can be used as an input to a subsequent layer in the layer (e.g., 656, 658, 660, 662, 664) in the deep convolutional network 650 to learn hierarchical feature representations based on the input data 652 (e.g., image, audio, video, sensor data, and / or other input data) supplied at the first convolutional block in the convolutional block 654A. The output of the deep convolutional network 650 is a classification score 666 for the input data 652. The classification score 666 can be a set of probabilities, where each probability is a probability of the input data (including a feature from a feature set).
[0075] Figure 7 is a block diagram of a high-level machine learning model according to various aspects of the present disclosure. Figure 7 A machine learning (ML) model is specified by: X – input; Y – output; f – underlying function, such that Y = f(X). For example, the input can be measurements and preprocessing steps, and the output can be characteristics of the Wi-Fi feature to be optimized. From a data set D = {X, Y}, the machine learning model learns a mapping f: X→Y. In other words, the machine learning model acts as a function approximator. In one example, when the input X is a vector of observations including a received signal strength indicator (RSSI), a packet data radio (PDR), and multiple overlapping basic service sets (OBSS), the output Y can be an optimal uplink modulation and coding scheme (MCS) index.
[0076] Machine learning paradigms include supervised learning, unsupervised learning, and reinforcement learning. For supervised learning, an annotated dataset, such as labeled images, is given. In case of supervised learning, data collection is an offline process. The goal of supervised learning is to learn the mapping between annotated datasets and labels. However, collecting annotated data is a challenge for supervised learning. Examples of supervised learning models include neural networks, decision trees, support vector machines (SVM), etc. For unsupervised learning, the data is not annotated. Therefore, unsupervised learning tries to find patterns and insights. An example of an unsupervised learning technique is clustering.
[0077] Figure 8 804. The system also includes a state S t 、Action A t and reward R t , where t represents the time step. The goal of reinforcement learning is to learn strategies, such as from state S t To action S t The agent 802 can learn through experience by taking actions and observing rewards. Example reinforcement learning techniques include deep Q-networks, policy gradients, etc.
[0078] There are multiple levels of machine learning use and collaboration. In other words, there is a hierarchy where the machine learning model and model data are located. For example, both the model and the data can be stored locally. In another example, the model is local, but the locally stored data and the data requested from other devices in the BSS are used for training, so that standards can be applied to data exchange. For example, an access point (AP) can request measurements from an associated station (STA). In another level of the hierarchy, the model is local, but transmitted between the access point and the station. For example, the station can download the model structure and parameters from the access point. Model refinement can be allowed, but the refined model remains local in this hierarchy level. For example, in this level of the hierarchy, the data is local and requested, and the standard can be applied to data exchange, model definition, and model transmission. In another hierarchy level, the model is shared, so that the station and the access point exchange model structure and parameters. In this hierarchy level, the model is refined and shared, and the data is local and requested. Standards can be applied to data exchange, model definition, and model transmission in this hierarchy level.
[0079] Although aspects of the present disclosure are described with respect to supervised learning models, the present disclosure is not limited thereto. For example, reinforcement learning schemes (e.g., deep Q-learning) as well as unsupervised models are also contemplated.
[0080] Fig. 9A is a table of examples of machine learning capabilities of wireless devices according to various aspects of the present disclosure. In these aspects of the present disclosure, a wireless device (such as an access point or station) can transmit machine learning capabilities. The combination of use cases, machine learning models, outputs, and inputs can form a machine learning function. Each machine learning function provided by an access point is uniquely identified by a function ID value assigned to the function by the access point.
[0081] As an example of communicating machine learning capabilities, the access point may advertise use cases for which the access point supports machine learning. Exemplary use cases include enhanced distributed channel access (EDCA) optimization, interference estimation, rate adaptation, channel state information (CSI) enhancement, and traffic classification. Fig. 9A In the example shown, the access point supports Enhanced Distributed Channel Access (EDCA) optimization and traffic classification (as seen in the second column of the table). Each use case can be indicated using a binary representation. Fig. 9A In the example of , EDCA optimization is represented by 0001 and traffic classification is represented by 1001, but these values are exemplary only. The fields and values of each use case can be standardized. In some aspects, the access point shares the use case with the station during discovery. The use case may also be referred to as a descriptor or feature ID. An announcement may refer to a broadcast or otherwise transmitted message.
[0082] The access point can advertise one or more machine learning models for each use case. The advertised machine learning model is a type of learning technology and structure. For example, for the first business classification use case, Fig. 9A The table in shows a random forest technique with 20 decision trees, each with a maximum depth of seven. Another example is a deep neural network (DNN) with three hidden layers, each with 50 neurons. Fig. 9A In the example of , the access point advertises the DNN model for the second service classification use case. Fig. 9A For EDCA optimization shown, the access point advertises a decision tree with a maximum depth of seven. Similar to the use cases, the standard can define fields and values for each type of machine learning model. Fig. 9A In the example of , the decision tree is represented by 01001, the random forest is represented by 01000, and the DNN is represented by 10000, but these values are only example values. In some aspects, the structure of the machine learning model can have a standardized encoding.
[0083] Access points can advertise the output of machine learning models. For example, for Fig. 9AIn the EDCA optimization use case shown, the model can output the maximum contention window CW_max and the minimum contention window CW_min for video and voice access categories (AC_VI and AC_VO). For the random forest service classification model, Fig. 9A In the example of , the access point advertises six dimensions and probability values for six Differentiated Services Code Points (DSCPs). For the DNN, the access point advertises outputs with ten dimensions of probability values for ten DSCPs. The fields and values may be standardized for the outputs.
[0084] The access point can advertise the input features of the machine learning model. For example, for Fig. 9A In the EDCA optimization use case shown, the access point advertises fifteen inputs and the encoding of the features. Example inputs may include measured loss rate and measured throughput. In the traffic classification example, the access point advertises five and eight input features and the encoding of the features, respectively. Example inputs may include maximum packet size and minimum inter-arrival time. Fields and values may be standardized for input features.
[0085] Fig. 9A The first column shows the function ID. According to aspects of the present disclosure, the function ID is a representation of a four-element tuple: <descriptor, ML model, input, output>. The function ID is a unique identifier for the machine learning function supported by the access point. The fields may be standardized, where the values are assigned by the access point. An access point may support a limited number of functions, each with a unique function ID. Fig. 9A In the example of , the EDCA use case has a functional ID of zero, while the traffic classification use cases have values of two and three, respectively.
[0086] As mentioned above, the wireless specification (e.g., 802.11) can standardize some machine learning information. For example, each use case can have a unique descriptor, and the descriptor can be standardized in the specification (e.g., traffic prediction = 0001, rate adaptation = 0010, etc.). The descriptor can be shared by the access point with non-access point stations during discovery.
[0087] In some aspects, partial information of a machine learning model may be shared by an access point during discovery. The complete information may be shared during setup or thereafter. A complete description of a machine learning model includes (i) a model name (e.g., type), (ii) a model structure, and (iii) model parameters. Options for standardizing these components are now discussed.
[0088] In some aspects, the specification may define a set of machine learning models for each use case. For example, for a particular use case, the specification may define a random forest model with a fixed structure. In these aspects, model parameters may be exchanged over an air interface such as an 802.11 air interface.
[0089] In other aspects, the specification may define the encoding of the various components used for the machine learning algorithm. In other words, the different components of the machine learning model may be standardized. For example, the standard may define the name / type of the machine learning model, the structure of the machine learning model, and the encoding of the machine learning model parameters. The model type may be a candidate set of machine learning models (e.g., random forest (RF), deep neural network (DNN), convolutional neural network (CNN), recursive neural network (RNN)). Each type may be assigned an identifier (e.g., RF=0001, DNN=0010, etc.). The specification may also define the model structure, including the machine learning algorithm and the model parameters. Each of these components may be exchanged over an air interface (e.g., an 802.11 air interface). Parameters may be carried in elements and frames. An example of a parameter is the weight of a neural network for training.
[0090] In other aspects of the present disclosure, external standardized interfaces define machine learning algorithm components, including machine learning models, structures, and parameters. For example, Predictive Model Markup Language (PMML) or Open Neural Network Exchange (ONNX) can be used to define components. In these aspects, the exchange of model types, structures, and parameters can occur via an air interface (e.g., 802.11), or an access point can provide a universal resource locator (URL) of an external server to enable a station to download information.
[0091] According to various aspects of the present disclosure, the specification can standardize the input. In some aspects, a set of standard input features can be defined, such as maximum loss rate, average RSSI, etc. As described above, these aspects may be appropriate when the machine learning model (including the structure) is also standardized.
[0092] In other aspects, the specification may define a set of measurements (e.g., RSSI, throughput, loss rate) and a set of operations (e.g., maximum, average, last known value, etc.). In these aspects, the input features to the machine learning model may be represented as one or more operations on the measurements (e.g., average RSSI, maximum loss rate, last known MCS). As described above, these aspects may be appropriate when encodings for machine learning models and structures are used (in 802.11 or external standards).
[0093] In other aspects, the specification may define a combination of a standard set of input features and a standard set of measurements. In these aspects, the specification may define a standard set of inputs, and additional inputs may be selected by the access point using, for example, when the standard defines a set of measurements and operations, as described above. Information related to the inputs to the machine learning model may be shared after setup.
[0094] The specification may define a set of candidate outputs for a use case. In some aspects, an access point may support only a subset of these outputs. For example, for EDCA optimization, the standard may define CW_min, CW_max, arbitration interframe space (AIFS), transmission opportunity limit (TXOPLimit) for access categories video, voice, background traffic, and best effort traffic (AC_VI, AC_VO, AC_BK, AC_BE) as sixteen potential outputs. Fig. 9A In the example of , an access point supporting EDCA optimization only provides CW_min and CW_max for AC_VI and AC_VO as output. In other aspects, the specification can define a set of output variables and a set of operations on the output variables (similar to what is described above with respect to inputs). Information about the output of the machine learning model can be shared after setup.
[0095] Fig. 9B is a call flow diagram of a machine learning framework for a wireless local area network (WLAN) in accordance with aspects of the present disclosure. The capability exchange between an access point and a non-access point station will now be described in more detail. In accordance with aspects of the present disclosure, an access point may advertise use cases (e.g., EDCA optimization, interference estimation, traffic classification) supported for machine learning. For example, Fig. 9B As can be seen in FIG. 1 , at 910, access point 102 sends a message indicating its machine learning capabilities. Each access point can advertise multiple machine learning models for the same use case (e.g., random forest and DNN for traffic classification, such as Fig. 9A For each machine learning capability (which can be identified by a capability ID), the access point advertises the level of machine learning support. For example, an access point can advertise support for proprietary models to non-access point STAs. That is, non-access point stations can use proprietary models to optimize WLAN features that are otherwise specified in the standard. Access points can also provide downloadable training models. Back to reference Fig. 9A, these support levels can include downloaded models that cannot be retrained by non-access points, as seen with EDCA optimization. This support level can be selected when fairness with legacy stations that do not use machine learning is a concern. Other support levels for traffic classification can be seen. In the first level, the downloaded model can be retrained by non-access points, but uploading updated models and aggregation are not supported (e.g., no federated learning). In the second level, the downloaded model can be retrained by non-access points, and the updated model can be uploaded to the access point (e.g., federated learning). This level can be seen in the last row of the traffic classification use case (with DNN).
[0096] For multi-link device (MLD) access points, the supported use cases, machine learning models, or parameters may be different on different links. Access point advertisements can be sent by an access point before, during, or after association.
[0097] Non-access point stations can also send advertisements. For example, Fig. 9B As seen, at 920, the non-access point station 104 may send a message indicating the machine learning capabilities of the station 104. The non-access point station may, for example, use a traffic classification model to indicate the use cases of interest. The non-access point station may advertise support for certain machine learning models, measurements, and operations. In one example, the non-access point station may support a random forest model but not a DNN. As another example, the non-access point station may support basic operations but not a fast Fourier transform (FFT).
[0098] Examples of operations include basic operations, statistical operations, and signal processing operations. Basic operations may include, for example, sampling, such as sampling with a specified observation window and sampling interval; logarithm, such as logarithm with a specified base; last known value; and / or count attribute, such as count attribute with a specified observation window. Statistical operations may include, for example, averaging, such as averaging with a specified observation window; and / or quantile operations, such as quantile operations with a specified observation window and quantile. Examples of signal processing operations include Fast Fourier Transform (FFT), such as an FFT with a specified size.
[0099] The non-access point station may indicate computing capabilities (e.g., hardware acceleration and million instructions per second (MIPS) constraints) and location relative to the access point. The non-access point station may also indicate mobility information, such as mobility class (e.g., walking or stationary) and the environment of the station (e.g., residential, outdoor, or stadium).
[0100] Non-AP stations can choose from the same four levels of support as APs. For example, for one of the levels, a non-AP station can indicate that the non-AP supports using downloaded models but does not support retraining downloaded models. For MLD non-APs, the supported use cases and machine learning models may be different on different links. These announcements by non-APs can be sent during or after association.
[0101] Refer again Fig. 9B At 930, the access point may transmit information associated with a machine learning model for use between the access point 102 and the station 104 based on the exchanged capabilities messages. In some aspects, partial information of the machine learning model may be shared by the access point during discovery. The complete information may be shared during or after setup. The complete description of the machine learning model includes (i) a model name (e.g., type), (ii) a model structure, and (iii) model parameters. In various aspects of the present disclosure, the exchange of model types, structures, and parameters may occur via an air interface (e.g., 802.11), or the access point may provide a universal resource locator (URL) of an external server to enable the station to download the information.
[0102] At 940, the access point 102 and the station 104 may communicate based on the machine learning model. For example, the machine learning model may be used for enhanced distributed channel access (EDCA) optimization, interference estimation, rate adaptation, channel state information (CSI) enhancement, and traffic classification. The use of the machine learning model may be implemented by the BSS of the access point, including by the station 104, which may not have the ability to train complex models. Machine learning techniques may be used to (jointly) optimize one or more 802.11 features that may be difficult to optimize using conventional (e.g., non-machine learning) techniques. For example, rate adaptation is a complex problem involving the interaction of several 802.11 parameters (bandwidth, number of spatial streams, MCS, etc.), and machine learning may be used to jointly optimize these parameters.
[0103] According to aspects of the present disclosure, the inputs to the machine learning model can be described as building blocks including a set of measurements or observations and a set of operations. Examples of measurements include radio statistics such as received signal strength indication (RSSI), number of spatial streams, modulation and coding scheme (MCS), number of channels, number of retransmissions, handover / association failures (with reason codes if available), number of successful triggered transmissions (e.g., number of triggered PPDUs) versus total packets transmitted (number of single-user (SU) PPDUs), number of request to send / clear to send (RTS / CTS) exchanges, RSSI of neighboring access points, multi-user (MU) order, number and packet error rate (PER) of MU multiple-input multiple-output (MIMO) PPDUs, number and PER of MU orthogonal frequency division multiplexing access (OFDMA) PPDUs, and power control parameters (e.g., allowed transmit power).
[0104] Other measurements involve medium statistics, such as congestion statistics (e.g., busy status, number of collisions), number of neighboring access points, (SU / MU) EDCA value, whether spatial reuse (SR) is enabled, and overlapping basic service set / preamble detection (OBS-PD) threshold.
[0105] In addition, other measurements involve application and usage statistics, such as delay statistics, packet size distribution, user activity per hour (for energy saving), user's speed (if available), residential or enterprise environment (if known), and requested Quality of Service (QoS) value / Admission Control (AC) / latency.
[0106] Some measurements may involve device version, capabilities, and status. Examples include which revision (e.g., specification name), Wi-Fi capabilities, remaining battery charge state, and authentication type.
[0107] Using these building blocks, any arbitrary input feature can be described. For any given measurement, zero or more operations can be performed. In a first example, where the feature of the machine learning model is the downlink aggregate packet size, the measurement can be the downlink packet size, and the operation can be a sum operation with a specified observation window. In a second example, where the feature of the machine learning model is the maximum packet size, the measurement can be the downlink packet size, and the operation can be a quantile operation with a specified observation window and quantile (e.g., 100). In a third example, where the feature of the machine learning model is a 512-point FFT, the measurement can be the downlink packet size. In the third example, the three operations can be: sampling with a specified observation window and sampling interval, summing with a specified observation window, and performing an FFT with a specified size.
[0108] By enabling machine learning, access point (AP) and station (STA) communications can be improved. In some examples, the described techniques (e.g., communication between access points and non-access point stations based on machine learning models) can be used to (jointly) optimize one or more 802.11 features. These features may be difficult to optimize using conventional (e.g., non-machine learning) techniques. In addition, the downloadable model can help create fairness between users of the machine learning model.
[0109] Fig.10 1 is a block diagram of an example wireless communication device 1000 according to various aspects of the present disclosure. In some implementations, the wireless communication device 1000 may be a device for communicating with a STA (e.g., referring to Figure 1 In some implementations, the wireless communication device 1000 may be an example of a device used in an AP (such as the STA 104 described above). Figure 1 The wireless communication device 1000 is an example of a device used in an AP in the AP 102 described above. The wireless communication device 1000 is capable of sending and receiving wireless communications, for example, in the form of wireless packets. For example, the wireless communication device 1000 can be configured to send and receive packets in the form of physical layer convergence protocol (PLCP) protocol data units (PPDUs) and medium access control (MAC) protocol data units (MPDUs) that comply with IEEE 802.11 wireless communication protocol standards (such as standards defined by the IEEE 802.11-2016 specification or its amendments, including but not limited to 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be).
[0110] The wireless communication device 1000 may be or may include the following: a chip, a system on chip (SoC), a chipset, a package, or a device including one or more modems 1002 (e.g., a Wi-Fi (IEEE 802.11 compliant) modem). In some implementations, the one or more modems 1002 (collectively referred to as "modems 402") additionally include a wireless wide area network (WWAN) modem (e.g., a 3GPP 4G LTE or 5G compliant modem). In some implementations, the wireless communication device 1000 also includes one or more processors, processing blocks, or processing elements 1004 (collectively referred to as "processors 1004") coupled to the modem 1002. In some implementations, the wireless communication device 1000 additionally includes one or more radio units 1006 (collectively referred to as "radio units 1006") coupled to the modem 1002. In some implementations, the wireless communication device 1000 also includes one or more memory blocks or elements 1008 (collectively referred to as "memory 1008") coupled to the processor 1004 or the modem 1002.
[0111] Modem 1002 may include intelligent hardware blocks or devices, such as application specific integrated circuits (ASICs) and the like. Modem 1002 is typically configured to implement a PHY layer, and in some implementations, also implements a portion of a MAC layer (e.g., a hardware portion of a MAC layer). For example, modem 1002 is configured to modulate packets and output the modulated packets to radio unit 1006 for transmission over a wireless medium. Modem 1002 is similarly configured to obtain modulated packets received by radio unit 1006, and demodulate the packets to provide demodulated packets. In addition to modulators and demodulators, modem 1002 may also include digital signal processing (DSP) circuits, automatic gain control (AGC) circuits, encoders, decoders, multiplexers, and demultiplexers. For example, when in transmission mode, data obtained from processor 1004 may be provided to an encoder, which encodes the data to provide encoded bits. The coded bits may then be mapped to multiple network slice subnets (NSS) for spatially multiplexed spatial streams or multiple space-time streams for space-time block coding (STBC). The coded bits in the stream are then mapped to points in a modulation constellation (using the selected MCS) to provide modulated symbols. The modulated symbols in the corresponding spatial stream or space-time stream may be multiplexed, transformed via an inverse fast Fourier transform (IFFT) block, and then provided to a DSP circuit (e.g., for Tx windowing and filtering). The digital signal may then be provided to a digital-to-analog converter (DAC). The resulting analog signal may then be provided to a frequency upconverter and ultimately to a radio unit 1006. In an implementation involving beamforming, the modulated symbols in the corresponding spatial stream are precoded via a control matrix before being provided to the IFFT block.
[0112] When in receive mode, the DSP circuit is configured to acquire a signal including modulated symbols received from the radio unit 1006, for example, by detecting the presence of the signal and estimating the initial timing and frequency offset. The DSP circuit is also configured to digitally adjust the signal, for example, using channel (narrowband) filtering and analog impairment adjustment (such as correcting for in-phase / quadrature (I / Q) imbalance) and by applying digital gain to ultimately obtain a narrowband signal. The output of the DSP circuit can then be fed to the AGC, which is configured to use information extracted from the digital signal (for example, in one or more received training fields) to determine the appropriate gain. The output of the DSP circuit is also coupled to a demultiplexer, which demultiplexes the modulated symbols when receiving multiple spatial streams or space-time streams. The demultiplexed symbols can be provided to a demodulator, which is configured to extract the symbols from the signal and, for example, calculate a log-likelihood ratio (LLR) for each bit position of each subcarrier in each spatial stream. The demodulator is coupled to a decoder, which can be configured to process the LLR to provide a decoded bit. The decoded bits may then be descrambled and provided to the MAC layer (eg, processor 1004) for processing, evaluation, or interpretation.
[0113] The radio unit 1006 typically includes at least one radio frequency (RF) transmitter (or "transmitter chain") and at least one RF receiver (or "receiver chain"), which can be combined into one or more transceivers. For example, each of the RF transmitter and receiver can include various analog circuits including at least one power amplifier (PA) and at least one low noise amplifier (LNA), respectively. The RF transmitter and receiver can then be coupled to one or more antennas. For example, in some implementations, the wireless communication device 1000 may include multiple transmit antennas (each with a corresponding transmit chain) and multiple receive antennas (each with a corresponding receive chain), or be coupled with multiple transmit antennas and multiple receive antennas. The symbols output from the modem 1002 are provided to the radio unit 1006, which then transmits the symbols via the coupled antennas. Similarly, the symbols received via the antennas are obtained by the radio unit 1006, which then provides the symbols to the modem 1002.
[0114] The processor 1004 may include an intelligent hardware block or device designed to perform the functions described herein, such as a processing core, a processing block, a central processing unit (CPU), a microprocessor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD) (such as a field programmable gate array (FPGA)), discrete gate or transistor logic, discrete hardware components, or any combination thereof. The processor 1004 processes information received through the radio unit 1006 and the modem 1002, and processes information to be output by the modem 1002 and the radio unit 1006 for transmission over a wireless medium. For example, the processor 1004 may implement at least a portion of the control plane and the MAC layer, which is configured to perform various operations related to the generation, transmission, reception, and processing of MPDUs, frames, or packets. In some implementations, the MAC layer is configured to generate an MPDU to provide to the PHY layer for encoding, and receive decoded information bits from the PHY layer for processing as an MPDU. The MAC layer may also be configured to allocate time and frequency resources, such as for OFDMA, as well as other operations or techniques. In some implementations, the processor 1004 may generally control the modem 1002 to cause the modem 1002 to perform the various operations described above.
[0115] The memory 1008 may include a tangible storage medium, such as a random access memory (RAM) or a read-only memory (ROM), or a combination thereof. The memory 1008 may also store non-transitory processor or computer executable software (SW) code containing instructions that, when executed by the processor 1004, cause the processor to perform various operations described herein for wireless communication, including generation, transmission, reception, and interpretation of MPDUs, frames, or packets. For example, various functions of the components disclosed herein or various blocks or steps of the methods, operations, processes, or algorithms disclosed herein may be implemented as one or more modules of one or more computer programs.
[0116] Fig.11A A block diagram of an example AP 1102 is shown in accordance with aspects of the present disclosure. For example, the AP 1102 may be a reference Figure 1 102. The AP 1102 includes a wireless communication device (WCD) 1110 (although the AP 1102 itself may also be generally referred to as a wireless communication device as used herein). For example, the wireless communication device 1110 may be a wireless communication device (WCD) 1110. Fig.101000 is an example implementation of a wireless communication device 1000 described herein. The AP 1102 also includes a plurality of antennas 1120 coupled to the wireless communication device 1110 to send and receive wireless communications. In some implementations, the AP 1102 further includes an application processor 1130 coupled to the wireless communication device 1110 and a memory 1140 coupled to the application processor 1130. The AP 1102 also includes at least one external network interface 1150 that enables the AP 1102 to communicate with a core network or a backhaul network to obtain access to an external network including the Internet. For example, the external network interface 1150 may include one or both of a wired (e.g., Ethernet) network interface and a wireless network interface (such as a WWAN interface). Some of the aforementioned components may communicate directly or indirectly with other components of the components through at least one bus. The AP 1102 also includes a housing that surrounds the wireless communication device 1110, the application processor 1130, the memory 1140, and at least a portion of the antenna 1120 and the external network interface 1150.
[0117] Fig. 11B A block diagram of an example STA 1104 is shown according to various aspects of the present disclosure. For example, STA 1104 may be a reference Figure 1 104. The STA 1104 includes a wireless communication device 1115 (although the STA 1104 itself may also be generally referred to as a wireless communication device as used herein). For example, the wireless communication device 1115 may be a wireless communication device 1115. Fig.10 1000 is an example implementation of a wireless communication device 1000 described herein. STA 1104 also includes one or more antennas 1125 coupled to the wireless communication device 1115 to send and receive wireless communications. STA 1104 further includes an application processor 1135 coupled to the wireless communication device 1115 and a memory 1145 coupled to the application processor 1135. In some implementations, STA 1104 also includes a user interface (UI) 1155 (such as a touch screen or keyboard) and a display 1165, which can be integrated with the UI 1155 to form a touch screen display. In some implementations, STA 1104 can also include one or more sensors 1175, such as one or more inertial sensors, accelerometers, temperature sensors, pressure sensors, or altitude sensors. Some of the aforementioned components can communicate directly or indirectly with other components in the components through at least one bus. STA 1104 also includes a housing that surrounds the wireless communication device 1115 , the application processor 1135 , the memory 1145 , and at least a portion of the antenna 1125 , the UI 1155 , and the display 1165 .
[0118] Access point 102 and station 104 may each include Figure 4 , Fig.10 , Fig.11A and Fig. 11B The CPU 402, GPU 404, DSP 406, NPU 408, memory 418, processor 1004, memory 1008, memory 1140, application processor 1130, memory 1145, and / or a machine learning (ML) module in the application processor 1135. The machine learning module may send a first message indicating a first machine learning capability of the first wireless device, and may receive a second message indicating a second machine learning capability of the second wireless device from the second wireless device. The machine learning module may also transmit information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability. The machine learning module may also communicate with the second wireless device based at least in part on the machine learning model.
[0119] Fig.12 is a flow chart illustrating an example process 1200, performed, for example, by a wireless device, in accordance with various aspects of the present disclosure. The example process 1200 is an example of a machine learning framework for a wireless local area network (WLAN).
[0120] like Fig.12 As shown in, in some aspects, process 1200 may include: sending a first message indicating a first machine learning capability of the first wireless device (block 1202). For example, the first machine learning capability may indicate a first use case and at least one corresponding machine learning model. The first machine learning capability may also indicate support for proprietary models. In some aspects, the first wireless device may advertise a level of machine learning support, the level indicating at least one of the following: the machine learning model cannot be retrained by the second wireless device, the machine learning model can be retrained by the second wireless device and does not support the upload of updated model parameters, or the machine learning model can be retrained by the second wireless device and supports the upload of updated model parameters.
[0121] In some aspects, process 1200 may include receiving a second message from the second wireless device indicating second machine learning capabilities of the second wireless device (block 1204). For example, the second machine learning capabilities may indicate a second use case and at least one supported second machine learning model. The second machine learning capabilities may also indicate a location of the second wireless device relative to the first wireless device, a mobility level of the second device, and a computing capability of the second wireless device.
[0122] In some aspects, process 1200 may include transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based on the second machine learning capability and the first machine learning capability (block 1206). For example, the first wireless device may transmit the information by sending a function identifier (ID) identifying the machine learning function. The function ID may indicate the selected use case, machine learning model, set of inputs, and outputs. In some aspects, transmitting the information may include sending a link to an external server for downloading the machine learning model. In other aspects, transmitting the information may include sending initial information for supported machine learning functions during discovery and sending additional information for supported machine learning functions during or after setup.
[0123] In some aspects, process 1200 may include communicating with a second wireless device based at least in part on a machine learning model (block 1208). For example, the machine learning model may be a model of a standardized set of models or a standardized set of components for a selected use case. In some aspects, parameters and structure of the machine learning model are defined through an external interface. The input set of the machine learning model may be a standardized set of input features and / or input features defined by the first wireless device and include a standardized set of measurements and a standardized set of operations applied to the measurements. The output set from the machine learning model may be a standardized candidate output subset and / or a standardized output set.
[0124] Fig.13 A block diagram of an example wireless communication device 1300 supporting a machine learning framework for WLAN according to some implementations is shown. In some implementations, the wireless communication device 1300 is configured to perform the above-referenced Fig.12 One or more of the processes 1200 described above. The wireless communication device 1300 may be Fig.10 1000 . For example, the wireless communication device 1300 may be a chip, an SoC, a chipset, a package, or a device that includes at least one modem (e.g., a Wi-Fi (IEEE 802.11) modem or a cellular modem, such as modem 1002), at least one processor (e.g., processor 1004), at least one radio unit (e.g., radio unit 1006), and at least one memory (e.g., memory 1008). In some implementations, the wireless communication device 1300 may be a processor for communicating with an AP (e.g., as described above, respectively). Figure 1 and Fig.11AIn some other implementations, the wireless communication device 1300 may be an AP including such a chip, SoC, chipset, package or device and at least one antenna (such as antenna 1120).
[0125] The wireless communication device 1300 includes a transmitting component 1302, a receiving component 1304, a transmitting information component 1306, and a communication component 1308. Portions of one or more of the components 1302, 1304, 1306, and 1308 may be implemented at least in part in hardware or firmware. For example, the receiving component 1304 may be implemented at least in part by a modem (such as modem 1002). In some implementations, at least some of the components 1302, 1304, 1306, and 1308 are implemented at least in part as software stored in a memory (such as memory 1008). For example, portions of one or more of the components 1302, 1304, 1306, or 1308 may be implemented as non-transitory instructions (or "codes") that can be executed by a processor (such as processor 1004) to perform the functions or operations of the corresponding module.
[0126] The sending component 1302 is configured to send a first message indicating a first machine learning capability of a first wireless device.
[0127] The receiving component 1304 is configured to receive, from the second wireless device, a second message indicating second machine learning capabilities of the second wireless device.
[0128] The transmitting information component 1306 is configured to transmit information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability.
[0129] The communication component 1308 is configured to communicate with a second wireless device based at least in part on the machine learning model.
[0130] Fig.14 A block diagram of an example wireless communication device 1400 supporting a machine learning framework for WLAN according to some implementations is shown. In some implementations, the wireless communication device 1400 is configured to perform the above-referenced Fig.12 One or more of the processes 1200 described herein. The wireless communication device 1400 may be the device described above with reference to Fig.101000. For example, the wireless communication device 1400 may be a chip, an SoC, a chipset, a package, or a device that includes at least one modem (e.g., a Wi-Fi (IEEE 802.11) modem or a cellular modem (such as modem 1002)), at least one processor (such as processor 1004), at least one radio unit (such as radio unit 1006), and at least one memory (such as memory 1008). In some implementations, the wireless communication device 1400 may be a processor for communicating between STAs (such as those described above, respectively). Figure 1 and Fig. 11B In some other implementations, the wireless communication device 1400 may be a station (STA) including such a chip, SoC, chipset, package or device and at least one antenna (such as antenna 1125).
[0131] The wireless communication device 1400 includes a transmitting component 1402, a receiving component 1404, a transmitting information component 1406, and a communication component 1408. Portions of one or more of the components 1402, 1404, 1406, and 1408 may be implemented at least in part in hardware or firmware. For example, the receiving component 1404 may be implemented at least in part by a modem (such as modem 1002). In some implementations, at least some of the components 1402, 1404, 1406, and 1408 are implemented at least in part as software stored in a memory (such as memory 1008). For example, portions of one or more of the components 1402, 1404, 1406, or 1408 may be implemented as non-transitory instructions (or "codes") that can be executed by a processor (such as processor 1004) to perform the functions or operations of the corresponding modules.
[0132] The sending component 1402 is configured to send a first message indicating a first machine learning capability of a first wireless device.
[0133] Receiving component 1404 is configured to receive, from a second wireless device, a second message indicating second machine learning capabilities of the second wireless device.
[0134] The transmitting information component 1406 is configured to transmit information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability.
[0135] The communication component 1408 is configured to communicate with a second wireless device based at least in part on the machine learning model.
[0136] Example aspects
[0137] Aspect 1: An apparatus for wireless communication, comprising: a memory; and at least one processor coupled to the memory, the at least one processor being configured to: send a first message indicating a first machine learning capability of a first wireless device; receive a second message indicating a second machine learning capability of the second wireless device from a second wireless device; transmit information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability; and communicate with the second wireless device based at least in part on the machine learning model.
[0138] Aspect 2: An apparatus according to Aspect 1, wherein the first machine learning capability indicates a first use case and at least one corresponding machine learning model, and the second machine learning capability indicates a second use case and at least one supported second machine learning model.
[0139] Aspect 3: The apparatus according to aspect 1 or 2, wherein the second machine learning capability indicates a location of the second wireless device relative to the first wireless device, a mobility level of the second device, and a computing capability of the second wireless device.
[0140] Aspect 4: An apparatus according to any of the preceding aspects, wherein at least one processor configured to transmit information is configured to: transmit information by sending a function identifier (ID) identifying a machine learning function; and the function ID includes a selected use case, a selected machine learning model, an input set, and an output.
[0141] Aspect 5: An apparatus according to any of the preceding aspects, wherein the machine learning model comprises a model from a set of standardized models for the selected use case.
[0142] Aspect 6: An apparatus according to any one of the preceding aspects, wherein the machine learning model comprises a set of standardized components.
[0143] Aspect 7: An apparatus according to any one of the preceding aspects, wherein parameters and structure of the machine learning model are defined by an external interface.
[0144] Aspect 8: An apparatus according to any one of the preceding aspects, wherein at least one processor configured to transmit information is configured to transmit the information by sending a link for downloading a machine learning model to an external server.
[0145] Aspect 9: An apparatus according to any of the preceding aspects, wherein at least one processor configured to transmit information is configured to transmit information by sending initial information for supported machine learning functions during discovery and sending additional information for supported machine learning functions during or after setup.
[0146] Aspect 10: An apparatus according to any one of the preceding aspects, wherein the input set of the machine learning model includes a set of standardized input features.
[0147] Aspect 11: An apparatus according to any of the preceding aspects, wherein the input set of the machine learning model includes input features defined by the first wireless device and includes a standardized measurement set and a standardized operation set applied to the measurements.
[0148] Aspect 12: An apparatus according to any of the preceding aspects, wherein the set of outputs from the machine learning model includes a selected standardized subset of candidate outputs.
[0149] Aspect 13: An apparatus according to any of the preceding aspects, wherein the set of outputs from the machine learning model comprises a set of standardized outputs.
[0150] Aspect 14: The apparatus according to any one of the preceding aspects, wherein the first machine learning capability indicates support for a proprietary model.
[0151] Aspect 15: An apparatus according to any one of the preceding aspects, wherein at least one processor is further configured to: announce a level of machine learning support, the level indicating at least one of the following: the learning model cannot be retrained by the second wireless device, the selected machine learning model can be retrained by the second wireless device and does not support uploading of updated model parameters, or the selected machine learning model can be retrained by the second wireless device and supports uploading of updated model parameters.
[0152] Aspect 16: A method of wireless communication at a first wireless device, comprising: sending a first message indicating a first machine learning capability of the first wireless device; receiving a second message indicating a second machine learning capability of the second wireless device from a second wireless device; transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability; and communicating with the second wireless device based at least in part on the machine learning model.
[0153] Aspect 17: A method according to Aspect 16, wherein the first machine learning capability indicates a first use case and at least one corresponding machine learning model, and the second machine learning capability indicates a second use case and at least one supported second machine learning model.
[0154] Aspect 18: The method according to aspect 16 or 17, wherein the second machine learning capability indicates a location of the second wireless device relative to the first wireless device, a mobility level of the second device, and a computing capability of the second wireless device.
[0155] Aspect 19: A method according to any one of Aspects 16-18, wherein: transmitting information includes: sending a function identifier (ID) identifying a machine learning function; and the function ID includes a selected use case, a selected machine learning model, an input set, and an output.
[0156] Aspect 20: A method according to any one of Aspects 16-19, wherein the machine learning model includes a model from a set of standardized models for the selected use case.
[0157] Aspect 21: A method according to any one of Aspects 16-20, wherein the machine learning model includes a set of standardized components.
[0158] Aspect 22: A method according to any one of Aspects 16-21, wherein the parameters and structure of the machine learning model are defined by an external interface.
[0159] Aspect 23: A method according to any one of Aspects 16-22, wherein transmitting information includes: sending a link for downloading a machine learning model to an external server.
[0160] Aspect 24: A method according to any one of Aspects 16-23, wherein transmitting information includes: sending initial information for supported machine learning functions during discovery, and sending additional information for supported machine learning functions during or after setup.
[0161] Aspect 25: A method according to any one of Aspects 16-24, wherein the input set of the machine learning model includes a standardized input feature set.
[0162] Aspect 26: A method according to any one of Aspects 16-25, wherein the input set of the machine learning model includes input features defined by the first wireless device and includes a standardized measurement set and a standardized operation set applied to the measurements.
[0163] Aspect 27: A method according to any one of Aspects 16-26, wherein the set of outputs from the machine learning model includes the selected standardized candidate output subset.
[0164] Aspect 28: A method according to any one of Aspects 16-27, wherein the set of outputs from the machine learning model includes a set of standardized outputs.
[0165] Aspect 29: An apparatus for wireless communication by a first wireless device, comprising: a unit for sending a first message indicating a first machine learning capability of the first wireless device; a unit for receiving a second message indicating a second machine learning capability of the second wireless device from a second wireless device; a unit for transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability; and a unit for communicating with the second wireless device based at least in part on the machine learning model.
[0166] Aspect 30: A non-transitory computer-readable medium storing program code for execution by a first wireless device, the program code comprising: program code for sending a first message indicating a first machine learning capability of the first wireless device; program code for receiving a second message indicating a second machine learning capability of the second wireless device from a second wireless device; program code for transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capability and the first machine learning capability; and program code for communicating with the second wireless device based at least in part on the machine learning model.
[0167] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the aspects to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the various aspects.
[0168] As used, the term "component" is intended to be broadly interpreted as hardware, firmware, and / or a combination of hardware and software. As used, a processor is implemented in hardware, firmware, and / or a combination of hardware and software.
[0169] Some aspects are described in conjunction with a threshold. As used, satisfying a threshold may refer to a value being greater than a threshold, greater than or equal to a threshold, less than a threshold, less than or equal to a threshold, equal to a threshold, not equal to a threshold, etc., depending on the context.
[0170] It will be apparent that the described systems and / or methods can be implemented in various forms of hardware, firmware, and / or combinations of hardware and software. The actual specialized control hardware or software code used to implement these systems and / or methods is not a limitation of the various aspects. Therefore, the operation and behavior of the systems and / or methods are described without reference to specific software code, it being understood that software and hardware can be designed to implement the systems and / or methods based at least in part on the description.
[0171] Even if a specific combination of features is recorded in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of various aspects. In fact, many of these features can be combined in a manner that is not specifically recorded in the claims and / or specifically disclosed in the specification. Although each dependent claim listed below may only directly depend on one claim, the disclosure of various aspects includes the combination of each dependent claim with each other claim in the claim set. The phrase "at least one of" referring to the list of items refers to any combination of these items, including a single member. For example, "at least one of a, b or c" is intended to cover a, b, c, ab, ac, bc and abc, and any combination with multiples of the same element (e.g., aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc and ccc or any other ordering of a, b and c).
[0172] Unless explicitly described as such, the elements, actions or instructions used should not be interpreted as critical or essential. In addition, as used, the articles "a" and "an" are intended to include one or more items and can be used interchangeably with "one or more". In addition, as used, the terms "set" and "group" are intended to include one or more items (e.g., related items, unrelated items, combinations of related items and unrelated items, etc.), and can be used interchangeably with "one or more". In the case of only one item expected, the phrase "only one" or similar language is used. In addition, as used, the terms "has", "have", "having", etc. are intended to be open terms. In addition, unless otherwise explicitly stated, the phrase "based on" is intended to mean "based at least in part on".
Claims
1. An apparatus for wireless communication by a first wireless device, comprising: Memory; as well as at least one processor coupled to the memory, the at least one processor configured to: sending a first message indicating first machine learning capabilities of the first wireless device; receiving, from a second wireless device, a second message indicating second machine learning capabilities of the second wireless device; transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capabilities and the first machine learning capabilities; as well as Communicate with the second wireless device based at least in part on the machine learning model.
2. The device according to claim 1, wherein: The first machine learning capability indicates a first use case and at least one corresponding machine learning model, and the second machine learning capability indicates a second use case and at least one supported second machine learning model.
3. The device according to claim 2, wherein: The second machine learning capability indicates a location of the second wireless device relative to the first wireless device, a mobility level of the second device, and a computing capability of the second wireless device.
4. The device according to claim 2, wherein: The at least one processor configured to transmit the information is configured to: transmit the information by sending a function identifier (ID) identifying a machine learning function; and The function ID includes the selected use case, the machine learning model, the input set, and the output.
5. The device according to claim 1, wherein: The machine learning models include models from a collection of standardized models for the selected use case.
6. The device according to claim 1, wherein: The machine learning model includes a set of standardized components.
7. The device according to claim 1, wherein: The parameters and structure of the machine learning model are defined by an external interface.
8. The device according to claim 1, wherein: The at least one processor configured to transmit the information is configured to transmit the information by sending a link to an external server for downloading the machine learning model.
9. The device according to claim 1, wherein: The at least one processor configured to transmit the information is configured to transmit the information by sending initial information for supported machine learning functions during discovery and sending additional information for the supported machine learning functions during or after setup.
10. The device according to claim 1, wherein: The input set of the machine learning model includes a standardized input feature set.
11. The device according to claim 1, wherein: The input set of the machine learning model includes input features defined by the first wireless device and includes a set of standardized measurements and a set of standardized operations applied to the measurements.
12. The device according to claim 1, wherein: The set of outputs from the machine learning model includes a standardized subset of candidate outputs.
13. The device according to claim 1, wherein: The set of outputs from the machine learning model includes a set of normalized outputs.
14. The device according to claim 1, wherein: The first machine learning capability indicates support for a proprietary model.
15. The device according to claim 1, wherein: The at least one processor is also configured to: announce a level of machine learning support, the level indicating at least one of the following: the machine learning model cannot be retrained by the second wireless device, the machine learning model can be retrained by the second wireless device and does not support uploading of updated model parameters, or the machine learning model can be retrained by the second wireless device and supports uploading of updated model parameters.
16. A method of wireless communication at a first wireless device, comprising: sending a first message indicating first machine learning capabilities of the first wireless device; receiving, from a second wireless device, a second message indicating second machine learning capabilities of the second wireless device; transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capabilities and the first machine learning capabilities; as well as Communicate with the second wireless device based at least in part on the machine learning model.
17. The method according to claim 16, wherein: The first machine learning capability indicates a first use case and at least one corresponding machine learning model, and the second machine learning capability indicates a second use case and at least one supported second machine learning model.
18. The method according to claim 17, wherein: The second machine learning capability indicates a location of the second wireless device relative to the first wireless device, a mobility level of the second device, and a computing capability of the second wireless device.
19. The method of claim 17, wherein: Transmitting the information includes: sending a function identifier (ID) identifying the machine learning function; and The function ID includes the selected use case, the machine learning model, the input set, and the output.
20. The method according to claim 16, wherein: The machine learning models include models from a collection of standardized models for the selected use case.
21. The method according to claim 16, wherein: The machine learning model includes a set of standardized components.
22. The method according to claim 16, wherein: The parameters and structure of the machine learning model are defined by an external interface.
23. The method according to claim 16, wherein: Transmitting the information includes: sending a link for downloading the machine learning model to an external server.
24. The method according to claim 16, wherein: Transmitting the information includes sending initial information for supported machine learning functions during discovery and sending additional information for the supported machine learning functions during or after setup.
25. The method of claim 16, wherein: The input set of the machine learning model includes a standardized input feature set.
26. The method of claim 16, wherein: The input set of the machine learning model includes input features defined by the first wireless device and includes a set of standardized measurements and a set of standardized operations applied to the measurements.
27. The method of claim 16, wherein: The set of outputs from the machine learning model includes a standardized subset of candidate outputs.
28. The method of claim 16, wherein: The set of outputs from the machine learning model includes a set of normalized outputs.
29. An apparatus for wireless communication by a first wireless device, comprising: means for sending a first message indicating first machine learning capabilities of the first wireless device; means for receiving, from a second wireless device, a second message indicating second machine learning capabilities of the second wireless device; means for transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capabilities and the first machine learning capabilities; as well as means for communicating with the second wireless device based at least in part on the machine learning model.
30. A non-transitory computer readable medium storing program code for execution by a first wireless device, the program code comprising: program code for sending a first message indicating first machine learning capabilities of the first wireless device; program code for receiving, from a second wireless device, a second message indicating second machine learning capabilities of the second wireless device; program code for transmitting information associated with a machine learning model for use between the first wireless device and the second wireless device based at least in part on the second machine learning capabilities and the first machine learning capabilities; as well as Program code for communicating with the second wireless device based at least in part on the machine learning model.