https://github.com/makingthematrix/ann
Artificial Neural Networks in Akka
https://github.com/makingthematrix/ann
Last synced: 6 months ago
JSON representation
Artificial Neural Networks in Akka
- Host: GitHub
- URL: https://github.com/makingthematrix/ann
- Owner: makingthematrix
- Created: 2014-03-01T23:24:06.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2018-03-13T09:34:24.000Z (over 8 years ago)
- Last Synced: 2023-08-16T20:41:32.222Z (almost 3 years ago)
- Language: Scala
- Homepage:
- Size: 14.8 MB
- Stars: 45
- Watchers: 12
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Artificial Neural Networks in Akka
==================================
### Premise
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.
### Documentation
* [Abstract]
* [Full article]
* [A video from my gig on Scalar 2017](https://www.youtube.com/watch?v=5r4LSQT7Uc4&t=1s)
* [Further ideas]
If you want to look at only one class in this project then it's probably [this one](https://github.com/makingthematrix/ann/blob/SOSWithBlock_1.0/src/main/scala/anna/async/Neuron.scala).
You can also check my other project: [GAI Library](https://github.com/makingthematrix/gailibrary), 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).
### How to Install
1. 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]
2. You can check if sbt works simply typing **sbt** in the command line
3. Download the ANNA project, either through GIT, or by downloading the zip file. The current stable branch is `master`.
4. 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 type `sbt console`. You will see the welcome screen. Type `help`.
[Abstract]:
[Full article]:
[Further ideas]:
[OpenJDK]:
[Java (Oracle)]:
[sbt - Linux]:
[sbt - Windows]:
[sbt - Mac]: