Нейросетевое программирование. Инструментарий нейрокомпьютинга - страница 14

Шрифт
Интервал



Рис.30 Ход обучения преобразователя кодов


Ошибка обучения имеет достаточно малую величину и показывает, что нейросеть постепенно приблизилась к правильному результату (это видно по голубой линии. на Pattern Error Viewer):


Рис.31 Процесс обучения нейросети


После 6 точки голубая линия совпадает с Target. По клавише Export Graph выводится исполненный пример после обучения:


Рис.32 Максимальное количество колонок


Здесь содержится предупреждение о структуре выводимой информации.

Содержимое файла «SdvReg00.csv», полученного по клавише Export Graph:


Рис.33 Правильный результат после обучения.


Файл SdvReg2.csv имеет другое строение:

Нейрон In1 может исполнять разные функции: он может сигнализировать момент окончания превращения последовательного кода в параллельный и включать перепись сформированного параллельного кода с выходных нейронов в ячейку памяти для накопления. Если In1 отмечает момент, когда закончено формирование одной строки параллельного кода, то по сигналу In1=1 полученный код нужно считать с выходных нейронов нейросети. При исполнении такого действия нужно будет сформировать и вывести только одно число 1111000 (см. рисунок 34).

Но может быть In1=1 и сигналом, запускающим сохранение в памяти в виде csv-кода исполняемого (текущего) фрагмента обучающей выборки MemBrain. Тогда выводиться должно будет не одно число, а ряд чисел, составляющих текущую обучающую последовательность. Разница – в программах, которые будут работать по зажиганию нейрона In1.


In2 фиксирует символы поступающего последовательного кода.

Для демонстрации процесса зажигания управляющего нейрона подготовлен новый файл: 090720.csv:


Рис.34 Файл, вызывающий зажигание нейрона In1


После загрузки этого файла выведем на экран одновременно часть нейросети с нейроном In1 и часть редактора уроков Lesson Editor, содержащую нейрон In1. До тех пор, пока In1 = 0, нейрон не зажигается (это видно по выходному порту этого нейрона. Одновременно в редакторе уроков видно, что нейрон In1=0):


Рис.35 Нейрон In1 не зажжён


Как только In1 стал 1, нейрон зажёгся и начал работать…


Рис.36 Нейрон In1 зажёгся


В нашем случае по команде из программы «230620.as» выводится весь последний пример, а не одна строка. Нейрон In1 = 1 будем использовать как команду считать в csv-файл содержимое выполненного примера. Считывание это должно производиться по команде ExportLessonRaw раздела LessonEditor, которая записана в скрипте «230620.as».