Neural Programming with External Memory for Compositional Tasks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing neural networks face challenges in efficiently performing machine learning tasks by reducing sample complexity and enhancing generalization ability, particularly in modeling compositional programs and managing long-term memory burdens in recurrent hidden units.
Innovation Solution
A neural network system that interacts with an environment by invoking a sequence of programs, utilizing an encoder neural network, a subsystem, and a core recurrent neural network to generate and execute program embeddings, caching intermediate results, and storing them in a program memory for reuse across tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a recurrent neural network stores all intermediate results in its hidden units, then complete task information is preserved, but the memory burden on recurrent hidden units increases significantly
Solution Approach 1:
The patent divides the memory storage function into two segments: (1) recurrent hidden units that process sequential information, and (2) an external memory matrix that stores intermediate computational results. This segmentation allows the system to preserve complete task information while reducing the memory burden on recurrent hidden units by offloading storage to the external memory structure.
2Ease of operation
If the neural network processes each input sequence independently, then processing simplicity is maintained, but sample complexity increases and generalization ability decreases
Solution Approach 1:
The patent implements a universal program memory structure that can store and reuse program embeddings across multiple different tasks and input sequences. This multi-functional memory system allows the neural network to learn compositional programs once and apply them universally to various tasks, reducing sample complexity and enhancing generalization ability while maintaining processing simplicity through standardized memory operations.
3Adaptability or versatility
If the neural network learns to compose lower-level programs for higher-level programs, then generalization ability increases, but system complexity increases
Solution Approach 1:
The patent implements a nested program composition architecture where lower-level programs are composed to form higher-level programs. The program memory stores embeddings that represent these compositional structures, allowing the system to learn hierarchical program compositions. This nesting approach enables generalization by reusing lower-level program components across different higher-level tasks while managing system complexity through structured embedding representations.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for neural programming. One of the methods includes processing a current neural network input using a core recurrent neural network to generate a neural network output; determining, from the neural network output, whether or not to end a currently invoked program and to return to a calling program from the set of programs; determining, from the neural network output, a next program to be called; determining, from the neural network output, contents of arguments to the next program to be called; receiving a representation of a current state of the environment; and generating a next neural network input from an embedding for the next program to be called and the representation of the current state of the environment.


