Психологическая интуиция искусственных нейронных сетей
Страница 36

4.14 Поток сети

Фрагмент сети, состоящий из слоя входных синапсов, сумматора, нейрона и выходного синапса и названный «потоком» представлен в программной модели классом TNetStream.

Помимо обычных для потомка класса TNetPiece полей NextPiece, PriorPiece, ForwOut и BackOut данный класс включает в себя FirstLayer - список синапсов первого слоя, Summator - объект класса TSummator, реализующего тривиальный сумматор, Neuron - объект класса TNeuron, реализующего нелинейный преобразователь - нейрон, SecondLayer - объект класса TSynapse, описывающий выходной синапс потока.

Прямой такт потока, описанный методом ForwardTact, происходит следующим образом:

Перебираются элементы списка FirstLayer, для каждого из которых вызывается его собственный метод ForwardTact, затем происходит «срабатывание» (вызов этого же метода) для объектов Summator, Neuron и SecondLayer. Затем выходной сигнал объекта заносится в поле ForwOut - выходной сигнал всего потока.

Такт обратного функционирования потока, который описан в методе BackwardTact, включает в себя следующие действия:

Последовательный вызов собственного метода BackwardTact для объектов SecondLayer, Neuron и Summator, затем перебор элементов списка FirstLayer и вызов метода BackwardTact для каждого синапса, входящего в него.

Структура связей между элементами потока представлена на рис 10.

4.15 Скомпонованная полутораслойная поточная сеть

Целая сеть представлена классом TNet. Данный класс также является потомком класса TNetPiece - общего элемента сети, что позволяет, используя свойство полиморфизма объектов, достаточно легко компоновать из отдельных фрагментов нейросети более сложной структуры.

Кроме полей, унаследованных от TNetPiece, сеть характеризуется также полями Inputs - список входных элементов, Streams - список потоков сети, SecondLayer - сумматор входного слоя, Answer - выходной элемент сети.

Для описания такта прямого функционирования сети используется, так же как в других элементах сети, метод ForwardTact. Методом выполняются следующие действия:

Перебор списка входных элементов и вызов метода ForwardTact для каждого из них, перебор и прямое функционирование каждого из элементов списка потоков, и затем - для объектов SecondLayer и Answer.

Метод BackwardTact, описывающий обратное функционирование сети, задается следующей последовательностью действий:

Обратное функционирование элементов Answer, SecondLayer, затем перебор и выполнение методов BackwardTact для элементов списков Streams и Inputs.

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

Схема, приведенная на рис. 11, хорошо иллюстрирует преимущества применения объектно-ориентированного подхода к моделированию нейронных сетей.

Свойство полиморфизма объектов позволяет составлять список предыдущих элементов, например, сумматора, как из простых синапсов, так и из более сложных структур - потоков. Для этого требуется лишь аккуратное выполнение иерархии объектов, описывающих элементы сети.

В перспективе, с появлением параллельных трансляторов, объектно-ориентированный подход за счет свойства инкапсуляции объектов позволит легко перейти к моделированию нейросетей в параллельных системах.

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46