BROADCASTED RESIDUAL LEARNING

Certain aspects of the present disclosure provide techniques for efficient broadcasted residual machine learning. An input tensor comprising a frequency dimension and a temporal dimension is received, and the input tensor is processed with a first convolution operation to generate a multidimensional intermediate feature map comprising the frequency dimension and the temporal dimension. The multidimensional intermediate feature map is converted to a one-dimensional intermediate feature map in the temporal dimension using a frequency dimension reduction operation, and the one-dimensional intermediate feature map is processed using a second convolution operation to generate a temporal feature map. The temporal feature map is expanded to the frequency dimension using a broadcasting operation to generate a multidimensional output feature map, and the multidimensional output feature map is augmented with the multidimensional intermediate feature map via a first residual connection.

INTRODUCTION

Aspects of the present disclosure relate to machine learning, and more specifically, to efficient data processing.

Designing efficient machine learning architectures is an important topic in neural speech processing. In particular, keyword spotting (KWS), which aims to detect a predefined keyword, has become increasingly important. KWS plays a key role in device wake-up and user interaction on smart devices. However, it is challenging to provide models that minimize errors while also operating efficiently. Model efficiency is particularly important in KWS, as the process is typically performed in edge devices (e.g., in devices with limited resources such as mobile phones, smart speakers, and Internet of Things (IoT) devices) while simultaneously requiring low latency.

Accordingly, systems and methods are needed for providing high accuracy classifications with efficient model designs.

BRIEF SUMMARY

Certain aspects provide a method, comprising: receiving an input tensor comprising a frequency dimension and a temporal dimension; processing the input tensor with a first convolution operation to generate a multidimensional intermediate feature map comprising the frequency dimension and the temporal dimension; converting the multidimensional intermediate feature map to a one-dimensional intermediate feature map in the temporal dimension using a frequency dimension reduction operation; processing the one-dimensional intermediate feature map using a second convolution operation to generate a temporal feature map; expanding the temporal feature map to the frequency dimension using a broadcasting operation to generate a multidimensional output feature map; and augmenting the multidimensional output feature map with the multidimensional intermediate feature map via a first residual connection.

To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the drawings. It is contemplated that elements and features of one aspect may be beneficially incorporated in other aspects without further recitation.

DETAILED DESCRIPTION

Aspects of the present disclosure provide techniques for broadcasted residual learning. The techniques described herein provide high model accuracy and significantly improved computational efficiency (e.g., a small model size and light computational load), as compared to existing approaches.

A wide variety of efficient convolutional neural networks (CNNs) have been developed recently. Generally, the CNNs are made up of repeated blocks of the same structure and are often based on residual learning and depthwise separable convolutions. This has resulted in a number of CNN-based KWS approaches. Existing approaches either use one-dimensional temporal convolutions or two-dimensional (e.g., frequency and temporal) convolutions. Each approach has respective benefits and drawbacks.

For example, for models using one-dimensional temporal convolution, less computing resources are typically needed, as compared to models relying on two-dimensional approaches. However, with one-dimensional convolution, the internal biases of the convolution (such as translation equivariance) cannot be obtained for the frequency dimension.

On the other hand, approaches based on two-dimensional convolution require significantly more computational resources than one-dimensional methods, even when using efficient designs and architectures such as depthwise separable convolution. This may prevent such two-dimensional approaches from being useful for a wide variety of devices and implementations.

The broadcasted residual learning techniques described herein can be used to efficiently process data, both during training (while training data is passed through the model) and during runtime (when new data is passed through to generate inferences).

In some aspects, broadcasted residual learning is used to process and classify audio data and features (e.g., to perform KWS). Generally, the audio data and features can be represented using two-dimensional tensors (e.g., with a frequency dimension and a temporal dimension). Although audio is used in examples herein, aspects of the present disclosure can be readily applied to a wide variety of data.

In some aspects. The broadcasted residual learning generally involves performing convolution on input tensors to extract two-dimensional features, reducing the dimensionality of the two-dimensional features to allow for efficient convolutions on the features (e.g., requiring reduced computations, processing steps, and energy), expanding the resulting tensors to the original dimensionality of the two-dimensional features, and augmenting the expanded tensors with the original two-dimensional features. In some aspects, the expanded tensors are further augmented with the original input tensor.

In some aspects, the broadcasted residual learning described herein can be performed in a neural network architecture to perform a variety of tasks, such as classifying input audio. For example, the techniques described herein can be implemented as broadcasted residual learning blocks, and a number of these blocks can be used in sequence within a neural network architecture.

Advantageously, the broadcasted residual learning retains many residual functions of one-dimensional temporal convolution, while still allowing two-dimensional convolution to be used together via a broadcasted-residual connection that expands temporal output to the frequency dimension. This residual mapping enables the network to effectively represent useful audio features with far less computation than conventional convolutional neural networks, which reduces computational complexity, latency, compute requirements, memory requirements, and the like. In aspects, the broadcasted residual learning techniques described herein can achieve state-of-the-art accuracy on speech command datasets using fewer computations and parameters, as compared to conventional systems.

Example Workflow for Broadcasted Residual Learning

FIG. 1depicts an example workflow100for broadcasted residual learning. The workflow100begins with an input tensor105. In some examples, the tensor105may be audio data (e.g., represented by a log Mel spectrogram indicating a spectrum of frequencies over time), or audio features (e.g., features generated by processing audio data). In some aspects, the input tensor105is a two-dimensional tensor with a frequency dimension and a temporal dimension. The temporal dimension may be delineated into time intervals or steps, while the frequency dimension is delineated based on frequency values or bands. The frequencies present at each interval (e.g., the magnitude of sound at each frequency) can be reflected via the values in the tensor.

The input tensor105is processed using a first convolution operation110, resulting in a set of two-dimensional features maps115. As illustrated, the feature maps115have dimensionality H×W×c, where H and W are spatial dimensions (e.g., a temporal dimension and a frequency dimension, respectively) and c is the number of channels.

In one aspect, the convolution operation110is a depthwise convolution performed using one or more kernels configured to extract features of the frequency dimension. For example, the convolution operation110may use n×1 kernels, where n corresponds to the frequency dimension. That is, the depthwise kernels for the convolution operation110may have a length greater than one in the frequency dimension, with a length of one in the temporal dimension. This allows the convolution operation110to serve as a frequency depthwise convolution that extracts frequency features (e.g., feature maps115) for the tensor105.

As illustrated, these feature maps115are two-dimensional (with a length greater than one in both the frequency dimension and the temporal dimension). In the illustrated workflow100, a dimension reduction operation120is performed to reduce the dimensionality of the feature maps115. Specifically, the dimension reduction operation120may reduce the feature maps115to eliminate the frequency dimension and preserve the temporal dimension. This results in one-dimensional feature maps125. The feature maps125may have the same temporal dimensionality and number of channels as the feature maps115, but with a length of one in the frequency dimension.

The dimension reduction operation120is generally performed on a per frequency (or a per frequency band) basis, and can include a variety of techniques, including maximum pooling (such that the maximum value, or the feature with the most activated presence, is retained), average pooling (such that the average value is retained), minimum pooling (such that the minimum value is retained), and the like. In some aspects, the dimension reduction operation120can also be performed by convolving the feature maps115using an H×1 kernel without padding in order to reduce the dimension, where H corresponds to the size of the frequency dimension.

Advantageously, the one-dimensional feature maps125(which correspond to the temporal dimension) can be convolved with significantly fewer computational resources, as compared to traditional two-dimensional convolution. This significantly improves the efficiency of the broadcasted residual learning.

As illustrated, the feature maps125are processed using a second convolution operation130. In some aspects, the convolution operation130is a depthwise-separable convolution (e.g., a depthwise convolution followed by a pointwise convolution). In contrast to the convolution operation110(which corresponds to the frequency dimension), the convolution operation130may be performed using one or more kernels configured to extract features for the temporal dimension. For example, the convolution operation130may use 1×m kernels, where m corresponds to the temporal dimension.

That is, the depthwise kernels for the convolution operation130may have a length greater than one in the temporal dimension, with a length of one in the frequency dimension. This allows the convolution operation130to serve as a temporal depthwise convolution that extracts temporal features for the feature maps125. In some aspects, the convolution operation130may be a depthwise separable convolution. In such an aspect, following the temporal depthwise convolution, the convolution operation130can apply one or more pointwise kernels. This results in feature maps135.

In the workflow100, the feature maps135are then broadcasted to the frequency dimension, as indicated by the arrows137. This broadcasting operation (also referred to as an expanding operation) generally converts the one-dimensional feature maps135to multi-dimensional feature maps140with the same dimensionality as the feature maps115. In some aspects, the broadcasting involves copying and stacking the feature maps135until they reach a height of H (in this example).

The residual connection150reflects the residual nature of broadcasted residual learning. In the workflow100, the input tensor105is augmented with the feature maps140using operation145to generate the output155. In some aspects, the feature maps140may also or alternatively be augmented with the feature maps115. This operation145may generally include any number of combination techniques, including element-wise summation, averaging, multiplication, and the like. Advantageously, the residual connection150allows the system to retain two-dimensional features of the input, despite the dimension reduction operation120.

Example Residual Learning Techniques

Block200A reflects a conventional residual block used in some residual models. This block200A may be expressed as y=x+ƒ(x), where x and y are input and output features, respectively, and function ƒ(·) computes the convolution output. The identity shortcut of x and the result of ƒ(x) are of the same dimensionality and can be summed by simple element-wise addition.

Specifically, as illustrated by the residual block200A, the input205is processed using some convolution operation210. The resulting tensor can then be summed with the original input205(via the identity shortcut215), as indicated by operation220. This yields the output225of the ordinary residual block200A.

In aspects of the present disclosure, in order to utilize both one-dimensional and two-dimensional features together, the function ƒ(x) (reflected by convolution operation210) may be decomposed into ƒ1and ƒ2, which correspond to the temporal and two-dimensional operations, respectively. This is reflected in the broadcasted residual block200B.

The broadcasted residual block200B may be expressed as:

where x and y are input and output features, respectively, ƒ1and ƒ2are convolution operations, BC(·) is a broadcasting or expansion operation, and reduction(·) is a dimension reduction operation (e.g., average pooling by frequency dimension). In this equation, batch and channel dimensions are ignored for conceptual clarity, and the input feature x is inH×W, where H and W are the frequency and time steps, respectively.

As illustrated by the residual block200B, input250is processed using a convolution operation255to extract two-dimensional features. The resulting tensor can then be reduced using dimension reduction260, and the reduced tensor(s) are processed using the convolution operation265to extract temporal features. These features are then expanded to the frequency dimension and augmented with the original input250via the identity shortcut270, resulting in output280.

Example Broadcasted Residual Learning Block

FIG. 3is an example broadcasted residual learning block300for use in efficient processing of input data, such as audio input data.

As illustrated, an input tensor305is received and processed using a first operation310(labeled ƒ2inFIG. 3). The operation310corresponds to the two-dimensional feature extraction discussed above (e.g., convolution operation110), and yields two-dimensional feature maps inH×W(e.g., feature maps115inFIG. 1). As illustrated, the convolution operation310is performed using a frequency depthwise convolution320that comprises one or more n×1 frequency-depthwise convolution kernels.

As illustrated, the operation310also includes a SubSpectral Normalization (SSN) operation325. The SSN operation325generally operates by splitting the input features (generated by the frequency depthwise convolution320) into sub-bands in the frequency dimension, and separately normalizing each sub-band (e.g., with batch normalization). This allows the system to achieve frequency-aware temporal features, as compared to ordinary batch normalization on the entire feature set.

The system can then perform dimension reduction using operation330. In the illustrated example, broadcasted residual learning block300uses frequency average pooling to average the input features by frequency, resulting in features in1×Was discussed above (e.g., feature maps125inFIG. 1).

These features are then processed using a second operation340(labeled ƒ1inFIG. 3). The operation320may correspond to the temporal convolution operation discussed above (e.g., convolution operation130). In one aspect, the operation340is a depthwise separable convolution (e.g., a composite of a temporal depthwise convolution345and a pointwise convolution355).

The temporal depthwise convolution345may comprise one or more 1×m temporal-depthwise convolution kernels to generate temporal features (e.g., feature maps135inFIG. 1).

As illustrated, the operation340then includes a batch normalization operation350followed by swish activation (also indicated by350). Although swish activation is depicted inFIG. 3, in aspects, any suitable activation function can be used.

Following a pointwise convolution355, the operation340can also include channel-wise dropout (indicated by360) at a dropout rate p. This dropout can be used as regularization for the model in order to prevent overfitting and improve generalization. A broadcasting operation (which may correspond to the broadcasting operation137of FIG.1), represented by operation365(which also includes the tensor augmentation discussed above with reference to operation145ofFIG. 1) can then be used to expand the features from the operation340(in1×W) toH×W.

In some aspects, to be frequency-convolution-aware over sequential blocks (e.g., sequential applications of the broadcasted residual learning block300), the system uses not only the residual connection315(sometimes referred to as the “identity shortcut”) to augment the features with the original input305(at operation365), but also uses an auxiliary residual connection335from the two-dimensional features output by the frequency depthwise convolution320(at operation365). This auxiliary residual connection335enables the system to retain frequency-aware features of the input, despite the dimension reduction operation. The output of this broadcasting and augmentation operation365(also referred to as a broadcast sum operation in some aspects) can then be processed using one or more activation functions (e.g., ReLU function370), and then provided as output375from the residual learning block300.

In this way, the broadcasted residual learning block300can be expressed as y=x+ƒ2(x)+BC(ƒ1(reduction(ƒ2(x)))), where x and y are input and output features, respectively, ƒ1and ƒ2are convolution operations, BC(·) is a broadcasting or expansion operation, and reduction(·) is a dimension reduction operation (e.g., average pooling by frequency dimension).

Using the broadcasted residual learning block300, machine learning models can provide, for example, more efficient KWS as compared to conventional techniques while retaining two-dimensional features. By performing the temporal depthwise and the pointwise convolutions on one-dimensional temporal features, the computational load is reduced by a factor of the frequency steps H (often forty or more), as compared to traditional two-dimensional depthwise separable convolutions.

Example Transitional Broadcasted Residual Learning Block

FIG. 4is an example transition broadcasted residual learning block400for use in efficient processing of input data, such as audio input data.

The transition broadcasted residual learning block400is similar to the normal broadcasted residual learning block300, with two differences that enable the transition broadcasted residual learning block400to be used in transitional layers where the number of channels in the input305differ from the number of channels in the output475.

Specifically, the operation410replaces the operation310inFIG. 3. The operation410includes an additional pointwise convolution412, which is used to change the number of channels in the input405to the desired number of channels for the output475. As illustrated, this pointwise convolution412may be followed with batch normalization and an activation function (such as ReLU), indicated by413.

The second difference between the transition broadcasted residual learning block400and the normal broadcasted residual learning block300is that the transition broadcasted residual learning block400does not include the identity shortcut (residual connection315inFIG. 3). That is, the transition broadcasted residual learning block400does not augment the output using the input405(because the dimensionality differs).

In other respects, the transition broadcasted residual learning block400largely mirrors the normal broadcasted residual learning block300described above with reference toFIG. 3.

Example Method for Broadcasted Residual Learning

FIG. 5is an example flow diagram illustrating a method500for processing data using broadcasted residual learning.

The method500begins at block505, where a processing system receives an input tensor comprising a frequency dimension and a temporal dimension.

At block510, the processing system processes the input tensor with a first convolution operation to generate a multidimensional intermediate feature map comprising the frequency dimension and the temporal dimension. In some cases, the multidimensional intermediate feature map is a two-dimensional intermediate feature map.

In some aspects, the first convolution operation uses one or more depthwise convolution kernels with a size greater than one in the frequency dimension and equal to one in the temporal dimension.

In some aspects, the input tensor is output from a pointwise convolution operation configured to change a number of channels in the input tensor.

At block515, the processing system converts the multidimensional intermediate feature map to a one-dimensional intermediate feature map in the temporal dimension using a frequency dimension reduction operation.

In some aspects, the frequency dimension reduction operation comprises at least one of a maximum pooling operation, an average pooling operation, or a convolution operation.

In some aspects, the method500further comprises performing a subspectral normalization (SSN) operation on the multidimensional intermediate feature map prior to converting the multidimensional intermediate feature map to a one-dimensional intermediate feature map.

In some aspects, wherein the SSN operation comprises: dividing the multidimensional intermediate feature map into a plurality of sub-bands in the frequency dimension; and performing batch normalization on each sub band of the plurality of sub-bands.

At block520, the processing system processes the one-dimensional intermediate feature map using a second convolution operation to generate a temporal feature map.

In some aspects, the second convolution operation comprises a depthwise separable convolution operation, wherein a depthwise convolution of the depthwise separable convolution operation is configured to use one or more depthwise convolution kernels with a size equal to one in the frequency dimension and greater than one in the temporal dimension.

In some aspects, a pointwise convolution of the depthwise separable convolution operation is configured to use one or more pointwise convolution kernels subsequent to the depthwise convolution.

At block525, the processing system expands the temporal feature map to the frequency dimension using a broadcasting operation to generate a multidimensional output feature map.

At block530, the processing system augments the multidimensional output feature map with the multidimensional intermediate feature map via a first residual connection.

In some aspects, the method500further includes outputting the augmented multidimensional output (e.g., as output from a residual block to another residual block or other block or layer of a model, as output from the mode, and the like).

In some aspects, the method500further comprises augmenting the multidimensional output feature map with the input tensor via a second residual connection.

In some aspects, the input tensor comprises input audio features; and the first and second convolution operations are part of a broadcast residual neural network configured to classify the input audio features.

Example Processing System for Broadcasted Residual Learning

In some aspects, the techniques, methods, and workflows described with respect toFIGS. 1-5may be performed on one or more devices.

FIG. 6depicts an example processing system600which may be configured to perform aspects of the various methods described herein, including, for example, the methods described with respect toFIGS. 1-5.

Processing system600includes a central processing unit (CPU)602, which in some examples may be a multi-core CPU. Instructions executed at the CPU602may be loaded, for example, from a program memory associated with the CPU602or may be loaded from a memory partition624.

Processing system600also includes additional processing components tailored to specific functions, such as a graphics processing unit (GPU)604, a digital signal processor (DSP)606, a neural processing unit (NPU)608, a multimedia processing unit610, and a wireless connectivity component612.

An NPU, such as608, is generally a specialized circuit configured for implementing all the necessary control and arithmetic logic for executing machine learning algorithms, such as algorithms for processing artificial neural networks (ANNs), deep neural networks (DNNs), random forests (RFs), and the like. An NPU may sometimes alternatively be referred to as a neural signal processor (NSP), tensor processing units (TPU), neural network processor (NNP), intelligence processing unit (IPU), vision processing unit (VPU), or graph processing unit.

NPUs, such as608, are configured to accelerate the performance of common machine learning tasks, such as image classification, machine translation, object detection, and various other predictive models. In some examples, a plurality of NPUs may be instantiated on a single chip, such as a system on a chip (SoC), while in other examples they may be part of a dedicated neural-network accelerator.

NPUs may be optimized for training or inference, or in some cases configured to balance performance between both. For NPUs that are capable of performing both training and inference, the two tasks may still generally be performed independently.

NPUs designed to accelerate training are generally configured to accelerate the optimization of new models, which is a highly compute-intensive operation that involves inputting an existing dataset (often labeled or tagged), iterating over the dataset, and then adjusting model parameters, such as weights and biases, in order to improve model performance. Generally, optimizing based on a wrong prediction involves propagating back through the layers of the model and determining gradients to reduce the prediction error.

NPUs designed to accelerate inference are generally configured to operate on complete models. Such NPUs may thus be configured to input a new piece of data and rapidly process it through an already trained model to generate a model output (e.g., an inference).

In one implementation, NPU608is a part of one or more of CPU602, GPU604, and/or DSP606.

In some examples, wireless connectivity component612may include subcomponents, for example, for third generation (3G) connectivity, fourth generation (4G) connectivity (e.g., 4G LTE), fifth generation connectivity (e.g., 5G or NR), Wi-Fi connectivity, Bluetooth connectivity, and other wireless data transmission standards. Wireless connectivity processing component612is further connected to one or more antennas614.

Processing system600may also include one or more sensor processing units616associated with any manner of sensor, one or more image signal processors (ISPs)618associated with any manner of image sensor, and/or a navigation processor620, which may include satellite-based positioning system components (e.g., GPS or GLONASS) as well as inertial positioning system components.

Processing system600may also include one or more input and/or output devices622, such as screens, touch-sensitive surfaces (including touch-sensitive displays), physical buttons, speakers, microphones, and the like.

In some examples, one or more of the processors of processing system600may be based on an ARM or RISC-V instruction set.

Processing system600also includes memory624, which is representative of one or more static and/or dynamic memories, such as a dynamic random access memory, a flash-based static memory, and the like. In this example, memory624includes computer-executable components, which may be executed by one or more of the aforementioned processors of processing system600.

In particular, in this example, memory624includes machine learning component624A, which may be configured according to one or more aspects described herein. For example, the machine learning component624A may provide data or audio analysis using one or more machine learning models (e.g., neural networks) configured with one or more broadcasted residual learning blocks.

The memory624further includes a set of frequency depthwise kernel(s)624B and a set of temporal depthwise kernel(s)624C. As discussed above, the frequency depthwise kernels624B generally include one-dimensional kernels with a length greater than one in the frequency dimension, while temporal depthwise kernels624C include one-dimensional kernels with a length greater than one in the temporal dimension.

The frequency depthwise kernels624B can generally be used to perform frequency depthwise convolution (e.g., convolution operation110inFIG. 1), while the temporal depthwise kernels624C are generally used to perform temporal depthwise convolution (e.g., convolution operation130inFIG. 1).

Processing system600further comprises machine learning circuit626, such as described above, for example, with respect toFIGS. 1-5.

Though depicted as a separate circuit for clarity inFIG. 6, the machine learning circuit626may be implemented in other processing devices of processing system600, such as within CPU602, GPU604, DSP606, NPU608, and the like.

Generally, processing system600and/or components thereof may be configured to perform the methods described herein.

Notably, in other aspects, aspects of processing system600may be omitted, such as where processing system600is a server computer or the like. For example, multimedia component610, wireless connectivity612, sensors616, ISPs618, and/or navigation component620may be omitted in other aspects. Further, aspects of processing system600maybe distributed between multiple devices.

The depicted components, and others not depicted, may be configured to perform various aspects of the methods described herein.

Example Clauses

Clause 1: A method, comprising: receiving an input tensor comprising a frequency dimension and a temporal dimension; processing the input tensor with a first convolution operation to generate a multidimensional intermediate feature map comprising the frequency dimension and the temporal dimension; converting the multidimensional intermediate feature map to a one-dimensional intermediate feature map in the temporal dimension using a frequency dimension reduction operation; processing the one-dimensional intermediate feature map using a second convolution operation to generate a temporal feature map; expanding the temporal feature map to the frequency dimension using a broadcasting operation to generate a multidimensional output feature map; and augmenting the multidimensional output feature map with the multidimensional intermediate feature map via a first residual connection.

Clause 2: The method of Clause 1, wherein the multidimensional intermediate feature map is a two-dimensional intermediate feature map.

Clause 3: The method of any of Clauses 1-2, further comprising augmenting the multidimensional output feature map with the input tensor via a second residual connection.

Clause 4: The method of any one of Clauses 1-3, wherein the first convolution operation uses one or more depthwise convolution kernels with a size greater than one in the frequency dimension and equal to one in the temporal dimension.

Clause 5: The method of any one of Clauses 1-4, wherein the input tensor is output from a pointwise convolution operation configured to change a number of channels in the input tensor.

Clause 6: The method of any one of Clauses 1-5, further comprising performing a subspectral normalization (SSN) operation on the multidimensional intermediate feature map prior to converting the multidimensional intermediate feature map to a one-dimensional intermediate feature map.

Clause 7: The method of any one of Clauses 1-6, wherein the SSN operation comprises: dividing the multidimensional intermediate feature map into a plurality of sub-bands in the frequency dimension; and performing batch normalization on each sub band of the plurality of sub-bands.

Clause 8: The method of any one of Clauses 1-7, wherein the frequency dimension reduction operation comprises at least one of a maximum pooling operation, an average pooling operation, or a convolution operation.

Clause 9: The method of any one of Clauses 1-8, wherein the second convolution operation comprises a depthwise separable convolution operation, wherein a depthwise convolution of the depthwise separable convolution operation is configured to use one or more depthwise convolution kernels with a size equal to one in the frequency dimension and greater than one in the temporal dimension.

Clause 10: The method of any one of Clauses 1-9, wherein a pointwise convolution of the depthwise separable convolution operation is configured to use one or more pointwise convolution kernels subsequent to the depthwise convolution.

Clause 11: The method of any one of Clauses 1-10, wherein: the input tensor comprises input audio features; and the first and second convolution operations are part of a broadcast residual neural network configured to classify the input audio features.

Clause 12: A system, comprising means for performing a method in accordance with any one of Clauses 1-11.

Clause 13: A system, comprising: a memory comprising computer-executable instructions; and one or more processors configured to execute the computer-executable instructions and cause the processing system to perform a method in accordance with any one of Clauses 1-11.

Clause 15: A computer program product embodied on a computer-readable storage medium comprising code for performing a method in accordance with any one of Clauses 1-11.

Additional Considerations

As used herein, the term “connected to”, in the context of sharing electronic signals and data between the elements described herein, may generally mean in data communication between the respective elements that are connected to each other. In some cases, elements may be directly connected to each other, such as via one or more conductive traces, lines, or other conductive carriers capable of carrying signals and/or data between the respective elements that are directly connected to each other. In other cases, elements may be indirectly connected to each other, such as via one or more data busses or similar shared circuitry and/or integrated circuit elements for communicating signals and data between the respective elements that are indirectly connected to each other.