Материалы

Объектно-ориентированный подход к построению нейросетевых эмуляторов


 

При создании объектно-ориентированного дизайна нейросетевого эмулятора, был учтен опыт, накопленный сообществом объектно-ориентированного программирования, в течение многих лет. Возникает вопрос, каким образом нам удалось собрать знания, накопленные современными разработчиками ПО. Ответ на этот вопрос кроется в словосочетании «шаблоны (паттерны) проектирования».

Рассмотрим, как выглядит объектно-ориентированный дизайн нейросетевого эмулятора с использованием паттернов проектирования. В начале рассмотрим диаграммы классов, описывающие структуру нейронной сети, с точки зрения объектно-ориентированного подхода. Затем опишем алгоритм «запуска» сети.

Будем рассматривать нейронную сеть с точки зрения набора типовых элементов. Традиционный состав сети включает в себя следующие типовые элементы: нейрон, синапс, сумматор, вход, выход (рис 1). Термин «типовой элемент» будет использоваться при описании диаграмм классов, а так же в схемах, описывающих структуру и функционирование нейронной сети.

Рисунок 1 – Типовые элементы нейронной сети

На рисунке 2 представлена структура слоя нейронной сети в терминах типовых элементов.

Рисунок 2 – Структура слоя нейронной сети

При проектировании объектно-ориентированной структуры нейронной сети необходимо учитывать количество выходов у каждого из элементов, а также на входы каких элементов поступает выходное значение. Каждый объект типового элемента должен знать, куда передать своё выходное значение. Как видно на рисунке 2, выходное значение типового элемента «w» поступает на вход нейрона (типовой элемент «F(x)»), который в свою очередь вычисляет значение функции активации для заданного входа.

Теперь рассмотрим диаграмму классов типовых элементов нейронной сети (рисунок 3).

Рисунок 3 – Диаграмма классов типовых элементов нейронной сети

Каждого из участников будем рассматривать по следующей схеме:

§        имя (название) – слово или выражение, описывающее основное назначение класса.

§        назначение – короткое описание назначения класса.

§        основные поля и методы – описание основных полей и методов.

Участники

Введем некоторые понятия. Рассмотрим рисунок 2, на нем видно, что типовой элемент «синапс», передает свой выход нейрону, который вычисляет значение функции активации для переданного значения. Все эти действия будут происходить при определенном воздействии на синапс. Таким образом, мы будем говорить, что синапс «посещает» нейрон, который в свою очередь «активируется», реагируя на воздействие.

1 2 3 4 5 6
Общее время работы: 10.966062545776 мс
Использование памяти: 656 КБ