Parallel and distributed processing of propositional logical neural networks
AssigneeInternational Business Machines Corporation
InventorsVenkatesan Thirumalai Chakaravarthy, Anamitra Roy Choudhury, Naweed Aghmad Khan, Francois Pierre Luus, Yogish Sabharwal
Life of this patent
Estimating the term…
Abstract
An embodiment may include a processor that identifies a plurality of weights from the propositional logical neural network. The embodiment may convert the plurality of weights into a sparse matrix. The embodiment may convert a training set into a plurality of bound vectors. The embodiment may update the sparse matrix using a graphical processing unit (GPU). The embodiment may compute a loss parameter and based on determining the loss function is below threshold, update the plurality of weights of the propositional neural network.
Claims20
A processor-implemented method for propositional logical neural network (LNN) training, the method comprising:
- identifying a plurality of weights from a propositional LNN, wherein the propositional LNN comprises a plurality of nodes interconnected in layers using logical operators, each node having an associated weight;
- converting, by the propositional LNN, the plurality of weights into a sparse matrix, wherein a position of each weight in the sparse matrix is based on a relationship of the nodes to each other, the relationship being whether the node is a child or a parent of the node;
- converting, by the propositional LNN, a training set into a plurality of batches of bound vectors for each node, wherein each vector is bounded by an upper parameter of the node and a lower parameter of the node;
- updating the sparse matrix with the plurality of bound vectors utilizing linear algebraic kernels of a graphical processing unit (GPU) in parallel;
- computing a loss function while the weights are simultaneously updated in the sparse matrix;
- and
- based on determining the loss function is below threshold, updating the plurality of weights of the propositional logical neural network.
A computer system for propositional logical neural network (LNN) training, the computer system comprising:
- one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising:
- identifying a plurality of weights from a propositional LNN, wherein the propositional LNN comprises a plurality of nodes interconnected in layers using logical operators, each node having an associated weight;
- converting, by the propositional LNN, the plurality of weights into a sparse matrix, wherein a position of each weight in the sparse matrix is based on a relationship of the nodes to each other, the relationship being whether the node is a child or a parent of the node;
- converting, by the propositional LNN, a training set into a plurality of batches of bound vectors for each node, wherein each vector is bounded by an upper parameter of the node and a lower parameter of the node;
- updating the sparse matrix with the plurality of bound vectors utilizing linear algebraic kernels of a graphical processing unit (GPU) in parallel;
- computing a loss function while the weights are simultaneously updated in the sparse matrix;
- and
- based on determining the loss function is below threshold, updating the plurality of weights of the propositional logical neural network.
A computer program product for propositional logical neural network (LNN) training, the computer program product comprising:
- one or more computer-readable tangible storage medium and program instructions stored on at least one of the one or more tangible storage medium, the program instructions executable by a processor, the program instructions comprising:
- program instructions to identify a plurality of weights from a propositional LNN, wherein the propositional LNN comprises a plurality of nodes interconnected in layers using logical operators, each node having an associated weight;
- program instructions to convert, by the propositional LNN, the plurality of weights into a sparse matrix, wherein a position of each weight in the sparse matrix is based on a relationship of the nodes to each other, the relationship being whether the node is a child or a parent of the node;
- program instructions to convert, by the propositional LNN, a training set into a plurality of batches of bound vectors for each node, wherein each vector is bounded by an upper parameter of the node and a lower parameter of the node;
- program instructions to update the sparse matrix with the plurality of bound vectors utilizing linear algebraic kernels of a graphical processing unit (GPU) in parallel;
- program instructions to compute a loss function while the weights are simultaneously updated in the sparse matrix;
- and
- based on determining the loss function is below threshold, program instructions to update the plurality of weights of the propositional logical neural network.
Dependencies are inferred from the claim text.