Назад Наверх
xmlins

Вводная часть

Искусственная нейронная сеть (ИНС) описанная с помощью INSML 0.4 состоит из двух файлов с одинаковым названием и расширениями .insml и .insmldump. Формат файла .insmldump не оговаривается и может быть уникальным для конкретной реализации программ обрабатывающих ИНС, в нем представлена информация требующая записи в процессе обучения и/или процессе вычисления (прямого прохода) нейронной сетью.

Файл с расширением .insml содержит описание архитектуры ИНС и значений синапсов, полностью реализуя разработанную математическую модель. В этом файле допустимы только теги INSML 0.4.

Сущности

Нейрон

Сущность нейрон реализуется тегом нейрон.
Полное описание тега включающее все свойства приведено ниже.

<нейрон имя="экспоненциальный" тип="первый" ид=22 описание="Нейрон входного слоя" состояние=1 координаты=10;20;30 цвет=008800 константа=5 вх_файл="./1.txt" вых_файл="./1.txt" аккумулятор="*" активация="1/(1+pow(e,-1*accum));0,5" />

Свойства нейрона имеют следующие значения:

<нейрон /> - тег контейнер для сущности нейрона.
имя - имя нейрона.
тип - тип нейрона для описания групп нейронов в пределах ИНС.
ид - уникальный числовой идентификатор объекта ИНС (обязательный тег).
описание - подробное описание.
состояние - состояние нейрона (включен/выключен), нейрон считается включенным если не указано иное.
координаты - координаты расположения центра нейрона в геометрическом пространстве в формате 10.1;20 для двухмерного пространства, 10;20.3;30 для трехмерного. Координаты записываются без пробелов.
цвет - цвет нейрона при отображении. Задается в цветовой моделе RGB, например белый ffffff.
константа - константное значение, нейрон генерирует одно и тоже значение.
вх_файл или вых_файл - имя файла для чтения или записи или полный путь к нему. Эти поля используются для связи ИНС с файлом как для чтения, так и для записи информации. В дальнейшем планируется создание гибкой функциональности по работе с данными в файлах на основе специализированного нейрона.
аккумулятор - персональный аккумулятор с математической зависимостью. По-умолчанию используется сумматор. Теоретически здесь может использоваться перемножение сигналов или другая функция объединения входных сигналов.
активация - функция активации нейрона, после точки с запятой указывается порог срабатывания функции активации.
Например:
активация="1/(1+pow(e,-1*accum));0,5" - для сигмоидальной функции активации.
активация="accum>0;1" - пороговая функция (функция Хэвисайда) для выходных значений 0 и 1.
активация="accum>0;-1;1" - пороговая функция (функция Хэвисайда) для выходных значений -1 и 1.
активация="accum>=0;1_0,5>accum>-0,5;accum+0,5_accum<=-0,5;0" - линейно-кусочная функция.
Для описания функции активации предлагается использовать правила записи выражений языка программирования Си, как одного из самых популярных языков программирования. В случае отсутствия функции активации, нейрон работает как сумматор, если не указано иное. При описании нейрона используются следующие обозначения:
  - input - входное значение,
  - accum - имя переменной для аккумулированного значения,
  - output - выходное значение нейрона.

Синтаксис тега <нейрон>.

Наличие тегов <константа> исключает интерпретацию тегов <аккумулятор> и <активация>. Наличие тегов <вх_файл> или <вых_файл> исключает интерпретацию тегов <константа>, <аккумулятор> и <активация>

Примеры:

Минимально допустимое описание нейрона:
<нейрон ид=22/>.

Минимально допустимое описание отключенного нейрона:
<нейрон состояние=0 ид=22/>.

Синапс

Сущность синапс реализуется тегом синапс.
Полное описание тега включающее все свойства приведено ниже.

<синапс имя="нужный" тип="первый" ид=22 описание="Синапс реализует априорную зависимость" состояние=1 приемник=22 передатчик=23 вес=0,5 функция="*" координаты=10;20.2;30_20;40;50.7 задержка=2 цвет=00aaaa/>

Свойства синапса имеют следующие значения.

<синапс /> - контейнер для хранения информации о синапсе.
имя - имя синапса.
ид - уникальный числовой идентификатор синапса (обязательный тег).
описание - подробное описание синапса.
состояние - состояние синапса (включен/выключен), синапс считается включенным, если не указано иное.
приемник - приемник информации. Допустимо указание идентификатора нейрон. Допустимо не указывать идентификатор. Обязательный тег. Для указания объекта другой ИНС идентификаторы указываются через точку, идентификатор сети.идентификатор нейрона.
передатчик - источник информации. Допустимо указание идентификатора нейрон. Допустимо не указывать идентификатор. Обязательный тег. Для указания объекта другой ИНС идентификаторы указываются через точку, идентификатор сеть.идентификатор нейрона.
функция - функция синапса. Рекомендуется использовать арифметические действия.
цвет - цвет синапса при отображении. Позволяет визуализировать отличия в выполняемой синапсом арифметической операции. Задается в цветовой моделе RGB, например белый ffffff.
координаты - координаты точки, через которую проходит синапс в формате 10;20 для двухмерного пространства, 10;20;30 для трехмерного. Количество точек теоретически не ограничено. Между координатами точек ставится символ "_" без пробелов, например: 10;20.2;30_20;40;50.7
задержка - количество циклов рекурсии вычислений, т.е. 2 срабатывает в третьем цикле.
вес - значение веса синапса.

Примеры:

Минимально допустимый синапс.
<синапс ид=20 приемник=22 передатчик=23 вес=0,5/>

Рекурсивный синапс вокруг нейрона с задержка 0, т.е. z-1, а задержка 2 равна z-3
<синапс ид=27 приемник=22 передатчик=22 вес=0,5 задержка=2/>

ИНС

Сущность ИНС реализуется тегом сеть.
Полное описание тега включающее все свойства приведено ниже.

<сеть ид=220 автор="Человек" цвет_н=008800 цвет_с=00aaaa состояние=1 дата=2341341232 имя="первая" описание="Моя первая сеть" координаты=10;20;30 активация="1/(1+pow(e,-1*accum));0,5" аккумулятор="-" функция="*"><сеть/>

<сеть></сеть> - контейнер для описания ИНС или подсети ИНС.
ид - уникальный числовой идентификатор (обязательный тег).
автор - автор ИНС.
координаты - координаты расположения левого верхнего угла ИНС на холсте, на котором производится её отрисовка. Координаты записываются в геометрическом пространстве в формате 10.1;20 для двухмерного пространства, 10;20.3;30 для трехмерного. Координаты записываются без пробелов.

Пояснение:
Координаты нейронов и синапсов указываются относительно начала координат ИНС. Если отображается одна ИНС, то начало координат холста и ИНС совпадают. Если отображается несколько ИНС на одном холсте, необходимо выполнять отрисовку нейронов и синапсов с учетом координат ИНС.

цвет - цвет фона сети при отображении. Задается в цветовой моделе RGB, например белый ffffff.
цвет_н - цвет нейронов по умолчанию. Задается в цветовой моделе RGB, например белый ffffff.
цвет_с - цвет синапсов по умолчанию. Задается в цветовой моделе RGB, например белый ffffff.
состояние - состояние ИНС (включена/выключена), ИНС считается включенной, если не указано другое.
дата - дата и время создания ИНС в формате UNIX время указанное в секундах по Гринвичу.
имя - название ИНС.
описание - подробное описание.
активация - при указании действует для всех нейронов по-умолчанию.
аккумулятор - при указании действует для всех нейронов по умолчанию.
функция - при указании действует для всех синапсов.

Примеры:

Минимально допустимая ИНС.
<сеть ид=220><сеть/>

ИНС с нейроном.
<сеть ид=0><нейрон ид=1/><сеть/>

Вспомогательные сущности

В современных ИНС используется один или несколько типов нейронов. Для избежания дублирования описания, для групп схожих нейронов, вводится вспомогательная сущность - тип нейронов, которая описывается тегом тип.
Полное описание тега включающее все свойства приведено ниже.

<тип имя="основной" ид=202 описание="Нейроны входного слоя" состояние=1 цвет=008800 константа=5 аккумулятор="*" активация="1/(1+pow(e,-1*accum));0,5"/>

<тип /> - служит контейнером для описания типа нейрона.
имя - имя типа нейронов.
ид - идентификатор типа нейронов.
описание - описание типа нейронов.
состояние - состояние типа нейронов.
цвет - цвет типа нейронов при отображении.
константа - константное значение генерируемое нейронами данного типа.
аккумулятор - способ объединения сигналов данного типа нейронов.
активация - функция активации для всех нейронов данного типа.

Примеры:

Минимально допустимый тип.

<тип ид=202/>

ИНС константных нейронов и нейрон, который его использует.

<тип ид=204 константа=5/><нейрон ид=100 тип=204/>

Правила приоритета

С целью упрощения проектирования ИНС, принципом, на основе которого строятся правила приоритета - проектирование ИНС от общего к частному. Вводятся следующие правила приоритетов повторяющихся тегов:
1. наибольшим приоритетом обладают теги описывающие синапсы и нейроны;
2. следующим уровнем приоритетов являются объявленные в ИНС типы нейронов;
3. наименьшим приоритетом обладают теги ИНС.

Лицензия

Лицензия.

License.

Предыдущие версии

Версия 0.3 2016 год.

Версия 0.2 весна 2015 года.

Версия 0.1 2014 год.

2008 © Абашин В.Г.