Neural network systems for abstract reasoning
A computer-implemented method, system, and computer program product to solve a cognitive task that includes learning abstract properties. One embodiment may comprise accessing datasets that characterize the abstract properties. The accessed datasets may then be inputted into a first neural network to generate first embeddings. Pairs of the first embeddings generated may be formed, which correspond to pairs of the datasets. Data corresponding to the pairs formed may then be inputted into a second neural network, which may be executed to generate second embeddings. The latter may capture relational properties of the pairs of the datasets. A third neural network may be subsequently executed, based on the second embeddings generated, to obtain output values. One or more abstract properties of the datasets are learned based on the output values obtained, in order to solve the cognitive task.
1 . A computer-implemented method of solving a cognitive task that includes learning abstract properties, the method comprising, using a processor:
accessing datasets from an input unit, the datasets characterizing the abstract properties;
inputting the accessed datasets into a first neural network of a neural network module; executing the first neural network to generate first embeddings for frames of image frames in the accessed datasets, wherein the first embeddings are one dimensional arrays of numerical arrays of numerical values;
forming pairs of the first embeddings generated, wherein both first embeddings in the pairs formed correspond to pairs of frames of image frames in the accessed datasets;
inputting data corresponding to the formed pairs into a second neural network of the neural network module; executing the second neural network to generate second embeddings that capture relational properties of frames for the formed pairs;
executing a third neural network of the neural network module based on the second embeddings to obtain output values;
determining a probability that each output value of the third neural network comprises one or more abstract properties of the datasets;
outputting a most probable solution to a cognitive task using the determined probabilities and
training network parameters for the first neural network, the second neural network, and the third neural network in the neural network module using the solution to the cognitive task, wherein
the first neural network is a convolutional neural network; wherein
each of the second neural network and the third neural network is a fully-connected neural network; further comprising
regularizing at least one of the first neural network and the second neural network using a mutual-information-based regularizer, wherein
using the mutual-information-based regularizer comprises applying a regularization term that is determined by minimizing a mutual-information-based function.
2 . The method according to claim 1 , wherein the regularization term applied is determined according to a variational approximation to an information bottleneck function.