G06N3/105

Efficient convolution of multi-channel input samples with multiple kernels

Convolutions of an input sample with multiple kernels is decomposed into matrix multiplications of a V×C matrix of input values times a C×K matrix of kernel values, producing a V×K product. For the second matrix, C is a channel dimension (i.e., each row of the second matrix is a different channel of the input sample and kernel) and K is the kernel dimension (i.e., each column of the second matrix is a different kernel), but all the values correspond to the same pixel position in the kernel. In the matrix product, V is the output dimension and K is the kernel dimension. Thus, each value in the output matrix is a partial product for a certain output pixel and kernel, and the matrix multiplication parallelizes the convolutions by calculating partial products for multiple output pixels and multiple kernels.

TECHNIQUES FOR COMBINING OPERATIONS
20220350683 · 2022-11-03 ·

Apparatuses, systems, and techniques to combine operations. In at least one embodiment, a processor causes two or more dependent reduction operations to be combined into a software kernel.

INTELLIGENT RECOGNITION AND ALERT METHODS AND SYSTEMS
20230086045 · 2023-03-23 ·

The present disclosure provides a method for target identification and scoring, the method comprising: detecting an object within one or more frames of a content stream; deriving one or more images of the object from the content stream; normalizing the one or more images; processing the normalized one or more images to determine a species of the object; identifying an Artificial Intelligence (“AI”) module corresponding to the species of the object; virtually regenerating the object based on the following: the species of the object, the normalized one or more images, and one or more of the following: physical orientation of the object, time of object detection, and illumination of the object; providing the regenerated object to the AI module configured to perform object recognition; receiving an identification of the object from the AI module; and updating an object profile with object identification data.

Techniques for defining and executing program code specifying neural network architectures

An artificial intelligence (AI) design application that exposes various tools to a user for generating, analyzing, evaluating, and describing neural networks. The AI design application includes a network generator that generates and/or updates program code that defines a neural network based on user interactions with a graphical depiction of the network architecture. The network generator enables a developer to define the neural network architecture using a pipeline of mathematical expressions that can be directly compiled without the need of a complex software stack. The compilation process allows for the variables to be learned during the training process to be left unassigned when the neural network is instantiated. In particular, the compiler identifies such unassigned variables as variables having values that will be determined during the training process.

Augmenting neural networks
11481638 · 2022-10-25 · ·

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for augmenting a neural network with additional operations. One of the methods includes maintaining, by a computational graph system that manages execution of computational graphs representing neural network operations for users of the computational graph system, data specifying a plurality of pre-trained neural networks, wherein each of the pre-trained neural networks is a neural network that has been trained on training data to determine trained values of the respective parameters of the neural network; obtaining data specifying a user computational graph representing neural network operations, the user computational graph comprising a plurality of nodes connected by edges; identifying (i) an insertion point after a first node in the user computational graph and (ii) a particular pre-trained neural network from the plurality of pre-trained neural networks; and inserting a remote call node into the user computational graph.

AUTOMATED IDENTIFICATION OF TRAINING DATA CANDIDATES FOR PERCEPTION SYSTEMS

Methods are described for automatically identifying perception weaknesses for training data to be used in improving the performance of perception systems. Deficiencies in simulated data are also identified. The methods, which can be incorporated into a system or into instructions placed on storage media, include comparing perception system results between baseline results and results with augmented inputs and identifying perception weaknesses responsive to that comparison. The perception system is retrained using the relabeled data and is improved thereby.

AUGMENTATION OF MACHINE LEARNING PIPELINE CORPUS FOR SYNTHESIZING NEW MACHINE LEARNING PIPELINES
20230080439 · 2023-03-16 · ·

According to an aspect of an embodiment, operations may include receiving an ML project stored in an ML corpus database. The operations may further include mutating a first ML pipeline, of a set of first ML pipelines associated with the received ML project, to determine a set of second ML pipelines. The mutation of the first ML pipeline may correspond to a substitution of a first ML model associated with the first ML pipeline with a second ML model associated with one of the set of predefined ML pipelines. The operations may further include selecting one or more ML pipelines from the set of second ML pipelines based on a performance score associated with each of the determined set of ML pipelines. The operations may further include augmenting the ML corpus database to include the selected one or more ML pipelines and the set of first ML pipeline.

Incorporating black-box functions in neural networks

Techniques for incorporating a black-box function into a neural network are described. For example, an image editing function may be the black-box function and may be wrapped into a layer of the neural network. A set of parameters and a source image are provided to the black-box function, and the output image that represents the source image with the set of parameters applied to the source image is output from the black-box function. To address the issue that the black-box function may not be differentiable, a loss optimization may calculate the gradients of the function using, for example, a finite differences calculation, and the gradients are used to train the neural network to ensure the output image is representative of an expected ground truth image.

PROGRAMMABLE ACCESS ENGINE ARCHITECTURE FOR GRAPH NEURAL NETWORK AND GRAPH APPLICATION
20230128180 · 2023-04-27 ·

This specification describes methods and systems for accessing attribute data in graph neural network (GNN) processing. An example system includes: a plurality of cores, each of the plurality of cores comprises a key-value fetcher and a filter, and is programmable using a software interface to support a plurality of data formats of the GNN attribute data, wherein: the key-value fetcher is programmable using the software interface to perform key-value fetching associated with accessing the GNN attribute data, and the filter of at least one of the plurality of cores is programmable using the software interface to sample node identifiers associated with accessing the GNN attribute data; and a first memory communicatively coupled with the plurality of cores, wherein the first memory is configured to store data shared by the plurality of cores.

Parameter criticality-aware resilience

A computer-implemented method optimizes a neural network. One or more processors define layers in a neural network based on neuron locations relative to incoming initial inputs and original outgoing final outputs of the neural network, where a first defined layer is closer to the incoming initial inputs than a second defined layer, and where the second defined layer is closer to the original outgoing final outputs than the first defined layer. The processor(s) define parameter criticalities for parameter weights stored in a memory used by the neural network, and associate defined layers in the neural network with different memory banks based on the parameter criticalities for the parameter weights. The processor(s) store parameter weights used by neurons in the first defined layer in the first memory bank and parameter weights used by neurons in the second defined layer in the second memory bank.