Unsupervised learning is a machine learning paradigm where the algorithm is trained on a dataset containing input data without explicit target values or labels. The primary goal of unsupervised learning is to discover patterns, structures, or relationships within the data without guidance from predefined categories or outcomes. It is a valuable approach for tasks where you want the algorithm to explore the inherent structure and characteristics of the data on its own.
The document discusses artificial neural networks and classification using backpropagation, describing neural networks as sets of connected input and output units where each connection has an associated weight. It explains backpropagation as a neural network learning algorithm that trains networks by adjusting weights to correctly predict the class label of input data, and how multi-layer feed-forward neural networks can be used for classification by propagating inputs through hidden layers to generate outputs.
Methods of Optimization in Machine LearningKnoldus Inc.
In this session we will discuss about various methods to optimise a machine learning model and, how we can adjust the hyper-parameters to minimise the cost function.
Adaptive Resonance Theory (ART) is a neural network model developed by Stephen Grossberg and Gail Carpenter to explain how the brain processes information. ART networks use unsupervised and supervised learning and can perform tasks like pattern recognition and prediction. The basic ART system consists of a comparison field, recognition field, vigilance parameter, and reset module. The recognition field contains neurons that match the input vector. If the best matching neuron exceeds the vigilance parameter, learning occurs via resonance; otherwise, the neuron is inhibited and a new match is sought. ART has applications in areas like face recognition, image compression, and medical diagnosis.
This document provides an outline for a course on neural networks and fuzzy systems. The course is divided into two parts, with the first 11 weeks covering neural networks topics like multi-layer feedforward networks, backpropagation, and gradient descent. The document explains that multi-layer networks are needed to solve nonlinear problems by dividing the problem space into smaller linear regions. It also provides notation for multi-layer networks and shows how backpropagation works to calculate weight updates for each layer.
It is an introductory slide for pattern recolonization. This presentation was quit emotional for me because it was the last academic presentation in Green University of Bangladesh. For that i have used a sad emo at the first of the slide.
A recurrent neural network (RNN) is one of the two broad types of artificial neural network, characterized by direction of the flow of information between its layers. In contrast to the uni-directional feedforward neural network, it is a bi-directional artificial neural network, meaning that it allows the output from some nodes to affect subsequent input to the same nodes. Their ability to use internal state (memory) to process arbitrary sequences of inputs makes them applicable to tasks such as unsegmented, connected handwriting recognition[4] or speech recognition. The term "recurrent neural network" is used to refer to the class of networks with an infinite impulse response, whereas "convolutional neural network" refers to the class of finite impulse response. Both classes of networks exhibit temporal dynamic behavior. A finite impulse recurrent network is a directed acyclic graph that can be unrolled and replaced with a strictly feedforward neural network, while an infinite impulse recurrent network is a directed cyclic graph that can not be unrolled.
Additional stored states and the storage under direct control by the network can be added to both infinite-impulse and finite-impulse networks. The storage can also be replaced by another network or graph if that incorporates time delays or has feedback loops. Such controlled states are referred to as gated state or gated memory, and are part of long short-term memory networks (LSTMs) and gated recurrent units. This is also called Feedforward Neural Network (FNN). Recurrent neural networks are theoretically Turing complete and can run arbitrary programs to process arbitrary sequences of inputs.
It is a classification technique based on Bayes’ Theorem with an independence assumption among predictors. In simple terms, a Naive Bayes classifier assumes that the presence of a particular feature in a class is unrelated to the presence of any other feature.
The Naïve Bayes classifier is a popular supervised machine learning algorithm used for classification tasks such as text classification. It belongs to the family of generative learning algorithms, which means that it models the distribution of inputs for a given class or category. This approach is based on the assumption that the features of the input data are conditionally independent given the class, allowing the algorithm to make predictions quickly and accurately.
In statistics, naive Bayes classifiers are considered as simple probabilistic classifiers that apply Bayes’ theorem. This theorem is based on the probability of a hypothesis, given the data and some prior knowledge. The naive Bayes classifier assumes that all features in the input data are independent of each other, which is often not true in real-world scenarios. However, despite this simplifying assumption, the naive Bayes classifier is widely used because of its efficiency and good performance in many real-world applications.
Moreover, it is worth noting that naive Bayes classifiers are among the simplest Bayesian network models, yet they can achieve high accuracy levels when coupled with kernel density estimation. This technique involves using a kernel function to estimate the probability density function of the input data, allowing the classifier to improve its performance in complex scenarios where the data distribution is not well-defined. As a result, the naive Bayes classifier is a powerful tool in machine learning, particularly in text classification, spam filtering, and sentiment analysis, among others.
For example, a fruit may be considered to be an apple if it is red, round, and about 3 inches in diameter. Even if these features depend on each other or upon the existence of the other features, all of these properties independently contribute to the probability that this fruit is an apple and that is why it is known as ‘Naive’.
An NB model is easy to build and particularly useful for very large data sets. Along with simplicity, Naive Bayes is known to outperform even highly sophisticated classification methods.
Matrix Factorisation (and Dimensionality Reduction)HJ van Veen
This document discusses matrix factorization techniques. Matrix factorization involves decomposing a large, sparse matrix into more compact, ordered matrices. Common factorization methods include singular value decomposition (SVD), principal component analysis (PCA), and non-negative matrix factorization (NMF). NMF decomposes a matrix into two lower rank, non-negative matrices. It can reduce space needed to store data compared to SVD. The document provides an example of using NMF to factorize a user-item rating matrix to make recommendations.
I think this could be useful for those who works in the field of Coputational Intelligence. Give your valuable reviews so that I can progree in my research
Deep learning and neural networks (using simple mathematics)Amine Bendahmane
The document provides an overview of machine learning and deep learning concepts through a series of diagrams and explanations. It begins by introducing concepts like regression, classification, and clustering. It then discusses supervised vs unsupervised learning before explaining neural networks and components like the perceptron, multi-layer perceptrons, and convolutional neural networks. It notes how neural networks learn representations and separate data through hidden layers.
This document discusses different types of artificial neural network topologies. It describes feedforward neural networks, including single layer and multilayer feedforward networks. It also describes recurrent neural networks, which differ from feedforward networks in having at least one feedback loop. Single layer networks have an input and output layer, while multilayer networks have one or more hidden layers between the input and output layers. Recurrent networks can learn temporal patterns due to their internal memory capabilities.
Presentation in Vietnam Japan AI Community in 2019-05-26.
The presentation summarizes what I've learned about Regularization in Deep Learning.
Disclaimer: The presentation is given in a community event, so it wasn't thoroughly reviewed or revised.
The document discusses recurrent neural networks (RNNs) and long short-term memory (LSTM) networks. It provides details on the architecture of RNNs including forward and back propagation. LSTMs are described as a type of RNN that can learn long-term dependencies using forget, input and output gates to control the cell state. Examples of applications for RNNs and LSTMs include language modeling, machine translation, speech recognition, and generating image descriptions.
The document discusses various model-based clustering techniques for handling high-dimensional data, including expectation-maximization, conceptual clustering using COBWEB, self-organizing maps, subspace clustering with CLIQUE and PROCLUS, and frequent pattern-based clustering. It provides details on the methodology and assumptions of each technique.
The document discusses various neural network learning rules:
1. Error correction learning rule (delta rule) adapts weights based on the error between the actual and desired output.
2. Memory-based learning stores all training examples and classifies new inputs based on similarity to nearby examples (e.g. k-nearest neighbors).
3. Hebbian learning increases weights of simultaneously active neuron connections and decreases others, allowing patterns to emerge from correlations in inputs over time.
4. Competitive learning (winner-take-all) adapts the weights of the neuron most active for a given input, allowing unsupervised clustering of similar inputs across neurons.
Convolutional neural networks (CNNs) are a type of neural network used for image recognition tasks. CNNs use convolutional layers that apply filters to input images to extract features, followed by pooling layers that reduce the dimensionality. The extracted features are then fed into fully connected layers for classification. CNNs are inspired by biological processes and are well-suited for computer vision tasks like image classification, detection, and segmentation.
Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...SlideTeam
Introducing Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates Complete Deck. This ready-to-use backpropagation PowerPoint visuals can be used to explain the concept of artificial intelligence, machine learning, and deep learning easily to your audience. Discuss the types of artificial intelligence including deep learning, machine learning, and artificial intelligence. Present the goals of AI research which constitutes reasoning, knowledge representation, learning, natural language processing, artificial neural networks by taking the advantage of our neural network PowerPoint slide designs. Describe the concept of machine learning and discuss how it helps in analyzing customer queries and provide support for human customer support executives. You can also showcase the comparison between artificial intelligence, deep learning and machine learning. Make your audience familiar with the usages of artificial intelligence such as customer services, supply chain, human resources, customer insight etc. Challenges and limitations of machine learning can also be discussed by using our content-ready computational statistics PPT themes. Thus, download our ready-to-use artificial neural network PowerPoint slide deck and increase your business efficiency. https://bit.ly/2YlHC9s
Introduction to Recurrent Neural NetworkKnoldus Inc.
The document provides an introduction to recurrent neural networks (RNNs). It discusses how RNNs differ from feedforward neural networks in that they have internal memory and can use their output from the previous time step as input. This allows RNNs to process sequential data like time series. The document outlines some common RNN types and explains the vanishing gradient problem that can occur in RNNs due to multiplication of small gradient values over many time steps. It discusses solutions to this problem like LSTMs and techniques like weight initialization and gradient clipping.
Activation functions and Training Algorithms for Deep Neural networkGayatri Khanvilkar
Training of Deep neural network is difficult task. Deep neural network train with the help of training algorithms and activation function This is an overview of Activation Function and Training Algorithms used for Deep Neural Network. It underlines a brief comparative study of activation function and training algorithms.
Abstract: This PDSG workshop introduces basic concepts of ensemble methods in machine learning. Concepts covered are Condercet Jury Theorem, Weak Learners, Decision Stumps, Bagging and Majority Voting.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
This document discusses Java I/O and streams. It begins by introducing files and the File class, which provides methods for obtaining file properties and manipulating files. It then discusses reading and writing files using byte streams like FileInputStream and FileOutputStream. Character streams like PrintWriter and BufferedReader are presented for console I/O. Other stream classes covered include buffered streams, object streams for serialization, and data streams for primitive types. The key methods of various stream classes are listed.
This document provides an overview of first-order logic in artificial intelligence:
- First-order logic extends propositional logic by adding objects, relations, and functions to represent knowledge. Objects can include people and numbers, while relations include concepts like "brother of" and functions like "father of".
- A sentence in first-order logic contains a predicate and a subject, represented by a variable. For example, "tall(John)" asserts that John is tall. Quantifiers like "forall" and "exists" are used to structure sentences.
- First-order logic contains constants, variables, predicates, functions, connectives, equality, and quantifiers as its basic elements.
This document provides an overview of associative memories and discrete Hopfield networks. It begins with introductions to basic concepts like autoassociative and heteroassociative memory. It then describes linear associative memory, which uses a Hebbian learning rule to form associations between input-output patterns. Next, it covers Hopfield's autoassociative memory, a recurrent neural network for associating patterns to themselves. Finally, it discusses performance analysis of recurrent autoassociative memories. The document presents key concepts in associative memory theory and different models like linear associative memory and Hopfield networks.
A recurrent neural network (RNN) is one of the two broad types of artificial neural network, characterized by direction of the flow of information between its layers. In contrast to the uni-directional feedforward neural network, it is a bi-directional artificial neural network, meaning that it allows the output from some nodes to affect subsequent input to the same nodes. Their ability to use internal state (memory) to process arbitrary sequences of inputs makes them applicable to tasks such as unsegmented, connected handwriting recognition[4] or speech recognition. The term "recurrent neural network" is used to refer to the class of networks with an infinite impulse response, whereas "convolutional neural network" refers to the class of finite impulse response. Both classes of networks exhibit temporal dynamic behavior. A finite impulse recurrent network is a directed acyclic graph that can be unrolled and replaced with a strictly feedforward neural network, while an infinite impulse recurrent network is a directed cyclic graph that can not be unrolled.
Additional stored states and the storage under direct control by the network can be added to both infinite-impulse and finite-impulse networks. The storage can also be replaced by another network or graph if that incorporates time delays or has feedback loops. Such controlled states are referred to as gated state or gated memory, and are part of long short-term memory networks (LSTMs) and gated recurrent units. This is also called Feedforward Neural Network (FNN). Recurrent neural networks are theoretically Turing complete and can run arbitrary programs to process arbitrary sequences of inputs.
It is a classification technique based on Bayes’ Theorem with an independence assumption among predictors. In simple terms, a Naive Bayes classifier assumes that the presence of a particular feature in a class is unrelated to the presence of any other feature.
The Naïve Bayes classifier is a popular supervised machine learning algorithm used for classification tasks such as text classification. It belongs to the family of generative learning algorithms, which means that it models the distribution of inputs for a given class or category. This approach is based on the assumption that the features of the input data are conditionally independent given the class, allowing the algorithm to make predictions quickly and accurately.
In statistics, naive Bayes classifiers are considered as simple probabilistic classifiers that apply Bayes’ theorem. This theorem is based on the probability of a hypothesis, given the data and some prior knowledge. The naive Bayes classifier assumes that all features in the input data are independent of each other, which is often not true in real-world scenarios. However, despite this simplifying assumption, the naive Bayes classifier is widely used because of its efficiency and good performance in many real-world applications.
Moreover, it is worth noting that naive Bayes classifiers are among the simplest Bayesian network models, yet they can achieve high accuracy levels when coupled with kernel density estimation. This technique involves using a kernel function to estimate the probability density function of the input data, allowing the classifier to improve its performance in complex scenarios where the data distribution is not well-defined. As a result, the naive Bayes classifier is a powerful tool in machine learning, particularly in text classification, spam filtering, and sentiment analysis, among others.
For example, a fruit may be considered to be an apple if it is red, round, and about 3 inches in diameter. Even if these features depend on each other or upon the existence of the other features, all of these properties independently contribute to the probability that this fruit is an apple and that is why it is known as ‘Naive’.
An NB model is easy to build and particularly useful for very large data sets. Along with simplicity, Naive Bayes is known to outperform even highly sophisticated classification methods.
Matrix Factorisation (and Dimensionality Reduction)HJ van Veen
This document discusses matrix factorization techniques. Matrix factorization involves decomposing a large, sparse matrix into more compact, ordered matrices. Common factorization methods include singular value decomposition (SVD), principal component analysis (PCA), and non-negative matrix factorization (NMF). NMF decomposes a matrix into two lower rank, non-negative matrices. It can reduce space needed to store data compared to SVD. The document provides an example of using NMF to factorize a user-item rating matrix to make recommendations.
I think this could be useful for those who works in the field of Coputational Intelligence. Give your valuable reviews so that I can progree in my research
Deep learning and neural networks (using simple mathematics)Amine Bendahmane
The document provides an overview of machine learning and deep learning concepts through a series of diagrams and explanations. It begins by introducing concepts like regression, classification, and clustering. It then discusses supervised vs unsupervised learning before explaining neural networks and components like the perceptron, multi-layer perceptrons, and convolutional neural networks. It notes how neural networks learn representations and separate data through hidden layers.
This document discusses different types of artificial neural network topologies. It describes feedforward neural networks, including single layer and multilayer feedforward networks. It also describes recurrent neural networks, which differ from feedforward networks in having at least one feedback loop. Single layer networks have an input and output layer, while multilayer networks have one or more hidden layers between the input and output layers. Recurrent networks can learn temporal patterns due to their internal memory capabilities.
Presentation in Vietnam Japan AI Community in 2019-05-26.
The presentation summarizes what I've learned about Regularization in Deep Learning.
Disclaimer: The presentation is given in a community event, so it wasn't thoroughly reviewed or revised.
The document discusses recurrent neural networks (RNNs) and long short-term memory (LSTM) networks. It provides details on the architecture of RNNs including forward and back propagation. LSTMs are described as a type of RNN that can learn long-term dependencies using forget, input and output gates to control the cell state. Examples of applications for RNNs and LSTMs include language modeling, machine translation, speech recognition, and generating image descriptions.
The document discusses various model-based clustering techniques for handling high-dimensional data, including expectation-maximization, conceptual clustering using COBWEB, self-organizing maps, subspace clustering with CLIQUE and PROCLUS, and frequent pattern-based clustering. It provides details on the methodology and assumptions of each technique.
The document discusses various neural network learning rules:
1. Error correction learning rule (delta rule) adapts weights based on the error between the actual and desired output.
2. Memory-based learning stores all training examples and classifies new inputs based on similarity to nearby examples (e.g. k-nearest neighbors).
3. Hebbian learning increases weights of simultaneously active neuron connections and decreases others, allowing patterns to emerge from correlations in inputs over time.
4. Competitive learning (winner-take-all) adapts the weights of the neuron most active for a given input, allowing unsupervised clustering of similar inputs across neurons.
Convolutional neural networks (CNNs) are a type of neural network used for image recognition tasks. CNNs use convolutional layers that apply filters to input images to extract features, followed by pooling layers that reduce the dimensionality. The extracted features are then fed into fully connected layers for classification. CNNs are inspired by biological processes and are well-suited for computer vision tasks like image classification, detection, and segmentation.
Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates...SlideTeam
Introducing Back Propagation Neural Network In AI PowerPoint Presentation Slide Templates Complete Deck. This ready-to-use backpropagation PowerPoint visuals can be used to explain the concept of artificial intelligence, machine learning, and deep learning easily to your audience. Discuss the types of artificial intelligence including deep learning, machine learning, and artificial intelligence. Present the goals of AI research which constitutes reasoning, knowledge representation, learning, natural language processing, artificial neural networks by taking the advantage of our neural network PowerPoint slide designs. Describe the concept of machine learning and discuss how it helps in analyzing customer queries and provide support for human customer support executives. You can also showcase the comparison between artificial intelligence, deep learning and machine learning. Make your audience familiar with the usages of artificial intelligence such as customer services, supply chain, human resources, customer insight etc. Challenges and limitations of machine learning can also be discussed by using our content-ready computational statistics PPT themes. Thus, download our ready-to-use artificial neural network PowerPoint slide deck and increase your business efficiency. https://bit.ly/2YlHC9s
Introduction to Recurrent Neural NetworkKnoldus Inc.
The document provides an introduction to recurrent neural networks (RNNs). It discusses how RNNs differ from feedforward neural networks in that they have internal memory and can use their output from the previous time step as input. This allows RNNs to process sequential data like time series. The document outlines some common RNN types and explains the vanishing gradient problem that can occur in RNNs due to multiplication of small gradient values over many time steps. It discusses solutions to this problem like LSTMs and techniques like weight initialization and gradient clipping.
Activation functions and Training Algorithms for Deep Neural networkGayatri Khanvilkar
Training of Deep neural network is difficult task. Deep neural network train with the help of training algorithms and activation function This is an overview of Activation Function and Training Algorithms used for Deep Neural Network. It underlines a brief comparative study of activation function and training algorithms.
Abstract: This PDSG workshop introduces basic concepts of ensemble methods in machine learning. Concepts covered are Condercet Jury Theorem, Weak Learners, Decision Stumps, Bagging and Majority Voting.
Level: Fundamental
Requirements: No prior programming or statistics knowledge required.
This document discusses Java I/O and streams. It begins by introducing files and the File class, which provides methods for obtaining file properties and manipulating files. It then discusses reading and writing files using byte streams like FileInputStream and FileOutputStream. Character streams like PrintWriter and BufferedReader are presented for console I/O. Other stream classes covered include buffered streams, object streams for serialization, and data streams for primitive types. The key methods of various stream classes are listed.
This document provides an overview of first-order logic in artificial intelligence:
- First-order logic extends propositional logic by adding objects, relations, and functions to represent knowledge. Objects can include people and numbers, while relations include concepts like "brother of" and functions like "father of".
- A sentence in first-order logic contains a predicate and a subject, represented by a variable. For example, "tall(John)" asserts that John is tall. Quantifiers like "forall" and "exists" are used to structure sentences.
- First-order logic contains constants, variables, predicates, functions, connectives, equality, and quantifiers as its basic elements.
This document provides an overview of associative memories and discrete Hopfield networks. It begins with introductions to basic concepts like autoassociative and heteroassociative memory. It then describes linear associative memory, which uses a Hebbian learning rule to form associations between input-output patterns. Next, it covers Hopfield's autoassociative memory, a recurrent neural network for associating patterns to themselves. Finally, it discusses performance analysis of recurrent autoassociative memories. The document presents key concepts in associative memory theory and different models like linear associative memory and Hopfield networks.
This document summarizes research on using memristors to develop nano-scale associative memories (AMs). Key points:
- AMs are important for brain-like computing but scaling traditional circuits is challenging and stored information is fragile.
- Memristors are promising due to their small size and ability to remember resistance levels, but are typically only used as synapses in artificial neural networks (ANNs), not to their full potential.
- The authors develop a framework using genetic programming to automatically design AM circuits using memristors that can outperform traditional ANNs.
- Their results show memristor-based AMs can learn spatial and temporal correlations in inputs, optimize the tradeoff between size and
(7) cpp memory representation_pointer_arithmeticsNico Ludwig
http://de.slideshare.net/nicolayludwig/7-cpp-memory-representationpointerarithmeticsexercises-38510699
- The octal and hexadecimal Numeral System
- Byte Order
- Memory Representation of Arrays and Pointer Arithmetics
- Array Addressing with "Cast Contact Lenses"
- The Heap: Segmentation and "Why do Programs crash?"
- How to understand and fix Bugs
- The Teddybear Principle
The Hopfield Network is a type of recurrent artificial neural network that serves as an associative memory system. It is used to store and retrieve patterns, with applications in optimization and pattern recognition.
1.1 core programming [understand computer storage and data types]tototo147
1) The document discusses computer storage and data types. It explains how computers store programs and data in memory, including primary storage (RAM) and secondary storage (hard drives).
2) Variables are stored in either the stack or heap based on their type. Value types like integers are stored on the stack while reference types like objects are stored on the heap.
3) The document reviews different data types including numeric (integral, floating-point, decimal), textual, and boolean types. It provides examples of declaring variables of each type.
This document provides an overview of different knowledge representation structures used in artificial intelligence, including associative networks, frame structures, conceptual dependencies, and scripts. Associative networks are neural network models that represent information as activity patterns across neurons. Frame structures represent stereotypical situations as frames with slots and facets to define classes and instances. Conceptual dependency theory represents language using basic representational tokens and conceptual transitions. Script theory proposes that human behavior falls into patterns called scripts that provide programs for common actions and experiences.
Associative memory networks store patterns and produce output patterns by matching inputs to stored patterns, functioning as a content-addressable memory. There are two types: auto-associative memory, where inputs and outputs are the same patterns, used for pattern completion or error correction, and hetero-associative memory, where inputs are associated with and map to related output patterns. Auto-associative memory has a single layer with the same number of input and output nodes, and is trained using Hebbian or delta learning rules to store patterns.
This document provides an overview of memory organization and cache memory. It discusses the memory hierarchy from fast, small registers and caches closer to the CPU to larger, slower main memory and permanent storage like disks further away. Cache memory stores recently accessed data from main memory to speed up future accesses by taking advantage of temporal and spatial locality. Caches can be direct mapped, set associative, or fully associative and use different replacement policies like LRU when a block needs to be evicted.
It contain all basic information related to the introduction of object oriented Programming. It also led very important step for the new world for programming world. And these presentation will help you to gather more informtaion related to Object oriented programming
The document discusses the differences between strcpy and memcpy functions in C. Strcpy copies bytes from a source string to a destination string until it reaches the null terminator, while memcpy copies a specified number of bytes between any types of data. It also provides examples of removing trailing spaces from a string and using switch statements instead of multiple else-if statements.
This document provides an overview of support vector machines and related pattern recognition techniques:
- SVMs find the optimal separating hyperplane between classes by maximizing the margin between classes using support vectors.
- Nonlinear decision surfaces can be achieved by transforming data into a higher-dimensional feature space using kernel functions.
- Soft margin classifiers allow some misclassified points by introducing slack variables to improve generalization.
- Relevance vector machines take a Bayesian approach, placing a sparsity-inducing prior over weights to provide a probabilistic interpretation.
Associative memory neural networks are models for learning and recalling relationships between unrelated items or concepts. They include hetero-associative and auto-associative networks. Hetero-associative networks learn relationships between different input and output patterns, while auto-associative networks learn relationships between identical input and output patterns. Both use Hebbian learning or the delta rule to determine weights that allow recall of the desired output when presented with a similar input pattern. Bidirectional associative memory (BAM) networks further allow recall in both input-to-output and output-to-input directions.
The document discusses different levels of computer memory organization. It describes the memory hierarchy from fastest to slowest as registers, cache memory, main memory, and auxiliary memory such as magnetic disks and tapes. It explains how each level of memory trades off speed versus cost and capacity. The document also covers virtual memory and how it allows programs to access large logical addresses while physical memory remains small.
ECECS 472572 Final Exam ProjectRemember to check the errat.docxtidwellveronique
ECE/CS 472/572 Final Exam Project
Remember to check the errata section (at the very bottom of the page) for updates.
Your submission should be comprised of two items:
a
.pdf
file containing your written report and a
.tar
file containing a directory structure with your C or C++ source code. Your grade will be reduced if you do not follow the submission instructions.
All written reports (for both 472 and 572 students) must be composed in MS Word, LaTeX, or some other word processor and submitted as a PDF file.
Please take the time to read this entire document. If you have questions there is a high likelihood that another section of the document provides answers.
Introduction
In this final project you will implement a cache simulator. Your simulator will be configurable and will be able to handle caches with varying capacities, block sizes, levels of associativity, replacement policies, and write policies. The simulator will operate on trace files that indicate memory access properties. All input files to your simulator will follow a specific structure so that you can parse the contents and use the information to set the properties of your simulator.
After execution is finished, your simulator will generate an output file containing information on the number of cache misses, hits, and miss evictions (i.e. the number of block replacements). In addition, the file will also record the total number of (simulated) clock cycles used during the situation. Lastly, the file will indicate how many read and write operations were requested by the CPU.
It is important to note that your simulator is required to make several significant assumptions for the sake of simplicity.
1. You do not have to simulate the actual data contents. We simply pretend that we copied data from main memory and keep track of the hypothetical time that would have elapsed.
2. Accessing a sub-portion of a cache block takes the exact same time as it would require to access the entire block. Imagine that you are working with a cache that uses a 32 byte block size and has an access time of 15 clock cycles. Reading a 32 byte block from this cache will require 15 clock cycles. However, the same amount of time is required to read 1 byte from the cache.
3. In this project assume that main memory RAM is always accessed in units of 8 bytes (i.e. 64 bits at a time).
When accessing main memory, it's expensive to access the first unit. However, DDR memory typically includes buffering which means that the RAM can provide access to the successive memory (in 8 byte chunks) with minimal overhead. In this project we assume an
overhead of 1 additional clock cycle per contiguous unit
.
For example, suppose that it costs 255 clock cycles to access the first unit from main memory. Based on our assumption, it would only cost 257 clock cycles to access 24 bytes of memory.
4. Assume that all caches utilize a "fetch-on-write" scheme if a miss occurs on a Store operation. This means that .
ECECS 472572 Final Exam ProjectRemember to check the err.docxtidwellveronique
ECE/CS 472/572 Final Exam Project
Remember to check the errata section (at the very bottom of the page) for updates.
Your submission should be comprised of two items:
a
.pdf
file containing your written report and a
.tar
file containing a directory structure with your C or C++ source code. Your grade will be reduced if you do not follow the submission instructions.
All written reports (for both 472 and 572 students) must be composed in MS Word, LaTeX, or some other word processor and submitted as a PDF file.
Please take the time to read this entire document. If you have questions there is a high likelihood that another section of the document provides answers.
Introduction
In this final project you will implement a cache simulator. Your simulator will be configurable and will be able to handle caches with varying capacities, block sizes, levels of associativity, replacement policies, and write policies. The simulator will operate on trace files that indicate memory access properties. All input files to your simulator will follow a specific structure so that you can parse the contents and use the information to set the properties of your simulator.
After execution is finished, your simulator will generate an output file containing information on the number of cache misses, hits, and miss evictions (i.e. the number of block replacements). In addition, the file will also record the total number of (simulated) clock cycles used during the situation. Lastly, the file will indicate how many read and write operations were requested by the CPU.
It is important to note that your simulator is required to make several significant assumptions for the sake of simplicity.
1. You do not have to simulate the actual data contents. We simply pretend that we copied data from main memory and keep track of the hypothetical time that would have elapsed.
2. Accessing a sub-portion of a cache block takes the exact same time as it would require to access the entire block. Imagine that you are working with a cache that uses a 32 byte block size and has an access time of 15 clock cycles. Reading a 32 byte block from this cache will require 15 clock cycles. However, the same amount of time is required to read 1 byte from the cache.
3. In this project assume that main memory RAM is always accessed in units of 8 bytes (i.e. 64 bits at a time).
When accessing main memory, it's expensive to access the first unit. However, DDR memory typically includes buffering which means that the RAM can provide access to the successive memory (in 8 byte chunks) with minimal overhead. In this project we assume an
overhead of 1 additional clock cycle per contiguous unit
.
For example, suppose that it costs 255 clock cycles to access the first unit from main memory. Based on our assumption, it would only cost 257 clock cycles to access 24 bytes of memory.
4. Assume that all caches utilize a "fetch-on-write" scheme if a miss occurs on a Store operation. This means that.
This document discusses graph algorithms and directed acyclic graphs (DAGs). It explains that the edges in a graph can be identified as tree, back, forward, or cross edges based on the color of vertices during depth-first search (DFS). It also defines DAGs as directed graphs without cycles and describes how to perform a topological sort of a DAG by inserting vertices into a linked list based on their finishing times from DFS. Finally, it discusses how to find strongly connected components (SCCs) in a graph using DFS on the original graph and its transpose.
This document discusses string matching algorithms. It begins with an introduction to the naive string matching algorithm and its quadratic runtime. Then it proposes three improved algorithms: FC-RJ, FLC-RJ, and FMLC-RJ, which attempt to match patterns by restricting comparisons based on the first, first and last, or first, middle, and last characters, respectively. Experimental results show that these three proposed algorithms outperform the naive algorithm by reducing execution time, with FMLC-RJ working best for three-character patterns.
The document discusses shortest path problems and algorithms. It defines the shortest path problem as finding the minimum weight path between two vertices in a weighted graph. It presents the Bellman-Ford algorithm, which can handle graphs with negative edge weights but detects negative cycles. It also presents Dijkstra's algorithm, which only works for graphs without negative edge weights. Key steps of the algorithms include initialization, relaxation of edges to update distance estimates, and ensuring the shortest path property is satisfied.
The document discusses strongly connected component decomposition (SCCD) which uses depth-first search (DFS) to separate a directed graph into subsets of mutually reachable vertices. It describes running DFS on the original graph and its transpose to find these subsets in Θ(V+E) time, then provides an example applying the three step process of running DFS on the graph and transpose, finding two strongly connected components.
Red-black trees are self-balancing binary search trees. They guarantee an O(log n) running time for operations by ensuring that no path from the root to a leaf is more than twice as long as any other. Nodes are colored red or black, and properties of the coloring are designed to keep the tree balanced. Inserting and deleting nodes may violate these properties, so rotations are used to restore the red-black properties and balance of the tree.
This document discusses recurrences and the master method for solving recurrence relations. It defines a recurrence as an equation that describes a function in terms of its value on smaller functions. The master method provides three cases for solving recurrences of the form T(n) = aT(n/b) + f(n). If f(n) is asymptotically smaller than nlogba, the solution is Θ(nlogba). If f(n) is Θ(nlogba), the solution is Θ(nlogba lgn). If f(n) is asymptotically larger and the regularity condition holds, the solution is Θ(f(n)). It provides examples of applying
The document discusses the Rabin-Karp algorithm for string matching. It defines Rabin-Karp as a string search algorithm that compares hash values of strings rather than the strings themselves. It explains that Rabin-Karp works by calculating a hash value for the pattern and text subsequences to compare, and only does a brute force comparison when hash values match. The worst-case complexity is O(n-m+1)m but the average case is O(n+m) plus processing spurious hits. Real-life applications include bioinformatics to find protein similarities.
The document discusses minimum spanning trees (MST) and two algorithms for finding them: Prim's algorithm and Kruskal's algorithm. It begins by defining an MST as a spanning tree (connected acyclic graph containing all vertices) with minimum total edge weight. Prim's algorithm grows a single tree by repeatedly adding the minimum weight edge connecting the growing tree to another vertex. Kruskal's algorithm grows a forest by repeatedly merging two components via the minimum weight edge connecting them. Both algorithms produce optimal MSTs by adding only "safe" edges that cannot be part of a cycle.
This document discusses the analysis of insertion sort and merge sort algorithms. It covers the worst-case and average-case analysis of insertion sort. For merge sort, it describes the divide-and-conquer technique, the merge sort algorithm including recursive calls, how it works to merge elements, and analyzes merge sort through constructing a recursion tree to prove its runtime is O(n log n).
The document discusses loop invariants and uses insertion sort as an example. The invariant for insertion sort is that at the start of each iteration of the outer for loop, the elements in A[1...j-1] are sorted. It shows that this invariant is true before the first iteration, remains true after each iteration by how insertion sort works, and when the loops terminate the entire array A[1...n] will be sorted, proving correctness.
Linear sorting algorithms like counting sort, bucket sort, and radix sort can sort arrays of numbers in linear O(n) time by exploiting properties of the data. Counting sort works for integers within a range [0,r] by counting the frequency of each number and using the frequencies to place numbers in the correct output positions. Bucket sort places numbers uniformly distributed between 0 and 1 into buckets and sorts the buckets. Radix sort treats multi-digit numbers as strings by sorting based on individual digit positions from least to most significant.
The document discusses heap data structures and algorithms. A heap is a binary tree that satisfies the heap property of a parent being greater than or equal to its children. Common operations on heaps like building
Greedy algorithms make locally optimal choices at each step in the hope of finding a globally optimal solution. The activity selection problem involves choosing a maximum set of activities that do not overlap in time. The greedy algorithm for this problem sorts activities by finish time and selects the earliest finishing activity at each step. This algorithm is optimal because the activity selection problem exhibits the optimal substructure property and the greedy algorithm satisfies the greedy-choice property at each step.
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersToradex
Toradex brings robust Linux support to SMARC (Smart Mobility Architecture), ensuring high performance and long-term reliability for embedded applications. Here’s how:
• Optimized Torizon OS & Yocto Support – Toradex provides Torizon OS, a Debian-based easy-to-use platform, and Yocto BSPs for customized Linux images on SMARC modules.
• Seamless Integration with i.MX 8M Plus and i.MX 95 – Toradex SMARC solutions leverage NXP’s i.MX 8 M Plus and i.MX 95 SoCs, delivering power efficiency and AI-ready performance.
• Secure and Reliable – With Secure Boot, over-the-air (OTA) updates, and LTS kernel support, Toradex ensures industrial-grade security and longevity.
• Containerized Workflows for AI & IoT – Support for Docker, ROS, and real-time Linux enables scalable AI, ML, and IoT applications.
• Strong Ecosystem & Developer Support – Toradex offers comprehensive documentation, developer tools, and dedicated support, accelerating time-to-market.
With Toradex’s Linux support for SMARC, developers get a scalable, secure, and high-performance solution for industrial, medical, and AI-driven applications.
Do you have a specific project or application in mind where you're considering SMARC? We can help with Free Compatibility Check and help you with quick time-to-market
For more information: https://www.toradex.com/computer-on-modules/smarc-arm-family
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Associative Memory using NN (Soft Computing)
1. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
Associative Memory : Soft Computing Course Lecture 21 – 24, notes, slides
www.myreaders.info/ , RC Chakraborty, e-mail [email protected] , Dec. 01, 2010
http://www.myreaders.info/html/soft_computing.html
Associative Memory
Soft Computing
www.myreaders.info
Return to Website
Associative Memory (AM), topics : Description, content address-
ability, working, classes of AM : auto and hetero, AM related
terms - encoding or memorization, retrieval or recollection, errors
and noise, performance measure - memory capacity and content-
addressability. Associative memory models : network architectures -
linear associator, Hopfield model and bi-directional model (BAM).
Auto-associative memory (auto-correlators) : how to store patterns ?
how to retrieve patterns? recognition of noisy patterns. Bi-directional
hetero-associative memory (hetero-correlators) : BAM operations -
retrieve the nearest pair, addition and deletion of pattern pairs,
energy function for BAM - working of Kosko's BAM, incorrect recall of
pattern, multiple training encoding strategy – augmentation matrix,
generalized correlation matrix and algorithm.
2. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
Associative Memory
Soft Computing
Topics
(Lectures 21, 22, 23, 24 4 hours) Slides
1. Associative Memory (AM) Description
Content addressability; Working of AM; AM Classes : auto and hetero;
AM related terms - encoding or memorization, retrieval or recollection,
errors and noise; Performance measure - memory capacity and
content-addressability.
03-12
2. Associative Memory Models
AM Classes – auto and hetero; AM Models; Network architectures -
Linear associator, Hopfield model and Bi-directional model (BAM).
13-20
3. Auto-associative Memory (auto-correlators)
How to store patterns? How to retrieve patterns? Recognition of noisy
patterns.
21-24
4. Bi-directional Hetero-associative Memory (hetero-correlators)
BAM operations - retrieve the nearest pair, Addition and deletion of
pattern pairs; Energy function for BAM - working of Kosko's BAM,
incorrect recall of pattern; Multiple training encoding strategy –
augmentation matrix, generalized correlation matrix and algorithm .
25-41
5. References 42
02
3. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
Associative Memory
What is Associative Memory ?
• An associative memory is a content-addressable structure that maps a
set of input patterns to a set of output patterns.
• A content-addressable structure is a type of memory that allows the
recall of data based on the degree of similarity between the input pattern
and the patterns stored in memory.
• There are two types of associative memory : auto-associative and
hetero-associative.
• An auto-associative memory retrieves a previously stored pattern
that most closely resembles the current pattern.
• In a hetero-associative memory, the retrieved pattern is in general,
different from the input pattern not only in content but possibly also
in type and format.
• Neural networks are used to implement these associative memory
models called NAM (Neural associative memory).
03
4. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM description
1. Associative Memory
An associative memory is a content-addressable structure that maps a
set of input patterns to a set of output patterns. A content-addressable
structure refers to a memory organization where the memory is accessed
by its content as opposed to an explicit address in the traditional computer
memory system. The associative memory are of two types : auto-associative
and hetero-associative.
ƒ An auto-associative memory retrieves a previously stored pattern that
most closely resembles the current pattern.
ƒ In hetero-associative memory, the retrieved pattern is in general different
from the input pattern not only in content but possibly also in type
and format.
04
5. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM description
1.1 Description of Associative Memory
An associative memory is a content-addressable structure that allows,
the recall of data, based on the degree of similarity between the
input pattern and the patterns stored in memory.
• Example : Associative Memory
The figure below shows a memory containing names of several people.
If the given memory is content-addressable,
Then using the erroneous string "Crhistpher Columbos" as key is
sufficient to retrieve the correct name "Christopher Colombus."
In this sense, this type of memory is robust and fault-tolerant, because
this type of memory exhibits some form of error-correction capability.
Fig. A content-addressable memory, Input and Output
Note : An associative memory is accessed by its content, opposed
to an explicit address in the traditional computer memory system.
The memory allows the recall of information based on partial knowledge
of its contents.
[Continued in next slide]
05
Alex Graham Bell
Thomas Edison
Christopher Columbus
Albert Einstein
Charles Darwin
Blaise Pascal
Marco Polo
Neil Armstrong
Sigmund Freud
Crhistpher Columbos Christopher Columbus
6. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM description
[Continued from previous slide]
■ Associative memory is a system that associates two patterns (X, Y)
such that when one is encountered, the other can be recalled.
The associative memory are of two types : auto-associative memory
and hetero-associative memory.
Auto-associative memory
Consider, y[1], y[2], y[3], . . . . . y[M], be the number of stored
pattern vectors and let y(m) be the components of these vectors,
representing features extracted from the patterns. The auto-associative
memory will output a pattern vector y(m) when inputting a noisy or
incomplete version of y(m).
Hetero-associative memory
Here the memory function is more general. Consider, we have a
number of key-response pairs {c(1), y(1)}, {c(2), y(2)}, . . . . . . ,
{c(M), y(M)}. The hetero-associative memory will output a pattern
vector y(m) if a noisy or incomplete verson of the c(m) is given.
■ Neural networks are used to implement associative memory models.
The well-known neural associative memory models are :
ƒ Linear associater is the simplest artificial neural associative
memory.
ƒ Hopfield model and Bidirectional Associative Memory (BAM)
are the other popular ANN models used as associative memories.
These models follow different neural network architectures to
memorize information.
06
7. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM description
1.2 Working of Associative Memory
• Example
An associative memory is a storehouse of associated patterns which
are encoded in some form.
− When the storehouse is triggered or excited with a pattern, then
the associated pattern pair is recalled or appears at the output.
− The input could be an exact or distorted or partial representation of
a stored pattern.
Fig below illustrates the working of an associated memory.
Fig. Working of an associated memory
The associated pattern pairs
(∆ , Γ), (÷ , +), (7 , 4).
The association is represented
by the symbol
The associated pattern pairs
are stored the memory.
.
When the memory is triggered with an input pattern say ∆ then
the associated pattern Γ is retrieved automatically.
07
Input
Pattern
Recalled
Pattern
∆
+
7 ÷
4
Γ
∆ Γ
8. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM description
1.3 Associative Memory - Classes
As stated before, there are two classes of associative memory:
ƒ auto-associative and
ƒ hetero-associative memory.
An auto-associative memory, also known as auto-associative correlator,
is used to retrieve a previously stored pattern that most closely
resembles the current pattern;
A hetero-associative memory, also known as hetero-associative correlator,
is used to retrieve pattern in general, different from the input pattern
not only in content but possibly also different in type and format.
Examples
Hetero-associative memory Auto-associative memory
Fig. Hetero and Auto Associative memory Correlators
08
Input
pattern
presented
Recall of
associated
pattern
Recall of
perfect
pattern
Presented
distorted
pattern
9. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM description
1.4 Related Terms
Here explained : Encoding or memorization, Retrieval or recollection,
Errors and Noise, Memory capacity and Content-addressability.
• Encoding or memorization
Building an associative memory means, constructing a connection
weight matrix W such that when an input pattern is presented, and
the stored pattern associated with the input pattern is retrieved.
This process of constructing the connection weight matrix is called
encoding. During encoding, for an associated pattern pair (Xk, Yk) ,
the weight values of the correlation matrix Wk are computed as
(wij)k = (xi)k (yj)k , where
(xi)k represents the i th
component of pattern Xk , and
(yj)k represents the j th
component of pattern Yk
for i = 1, 2, . . . , m and j = 1, 2, . . . , n.
Constructing of the connection weight matrix W is accomplished by
summing up the individual correlation matrices Wk , i.e.,
W = α Wk where
α is the proportionality or normalizing constant.
09
Σ
k=1
p
10. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM description
• Retrieval or recollection
After memorization, the process of retrieving a stored pattern, given
an input pattern, is called decoding.
Given an input pattern X, the decoding or recollection is accomplished by:
first compute the net input to the output units using
input j = xi w i j
where input j is weighted sum of the input or activation value of
node j , for j = 1, 2, ..., n.
then determine the units output using a bipolar output function:
+1 if input j ≥ θ j
Y j =
- 1 other wise
where θ j is the threshold value of output neuron j .
10
Σ
j=1
m
11. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM description
• Errors and noise
The input pattern may contain errors and noise, or may be an
incomplete version of some previously encoded pattern.
When a corrupted input pattern is presented, the network will
retrieve the stored pattern that is closest to actual input pattern.
The presence of noise or errors results only in a mere decrease
rather than total degradation in the performance of the network.
Thus, associative memories are robust and fault tolerant because
of many processing elements performing highly parallel and
distributed computations.
11
12. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM description
• Performance Measures
The memory capacity and content-addressability are the measures
of associative memory performance for correct retrieval. These two
performance measures are related to each other.
Memory capacity refers to the maximum number of associated
pattern pairs that can be stored and correctly retrieved.
Content-addressability is the ability of the network to retrieve the
correct stored pattern.
If input patterns are mutually orthogonal - perfect retrieval is possible.
If the stored input patterns are not mutually orthogonal - non-perfect
retrieval can happen due to crosstalk among the patterns.
12
13. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM models
2. Associative Memory Models
An associative memory is a system which stores mappings of specific input
representations to specific output representations.
− An associative memory "associates" two patterns such that when one is
encountered, the other can be reliably recalled.
− Most associative memory implementations are realized as connectionist
networks.
The simplest associative memory model is Linear associator, which is a
feed-forward type of network. It has very low memory capacity and
therefore not much used.
The popular models are Hopfield Model and Bi-directional Associative
Memory (BAM) model.
The Network Architecture of these models are presented in this section.
13
14. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM models
2.1 Associative Memory Models
The simplest and among the first studied associative memory models
is Linear associator. It is a feed-forward type of network where the
output is produced in a single feed-forward computation. It can be
used as an auto-associator as well as a hetero-associator, but it
possesses a very low memory capacity and therefore not much used.
The popular associative memory models are Hopfield Model and
Bi-directional Associative Memory (BAM) model.
− The Hopfield model is an auto-associative memory, proposed by
John Hopfield in 1982. It is an ensemble of simple processing units
that have a fairly complex collective computational abilities and
behavior. The Hopfield model computes its output recursively in
time until the system becomes stable. Hopfield networks are
designed using bipolar units and a learning procedure.
− The Bi-directional associative memory (BAM) model is similar to
linear associator, but the connections are bi-directional and
therefore allows forward and backward flow of information between
the layers. The BAM model can perform both auto-associative
and hetero-associative recall of stored information.
The network architecture of these three models are described in
the next few slides.
14
15. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM models
2.2 Network Architectures of AM Models
The neural associative memory models follow different neural network
architectures to memorize information. The network architectures
are either single layer or two layers .
ƒ The Linear associator model, is a feed forward type network,
consists, two layers of processing units, one serving as the input layer
while the other as the output layer.
ƒ The Hopfield model, is a single layer of processing elements where
each unit is connected to every other unit in the network other
than itself.
ƒ The Bi-directional associative memory (BAM) model is similar to
that of linear associator but the connections are bidirectional.
In this section, the neural network architectures of these models and
the construction of the corresponding connection weight matrix W of
the associative memory are illustrated.
15
16. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM models
• Linear Associator Model (two layers)
It is a feed-forward type network where the output is produced in a
single feed-forward computation. The model consists of two layers
of processing units, one serving as the input layer while the other as
the output layer. The inputs are directly connected to the outputs,
via a series of weights. The links carrying weights connect every input
to every output. The sum of the products of the weights and the
inputs is calculated in each neuron node. The network architecture
of the linear associator is as shown below.
Fig. Linear associator model
− all n input units are connected to all m output units via connection
weight matrix W = [wij]n x m where wij denotes the strength
of the unidirectional connection from the i th
input unit to the j th
output unit.
− the connection weight matrix stores the p different associated
pattern pairs {(Xk, Yk) | k = 1, 2, ..., p} .
− building an associative memory is constructing the connection
weight matrix W such that when an input pattern is presented,
then the stored pattern associated with the input pattern is retrieved.
[Continued in next slide]
16
w21
w11
w12
wn2
wn1
w1m
w2m
wnm
w22
y1
x1
y2
Ym
x2
Xn
inputs outputs
weights wij
neurons
17. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM models
[Continued from previous slide]
− Encoding : The process of constructing the connection weight matrix
is called encoding. During encoding the weight values of correlation
matrix Wk for an associated pattern pair (Xk, Yk) are computed as:
(wij)k = (xi)k (yj)k where
(xi)k is the i th
component of pattern Xk for i = 1, 2, ..., m, and
(yj)k is the j
th
component of pattern Yk for j = 1, 2, ..., n.
− Weight matrix : Construction of weight matrix W is accomplished
by summing those individual correlation matrices Wk, ie, W = α Wk
where α is the constant of proportionality, for normalizing, usually
set to 1/p to store p different associated pattern pairs.
− Decoding : After memorization, the network can be used for retrieval;
the process of retrieving a stored pattern, is called decoding;
given an input pattern X, the decoding or retrieving is accomplished
by computing, first the net Input as input j = xi w i j where
input j stands for the weighted sum of the input or activation value of
node j , for j = 1, 2, . . , n. and xi is the i
th
component of pattern Xk ,
and then determine the units Output using a bipolar output function:
+1 if input j ≥ θ j
Y j =
- 1 other wise
where θ j is the threshold value of output neuron j .
Note: The output units behave like linear threshold units; that compute
a weighted sum of the input and produces a -1 or +1 depending
whether the weighted sum is below or above a certain threshold value.
− Performance : The input pattern may contain errors and noise, or an
incomplete version of some previously encoded pattern. When such
corrupt input pattern is presented, the network will retrieve the stored
pattern that is closest to actual input pattern. Therefore, the linear
associator is robust and fault tolerant. The presence of noise or error
results in a mere decrease rather than total degradation in the
performance of the network.
17
Σ
k=1
p
Σ
j=1
m
18. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM models
• Auto-associative Memory Model - Hopfield model (single layer)
Auto-associative memory means patterns rather than associated
pattern pairs, are stored in memory. Hopfield model is one-layer
unidirectional auto-associative memory.
Hopfield network alternate view
Fig. Hopfield model with four units
− the model consists, a single layer of processing elements where each
unit is connected to every other unit in the network but not to itself.
− connection weight between or from neuron j to i is given by a
number wij. The collection of all such numbers are represented
by the weight matrix W which is square and symmetric, ie, w i j = w j i
for i, j = 1, 2, . . . . . , m.
− each unit has an external input I which leads to a modification
in the computation of the net input to the units as
input j = xi w i j + I j for j = 1, 2, . . ., m.
and xi is the i th
component of pattern Xk
− each unit acts as both input and output unit. Like linear associator,
a single associated pattern pair is stored by computing the weight
matrix as Wk = Yk where XK = YK
[Continued in next slide]
18
Σ
i=1
m
X
T
k
Σ1
Σ4
Σ3
Σ2
I
inputs
V
outputs
connection
weights wij
neurons
W14
W13
W24 W34
W23 W43
W12
W21 W31
W32 W42
W41
I1 I2 I3 I4
Σ1 Σ2 Σ3 Σ4
V1 V2 V3 V4
19. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM models
[Continued from previous slide]
− Weight Matrix : Construction of weight matrix W is accomplished by
summing those individual correlation matrices, ie, W = α Wk where
α is the constant of proportionality, for normalizing, usually set to 1/p
to store p different associated pattern pairs. Since the Hopfield
model is an auto-associative memory model, it is the patterns
rather than associated pattern pairs, are stored in memory.
− Decoding : After memorization, the network can be used for retrieval;
the process of retrieving a stored pattern, is called decoding; given an
input pattern X, the decoding or retrieving is accomplished by
computing, first the net Input as input j = xi w i j where input j
stands for the weighted sum of the input or activation value of node j ,
for j = 1, 2, ..., n. and xi is the i th
component of pattern Xk , and
then determine the units Output using a bipolar output function:
+1 if input j ≥ θ j
Y j =
- 1 other wise
where θ j is the threshold value of output neuron j .
Note: The output units behave like linear threshold units; that compute a
weighted sum of the input and produces a -1 or +1 depending whether the
weighted sum is below or above a certain threshold value.
Decoding in the Hopfield model is achieved by a collective and recursive
relaxation search for a stored pattern given an initial stimulus pattern.
Given an input pattern X, decoding is accomplished by computing the
net input to the units and determining the output of those units using
the output function to produce the pattern X'. The pattern X' is then fed
back to the units as an input pattern to produce the pattern X''. The
pattern X'' is again fed back to the units to produce the pattern X'''.
The process is repeated until the network stabilizes on a stored pattern
where further computations do not change the output of the units.
In the next section, the working of an auto-correlator : how to store
patterns, recall a pattern from the stored patterns and how to
recognize a noisy pattern are explained.
19
Σ
k=1
p
Σ
j=1
m
20. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM models
• Bidirectional Associative Memory (two-layer)
Kosko (1988) extended the Hopfield model, which is single layer,
by incorporating an additional layer to perform recurrent
auto-associations as well as hetero-associations on the stored
memories. The network structure of the bidirectional associative
memory model is similar to that of the linear associator but the
connections are bidirectional; i.e.,
wij = wji , for i = 1, 2, . . . , n and j = 1, 2, . . . , m.
Fig. Bidirectional Associative Memory model
− In the bidirectional associative memory, a single associated pattern
pair is stored by computing the weight matrix as Wk = Yk .
− the construction of the connection weight matrix W, to store p
different associated pattern pairs simultaneously, is accomplished
by summing up the individual correlation matrices Wk ,
i.e., W = α Wk
where α is the proportionality or normalizing constant.
20
w21
w11
w12
wn2
wn1
w1m
w2m
wnm
w22
y1
x1
y2
Ym
x2
Xn
inputs outputs
weights wij
neurons
neurons
X
T
k
Σ
k=1
p
21. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM – auto correlator
3. Auto-associative Memory (auto-correlators)
In the previous section, the structure of the Hopfield model has been
explained. It is an auto-associative memory model which means patterns,
rather than associated pattern pairs, are stored in memory. In this
section, the working of an auto-associative memory (auto-correlator) is
illustrated using some examples.
Working of an auto-correlator :
− how to store the patterns,
− how to retrieve / recall a pattern from the stored patterns, and
− how to recognize a noisy pattern
21
22. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM – auto correlator
• How to Store Patterns : Example
Consider the three bipolar patterns A1 , A2, A3 to be stored as
an auto-correlator.
A1 = (-1, 1 , -1 , 1 )
A2 = ( 1, 1 , 1 , -1 )
A3 = (-1, -1 , -1 , 1 )
Note that the outer product of two vectors U and V is
Thus, the outer products of each of these three A1 , A2, A3 bipolar
patterns are
Therefore the connection matrix is
=
This is how the patterns are stored .
22
[A1 ]
T
4x1 [A1 ] 1x4
1 -1 1 -1
-1 1 -1 1
1 -1 1 -1
-1 1 -1 1
=
j
i
[A2 ]
T
4x1 [A2 ] 1x4
1 1 1 -1
1 1 1 -1
1 1 1 -1
-1 -1 -1 1
=
j
i
[A3 ]
T
4x1 [A3 ] 1x4
1 1 1 -1
1 1 1 -1
1 1 1 -1
-1 -1 -1 1
=
j
i
=
U V V
UT =
U1
U2
U3
U4
V1 V2 V3
U1V1 U1V2 U1V3
U2V1 U2V2 U2V3
U3V1 U3V2 U3V3
U4V1 U4V2 U4V3
=
Σ
i=1
3
[Ai ]
T
4x1 [Ai ] 1x4
3 1 3 -3
1 3 1 -1
3 1 3 -3
-3 -1 -3 3
T = [t i j ] =
i
j
23. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM – auto correlator
• Retrieve a Pattern from the Stored Patterns (ref. previous slide)
The previous slide shows the connection matrix T of the three
bipolar patterns A1 , A2, A3 stored as
T = [t i j ] = =
and one of the three stored pattern is A2 = ( 1, 1 , 1 , -1 )
ai
− Retrieve or recall of this pattern A2 from the three stored patterns.
− The recall equation is
= ƒ (ai t i j , ) for ∀j = 1 , 2 , . . . , p
Computation for the recall equation A2 yields α = ∑ ai t i j and
then find β
Therefore = ƒ (ai t i j , ) for ∀j = 1 , 2 , . . . , p is ƒ (α , β )
= ƒ (10 , 1)
= ƒ (6 , 1)
= ƒ (10 , 1)
= ƒ (-1 , -1)
The values of β is the vector pattern ( 1, 1 , 1 , -1 ) which is A2 .
This is how to retrieve or recall a pattern from the stored patterns.
Similarly, retrieval of vector pattern A3 as
( , , , , ) = ( -1, -1 , -1 , 1 ) = A3
23
a
new
j a
old
j
i = 1 2 3 4 α β
α = ∑ ai t i , j=1 1x3 + 1x1 + 1x3 + -1x-3 = 10 1
α = ∑ ai t i , j=2 1x1 + 1x3 + 1x1 + -1x-1 = 6 1
α = ∑ ai t i , j=3 1x3 + 1x1 + 1x3 + -1x-3 = 10 1
α = ∑ ai t i , j=4 1x-3 + 1x-1 + 1x-3 + -1x3 = -1 -1
a
new
1
a
new
2
a
new
3
a
new
4
a
new
j a
old
j
a
new
1 a
new
2 a
new
3 a
new
4
Σ
i=1
3
[Ai ]
T
4x1 [Ai ] 1x4
3 1 3 -3
1 3 1 -1
3 1 3 -3
-3 -1 -3 3
j
i
24. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - AM – auto correlator
• Recognition of Noisy Patterns (ref. previous slide)
Consider a vector A' = ( 1, 1 , 1 , 1 ) which is a noisy presentation
of one among the stored patterns.
− find the proximity of the noisy vector to the stored patterns
using Hamming distance measure.
− note that the Hamming distance (HD) of a vector X from Y, where
X = (x1 , x2 , . . . , xn) and Y = ( y1, y2 , . . . , yn) is given by
HD (x , y) = | (xi - yi ) |
The HDs of A' from each of the stored patterns A1 , A2, A3 are
HD (A' , A1) = ∑ |(x1 - y1 )|, |(x2 - y2)|, |(x3 - y3 )|, |(x4 - y4 )|
= ∑ |(1 - (-1))|, |(1 - 1)|, |(1 - (-1) )|, |(1 - 1)|
= 4
HD (A' , A2) = 2
HD (A' , A3) = 6
Therefore the vector A' is closest to A2 and so resembles it.
In other words the vector A' is a noisy version of vector A2.
Computation of recall equation using vector A' yields :
Therefore = ƒ (ai t i j , ) for ∀j = 1 , 2 , . . . , p is ƒ (α , β )
= ƒ (4 , 1)
= ƒ (4 , 1)
= ƒ (4 , 1)
= ƒ (-4 , -1)
The values of β is the vector pattern ( 1, 1 , 1 , -1 ) which is A2 .
Note : In presence of noise or in case of partial representation of vectors,
an autocorrelator results in the refinement of the pattern or removal of
noise to retrieve the closest matching stored pattern.
24
Σ
i=1
m
i = 1 2 3 4 α β
α = ∑ ai t i , j=1 1x3 + 1x1 + 1x3 + 1x-3 = 4 1
α = ∑ ai t i , j=2 1x1 + 1x3 + 1x1 + 1x-1 = 4 1
α = ∑ ai t i , j=3 1x3 + 1x1 + 1x3 + 1x-3 = 4 1
α = ∑ ai t i , j=4 1x-3 + 1x-1 + 1x-3 + 1x3 = -4 -1
a
new
1
a
new
2
a
new
3
a
new
4
a
new
j a
old
j
25. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
4. Bidirectional Hetero-associative Memory
The Hopfield one-layer unidirectional auto-associators have been discussed
in previous section. Kosko (1987) extended this network to two-layer
bidirectional structure called Bidirectional Associative Memory (BAM) which
can achieve hetero-association. The important performance attributes of the
BAM is its ability to recall stored pairs particularly in the presence of noise.
Definition : If the associated pattern pairs (X, Y) are different and if the
model recalls a pattern Y given a pattern X or vice-versa, then it is
termed as hetero-associative memory.
This section illustrates the bidirectional associative memory :
ƒ Operations (retrieval, addition and deletion) ,
ƒ Energy Function (Kosko's correlation matrix, incorrect recall of pattern),
ƒ Multiple training encoding strategy (Wang's generalized correlation matrix).
25
26. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
4.1 Bidirectional Associative Memory (BAM) Operations
BAM is a two-layer nonlinear neural network.
Denote one layer as field A with elements Ai and the other layer
as field B with elements Bi.
The basic coding procedure of the discrete BAM is as follows.
Consider N training pairs { (A1 , B1) , (A2 , B2), . . , (Ai , Bi), . . (AN , BN) }
where Ai = (ai1 , ai2 , . . . , ain) and Bi = (bi1 , bi2 , . . . , bip) and
aij , bij are either in ON or OFF state.
− in binary mode , ON = 1 and OFF = 0 and
in bipolar mode, ON = 1 and OFF = -1
− the original correlation matrix of the BAM is M0 = [ ] [ ]
where Xi = (xi1 , xi2 , . . . , xin) and Yi = (yi1 , yi2 , . . . , yip)
and xij(yij) is the bipolar form of aij(bij)
The energy function E for the pair (α , β ) and correlation matrix M is
E = - α M
With this background, the decoding processes, means the operations
to retrieve nearest pattern pairs, and the addition and deletion of
the pattern pairs are illustrated in the next few slides.
26
Σ
i=1
N
X
T
i Yi
β
T
27. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
• Retrieve the Nearest of a Pattern Pair, given any pair
(ref : previous slide)
Example
Retrieve the nearest of (Ai , Bi) pattern pair, given any pair (α , β ) .
The methods and the equations for retrieve are :
− start with an initial condition which is any given pattern pair (α , β ),
− determine a finite sequence of pattern pairs (α' , β' ) , (α" , β" ) . . . .
until an equilibrium point (αf , βf ) is reached, where
β' = Φ (α M ) and α' = Φ ( β' )
β" = Φ (α' M ) and α" =Φ ( β'' )
Φ (F) = G = g1 , g2 , . . . . , gr ,
F = ( f1 , f2 , . . . . , fr )
M is correlation matrix
1 if f i > 0
0 (binary)
gi = , f i < 0
-1 (bipolar)
previous g i , f i = 0
Kosko has proved that this process will converge for any
correlation matrix M.
27
M
T
M
T
28. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
• Addition and Deletion of Pattern Pairs
Given a set of pattern pairs (Xi , Yi) , for i = 1 , 2, . . . , n and a set
of correlation matrix M :
− a new pair (X' , Y') can be added or
− an existing pair (Xj , Yj) can be deleted from the memory model.
Addition : add a new pair (X' , Y') , to existing correlation matrix M ,
them the new correlation matrix Mnew is given by
Mnew = + + . . . . + +
Deletion : subtract the matrix corresponding to an existing pair (Xj , Yj)
from the correlation matrix M , them the new correlation matrix Mnew
is given by
Mnew = M - ( )
Note : The addition and deletion of information is similar to the
functioning of the system as a human memory exhibiting learning
and forgetfulness.
28
X1
T
Y1 X1
T
Y1 Xn
T
Yn X'
T
Y'
Xj
T
Yj
29. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
4.2 Energy Function for BAM
Note : A system that changes with time is a dynamic system. There are two types
of dynamics in a neural network. During training phase it iteratively update
weights and during production phase it asymptotically converges to the solution
patterns. State is a collection of qualitative and qualitative items that characterize
the system e.g., weights, data flows. The Energy function (or Lyapunov function)
is a bounded function of the system state that decreases with time and the
system solution is the minimum energy.
Let a pair (A , B) defines the state of a BAM.
− to store a pattern, the value of the energy function for that pattern
has to occupy a minimum point in the energy landscape.
− also adding a new patterns must not destroy the previously
stored patterns.
The stability of a BAM can be proved by identifying the energy function E
with each state (A , B) .
− For auto-associative memory : the energy function is
E(A) = - AM
− For bidirecional hetero associative memory : the energy function is
E(A, B) = - AM ; for a particular case A = B , it corresponds
to Hopfield auto-associative function.
We wish to retrieve the nearest of (Ai , Bi) pair, when any (α , β ) pair
is presented as initial condition to BAM. The neurons change
their states until a bidirectional stable state (Af , Bf) is reached. Kosko
has shown that such stable state is reached for any matrix M when it
corresponds to local minimum of the energy function. Each cycle of
decoding lowers the energy E if the energy function for any point
(α , β ) is given by
If the energy evaluated using coordinates of the pair
(Ai , Bi) does not constitute a local minimum, then the point cannot
be recalled, even though one starts with α = Ai. Thus Kosko's encoding
method does not ensure that the stored pairs are at a local minimum.
29
A
T
B
T
E = α M β
T
E = Ai M Bi
T
30. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
• Example : Kosko's BAM for Retrieval of Associated Pair
The working of Kosko's BAM for retrieval of associated pair.
Start with X3, and hope to retrieve the associated pair Y3 .
Consider N = 3 pattern pairs (A1 , B1 ) , (A2 , B2 ) , (A3 , B3 ) given by
A1 = ( 1 0 0 0 0 1 ) B1 = ( 1 1 0 0 0 )
A2 = ( 0 1 1 0 0 0 ) B2 = ( 1 0 1 0 0 )
A3 = ( 0 0 1 0 1 1 ) B3 = ( 0 1 1 1 0 )
Convert these three binary pattern to bipolar form replacing 0s by -1s.
X1 = ( 1 -1 -1 -1 -1 1 ) Y1 = ( 1 1 -1 -1 -1 )
X2 = ( -1 1 1 -1 -1 -1 ) Y2 = ( 1 -1 1 -1 -1 )
X3 = ( -1 -1 1 -1 1 1 ) Y3 = ( -1 1 1 1 -1 )
The correlation matrix M is calculated as 6x5 matrix
1 1 -3 -1 1
1 -3 1 -1 1
-1 -1 3 1 -1
M = + + =
-1 -1 -1 1 3
-3 1 1 3 1
-1 3 -1 1 -1
Suppose we start with α = X3, and we hope to retrieve the associated pair
Y3 . The calculations for the retrieval of Y3 yield :
α M = ( -1 -1 1 -1 1 1 ) ( M ) = ( -6 6 6 6 -6 )
Φ (α M) = β' = ( -1 1 1 1 -1 )
β' = ( -5 -5 5 -3 7 5 )
Φ (β' ) = ( -1 -1 1 -1 1 1 ) = α'
α' M = ( -1 -1 1 -1 1 1 ) M = ( -6 6 6 6 -6 )
Φ (α' M) = β" = ( -1 1 1 1 1 -1 )
= β'
This retrieved patern β' is same as Y3 .
Hence, (αf , βf) = (X3 , Y3 ) is correctly recalled, a desired result .
30
X1
T
Y1 X2
T
Y2 X3
T
Y3
M
T
M
T
31. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
• Example : Incorrect Recall by Kosko's BAM
The Working of incorrect recall by Kosko's BAM.
Start with X2, and hope to retrieve the associated pair Y2 .
Consider N = 3 pattern pairs (A1 , B1 ) , (A2 , B2 ) , (A3 , B3 ) given by
A1 = ( 1 0 0 1 1 1 0 0 0 ) B1 = ( 1 1 1 0 0 0 0 1 0 )
A2 = ( 0 1 1 1 0 0 1 1 1 ) B2 = ( 1 0 0 0 0 0 0 0 1 )
A3 = ( 1 0 1 0 1 1 0 1 1 ) B3 = ( 0 1 0 1 0 0 1 0 1 )
Convert these three binary pattern to bipolar form replacing 0s by -1s.
X1 = ( 1 -1 -1 1 1 1 -1 -1 -1 ) Y1 = ( 1 1 1 -1 -1 -1 -1 1 -1 )
X2 = ( -1 1 1 1 -1 -1 1 1 1 ) Y2 = ( 1 -1 -1 -1 -1 -1 -1 -1 1 )
X3 = ( 1 -1 1 -1 1 1 -1 1 1 ) Y3 = ( -1 1 -1 1 -1 -1 1 0 1 )
The correlation matrix M is calculated as 9 x 9 matrix
M = + +
-1 3 1 1 -1 -1 1 1 -1
1 -3 -1 -1 1 1 -1 -1 1
-1 -1 -3 1 -1 -1 1 -3 3
3 -1 1 -3 -1 -1 -3 1 -1
-1 3 1 1 -1 -1 1 1 -1
-1 3 1 1 -1 -1 1 1 -1
1 -3 -1 -1 1 1 -1 -1 1
-1 -1 -3 1 -1 -1 1 -3 3
-1 -1 -3 1 -1 -1 1 -3 3
(Continued in next slide)
31
=
X1
T
Y1 X2
T
Y2 X3
T
Y3
32. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
[Continued from previous slide]
Let the pair (X2 , Y2 ) be recalled.
X2 = ( -1 1 1 1 -1 -1 1 1 1 ) Y2 = ( 1 -1 -1 -1 -1 -1 -1 -1 1 )
Start with α = X2, and hope to retrieve the associated pair Y2 .
The calculations for the retrieval of Y2 yield :
α M = ( 5 -19 -13 -5 1 1 -5 -13 13 )
Φ (α M) = ( 1 -1 -1 -1 1 1 -1 -1 1 ) = β'
β' = ( -11 11 5 5 -11 -11 11 5 5 )
Φ (β' ) = ( -1 1 1 1 -1 -1 1 1 1 ) = α'
α' M = ( 5 -19 -13 -5 1 1 -5 -13 13 )
Φ (α' M) = ( 1 -1 -1 -1 1 1 -1 -1 1 ) = β"
= β'
Here β" = β' . Hence the cycle terminates with
αF = α' = ( -1 1 1 1 -1 -1 1 1 1 ) = X2
βF = β' = ( 1 -1 -1 -1 1 1 -1 -1 1 ) ≠ Y2
But β' is not Y2 . Thus the vector pair (X2 , Y2) is not recalled correctly
by Kosko's decoding process.
( Continued in next slide )
32
M
T
M
T
33. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
[Continued from previous slide]
Check with Energy Function : Compute the energy functions
for the coordinates of pair (X2 , Y2) , the energy E2 = - X2 M = -71
for the coordinates of pair (αF , βF) , the energy EF = - αF M = -75
However, the coordinates of pair (X2 , Y2) is not at its local
minimum can be shown by evaluating the energy E at a point which
is "one Hamming distance" way from Y2 . To do this consider a point
= ( 1 -1 -1 -1 1 -1 -1 -1 1 )
where the fifth component -1 of Y2 has been changed to 1. Now
E = - X2 M = - 73
which is lower than E2 confirming the hypothesis that (X2 , Y2) is not
at its local minimum of E.
Note : The correlation matrix M used by Kosko does not guarantee
that the energy of a training pair is at its local minimum. Therefore , a
pair Pi can be recalled if and only if this pair is at a local minimum
of the energy surface.
33
Y2
T
βF
T
Y2
'
Y2
′ T
34. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
4.3 Multiple Training Encoding Strategy
Note : (Ref. example in previous section). Kosko extended the unidirectional
auto-associative to bidirectional associative processes, using correlation matrix
M = Σ computed from the pattern pairs. The system proceeds to
retrieve the nearest pair given any pair (α , β ), with the help of recall
equations. However, Kosko's encoding method does not ensure that the stored
pairs are at local minimum and hence, results in incorrect recall.
Wang and other's, introduced multiple training encoding strategy which
ensures the correct recall of pattern pairs. This encoding strategy is an
enhancement / generalization of Kosko's encoding strategy. The Wang's
generalized correlation matrix is M = Σ qi where qi is viewed
as pair weight for as positive real numbers. It denotes the
minimum number of times for using a pattern pair (Xi , Yi) for training to
guarantee recall of that pair.
To recover a pair (Ai , Bi) using multiple training of order q, let us
augment or supplement matrix M with a matrix P defined as
P = (q – 1) where (Xi , Yi) are the bipolar form of (Ai , Bi).
The augmentation implies adding (q - 1) more pairs located at (Ai , Bi) to
the existing correlation matrix. As a result the energy E' can reduced to
an arbitrarily low value by a suitable choice of q. This also ensures that
the energy at (Ai , Bi) does not exceed at points which are one Hamming
distance away from this location.
The new value of the energy function E evaluated at (Ai , Bi) then becomes
E' (Ai , Bi) = – Ai M – (q – 1) Ai
The next few slides explains the step-by-step implementation of
Multiple training encoding strategy for the recall of three pattern pairs
(X1 , Y1 ) , (X1 , Y1 ) , (X1 , Y1 ) using one and same augmentation matrix
M . Also an algorithm to summarize the complete process of multiple
training encoding is given.
34
Xi
T
Yi
Xi
T
Yi
Xi
T
Yi
Xi
T
Yi
Bi
T
Xi
T
Yi Bi
T
35. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
• Example : Multiple Training Encoding Strategy
The working of multiple training encoding strategy which ensures the
correct recall of pattern pairs.
Consider N = 3 pattern pairs (A1 , B1 ) , (A2 , B2 ) , (A3 , B3 ) given by
A1 = ( 1 0 0 1 1 1 0 0 0 ) B1 = ( 1 1 1 0 0 0 0 1 0 )
A2 = ( 0 1 1 1 0 0 1 1 1 ) B2 = ( 1 0 0 0 0 0 0 0 1 )
A3 = ( 1 0 1 0 1 1 0 1 1 ) B3 = ( 0 1 0 1 0 0 1 0 1 )
Convert these three binary pattern to bipolar form replacing 0s by -1s.
X1 = ( 1 -1 -1 1 1 1 -1 -1 -1 ) Y1 = ( 1 1 1 -1 -1 -1 -1 1 -1 )
X2 = ( -1 1 1 1 -1 -1 1 1 1 ) Y2 = ( 1 -1 -1 -1 -1 -1 -1 -1 1 )
X3 = ( 1 -1 1 -1 1 1 -1 1 1 ) Y3 = ( -1 1 -1 1 -1 -1 1 0 1 )
Let the pair (X2 , Y2) be recalled.
X2 = ( -1 1 1 1 -1 -1 1 1 1 ) Y2 = ( 1 -1 -1 -1 -1 -1 -1 -1 1 )
Choose q=2, so that P = , the augmented correlation matrix M
becomes M = + 2 +
4 2 2 0 0 2 2 -2
2 -4 -2 -2 0 0 -2 -2 2
0 -2 -4 0 -2 -2 0 -4 4
4 -2 0 -4 -2 -2 -4 0 0
-2 4 2 2 0 0 2 2 -2
-2 4 2 2 0 0 2 2 -2
2 -4 -2 -2 0 0 -2 -2 2
0 -2 -4 0 -2 -2 0 -4 4
0 -2 -4 0 -2 -2 0 -4 4
( Continued in next slide )
35
X1
T
Y1 X2
T
Y2 X3
T
Y3
X2
T
Y2
=
36. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
[Continued from previous slide]
Now give α = X2, and see that the corresponding pattern pair β = Y2
is correctly recalled as shown below.
α M = ( 14 -28 -22 -14 -8 -8 -14 -22 22 )
Φ (α M) = ( 1 -1 -1 -1 -1 -1 -1 -1 1 ) = β'
β' = ( -16 16 18 18 -16 -16 16 18 18 )
Φ (β' ) = ( -1 1 1 1 -1 -1 1 1 1 ) = α'
α' M = ( 14 -28 -22 -14 -8 -8 -14 -22 23 )
Φ (α' M) = ( 1 -1 -1 -1 1 1 -1 -1 1 ) = β"
Here β" = β' . Hence the cycle terminates with
αF = α' = ( -1 1 1 1 -1 -1 1 1 1 ) = X2
βF = β' = ( 1 -1 -1 -1 1 1 -1 -1 1 ) = Y2
Thus, (X2 , Y2 ) is correctly recalled, using augmented correlation
matrix M . But, it is not possible to recall (X1 , Y1) using the same
matrix M as shown in the next slide.
( Continued in next slide )
36
M
T
M
T
37. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
[Continued from previous slide]
Note : The previous slide showed that the pattern pair (X2 , Y2 ) is correctly
recalled, using augmented correlation matrix
M = + 2 +
but then the same matrix M can not recall correctly the other
pattern pair (X1 , Y1 ) as shown below.
X1 = ( 1 -1 -1 1 1 1 -1 -1 -1 ) Y1 = ( 1 1 1 -1 -1 -1 -1 1 -1 )
Let α = X1 and to retrieve the associated pair Y1 the calculation shows
α M = ( -6 24 22 6 4 4 6 22 -22 )
Φ (α M) = ( -1 1 1 1 1 1 1 1 -1 ) = β'
β' = ( 16 -16 -18 -18 16 16 -16 -18 -18 )
Φ (β' ) = ( 1 -1 -1 -1 1 1 -1 -1 -1 ) = α'
α' M = ( -14 28 22 14 8 8 14 22 -22 )
Φ (α' M) = ( -1 1 1 1 1 1 1 1 -1 ) = β"
Here β" = β' . Hence the cycle terminates with
αF = α' = ( 1 -1 -1 -1 1 1 -1 -1 -1 ) = X1
βF = β' = ( -1 1 1 1 1 1 1 1 -1 ) ≠ Y1
Thus, the pattern pair (X1 , Y1 ) is not correctly recalled, using augmented
correlation matrix M.
To tackle this problem, the correlation matrix M needs to be further
augmented by multiple training of (X1 , Y1 ) as shown in the next slide.
( Continued in next slide )
37
X1
T
Y1 X2
T
Y2 X3
T
Y3
M
T
M
T
38. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
[Continued from previous slide]
The previous slide shows that pattern pair (X1 , Y1) cannot be recalled
under the same augmentation matrix M that is able to recall (X2 , Y2).
However, this problem can be solved by multiple training of (X1 , Y1)
which yields a further change in M to values by defining
M = 2 + 2 +
-1 5 3 1 -1 -1 1 3 -3
1 -5 -3 -1 1 1 -1 -3 3
-1 -3 -5 1 -1 -1 1 -5 5
5 -1 1 -5 -3 -3 -5 1 -1
-1 5 3 1 -1 -1 1 3 -3
-1 5 3 1 -1 -1 1 3 -3
1 -5 -3 -1 1 1 -1 -3 3
-1 -3 -5 1 -1 -1 1 -5 5
-1 -3 -5 1 -1 -1 1 -5 5
Now observe in the next slide that all three pairs can be correctly recalled.
( Continued in next slide )
38
=
X1
T
Y1 X2
T
Y2 X3
T
Y3
39. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
[ Continued from previous slide ]
Recall of pattern pair (X1 , Y1 )
X1 = ( 1 -1 -1 1 1 1 -1 -1 -1 ) Y1 = ( 1 1 1 -1 -1 -1 -1 1 -1 )
Let α = X1 and to retrieve the associated pair Y1 the calculation shows
α M = ( 3 33 31 -3 -5 -5 -3 31 -31 )
Φ (α M) = ( 1 1 1 -1 -1 -1 -1 1 -1 ) = β'
(β' ) = ( 13 -13 -19 23 13 13 -13 -19 -19 )
Φ (β' ) = ( 1 -1 -1 1 1 1 -1 -1 -1 ) = α'
α' M = ( 3 33 31 -3 -5 -5 -3 31 -31 )
Φ (α' M) = ( 1 1 1 -1 -1 -1 -1 1 -1 ) = β"
Here β" = β' . Hence the cycle terminates with
αF = α' = ( 1 -1 -1 1 1 1 -1 -1 -1 ) = X1
βF = β' = ( 1 1 1 -1 -1 -1 -1 1 -1 ) = Y1
Thus, the pattern pair (X1 , Y1 ) is correctly recalled
Recall of pattern pair (X2 , Y2 )
X2 = ( -1 1 1 1 -1 -1 1 1 1 ) Y2 = ( 1 -1 -1 -1 -1 -1 -1 -1 1 )
Let α = X2 and to retrieve the associated pair Y2 the calculation shows
α M = ( 7 -35 -29 -7 -1 -1 -7 -29 29 )
Φ (α M) = ( 1 -1 -1 -1 -1 -1 -1 -1 1 ) = β'
(β' ) = ( -15 15 17 19 -15 -15 15 17 17 )
Φ (β' ) = ( -1 1 1 1 -1 -1 1 1 1 ) = α'
α' M = ( 7 -35 -29 -7 -1 -1 -7 -29 29 )
Φ (α' M) = ( 1 -1 -1 -1 -1 -1 -1 -1 1 ) = β"
Here β" = β' . Hence the cycle terminates with
αF = α' = ( -1 1 1 1 -1 -1 1 1 1 ) = X2
βF = β' = ( 1 -1 -1 -1 -1 -1 -1 -1 1 ) = Y2
Thus, the pattern pair (X2 , Y2 ) is correctly recalled
Recall of pattern pair (X3 , Y3 )
X3 = ( 1 -1 1 -1 1 1 -1 1 1 ) Y3 = ( -1 1 -1 1 -1 -1 1 0 1 )
Let α = X3 and to retrieve the associated pair Y3 the calculation shows
α M = ( -13 17 -1 13 -5 -5 13 -1 1 )
Φ (α M) = ( -1 1 -1 1 -1 -1 1 -1 1 ) = β'
(β' ) = ( 11 -11 27 -63 11 11 -11 27 27 )
Φ (β' ) = ( 1 -1 1 -1 1 1 -1 1 1 ) = α'
α' M = ( -13 17 -1 13 -5 -5 13 -1 1 )
Φ (α' M) = ( -1 1 -1 1 -1 -1 1 -1 1 ) = β"
Here β" = β' . Hence the cycle terminates with
αF = α' = ( 1 -1 1 -1 1 1 -1 1 1 ) = X3
βF = β' = ( -1 1 -1 1 -1 -1 1 0 1 ) = Y3
Thus, the pattern pair (X3 , Y3 ) is correctly recalled
( Continued in next slide )
39
M
T
M
T
M
T
M
T
M
T
M
T
40. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
[Continued from previous slide]
Thus, the multiple training encoding strategy ensures the correct recall
of a pair for a suitable augmentation of M . The generalization of the
correlation matrix, for the correct recall of all training pairs, is written as
M = qi where qi 's are +ve real numbers.
This modified correlation matrix is called generalized correlation matrix.
Using one and same augmentation matrix M, it is possible to recall all
the training pattern pairs .
40
Σ
i=1
N
Xi
T
Yi
41. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC - Bidirectional hetero AM
• Algorithm (for the Multiple training encoding strategy)
To summarize the complete process of multiple training encoding an
algorithm is given below.
Algorithm Mul_Tr_Encode ( N , , , ) where
N : Number of stored patterns set
, : the bipolar pattern pairs
= ( , , . . . . , ) where = ( , , . . . )
= ( , , . . . . , ) where = ( , , . . . )
: is the weight vector (q1 , q2 , . . . . , qN )
Step 1 Initialize correlation matrix M to null matrix M ← [0]
Step 2 Compute the correlation matrix M as
For i ← 1 to N
M ← M ⊕ [ qi ∗ Transpose ( ) ⊗ ( ) end
(symbols ⊕ matrix addition, ⊗ matrix multiplication, and
∗ scalar multiplication)
Step 3 Read input bipolar pattern
Step 4 Compute A_M where A_M ← ⊗ M
Step 5 Apply threshold function Φ to A_M to get
ie ← Φ ( A_M )
where Φ is defined as Φ (F) = G = g1 , g2, . . . . , gn
Step 6 Output is the associated pattern pair
end
41
Xi
¯ Yi
¯
Xi
¯ Yi
¯
X
¯ X2
¯
X1
¯ XN
¯ Xi
¯ x i 1 x i 2
x i n
Y2
¯
Y1
¯ YN
¯ Yj
¯ x j 1 x j 2
x j n
Y
¯
q
¯
Xi
¯ Xi
¯
Ā
Ā
B'
¯
B'
¯
B'
¯
qi
¯
42. R
C
C
h
a
k
r
a
b
o
r
t
y
,
w
w
w
.
m
y
r
e
a
d
e
r
s
.
i
n
f
o
SC – AM References
5. References : Textbooks
1. "Neural Network, Fuzzy Logic, and Genetic Algorithms - Synthesis and
Applications", by S. Rajasekaran and G.A. Vijayalaksmi Pai, (2005), Prentice Hall,
Chapter 4, page 87-116.
2. "Elements of Artificial Neural Networks", by Kishan Mehrotra, Chilukuri K. Mohan
and Sanjay Ranka, (1996), MIT Press, Chapter 6, page 217-263.
3. "Fundamentals of Neural Networks: Architecture, Algorithms and Applications", by
Laurene V. Fausett, (1993), Prentice Hall, Chapter 3, page 101-152.
4. "Neural Network Design", by Martin T. Hagan, Howard B. Demuth and Mark
Hudson Beale, ( 1996) , PWS Publ. Company, Chapter 13, page 13-1 to 13-37.
5. "An Introduction to Neural Networks", by James A. Anderson, (1997), MIT Press,
Chapter 6-7, page 143-208.
6. Related documents from open source, mainly internet. An exhaustive list is
being prepared for inclusion at a later date.
42