Neural Programming with External Memory for Compositional Tasks

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetask information preservationVSAvoidmemory burden on hidden units
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveprocessing simplicityVSAvoidgeneralization ability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvegeneralization abilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS20250292080A1Neural programming
Publication Date: 2025.09.18 GDM HOLDING LLC
  • US20250292080A1 patent drawing
  • US20250292080A1 patent drawing
  • US20250292080A1 patent drawing

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.