neataptic

:rocket: Blazing fast neuro-evolution & backpropagation for the browser and Node.js

Github星跟蹤圖

Neataptic (unmaintained)



Slack

Neataptic offers flexible neural networks; neurons and synapses can be removed with a single line of code. No fixed architecture is required for neural networks to function at all. This flexibility allows networks to be shaped for your dataset through neuro-evolution, which is done using multiple threads.

// this network learns the XOR gate (through neuro-evolution)
var network = new Network(2,1);

var trainingSet = [
  { input: [0,0], output: [0] },
  { input: [0,1], output: [1] },
  { input: [1,0], output: [1] },
  { input: [1,1], output: [0] }
];

await network.evolve(trainingSet, {
  equal: true,
  error: 0.03
 });

Neataptic also backpropagates more than 5x faster than competitors. Run the tests yourself. This is an example of regular training in Neataptic:

// this network learns the XOR gate (through backpropagation)
var network = new architect.Perceptron(2, 4, 1);

// training set same as in above example
network.train(trainingSet, {
  error: 0.01
});

network.activate([1,1]); // 0.9824...

Use any of the 6 built-in networks with customisable sizes to create a network:

var myNetwork = new architect.LSTM(1, 10, 5, 1);

Or built your own network with pre-built layers:

var input = new Layer.Dense(2);
var hidden1 = new Layer.LSTM(5);
var hidden2 = new Layer.GRU(3);
var output = new Layer.Dense(1);

input.connect(hidden1);
hidden1.connect(hidden2);
hidden2.connect(output);

var myNetwork = architect.Construct([input, hidden1, hidden2, output]);

You can even built your network neuron-by-neuron using nodes and groups!

Examples

Neural networks can be used for nearly anything; driving a car, playing a game and even to predict words! At this moment,
the website only displays a small amount of examples. If you have an interesting project that you want to share with other users
of Neataptic, feel free to create a pull request!

Usage

Head over to the wiki for detailed usage. If you want to visualise your graphs, head
over to the graph folder.

Install

Neataptic files are hosted by rawgit, just copy this link into the <head> tag:

<script src="https://wagenaartje.github.io/neataptic/cdn/1.4.7/neataptic.js"></script>

Installing with node is also possible:

npm install neataptic

Make sure you have Node.js v7.6 or higher installed!

Further notices

Parts of Synaptic where used to develop
Neataptic.

The neuro-evolution algorithm used is the Instinct algorithm.

You made it all the way down! If you appreciate this repo and want to support the development of it, please consider donating :thumbsup:
Donate

主要指標

概覽
名稱與所有者wagenaartje/neataptic
主編程語言JavaScript
編程語言JavaScript (語言數: 3)
平台
許可證Other
所有者活动
創建於2017-02-23 10:02:16
推送於2019-08-01 12:31:18
最后一次提交2018-06-09 10:08:01
發布數10
最新版本名稱N1.2.14 (發布於 )
第一版名稱1.0.1 (發布於 )
用户参与
星數1.2k
關注者數60
派生數287
提交數719
已啟用問題?
問題數134
打開的問題數70
拉請求數19
打開的拉請求數7
關閉的拉請求數5
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?