Чисто нейросетевые операции для этого неприменимы. Иногда их алгоритмы просто неизвестны (ассоциации, интуиция, смысловой поиск, ассоциативное мышление). Нейроконструктор, как инструмент, автоматизирующий нейросетевые исследования, должен расширять возможности проведения нейросетевых исследований, позволять активировать различные программы, регулировать время их исполнения, сохранять мгновенные значения элементов управления, сохранять, читать и запускать в работу необходимые программы.
Реализацию этих операций, очень характерных для моделирования нейроконструкций, отразим в разделах: «Инструментарий нейрокомпьютинга» и «Расширение инструментария нейрокомпьютинга».
Инструментарий нейрокомпьютинга
Используемые в MemBrain инструменты представим в виде перевода на русский язык соответствующих частей Help пакета MemBrain:
– Технология создания скрипта, скрипт таймера
– Программная коррекция свойств нейросетей (экспорт нейросети, структура экспортированного csv-файла, система команд нейропакета)
– Управление проведением нейросетевых иследований c помощью «зажигания нейронов»
– Организация интерфейса пользователя в нейросетевой конструкции
– Группирование нейросетей в нейроконструкции
– Свёрточные нейронные сети (Convolutional Neural Networks)
– Вывод обученной нейросети в виде С-кода
– DLL (Dynamic Link Library) нейроконструктора MemBrain
Технология создания скрипта
Большое значение для нейроконструктора имеет возможность автоматизировать процесс конструирования. В MemBrain для этого предусмотрена возможность использования скриптового языка. Скриптовый язык позволяет записывать в виде текста (стилизованных английских предложений) последовательность команд нейропакета. Эти же команды можно вводить вручную, используя главное меню пакета.
Например, при подготовке нейропакета к работе необходимо произвести его настройку, которая состоит из нескольких часто повторяющихся команд (рассмотрим содержимое файла «Decoder4To16_.as»):
// Отрегулируйте меню вид (view)
ViewSetting (BLACK_BG, true);
ViewSetting (SHOW_GRID, false);
ViewSetting (UPDATE_TEACH, true);
ViewSetting (UPDATE_THINK, true);
ViewSetting (SHOW_FIRE, false);
ViewSetting (SHOW_ACT_SPIKES, false);
ViewSetting (SHOW_LINKS, true);
/*Такая настройка предусматривает вывод на экран всех чертежей на чёрном фоне. Замена в первой строке true на false позволяет значительно повысить восприимчивость графики.
Во второй строке запрещается использовать в чертежах сетку.
В третьй и четвёртой строках разрешается использовать коррекцию в процессе обучения и исполнения нейросетей.
Следующие две строки запрещают использование таких конструкций, как FIRE и SPIKES.
Последняя строка разрешает высвечивать связи на чертежах. Результат такой настройки можно посмотреть в меню View:
*/
Рис.1 Настройки в меню View
//Открыть на экране нейросеть позволяет команда:
OpenNet («Decoder4To16.mbn»);
//в команде указывается название файла, в котором была сохранена нейросеть.
Рис.2 Нейросеть из файла «Decoder4To16.mbn»
//После того, как сеть будет прорисована на экране, необходимо произвести
//рандомизацию всех весов ссылок и порогов активации:
RandomizeNet (); // Или на графике:
Рис.3 Клавиша рандомизации нейросети
//
//Следующие команды продолжают подготовку нейропакета:
ResetThinkSteps (); // Сброс счетчика шагов (уроков), или в окне:
Рис.4 Сброс счетчика шагов (уроков)
//
SetLessonCount (1); // Установить количество уроков (1)
SetLessonCount (4); // в результате чего появится:
Рис.5 Установка «Number of Lessons»
// Здесь указано, что ожидается 4 урока
/*В данном примере предусмотрено 4 урока:
– training lesson (исходный обучающий урок) – исходные файлы mbn & training lesson. mbl
– validate lesson (исходный контролирующий урок) – исходный файл validate lesson. mbl
– активация выходных нейронов (реакция сети на тренировочные данные 1 к уроку №3) – вывод в файл TrainResult. csv
Читать дальше