Hybrid Boltzmann Machine Architecture for Parallel Sampling and Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Boltzmann machine learning processes are computationally intensive, making them slow due to high requirements, particularly in applications like image or audio analysis.

Innovation Solution

A hybrid architecture with separate sampling and computational modules that operate independently, allowing for parallel and asynchronous processing, using different hardware implementations such as ASIC, FPGA, or quantum annealing machines, to improve performance by optimizing parameter vectors and generating new data efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Boltzmann machine learning processes are implemented with high computational requirements, then accuracy and reliability are improved, but processing speed deteriorates

Engineering Contradiction:
Improvelearning accuracyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system divides the Boltzmann machine processing into two independent modules: a sampling module that generates state vectors and a computational module that performs learning algorithms. This segmentation allows each module to be optimized independently, with the sampling module focusing on generating diverse samples and the computational module focusing on accurate parameter updates, thereby resolving the contradiction between speed and reliability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sampling module performs preliminary sampling operations to generate a pool of state vectors before the computational module executes the learning algorithm. By pre-generating sufficient samples, the system reduces waiting time during learning iterations and maintains high processing speed while ensuring accurate statistical estimates for reliable learning

Inventive Principle:
Principle #10Preliminary action

2Productivity

If separate processing modules are used for sampling and computation, then processing efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The computational module is designed to perform multiple functions: it receives state vectors from the sampling module, buffers them, applies learning algorithms, and updates parameter vectors. This multi-functionality reduces the need for additional specialized components, maintaining relatively simple system architecture while achieving high processing efficiency through the separation of sampling and computation tasks

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

Solution Approach 2:

Parameter vectors serve as intermediaries that connect the sampling module and computational module. The sampling module generates state vectors based on current parameter vectors, and the computational module updates these parameter vectors based on processed samples. This intermediary mechanism enables efficient inter-module communication without requiring complex direct integration, thus improving productivity while controlling system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10846611B2Data processing
Publication Date: 2020.11.24 NOKIA TECHNOLOGIES OY
  • US10846611B2 patent drawing
  • US10846611B2 patent drawing
  • US10846611B2 patent drawing

AI summary

A data processing system is disclosed for machine learning. The system comprises a sampling module (13) and a computational module (15) interconnected by a data communications link (17). The computational module is configured to store a parameter vector representing an energy function of a network having a plurality of visible units connected using links to a plurality of hidden units, each link being a relationship between two units. The sampling module is configured to receive the parameter vector from the first processing module and to sample from the probability distribution defined by the parameter vector to produce state vectors for the network. The computational module is further configured to receive the state vectors from the second processing module and to apply an algorithm to produce new data. The sampling and computational modules are configured to operate independently from one another.