Skip to content

diegomcarvalho/WeightlessNeuralNetwork.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WeightlessNeuralNetwork.jl Package

Introduction

Implements the WiSARD Neural Network (Wilkes, Stonham and Aleksander Recognition Device). It is composed of a set of discriminators, often called as classifiers[1]. This specific implementation is based on the description provided by [2], and the zero_skip and padded_retina were inspired on the IAZero implementation.

2019,2020 (@) Diego Carvalho - [email protected]

[1]: I. Aleksander, W. Thomas, P. Bowden, WISARD a radical step forward in image recognition, Sens. Rev. 4 (1984) 120–124.

[2]: M. De Gregorio and M. Giordano, “Cloning DRASiW systems via memory transfer,” Neurocomputing, vol. 192, pp. 115–127, 2016.

Example

using WeightlessNeuralNetwork

X = [
             Retina([1,1,1,0,0,0,0,0]),
             Retina([1,1,1,1,0,0,0,0]),
             Retina([0,0,0,0,1,1,1,1]),
             Retina([0,0,0,0,0,1,1,1])
           ]
           
y = [
             "cold",
             "cold",
             "hot",
             "hot"
           ]

w = Wisard(3,9)

train!(w,X,y)

classify(w,X)

TODO

  • New feature: parallel discriminators --- Implement parallel discriminators.
  • Refactor Wisard to access data by indices --- The parallel version of Drasiw is super fast due to the indices accesses of data. So, the Wisard class should be rewritten to incorporate the advantages.
  • New feature: a test module --- Implement the test module. It should scan addresses, size, classes, etc.
  • New feature: random generation control --- Provide a way to control the random generation. Each wisard net should have a random generation stream and this information must propagate through layers since Discriminator must use on the retina mapping.
  • New feature: record wisard state --- Should implement IO functions in order to record the current wisard training state. Perhaps, it should use JSON.
  • New feature: confidence level --- Should calculate the confidence level for each wisard output.
  • Bug fix (1) --- The code below can crash when b reaches m during bleaching, and winners is greater than one (line 83).
  • Implement ClusWisard
  • Implement MageNet

About

Weightless Neural Network Package

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages