\documentclass[11pt,twoside]{article}\makeatletter

\IfFileExists{xcolor.sty}%
  {\RequirePackage{xcolor}}%
  {\RequirePackage{color}}
\usepackage{colortbl}
\usepackage{wrapfig}
\usepackage{ifxetex}
\ifxetex
  \usepackage{fontspec}
  \usepackage{xunicode}
  \catcode`⃥=\active \def⃥{\textbackslash}
  \catcode`❴=\active \def❴{\{}
  \catcode`❵=\active \def❵{\}}
  \def\textJapanese{\fontspec{Noto Sans CJK JP}}
  \def\textChinese{\fontspec{Noto Sans CJK SC}}
  \def\textKorean{\fontspec{Noto Sans CJK KR}}
  \setmonofont{DejaVu Sans Mono}
  
\else
  \IfFileExists{utf8x.def}%
   {\usepackage[utf8x]{inputenc}
      \PrerenderUnicode{–}
    }%
   {\usepackage[utf8]{inputenc}}
  \usepackage[english]{babel}
  \usepackage[T1]{fontenc}
  \usepackage{float}
  \usepackage[]{ucs}
  \uc@dclc{8421}{default}{\textbackslash }
  \uc@dclc{10100}{default}{\{}
  \uc@dclc{10101}{default}{\}}
  \uc@dclc{8491}{default}{\AA{}}
  \uc@dclc{8239}{default}{\,}
  \uc@dclc{20154}{default}{ }
  \uc@dclc{10148}{default}{>}
  \def\textschwa{\rotatebox{-90}{e}}
  \def\textJapanese{}
  \def\textChinese{}
  \IfFileExists{tipa.sty}{\usepackage{tipa}}{}
\fi
\def\exampleFont{\ttfamily\small}
\DeclareTextSymbol{\textpi}{OML}{25}
\usepackage{relsize}
\RequirePackage{array}
\def\@testpach{\@chclass
 \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
  \ifnum \@lastchclass=7 5 \else
   \ifnum \@lastchclass=8 \tw@ \else
    \ifnum \@lastchclass=9 \thr@@
   \else \z@
   \ifnum \@lastchclass = 10 \else
   \edef\@nextchar{\expandafter\string\@nextchar}%
   \@chnum
   \if \@nextchar c\z@ \else
    \if \@nextchar l\@ne \else
     \if \@nextchar r\tw@ \else
   \z@ \@chclass
   \if\@nextchar |\@ne \else
    \if \@nextchar !6 \else
     \if \@nextchar @7 \else
      \if \@nextchar (8 \else
       \if \@nextchar )9 \else
  10
  \@chnum
  \if \@nextchar m\thr@@\else
   \if \@nextchar p4 \else
    \if \@nextchar b5 \else
   \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
   \fi \fi  \fi  \fi  \fi  \fi  \fi \fi \fi \fi \fi \fi}
\gdef\arraybackslash{\let\\=\@arraycr}
\def\@textsubscript#1{{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
\def\Panel#1#2#3#4{\multicolumn{#3}{){\columncolor{#2}}#4}{#1}}
\def\abbr{}
\def\corr{}
\def\expan{}
\def\gap{}
\def\orig{}
\def\reg{}
\def\ref{}
\def\sic{}
\def\persName{}\def\name{}
\def\placeName{}
\def\orgName{}
\def\textcal#1{{\fontspec{Lucida Calligraphy}#1}}
\def\textgothic#1{{\fontspec{Lucida Blackletter}#1}}
\def\textlarge#1{{\large #1}}
\def\textoverbar#1{\ensuremath{\overline{#1}}}
\def\textquoted#1{‘#1’}
\def\textsmall#1{{\small #1}}
\def\textsubscript#1{\@textsubscript{\selectfont#1}}
\def\textxi{\ensuremath{\xi}}
\def\titlem{\itshape}
\newenvironment{biblfree}{}{\ifvmode\par\fi }
\newenvironment{bibl}{}{}
\newenvironment{byline}{\vskip6pt\itshape\fontsize{16pt}{18pt}\selectfont}{\par }
\newenvironment{citbibl}{}{\ifvmode\par\fi }
\newenvironment{docAuthor}{\ifvmode\vskip4pt\fontsize{16pt}{18pt}\selectfont\fi\itshape}{\ifvmode\par\fi }
\newenvironment{docDate}{}{\ifvmode\par\fi }
\newenvironment{docImprint}{\vskip 6pt}{\ifvmode\par\fi }
\newenvironment{docTitle}{\vskip6pt\bfseries\fontsize{22pt}{25pt}\selectfont}{\par }
\newenvironment{msHead}{\vskip 6pt}{\par}
\newenvironment{msItem}{\vskip 6pt}{\par}
\newenvironment{rubric}{}{}
\newenvironment{titlePart}{}{\par }

\newcolumntype{L}[1]{){\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{){\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{){\raggedleft\arraybackslash}p{#1}}
\newcolumntype{P}[1]{){\arraybackslash}p{#1}}
\newcolumntype{B}[1]{){\arraybackslash}b{#1}}
\newcolumntype{M}[1]{){\arraybackslash}m{#1}}
\definecolor{label}{gray}{0.75}
\def\unusedattribute#1{\sout{\textcolor{label}{#1}}}
\DeclareRobustCommand*{\xref}{\hyper@normalise\xref@}
\def\xref@#1#2{\hyper@linkurl{#2}{#1}}
\begingroup
\catcode`\_=\active
\gdef_#1{\ensuremath{\sb{\mathrm{#1}}}}
\endgroup
\mathcode`\_=\string"8000
\catcode`\_=12\relax

\usepackage[a4paper,twoside,lmargin=1in,rmargin=1in,tmargin=1in,bmargin=1in,marginparwidth=0.75in]{geometry}
\usepackage{framed}

\definecolor{shadecolor}{gray}{0.95}
\usepackage{longtable}
\usepackage[normalem]{ulem}
\usepackage{fancyvrb}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{marginnote}

\renewcommand{\@cite}[1]{#1}


\renewcommand*{\marginfont}{\itshape\footnotesize}

\def\Gin@extensions{.pdf,.png,.jpg,.mps,.tif}

  \pagestyle{fancy}

\usepackage[pdftitle={Implementation of an Associative Memory using a Restricted Hopfield Network},
 pdfauthor={}]{hyperref}
\hyperbaseurl{}

	 \paperwidth210mm
	 \paperheight297mm
              
\def\@pnumwidth{1.55em}
\def\@tocrmarg {2.55em}
\def\@dotsep{4.5}
\setcounter{tocdepth}{3}
\clubpenalty=8000
\emergencystretch 3em
\hbadness=4000
\hyphenpenalty=400
\pretolerance=750
\tolerance=2000
\vbadness=4000
\widowpenalty=10000

\renewcommand\section{\@startsection {section}{1}{\z@}%
     {-1.75ex \@plus -0.5ex \@minus -.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\Large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
     {-1.75ex\@plus -0.5ex \@minus- .2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\Large}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
     {-1.5ex\@plus -0.35ex \@minus -.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\large}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
     {-1ex \@plus-0.35ex \@minus -0.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\normalsize}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
     {1.5ex \@plus1ex \@minus .2ex}%
     {-1em}%
     {\reset@font\normalsize\bfseries}}


\def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt}
 \@tempdima 1.5em \begingroup
 \parindent \z@ \rightskip \@pnumwidth 
 \parfillskip -\@pnumwidth 
 \bfseries \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}\par
 \endgroup}
\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
\@ifundefined{c@section}{\newcounter{section}}{}
\@ifundefined{c@chapter}{\newcounter{chapter}}{}
\newif\if@mainmatter 
\@mainmattertrue
\def\chaptername{Chapter}
\def\frontmatter{%
  \pagenumbering{roman}
  \def\thechapter{\@roman\c@chapter}
  \def\theHchapter{\roman{chapter}}
  \def\thesection{\@roman\c@section}
  \def\theHsection{\roman{section}}
  \def\@chapapp{}%
}
\def\mainmatter{%
  \cleardoublepage
  \def\thechapter{\@arabic\c@chapter}
  \setcounter{chapter}{0}
  \setcounter{section}{0}
  \pagenumbering{arabic}
  \setcounter{secnumdepth}{6}
  \def\@chapapp{\chaptername}%
  \def\theHchapter{\arabic{chapter}}
  \def\thesection{\@arabic\c@section}
  \def\theHsection{\arabic{section}}
}
\def\backmatter{%
  \cleardoublepage
  \setcounter{chapter}{0}
  \setcounter{section}{0}
  \setcounter{secnumdepth}{2}
  \def\@chapapp{\appendixname}%
  \def\thechapter{\@Alph\c@chapter}
  \def\theHchapter{\Alph{chapter}}
  \appendix
}
\newenvironment{bibitemlist}[1]{%
   \list{\@biblabel{\@arabic\c@enumiv}}%
       {\settowidth\labelwidth{\@biblabel{#1}}%
        \leftmargin\labelwidth
        \advance\leftmargin\labelsep
        \@openbib@code
        \usecounter{enumiv}%
        \let\p@enumiv\@empty
        \renewcommand\theenumiv{\@arabic\c@enumiv}%
	}%
  \sloppy
  \clubpenalty4000
  \@clubpenalty \clubpenalty
  \widowpenalty4000%
  \sfcode`\.\@m}%
  {\def\@noitemerr
    {\@latex@warning{Empty `bibitemlist' environment}}%
    \endlist}

\def\tableofcontents{\section*{\contentsname}\@starttoc{toc}}
\parskip0pt
\parindent1em
\def\Panel#1#2#3#4{\multicolumn{#3}{){\columncolor{#2}}#4}{#1}}
\newenvironment{reflist}{%
  \begin{raggedright}\begin{list}{}
  {%
   \setlength{\topsep}{0pt}%
   \setlength{\rightmargin}{0.25in}%
   \setlength{\itemsep}{0pt}%
   \setlength{\itemindent}{0pt}%
   \setlength{\parskip}{0pt}%
   \setlength{\parsep}{2pt}%
   \def\makelabel##1{\itshape ##1}}%
  }
  {\end{list}\end{raggedright}}
\newenvironment{sansreflist}{%
  \begin{raggedright}\begin{list}{}
  {%
   \setlength{\topsep}{0pt}%
   \setlength{\rightmargin}{0.25in}%
   \setlength{\itemindent}{0pt}%
   \setlength{\parskip}{0pt}%
   \setlength{\itemsep}{0pt}%
   \setlength{\parsep}{2pt}%
   \def\makelabel##1{\upshape ##1}}%
  }
  {\end{list}\end{raggedright}}
\newenvironment{specHead}[2]%
 {\vspace{20pt}\hrule\vspace{10pt}%
  \phantomsection\label{#1}\markright{#2}%

  \pdfbookmark[2]{#2}{#1}%
  \hspace{-0.75in}{\bfseries\fontsize{16pt}{18pt}\selectfont#2}%
  }{}
      \def\TheFullDate{2021 2021-07-15 (revised: 1 Year 2021 15 July 2021)}
\def\TheID{10.34257/GJREFVOL21IS2PG1\makeatother }
\def\TheDate{2021 2021-07-15}
\title{Implementation of an Associative Memory using a Restricted Hopfield Network}
\author{}\makeatletter 
\makeatletter
\newcommand*{\cleartoleftpage}{%
  \clearpage
    \if@twoside
    \ifodd\c@page
      \hbox{}\newpage
      \if@twocolumn
        \hbox{}\newpage
      \fi
    \fi
  \fi
}
\makeatother
\makeatletter
\thispagestyle{empty}
\markright{\@title}\markboth{\@title}{\@author}
\renewcommand\small{\@setfontsize\small{9pt}{11pt}\abovedisplayskip 8.5\p@ plus3\p@ minus4\p@
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus2\p@
\belowdisplayshortskip 4\p@ plus2\p@ minus2\p@
\def\@listi{\leftmargin\leftmargini
               \topsep 2\p@ plus1\p@ minus1\p@
               \parsep 2\p@ plus\p@ minus\p@
               \itemsep 1pt}
}
\makeatother
\fvset{frame=single,numberblanklines=false,xleftmargin=5mm,xrightmargin=5mm}
\fancyhf{} 
\setlength{\headheight}{14pt}
\fancyhead[LE]{\bfseries\leftmark} 
\fancyhead[RO]{\bfseries\rightmark} 
\fancyfoot[RO]{}
\fancyfoot[CO]{\thepage}
\fancyfoot[LO]{\TheID}
\fancyfoot[LE]{}
\fancyfoot[CE]{\thepage}
\fancyfoot[RE]{\TheID}
\hypersetup{citebordercolor=0.75 0.75 0.75,linkbordercolor=0.75 0.75 0.75,urlbordercolor=0.75 0.75 0.75,bookmarksnumbered=true}
\fancypagestyle{plain}{\fancyhead{}\renewcommand{\headrulewidth}{0pt}}

\date{}
\usepackage{authblk}

\providecommand{\keywords}[1]
{
\footnotesize
  \textbf{\textit{Index terms---}} #1
}

\usepackage{graphicx,xcolor}
\definecolor{GJBlue}{HTML}{273B81}
\definecolor{GJLightBlue}{HTML}{0A9DD9}
\definecolor{GJMediumGrey}{HTML}{6D6E70}
\definecolor{GJLightGrey}{HTML}{929497} 

\renewenvironment{abstract}{%
   \setlength{\parindent}{0pt}\raggedright
   \textcolor{GJMediumGrey}{\rule{\textwidth}{2pt}}
   \vskip16pt
   \textcolor{GJBlue}{\large\bfseries\abstractname\space}
}{%   
   \vskip8pt
   \textcolor{GJMediumGrey}{\rule{\textwidth}{2pt}}
   \vskip16pt
}

\usepackage[absolute,overlay]{textpos}

\makeatother 
      \usepackage{lineno}
      \linenumbers
      
\begin{document}

             \author[1]{Tet  Yeap}

             \affil[1]{  University of Ottawa}

\renewcommand\Authands{ and }

\date{\small \em Received: 10 June 2021 Accepted: 1 July 2021 Published: 15 July 2021}

\maketitle


\begin{abstract}
        


A trainable analog restricted Hopfield Network is presented in this paper. It consists of two layers of nodes, visible and hidden nodes, connected by weighted directional paths forming a bipartite graph with no intralayer connection. An energy or Lyapunov function was derived to show that the proposed network will converge to stable states. The proposed network can be trained using either the modified SPSA or BPTT algorithms to ensure that all the weights are symmetric. Simulation results show that the presence of hidden nodes increases the network?s memory capacity. Using EXOR as an example, the network can be trained to be a dynamic classifier. Using A, U, T, S as training characters, the network was trained to be an associative memory. Simulation results show that the network can perform perfect re-creation of noisy images. Its recreation performance has higher noise tolerance than the standard Hopfield Network and the Restricted Boltzmann Machine. Simulation results also illustrate the importance of feedback iteration in implementing associative memory to re-create from noisy images.

\end{abstract}


\keywords{hopfield network, restricted boltzmann machine, energy function, lyapunov function, }

\begin{textblock*}{18cm}(1cm,1cm) % {block width} (coords) 
\textcolor{GJBlue}{\LARGE Global Journals \LaTeX\ JournalKaleidoscope\texttrademark}
\end{textblock*}

\begin{textblock*}{18cm}(1.4cm,1.5cm) % {block width} (coords) 
\textcolor{GJBlue}{\footnotesize \\ Artificial Intelligence formulated this projection for compatibility purposes from the original article published at Global Journals. However, this technology is currently in beta. \emph{Therefore, kindly ignore odd layouts, missed formulae, text, tables, or figures.}}
\end{textblock*}


\begin{textblock*}{10cm}(1.05cm,3cm)
{{\textit{CrossRef DOI of original article:}} \underline{10.34257/GJREFVOL21IS2PG1}}
\end{textblock*}\let\tabcellsep& 	 	 		 
\section[{Introduction}]{Introduction}\par
n 1982, based on his studies of collective dynamical computation in neural networks, Hopfield \hyperref[b0]{[1,}\hyperref[b1]{2,}\hyperref[b2]{3]} proposed an influential recurrent neural network with many potential applications such as content addressable memory and optimization engine for the traveling-salesman problem. He formulated an Energy function for the network using the Lyapunov Direct Method showing that the network converges to a stable state if it has symmetric weights. Each network node does not have self-feedback.\par
Hopfield network comes in two forms: analog or discrete. However, in either format, the network can only be programmed to memorize patterns using the Hebbian Rule and has a limited memory capacity to store 0.15N patterns where N is the network's number of nodes. Many have tried to improve the network's memory capacity problem and trainability issue \hyperref[b3]{[4,}\hyperref[b4]{5]}. For example, instead of trying to memorize the patterns in one presentation cycle, Gardner \hyperref[b5]{[6,}\hyperref[b6]{7,}\hyperref[b7]{8]} improved the network by presenting the training patterns repeatedly and using the perceptron convergence procedure to train each node to generate the correct state given the states of all the other nodes for a particular training vector.\par
A Boltzmann machine is a stochastic recurrent neural network with interconnected visible and hidden nodes introduced by Hinton \hyperref[b8]{[9,}\hyperref[b9]{10]}. Like a Hopfield network, a Boltzmann has a similar energy function when the weights are symmetric and converges to a stable state when an input vector is presented to the visible nodes. A Boltzmann machine takes a long time to train. As a result, a restricted Boltzmann machine (RBM) was introduced \hyperref[b10]{[11,}\hyperref[b11]{12,}\hyperref[b12]{13]}. It consists of two layers of nodes, L visible and M hidden nodes, connected by symmetric weights with no intralayer connection. Each node makes probabilistic decisions to be either on or off. The connection restriction allows for more efficient training algorithms, notably the gradient-based contrastive divergence algorithm, to be developed. The network is capable of learning the probabilistic pattern of a set of inputs.\par
An analog restricted Hopfield network (RHN) is proposed in this paper to solve the memory capacity and the trainability issue of the Hopfield network. Like an RBM, the architecture consists of two layers of nodes, visible and hidden nodes, connected by directional weighted connection paths. The network is a fullyconnected bipartite graph and has no intralayer connection. The visible nodes are classified into either input or output nodes to manage the flow of information to/from the visible nodes. An energy or Lyapunov function was derived to prove that the proposed network always converges to stable states when an input vector is presented. The proposed network iterates, sending signals back and forth between the two layers until all its nodes reach an equilibrium state based on the corresponding basin of attraction, generating the desired output vector.\par
Two training algorithms were used to train the proposed network: Simultaneous Perturbation Stochastic Approximation (SPSA) \hyperref[b13]{[14,}\hyperref[b14]{15]} and Back propagation Through Time (BPTT) \hyperref[b15]{[16,}\hyperref[b16]{17]}. The SPSA algorithm was introduced by Spall and is simple to implement. It can estimate the gradient of the error function using only two final error values of the function. Therefore, the merit of this training rule was demonstrated to train the proposed network. The BPTT algorithm, on the other hand, is based on the fact that the temporal operation of an RHN may be unfolded into ? a multilayer perceptron so that a standard back propagation algorithm could be applied.\par
Simulation results show that the proposed network can be trained to implement a dynamic classifier implementing an EXOR function. Using A, U, T, S as training characters, the network was trained to be an associative memory. Simulation results show that the network performs perfect re-creation of these images even when the input image is noisy. The results also show that the proposed network performs better than the standard Hopfield Network and RBM.\par
The paper is organized as follows. Section 2 presents the background work on Hopfield Network and Restricted Boltzmann Machine. An RHN with hidden nodes function is presented in section 3. In section 4, two algorithms to train the network are introduced. Section 5 presents some simulation results on the performance of the RHN. 
\section[{II.}]{II.} 
\section[{Background a) Hopfield Network}]{Background a) Hopfield Network}\par
An analog Hopfield network consists of fully interconnected nodes modeled as amplifiers, in conjunction with feedback circuits comprises of wires, resistors, and capacitors, as shown in Figure  {\ref 1}. 
\section[{Figure 1: An analog Hopfield network}]{Figure 1: An analog Hopfield network}\par
The dynamics of the network can be described by the following differential equations:\par
Where N is the number of nodes in the network, u i is the input voltage of the amplifier, T ij is the weight or conductance connecting the output of node j to the input of node i, V j is the output of node j, RC is the time constant of the network, I i is the input to node i, and g() is the output function of a node.\par
The following energy function for the network was derived by Hopfield using the Lyapunov Direct Method if the network has symmetric weights and each network node does not have self-feedback. For the initial-value problem, I i input is applied to node i at t = 0 and then allow the network to evolve. The integration of the above differential equations provides the network states' evolution. With the energy function's existence, the network will always converge to a stable state.\par
Hopfield networks can only be programmed to memorize patterns using the Hebbian Rule. When the output function g() is a sigmoid function, the network transforms the initial input vector it-eratively and continuously into the output vector in the range [0, 1]. To program the network to memorize specific binary input vectors (S(p), p = 1 . . . P ), the weight or conductance T ij is deter-mined by the following formula:\par
When the output function g() is a hyperbolic tangent function, the network transforms the initial input vectordu i dt = N j=1 T ij v j ? u i ? + I i ? = RC V i = g(u i ) (1) E = ? 1 2 N i=1 N j=1 T ij V i V j ? N i=1 V i u i ? ? N i=1 V i I i\textbf{(2)}T ij = P p=1 (2S i (p) ? 1)(2S j (p) ? 1)\textbf{(3)}\par
iteratively and continuously into the output vector in the range \hyperref[b0]{[ 1,}\hyperref[b0]{1]}. To program the network to memorize specific binary input vectors (S(p), p = 1 . . . P ), the weight or conductance T ij is determined by the following formula: 
\section[{b) Restricted Boltzmann Machine (RBM)}]{b) Restricted Boltzmann Machine (RBM)}\par
A restricted Boltzmann machine (RBM) is a stochastic recurrent neural network \hyperref[b3]{[4,}\hyperref[b8]{9,}\hyperref[b9]{10]} consisting of two layers of nodes, L visible and M hidden nodes, connected by symmetric weights with no intralayer connection. Each node makes probabilistic decisions to be either on or off. The network is capable of learning the probabilistic pattern of a set of inputs.\par
The following differential equations can describe the dynamics of the network: In the forward path:\par
Where ?????? ?? ?? is the sum of all inputs to the hidden node i, ?? ???? ?? is the weight connecting the output of visible node j to the input of hidden node i, ?? ?? ?? is the output of visible node j, ?? ?? ?? is the threshold of hidden node i, ?? ?? ?? is the output of hidden node i, g() is the Sigmoid logistic output function of hidden node i. In the backward path:\par
Where ?????? ?? ?? is the sum of all inputs to the visible node i, ?? ?? ?? ?? the weight connecting the output of hidden node i to the input of visible node j, ?? ?? ?? is the output of hidden node i, ?? ?? ?? is the threshold of visible node j, ?? ?? ?? is the output of visible node j, g() is the Sigmoid logistic output function of hidden node j.\par
For symmetric weights configuration, the energy or Lyapunov function of an RBM is given by: With the existence of energy function, the network will always converge to a stable state when an input vector is presented to the visible nodes.\par
During the training of the network, an input vector p is presented. Let ?? ???? + (p) =?? ?? ?? ?? ?? ?? denotes the correlation of hidden node i and visible node j in the forward direction, and ?? ???? ? (p) = ?? ?? ?? ?? ?? ?? denotes the correlation in the backward direction, where ?? ?? ?? is the value of visible unit j of pattern p that is estimated by the network. The weight is updated during a training process by: Where ? is a small positive number. 
\section[{III.}]{III.} 
\section[{Proposed Restricted Hopfield Network(RHN)}]{Proposed Restricted Hopfield Network(RHN)}\par
An analog restricted Hopfield network (RHN) is proposed to solve the memory capacity and train-ability issues of the Hopfield network. Like an RBM, the architecture consists of two layers of nodes, L visible and M hidden nodes, connected by directional weighted connection paths, as shown in Figure  {\ref 2}. The network is a connected bipartite graph and has no intralayer connection.T ij = P p=1 S i (p)S j (p)\textbf{(4)}sum H i = L j=1 w H ij V V j + ? H i\textbf{(5)}V H i = g(sum H i ) sum V j = M i=1 w V ji V H i + ? V j V V j = g(sum V j )\textbf{(6)}E = ? M i=1 L j=1 w H ij V H i V V j ? L j=1 ? V j V V j ? M i=1 ? H i V H i\textbf{(7)}w ij (k + 1) = w ij (k) + ?(e + ij (p) ? e ? ij (p))\textbf{(8)}\par
Volume Xx XI Issue II V ersion I Global Journal of Researches in Engineering ( )F Figure 2: A Restricted Hopfield Network\par
The following differential equations describe the dynamics of the network: In the forward path: 
\section[{Initial conditions:}]{Initial conditions:}\par
Where ?? ?? ?? is the sum of all inputs to the hidden nodes, ?? ???? ?? is the weight connecting the output of visible node j to the input of hidden node i, ?? ?? ?? is the output of visible node j, ?? ?? ?? is the threshold of hidden node i, ?? ?? ?? is the output of hidden node i, g() is the output function of hidden node I, and I j is the initial input presented to the visible node j. In the backward path:\par
Where ?? ?? ?? is the sum of all inputs to the visible nodes, ?? ???? ?? is the weight connecting the output of hidden node i to the input of visible node j, ?? ?? ?? is the output of hidden node i, ?? ?? ?? is the threshold of output node j, ?? ?? ?? is the output of visible node j, and g() is the output function of visible node j.\par
The network input can be either digital or analog, taking a value between 0 and 1. Using a Sigmoid function as output function g() for all the nodes, the output of all the nodes takes the value between 0 and 1. The proposed network will also work when the hyperbolic tangent function is used as the output function. In such a case, the output of all the nodes takes the value between 1 and 1. The proposed RHN always generates analog outputs between 0 and 1 using the Sigmoid output function or between ?1 and 1 using the hyperbolic tangent output function.\par
Based on the Lyapunov Direct Method, it can be shown that Eqn. 11 is the energy or a Lyapunov function of the proposed network.\par
Differentiating E, we get: Expanding all the above terms in Eqn. 12, we get:du H i dt = L j=1 w H ij V V j + ? H i V H i = g(u i )\textbf{(9)}V V j (0) = I j V H i (0) = 0 du V j dt = M i=1 w V ji V H i + ? V j (\textbf{10})V V j = g(u V j ) E = ? 1 2 M i=1 L j=1 w H ij V H i V H j ? 1 2 L j=1 M i=1 w V ji V H j V V i ? M i=1 V H i ? H i ? L i=1 V V i ? V i (\textbf{11})dE dt = ? d dt ( 1 2 M i=1 L j=1 w H ij V H i V H j ) ? d dt ( 1 2 L j=1 M i=1 w V ji V H j V V i ) ? d dt ( M i=1 V H i ? H i ) ? d dt ( L i=1 V V i ? V i )\textbf{(12)}d dt ( 1 2 M i=1 L j=1 w H ij V H i V H j ) = 1 2 M i=1 L j=1 w H ij dV H i dt V V j + 1 2 M i=1 L j=1 w H ij V H i dV V j dt\par
Now consider the forward path: Because the outputs of visible nodes are constant in the forward path, then:\par
Assume that all the weights are symmetric, then:\par
Therefore, Equation 12 can be reduced to the following:\par
and can be simplified to:\par
Further simplified to:\par
Using Chain Rule:\par
Since:\par
If the output function is a Sigmoid or hyperbolic tangent function, then:\par
Then:\par
Now consider the backward path: Because the outputs of hidden nodes are constant in the backward path, then: d dt ( 1 2 j=1 L M i=1 w V ji V H j V V i ) = 1 2 L j=1 M i=1 w V ji dV V j dt V H i + 1 2 L j=1 M i=1 w V ji V V j dV H i dt d dt ( M i=1 V H i ? H i ) = M i=1 dV H i dt ? H i d dt ( L i=1 V V i ? V i ) = L i=1 dV V i dt ? V i (\textbf{13})dV V i dt = 0\textbf{(14)}w H ij = w V ji (\textbf{15})dE dt = ? M i=1 L j=1 w H ij dV H i dt V V j ? M i=1 dV H i dt ? H i (\textbf{16})dE dt = ? M i=1 dV H i dt ( L j=1 w H ij V V j + ? H i )\textbf{(17)}dE dt = ? M i=1 dV H i dt du H i dt (\textbf{18})dE dt = ? M i=1 dV H i du H i du H i dt du H i dt dE dt = ? M i=1 dV H i du H i ( du H i dt ) 2\textbf{(19)}V H i = g(u H i )\textbf{(20) dV H}F\par
Assume that all the weights are symmetric, then:\par
Therefore, Equation 12 can be reduced to the following:\par
and can be simplified to:\par
Further simplified to:\par
Using Chain Rule:\par
Since:\par
If the output function is a Sigmoid or hyperbolic tangent function, then:\par
Then:\par
The proposed RHN is a dynamic system. Therefore, it has attractors toward which a system tends to evolve for a wide variety of the system's initial conditions. The existence of a basin of attraction for each attractor guarantees that any initial condition in the nearby region will iterate to the attractor. When an input vector in a specific basin of attraction is presented, the proposed network sends signals back and forth between the hidden and visible layers until all the nodes reach an equilibrium state minimizing the energy function above, generating the desired output vector.\par
The visible nodes can be divided into either A input and B output nodes, as shown in Figure \hyperref[fig_0]{3}. In the forward computation path, each node in the hidden layer receives the weighted output of both the input and output nodes of the visible layer. In the backward computation direction, only the output nodes receive the weighted output of the hidden nodes. Therefore, when an input vector is presented to the input nodes, signals are sent back and forth between the hidden and output nodes until an equilibrium state is reached.w H ij = w V ji (22) dE dt = ? L j=1 M i=1 w V ji dV V j dt V H i ? L j=1 dV V j dt ? V j (\textbf{23})dE dt = ? L j=1 dV V j dt ( M j=1 w V ji V H i + ? V j )\textbf{(24)}dE dt = ? L i=1 dV V j dt du V j dt (\textbf{25})dE dt = ? L j=1 dV V j du V j du V j dt du V j dt dE dt = ? L j=1 dV V j du V j ( du V j dt ) 2\par
(26)V V j = g(u V j )\textbf{(27)}dV V j du V j\par
is always positive dE dt is always negative in the backward path The following differential equations describe the dynamics of the network: In the forward path: 
\section[{Initial conditions:}]{Initial conditions:}\par
Where ?? ?? ?? is the sum of all inputs to the hidden nodes, ?? ???? ?? is the weight connecting the output of output node j to the input of hidden node i, ?? ?? ?? is the output of output node j, ?? ???? ?? is the weight connecting the output of input node k to the input of hidden node i, I k is the output of input node k, ?? ?? ?? is the threshold of hidden node i, ?? ?? ?? is the output of hidden node i, and g() is the output function of hidden node i. 
\section[{In the backward path:}]{In the backward path:}\par
Where ?? ?? ?? is the sum of all inputs to the output nodes, ?? ???? ?? is the weight connecting the output of hidden node i to the input of output node j, ?? ?? ?? is the output of hidden node i, ?? ?? ?? is the threshold of output node j, ?? ?? ?? is the output of output node j, and g() is the output function of output node j.\par
The proposed RHN always generates analog outputs between 0 and 1 when g() is a sigmoid function or between ?1 and 1 when g() is a hyperbolic tangent function.\par
Using the Lyapunov Direct Method, it can be shown that Eqn. 31 is the energy or Lyapunov functions of the proposed network.\par
Differentiating E, we get: Expanding all the above terms in Eqn.32, we get: Then:du H i dt = ? B j=1 w H ij V O j + H k=1 w H ik I k + ? H i V H i = g(u H i )\textbf{(28)}V O j (0) = 0 V H i (0) = 0 (29) du O j dt = M i=1 w O ji V H i + ? O j V O j = g(u O j )\textbf{(30)}E = ? 1 2 M i=1 B j=1 w H ij V H i V O j ? 1 2 B j=1 M i=1 w O ji V O j V H i ? M i=1 A k=1 w H ik V H i I k ? M i=1 V H i ? H i ? B i=1 V O i ? O i (31) dE dt = ? d dt ( 1 2 M i=1 B j=1 w H ij V H i V O j ) ? d dt ( 1 2 B j=1 M i=1 w O ji V O j V H i ) ? d dt ( M i=1 A k=1 w H ik V H i I k ) ? d dt ( M i=1 V H i ? H i ) ? d dt ( B i=1 V O i ? O i )\textbf{(32}\par
For the rest of the terms, we get:\par
Now consider the forward path: Because the outputs of visible nodes are constant in the backward path, then:\par
Assume that all the weights are symmetric, then:\par
Therefore, Equation 32 can be reduced to:\par
and can be simplified to:\par
Further simplified to:\par
Using Chain Rule:\par
Since:\par
If the output function is a sigmoid or hyperbolic tangent function, then:d dt ( 1 2 M i=1 B j=1 w H ij V H i V O j ) = 1 2 M i=1 B j=1 w H ij dV H i dt V O j + 1 2 M i=1 B j=1 w H ij V H i dV O j dt d dt ( 1 2 B j=1 M i=1 w O ji V O j V H i ) = 1 2 B j=1 M i=1 w O ji dV O j dt V H i + 1 2 B j=1 M i=1 w O ji V O j dV H i dt d dt ( M i=1 A k=1 w H ik V H i I k ) = M i=1 A k=1 w H ik dV H i dt I k + M i=1 A k=1 w H ik V H i dI k dt (33) dI k dt = 0 (34) d dt ( M i=1 A k=1 w H ik V H i I k ) = M i=1 A k=1 w H ik dV H i dt I k (35) d dt M i=1 V H i ? H i = M i=1 dV H i dt ? H i d dt B i=1 V O i ? O i = B i=1 dV O i dt ? O i (36) dV O j dt = 0\textbf{(37)}w H ij = w O ji (\textbf{38})dE dt = ? M i=1 B j=1 w H ij dV H i dt V O j ? M i=1 A k=1 w H ik dV H i dt I k ? M i=1 dV H i dt ? H i (39) dE dt = ? M i=1 dV H i dt ( B j=1 w H ij V O j + A k=1 w H ik I k + ? H i )\textbf{(40)}dE dt = ? M i=1 dV H i dt du H i dt (\textbf{41})dE dt = ? M i=1 dV H i du H i du H i dt du H i dt dE dt = ? M i=1 dV H i du H i ( du H i dt ) 2\textbf{(42)}V H i = g(u H i ) (\textbf{43})dV H i du H i is always positive (44) Volume Xx XI Issue II V ersion I Global Journal of Researches in Engineering ( ) F a) SPSA Algorithm\par
As mentioned earlier (Equations 3 and 4), the conventional Hebbian rule is not suitable for training the proposed network because the outputs of the hidden nodes are unknown, and the equations cannot handle analog quantities.\par
The simultaneous perturbation stochastic approximation (SPSA) algorithm uses a gradient approximation that requires only 2N objective function measurements over all N iterations regardless of the optimization network's dimension \hyperref[b3]{[4,}\hyperref[b8]{9]}. Therefore, the SPSA algorithm, as shown in the following formulae, is suited for a high-dimensional optimization problem of minimizing an objective function dependent on multiple adjustable symmetric weights.\par
At each iteration, a simultaneous perturbation delta vector with mutually independent zero-mean random variables is generated; each element ? ij (k) in ?(k) matrix is generated with a probability of 0.5 of being either +1 or 1. Two weight matrices W + and W are calculated by adding and subtracting the ?(k) matrix scaled by gain sequence c(k) to/from the current weight matrix W (k) to compute their respective contributions J(W +) and J(W ) to the objective function. Dependent on the outcome of the evaluation and scaled by gain sequences a(k) and c(k), the current weight matrix W is updated accordingly. The gain sequences a(k) and c(k) decrease as the number of iterations k increases, will converge to 0 as k approaches ?.\par
The objective function J used for the optimization of the proposed RHN is:\par
Where ?? ? ij is the j th element of the desired output vector i, ?? ???? ?? (k) is the output value of the j th output node when training pattern i is presented, B is the number of output nodes, and P is the number of training patterns. 
\section[{b) Backward Propagation Through Time (BPTT) Algorithm}]{b) Backward Propagation Through Time (BPTT) Algorithm}\par
For simplicity and the ability to apply BPTT training algorithm, the proposed network in Figure \hyperref[fig_0]{3} can be transformed into a discrete-time system and unfolded in time, as shown in Figure \hyperref[fig_2]{4}. The error function J used for the optimization of the proposed RHN is:?W ij = J(W (k) + c(k)?(k)) ? J(W (k) ? c(k)?(k)) 2c(k)? ij (k) W ij (k + 1) = W ji (k + 1) = W ij (k) ? a(k)?W ij (k)\textbf{(55)}J = P i=1 B j=1 ( Dij ? V O ij (k)) 2 (56)\par
Where ?? ? pj is the j th element of the desired output vector k, V O (T ) is the output value of the j th output node when training pattern p is presented, B is the number of output nodes, and P is the number of training patterns.J = 1 2 P p=1 B j=1 ( Dpj ? V O pj (T )) 2\textbf{(57)}\par
Applying the BPTT algorithm, Where the deltas are:\par
Since the weights are symmetric, then:\par
V. 
\section[{Simulation Results}]{Simulation Results} 
\section[{a) Comparison of Hopfield Network and RHN}]{a) Comparison of Hopfield Network and RHN}\par
Let us consider storing 3 vectors ([1100], [0110], [0101]) in a Hopfield network. Hopfield network can be programmed to memorize these three vector patterns using Hebbian Rule, and the weight matrix is:?W O ji = ?(? O pj V H pj (T ) + ? H2 pj V H i (T ? 1))\textbf{(58)}\par
For j = 1 . . . A:?W H ij = ?(? H1 pi + ? H3 pi )I O pj\textbf{(59)}\par
For j = A + 1 . . . A + B, k = 1 . . . B:?W H ij = ?(? H1 pi V O pk (T ? 1) + ? H3 pi V O pk (T ? 2))\textbf{(60)}? O pj = g (u O pj (T ))( Dpj ? V O pj (T )) ? H1 pi = g (u H pi (T )) B j=1 ? O pj W O ji ? H2 pj = g (u O pj (T ? 1)) M i=1 ? H1 pj W H ij ? H3 pi = g (u H pj (T ? 1)) B i=1 ? H2 pj W O ji (61) W O ji (T + 1) = w H ij (T + 1) = w O ji (T ) + ?W O ji + ?W H ij\textbf{(62)}\par
Volume Xx XI Issue II V ersion I Global Journal of Researches in Engineering ( )F\par
The weight matrix will generate the correct output vector when the corresponding input vector with noise is provided.\par
Let us consider storing the fourth vector [1111] in the network. The weight matrix to store vector  {\ref [1111]} is:\par
Adding this new weight matrix to the previous weight matrix of the Hopfield network programmed to store 3 vectors ([1100], [0110], [0101]) yields a weight matrix with zero elements, erasing all the previous programming, as shown in the following. Therefore, the Hopfield network cannot be programmed to remember all four vectors ([1100], [0110], [0101], [1111]) using Hebbian rule. However, by introducing five hidden nodes in the proposed RHN, all the vectors can be easily stored and recalled correctly. The simulation shows that it is possible to increase the Hopfield network's memory capacity by using more hidden nodes. By increasing the number of hidden nodes to 50, the proposed network can remember all 16 binary vectors. 
\section[{b) EXOR Problem}]{b) EXOR Problem}\par
The EXOR or exclusive-or problem is a classical problem in neural network research. It is a problem of using a neural network to predict EXOR logic gates' outputs given two binary inputs. The network should return a "1" if the two inputs are not equal and a "0" if they are similar. The EXOR problem appears to be simple. However, Minksy and Papert in 1969 showed that this was a big problem for neural network architectures of the 1960s, providing a good test for the proposed network \hyperref[b17]{[18]}.\par
Using an RHN with input and output nodes, as shown in Figure \hyperref[fig_0]{3}, is used. An RHN with 2 input nodes, one output node, and four hidden nodes was created. It was trained to learn the EXOR problem. Figure \hyperref[fig_4]{6} shows the training curve of the network using the SPSA algorithm described earlier. The network is trained after 1000 training iterations.     An RHN with 35 input nodes, 35 output nodes, and ten hidden nodes is created. The network is then trained to perform auto-encoding of A, U, T, S characters, each with 5 7 pixels. The input characters are distorted by changing some of the pixels to test the network's ability to re-create the characters in the presence of noise.? ? ? 0 1 ?1 ?1 1 0 ?1 ?1 ?1 ?1 0 1 ?1 ?1 1 0 ? ? ? ? + ? ? ? ? 0 ?1 ?1 1 ?1 0 1 ?1 ?1 1 0 ?1 1 ?1 ?1 0 ? ? ? ? + ? ? ? ? 0 ?1 1 ?1 ?1 0 ?1 1 1 ?1 0 ?1 ?1 1 ?1 0 ? ? ? ? = ? ? ? ? 0 ?1 ?1 ?1 ?1 0 ?1 ?1 ?1 ?1 0 ?1 ?1 ?1 ?1 0 ? ? ? ? ? ? ? ? 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 ? ? ? ? ? ? ? ? 0 ?1 ?1 ?1 ?1 0 ?1 ?1 ?1 ?1 0 ?1 ?1 ?1 ?1 0 ? ? ? ? + ? ? ? ? 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 ? ? ? ? = ? ? ? ? 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ? ? ? ?\par
In Figure \hyperref[fig_8]{9}, the distorted images of A, U, T, S are on the left and re-created images are on the right. The figure shows that the network can perform perfect re-creation of these images even when distorted images with the Hamming distance of 13 are presented. As shown in Figure \hyperref[fig_9]{10}, an RHN trained with the BPTT algorithm can re-create the images with an average error rate of 2.4\% when the Hamming distance is 5. The result is significantly improved compared with the RHN trained with the SPSA algorithm resulting in an error pattern of more than 4.4\% for the same input. The classical Hopfield network and RBM can only achieve an error rate of 22.6\% and 13.4\%, respectively, for input vectors with the same Hamming distance. The RHN performs better compared to the Hopfield network and RBM. 
\section[{d) Creating an Associative Memory Model of Hand Written Digits}]{d) Creating an Associative Memory Model of Hand Written Digits}\par
The MNIST handwritten digit classification problem is a standard dataset used in computer vision and deep learning. The dataset contains 60,000 images, typically split into 50,000 training images and 10,000 validation images.\par
In this example, instead of performing handwritten classification, some of the 50,000 MNIST images are used as training inputs to associate with 3 5 pixel models representing handwritten digits, as shown in Figure \hyperref[fig_10]{11}. All 10,000 validation MNIST images will be used as test images to verify the network's associative function  ? The Input layer will hold the raw pixel values of the image, in this case, an image of width 28, height 28;\par
? The 2D-Convolution layer will compute the output of ? The Max-pooling layer will perform a downsampling operation along the spatial dimensions (width, height), resulting in a smaller volume of  {\ref [7 × 7 × 4]}.\par
? The Matrix to Vector layer will convert a volume of ? An RHN with 196 input nodes, 100 hidden nodes, and 15 output nodes will be trained using the BPTT algorithm to associate an input image with a digit model of 3 × 5 pixels.\par
The network architecture was inspired by the visual cortex's organization, having a similar connectivity pattern of the retina, ganglion cells, and neurons in a human brain. Individual neurons respond to stimuli only in a restricted region of the visual field known as the receptive field. A collection of such fields overlap to cover the entire image area.  created as outputs at iteration 0. The network generated correct models of "0" and "4" after the first iteration. When input image "1" is presented, it takes two feedback iterations to generate the correct model of "1". When input image "6" is presented, the network first generated a wrong model of "5" and then corrected its output to generate the correct model of "6" after the first feedback iteration. The effect of feedback iterations on the performance of an RHN is illustrated in Figure 14. The figure shows that the network can re-create half of the models correctly without any feedback iteration. However, the network's performance can be improved by applying one or more feedback iterations. This result illustrates the importance of feedback iteration in implementing an associative memory using the proposed RHN.\par
Figure 15 shows a network's performance after being trained using only 500 and 5000 training images. The graph shows that the network could re-create 6674 of the images perfectly when 500 training images were used, while the network can re-create 7849 of the images perfectly when 5000 training images were used.   
\section[{Conclusion}]{Conclusion}\par
A trainable analog Restricted Hopfield Network is presented in this paper. An energy or Lyapunov function was derived to show that the proposed network will converge to stable states when an input vector is introduced. The proposed network can be trained using either the modified SPSA or BPTT algorithms to ensure that all the weights are symmetric. Simulation results show that the presence of hidden nodes increases the network's memory capacity. Using A, U, T, S as training characters, the network can be trained to be an associative memory. Simulation results show that the network can perform perfect re-creation of noisy images and perform better than the standard Hopfield Network and RBM. Simulation results also illustrate the importance of feedback iteration in implementing associative memory to re-create from noisy images.\begin{figure}[htbp]
\noindent\textbf{3}\includegraphics[]{image-2.png}
\caption{\label{fig_0}Figure 3 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-3.png}
\caption{\label{fig_1})F}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{4}\includegraphics[]{image-4.png}
\caption{\label{fig_2}Figure 4 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{5}\includegraphics[]{image-5.png}
\caption{\label{fig_3}Figure 5 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{6}\includegraphics[]{image-6.png}
\caption{\label{fig_4}Figure 6 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-7.png}
\caption{\label{fig_5}?}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{7}\includegraphics[]{image-8.png}
\caption{\label{fig_6}Figure 7 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{8}\includegraphics[]{image-9.png}
\caption{\label{fig_7}Figure 8 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{9}\includegraphics[]{image-10.png}
\caption{\label{fig_8}Figure 9 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{10}\includegraphics[]{image-11.png}
\caption{\label{fig_9}Figure 10 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{11}\includegraphics[]{image-12.png}
\caption{\label{fig_10}Figure 11 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-13.png}
\caption{\label{fig_11}}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{12}\includegraphics[]{image-14.png}
\caption{\label{fig_12}Figure 12 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{}\includegraphics[]{image-15.png}
\caption{\label{fig_13}F}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{13}\includegraphics[]{image-16.png}
\caption{\label{fig_14}Figure 13 :}\end{figure}
     \begin{figure}[htbp]
\noindent\textbf{1} \par 
\begin{longtable}{P{0.1599009900990099\textwidth}P{0.016831683168316833\textwidth}P{0.03787128712871287\textwidth}P{0.1051980198019802\textwidth}P{0.23564356435643566\textwidth}P{0.08415841584158416\textwidth}P{0.1051980198019802\textwidth}P{0.1051980198019802\textwidth}}
Input\tabcellsep \tabcellsep T = 0\tabcellsep T = 1\tabcellsep \multicolumn{2}{l}{Output at each iteration T = 2 T = 3}\tabcellsep T = 5\tabcellsep T = 6\\
0\tabcellsep 0\tabcellsep 0\tabcellsep 0.004\tabcellsep 0.004\tabcellsep 0.004\tabcellsep 0.004\tabcellsep 0.004\\
0\tabcellsep 1\tabcellsep 0\tabcellsep 0.258\tabcellsep 0.510\tabcellsep 0.638\tabcellsep 0.847\tabcellsep 0.997\\
1\tabcellsep 0\tabcellsep 0\tabcellsep 0.316\tabcellsep 0.521\tabcellsep 0.851\tabcellsep 0.990\tabcellsep 0.995\\
1\tabcellsep 1\tabcellsep 0\tabcellsep 0.003\tabcellsep 0.003\tabcellsep 0.003\tabcellsep 0.003\tabcellsep 0.003\\
\multicolumn{2}{l}{c) Associative Memory Problem}\tabcellsep \tabcellsep \tabcellsep \tabcellsep \tabcellsep \tabcellsep \end{longtable} \par
 
\caption{\label{tab_1}Table 1 :}\end{figure}
 			\footnote{© 2021 Global Journals} 			\footnote{( ) F © 2021 Global Journals} 		 		\backmatter  			 \par
The proposed RHN is a dynamic system. When an input vector is presented to the input nodes, and the input vector is in a specific basin of attraction, the proposed network sends signals back and forth between the hidden and output nodes until the network reaches an equilibrium state or the corresponding attractor. 
\subsection[{IV.}]{IV.} 
\subsection[{Training of Proposed RHN}]{Training of Proposed RHN}\par
The proposed network can be trained using either the modified SPSA or BPTT algorithms to ensure that all the weights are symmetric, as described in the following. (51) 			 			  				\begin{bibitemlist}{1}
\bibitem[David et al. ()]{b8}\label{b8} 	 		‘A learning algorithm for boltzmann machines’.  		 			H David 		,  		 			Geoffrey E Ackley 		,  		 			Terrence J Hinton 		,  		 			Sejnowski 		.  	 	 		\textit{Cognitive science}  		1985. 9  (1)  p. .  	 
\bibitem[Geoffrey and Hinton ()]{b10}\label{b10} 	 		‘A practical guide to training restricted boltzmann machines’.  		 			E Geoffrey 		,  		 			Hinton 		.  	 	 		\textit{Neural networks: Tricks of the trade},  				2012. Springer. p. .  	 
\bibitem[James and Spall ()]{b14}\label{b14} 	 		‘An overview of the simultaneous perturbation method for efficient optimization’.  		 			C James 		,  		 			Spall 		.  	 	 		\textit{Johns Hopkins apl technical digest}  		1998. 19  (4)  p. .  	 
\bibitem[Lecun et al. ()]{b18}\label{b18} 	 		‘Back propagation applied to handwritten zip code recognition’.  		 			Yann Lecun 		,  		 			Bernhard Boser 		,  		 			S John 		,  		 			Donnie Denker 		,  		 			Richard E Henderson 		,  		 			Wayne Howard 		,  		 			Lawrence D Hubbard 		,  		 			Jackel 		.  	 	 		\textit{Neural computation}  		1989. 1  (4)  p. .  	 
\bibitem[Paul and Werbos ()]{b15}\label{b15} 	 		‘Backpropagation through time: what it does and how to do it’.  		 			J Paul 		,  		 			Werbos 		.  	 	 		\textit{Proceedings of the IEEE}  		1990. 78  (10)  p. .  	 
\bibitem[John et al. ()]{b2}\label{b2} 	 		‘Computing with neural circuits: A model’.  		 			J John 		,  		 			David W Hopfield 		,  		 			Tank 		.  	 	 		\textit{Science}  		1986. 233  (4764)  p. .  	 
\bibitem[Lecun and Bengio ()]{b19}\label{b19} 	 		\textit{Convolutional networks for images, speech, and time series. The handbook of brain theory and neural networks},  		 			Yann Lecun 		,  		 			Yoshua Bengio 		.  		1995. 1995. 3361.  	 
\bibitem[Salakhutdinov and Hinton ()]{b9}\label{b9} 	 		‘Deep boltzmann machines’.  		 			Ruslan Salakhutdinov 		,  		 			Geoffrey Hinton 		.  	 	 		\textit{Artificial intelligence and statistics},  				2009. PMLR. p. .  	 
\bibitem[Gardner ()]{b5}\label{b5} 	 		‘Maximum storage capacity in neural networks’.  		 			Elizabeth Gardner 		.  	 	 		\textit{Europhysics Letters)}  		1987. 4  (4)  p. 481.  	 	 (EPL) 
\bibitem[James and Spall ()]{b13}\label{b13} 	 		‘Multivariate stochastic approximation using a simultaneous perturbation gradient approximation’.  		 			C James 		,  		 			Spall 		.  	 	 		\textit{IEEE transactions on automatic control}  		1992. 37  (3)  p. .  	 
\bibitem[Haykin ()]{b16}\label{b16} 	 		\textit{Neural networks and learning machines, 3/E. Pearson Education India},  		 			Simon Haykin 		.  		2010.  	 
\bibitem[John and Hopfield ()]{b0}\label{b0} 	 		‘Neural networks and physical systems with emergent collective computational abilities’.  		 			J John 		,  		 			Hopfield 		.  	 	 		\textit{Proceedings of the national academy of sciences},  				 (the national academy of sciences)  		1982. 79 p. .  	 
\bibitem[John et al. ()]{b1}\label{b1} 	 		‘neural" computation of decisions in optimization problems’.  		 			J John 		,  		 			David W Hopfield 		,  		 			Tank 		.  	 	 		\textit{Biological cybernetics}  		1985. 52  (3)  p. .  	 
\bibitem[Gardner and Derrida ()]{b7}\label{b7} 	 		‘Optimal storage properties of neural network models’.  		 			Elizabeth Gardner 		,  		 			Bernard Derrida 		.  	 	 		\textit{Journal of Physics A: Mathematical and general}  		1988. 21  (1)  p. 271.  	 
\bibitem[Minsky et al. ()]{b17}\label{b17} 	 		\textit{Perceptrons: An introduction to computational geometry},  		 			Marvin Minsky 		,  		 			A Seymour 		,  		 			Papert 		.  		2017. MIT press.  	 
\bibitem[Salakhutdinov et al. ()]{b12}\label{b12} 	 		‘Restricted boltzmann machines for collaborative filtering’.  		 			Ruslan Salakhutdinov 		,  		 			Andriy Mnih 		,  		 			Geoffrey Hinton 		.  	 	 		\textit{Proceedings of the 24th international conference on Machine learning},  				 (the 24th international conference on Machine learning)  		2007. p. .  	 
\bibitem[Amos et al. ()]{b4}\label{b4} 	 		‘The basins of attraction of a new hopfield learning rule’.  		 			J Amos 		,  		 			Romain Storkey 		,  		 			Valabregue 		.  	 	 		\textit{Neural Networks}  		1999. 12  (6)  p. .  	 
\bibitem[Robertj Mceliece et al. ()]{b3}\label{b3} 	 		‘The capacity of the hopfield associative memory’.  		 			Edwardc Robertj Mceliece 		,  		 			Posner 		,  		 			Santoshs Eugener Rodemich 		,  		 			Venkatesh 		.  	 	 		\textit{IEEE transactions on Information Theory}  		1987. 33  (4)  p. .  	 
\bibitem[Sutskever et al. ()]{b11}\label{b11} 	 		‘The recurrent temporal restricted boltzmann machine’.  		 			Ilya Sutskever 		,  		 			Geoffrey E Hinton 		,  		 			Graham W Taylor 		.  	 	 		\textit{Advances in neural information processing systems},  				2009. p. .  	 
\bibitem[Gardner ()]{b6}\label{b6} 	 		‘The space of interactions in neural network models’.  		 			Elizabeth Gardner 		.  	 	 		\textit{Journal of physics A: Mathematical and general}  		1988. 21  (1)  p. 257.  	 
\end{bibitemlist}
 			 		 	 
\end{document}
