Оценить:
 Рейтинг: 0

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

Год написания книги
2020
<< 1 ... 5 6 7 8 9 10 11 12 >>
На страницу:
9 из 12
Настройки чтения
Размер шрифта
Высота строк
Поля

Рис.27 Схема преобразователя последовательного кода в параллельный

Анализ созданной нейросети показывает:

Рис.28 Характеристики нейросети

всего нейронов – 15. Из них: 2 входных, 7 выходных, 6 скрытых нейронов (1 DLY 2 – 1 DLY 7) в 6 скрытых слоях (H1 – H6).

Для демонстрации работы преобразователя кодов было предусмотрено два файла.

В первом файле (SdvReg0.csv) нейрон In1 всегда равен 0. По In2 поступают последовательные сигналы, накапливающиеся в параллельные группы по 7 сигналов.

Рис.29 Основной файл для проверки преобразователя кодов

Используем этот файл для обучения:

Рис.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».

Программа «230620.as» :

void main ()

{

SelectLesson (3);

ExportLessonRaw(C:\ProgramData\MemBrain\”230620-3.as»);

}

Последовательность запуска управляющего нейрона:

– Включить View -> «Show Fire Indicator».

– Средствами Windows записать в ячейку «SdvReg_111.csv» ноль.

Активизировать запуск программы при появлении огня (Fire):

– Пометить нейрон In1 на графической схеме нейросети свойством (Properties) «Executable When Firing» или: через Extras -> Executable when Firing.

– Заполнить диалог:

Рис.38 Выполняемая программа при зажигании нейрона

– Нажать «Think on Lesson» на Lesson Editor.

Lesson Editor настроен на запись по скриптовой команде из файла ”230620-3.as” в 3 урок:

Рис.39 Вывод результата из 3 урока

Выводим из 3 урока информацию в файл SdvReg_111.csv.

На экране появляется:

Рис.40 Выводимая информация

В результате срабатывания управляющего нейрона In1, в файл SdvReg_111.csv выведена информация из 3 урока.

Таким образом:

В демонстрационной папке этого примера должно содержаться:

Рис.41 Содержимое папки, необходимое для зажигания нейрона
<< 1 ... 5 6 7 8 9 10 11 12 >>
На страницу:
9 из 12