Project 2: Hopfield Networks

Hopfield Networks

Dynamic Feedback Applications of Hopfield Networks: Networks with ODE dynamics

ODE Solutions

Every class coding example will formulate and numerically solve computation and learning algorithms from an ODE formulation. Types of ODE solvers, order of convergence

ODE routines and computation

MATLAB Code:
[x,y]=ode45( ); Runga-Kutta 4th order/5th order predictive model
[x,y]=ode23( ); Runga-Kutta 2th order/3th order predictive model
[x,y]=ode15s( ); [x,y]=ode23s( ); Solve stiff differential equations — low order method

Python Code:
odeint( );
solve_ivp( method = 'RK45' )

References:

  • Texas A&M ODE MATLAB reference: pdf
  • MATLAB ODE overview: pdf
  • MATLAB solution of ODEs examples: pdf
  • Solving ODEs in Python: pdf
  • Halvorsen on Python ODE solutions: pdf

    Order of ODE algorithms

    Numerics for Stiff Differential Equations


    Figure 1: Numerical ODE solution convergence and numerical error as a function of ODE numerical approximation and as a function of numerical derivative estimation.

    Numerical Solution of ODE references:

    Project Requirements

    This project begins the process of simulating and computing neural network structures. There are two parts to this project:

    The first part of the project directly impacts the efforts in the second project.

    Your final code that you used for this project should be in a separate file from your writeup.

    Numerical Simulation of Differential Equations

    Numerical solution of ODEs is a critical aspect of exploring Neural Network algorithms.

    Simulate the following ODE system:

    It is assumed you will be using an ODE solver package that you will be using throughout the semester. Just explaining which package you are using is sufficient. You need to show me the code that you wrote for this simulation (e.g. not the ODE libraries that you used.

    Hopfield Network Simulations

    We will develop Hopfield network simulations. The simulations are ODE computations. You need to show me the code that you wrote for this simulation (e.g. not the ODE libraries that you used.

    Develop a Hopfield Network with fixed inputs for two different cases.