Я использовал библиотеку Neataptic для развития структуры XOR, как в инструкциях на их странице github .
Фактические результаты кажутся правильными однако, когда я визуализирую узлы (большую часть времени) нет скрытого слоя - только 2 входных узла и 1 выходной, поэтому я предполагаю, что это не должно работать. Есть идеи, что случилось?
var network = new neataptic.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] } ]; async function abc() { await network.evolve(trainingSet, { equal: true, error: 0.03 }); document.getElementById("app").innerHTML = "0 ⊕ 0 = " + network.activate([0,0]) + "<br />0 ⊕ 1 = " + network.activate([0,1]) + "<br />1 ⊕ 0 = " + network.activate([1,0]) + "<br />1 ⊕ 1 = " + network.activate([1,1]); drawGraph(network.graph(500, 400), '#draw'); } abc();
* { box-sizing: border-box; } body { margin: 0; padding: 0; height: 100vh; } #app { vertical-align: top; display: inline-block; padding: 15px; width: 20%; height: 100%; } #draw { vertical-align: top; display: inline-block; width: 80%; height: 100%; }
<link rel="stylesheet" type="text/css" href="https://rawgit.com/wagenaartje/neataptic/master/graph/graph.css"> <script src="https://d3js.org/d3.v3.min.js"></script> <script src="https://marvl.infotech.monash.edu/webcola/cola.v3.min.js"></script> <script src="https://combinatronics.com/wagenaartje/neataptic/master/graph/graph.js"></script> <script src="https://wagenaartje.github.io/neataptic/cdn/1.4.7/neataptic.js"></script> <div id="app"> </div><svg id="draw" width="600px" height="450px" />
Я связался с создателем библиотеки Neataptic, и это ответ на мой вопрос:
... напомним, что мутации также могут изменить функцию сжатия последнего узла. Да, функция логистического сквошения по умолчанию не может обрабатывать XOR, но синусоидальная функция может!
Вы определяете только два входных слоя и один выходной.Перечитайте документы, чтобы увидеть, как правильно добавить скрытый слой.Используйте персептрон или lstm