Основы нейронной сети умножаются
Здравствуйте, я изучаю нейронную сеть. Нейрон хранит только значение между 1 или -1? я не могу дать значение 255 или 1024 как? я искал пример решателя функции XOR библиотеки Encog Java. Я хотел изменить XOR на Multiplier, изменив XOR_INPUT и XOR_IDEAL.
Вот местоположение источника: http://www.heatonresearch.com/wiki/Hello_World
я изменился
ОТ:
/**
* The input necessary for XOR.
*/
public static double XOR_INPUT[][] = { { 0.0, 0.0 }, { 1.0, 0.0 },
{ 0.0, 1.0 }, { 1.0, 1.0 } };
/**
* The ideal data necessary for XOR.
*/
public static double XOR_IDEAL[][] = { { 0.0 }, { 1.0 }, { 1.0 }, { 0.0 } };
TO:
/**
* The input necessary for XOR.
*/
public static double XOR_INPUT[][] = { { 0.0, 0.0 }, { 1.0, 0.0 },
{ 1.0, 2.0 }, { 2.0, 4.0 } };
/**
* The ideal data necessary for XOR.
*/
public static double XOR_IDEAL[][] = { { 0.0 }, { 1.0 }, { 2.0 }, { 8.0 } };
После изменения значения на эти. Я получил бесконечный цикл и выводит константу:
Epoch # 274107 Ошибка: 12,75
Epoch # 274108 Ошибка: 12,75
Epoch # 274109 Ошибка: 12,75
Epoch # 274110 Ошибка: 12,75
Эпоха # 274111 Ошибка: 12,75
Epoch # 274112 Ошибка: 12,75
Epoch # 274113 Ошибка: 12,75
Эпоха # 274114 Ошибка: 12,75
Epoch # 274115 Ошибка: 12,75
Эпоха #274116 Ошибка: 12,75
Эпоха # 274117 Ошибка: 12,75
Эпоха #274118 Ошибка: 12,75
Эпоха #274119 Ошибка: 12,75
Вот вопросы;
1-) это называется локальными минимумами?
2-) мне нужно установить значение между (0 и 1) или (-1 и 1) является обязательным?
3-) как я могу решить простую задачу решения умножения?
Благодарю.
1 ответ
Ваш выходной слой является сигмовидным, что означает, что он может представлять значения только от 0 до 1, поэтому невозможно обучить такую сеть распознаванию чего-либо еще. Тем не менее, это не ошибка сети, вы должны масштабировать выходные данные так, чтобы они соответствовали этому интервалу, а затем и уменьшать масштаб.
Просто:
- токовые выходы 0,1,2,8
- мы предполагаем, что 8 является "максимальным" значением, и уменьшаем их на 8, получая: 0,1/8,1/4,1
Теперь вы тренируете свою сеть, и для получения оригинальных результатов просто умножьте значение на 8.
Помните, что простые нейронные сети не являются инструментами для символических вычислений. Если вы ищете модель, которая на самом деле найдет a*b
Формула тогда читайте о symbolic function networks
,