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

,

где  - аппроксимированное значение функции, выдаваемое сетью,  - значение аппроксимируемой функции в данном примере.

4.11 Синапс сети


Для описания синапсов сети используются объекты класса TNetSynapse. Как наследник класса TNetPiece он наследует все его поля и методы. Помимо этого в список полей включены Alpha - параметр, представляющий собой вес синапса, и MuAlpha - сигнал, двойственный весу синапса.

На такте прямого функционирования метод ForwardTact снимает выходной сигнал предыдущего элемента, умножает его на вес синапса и передает на выходной сигнал данного объекта (поле ForwOut).

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

,

где  - двойственный сигнал, передаваемый синапсом, W - функция преобразования в синапсе,  - сигнал, поступающий в синапс от предыдущего элемента на такте прямого функционирования,  - входной двойственный сигнал, поступающий в синапс от следующего элемента на такте обратного функционирования, - вес синапса.

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

,

где  - сигнал, двойственный .

Для значений ,  в классе TNetSynapse предусмотрены поля Alpha и MuAlpha.


4.12 Тривиальный сумматор

 

Программной моделью тривиального сумматора является класс TSummator.

Помимо полей, унаследованных от класса - предка TNetPiece, TSummator имеет в своей структуре PriorPieces, которое, в отличии от стандартного поля PriorPiece является не указателем на предыдущий элемент, а списком указателей на набор таких элементов.

Метод ForwardTact осуществляет суммирование выходных сигналов элементов из списка PriorPieces и помещает полученный результат в поле ForwOut.

На такте обратного функционирования происходит передача двойственного сигнала следующего элемента на двойственный сигнал сумматора BackOut.


4.13 Нейрон

 

В данной работе под термином «нейрон» подразумевается нелинейный преобразователь вида

,

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

Нейрон описывается в программной модели классом TNeuron, выходной сигнал на такте прямого функционирования заносится в поле ForwOut.

Обучаемыми в нейроне являются оба параметра -  и , поэтому в классе TNeuron помимо полей Alpha и  AlphaS, в которых хранятся значения соответствующих параметров, предусмотрены MuAlpha и MuAlphaS, в которых помещаются значения двойственных им сигналов.

Помимо этого в поле BackOut заносится сигнал, двойственный входному. Кроме того, объект класса TNeuron характеризуется еще и полем FunctionType, представляющим собой номер используемой функции преобразователя в списке функций, используемых при оптимизации.

Вычисление двойственных сигналов в нейронах производится в общем случае по формулам:

,

где  - параметр, для которого вычисляется двойственный сигнал,  - сам двойственный сигнал.

Список выражений для применяемого в данной работе набора стандартных функций с их производными по основным параметрам приведен в таблице 1.

Таблица 1

Набор функций нелинейного преобразователя


Ф-ция


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, хорошо иллюстрирует преимущества применения объектно-ориентированного подхода к моделированию нейронных сетей.

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

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

Выводы по главе 4.


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

                   Использование в программе алгоритма попоточного исчерпания ошибки позволяет ей создавать нейронные сети неизбыточной структуры.

                   Дополнение алгоритма попоточного исчерпания ошибки проверкой на сравнение константы Липшица нейронной сети с выборочной константой Липшица дает возможность использовать в работе пользовательского программного обеспечения более строгие требования к требуемому для восстановления функции по данной выборке объему нейронной сети.

                   Применение принципов объектно-ориентированного программирования при создании программного имитатора полутораслойной нейронной сети позволило создать программу с прозрачной, легко расширяемой и сопровождаемой структурой.

ВЫВОДЫ


1.                 Показано, что для решения классической задачи компьютерной психодиагностики с вероятностью правильного ответа около 95% может быть применена искусственная нейронная сеть из 2 нейронов с параметром преобразователя равным 0,4. При этом такая экспертная система способна перенимать опыт специалиста непосредственно, без участия математика или программиста.

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.