Александр Кириченко - Нейросетевое программирование. Инструментарий нейрокомпьютинга
- Название:Нейросетевое программирование. Инструментарий нейрокомпьютинга
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:9785005163271
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Кириченко - Нейросетевое программирование. Инструментарий нейрокомпьютинга краткое содержание
Нейросетевое программирование. Инструментарий нейрокомпьютинга - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Допустим, определяем это количество цифрой 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 net
void 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 file
void 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 Кошелек, бонусными картами или другим удобным Вам способом.
Интервал:
Закладка: