Skip to content

Python Implementation of the Paper: Topology Representing Networks

Notifications You must be signed in to change notification settings

chandeepadissanayake/TRNPy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TRNPy

Python Implementation of the Paper: Topology Representing Networks

This is the implementation of the paper: Topology Representing Networks : Thomas Martinetz, Klaus Schulten. Neural Networks, Vol 7, No. 3, pp. 507-522, 1994.

The authors propose two approaches for building the topology preserving map.

  1. Simultaneously distributing the pointers over the manifold (vector quantization procedure) using neural gas algorithm1 and creating/updating connections using competitive Hebb rule2.
  2. First distribute the pointers over the manifold and then create the connections between adjacent neural units with overlapping masked Voronoi polyhedra.

However, the authors have compiled the algorithm only for the first approach in the paper, I've implemented the same approach in this repository.

Utilizing the Code

Topology Representing Network adaptation algorithm has been implemented in trn.py. Inputs and outputs from the adaptation function has been documented in-place.

Simulations

I have simulated the adaptation of a simple 2-Dimensional Square shaped manifold. It can be found under simulations/simple_square.py. Simply follow the following steps to run the code for simulation.

  1. Install the requirements through PyPI : pip install -r requirements.txt
  2. Run the simulation file : python3 simulations/simple_square.py
  • Simulations that authors have used, explicitly in Figure 6 & Figure 8 of the paper are yet to be implemented.

Results

The simulation for the aforementioned 2-D square shaped manifold was carried out using N = 200 (with other parameters being the same as what was suggested for the simulations by the authors in section 5 of the paper) and the results were graphed. Adaption iterated for 40000 steps.

Manifold

Manifold

Manifold with Pointers on Initial Distribution

Manifold

Manifold with Adapted Pointers

Manifold


Contact

For any inquiries: [email protected]

Footnotes

  1. "Neural-Gas" Network for Vector Quantization and its Application to Time Series Prediction (Paper)

  2. Competitive hebbian learning: Algorithm and demonstrations (Paper)

About

Python Implementation of the Paper: Topology Representing Networks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages