Skip to content

Pedagogical implementations of Adaptive Resonance Theory Neural Networks

License

Notifications You must be signed in to change notification settings

amanahuja/adaptive_resonance_networks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#Adaptive Resonance Theory Neural Networks

author: Aman Ahuja | github.com/amanahuja | twitter: @amanqa

Overview

ART neural architectures are self-organizing systems. They may operate in unsupervised or semi-supervised modes, categorizing an input pattern into categories.

Basic ART architecture consists of an input layer (F0), a processing interface layer (F1) and an output layer (F2). F1 and F2 units are connected by two sets of weights: bottom-up weights b[ij] and top-down weighs t[ji].


      F0        F1                   F2
   +------+  +------+            +--------+
   |      |  |      |            |        |
   |  S1  |  |  X1  |    bij     |   Y1   |
   |      |  |      | ---------> |        |
   |  S2  |  |  X2  |            |        |
   |      |  |      |            |   Y2   |
   |  S3  |  |  X3  |    tji     |        |
   |      |  |      | <--------- |        |
   |  S4  |  |  X4  |            |   Yj   |
   |      |  |      |            |        |
   |  Si  |  |  Xi  |            |        |
   +------+  +------+            +--------+
   input     interface           cluster units
   layer     layer               output layer

[created with http://asciiflow.com/]

When presented with an input pattern, the network identifies a candidate cluster unit in F2, and, passing a threshold test, will update weights for this unit. This process may occur several times for a single presentation of an input pattern, until desired stability is reached. This process is the "resonance" for which ART is named.

Sources

The following material were instrumental in this project:

Purpose

These modules are intended for demonstration and learning. They favor elucidation and interpretability over efficiency or scalability. There is no intention to use this code in any production environment.


Included

Included in this repository:

  • ART1: ART with binary inputs
  • ART2: ART with continuous inputs
  • Helper functions for preprocessing, etc.

To-do:

  • LA-PART1: Lateral Adaptive Priming ART; Two coupled fuzzy ARTS for the semi-supervised case.
  • unit tests

Won't-do

  • FART: Fuzzy logic + ART
  • LAPART2: improvement on LAPART1
  • ART3

Requirements

  • python 2.7
  • numpy

installation and usage

[todo]

About

Pedagogical implementations of Adaptive Resonance Theory Neural Networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published