Enhanced Boolean Correlation Matrix Memory
📝 Abstract
This paper introduces an Enhanced Boolean version of the Correlation Matrix Memory (CMM), which is useful to work with binary memories. A novel Boolean Orthonormalization Process (BOP) is presented to convert a non-orthonormal Boolean basis, i.e., a set of non-orthonormal binary vectors (in a Boolean sense) to an orthonormal Boolean basis, i.e., a set of orthonormal binary vectors (in a Boolean sense). This work shows that it is possible to improve the performance of Boolean CMM thanks BOP algorithm. Besides, the BOP algorithm has a lot of additional fields of applications, e.g.: Steganography, Hopfield Networks, Bi-level image processing, etc. Finally, it is important to mention that the BOP is an extremely stable and fast algorithm.
💡 Analysis
This paper introduces an Enhanced Boolean version of the Correlation Matrix Memory (CMM), which is useful to work with binary memories. A novel Boolean Orthonormalization Process (BOP) is presented to convert a non-orthonormal Boolean basis, i.e., a set of non-orthonormal binary vectors (in a Boolean sense) to an orthonormal Boolean basis, i.e., a set of orthonormal binary vectors (in a Boolean sense). This work shows that it is possible to improve the performance of Boolean CMM thanks BOP algorithm. Besides, the BOP algorithm has a lot of additional fields of applications, e.g.: Steganography, Hopfield Networks, Bi-level image processing, etc. Finally, it is important to mention that the BOP is an extremely stable and fast algorithm.
📄 Content
Abstract— This paper introduces an Enhanced Boolean version of the Correlation Matrix Memory (CMM), which is useful to work with binary memories. A novel Boolean Orthonormalization Process (BOP) is presented to convert a non-orthonormal Boolean basis, i.e., a set of non-orthonormal binary vectors (in a Boolean sense) to an orthonormal Boolean basis, i.e., a set of orthonormal binary vectors (in a Boolean sense). This work shows that it is possible to improve the performance of Boolean CMM thanks BOP algorithm. Besides, the BOP algorithm has a lot of additional fields of applications, e.g.: Steganography, Hopfield Networks, Bi-level image processing, etc. Finally, it is important to mention that the BOP is an extremely stable and fast algorithm.
Keywords—Boolean algebra, correlation matrix memory, ortho-
gonalization.
I. INTRODUCTION
N associative memory may also be classified as linear or
nonlinear, depending on the model adopted for its neu-
rons [1]. In the linear case, the neurons act (to a first approxi-
mation) like a linear combiner [2-6]. To be more specific, let
the data vectors a and b denote the stimulus (input) and the
response (output) of an associative memory, respectively. In a
linear associative memory, the input-out-put relationship is
described by
b = M a (1)
where M is called the memory matrix. The matrix M specifies the network connectivity of the associative memory. Fig.1 depicts a block-diagram representation of a linear associative memory. In a nonlinear associative memory, on the other hand, we have an input-output relationship of the form
b = ϕ (M;a) a (2)
where, in general, ϕ(.;.) is a nonlinear function of the memory matrix and the input vector.
Fig.1 Block diagram of associative memory
X
X
X
X
Although this form of matrix was introduced in the 1960’s
and has been studied intensively since then, see [7-11], and the
use of orthogonalization is not new to improve the storage of
these networks, see [9, 10], unfortunately, a CMM version
doesn’t exist when the key pattern ak and the memorized
pattern bk for all k are binary.
II. METHODS
A. Orthogonality in a Boolean sense
Given a set of binary vectors uk = [ uk1 , uk2 , … , ukp ]T
(where k = 1, 2, … , q, and [.]T means transpose of [.]), they
are orthonormals in a Boolean sense, if they satisfy the
following pair of conditions:
uk T ∧ uj = 1 if k = j (3.1) and uk T ∧ uj = 0 if k ≠j (3.2)
where the term uk T ∧ uj represents the inner AND operation between binary vectors uk and uj , i.e.,
ukT ∧uj = (uk1 ∧uj1 )∨(uk2 ∧uj2 )∨•••∨(ukp ∧ujp )
) ( 1 jn kn p n u u ∧ =∨ (4)
where ∨ represents the OR operation. B. Boolean Correlation Matrix Memory Suppose that an associative memory has learned the memo- ry matrix M through the associations of binary key and memo- rized patterns described by ak→ bk , where k = 1, 2, … , q, being ak a p-by-1 binary key pattern vector, i.e., ak = [ ak1 , ak2 , … , akp ]T, and bk a p-by-1 binary memorized pattern vector, i.e., bk = [ bk1 , bk2 , … , bkp ]T, i.e., whose values are exclusively 0 or 1.
We may postulate M, denoting an estimate of the memory matrix M in terms of these patterns as follows
M = ) ( 1 T k k q k a b ∧ =∨ (5)
where ∧ represents the AND operation, and the term bk ∧ akT represents the outer AND operation between binary vectors of the key pattern ak and and the memorized pattern bk. Enhanced Boolean Correlation Matrix Memory Mario Mastriani A
While, in MATLAB code:
M = zeros(p,p);
for k = 1:q
M = M | (b(:,k) & a(:,k)’);
end
Therefore, M is a p-by-p binary estimate memory matrix. Where | represents the OR operation, and & represents the AND operation in MATLAB code, see Fig.2.
Fig.2 Signal-flow graph representation of Boolean CMM in MATLAB syntax C. Recall The fundamental problem posed by the use of an Boolean Associative Memory (BAM) is the address and re-call of patterns stored in memory, which is similar to non-Boolean associative memory [1]. To explain one aspect of this problem, let M denote the memory matrix of a BAM, which has been completely learned through its exposure to q pattern associations in accordance with Eq.5. Let a key pattern aj be picked at random and reapplied as stimulus to the memory, yielding the response
b = M ∧ aj (6)
The term M ∧aj represents the AND operation between binary memory matrix M and the key pattern aj. Substituting Eq.5 in 6, we get
b = j T k k q k a a b ∧ ∧ =∨ ) ( 1
=
k T k k q k b a a ∧ ∧ =∨ ) ( 1 (7)
where, in the second line, it is recognized that akT ∧ aj is a Boolean element equal to the inner AND operation between binary vectors of t
This content is AI-processed based on ArXiv data.