Part 3A: Hopfield Network 9/28/10 A. The Hopfield Network III. Recurrent Neural Networks 9/28/10 1 9/28/10 Typical Artificial Neuron Typical Artificial Neuron connection weights inputs 2 linear combination activation function output net input (local field) threshold 9/28/10 3 9/28/10 Hopfield Network Equations • • • • • ⎛ n ⎞ hi = ⎜⎜ ∑ w ij s j ⎟⎟ − θ ⎝ j=1 ⎠ h = Ws − θ Net input: New neural state: € 9/28/10 Symmetric weights: wij = wji No self-action: wii = 0 Zero threshold: θ = 0 Bipolar states: si ∈ {–1, +1} Discontinuous bipolar activation function: sʹ′i = σ ( hi ) ⎧−1, σ ( h ) = sgn( h ) = ⎨ ⎩+1, sʹ′ = σ (h) 5 € 4 9/28/10 h<0 h>0 6 € 1 Part 3A: Hopfield Network 9/28/10 What to do about h = 0? Positive Coupling • There are several options: • Positive sense (sign) • Large strength σ(0) = +1 σ(0) = –1 σ(0) = –1 or +1 with equal probability hi = 0 ⇒ no state change (siʹ′ = si) • Not much difference, but be consistent • Last option is slightly preferable, since symmetric 9/28/10 7 9/28/10 Weak Coupling Negative Coupling • Either sense (sign) • Little strength • Negative sense (sign) • Large strength 9/28/10 9/28/10 8 9 9/28/10 10 State = –1 & Local Field < 0 State = –1 & Local Field > 0 h < 0 h > 0 11 9/28/10 12 2 Part 3A: Hopfield Network 9/28/10 State Reverses State = +1 & Local Field > 0 h > 0 h > 0 9/28/10 13 9/28/10 14 State = +1 & Local Field < 0 State Reverses h < 0 h < 0 9/28/10 15 9/28/10 16 Hopfield Net as Soft Constraint Satisfaction System • States of neurons as yes/no decisions • Weights represent soft constraints between decisions NetLogo Demonstration of Hopfield State Updating – hard constraints must be respected – soft constraints have degrees of importance • Decisions change to better respect constraints • Is there an optimal set of decisions that best respects all constraints? Run Hopfield-update.nlogo 9/28/10 17 9/28/10 18 3 Part 3A: Hopfield Network 9/28/10 Convergence • Does such a system converge to a stable state? • Under what conditions does it converge? • There is a sense in which each step relaxes the “tension” in the system • But could a relaxation of one neuron lead to greater tension in other places? Demonstration of Hopfield Net Dynamics I Run Hopfield-dynamics.nlogo 9/28/10 19 9/28/10 20 Quantifying “Tension” Total Energy of System • If wij > 0, then si and sj want to have the same sign (si sj = +1) • If wij < 0, then si and sj want to have opposite signs (si sj = –1) • If wij = 0, their signs are independent • Strength of interaction varies with |wij| • Define disharmony (“tension”) Dij between neurons i and j: The “energy” of the system is the total “tension” (disharmony) in it: E {s} = ∑ Dij = −∑ si w ij s j ij =− ij 1 2 ∑∑ s w i i ij sj j≠i = − 12 ∑ ∑ si w ij s j Dij = – si wij sj Dij < 0 ⇒ they are happy Dij > 0 ⇒ they are unhappy i j 1 T 2 = − s Ws 9/28/10 21 9/28/10 22 € Review of Some Vector Notation ⎛ x1 ⎞ ⎜ ⎟ T x = ⎜ ⎟ = ( x1 x n ) ⎜ ⎟ ⎝ x n ⎠ Another View of Energy The energy measures the degree to which the neurons’ states are in disharmony with their local fields (i.e. of opposite sign): (column vectors) n x T y = ∑ xi yi = x ⋅ y i=1 € ⎛ x1 y1 ⎜ xy = ⎜ ⎜ ⎝ x m y1 T € x T My = ∑ € € 9/28/10 m i=1 ∑ n j=1 x1 y n ⎞ ⎟ ⎟ ⎟ x m y n ⎠ x i M ij y j (inner product) E {s} = − 12 ∑ ∑ si w ij s j i j = − 12 ∑ si ∑ w ij s j (outer product) i j = − 12 ∑ si hi i (quadratic form) = − 12 sT h 23 9/28/10 24 € 4 Part 3A: Hopfield Network 9/28/10 Do State Changes Decrease Energy? Energy Does Not Increase • Suppose that neuron k changes state • Change of energy: • In each step in which a neuron is considered for update: E{s(t + 1)} – E{s(t)} ≤ 0 • Energy cannot increase • Energy decreases if any neuron changes • Must it stop? ΔE = E {sʹ′} − E {s} = −∑ sʹ′i w ij sʹ′j + ∑ si w ij s j ij ij = −∑ sʹ′k w kj s j + ∑ sk w kj s j j≠k j≠k = −( sʹ′k − sk )∑ w kj s j € = −Δsk hk € j≠k <0 9/28/10 25 9/28/10 26 € € € Proof of Convergence in Finite Time Conclusion • If we do asynchronous updating, the Hopfield net must reach a stable, minimum energy state in a finite number of updates • This does not imply that it is a global minimum • There is a minimum possible energy: +1}n – The number of possible states s ∈ {–1, is finite – Hence Emin = min {E(s) | s ∈ {±1}n} exists • Must reach in a finite number of steps because only finite number of states 9/28/10 27 9/28/10 Lyapunov Functions 28 Example Limit Cycle with Synchronous Updating • A way of showing the convergence of discreteor continuous-time dynamical systems • For discrete-time system: – need a Lyapunov function E (“energy” of the state) – E is bounded below (E{s} > Emin) – ΔE < (ΔE)max ≤ 0 (energy decreases a certain minimum amount each step) – then the system will converge in finite time w > 0 w > 0 • Problem: finding a suitable Lyapunov function 9/28/10 29 9/28/10 30 5 Part 3A: Hopfield Network 9/28/10 The Hopfield Energy Function is Even • A function f is odd if f (–x) = – f (x), for all x • A function f is even if f (–x) = f (x), for all x • Observe: Conceptual Picture of Descent on Energy Surface E {−s} = − 12 (−s) T W(−s) = − 12 sT Ws = E {s} 9/28/10 31 9/28/10 (fig. from Solé & Goodwin) 32 € Energy Surface + Flow Lines Energy Surface 9/28/10 (fig. from Haykin Neur. Netw.) 33 9/28/10 Flow Lines (fig. from Haykin Neur. Netw.) 35 34 Bipolar State Space Basins of Attraction 9/28/10 (fig. from Haykin Neur. Netw.) 9/28/10 36 6 Part 3A: Hopfield Network 9/28/10 Basins in Bipolar State Space Demonstration of Hopfield Net Dynamics II Run initialized Hopfield.nlogo energy decreasing paths 9/28/10 37 (fig. from Solé & Goodwin) 39 Example of Pattern Restoration 9/28/10 38 Example of Pattern Restoration Storing Memories as Attractors 9/28/10 9/28/10 9/28/10 (fig. from Arbib 1995) 40 (fig. from Arbib 1995) 42 Example of Pattern Restoration (fig. from Arbib 1995) 41 9/28/10 7 Part 3A: Hopfield Network 9/28/10 Example of Pattern Restoration 9/28/10 Example of Pattern Restoration (fig. from Arbib 1995) 43 Example of Pattern Completion 9/28/10 (fig. from Arbib 1995) 44 (fig. from Arbib 1995) 46 (fig. from Arbib 1995) 48 Example of Pattern Completion (fig. from Arbib 1995) 45 Example of Pattern Completion 9/28/10 9/28/10 9/28/10 Example of Pattern Completion (fig. from Arbib 1995) 47 9/28/10 8 Part 3A: Hopfield Network 9/28/10 Example of Pattern Completion 9/28/10 Example of Association (fig. from Arbib 1995) 49 Example of Association 9/28/10 (fig. from Arbib 1995) 50 (fig. from Arbib 1995) 52 (fig. from Arbib 1995) 54 Example of Association (fig. from Arbib 1995) 51 Example of Association 9/28/10 9/28/10 9/28/10 Example of Association (fig. from Arbib 1995) 53 9/28/10 9 Part 3A: Hopfield Network 9/28/10 Applications of Hopfield Memory • • • • Hopfield Net for Optimization and for Associative Memory • For optimization: Pattern restoration Pattern completion Pattern generalization Pattern association 9/28/10 – we know the weights (couplings) – we want to know the minima (solutions) • For associative memory: – we know the minima (retrieval states) – we want to know the weights 55 9/28/10 Example of Hebbian Learning: Pattern Imprinted Hebb’s Rule “When an axon of cell A is near enough to excite a cell B and repeatedly or persistently takes part in firing it, some growth or metabolic change takes place in one or both cells such that A’s efficiency, as one of the cells firing B, is increased.” —Donald Hebb (The Organization of Behavior, 1949, p. 62) 9/28/10 56 57 9/28/10 Example of Hebbian Learning: Partial Pattern Reconstruction 58 Mathematical Model of Hebbian Learning for One Pattern ⎧ x x , Let W ij = ⎨ i j ⎩ 0, if i ≠ j if i = j Since x i x i = x i2 = 1, W = xx T − I € For simplicity, we will include self-coupling: € € 9/28/10 59 9/28/10 W = xx T 60 € 10 Part 3A: Hopfield Network 9/28/10 A Single Imprinted Pattern is a Stable State Questions • Suppose W = xxT • Then h = Wx = xxTx = nx since n n 2 2 x T x = ∑ x i = ∑ (±1) = n i=1 • How big is the basin of attraction of the imprinted pattern? • How many patterns can be imprinted? • Are there unneeded spurious stable states? • These issues will be addressed in the context of multiple imprinted patterns i=1 • Hence, if initial state is s = x, then new state is sʹ′ = sgn (n x) = x €• For this reason, scale W by 1/n • May be other stable states (e.g., –x) 9/28/10 61 9/28/10 Definition of Covariance Imprinting Multiple Patterns Consider samples (x1, y1), (x2, y2), …, (xN, yN) Let x = x k and y = y k Covariance of x and y values : • Let x1, x2, …, xp be patterns to be imprinted • Define the sum-of-outer-products matrix: p W ij = 1 n ∑x k i = x k y k − xy k − x k y + x ⋅ y = xkyk − x yk − xk y + x ⋅ y € p 1 n Cxy = ( x k − x )( y k − y ) € € x kj k=1 W= 62 k T ∑ x (x ) k = xkyk − x ⋅ y − x ⋅ y + x ⋅ y € k=1 € 9/28/10 63 Cxy = x k y k − x ⋅ y 9/28/10 64 € € € Characteristics of Hopfield Memory Weights & the Covariance Matrix x1, x2, xp Sample pattern vectors: …, Covariance of ith and jth components: • Distributed (“holographic”) Cij = x ik x kj − x i ⋅ x j – every pattern is stored in every location (weight) If ∀i : x i = 0 (±1 equally likely in all positions) : Cij = x ik x kj = € € 1 p ∑ p k=1 • Robust x ik y kj – correct retrieval in spite of noise or error in patterns – correct operation in spite of considerable weight damage or noise ∴nW = pC € € 9/28/10 65 9/28/10 66 € 11 Part 3A: Hopfield Network 9/28/10 Stability of Imprinted Memories • Suppose the state is one of the imprinted patterns xm T • Then: h = Wx m = 1n ∑k x k (x k ) x m [ Demonstration of Hopfield Net Run Malasri Hopfield Demo = 1 n = 1 n ] k T ∑ x (x ) x (x ) x k k m T m = xm + 1 n ∑ (x k≠m 9/28/10 67 m x m + 1 n k T ∑ x (x ) k xm k≠m k ⋅ x m )x k 9/28/10 68 € Interpretation of Inner Products • xk ⋅ xm Cosines and Inner products u = n if they are identical – highly correlated • xk ⋅ xm = –n if they are complementary v 2 If u is bipolar, then u = u€⋅ u = n – highly correlated (reversed) € • xk ⋅ xm = 0 if they are orthogonal – largely uncorrelated Hence, u ⋅ v = n n cosθ uv = n cos θ uv € • xk ⋅ xm measures the crosstalk between patterns k and m 9/28/10 θ uv u ⋅ v = u v cosθ uv Hence h = x m + ∑ x k cos θ km k≠m € 69 9/28/10 70 € Sufficient Conditions for Instability (Case 1) Conditions for Stability Stability of entire pattern : ⎛ ⎞ x m = sgn⎜ x m + ∑ x k cosθ km ⎟ ⎝ ⎠ k≠m € 9/28/10 Suppose x im = −1. Then unstable if : (−1) + ∑ x ik cosθkm > 0 k≠m € Stability of a single bit : ⎛ ⎞ x im = sgn⎜ x im + ∑ x ik cosθ km ⎟ ⎝ ⎠ k≠m ∑x k i cosθ km > 1 k≠m € 71 9/28/10 72 € € 12 Part 3A: Hopfield Network 9/28/10 Sufficient Conditions for Instability (Case 2) Sufficient Conditions for Stability Suppose x im = +1. Then unstable if : (+1) + ∑ x k i ∑x k i cos θ km ≤ 1 k≠m cos θ km < 0 k≠m € ∑x k i The crosstalk with the sought pattern must be sufficiently small € cosθ km < −1 k≠m € 9/28/10 73 9/28/10 74 € Single Bit Stability Analysis Capacity of Hopfield Memory • For simplicity, suppose xk are random • Then xk ⋅ xm are sums of n random ±1 • Depends on the patterns imprinted • If orthogonal, pmax = n binomial distribution ≈ Gaussian in range –n, …, +n with mean µ = 0 and variance σ2 = n – but every state is stable ⇒ trivial basins • So pmax < n • Let load parameter α = p / n • Probability sum > t: 1 2 ⎡ ⎛ t ⎞⎤ ⎟⎥ ⎢1− erf ⎜ ⎝ 2n ⎠⎦ ⎣ [See “Review of Gaussian (Normal) Distributions” on course website] 9/28/10 75 equations 9/28/10 76 € Approximation of Probability Let crosstalk Cim = 1 n ∑ x (x k i k≠m k Probability of Bit Instability ⎡ ⎛ n ⎞⎤ Pr{nCim > n} = 12 ⎢1− erf ⎜ ⎟⎥ ⎢⎣ ⎝ 2np ⎠⎥⎦ ⋅ xm ) We want Pr{Cim > 1} = Pr{nCim > n} p € € € € = 1 2 = 1 2 n Note : nC = ∑ ∑ x x x m i k i k j m j k=1 j=1 k≠m [1− erf ( [1− erf ( )] 1 2α )] n 2p A sum of n( p −1) ≈ np random ± 1s Variance σ 2 = np 9/28/10 € 77 9/28/10 (fig. from Hertz & al. Intr. Theory Neur. Comp.) 78 € 13 Part 3A: Hopfield Network 9/28/10 Tabulated Probability of Single-Bit Instability Perror – – – – – – α 0.1% 0.105 0.36% 0.138 1% 0.185 5% 0.37 10% 0.61 – not correlated with any finite number of imprinted patterns – occur beyond overload because weights effectively random 79 9/28/10 80 Fraction of Unstable Imprints (n = 100) Basins of Mixture States x k1 sums or differences of odd numbers of retrieval states number increases combinatorially with p shallower, smaller basins basins of mixtures swamp basins of retrieval states ⇒ overload useful as combinatorial generalizations? self-coupling generates spurious attractors • Spin-glass states: (table from Hertz & al. Intr. Theory Neur. Comp.) 9/28/10 Spurious Attractors • Mixture states: x k3 x mix € € k2 x € 9/28/10 € x imix = sgn( x ik1 + x ik2 + x ik3 ) 81 (fig from Bar-Yam) 82 € Number of Stable Imprints (n = 100) 9/28/10 9/28/10 (fig from Bar-Yam) Number of Imprints with Basins of Indicated Size (n = 100) 83 9/28/10 (fig from Bar-Yam) 84 14 Part 3A: Hopfield Network 9/28/10 Summary of Capacity Results • Absolute limit: pmax < αcn = 0.138 n • If a small number of errors in each pattern permitted: pmax ∝ n • If all or most patterns must be recalled perfectly: pmax ∝ n / log n • Recall: all this analysis is based on random patterns • Unrealistic, but sometimes can be arranged 9/28/10 III B 85 15