Полная версия
Нейросетевое программирование. Инструментарий нейрокомпьютинга
Рис.52 Количество выходных нейронов
Допустим, определяем это количество цифрой 3, затем запрашивается количество нейронов в каждом скрытом слое
Рис.53 Запрос количества слоёв в скрытом слое 1
На этот вопрос ответ – 4. Появляется следующий вопрос о количестве нейронов в скрытом слое №2:
Рис.54 Запрос количества слоёв в скрытом слое 2
Ответ на этот вопрос – 7
Выводится трасса скрипта
Рис.55 Трасса скрипта
Трасса в один кадр не умещается:
Рис.56 Второе сообщение о трассе скрипта
На экране остаётся схема созданной нейросети:
Рис.57 Схема созданной нейросети
Естественно, по умолчанию устанавливаются типовые свойства всех нейронов.
Начинается работа этой скриптовой группы с «Using Net Editor Example… as». Затем по мере необходимости к нему подключаются ещё два скрипта.
В начале скрипта «Using Net Editor Example… as» содержится раздел «Константы», определяющий значения наиболее важных параметров создаваемой нейросети с помощью команды const. Затем создаётся список глобальных переменных, уточняются параметры создаваемой нейросети, после чего начинается сборка нейросети..
При необходимости выяснить количество скрытых слоёв в создаваемой нейросети проводится следующий диалог:
// Determine how many normal hidden layers there shall be in the netvoid DetermineHidLayerCount (){int count;if (UserInput («Please enter the number of hidden layers for the net.»,DEFAULT_HID_LAYER_COUNT, count) == IDOK){if (count> gMaxHidLayerCount){MessageBox («Too many hidden layers!»);AbortScript ();}// Success. Adjust the size of the hidden layer array now.
gHidLayers.resize (count);
}else{AbortScript ();}}Создание входных нейронов по данным, содержащимся в mbl-файле
// Create the I/O neurons of the net using a MemBrain lesson filevoid CreateIOFromMbl (){string lessonFileName;if (FileOpenDlg («Select Lesson File», «mbl», «», lessonFileName) == IDOK){// Load the lesson into #1 (delete all other lessons)SetLessonCount (1);LoadLesson (lessonFileName);gInputCount = GetLessonInputCount ();gOutputCount = GetLessonOutputCount ();if (gInputCount> gMaxCountPerLayer){MessageBox («Too many input columns in lesson!»);AbortScript ();}else if (gOutputCount> gMaxCountPerLayer){MessageBox («Too many output columns in lesson!»);AbortScript ();}// Now we tell the editor to actually create the input and output neurons.// The number of hidden layers is required here to leave space for them.Это пример дискуссии с компьютером о способе создания базового компьютера с использованием mbl-файла
// Create net based on lesson or manual input?if (MessageBox («Do you want to create the net based on a MemBrain lesson file?», MB_YESNO) == IDYES){gUseLesson = true;CreateIOFromMbl ();}else{CreateIOFromUserInput ();}
Здесь выводится сообщение с запросом ответа Да или Нет.
При проверке очередного условия может проявиться превышение ожидаемого параметра:
{if (count> gMaxHidLayerCount){MessageBox («Too many hidden layers!»);AbortScript ();}
Тогда выводится сообщение о чрезмерном количестве скрытых файлов.
При удовлетворительном ответе:
// Success. Adjust the size of the hidden layer array now.gHidLayers.resize (count);}Группирование нейросетей в нейроконструкции
(Перевод фрагментов архива «MemBrainExamples». )
До сих пор мы работали с нейропакетом каждый раз преимущественно – только с одной нейросетью. При работе с нейросетевыми конструкциями необходимо работать одновременно с несколькими нейросетями, одновременно находящимися на экране, переключаясь между ними. Такая возможность достигается за счёт группирования нейросетей.
Можно определить отношения разных типов между группами нейронов в сети. Это позволяет определять подсети внутри сети, которые затем могут обучаться отдельно с использованием различных алгоритмов и наборов данных.
Рассмотрим последовательно возникающие при этом проблемы :
– Что такое групповые отношения
– Как групповые отношения создаются и редактируются
– Доступные типы групповых отношений
– Использование групповых отношений для работы с подсетями
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.