Я пробую писать простую нейросеть на C#. Мой код примерно такой(в общем):
public class NeuralNetwork
{
public class Neuron // нейрон
{
public double Summ, Bias;
}
public class Layer // слой
{
public List<Neuron> Neurons = new List<Neuron>();
}
public class Connection // соединение
{
public int NeuronA, NeuronB, LayerA, LayerB;
public double Weight = 1;
public Connection(int nA, int nB, int lA, int lB, double w = 1)
{
NeuronA, NeuronB, LayerA, LayerB, Weight = nA, nB, lA, lB, w ;
}
}
public List<Connection> Connections = new List<Connection>(); // список соединений
public List<Layer> Layers= new List<Layer>(); // список слоёв
public List<double> Inputs, CorrectOutputs; // входные данные и данные которые должны получиться
//Дальше идут конструктор класса NeuralNetwork и методы Set_Inputs, Set_Layers, Activation_Functions, Auto_Create_Network, Forward_Propagation, Back_Propagation и Train.
}
Проблема вот в чём: при обучении на одних данных, а потом на других, нейросеть подзабывает правильный ответ к предыдущим входным данным.
Что можете посоветовать? Если не понятно что я спрашиваю могу уточнить детали.