MACHINE LEARNING SIGNALING AND OPERATIONS FOR WIRELESS LOCAL AREA NETWORKS (WLANs)

Information

  • Patent Application
  • 20240104426
  • Publication Number
    20240104426
  • Date Filed
    September 26, 2022
    a year ago
  • Date Published
    March 28, 2024
    a month ago
Abstract
An apparatus, for wireless communication by a first wireless local area network (WLAN) device, has a memory and one or more processor(s) coupled to the memory. The processor(s) is configured to transmit a first message indicating support for machine learning by the first WLAN device. The processor(s) is also configured to receive, from a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device. The processor(s) is configured to activate a machine learning session with the second WLAN device based at least in part on the second message. The processor(s) is also configured to receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.
Description
FIELD OF THE DISCLOSURE

The present disclosure relates generally to wireless communications, and more specifically to signaling and operational aspects of a machine learning framework for wireless local area networks (WLANs).


BACKGROUND

A wireless local area network (WLAN) may be formed by one or more wireless access points (APs) that 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 conforming to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards is a basic service set (BSS), which is managed by an AP. Each BSS is identified by a basic service set identifier (BSSID) that is advertised by the AP. An AP periodically broadcasts beacon frames to enable any STAs within range of the AP to establish or maintain a communication link with the WLAN.


Machine learning techniques include supervised learning, unsupervised learning, and reinforcement learning. The 802.11 specifications, however, currently have no support for the use of these machine learning techniques across devices. Proprietary models may be used by individual STAs or the AP, but these models can only be used for optimizing features that are left to implementation. It would be desirable to apply machine learning techniques to wireless communications to achieve greater efficiencies.


SUMMARY

Some aspects of the present disclosure are directed to an apparatus for wireless communication by a first wireless local area network (WLAN) device. The apparatus has a memory and one or more processors coupled to the memory. The processor(s) is configured to transmit a first message indicating support for machine learning by the first WLAN device. The processor(s) is also configured to receive, from a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device. The processor(s) is further configured to activate a machine learning session with the second WLAN device based at least in part on the second message. The processor(s) is configured to receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


In other aspects of the present disclosure, a method for wireless communication by a first wireless local area network (WLAN) device includes transmitting a first message indicating support for machine learning by the first WLAN device. The method also includes receiving, from a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device. The method further includes activating a machine learning session with the second WLAN device based at least in part on the second message. The method includes receiving, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


Some aspects of the present disclosure are directed to an apparatus for wireless communication by a first wireless local area network (WLAN) device. The apparatus has a memory and one or more processors coupled to the memory. The processor(s) is configured to receive a first message indicating support for machine learning by the first WLAN device. The processor(s) is also configured to transmit, to a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device. The processor(s) is further configured to activate a machine learning session with the second WLAN device based at least in part on the second message. The processor(s) is configured to transmit, to the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


In other aspects of the present disclosure, a method for wireless communication by a first wireless local area network (WLAN) device includes receiving a first message indicating support for machine learning by the first WLAN device. The method also includes transmitting, to a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device. The method further includes activating a machine learning session with the second WLAN device based at least in part on the second message. The method includes transmitting, to the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


Other aspects of the present disclosure are directed to an apparatus for wireless communication by a first wireless local area network (WLAN) device. The apparatus includes means for transmitting a first message indicating support for machine learning by the first WLAN device. The apparatus also includes means for receiving, from a second WLAN device, a second message. The second message indicates support for at least one machine learning model type by the second WLAN device. The apparatus further includes means for activating a machine learning session with the second WLAN device based at least in part on the second message. The apparatus includes means for receiving, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


In other aspects of the present disclosure, a non-transitory computer readable medium storing program code for execution by a first wireless local area network (WLAN) device is disclosed. The program code includes program code to transmit a first message indicating support for machine learning by the first WLAN device. The program code also includes program code to receive, from a second WLAN device, a second message. The second message indicates support for at least one machine learning model type by the second WLAN device. The program code further includes program code to activate a machine learning session with the second WLAN device based at least in part on the second message. The program code includes program code to receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


Aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, access point (AP), station (STA), user equipment, base station, wireless communication device, and processing system as substantially described with reference to and as illustrated by the accompanying drawings and specification.


The foregoing has outlined rather broadly the features and technical advantages of examples according to the disclosure in order that the detailed description that follows may be better understood. Additional features and advantages will be described. The conception and specific examples disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. Characteristics of the concepts disclosed, both their organization and method of operation, together with associated advantages will be better understood from the following description when considered in connection with the accompanying figures. Each of the figures is provided for the purposes of illustration and description, and not as a definition of the limits of the claims.





BRIEF DESCRIPTION OF THE DRAWINGS

So that features of the present disclosure can be understood in detail, a particular description may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects. The same reference numbers in different drawings may identify the same or similar elements.



FIG. 1 is a pictorial diagram illustrating an example wireless communication network.



FIG. 2 is a block diagram illustrating an example protocol data unit (PDU) usable for communications between an access point (AP) and one or more stations (STAs).



FIG. 3 is a block diagram illustrating an example field in the PDU of FIG. 2.



FIG. 4 is a block diagram illustrating an 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.



FIGS. 5A, 5B, and 5C are diagrams illustrating a neural network, in accordance with aspects of the present disclosure.



FIG. 5D is a diagram illustrating an exemplary deep convolutional network (DCN), in accordance with aspects of the present disclosure.



FIG. 6 is a block diagram illustrating an exemplary deep convolutional network (DCN), in accordance with aspects of the present disclosure.



FIG. 7 is a block diagram illustrating a machine learning model at a high level, in accordance with aspects of the present disclosure.



FIG. 8 is a block diagram illustrating a reinforcement learning model, in accordance with aspects of the present disclosure.



FIG. 9A is a table illustrating machine learning capabilities of a wireless device, in accordance with aspects of the present disclosure.



FIG. 9B is a call flow diagram illustrating a machine learning framework for wireless local area networks (WLANs), in accordance with aspects of the present disclosure.



FIG. 10 is a block diagram of an example wireless communication device, in accordance with aspects of the present disclosure.



FIG. 11A is a block diagram of an example access point (AP), in accordance with aspects of the present disclosure.



FIG. 11B is a block diagram of an example station (STA), in accordance with aspects of the present disclosure.



FIG. 12 is a flow diagram illustrating an example process performed, for example, by a wireless device, in accordance with various aspects of the present disclosure.



FIG. 13 is a block diagram of an example access point (AP) that supports a machine learning framework for a wireless local area network (WLAN), in accordance with various aspects of the present disclosure.



FIG. 14 is a block diagram of an example station (STA) that supports a machine learning framework for a WLAN, in accordance with various aspects of the present disclosure.



FIG. 15 is a table illustrating WLAN phases for various machine learning operations, in accordance with various aspects of the present disclosure.



FIG. 16 is a state diagram illustrating machine learning session states, in accordance with various aspects of the present disclosure.



FIG. 17 is a block diagram illustrating components of an information element for machine learning information exchange, in accordance with various aspects of the present disclosure.



FIG. 18 is a block diagram illustrating components of an aggregate control (A-Control) field for machine learning information exchange, in accordance with various aspects of the present disclosure.



FIG. 19 is a call flow diagram illustrating a machine learning framework for WLANs, in accordance with various aspects of the present disclosure.



FIG. 20 is a block diagram of an example wireless communication device that supports a machine learning framework for a WLAN, in accordance with various aspects of the present disclosure.



FIG. 21 is a flow diagram illustrating an example process performed, for example, by a wireless device, in accordance with various aspects of the present disclosure.



FIG. 22 is a flow diagram illustrating an example process performed, for example, by a wireless device, in accordance with various aspects of the present disclosure.





DETAILED DESCRIPTION

The following description is directed to some particular examples for the purposes of describing innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways. Some or all of the described examples may be implemented in any device, system or network that is capable of transmitting and receiving radio frequency (RF) signals according to one or more of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, the IEEE 802.15 standards, the Bluetooth® standards as defined by the Bluetooth Special Interest Group (SIG), or the Long Term Evolution (LTE), 3G, 4G or 5G (New Radio (NR)) standards promulgated by the 3rd Generation Partnership Project (3GPP), among others. The described implementations can be implemented in any device, system or network that is capable of transmitting and receiving RF signals according to one or more of the following technologies or techniques: 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 also can be implemented using other wireless communication protocols or RF signals suitable for use in one or more of a wireless personal area network (WPAN), a wireless local area network (WLAN), a wireless wide area network (WWAN), or an Internet of things (IOT) network.


As noted above, the 802.11 specifications currently do not support the use of machine learning across devices. Proprietary models may be used by individual stations (STAs) or the AP, but these models can only be used for optimizing features that are left to implementation. One example is rate adaptation. The wireless standards (e.g., 802.11 specifications) does not specify what algorithm the client can use. The client may use heuristic algorithms or machine learning based techniques. For an application such as enhanced distributed channel access (EDCA) optimization, the 802.11 specifications only allow a specified behavior. Aspects of the present disclosure create a flexible framework whereby machine learning models can be utilized for such use cases, defined in the 802.11 specifications, that the access point determines to be appropriate. As such, the access point may share this model across entities in the network.


Aspects of the present disclosure are directed to signaling details and operational aspects for implementing artificial intelligence and machine learning in wireless local area networks (WLANs). Signaling details may include container structures, such as frames and elements. Operational aspects may include operational mode changes and an indication of information during machine learning usage in the basic service set (BSS).


According to aspects of the present disclosure, information is efficiently communicated between devices in the WLAN on an as-needed basis. The information that is communicated may depend on whether a device is in a discovery phase, a probing phase, an association setup phase, or a post-association phase. During the discovery phase, beacon messages are transmitted. The beacon message may indicate basic information, such as whether a WLAN device supports machine learning. The information containers during the discovery phase may indicate machine learning support, which enables the discovery of machine learning support by the access point with low overhead. In some examples, additional machine learning information may be provided during the probing phase. For example, supported or desired use cases, and levels of machine learning support may be indicated via messages transmitted during the probing phase in the probe request and probe response frames. The containers exchanged during the probing phase may indicate support of specific use cases.


During the association setup phase with the access point, complete machine learning information may be provided for each desired use case. Additionally, machine learning functions may be communicated. Optionally, a model structure, model parameters, and/or model input and output may be communicated. In some aspects, however, the model structure, model parameters, and/or model input and output may be communicated post-association. The containers during the association phase may indicate model structure information and model parameter information. When operating with the access point, post-association, complete information, and model updates for each use case may be communicated. Moreover, changes to the machine learning operating mode may be communicated. The containers during the post-association phase may include the model structure and parameters, and information needed to enable and disable machine learning use cases, and provide performance feedback on models. The communications in each of the phases can be between two peer stations or between an access point and a station.


Machine learning operation in the BSS can occur during machine learning sessions, which have three different states. An associated machine learning inactive state may be an initial state of a client when the client is associated with the access point and while the client is in an inactive state for machine learning. Communication between two peer stations, such as an access point and a station, or two peer-to-peer (P2P) stations, may establish a machine learning session by activating the machine learning session. Once activated, the client enters the machine learning active state, during which the client may configure and use machine learning algorithms. In some examples, either peer may terminate or suspend a machine learning session, causing the device to enter the inactive state or a suspended state, respectively.


According to aspects of the present disclosure, machine learning operation in the BSS during an active machine learning session specifies a controlling entity (such as an access point) to have fine-grained control on how machine learning is used in the BSS. An access point may dynamically enable or disable machine learning inference in its BSS. In some aspects, the access point may dynamically enable or disable other aspects of machine learning usage, such as training models or uploading trained models. Signaling may be introduced to indicate whether the use of machine learning inference is allowed for a particular interval of time. Signaling may also be introduced to indicate what portion of data can be used for deriving machine learning inference. The signaling may also indicate what portion of data can be used for machine learning training (e.g., model training). Signaling may also be introduced to indicate intervals of time where the access point coordinates with the non-access point stations for validating a learned machine learning model. For signaling related to downloadable models, an access point may indicate that new models are available for download. The access point may also provide different model parameters to different stations. When the access point is affiliated with an access point multi-link device and the station is affiliated with a non-access point multi-link device, the access point may also provide different model parameters on different links to the same non-access point multi-link device. In some aspects, an access point may request stations to indicate whether a particular downloaded machine learning model is in use by a station. The access point may solicit feedback on the performance of downloaded models. Non-access point operations are also contemplated and described in detail below.


Aspects of the present disclosure relate to information containers for machine learning information exchange. An information element is one example of a container. The information element should be flexible enough to carry multiple different types and degrees of information related to machine learning. One or more fields or subfields may always be included in the information element. In some examples, one or more optional fields or subfields and sub-elements may be included in the information element. The information element may have multiple variants, in which each variant may be used for a specific purpose.


Frames are another type of container for machine learning information exchange. In some examples, frames may be defined for exchanging the machine learning model and its parameters, session (re)initiation, session suspension, session teardown, operating mode updates, and indications pertaining to machine learning operations. Frames enable semi-static configuration for machine learning use in the WLAN.


For faster information exchange, other types of containers may be used for machine learning information exchange. For example, an aggregate control (A-Control) or a similar field may be used to quickly exchange information related to machine learning operations.


Particular aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some examples, the described techniques, such as activating a machine learning session, can be used by the controlling entity (e.g., an access point) to efficiently maintain and manage the state information of the controlled entities (e.g., stations). For example, the access point may store information related to mobility, location, battery, etc. for the station with which the access point has established the session and determine which models to download to the station based on this information.


Receiving machine learning model structure information and machine learning model parameters during the machine learning session enables the controlling entity (e.g., an access point) to provide model structure and parameters to the controlled entity (e.g., a station) that are tailored for the state information of the station. For example, based on the battery charge information of a mobile station, the access point may download model structure and parameters that are more energy efficient, such as decision trees with smaller maximum depth for a random forest model. The maximum depth of a decision tree provides a measure of how many splits the decision tree model may make before it yields a prediction. In another example, the controlling entity (e.g., one peer station) may download a model with floating point parameters if the controlled entity (e.g., another peer station) possesses high computational capability. Exchange of the machine learning model structure information and machine learning model parameters enables the controlled entity to reconstruct and use a machine learning model that was trained by the controlling entity, which may have higher processing power and limited energy constraints, thereby enabling low cost controlled entities to enjoy the benefits of sophisticated machine learning techniques. This can help the controlled entity achieve higher throughput, lower latency, or improve the overall network efficiency depending on the machine learning use case.



FIG. 1 shows a block diagram of an example wireless communication network 100. According to some aspects, the wireless communication network 100 can be an example of a wireless local area network (WLAN) such as a Wi-Fi network (and will hereinafter be referred to as WLAN 100). For example, the WLAN 100 can be a network implementing at least one of the IEEE 802.11 family of wireless communication protocol standards (such as that defined by the IEEE 802.11-2016 specification or amendments thereof including, but not limited to, 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be). The WLAN 100 may include numerous wireless communication devices such as an access point (AP) 102 and multiple stations (STAs) 104. While only one AP 102 is shown, the WLAN 100 also can include multiple APs 102.


Each of the STAs 104 also may be referred to as a mobile station (MS), a mobile device, a mobile handset, a wireless handset, an access terminal (AT), a user equipment (UE), a subscriber station (SS), or a subscriber unit, among other examples. The STAs 104 may represent various devices such as mobile phones, personal digital assistant (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptops, display devices (for example, TVs, computer monitors, navigation systems, among others), music or other audio or stereo devices, remote control devices (“remotes”), printers, kitchen or other household appliances, key fobs (for example, for passive keyless entry and start (PKES) systems), among other examples.


A single AP 102 and an associated set of STAs 104 may be referred to as a basic service set (BSS), which is managed by the respective AP 102. FIG. 1 additionally shows 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), as well as 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 beacon frames (“beacons”) including the BSSID to enable any STAs 104 within wireless range of the AP 102 to “associate” or re-associate with the AP 102 to establish a respective communication link 106 (hereinafter also referred to as a “Wi-Fi link”), or to maintain a communication link 106, with the AP 102. For example, the beacons can include an identification of a primary channel used by the respective AP 102 as well as a timing synchronization function for establishing or maintaining timing synchronization with the AP 102. The AP 102 may provide access to external networks to various STAs 104 in the WLAN 100 via respective communication links 106.


To establish a communication link 106 with an AP 102, each of the STAs 104 is configured to perform passive or active scanning operations (“scans”) on frequency channels in one or more frequency bands (for example, the 2.4 GHz, 5 GHz, 6 GHz, or 60 GHz bands). To perform passive scanning, a STA 104 listens for beacons, which are transmitted by respective APs 102 at a periodic time interval referred to as the target beacon transmission time (TBTT) (measured in time units (TUs) where one TU may be equal to 1024 microseconds (μs)). To perform active scanning, a STA 104 generates and sequentially transmits probe requests on each channel to be scanned and listens for probe responses from APs 102. Each STA 104 may be configured to identify or select an AP 102 with which to associate based on the scanning information obtained through the passive or active scans, and to 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 culmination of the association operations, which the AP 102 uses to track the STA 104.


As a result of the increasing ubiquity of wireless networks, a STA 104 may have the opportunity to select one of many BSSs within range of the STA or to select among multiple APs 102 that together form an extended service set (ESS) including multiple connected BSSs. An extended network station associated with the WLAN 100 may be connected to a wired or wireless distribution system that may allow multiple APs 102 to be connected in such an ESS. As such, a STA 104 can be covered by more than one AP 102 and can associate with different APs 102 at different times for different transmissions. Additionally, after association with an AP 102, a STA 104 also may be configured to periodically scan surroundings to find a more suitable AP 102 with which to associate. For example, a STA 104 that is moving relative to the associated AP 102 may perform a “roaming” scan to find another AP 102 having more desirable network characteristics such as a greater received signal strength indicator (RSSI) or a reduced traffic load.


In some cases, STAs 104 may form networks without APs 102 or other equipment other than the STAs 104 themselves. One example of such a network is an ad hoc network (or wireless ad hoc network). Ad hoc networks may alternatively be referred to as mesh networks or peer-to-peer (P2P) networks. In some cases, ad hoc networks may be implemented within a larger wireless network such as the WLAN 100. In such implementations, while the STAs 104 may be capable of communicating with each other through the AP 102 using communication links 106, STAs 104 also can communicate directly with each other via direct wireless links 110. Additionally, two STAs 104 may communicate via a direct wireless link 110 regardless of whether both STAs 104 are associated with and served by the same AP 102. In such an ad hoc system, one or more of the STAs 104 may assume the role filled by the AP 102 in a BSS. Such a STA 104 may be referred to as a group owner (GO) and may coordinate transmissions within the ad hoc network. Examples of direct wireless links 110 include Wi-Fi Direct connections, connections established by using a Wi-Fi Tunneled Direct Link Setup (TDLS) link, and other P2P group connections.


The APs 102 and STAs 104 may function and communicate (via the respective communication links 106) according to the IEEE 802.11 family of wireless communication protocol standards (such as that defined by the IEEE 802.11-2016 specification or amendments thereof including, but not limited to, 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be). These standards define the WLAN radio and baseband protocols for the physical (PHY) and medium access control (MAC) layers. The APs 102 and STAs 104 transmit and receive wireless communications (hereinafter also referred to as “Wi-Fi communications”) to and from one another in the form of PHY protocol data units (PPDUs) (or physical layer convergence protocol (PLCP) PDUs). The APs 102 and STAs 104 in the WLAN 100 may transmit PPDUs over an unlicensed spectrum, which may be a portion of 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 APs 102 and STAs 104 described herein also may communicate in other frequency bands, such as the 6 GHz band, which may support both licensed and unlicensed communications. The APs 102 and STAs 104 also can be configured to communicate over other frequency bands such as shared licensed frequency bands, where multiple operators may have a license to operate in the same or overlapping frequency band or bands.


Each of the frequency bands may include multiple sub-bands or frequency channels. For example, PPDUs conforming to the IEEE 802.11n, 802.11ac, 802.11ax, and 802.11be standard amendments may be transmitted over the 2.4, 5 GHz or 6 GHz bands, each of which is divided into multiple 20 MHz channels. As such, these PPDUs are transmitted over a physical channel having a minimum bandwidth of 20 MHz, but larger channels can be formed through channel bonding. For example, PPDUs may be transmitted over physical channels having bandwidths of 40 MHz, 80 MHz, 160 MHz, or CCC20 MHz by bonding together multiple 20 MHz channels.


Each PPDU is a composite structure that includes a PHY preamble and a payload in the form of a PHY service data unit (PSDU). The information provided in the preamble may be used by a receiving device to decode the subsequent data in the PSDU. In instances in which PPDUs are transmitted over a bonded channel, the preamble fields may be duplicated and transmitted in each of the multiple component channels. The PHY preamble may include both a legacy portion (or “legacy preamble”) and a non-legacy portion (or “non-legacy preamble”). The legacy preamble may be used for packet detection, automatic gain control and channel estimation, among other uses. The legacy preamble also may generally be used to maintain compatibility with legacy devices. The format of, coding of, and information provided in the non-legacy portion of the preamble is based on the particular IEEE 802.11 protocol to be used to transmit the payload.



FIG. 2 shows an example protocol data unit (PDU) 200 usable for wireless communication between an AP 102 and one or more STAs 104. 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 may include a legacy portion that itself includes a legacy short training field (L-STF) 206, which may consist of two binary phase shift keying (BPSK) symbols, a legacy long training field (L-LTF) 208, which may consist of two BPSK symbols, and a legacy signal field (L-SIG) 210, which may consist of two BPSK symbols. The legacy portion of the preamble 202 may be configured according to the IEEE 802.11a wireless communication protocol standard. The preamble 202 may also include a non-legacy portion including one or more non-legacy fields 212, for example, conforming to an IEEE wireless communication protocol such as the IEEE 802.11ac, 802.11ax, 802.11be, or later wireless communication protocol protocols.


The L-STF 206 generally enables a receiving device to perform coarse timing and frequency tracking and automatic gain control (AGC). The L-LTF 208 generally enables a receiving device to perform fine timing and frequency tracking and also to perform an initial estimate of the wireless channel. The L-SIG 210 generally enables a receiving device to determine a duration of the PDU and to use the determined duration to avoid transmitting on top of the PDU. For example, the L-STF 206, the L-LTF 208, and the L-SIG 210 may be modulated according to a binary phase shift keying (BPSK) modulation scheme. The payload 204 may be modulated according to a BPSK modulation scheme, a quadrature BPSK (Q-BPSK) modulation scheme, a quadrature amplitude modulation (QAM) modulation scheme, or another appropriate modulation scheme. The payload 204 may include a PSDU including a data field (DATA) 214 that, in turn, may carry higher layer data, for example, in the form of medium access control (MAC) protocol data units (MPDUs) or an aggregated MPDU (A-MPDU).



FIG. 3 shows an example L-SIG 300 in the PDU 200 of FIG. 2. The L-SIG 300 includes a data rate field 302, a reserved bit 304, a length field 306, a parity bit 308, and a tail field 310. The data rate field 302 indicates a 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 a length of the packet in units of, for example, symbols or bytes. The parity bit 308 may be used to detect bit errors. The tail field 310 includes tail bits that may be used by the receiving device to terminate operation of a decoder (for example, a Viterbi decoder). The receiving device may utilize the data rate and the length indicated in the data rate field 302 and the length field 306 to determine a duration of the packet in units of, for example, microseconds (μs) or other time units.


In some aspects, the access point 102 and stations 104 may include means for transmitting, means for receiving, means for communicating, and means for advertising. Such means may include one or more components of the access point 102 and stations 104 discussed with reference to FIGS. 1, 2, 4, 10, 11A, and 11B.



FIG. 4 illustrates an example implementation of a system-on-a-chip (SOC) 400, which may include a central processing unit (CPU) 402 or a multi-core CPU configured for generating gradients for neural network training, in accordance with certain aspects of the present disclosure. The SOC 400 may be included in the access point 102 and stations 104. Variables (e.g., neural signals and synaptic weights), system parameters associated with a computational device (e.g., neural network with weights), delays, frequency bin information, and task information may be stored in a memory block associated with a neural processing unit (NPU) 408, in a memory block associated with a CPU 402, in a memory block associated with a graphics processing unit (GPU) 404, in a memory block associated with a digital signal processor (DSP) 406, in 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 a memory block 418.


The SOC 400 may also include additional processing blocks tailored to specific functions, such as a GPU 404, a DSP 406, a connectivity block 410, which may include fifth generation (5G) connectivity, fourth generation long term evolution (4G LTE) connectivity, Wi-Fi connectivity, USB connectivity, Bluetooth connectivity, and the like, 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, image signal processors (ISPs) 416, and/or navigation module 420, which may include a global positioning system.


The SOC 400 may be based on an ARM instruction set. In an aspect of the present disclosure, the instructions loaded into the general-purpose processor 402 may comprise code to transmit a first message indicating support for machine learning by the first WLAN device. The instructions loaded into the general-purpose processor 402 may also comprise code to receive, from a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device. The instructions loaded into the general-purpose processor 402 may further comprise code to activate a machine learning session with the second WLAN device based at least in part on the second message. The instructions loaded into the general-purpose processor 402 may also comprise code to receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


In an aspect of the present disclosure, the instructions loaded into the general-purpose processor 402 may comprise code to receive a first message indicating support for machine learning by the first WLAN device. The instructions loaded into the general-purpose processor 402 may also comprise code to transmit, to a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device. The instructions loaded into the general-purpose processor 402 may further comprise code to activate a machine learning session with the second WLAN device based at least in part on the second message. The instructions loaded into the general-purpose processor 402 may also comprise code to transmit, to the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


Deep learning architectures may perform an object recognition task by learning to represent inputs at successively higher levels of abstraction in each layer, thereby building up a useful feature representation of the input data. In this way, deep learning addresses a major bottleneck of traditional machine learning. Prior to the advent of deep learning, a machine learning approach to an object recognition problem may have relied heavily on human engineered features, perhaps in combination with a shallow classifier. A shallow classifier may be a two-class linear classifier, for example, in which a weighted sum of the feature vector components may be compared with a threshold to predict to which class the input belongs. Human engineered features may be templates or kernels tailored to a specific problem domain by engineers with domain expertise. Deep learning architectures, in contrast, may learn to represent features that are similar to what a human engineer might design, but through training. Furthermore, a deep network may learn to represent and recognize new types of features that a human might not have considered.


A deep learning architecture may learn a hierarchy of features. If presented with visual data, for example, the first layer may learn to recognize relatively simple features, such as edges, in the input stream. In another example, if presented with auditory data, the first layer may learn to recognize spectral power in specific frequencies. The second layer, taking the output of the first layer as input, may learn to recognize combinations of features, such as simple shapes for visual data or combinations of sounds for auditory data. For instance, higher layers may learn to represent complex shapes in visual data or words in auditory data. Still higher layers may learn to recognize common visual objects or spoken phrases.


Deep learning architectures may perform especially well when applied to problems that have a natural hierarchical structure. For example, the classification of motorized vehicles may benefit from first learning to recognize wheels, windshields, and other features. These features may be combined at higher layers in different ways to recognize cars, trucks, and airplanes.


Neural networks may be designed with a variety of connectivity patterns. In feed-forward networks, information is passed from lower to higher layers, with each neuron in a given layer communicating to neurons in higher layers. A hierarchical representation may be built up in successive layers of a feed-forward network, as described above. Neural networks may also have recurrent or feedback (also called top-down) connections. In a recurrent connection, the output from a neuron in a given layer may be communicated to another neuron in the same layer. A recurrent architecture may be helpful in recognizing patterns that span more than one of the input data chunks that are delivered to the neural network in a sequence. A connection from a neuron in a given layer to a neuron in a lower layer is called a feedback (or top-down) connection. A network with many feedback connections may be helpful when the recognition of a high-level concept may aid in discriminating the particular low-level features of an input.


The connections between layers of a neural network may be fully connected or locally connected. FIG. 5A illustrates an example of a fully connected neural network 502. In a fully connected neural network 502, a neuron in a first layer may communicate output to every neuron in a second layer, so that each neuron in the second layer will receive input from every neuron in the first layer. FIG. 5B illustrates an example of a locally connected neural network 504. In a locally connected neural network 504, a neuron in a first layer may be connected to a limited number of neurons in the second layer. More generally, a locally connected layer of the locally connected neural network 504 may be configured so that each neuron in a layer will have the same or a similar connectivity pattern, but with connections strengths that may have different values (e.g., 510, 512, 514, and 516). The locally connected connectivity pattern may give rise to spatially distinct receptive fields in a higher layer, because the higher layer neurons in a given region may receive inputs that are tuned through training to the properties of a restricted portion of the total input to the network.


One example of a locally connected neural network is a convolutional neural network. FIG. 5C illustrates an example of a convolutional neural network 506. The convolutional neural network 506 may be configured such that the connection strengths associated with the inputs for each neuron in the second layer are shared (e.g., 508). Convolutional neural networks may be well suited to problems in which the spatial location of inputs is meaningful.


One type of convolutional neural network is a deep convolutional network (DCN). FIG. 5D illustrates a detailed example of a DCN 500 designed to recognize visual features from an image 526 input from an image capturing device 530, such as a car-mounted camera. The DCN 500 of the current example may be trained to identify traffic signs and a number provided on the traffic sign. Of course, the DCN 500 may be trained for other tasks, such as identifying lane markings or identifying traffic lights.


The DCN 500 may be trained with supervised learning. During training, the DCN 500 may be presented with an image, such as the image 526 of a speed limit sign, and a forward pass may then be computed to produce an output 522. The DCN 500 may include a feature extraction section and a classification section. Upon receiving the image 526, a convolutional layer 532 may apply convolutional kernels (not shown) to the image 526 to generate a first set of feature maps 518. As an example, the convolutional kernel for the convolutional layer 532 may be a 5×5 kernel that generates 28×28 feature maps. In the present example, because four different feature maps are generated in the first set of feature maps 518, four different convolutional kernels were applied to the image 526 at the convolutional layer 532. The convolutional kernels may also be referred to as filters or convolutional filters.


The first set of feature maps 518 may be subsampled by a max pooling layer (not shown) to generate a second set of feature maps 520. The max pooling layer reduces the size of the first set of feature maps 518. That is, a size of the second set of feature maps 520, such as 14×14, is less than the size of the first set of feature maps 518, such as 28×28. The reduced size provides similar information to a subsequent layer while reducing memory consumption. The second set of feature maps 520 may be further convolved via one or more subsequent convolutional layers (not shown) to generate one or more subsequent sets of feature maps (not shown).


In the example of FIG. 5D, the second set of feature maps 520 is convolved to generate a first feature vector 524. Furthermore, the first feature vector 524 is further convolved to generate a second feature vector 528. Each feature of the second feature vector 528 may include a number that corresponds to a possible feature of the image 526, such as “sign,” “60,” and “100.” A softmax function (not shown) may convert the numbers in the second feature vector 528 to a probability. As such, an output 522 of the DCN 500 is a probability of the image 526 including one or more features.


In the present example, the probabilities in the output 522 for “sign” and “60” are higher than the probabilities of the others of the output 522, such as “30,” “40,” “50,” “70,” “80,” “90,” and “100”. Before training, the output 522 produced by the DCN 500 is likely to be incorrect. Thus, an error may be calculated between the output 522 and a target output. The target output is the ground truth of the image 526 (e.g., “sign” and “60”). The weights of the DCN 500 may then be adjusted so the output 522 of the DCN 500 is more closely aligned with the target output.


To adjust the weights, a learning algorithm may compute a gradient vector for the weights. The gradient may indicate an amount that an error would increase or decrease if the weight were adjusted. At the top layer, the gradient may correspond directly to the value of a weight connecting an activated neuron in the penultimate layer and a neuron in the output layer. In lower layers, the gradient may depend on the value of the weights and on the computed error gradients of the higher layers. The weights may then be adjusted to reduce the error. This manner of adjusting the weights may be referred to as “back propagation” as the manner involves a “backward pass” through the neural network.


In practice, the error gradient of weights may be calculated over a small number of examples, so that the calculated gradient approximates the true error gradient. This approximation method may be referred to as stochastic gradient descent. Stochastic gradient descent may 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, the DCN may be presented with new images (e.g., the speed limit sign of the image 526) and a forward pass through the network may yield an output 522 that may be considered an inference or a prediction of the DCN.


Deep belief networks (DBNs) are probabilistic models comprising multiple layers of hidden nodes. DBNs may be used to extract a hierarchical representation of training data sets. A DBN may be obtained by stacking up layers of Restricted Boltzmann Machines (RBMs). An RBM is a type of artificial neural network that can learn a probability distribution over a set of inputs. Because RBMs can learn a probability distribution in the absence of information about the class to which each input should be categorized, RBMs are often used in unsupervised learning. Using a hybrid unsupervised and supervised paradigm, the bottom RBMs of a DBN may be trained in an unsupervised manner and may serve as feature extractors, and the top RBM may be trained in a supervised manner (on a joint distribution of inputs from the previous layer and target classes) and may serve as a classifier.


Deep convolutional networks (DCNs) are networks of convolutional networks, 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 in which both the input and output targets are known for many exemplars and are used to modify the weights of the network by use of gradient descent methods.


DCNs may be feed-forward networks. In addition, as described above, the connections from a neuron in a first layer of a DCN to a group of neurons in the next higher layer are shared across the neurons in the first layer. The feed-forward and shared connections of DCNs may be exploited for fast processing. The computational burden of a DCN may be much less, for example, than that of a similarly sized neural network that comprises recurrent or feedback connections.


The processing of each layer of a convolutional network may be considered 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, then the convolutional network trained on that input may be considered three-dimensional, with two spatial dimensions along the axes of the image and a third dimension capturing color information. The outputs of the convolutional connections may be considered to form a feature map in the subsequent layer, with each element of the feature map (e.g., 220) receiving input from a range of neurons in the previous layer (e.g., feature maps 218) and from each of the multiple channels. The values in the feature map may be further processed with a non-linearity, such as a rectification, max(0, x). Values from adjacent neurons may be further pooled, which corresponds to down sampling, and may provide additional local invariance and dimensionality reduction. Normalization, which corresponds to whitening, may also be applied through lateral inhibition between neurons in the feature map.


The performance of deep learning architectures may increase as more labeled data points become available or as computational power increases. Modern deep neural networks are routinely trained with computing resources that are thousands of times greater than what was available to a typical researcher just fifteen years ago. New architectures and training paradigms may further boost the performance of deep learning. Rectified linear units may reduce a training issue known as vanishing gradients. New training techniques may reduce over-fitting and thus enable larger models to achieve better generalization. Encapsulation techniques may abstract data in a given receptive field and further boost overall performance.



FIG. 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. As shown in FIG. 6, the deep convolutional network 650 includes the convolution blocks 654A, 654B. Each of the convolution blocks 654A, 654B may be configured with a convolution layer (CONV) 656, a normalization layer (LNorm) 658, and a max pooling layer (MAX POOL) 660.


The convolution layers 656 may include one or more convolutional filters, which may be applied to the input data to generate a feature map. Although only two of the convolution blocks 654A, 654B are shown, the present disclosure is not so limiting, and instead, any number of the convolution blocks 654A, 654B may be included in the deep convolutional network 650 according to design preference. The normalization layer 658 may normalize the output of the convolution filters. For example, the normalization layer 658 may provide whitening or lateral inhibition. The max pooling layer 660 may provide down sampling aggregation over space for local invariance and dimensionality reduction.


The parallel filter banks, for example, of a deep convolutional network may be loaded on a CPU 402 or GPU 404 of an SOC 400 to achieve high performance and low power consumption. In alternative embodiments, the parallel filter banks may be loaded on the DSP 406 or an ISP 416 of an SOC 400. In addition, the deep convolutional network 650 may access other processing blocks that may be present on the SOC 400, such as sensor processor 414 and navigation module 420, dedicated, respectively, to sensors and navigation.


The deep convolutional network 650 may also include one or more fully connected layers 662 (FC1 and FC2). The deep convolutional network 650 may further 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) that are to be updated. The output of each of the layers (e.g., 656, 658, 660, 662, 664) may serve as an input of a succeeding one of the layers (e.g., 656, 658, 660, 662, 664) in the deep convolutional network 650 to learn hierarchical feature representations from input data 652 (e.g., images, audio, video, sensor data and/or other input data) supplied at the first of the convolution blocks 654A. The output of the deep convolutional network 650 is a classification score 666 for the input data 652. The classification score 666 may be a set of probabilities, where each probability is the probability of the input data, including a feature from a set of features.



FIG. 7 is a block diagram illustrating a machine learning model at a high level, in accordance with aspects of the present disclosure. The machine learning (ML) model of FIG. 7 is specified by: X—input; Y—output; and f—an underlying function such that Y=f(X). The input may be measurements and preprocessing steps, and the output may be characteristics of Wi-Fi features to be optimized, for example. From a dataset D={X,Y}, a machine learning model learns the mapping f: X→Y. In other words, the machine learning model operates as a function approximator. In one example, the output, Y, may be a best uplink modulation and coding scheme (MCS) index when the input, X, is a vector of observations including a received signal strength indicator (RSSI), a packet data radio (PDR), and a number of overlapping basic service sets (OBSSs).


Machine learning paradigms include supervised learning, unsupervised learning, and reinforcement learning. For supervised learning, an annotated dataset, such as a labeled image, is given. With supervised learning, data collection is an offline process. The goal of supervised learning is to learn a mapping between the annotated dataset and labels. Collecting annotated data, however, is a challenge for supervised learning. Examples of supervised learning models include neural networks, decision trees, support vector machines (SVMs), etc. For unsupervised learning, data is not annotated. Therefore, the unsupervised learning attempts to find patterns and insights. An example of an unsupervised learning technique is clustering.



FIG. 8 is a block diagram illustrating an example of a reinforcement learning model, in accordance with aspects of the present disclosure. Reinforcement learning is another machine learning paradigm. With reinforcement learning, a system is given, and the system may include an agent 802 that interacts with an environment 804. The system also includes states St, actions At, and rewards Rt, where t represents a time step. The objective of reinforcement learning is to learn a policy, such as a mapping from a state St to an action At. The agent 802 may learn through experience by taking action and observing rewards. Example reinforcement learning techniques include deep Q networks, policy gradient, etc.


Multiple levels of machine learning usage and collaboration exist. In other words, a hierarchy exists for where a machine learning model and the model's data reside. For example, a model and data may both be stored locally. In another example, the model is local, but locally stored data and data solicited from other devices in the BSS may be utilized for training, such that standards may apply for the data exchange. For example, the access point (AP) may solicit measurements from associated stations (STAs). In still another level of the hierarchy, a model is local and the model may be transported between an access point and the stations. For example, the stations may download machine learning model structure information and machine learning model parameters from the access point. Model refinement may be allowed, however, the refined model remains local in this level of the hierarchy. For example, in this level of the hierarchy, the data is local and solicited, and standards may apply to the data exchange, model definition, and model transport. In yet another hierarchy level, the model is shared, such that stations and access points exchange a model structure and parameters. In this hierarchy level, the model is refined and shared, and data is both local and solicited. Standards may apply for the data exchange, model definition, and model transport in this hierarchy level.


Although aspects of the present disclosure are described with respect to supervised learning models, the present disclosure is not so limited. For example, reinforcement learning schemes (e.g., deep Q learning) are also contemplated, as are unsupervised models.



FIG. 9A is a table illustrating an example of machine learning capabilities of a wireless device, in accordance with aspects of the present disclosure. In these aspects of the present disclosure, a wireless device, such as an access point or a station, may communicate machine learning capabilities. A combination of use case, machine learning model, output, and input may form a machine learning function. Each machine learning function offered by the access point is uniquely identified by a function ID value assigned to that function by the access point.


As an example of communicating machine learning capabilities, an 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. In the example shown in FIG. 9A, 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 may be indicated with a binary representation. In the example of FIG. 9A, EDCA optimization is represented by 0001, and traffic classification is represented by 1001, although these values are merely exemplary. The fields and values of each use case may be standardized. In some aspects, the access point shares the use case with stations during discovery. The use case may also be referred to as a descriptor or feature ID. Advertising may refer to broadcasting or otherwise communicating a message.


The access point may advertise one or more machine learning models for each use case. The advertised machine learning model is a type of learning technique and structure. For example, a random forest technique with 20 decision trees, each tree having a max depth of seven is shown in the table of FIG. 9A for the first traffic classification use case. Another example is a deep neural network (DNN) with three hidden layers, each hidden layer having 50 neurons. The access point advertises this DNN model for the second traffic classification use case, in the example of FIG. 9A. For the EDCA optimization shown in FIG. 9A, the access point advertises a decision tree with a maximum depth of seven. Similar to use cases, the standards may define fields and values for each type of machine learning model. In the example of FIG. 9A, the decision tree is represented by 01001, the random forest is represented by 01000, and the DNN is represented by 10000, although these values are merely example values. The structure of the machine learning model may have encoding standardized, in some aspects.


The access point may advertise the output of the machine learning model. For example, for the EDCA optimization use case shown in FIG. 9A, the model may output a maximum contention window CW_max and a minimum contention window CW_min for video and voice access categories (AC_VI and AC_VO). For the random forest traffic classification model, in the example of FIG. 9A, the access point advertises six dimensions, and probability values for six differentiated services code points (DSCPs). For the DNN, the access point advertises an output of ten dimensions with probability values for ten DSCPs. The fields and values may be standardized for the outputs.


The access point may advertise input features of the machine learning model. For example, for the EDCA optimization use case shown in FIG. 9A, the access point advertises fifteen inputs, along with encoding of the features. Example inputs may include measured loss rate and measured throughput. In the traffic classification examples, the access point advertises five and eight input features, respectively, along with encoding of the features. Example inputs may include maximum packet size and minimum inter-arrival time. The fields and values may be standardized for input features.


The first column on FIG. 9A shows a function ID. According to aspects of the present disclosure, a function ID is a representation of a four element tuple: <Descriptor, ML model, Input, Output>. The function ID is a unique identifier for a machine learning function supported by the access point. The field may be standardized, with the value assigned by the access point. An access point may support a finite number of functions, each function having a unique function ID. In the example of FIG. 9A, the EDCA use case has a function ID of zero, while the traffic classification use cases have values of two and three, respectively.


As noted above, a wireless specification (e.g., 802.11) may standardize some of the machine learning information. For example, each use case may have a unique descriptor, which may be standardized in the specification (e.g., traffic prediction=0001, rate adaptation=0010, etc.). The descriptor may be shared by the access point with non-access point stations during discovery.


In some aspects, partial information of the machine learning model may be shared by the access point during discovery. Complete information may be shared during or after setup. A complete description of the machine learning model includes (i) model name (e.g., type), (ii) model structure, and (iii) model parameters. Options for standardizing these components are now discussed.


In some aspects, the specifications may define a set of machine learning models for each use case. For example, for a particular use case, the specifications may define a random forest model with a fixed structure. In these aspects, the model parameters may be exchanged over an air interface, such as an 802.11 air interface.


In other aspects, the specifications may define encoding for individual components of a machine learning algorithm. In other words, different components of the machine learning model may be standardized. For example, the standards may define an encoding for the name/type of the machine learning model, structure of the machine learning model, and parameters of the machine learning model. 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), recurrent neural network (RNN)). Each type may be assigned an identifier (e.g., RF=0001, DNN=0010, etc.). The specifications 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., the 802.11 air interface. The parameters may be carried in elements and frames. Examples of parameters are weights for a trained neural network.


In other aspects of the present disclosure, external standardized interfaces define machine learning algorithm components, including the machine learning model, structure, and parameters. For example, the Predictive Model Markup Language (PMML) or Open Neural Network Exchange (ONNX) may be used to define the components. In these aspects, the exchange of model type, structure, 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.


According to aspects of the present disclosure, the specifications may standardize input. In some aspects, a standard set of input features may be defined, such as maximum loss rate, average RSSI, etc. These aspects may be suitable when machine learning models (including the structure) are also standardized, as described above.


In other aspects, the specifications 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, an input feature to the machine learning model may be represented as one or more operations over a measurement (e.g., average RSSI, maximum loss rate, last known MCS). These aspects may be suitable when encoding for machine learning models and structures is used (either in 802.11 or external standards) as described above.


In still other aspects, the specifications may define a combination of a standard set of input features and a standard set of measurements. In these aspects, the specifications may define a standard set of inputs and additional inputs may be chosen by the access point using, for example, when the standards define a set of measurements and operations, as described above. Information pertaining to the input of the machine learning models may be shared after setup.


The specifications may define a candidate set of outputs for a use case. In some aspects, an access point may only support a subset of these outputs. For example, for EDCA optimization, the standards may define CW_min, CW_max, arbitration interframe spacing (AIFS), a transmission opportunity limit (TXOPLimit) for access classes video, voice, background traffic, and best effort traffic (AC_VI, AC_VO, AC_BK, AC_BE) as sixteen potential outputs. In the example of FIG. 9A, the access point that supports the EDCA optimization only provides CW_min and CW_max for AC_VI and AC_VO as outputs. In other aspects, the specification may define a set of output variables and a set of operations over the output variables (similar to as described above with respect to the inputs). Information pertaining to the output of the machine learning models may be shared after setup.



FIG. 9B is a call flow diagram illustrating a machine learning framework for wireless local area networks (WLANs), in accordance with aspects of the present disclosure. Capability exchange between an access point and a non-access point station will now be described in more detail. According to aspects of the present disclosure, an access point may advertise use cases supported for machine learning (e.g., EDCA optimization, interference estimation, traffic classification). For example, as seen in FIG. 9B, at 910 an access point 102 transmits a message indicating its machine learning capabilities. Each access point may advertise multiple machine learning models for the same use case (e.g., random forests and DNN for traffic classification, as seen in FIG. 9A). For each machine learning function (which may be identified by a function ID), the access point announces a level of machine learning support. For example, the access point may announce support of proprietary models by non-access point STAs. That is, non-access point stations may use proprietary models to optimize WLAN features that are otherwise specified in the standards. The access point may also offer downloadable trained models. Referring back to FIG. 9A, these levels of support may include a downloaded model that cannot be re-trained by the non-access point, as seen with respect to EDCA optimization. This level of support may be selected when fairness with legacy stations that do not use machine learning is a consideration. Other levels of support are seen with respect to traffic classification. In a first level, the downloaded model can be re-trained by the non-access point but no upload of the updated model and aggregation is supported (e.g., no federated learning). In a second level, a downloaded model can be re-trained by the non-access point and the updated model can be uploaded to the access point (e.g., federated learning). This level is seen in the last row of the traffic classification use case (with DNN).


For a multi-link device (MLD) access point, supported use cases, machine learning models, or parameters may be different on different links. The access point announcements may be transmitted by the access point pre-association, during association, or post-association.


A non-access point station may also transmit announcements. For example, as seen in FIG. 9B, a non-access point station 104 may transmit a message indicating a machine learning capability of the station 104 at 920. The non-access point station may indicate use cases of interest, for example, using a traffic classification model. The non-access point station may announce support of certain machine learning models, measurements, and operations. In one example, the non-access point station may support random forest models, but may not support DNN. As another example, the non-access point station may support basic operations, but may not support fast Fourier transformations (FFT).


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; a last known value; and/or a count attribute, such as a count attribute with a specified observation window. Statistical operations may include, for example: averaging, such as averaging with a specified observation window; and/or a quantile operation, such as a quantile operation with a specified observation window and quantile. An example of a signal processing operation includes a fast Fourier transform (FFT), such as an FFT with a specified size.


The non-access point station may indicate computational capabilities (e.g., hardware acceleration, and million instructions per second (MIPS) constraints), and a location with respect to the access point. The non-access point station may also indicate mobility information, such as a mobility level (e.g., walking or stationary), as well as an environment of the station (e.g., residential, outdoor, or stadium).


The non-access point station may select from the same four levels of support as the access point. For example, for one of the levels, the non-access point station may indicate the non-access point supports using a downloaded model but does not support re-training the downloaded model. For an MLD non-access point, supported use cases and machine learning models may be different on different links. These announcements by the non-access point may be transmitted during an association phase or a post-association phase.


Referring again to FIG. 9B, at 930, the access point may communicate information associated with a machine learning model for use between the access point 102 and the station 104, based on the exchanged capability messages. In some aspects, partial information of the machine learning model may be shared by the access point during discovery. Complete information may be shared during or after setup. A complete description of the machine learning model includes (i) model name (e.g., type), (ii) model structure, and (iii) model parameters. In aspects of the present disclosure, the exchange of model type, structure, 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.


At 940, the access point 102 and 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 machine learning model's use can be enabled through the access point's BSS, including by stations 104 that might not otherwise possess the ability to train complex models. The machine learning techniques can be used to (jointly) optimize one or more 802.11 features, which may be difficult to optimize using conventional (e.g., non-machine learning) techniques. For example, rate adaptation is a complex problem that involves the interplay of several 802.11 parameters (bandwidth, number of spatial streams, MCS, etc.) and machine learning can be used to jointly optimize these parameters.


According to aspects of the present disclosure, inputs to the machine learning model may 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), channel number, number of re-transmissions, handoff/association failures (with cause codes if available), a successful number of triggered transmissions (e.g., number of trigger based PPDUs) versus total packets transmitted (number of single user (SU) PPDU), number of requests to send/clear to send (RTS/CTS) exchanges, neighboring access point's RSSI, multi-user (MU) order, number of MU multiple input multiple output (MIMO) PPDUs and packet error rate (PER), number of MU orthogonal frequency division multiplexing access (OFDMA) PPDUs and PER, as well as power control parameters (e.g., allowed transmit power).


Other measurements relate to medium statistics, such as congestion statistics (e.g., busy status, number of collisions), number of neighboring access points, (SU/MU) EDCA values, whether spatial reuse (SR) is enabled, as well as overlapping basic service set/preamble detection (OBSS-PD) threshold values.


Still, other measurements relate to applications and usage statistics, such as delay statistics, packet-size distribution, user activity per-hour (for power saving), speed of the user (if available), residential or enterprise environment (if known), and requested quality of service (QoS) values/admission control (AC)/delay.


Some measurements may relate to device version, capabilities, and state. Examples include which amendment (e.g., specification name), Wi-Fi capabilities, remaining battery state-of-charge, and authentication-type.


Using these building blocks, any arbitrary input feature may be described. On any given measurement, zero or more operations may be performed. In a first example, where the feature for the machine learning model is downlink aggregate packet size, the measurement may be of a downlink packet size, and the operation may be a sum operation with a specified observation window. In a second example, where the feature for the machine learning model is maximum packet size, the measurement may be of a downlink packet size, and the operation may be a quantile operation with a specified observation window and quantile (e.g., 100). In a third example, where the feature for the machine learning model is a 512 point FFT, the measurement may be of a downlink packet size. In this third example, three operations may be: to sample with a specified observation window and sampling interval, to sum with a specified observation window, and to perform a FFT with a specified size.


By enabling machine learning, access point (AP) and station (STA) communications may be improved. In some examples, the described techniques, such as communicating between an access point and a non-access point station based on a machine learning model, 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. Moreover, downloadable models may help in creating fairness amongst the users of the machine learning models.



FIG. 10 is a block diagram of an example wireless communication device 1000, in accordance with aspects of the present disclosure. In some implementations, the wireless communication device 1000 can be an example of a device for use in a STA, such as one of the STAs 104 described above with reference to FIG. 1. In some implementations, the wireless communication device 1000 can be an example of a device for use in an AP, such as the AP 102 described above with reference to FIG. 1. The wireless communication device 1000 is capable of transmitting and receiving wireless communications in the form of, for example, wireless packets. For example, the wireless communication device 1000 can be configured to transmit 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) conforming to an IEEE 802.11 wireless communication protocol standard, such as that defined by the IEEE 802.11-2016 specification or amendments thereof including, but not limited to, 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be.


The wireless communication device 1000 can be, or can include, a chip, system on chip (SoC), chipset, package, or device that includes one or more modems 1002, for example, a Wi-Fi (IEEE 802.11 compliant) modem. In some implementations, the one or more modems 1002 (collectively “the modem 1002”) additionally include a wireless wide area network (WWAN) modem (for example, 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 “the processor 1004”) coupled with the modem 1002. In some implementations, the wireless communication device 1000 additionally includes one or more radios 1006 (collectively “the radio 1006”) coupled with the modem 1002. In some implementations, the wireless communication device 1000 further includes one or more memory blocks or elements 1008 (collectively “the memory 1008”) coupled with the processor 1004 or the modem 1002.


The modem 1002 can include an intelligent hardware block or device such as, for example, an application-specific integrated circuit (ASIC), among other examples. The modem 1002 is generally configured to implement a PHY layer, and in some implementations, also a portion of a MAC layer (for example, a hardware portion of the MAC layer). For example, the modem 1002 is configured to modulate packets and to output the modulated packets to the radio 1006 for transmission over the wireless medium. The modem 1002 is similarly configured to obtain modulated packets received by the radio 1006 and to demodulate the packets to provide demodulated packets. In addition to a modulator and a demodulator, the modem 1002 may further include digital signal processing (DSP) circuitry, automatic gain control (AGC) circuitry, a coder, a decoder, a multiplexer, and a demultiplexer. For example, while in a transmission mode, data obtained from the processor 1004 may be provided to an encoder, which encodes the data to provide coded bits. The coded bits may then be mapped to a number network slice subnet (NSS) of spatial streams for spatial multiplexing or a number of space-time streams for space-time block coding (STBC). The coded bits in the streams may then be mapped to points in a modulation constellation (using a selected MCS) to provide modulated symbols. The modulated symbols in the respective spatial or space-time streams may be multiplexed, transformed via an inverse fast Fourier transform (IFFT) block, and subsequently provided to the DSP circuitry (for example, for Tx windowing and filtering). The digital signals may then be provided to a digital-to-analog converter (DAC). The resultant analog signals may then be provided to a frequency upconverter, and ultimately, the radio 1006. In implementations involving beamforming, the modulated symbols in the respective spatial streams are precoded via a steering matrix prior to their provision to the IFFT block.


While in a reception mode, the DSP circuitry is configured to acquire a signal including modulated symbols received from the radio 1006, for example, by detecting the presence of the signal and estimating the initial timing and frequency offsets. The DSP circuitry is further configured to digitally condition the signal, for example, using channel (narrowband) filtering and analog impairment conditioning (such as correcting for in-phase/quadrature (UQ) imbalance), and by applying digital gain to ultimately obtain a narrowband signal. The output of the DSP circuitry may then be fed to the AGC, which is configured to use information extracted from the digital signals, for example, in one or more received training fields, to determine an appropriate gain. The output of the DSP circuitry also is coupled with a demultiplexer that demultiplexes the modulated symbols when multiple spatial streams or space-time streams are received. The demultiplexed symbols may be provided to a demodulator, which is configured to extract the symbols from the signal and, for example, compute the logarithm likelihood ratios (LLRs) for each bit position of each subcarrier in each spatial stream. The demodulator is coupled with the decoder, which may be configured to process the LLRs to provide decoded bits. The decoded bits may then be descrambled and provided to the MAC layer (e.g., the processor 1004) for processing, evaluation, or interpretation.


The radio 1006 generally includes at least one radio frequency (RF) transmitter (or “transmitter chain”) and at least one RF receiver (or “receiver chain”), which may be combined into one or more transceivers. For example, each of the RF transmitters and receivers may include various analog circuitry including at least one power amplifier (PA) and at least one low-noise amplifier (LNA), respectively. The RF transmitters and receivers may, in turn, be coupled to one or more antennas. For example, in some implementations, the wireless communication device 1000 can include, or be coupled with, multiple transmit antennas (each with a corresponding transmit chain) and multiple receive antennas (each with a corresponding receive chain). The symbols output from the modem 1002 are provided to the radio 1006, which then transmits the symbols via the coupled antennas. Similarly, symbols received via the antennas are obtained by the radio 1006, which then provides the symbols to the modem 1002.


The processor 1004 can include an intelligent hardware block or device such as, for example, 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 designed to perform the functions described herein. The processor 1004 processes information received through the radio 1006 and the modem 1002, and processes information to be output through the modem 1002 and the radio 1006 for transmission through the wireless medium. For example, the processor 1004 may implement a control plane and at least a portion of a MAC layer 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 MPDUs for provision to the PHY layer for coding, and to receive decoded information bits from the PHY layer for processing as MPDUs. The MAC layer may further be configured to allocate time and frequency resources, for example, for OFDMA, among other operations or techniques. In some implementations, the processor 1004 may generally control the modem 1002 to cause the modem 1002 to perform various operations described above.


The memory 1008 can include tangible storage media such as random-access memory (RAM) or read-only memory (ROM), or combinations thereof. The memory 1008 also can 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 the generation, transmission, reception, and interpretation of MPDUs, frames or packets. For example, various functions of components disclosed herein, or various blocks or steps of a method, operation, process or algorithm disclosed herein, can be implemented as one or more modules of one or more computer programs.



FIG. 11A is a block diagram of an example AP 1102, in accordance with aspects of the present disclosure. For example, the AP 1102 can be an example implementation of the AP 102 described with reference to FIG. 1. The AP 1102 includes a wireless communication device (WCD) 1110 (although the AP 1102 may itself also be referred to generally as a wireless communication device as used herein). For example, the wireless communication device 1110 may be an example implementation of the wireless communication device 1000 described with reference to FIG. 10. The AP 1102 also includes multiple antennas 1120 coupled with the wireless communication device 1110 to transmit and receive wireless communications. In some implementations, the AP 1102 additionally includes an application processor 1130 coupled with the wireless communication device 1110, and a memory 1140 coupled with the application processor 1130. The AP 1102 further includes at least one external network interface 1150 that enables the AP 1102 to communicate with a core network or backhaul network to gain access to external networks including the Internet. For example, the external network interface 1150 may include one or both of a wired (for example, Ethernet) network interface and a wireless network interface (such as a WWAN interface). One or more of the aforementioned components can communicate with other components directly or indirectly, over at least one bus. The AP 1102 further includes a housing that encompasses the wireless communication device 1110, the application processor 1130, the memory 1140, and at least portions of the antennas 1120, and external network interface 1150.



FIG. 11B is a block diagram of an example STA 1104, in accordance with aspects of the present disclosure. For example, the STA 1104 can be an example implementation of the STA 104 described with reference to FIG. 1. The STA 1104 includes a wireless communication device 1115 (although the STA 1104 may itself also be referred to generally as a wireless communication device as used herein). For example, the wireless communication device 1115 may be an example implementation of the wireless communication device 1000 described with reference to FIG. 10. The STA 1104 also includes one or more antennas 1125 coupled with the wireless communication device 1115 to transmit and receive wireless communications. The STA 1104 additionally includes an application processor 1135 coupled with the wireless communication device 1115, and a memory 1145 coupled with the application processor 1135. In some implementations, the STA 1104 further includes a user interface (UI) 1155 (such as a touchscreen or keypad) and a display 1165, which may be integrated with the UI 1155 to form a touchscreen display. In some implementations, the STA 1104 may further include one or more sensors 1175 such as, for example, one or more inertial sensors, accelerometers, temperature sensors, pressure sensors, or altitude sensors. One or more of the aforementioned components can communicate with other components directly or indirectly, over at least one bus. The STA 1104 further includes a housing that encompasses the wireless communication device 1115, the application processor 1135, the memory 1145, and at least portions of the antennas 1125, UI 1155, and display 1165.


The access point 102 and stations 104 may each include a machine learning (ML) module in the CPU 402, GPU 404, DSP 406, NPU 408, memory 418, processor 1004, memory 1008, memory 1140, application processor 1130, memory 1145, and/or application processor 1135 of FIGS. 4, 10, 11A, and 11B. The machine learning module may transmit a first message indicating support for machine learning by the first wireless local area network (WLAN) device. The machine learning module may also receive, from a second WLAN device, a second message. The second message indicates support for at least one machine learning model type by the second WLAN device. The machine learning module may further activate a machine learning session with the second WLAN device based at least in part on the second message. The machine learning module may also receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.



FIG. 12 is a flow diagram 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 wireless local area networks (WLANs).


As shown in FIG. 12, in some aspects, the process 1200 may include transmitting 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 indicating at least one of: 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 upload of updated model parameters is not supported, or the machine learning model can be retrained by the second wireless device and upload of updated model parameters is supported.


In some aspects, the process 1200 may include receiving, from a second wireless device, a second message indicating a second machine learning capability of the second wireless device (block 1204). For example, the second machine learning capability may indicate a second use case and at least one supported second machine learning model. The second machine learning capability may also indicate a location of the second wireless device relative to the first wireless device, a mobility level of the second device, and computational capabilities of the second wireless device.


In some aspects, the process 1200 may include communicating 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 communicate the information by transmitting a function identifier (ID) that identifies a machine learning function. The function ID may indicate a selected use case, the machine learning model, a set of inputs, and an output. In some aspects, communicating the information may include transmitting a link to an external server for downloading the machine learning model. In other aspects, communicating of the information may include transmitting initial information for a supported machine learning function during discovery and transmitting additional information for the supported machine learning function during or after setup.


In some aspects, the process 1200 may include communicating with the second wireless device based at least in part on the machine learning model (block 1208). For example, the machine learning model may be a model of a set of standardized models for a selected use case or a set of standardized components. In some aspects, parameters and a structure of the machine learning model are defined by an external interface. A set of inputs to the machine learning model may be a standardized set of input features and/or input features defined by the first wireless device and including a standardized set of measurements and a standardized set of operations applied to the measurements. A set of outputs from the machine learning model may be a subset of standardized candidate outputs and/or a standardized set of outputs.



FIG. 13 is a block diagram of an example wireless communication device 1300 that supports a machine learning framework for WLAN, in accordance with various aspects of the present disclosure. In some implementations, the wireless communication device 1300 is configured to perform one or more steps of the process 1200 described above with reference to FIG. 12. The wireless communication device 1300 may be an example implementation of the wireless communication device 1000 described above with reference to FIG. 10. For example, the wireless communication device 1300 can be a chip, SoC, chipset, package or device that includes at least one modem (for example, a Wi-Fi (IEEE 802.11) modem or a cellular modem such as the modem 1002), at least one processor (such as the processor 1004), at least one radio (such as the radio 1006) and at least one memory (such as the memory 1008). In some implementations, the wireless communication device 1300 can be a device for use in an AP, such as one of the APs 102 and 1102 described above with reference to FIGS. 1 and 11A, respectively. In some other implementations, the wireless communication device 1300 can be an AP that includes such a chip, SoC, chipset, package, or device as well as at least one antenna (such as the antennas 1120).


The wireless communication device 1300 includes a transmitting component 1302, a receiving component 1304, a communicating 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 the 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 the memory 1008). For example, portions of one or more of the components 1302, 1304, 1306, or 1308 can be implemented as non-transitory instructions (or “code”) executable by a processor (such as the processor 1004) to perform the functions or operations of the respective module.


The transmitting component 1302 is configured to transmit a first message indicating a first machine learning capability of the first wireless device.


The receiving component 1304 is configured to receive, from a second wireless device, a second message indicating a second machine learning capability of the second wireless device.


The communicating information component 1306 is configured to communicate 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 communication component 1308 is configured to communicate with the second wireless device based at least in part on the machine learning model.



FIG. 14 is a block diagram of an example wireless communication device 1400 that supports a machine learning framework for a WLAN, in accordance with various aspects of the present disclosure. In some implementations, the wireless communication device 1400 is configured to perform one or more steps of the process 1200 described above with reference to FIG. 12. The wireless communication device 1400 may be an example implementation of the wireless communication device 1000 described above with reference to FIG. 10. For example, the wireless communication device 1400 can be a chip, SoC, chipset, package or device that includes at least one modem (for example, a Wi-Fi (IEEE 802.11) modem or a cellular modem such as the modem 1002), at least one processor (such as the processor 1004), at least one radio (such as the radio 1006) and at least one memory (such as the memory 1008). In some implementations, the wireless communication device 1400 can be a device for use in a STA, such as one of the STAs 104 and 1104 described above with reference to FIGS. 1 and 11B, respectively. In some other implementations, the wireless communication device 1400 can be a station (STA) that includes such a chip, SoC, chipset, package or device as well as at least one antenna (such as the antennas 1125).


The wireless communication device 1400 includes a transmitting component 1402, a receiving component 1404, a communicating 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 the 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 the memory 1008). For example, portions of one or more of the components 1402, 1404, 1406, or 1408 can be implemented as non-transitory instructions (or “code”) executable by a processor (such as the processor 1004) to perform the functions or operations of the respective module.


The transmitting component 1402 is configured to transmit a first message indicating a first machine learning capability of the first wireless device.


The receiving component 1404 is configured to receive, from a second wireless device, a second message indicating a second machine learning capability of the second wireless device.


The communicating information component 1406 is configured to communicate 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 communication component 1408 is configured to communicate with the second wireless device based at least in part on the machine learning model.


Aspects of the present disclosure are directed to signaling details and operational aspects for implementing artificial intelligence and machine learning in WLANs. Signaling details may include container structures, such as frames and information elements. Operational aspects may include operational mode changes and an indication of information during machine learning usage in the basic service set (BSS).


According to aspects of the present disclosure, information is efficiently communicated between devices in the WLAN on an as-needed basis. Which information to communicate depends on whether a device is in a discovery or association state.



FIG. 15 is a table illustrating WLAN phases for various machine learning operations, in accordance with various aspects of the present disclosure. During a discovery phase, beacon messages are transmitted. For example, basic information may be provided, such as whether a WLAN device supports machine learning. The information containers during the discovery phase may indicate machine learning support with low overhead relative to providing all machine learning information in beacon messages. During a probing phase, additional machine learning information is provided. For example, supported or desired use cases, and supported machine learning levels (as described above), may be indicated. The containers exchanged during the probing phase may indicate support of specific use cases.


During an association phase with the access point, complete machine learning information may be provided for each desired use case. Machine learning functions may be communicated. Optionally, a model structure, model parameters, and/or model input and output may be communicated. In some aspects, however, the machine learning model structure information, machine learning model parameters, and/or model input and output may be communicated during a post-association phase, when operating with the access point. The containers during the association phase should be able to carry machine learning model structure information and model parameter information.


Machine learning model parameters may indicate algorithm specific information, such as weights of a neural network based model, decision variables at nodes of a decision tree or random forest model, and/or decision boundaries at nodes of a decision tree or random forest model. In some aspects, the machine learning model structure information may indicate a number of convolution layers of a convolutional neural network based model, a number of pooling layers of a convolutional neural network based model, a number of fully connected layers of a neural network based model, and/or a number of input and output features for a neural network based model. The machine learning model structure information may also indicate a number of neurons in the convolution layers of a convolutional neural network based model, a number of neurons in the fully connected layers of a neural network based model, and/or activation functions for the hidden layers in a neural network based model. The machine learning model structure information may indicate a loss function for a neural network model, dropout information for a neural network model, a maximum depth of the decision tree for a decision tree model, a number of decision trees for a random forest model, and/or a maximum depth of a decision tree for a random forest model.


When operating with the access point, post-association, complete information and model updates for each use case may be communicated. Moreover, changes to the machine learning operating mode may be communicated. The containers during the post-association phase may indicate the machine learning model structure information and machine learning parameters, enable and disable use cases, and provide feedback on models. The communications in each of the phases can be between two peer stations or between an access point and a station.


As noted, information is efficiently communicated between devices in the WLAN on an as-needed basis. For example, beacons may only include limited information. In some implementations, beacons may indicate the support for machine learning by the access point (AP). The indication may be binary: support or do not support. Alternatively, beacons may advertise a list of use cases, such as the descriptor or feature identification that the access point supports.


Additional partial information may be solicited by probing. Non-access point wireless stations (STAs) may request the set of use cases and machine learning models supported by the access point. In response, the access point may provide basic information of the supported machine learning models, such as the function ID, model type, structure, and level of support.


In some implementations, access point and non-access point wireless devices may use generic advertisement service (GAS) frames to exchange the information, instead of beacons and probes.


Complete information may be provided during an association phase or after the association phase. In this context, complete information comprises model input and output, model structure, and model parameters. By sharing this information during or after association, only legitimate clients receive access to the machine learning models.



FIG. 16 is a state diagram illustrating machine learning session states, in accordance with various aspects of the present disclosure. Machine learning operation in the BSS can occur through machine learning sessions, which have multiple states. An associated machine learning inactive state 1602 is the initial state where a client is associated with the access point while the client is in an inactive state for machine learning. In another example, the client may be in the machine learning active state immediately after association. Communication between two peer stations, such as an access point and a station, or two peer-to-peer (P2P) stations, may establish a machine learning session by activating the machine learning session. One station initiates the session activation by sending an activation request to the controlling station. The controlling station sends an activation response to the initiating station. Session activation may occur after association, following a session termination, or following a session suspension. Once activated, the client enters an associated machine learning active state 1604 during which the client may configure and use machine learning algorithms. While in the associated machine learning active state 1604, either station may update the operating mode (OM). A machine learning session may be established per machine learning function identified by a function ID or may be established across all machine learning functions between the peer stations.


Either peer may terminate or suspend a machine learning session. A first station initiates the session termination or suspension by sending a termination or suspension request to the second station. The second station may send a session termination or suspension response to confirm the termination or suspension. As a result, the client enters an associated machine learning suspended state 1606 or the associated machine learning inactive state 1602. State information is associated with and stored for an active session. By suspending the session, the information remains stored and reactivation may occur quickly. By tearing down the session, the state information is discarded. A peer station may suspend a machine learning session if the peer station is temporarily not using a machine learning function, for example, because of low battery power or high processor load. A peer station may terminate a machine learning session if the peer station does not intend to use the machine learning function in the future, for example, because of poor machine learning model performance. In another example, a station may terminate the machine learning session if the station intends to disassociate with the association access point.


According to aspects of the present disclosure, machine learning operation in the BSS during an active machine learning session specifies a controlling entity (such as an access point) to have fine-grained control on how machine learning is used in the BSS. This fine-grained control enables the controlling entity to be fair to legacy stations while enhancing performance of stations that support machine learning, preventing abuse, and allowing the controlling entity to revert to fallback options (such as non-machine learning approaches). For example, channel access should be fair such that both machine learning capable and non-machine learning capable stations have equal access. To provide fair access, the controlling entity may disable machine learning for all stations. While the controlling entity may be described as the access point, the present disclosure is not so limited. The controlling entity may also be a non-access point station for peer-to-peer sessions.


Access point operations will now be described. The following operations are applicable to all levels of model support (e.g., proprietary models, federated learning models, downloaded and trained models that are not uploaded, and downloaded models that cannot be re-trained).


An access point may dynamically enable or disable machine learning inference in its BSS. In some aspects, the access point may dynamically enable or disable other aspects of machine learning usage, such as training or uploading of trained models. Signaling may be introduced to indicate whether the use of machine learning inference is allowed for a particular interval of time. For example, the access point may configure time division multiplexing such that stations with machine learning capabilities operate during some service periods, whereas stations without machine learning capabilities operate in other service periods. This may allow the access point to create intervals where stations that do not support machine learning remain unaffected due to operation of stations that support machine learning. The signaling may also indicate whether the use of machine learning inference is recommended for a particular interval of time, and whether the use of machine learning inference is mandatory for a particular interval of time. If a station does not support machine learning inference or has temporarily disabled machine learning, the station shall not operate during the interval where machine learning inference is mandatory.


Signaling may also be introduced to indicate what portion of data can be used for deriving machine learning inference. Each portion of data may refer to a subset in the time domain or a subset of features, such as the frequency domain. For example, measurements during certain time periods may be excluded from input to the machine learning model because those measurements occurred during a time period experiencing unusual interference. By including those measurements, model output may be skewed. Thus, the measurements may be excluded to improve model performance.


The signaling may also indicate what portion of data can be used for machine learning training (e.g., model training), where the portion may again refer to a subset in the time domain or a subset of features, such as the frequency domain. Signaling may also be introduced to indicate intervals of time where the access point coordinates with the non-access point stations to support validating a learned machine learning model. During this interval, the access point may transmit synthesized or artificial data to assist the non-access point station with model validation.


In some aspects, the signaling is on a per use case basis. For example, during a particular interval, enhanced distributed channel access (EDCA) parameter optimization may be disallowed, however, interference estimation may be allowed. The indications may be addressed to individual stations or may be broadcasted. For example, if the access point observes a station aggressively accessing the channel after downloading a machine learning function for the EDCA optimization use case, the access point may transmit an individual addressed signal to the station to disable the use of the EDCA optimization machine learning function.


Some access point operations may only be applicable to downloadable models. These operations may entail signaling on a per use case basis, with the signaling either individually addressed or broadcast. For example, an access point may indicate that new models are available for download. The indication may be per use case. The indication may be implicit. For example, the access point may announce the periodicity of updates during machine learning session setup or during association with the station. The access point may also provide different model parameters to different stations. The different model parameters may be for the same function ID. The differences may result from a distance between the station and the access point, mobility of the station, capabilities of the station, or different links if the access point and the stations support multi-link operations.


In some aspects, an access point may request a station to indicate whether a particular downloaded machine learning model is in use by the station. For example, even if a model has been downloaded, the model may not be in use due to battery or CPU load considerations of the station. The request clarifies whether the model is in use. The access point may request the non-access point (e.g., the station) to provide a reason code for not using the downloaded model. In some aspects, the access point may request the station to suspend or terminate the machine learning session if a downloaded model is not used by the station. As noted above, the access point maintains the state of machine learning sessions. The access point may no longer want to maintain the state and may thus request termination or suspension of the session.


The access point may solicit feedback on the performance of downloaded models. In some implementations, the access point may fall back to non-machine learning techniques based on feedback, such as when the model is not working well.


Some access point operations are applicable to re-trainable models. These operations may entail signaling on a per use case basis, with the signaling either individually addressed or broadcast. These operations may specify signaling where the access point requests stations to indicate whether they re-train a model. This information may be useful to the access point when troubleshooting disparate performance across stations when the stations use a downloaded machine learning model.


Non-access point operations are now described. These operations may be applicable to devices that support downloadable models. In some aspects, a non-access point may not use a downloaded machine learning model for certain intervals. The model may not be used, for example, due to poor model performance, battery constraints, or CPU load constraints. A non-access point may elect to suspend or teardown a machine learning session if the non-access point is not using the downloaded machine learning model. The non-access point may also indicate whether the non-access point uses a downloaded machine learning model for inference. The indication may be solicited or unsolicited. In some aspects, the signaling may include an optional reason code. The non-access point may provide (e.g., solicited or unsolicited) feedback to the access point on the performance of the model. For re-trainable models where retraining occurs, a non-access point may indicate (e.g., solicited or unsolicited) whether the non-access point has retrained a downloaded model.


For federated learning models, a non-access point may upload a downloaded model only if the non-access point retrains the downloaded model. This limitation may reduce overhead. In some cases, a non-access point may not elect to retrain a downloaded model. In other cases, a non-access point may elect to retrain but not upload the retrained model.


If a level of support by an access point is not the same as a level of support by a non-access point, the lower of the two support levels will be used. For example, if the access point supports federated learning for a use case (e.g., downloadable models can be re-trained and uploaded), and an associated station supports downloaded models that cannot be retrained, then the downloaded model without retraining is used between the access point and station.


Containers for machine learning information exchange will now be described. An information element is one example of a container. According to aspects of the present disclosure, an information element should be flexible enough to carry multiple different types of information related to machine learning. For example, the information element should be able to carry information indicating support of machine learning, support of machine learning use cases, machine learning model structures, machine learning model parameters, machine learning model input and output, and/or machine learning operating modes. The information element should be flexible enough to carry a partial set or a complete set of information. One or more fields or subfields may always be included in the information element. For example, a field or subfield for general information or common information may be included. The information element may also include one or more optional fields or subfields and sub-elements (e.g., a function information sub-element).


The information element may have multiple variants. Each variant may be used for a specific purpose. For example, one variant may be for advertisement, and another variant may be for information exchange. A third variant may be for operating modes and indications, such as indicating whether the client is using a downloaded model, model performance feedback, etc.



FIG. 17 is a block diagram illustrating components of an information element for machine learning information exchange, in accordance with various aspects of the present disclosure. In the example of FIG. 17, the information element includes a control field 1702, a general information field 1704, an optional information field 1706, and a function information field 1708. The element ID, length, and element ID extension fields are not discussed, as they are conventional 802.11 fields. The control field 1702 indicates the element variant, and may also include presence indicators for general information field and optional information field(s) and subfields therein. For example, the variant may indicate the type, such as whether the element is for advertisement, information exchange, etc. The presence indicator for general information may include a descriptor bitmap indicating which subfields are present. The presence indicator for optional information may indicate whether the optional information field 1706 is present. In the example of FIG. 17, the optional information field 1706 is indicated as not present with bitmap 000000, but other signaling may be used to indicate the absence of the option information field.


The general information field 1704 may include a descriptor bitmap subfield 1710, an artificial intelligence/machine learning (AI/ML) capabilities subfield 1712, and other subfield(s) 1714. The presence indicator for general information may indicate which subfields are present. In the example of FIG. 17, the bitmap 010000 indicates the descriptor bitmap subfield 1710 is not present, but the AI/ML capabilities subfield 1712 is present.


The descriptor bitmap subfield 1710 indicates which use cases are supported. In the example of FIG. 17, EDCA optimization and rate adaptation are supported, while CSI enhancement is not supported. The AI/ML capabilities subfield 1712 indicates the capabilities supported. In the example of FIG. 17, hardware acceleration, random forest models, fast Fourier transform computation, and receive signal strength indication (RSSI) measurement are supported. Neural networks and federated learning are not supported. The subfield 1714 can have many uses. For example, the subfield 1714 may be used to indicate whether machine learning is supported.


The function information field 1708 includes function profile subfields 1716 (only one subfield is labeled for ease of illustration). Each function profile subfield 1716 includes a function control subfield 1718 and a model information subfield 1720. The function control subfield 1718 indicates a function ID, a descriptor, and model information type. In the example of FIG. 17, the function ID is zero, the descriptor is EDCA optimization, and the model information type is URL (the machine learning model is downloaded from an external server, as described above). The model information subfield 1720 indicates a link (e.g., URL) for download of the machine learning model structure information and machine learning model parameters. In other implementations, the model information subfield 1720 indicates a model type, machine learning model structure information and machine learning model parameters. Additional fields may also be provided to a server for various purposes, as described above.


Frames are another type of container for machine learning information exchange. In some examples, frames may be defined for exchanging the machine learning model and its parameters, session initiation and teardown, operating mode updates, and indications pertaining to machine learning operations. Frames may enable semi-static configuration.


Frames for exchanging the machine learning model and its parameters may be new action frames to download and upload partial or complete information of machine learning models. These frames may be transmitted during a machine learning session setup, such as during a machine learning session activation. Additionally, the frames may be transmitted before or after activation. In other implementations, existing management frames may be allowed to carry this information. For example, during association, (re)association request/response frames may be used.


Frames for session initiation and teardown may be action frames. These action frames may activate a machine learning session or suspend or teardown a machine learning session. Frames may also update the machine learning operating mode. These frames may enable or disable machine learning inference, change a machine learning model in use, etc. Frames may also provide some types of indications. These frames may indicate availability of new or re-trained models, solicit or provide feedback on machine learning model performance, etc.


For faster information exchange, other types of containers may be used for machine learning information exchange. For example, an aggregate control (A-Control) or a similar field may quickly be used to exchange information related to machine learning operation.



FIG. 18 is a block diagram illustrating components of an A-Control field for machine learning information exchange, in accordance with various aspects of the present disclosure. In the example of FIG. 18, a control subfield of the A-control field includes a control ID subfield 1802 and a control information subfield 1804. The control ID subfield 1802 indicates a new A-Control type for artificial intelligence machine learning (AUML) operations.


The control information subfield 1804 includes a type subfield 1806. The type subfield 1806 may indicate the functionality of the A-Control field. One type may indicate activation, suspension, or teardown of a machine learning session. Another type may indicate a change of a machine learning model under use. A third type may indicate feedback for a machine learning model under use. The remaining bits in the control information subfield 1804 may carry information pertaining to that functionality in a type-specific information subfield 1808. The type-specific information subfield 1808 may include a function ID to identify the machine learning function pertaining to the carried information.


Four non-limiting examples for use of the A-Control field are now described. In a first example related to session information, the control information subfield 1804 may indicate whether to terminate, activate, or suspend a session for a function ID five. In a second example related to operating modes, the control information subfield 1804 may request a change of the machine learning model from function ID four to function ID seven. In this second example, updated machine learning model structure information and machine learning model parameters are exchanged. In a third example related to indications, the control information subfield 1804 may indicate model performance unsatisfactory for function ID one. In a fourth example related to rewards in reinforcement learning scenarios, the control information subfield 1804 indicates reward signaling for reinforcement learning models or provide information pertaining to the updated states of the agent in the environment.



FIG. 19 is a call flow diagram illustrating a machine learning framework for wireless local area networks (WLANs), in accordance with various aspects of the present disclosure. According to aspects of the present disclosure, an access point (AP) 102 may establish a machine learning session with a station (STA) 104. For example, as seen in FIG. 19, at 1910, the access point 102 transmits a message indicating support for machine learning. The message may be a beacon message, in some implementations. The station 104 may transmit a message, at 1920, indicating support for at least one machine learning model type. At 1930, the station 104 may initiate a machine learning session by sending an activation request to the access point 102. At 1940, the access point 102 may respond with an activation response. The session activation may occur immediately after association, after a session termination, or after a session suspension. At 1950, the station 104 transmits a machine learning model download request to the access point 102. At 1960, the access point 102 may transmit machine learning model structure information and machine learning model parameters during the machine learning session. Although FIG. 19 shows various messages between an access point and a station, the present disclosure is not so limited. The messages may also be exchanged between two peer stations.



FIG. 20 is a block diagram of an example wireless communication device 2000 that supports a machine learning framework for a wireless local area network (WLAN), in accordance with various aspects of the present disclosure. In some implementations, the wireless communication device 2000 is configured to perform one or more steps of the process 2100 described with reference to FIG. 21. The wireless communication device 2000 may be an example implementation of the wireless communication device 1000 described above with reference to FIG. 10. For example, the wireless communication device 2000 can be a chip, SoC, chipset, package or device that includes at least one modem (for example, a Wi-Fi (IEEE 802.11) modem or a cellular modem such as the modem 1002), at least one processor (such as the processor 1004), at least one radio (such as the radio 1006) and at least one memory (such as the memory 1008). In some implementations, the wireless communication device 2000 can be a device for use in an AP, such as one of the APs 102 and 1102 described above with reference to FIGS. 1 and 11A, respectively. In some other implementations, the wireless communication device 2000 can be an AP that includes such a chip, SoC, chipset, package, or device as well as at least one antenna (such as the antennas 1120).


The wireless communication device 2000 includes a transmitting component 2002, a receiving component 2004, an activating component 2006, and a receiving component 2008. Portions of one or more of the components 2002, 2004, 2006, and 2008 may be implemented at least in part in hardware or firmware. For example, the receiving component 2004 may be implemented at least in part by a modem (such as the modem 1002). In some implementations, at least some of the components 2002, 2004, 2006, and 2008 are implemented at least in part as software stored in a memory (such as the memory 1008). For example, portions of one or more of the components 2002, 2004, 2006, or 2008 can be implemented as non-transitory instructions (or “code”) executable by a processor (such as the processor 1004) to perform the functions or operations of the respective module.


The transmitting component 2002 is configured to transmit a first message indicating support for machine learning by the first WLAN device. In other aspects, the transmitting component 2002 is configured to transmit, to a second WLAN device, a second message indicating support for one or more machine learning model type(s) by the second WLAN device. The transmitting component 2002 may also be configured to transmit, to the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


The receiving component 2004 is configured to receive, from a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device. In other aspects, the receiving component 2004 is configured to receive a first message indicating support for machine learning by the first WLAN device.


The activating component 2006 is configured to activate a machine learning session with the second WLAN device based at least in part on the second message.


The receiving component 2008 is configured to receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.



FIG. 21 is a flow diagram illustrating an example process performed, for example, by a wireless local area network (WLAN) device, in accordance with various aspects of the present disclosure. As shown in FIG. 21, in some aspects, the process 2100 may transmit a first message indicating support for machine learning by the first WLAN device (block 2102). In some aspects, the process 2100 may receive, from a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device (block 2104). For example, the first WLAN device may transmit and receive at least one information element, each information element including at least one of: control information, general information, optional information, and functional information comprising multiple function profiles. Each of the function profiles comprises information pertaining to a machine learning function, the machine learning model structure information and the machine learning model parameters. In some aspects, the information element includes information related to at least one of: support of machine learning, support of machine learning use cases, the machine learning model structure information, the machine learning model parameters, machine learning model input, machine learning model output, and a machine learning operating mode.


In other aspects, the first WLAN device transmits and receives at least one frame for at least one of: exchanging the machine learning model structure information and the machine learning model parameters, activating the machine learning session, suspending the machine learning session, tearing down the machine learning session, updating a machine learning operating mode, and providing indications pertaining to machine learning operations.


In still other aspects, the first WLAN device may transmit and receive at least one aggregate control (A-control) field, the A-control field comprising a control subfield indicating use of A-control for machine learning purposes, the control subfield including a type indicator and a type specific information indicator. The first message may be a beacon message and the second message may be a probe message. In other implementations, the first message is a first generic advertisement service (GAS) message and the second message is a second GAS message.


In some aspects, the process 2100 may activate a machine learning session with the second WLAN device based at least in part on the second message (block 2106). For example, the first WLAN device may be configured to activate the machine learning session after association, after termination of a previous machine learning session, or after suspension of the machine learning session. The first WLAN device may be configured to update an operating mode during the machine learning session. A machine learning session may be established for an individual machine learning function or for machine learning functions.


In some aspects, the process 2100 may receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session (block 2108). For example, the machine learning model parameters may indicate at least one of weights of a neural network based model, decision variables at nodes of a decision tree or a random forest model, or decision boundaries at nodes of the decision tree or the random forest model. The machine learning model structure information may indicate at least one of: a quantity of convolution layers of a convolutional neural network based model, a quantity of pooling layers of the convolutional neural network based model, a quantity of fully connected layers of a neural network based model, a quantity of input and output features for the neural network based model, a quantity of neurons in the convolution layers of the convolutional neural network based model, a quantity of neurons in the fully connected layers of the neural network based model, activation functions for hidden layers in the neural network based model, a loss function for the neural network based model, dropout information for the neural network based model, a maximum depth of a decision tree for a decision tree model, a quantity of decision trees for a random forest model, or a maximum depth of a decision tree for the random forest model.



FIG. 22 is a flow diagram illustrating an example process performed, for example, by a wireless local area network (WLAN) device, in accordance with various aspects of the present disclosure. As shown in FIG. 22, in some aspects, the process 2200 may receive a first message indicating support for machine learning by the first WLAN device (block 2202). In some aspects, the process 2200 may transmit, to a second WLAN device, a second message. The second message indicates support for one or more machine learning model type(s) by the second WLAN device (block 2204). For example, the first WLAN device may transmit and receive at least one information element, each information element including at least one of: control information, general information, optional information, and functional information comprising multiple function profiles. Each of the function profiles comprises information pertaining to a machine learning function, the machine learning model structure information and the machine learning model parameters. In some aspects, the information element includes information related to at least one of: support of machine learning, support of machine learning use cases, the machine learning model structure information, the machine learning model parameters, machine learning model input, machine learning model output, and a machine learning operating mode.


In other aspects, the first WLAN device transmits and receives at least one frame for at least one of: exchanging the machine learning model structure information and the machine learning model parameters, activating the machine learning session, suspending the machine learning session, tearing down the machine learning session, updating a machine learning operating mode, and providing indications pertaining to machine learning operations.


In still other aspects, the first WLAN device may transmit and receive at least one aggregate control (A-control) field, the A-control field comprising a control subfield indicating use of A-control for machine learning purposes, the control subfield including a type indicator and a type specific information indicator. The first message may be a beacon message and the second message may be a probe message. In other implementations, the first message is a first generic advertisement service (GAS) message and the second message is a second GAS message.


In some aspects, the process 2200 may activate a machine learning session with the second WLAN device based at least in part on the second message (block 2206). For example, the first WLAN device may be configured to activate the machine learning session after association, after termination of a previous machine learning session, or after suspension of the machine learning session. The first WLAN device may be configured to update an operating mode during the machine learning session. A machine learning session may be established for an individual machine learning function or for machine learning functions.


In some aspects, the process 2200 may transmit, to the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session (block 2208). For example, the machine learning model parameters may indicate at least one of weights of a neural network based model, decision variables at nodes of a decision tree or a random forest model, or decision boundaries at nodes of the decision tree or the random forest model. The machine learning model structure information may indicate at least one of: a quantity of convolution layers of a convolutional neural network based model, a quantity of pooling layers of the convolutional neural network based model, a quantity of fully connected layers of a neural network based model, a quantity of input and output features for the neural network based model, a quantity of neurons in the convolution layers of the convolutional neural network based model, a quantity of neurons in the fully connected layers of the neural network based model, activation functions for hidden layers in the neural network based model, a loss function for the neural network based model, dropout information for the neural network based model, a maximum depth of a decision tree for a decision tree model, a quantity of decision trees for a random forest model, or a maximum depth of a decision tree for the random forest model.


Example Aspects

Aspect 1: An apparatus for wireless communication by a first wireless local area network (WLAN) device, comprising: a memory; and at least one processor coupled to the memory, the at least one processor configured to: transmit a first message indicating support for machine learning by the first WLAN device; receive, from a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device; activate a machine learning session with the second WLAN device based at least in part on the second message; and receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


Aspect 2: The apparatus of Aspect 1, wherein the at least one processor is configured to transmit and receive at least one information element, each information element of the at least one information element including at least one of: control information, general information, optional information, and functional information comprising a plurality of function profiles, each of the plurality of function profiles comprising information pertaining to a machine learning function, the machine learning model structure information and the machine learning model parameters.


Aspect 3: The apparatus of Aspect 1 or 2, wherein the at least one information element includes information related to at least one of: support of machine learning, support of machine learning use cases, the machine learning model structure information, the machine learning model parameters, machine learning model input, machine learning model output, and a machine learning operating mode.


Aspect 4: The apparatus of any of the preceding Aspects, wherein each information element of the at least one information element has a plurality of variants.


Aspect 5: The apparatus of any of the preceding Aspects, wherein the machine learning model parameters indicate at least one of weights of a neural network based model, decision variables at nodes of a decision tree or a random forest model, or decision boundaries at nodes of the decision tree or the random forest model.


Aspect 6: The apparatus of any of the preceding Aspects, wherein the machine learning model structure information indicates at least one of: a quantity of convolution layers of a convolutional neural network based model, a quantity of pooling layers of the convolutional neural network based model, a quantity of fully connected layers of a neural network based model, a quantity of input and output features for the neural network based model, a quantity of neurons in the convolution layers of the convolutional neural network based model, a quantity of neurons in the fully connected layers of the neural network based model, activation functions for hidden layers in the neural network based model, a loss function for the neural network based model, dropout information for the neural network based model, a maximum depth of a decision tree for a decision tree model, a quantity of decision trees for a random forest model, or a maximum depth of a decision tree for the random forest model.


Aspect 7: The apparatus of any of the preceding Aspects, wherein the at least one processor is configured to transmit and receive at least one frame for at least one of: exchanging the machine learning model structure information and the machine learning model parameters, activating the machine learning session, suspending the machine learning session, tearing down the machine learning session, updating a machine learning operating mode, and providing indications pertaining to machine learning operations.


Aspect 8: The apparatus of any of the Aspects 1-6, wherein the at least one processor is configured to transmit and receive at least one aggregate control (A-control) field, the A-control field comprising a control subfield indicating use of A-control for machine learning purposes, the control subfield including a type indicator and a type specific information indicator.


Aspect 9: The apparatus of any of the preceding Aspects, wherein the first message comprises a beacon message and the second message comprises a probe message.


Aspect 10: The apparatus of any of the Aspects 1-8, wherein the first message comprises a first generic advertisement service (GAS) message and the second message comprises a second GAS message.


Aspect 11: The apparatus of any of the preceding Aspects, wherein the at least one processor is configured to activate the machine learning session after association, after termination of a previous machine learning session, or after suspension of the machine learning session.


Aspect 12: The apparatus of any of the preceding Aspects, wherein the at least one processor is configured to update an operating mode during the machine learning session.


Aspect 13: The apparatus of any of the preceding Aspects, wherein the machine learning session is established for an individual machine learning function.


Aspect 14: The apparatus of any of the Aspects 1-12, wherein the machine learning session is established for all machine learning functions.


Aspect 15: The apparatus of any of the preceding Aspects, wherein the at least one processor is configured to dynamically enable or disable machine learning inference.


Aspect 16: The apparatus of any of the preceding Aspects, wherein the at least one processor is configured to transmit information indicating at least one of: a first time interval for when machine learning inference is allowed, a second time interval for when machine learning inference is recommended, and a third time interval for when machine learning inference is mandatory.


Aspect 17: The apparatus of any of the Aspects 1-15, wherein the at least one processor is configured to transmit information indicating at least one of: a first portion of data to be used for generating a machine learning inference, a second portion of data to be used for machine learning training, and a third portion of data to be used for validating a machine learning model.


Aspect 18: The apparatus of any of the Aspects 1-15, wherein the at least one processor is configured to transmit information indicating at least one of: whether a new machine learning model is available for download, different model parameters for different WLAN devices, a request to identify whether the second WLAN device is using a downloaded machine learning model, a request to suspend or terminate the machine learning session when the second WLAN device is not using the downloaded machine learning model, request for performance feedback for the downloaded machine learning model, and an inquiry as to whether the second WLAN device has re-trained the model.


Aspect 19: The apparatus of any of the preceding Aspects, wherein the at least one processor is configured to receive a message for at least one of: when a downloaded machine learning model is not to be used, and a request to suspend or terminate the machine learning session when the first WLAN device is not using the downloaded machine learning model.


Aspect 20: The apparatus of claim 1, wherein the at least one processor is configured to transmit information indicating at least one of: whether the first WLAN device is using a downloaded machine learning model, feedback on model performance, and whether the first WLAN device has retrained the downloaded model.


Aspect 21: The apparatus of any of the Aspects 1-15, wherein the at least one processor is configured to upload a downloaded model in response to training the downloaded model.


Aspect 22: A method for wireless communication by a first wireless local area network (WLAN) device, comprising: transmitting a first message indicating support for machine learning by the first WLAN device; receiving, from a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device; activating a machine learning session with the second WLAN device based at least in part on the second message; and receiving, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


Aspect 23: The method of Aspect 22, further comprising transmitting and receiving at least one information element, each information element of the at least one information element including at least one of: control information, general information, optional information, and functional information comprising a plurality of function profiles, each of the plurality of function profiles comprising information pertaining to a machine learning function, the machine learning model structure information and the machine learning model parameters.


Aspect 24: The method of Aspect 22 or 23, wherein the at least one information element includes information related to at least one of: support of machine learning, support of machine learning use cases, the machine learning model structure information, the machine learning model parameters, machine learning model input, machine learning model output, and a machine learning operating mode.


Aspect 25: The method of any of the Aspects 22-24, further comprising transmitting and receiving at least one aggregate control (A-control) field, the A-control field comprising a control subfield indicating use of A-control for machine learning purposes, the control subfield including a type indicator and a type specific information indicator.


Aspect 26: The method of any of the Aspects 22-25, wherein the first message comprises a beacon message and the second message comprises a probe message.


Aspect 27: The method of any of the Aspects 22-25, wherein the first message comprises a first generic advertisement service (GAS) message and the second message comprises a second GAS message.


Aspect 28: The method of any of the Aspects 22-27, further comprising dynamically enabling or disabling machine learning inference.


Aspect 29: An apparatus for wireless communication by a first wireless local area network (WLAN) device, comprising: a memory; and at least one processor coupled to the memory, the at least one processor configured to: receive a first message indicating support for machine learning by the first WLAN device; transmit, to a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device; activate a machine learning session with the second WLAN device based at least in part on the second message; and transmit, to the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


Aspect 30: A method for wireless communication by a first wireless local area network (WLAN) device, comprising: receiving a first message indicating support for machine learning by the first WLAN device; transmitting, to a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device; activate a machine learning session with the second WLAN device based at least in part on the second message; and transmit, to the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


Aspect 31: An apparatus for wireless communication by a first wireless local area network (WLAN) device, comprising: means for transmitting a first message indicating support for machine learning by the first WLAN device; means for receiving, from a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device; means for activating a machine learning session with the second WLAN device based at least in part on the second message; and means for receiving, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


Aspect 32: A non-transitory computer readable medium storing program code for execution by a first wireless local area network (WLAN) device, the program code comprising: program code to transmit a first message indicating support for machine learning by the first WLAN device; program code to receive, from a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device; program code to activate a machine learning session with the second WLAN device based at least in part on the second message; and program code to receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.


The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the aspects to the precise form disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the aspects.


As used, the term “component” is intended to be broadly construed 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.


Some aspects are described in connection with thresholds. As used, satisfying a threshold may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, not equal to the threshold, and/or the like.


It will be apparent that systems and/or methods described may be implemented in different forms of hardware, firmware, and/or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the aspects. Thus, the operation and behavior of the systems and/or methods were 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.


Even though particular combinations of features are recited 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 may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various aspects includes each dependent claim in combination with every other claim in the claim set. A phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, and c-c-c or any other ordering of a, b, and c).


No element, act, or instruction used should be construed as critical or essential unless explicitly described as such. Also, as used, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Furthermore, as used, the terms “set” and “group” are intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, and/or the like), and may be used interchangeably with “one or more.” Where only one item is intended, the phrase “only one” or similar language is used. Also, as used, the terms “has,” “have,” “having,” and/or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.

Claims
  • 1. An apparatus for wireless communication by a first wireless local area network (WLAN) device, comprising: a memory; andat least one processor coupled to the memory, the at least one processor configured to: transmit a first message indicating support for machine learning by the first WLAN device;receive, from a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device;activate a machine learning session with the second WLAN device based at least in part on the second message; andreceive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.
  • 2. The apparatus of claim 1, wherein the at least one processor is configured to transmit and receive at least one information element, each information element of the at least one information element including at least one of: control information, general information, optional information, and functional information comprising a plurality of function profiles, each of the plurality of function profiles comprising information pertaining to a machine learning function, the machine learning model structure information and the machine learning model parameters.
  • 3. The apparatus of claim 2, wherein the at least one information element includes information related to at least one of: support of machine learning, support of machine learning use cases, the machine learning model structure information, the machine learning model parameters, machine learning model input, machine learning model output, and a machine learning operating mode.
  • 4. The apparatus of claim 2, wherein each information element of the at least one information element has a plurality of variants.
  • 5. The apparatus of claim 1, wherein the machine learning model parameters indicate at least one of weights of a neural network based model, decision variables at nodes of a decision tree or a random forest model, or decision boundaries at nodes of the decision tree or the random forest model.
  • 6. The apparatus of claim 1, wherein the machine learning model structure information indicates at least one of: a quantity of convolution layers of a convolutional neural network based model, a quantity of pooling layers of the convolutional neural network based model, a quantity of fully connected layers of a neural network based model, a quantity of input and output features for the neural network based model, a quantity of neurons in the convolution layers of the convolutional neural network based model, a quantity of neurons in the fully connected layers of the neural network based model, activation functions for hidden layers in the neural network based model, a loss function for the neural network based model, dropout information for the neural network based model, a maximum depth of a decision tree for a decision tree model, a quantity of decision trees for a random forest model, or a maximum depth of a decision tree for the random forest model.
  • 7. The apparatus of claim 1, wherein the at least one processor is configured to transmit and receive at least one frame for at least one of: exchanging the machine learning model structure information and the machine learning model parameters, activating the machine learning session, suspending the machine learning session, tearing down the machine learning session, updating a machine learning operating mode, and providing indications pertaining to machine learning operations.
  • 8. The apparatus of claim 1, wherein the at least one processor is configured to transmit and receive at least one aggregate control (A-control) field, the A-control field comprising a control subfield indicating use of A-control for machine learning purposes, the control subfield including a type indicator and a type specific information indicator.
  • 9. The apparatus of claim 1, wherein the first message comprises a beacon message and the second message comprises a probe message.
  • 10. The apparatus of claim 1, wherein the first message comprises a first generic advertisement service (GAS) message and the second message comprises a second GAS message.
  • 11. The apparatus of claim 1, wherein the at least one processor is configured to activate the machine learning session after association, after termination of a previous machine learning session, or after suspension of the machine learning session.
  • 12. The apparatus of claim 1, wherein the at least one processor is configured to update an operating mode during the machine learning session.
  • 13. The apparatus of claim 1, wherein the machine learning session is established for an individual machine learning function.
  • 14. The apparatus of claim 1, wherein the machine learning session is established for all machine learning functions.
  • 15. The apparatus of claim 1, wherein the at least one processor is configured to dynamically enable or disable machine learning inference.
  • 16. The apparatus of claim 15, wherein the at least one processor is configured to transmit information indicating at least one of: a first time interval for when machine learning inference is allowed, a second time interval for when machine learning inference is recommended, and a third time interval for when machine learning inference is mandatory.
  • 17. The apparatus of claim 1, wherein the at least one processor is configured to transmit information indicating at least one of: a first portion of data to be used for generating a machine learning inference, a second portion of data to be used for machine learning training, and a third portion of data to be used for validating a machine learning model.
  • 18. The apparatus of claim 1, wherein the at least one processor is configured to transmit information indicating at least one of: whether a new machine learning model is available for download, different model parameters for different WLAN devices, a request to identify whether the second WLAN device is using a downloaded machine learning model, a request to suspend or terminate the machine learning session when the second WLAN device is not using the downloaded machine learning model, request for performance feedback for the downloaded machine learning model, and an inquiry as to whether the second WLAN device has re-trained the model.
  • 19. The apparatus of claim 1, wherein the at least one processor is configured to receive a message for at least one of: when a downloaded machine learning model is not to be used, and a request to suspend or terminate the machine learning session when the first WLAN device is not using the downloaded machine learning model.
  • 20. The apparatus of claim 1, wherein the at least one processor is configured to transmit information indicating at least one of: whether the first WLAN device is using a downloaded machine learning model, feedback on model performance, and whether the first WLAN device has retrained the downloaded model.
  • 21. The apparatus of claim 1, wherein the at least one processor is configured to upload a downloaded model in response to training the downloaded model.
  • 22. A method for wireless communication by a first wireless local area network (WLAN) device, comprising: transmitting a first message indicating support for machine learning by the first WLAN device;receiving, from a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device;activating a machine learning session with the second WLAN device based at least in part on the second message; andreceiving, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.
  • 23. The method of claim 22, further comprising transmitting and receiving at least one information element, each information element of the at least one information element including at least one of: control information, general information, optional information, and functional information comprising a plurality of function profiles, each of the plurality of function profiles comprising information pertaining to a machine learning function, the machine learning model structure information and the machine learning model parameters.
  • 24. The method of claim 23, wherein the at least one information element includes information related to at least one of: support of machine learning, support of machine learning use cases, the machine learning model structure information, the machine learning model parameters, machine learning model input, machine learning model output, and a machine learning operating mode.
  • 25. The method of claim 22, further comprising transmitting and receiving at least one aggregate control (A-control) field, the A-control field comprising a control subfield indicating use of A-control for machine learning purposes, the control subfield including a type indicator and a type specific information indicator.
  • 26. The method of claim 22, wherein the first message comprises a beacon message and the second message comprises a probe message.
  • 27. The method of claim 22, wherein the first message comprises a first generic advertisement service (GAS) message and the second message comprises a second GAS message.
  • 28. The method of claim 22, further comprising dynamically enabling or disabling machine learning inference.
  • 29. (canceled)
  • 30. (canceled)
  • 31. A non-transitory computer-readable medium having program code recorded thereon, the program code executed by a processor and comprising: program code to transmit a first message indicating support for machine learning by the first WLAN device;program code to receive, from a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device;program code to activate a machine learning session with the second WLAN device based at least in part on the second message; andprogram code to receive, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.
  • 32. An apparatus for wireless communication by a first wireless local area network (WLAN) device, comprising: means for transmitting a first message indicating support for machine learning by the first WLAN device;means for receiving, from a second WLAN device, a second message indicating support for at least one machine learning model type by the second WLAN device;means for activating a machine learning session with the second WLAN device based at least in part on the second message; andmeans for receiving, from the second WLAN device, machine learning model structure information and machine learning model parameters during the machine learning session.