Training of DHN Part 1
Duration: 12 min
This video lesson is available to enrolled students.
AI Summary
An AI-generated summary of this video lecture.
The video presents a structured explanation of training discrete Hopfield networks (DHNs) using Hebbian learning rules for both binary and bipolar input patterns. In the initial segment (00:00-02:00), Case 1 introduces binary patterns with the weight matrix formula Σ[2s_i(p) - 1][2s_j(p) - 1] for i ≠ j, where binary values are transformed into bipolar form (-1 or +1) to enable storage of multiple patterns. The on-screen text explicitly displays this equation, reinforcing the mathematical foundation. Transitioning to Case 2 (02:00-05:00), the focus shifts to bipolar input patterns, where the weight matrix simplifies to Σs_i(p)s_j(p) for i ≠ j, with the formula clearly shown on screen. The instructor emphasizes that self-connections are excluded by setting ω_ii = 0, a detail reiterated in the subsequent discussion. The testing algorithm is then introduced: weights are initialized via Hebbian learning, initial activations y_i are set equal to external input vectors x_i, net inputs are computed as y_i = x_i + Σw_ij * y_j, and outputs are determined using an activation function (y_i = 1 if net input > θ_i, else -1). This process is repeated until activations converge. In the final segment (10:00-11:36), a concrete example is worked through using the input vector X = [1 1 1 -1], demonstrating how to construct the symmetric weight matrix W via the outer product X^T * X, with diagonal elements set to zero. The resulting matrix W = [[0, 1, 1, -1], [1, 0, 1, -1], [1, 1, 0, -1], [-1, -1, -1, 0]] is explicitly displayed, illustrating the network's structure before testing with asynchronous updates. The progression moves from theoretical formulation to practical application, grounding the abstract rules in a tangible example.
Chapters
0:00 – 2:00 00:00-02:00
The video introduces the training of a discrete Hopfield network by presenting two cases for storing patterns: binary and bipolar input patterns. For Case 1, it derives the weight matrix formula for binary inputs as Σ[2s_i(p) - 1][2s_j(p) - 1] for i ≠ j, where s(p) represents binary patterns. For Case 2, it presents the weight matrix formula for bipolar inputs as Σ[s_i(p)][s_j(p)] for i ≠ j, emphasizing the difference in weight calculation based on input type. The content transitions to a testing algorithm that includes initialization of weights and iterative steps for activation consolidation, with Step 1 specifying weight initialization and Step 2 initiating the process if activations are not consolidated. The instructor uses handwritten annotations to highlight key terms like 'Weight Matrix' and employs arrows to indicate the flow from stored patterns to weight calculation, reinforcing the derivation process.
2:00 – 5:00 02:00-05:00
The video segment explains the testing algorithm for a Hopfield neural network, focusing on bipolar input patterns. The instructor presents Step 4 of the algorithm: initializing network activation to match the external input vector X, with the formula y_i = x_i for i = 1 to n. This is followed by Step 6, where the net input y_i is calculated using the formula y_i = x_i + Σ w_ij * y_j, incorporating both external input and weighted feedback from other units. Step 7 applies an activation function to determine output, defined as y_i = {1 if y_i > θ_i, -1 otherwise}, ensuring binary output based on threshold comparison. Step 8 involves broadcasting the computed y_i to all other units in the network, enabling distributed computation. Step 9 tests for convergence by checking if activations have stabilized across all units. The weight matrix is initialized using the Hebbian learning rule, with w_ij = Σ s_i(p) * s_j(p) for i ≠ j and ω_ii = 0, derived from stored patterns. The instructor emphasizes the iterative nature of this process and how it enables pattern retrieval through network dynamics.
5:00 – 10:00 05:00-10:00
The video demonstrates the training of a discrete Hopfield network using an auto-associative approach with binary input vectors. The process begins by initializing the weight matrix W using the formula W = Σ[s^T(p)][s(p)] for i ≠ j, where s(p) is the input vector [1 1 1 -1]. The instructor shows that diagonal elements are set to zero, reflecting the absence of self-connections in the network. The weight matrix is computed as the outer product of the input vector with itself, resulting in a symmetric matrix: W = [[0, 1, 1, -1], [1, 0, 1, -1], [1, 1, 0, -1], [-1, -1, -1, 0]]. The explanation emphasizes that the network is symmetric and lacks self-connections. This weight matrix is then prepared for testing, where asynchronous updates will be used to reconstruct the input pattern. The instructor walks through each step of weight initialization, highlighting key formulas and matrix operations on the board.
10:00 – 11:36 10:00-11:36
In the final segment of the lesson, the training process for a discrete Hopfield network is completed with an example using binary input vectors. The instructor demonstrates initializing the weight matrix by computing the outer product of the input vector X = [1 1 1 -1] with itself, resulting in a symmetric matrix W. Diagonal elements are explicitly set to zero because self-connections are not allowed in the network, as indicated by the on-screen notation w_ii = 0. The resulting weight matrix is written out as W = [0 1 1 -1; 1 0 1 -1; 1 1 0 -1; -1 -1 -1 0], with the symmetry condition w_ij = w_ji emphasized. The lesson transitions to testing, where asynchronous updates are introduced as the method for evaluating network convergence when some entries in the input vector are missing. The on-screen text labels this as "Step 9: Test the network for conjunction," and the instructor prepares to simulate the update process, indicating that the trained weights will be used in a dynamic state evolution. The handwritten annotations and formula notation reinforce the mathematical steps, ensuring clarity on how the network's connectivity is derived from the input pattern.
This lesson segment provides a structured explanation of training discrete Hopfield networks (DHNs) using Hebbian learning rules, covering both binary and bipolar input patterns. It begins with theoretical derivations of weight matrix formulas—Σ[2s_i(p) - 1][2s_j(p) - 1] for binary inputs and Σs_i(p)s_j(p) for bipolar inputs—emphasizing the transformation of binary values to bipolar form and the exclusion of self-connections via ω_ii = 0. The teaching progression moves to a testing algorithm that includes weight initialization, activation setup (y_i = x_i), net input computation (y_i = x_i + Σw_ij * y_j), and activation function application (y_i = 1 if net input > θ_i, else -1), repeated until convergence. A concrete example using the vector X = [1 1 1 -1] demonstrates weight matrix construction via outer product W = X^T * X, with diagonal elements set to zero. The resulting symmetric matrix W = [[0, 1, 1, -1], [1, 0, 1, -1], [1, 1, 0, -1], [-1, -1, -1, 0]] is explicitly shown.