This project is an attempt to use an artificial neural network as a data flow transformer. Having an input stream of symbols which can be decoded into an input vector, the network will be able to generate a stream of more abstract symbols, using as additional information both the context (ie. data which was received before) and time gaps between consecutive chunks of data. The network is reactive - its computations are triggered by the input stream itself, not by a third agent watching the stream and sending requests to the network - and it can simultaneously receive and generate data.
If you want to look at only one class in this project then it's probably this one.
You can also check my other project: GAI Library, a small library for Artificial Intelligence in computer games, based on cellular automata. I focus on it now and I use it to learn Rust. When I develop it to a point when it's possible to use it in practical cases I plan to come back to ANN, and then switch between the two from time to time. (Hopefully I won't start writing yet another one).
- You will need Java JDK 7+ and sbt 0.13.8 or newer.
* OpenJDK– for Linux
* Java (Oracle) – for any platform (Linux also)
* sbt - Linux
* sbt - Windows
- The MSI installer is no longer supported, as far as I know, so you have to download and unpack the zip file. * sbt - Mac
- You can check if sbt works simply typing sbt in the command line
- Download the ANNA project, either through GIT, or by downloading the zip file. The current stable branch is
master
. - Go to the main project directory (“ann”) and type
sbt compile
. sbt will download and install Scala and Akka if you haven't done it before. Be patient. Then typesbt console
. You will see the welcome screen. Typehelp
.