Описание слоев

Ниже приведено описание полей структуры, которая используется для описания
каждого слоя нейронной сети net.layers{i}.

  net Тип Размер, состав Значение по умолчанию Имя поля
¾ .layers{i} Cell array numLayers´1 {0´1} Описатель i -го слоя сети
  ¾.dimensions Double array 1´numdim [ ] Распределение нейронов по размерностям слоя
  ¾.distanceFcn Char boxdist | dist| linkdist|mandist ‘ ‘ Функции вычисления рас­стояния между нейронами
  ¾.distances Double array(толь­ко для чтения)   [ ] Расстояния между нейронами
  ¾.initFcn Char initnw | initwb ‘ ‘ Функции инициализации
  ¾.netInputFcn Char netprod | netsum ‘ ‘ Функции накопления
  ¾.positions Array (только для чтения)   [ ] Положения нейронов
  ¾.size Integer >= 0 1´1   Количество нейронов
  ¾.topologyFcn Char gridtop | hextop | randtop ‘ ‘ Функции топологии
  ¾.transferFcn Char compet | hardlim | hardlims | logsig | poslin | purelin | radbas | satlin | satlins | softmax | tansig | tribas ‘ ‘ Функции активации
  ¾.userdata Struct 1´1 1´1 Информация пользователя
    ¾.note Char 1´var 'Put your cus­tom input information here.' Текст
               

layers массив ячеек

Описатель слоев нейронной сети. Массив ячеек размера N l ´1, где N l – число слоев сети, равное numLayers, состоящий из ячеек layers{i}, каждая из которых является массивом записей для описания i -го слоя сети.

dimensions вектор распределения по размерностям

Распределение нейронов по размерностям слоя. Это свойство позволяет описывать
многомерные слои нейронов реальных геометрических размерностей: 1-, 2-, 3-мерные. Многомерный слой размерности numdim может быть задан вектор-строкой, элементы которой указывают число нейронов по каждой размерности, тогда их произведение будет определять общее количество нейронов в многомерном слое layers{i}.size. Знание этого свойства необходимо для определения положений нейронов layers{i}.positions, если известна функция топологии слоя layers{i}.topologyFcn. При изменении значения этого свойства будут автоматически изменяться параметр layers{i}.size, а также положения
нейронов layers{i}.positions и расстояния между ними layers{i}.distances.

distanceFcn boxdist | dist | linkdist | mandist

Функция оценки расстояния между нейронами. Свойство layers{i}.distanceFcn задает функцию, которая используется для вычисления расстояния между нейронами в слое i. При замене функции будут автоматически пересчитаны значения расстояний между нейронами слоя layers{i}.distances. Пользователь может расширить список применяемых функций оценки расстояния.

distances значение расстояний (только для чтения)

Расстояния между нейронами. Cвойство layers{i}.distances определяет расстояния между нейронами в i -м слое. Их значения зависят от используемой функции оценки расстояния layers{i}.distanceFcn.

initFcn initnw | initwb

Функция инициализации слоя. Это свойство определяет, какая функция инициализации layers{i}.initFcn применяется для слоя i. Если свойство net.initFcn имеет значение initlay, то будет применяться указанная функция инициализации слоя при вызове функции net =
= init(net). Пользователь может расширить список применяемых функций инициализации.

netInputFcn netprod | netsum

Функция накопления. Это свойство определяет, какая функция накопления layers{i}.netInputFcn применяется для слоя i. Пользователь может расширить список применяемых функций накопления.

positions положения нейронов (только для чтения)

Размещение нейронов в слое. Это свойство определяет положения нейронов layers{i}.positions в i -м слое. Их значения зависят от используемой функции топологии многомерного слоя layers{i}.topologyFcn и его размера layers{i}.dimensions. Для построения графика расположения нейронов в многомерном слое рекомендуется использовать М-функцию plotsom.

Пример:

Если первый двумерный слой нейронной сети net имеет вектор распределения по размер­нос­тям net.layers{1}.dimensions, равный [4 5], а функция топологии слоя net.layers{1}.topologyFcn – hextop, то нейроны этого слоя будут расположены, как показано на рис. 10.1.

plotsom(net.layers{1}.positions)

Рис. 10.1

size количество элементов

Количество нейронов в слое. Это свойство определяет количество нейронов в слое layers{i}.size и может принимать только неотрицательные значения (по умолчанию 0). При изменении значения этого свойства будут автоматически изменяться параметры inputWeights{i,:}.size, layerWeights{i,:}.size, biases{i}.size, а также размеры матриц весов IW{i,:}, LW{i,:}, LW{:, i} и смещений b{i}. Кроме того, изменяются параметры outputs{i}.size и targets{i}.size, если для нейронной сети заданы выходы и цели. Наконец, при изменении этого свойства изменяется параметр размера нейронного слоя layers{i}.dimensions, которому присваивается значение свойства layers{i}.size. Это приводит к тому, что слой i преобразуется в одномерный; если необходимо сохранить многомерную структуру слоя, то следует изменить значения элементов вектора layers{i}.dimensions.

topologyFcn gridtop | hextop | randtop

Функция задания топологии слоя. Это свойство определяет функцию, которая используется для вычисления положений нейронов layers{i}.positions в слое i. При замене функции эти положения будут пересчитаны автоматически. Пользователь может расширить список применяемых функций задания топологии.

Пример:

Если первый двумерный слой нейронной сети net имеет вектор распределения по размерностям net.layers{1}.dimensions, равный [8 10], а функция топологии слоя net.layers{1}.topologyFcn – randtop, то расположение нейронов этого слоя будет таким, как показано на рис. 10.2

plotsom(net.layers{1}.positions)

Рис. 10.2

transferFcn compet | hardlim | hardlims | logsig | poslin | purelin | radbas | satlin | satlins | softmax | tansig | tribas

Функция активации слоя. Это свойство определяет функцию активации layers{i}.transferFcn, которая используется для задания нейрона в слое i. Пользователь может расширить список применяемых функций активации.

userdata массив записей

Поле для записи информации пользователя. Это свойство обеспечивает место для записи информации, относящейся к слою i нейронной сети. Предусмотрено только одно поле inputs{i}.userdata.note для записи текста. По умолчанию оно содержит строку 'Put your custom input information here.' – "Информацию разместите здесь".


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: