Introduction
During your daily schedule, various waves of networks propagate through your brain. The entire day is formed from the dynamic behavior of these networks. Neural Networks are Artificial Intelligence methods that teach computers to process the data like our brains. These networks use interconnected nodes that resemble neurons of the human brain. This method enables computers to make intelligent decisions by learning from their mistakes. The Hopfield network is one such type of recurrent neural network method.

The sequence of the article will be as follows:
We will begin with an introduction to the Hopfield neural network. Then, we will also discuss the architecture, energy function, and training model of the Hopfield network.
Also Read, Resnet 50 Architecture and What are payloads
Introduction to Hopfield Network
A Hopfield network is a particular type of single-layered neuron network. Dr. John J. Hopfield invented it in 1982. These networks were introduced to collect and retrieve memory and store various patterns. Also, auto-association and optimization of the task can be done using these networks. In this network, each node is fully connected(recurrent) to other nodes. These nodes exist only in two states: ON (1) or OFF (0). These states can be restored based on the input received from other nodes. Unlike other neural networks, the output of the Hopfield network is finite. Also, the input and output sizes must be the same in these networks. .

The Hopfield network consists of associative memory. This memory allows the system to retrieve the memory using an incomplete portion. The network can restore the closest pattern using the data captured in associative memory. This feature of Hopfield networks makes it a good candidate for pattern recognition.
Associative memory is a content addressable memory that establishes a relation between the input vector and the output target vector. It enables the reallocation of data stored in the memory based on its similarity with the input vector.

The Hopfield networks are categorized into two categories. These are:
Discrete Networks
These networks give any of the two discrete outputs. Based on the output received, further two types:
- Binary: In this type, the output is either 0 or 1.
- Bipolar: In bipolar networks, the output is either -1 (When output < 0) or 1 (When output > 0)

Continuous Networks
Instead of receiving binary or bipolar output, the output value lies between 0 and 1.