Нейросетевое программирование. Инструментарий нейрокомпьютинга. Александр Кириченко
Чтение книги онлайн.

Читать онлайн книгу Нейросетевое программирование. Инструментарий нейрокомпьютинга - Александр Кириченко страница 12

СКАЧАТЬ устанавливаются типовые свойства всех нейронов.

      Начинается работа этой скриптовой группы с «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». )

      До сих пор мы работали с нейропакетом каждый раз преимущественно – только с одной нейросетью. При работе с нейросетевыми конструкциями необходимо работать одновременно с несколькими нейросетями, одновременно находящимися на экране, переключаясь между ними. Такая возможность достигается за счёт группирования нейросетей.

      Можно определить отношения разных типов между группами нейронов в сети. Это позволяет определять подсети внутри сети, которые затем могут обучаться отдельно СКАЧАТЬ