**Bidirectional Associative Memory (BAM)** is a supervised learning model in Artificial Neural Network. This is ** hetero-associative memory**, for an input pattern, it returns another pattern which is potentially of a different size. This phenomenon is very similar to the human brain. Human memory is necessarily associative. It uses a chain of mental associations to recover a lost memory like associations of faces with names, in exam questions with answers, etc.

In such memory associations for one type of object with another, a Recurrent Neural Network (RNN) is needed to receive a pattern of one set of neurons as an input and generate a related, but different, output pattern of another set of neurons.

**Why BAM is required?**

The main objective to introduce such a network model is to store hetero-associative pattern pairs.

This is used to retrieve a pattern given a noisy or incomplete pattern.

**BAM Architecture:**

When BAM accepts an input of * n*-dimensional vector

*from set*

**X***then the model recalls*

**A***-dimensional vector*

**m***from set*

**Y***. Similarly when*

**B***is treated as input, the BAM recalls*

**Y***.*

**X****Algorithm:**

**Storage (Learning):**In this learning step of BAM, weight matrix is calculated between M pairs of patterns (fundamental memories) are stored in the synaptic weights of the network following the equation**Testing:**We have to check that the BAM recalls perfectly for corresponding and recalls for corresponding . Using,

All pairs should be recalled accordingly.

**Retrieval:**For an unknown vector(a corrupted or incomplete version of a pattern from set*X*or*A*) to the BAM and retrieve a previously stored association:*B*

**Initialize the BAM:****Calculate the BAM output at iteration :****Update the input vector :**the iteration until convergence, when input and output remain unchanged.*Repeat*

**Limitations of BAM:**

**Storage capacity of the BAM:**In the BAM, stored number of associations should not be exceeded the number of neurons in the smaller layer.**Incorrect convergence:**Always the closest association may not be produced by BAM.

## Recommended Posts:

- ANN - Bidirectional Associative Memory (BAM) Learning Algorithm
- Bidirectional Associative Memory (BAM) Implementation from Scratch
- Introduction to ANN | Set 4 (Network Architectures)
- Heart Disease Prediction using ANN
- Difference between ANN, CNN and RNN
- ANN - Implementation of Self Organizing Neural Network (SONN) from Scratch
- ANN - Self Organizing Neural Network (SONN)
- ANN - Self Organizing Neural Network (SONN) Learning Algorithm
- Deep Learning | Introduction to Long Short Term Memory
- Long Short Term Memory Networks Explanation
- Text Generation using Recurrent Long Short Term Memory Network
- DaskGridSearchCV - A competitor for GridSearchCV
- Need of Data Structures and Algorithms for Deep Learning and Machine Learning
- GPT-3 : Next AI Revolution

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.