Александр Кириченко - Нейросетевое программирование. Инструментарий нейрокомпьютинга
- Название:Нейросетевое программирование. Инструментарий нейрокомпьютинга
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:9785005163271
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Кириченко - Нейросетевое программирование. Инструментарий нейрокомпьютинга краткое содержание
Нейросетевое программирование. Инструментарий нейрокомпьютинга - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:

Рис.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 Содержимое папки, необходимое для зажигания нейрона
Интерфейс пользователя
Перевод раздела справочника команд нейропакета «Communication with the user».
Раздел содержит 7 команд:
1. Команда «void MessageBox (const string &in message)» выводит простое окно сообщения с кнопкой ОК. Сообщение содержит текст, который будет отображаться в выводимом окне. Выполнение сценария останавливается до тех пор, пока пользователь не нажмет кнопку ОК, которая автоматически закрывает окно сообщения.
2. Команда «EDlgRet MessageBox (const string &in message, EMsgBoxType type)» выводит окно сообщения с несколькими различными кнопками. Варианты используемых кнопок:
MB_OK – просто кнопка ОК
MB_OKCANCEL – кнопка ОК и ОТМЕНА
MB_YESNO – кнопки ДА и НЕТ
MB_YESNOCANCEL – ДА, НЕТ и кнопка ОТМЕНА
MB_RETRYCANCEL – кнопки RETRY и CANCEL
Читать дальшеИнтервал:
Закладка: