Архитектура нейронной сети
Основой работы самообучающихся нейропрограмм является нейронная сеть, представляющая собой совокупность нейронов - простых элементов, связанных между собой определенным образом. Нейроны и межнейронные связи задаются программно на обычном компьютере или могут иметь "материальную" основу - особую микросхему (нейрочип), которые применяются в специально созданных нейрокомпьютерах. Структура взаимосвязей между нейронами в нейрокомпьютере или нейропрограмме аналогична таковой в биологических объектах. Искусственный нейрон имеет коммуникации с другими нейронами через синапсы, передающие сигналы от других нейронов к данному (дендриты) или от данного нейрона к другим (аксон). Кроме того, нейрон может быть связан сам с собой. Несколько нейронов, связанных между собой определенным образом, образуют нейронную сеть.
Нейросеть, также как и биологический аналог, должна иметь каналы для связи с внешним миром. Одни каналы обеспечивают поступление информации из внешнего мира на нейросеть, другие выводят информацию из нейросети во внешний мир. Поэтому одни нейроны сети рассматривается как входные, другие же - как выходные. Часть нейронов может не сообщаться с внешним миром, а взаимодействовать с входными, выходными и такими же нейронами ("скрытые" нейроны).
Очевидно, что существует огромное количество способов соединения нейронов, растущее с увеличением числа нейронов в сети. Наиболее употребительной является слоистая архитектура, в которой нейроны располагаются "слоями". В наиболее общем случае аксоны каждого нейрона одного слоя направлены к нейронам следующего слоя. Таким образом, нейроны первого слоя являются входными (принимающими информацию из внешнего мира), нейроны последнего слоя - выходными (выдающими информацию во внешний мир). Схема трехслойной сети изображена на рисунке 5.1.
Рис. 5.1. Трехслойная сеть с 6 нейронами
Другой вид архитектуры - полносвязная, когда каждый нейрон соединен с каждым, в том числе сам с собой. Пример простейшей нейросети из 3 нейронов показан на рисунке 5.2.
Для удобства изображения из каждого нейрона выходит не один, а несколько аксонов, направленных на другие нейроны или во внешний мир, что аналогично присоединенным к одному аксону через синапсы нескольким дендритам.
Слоистые сети являются частными случаями полносвязных.
Для построения экспертных систем мы выбрали именно полносвязные нейросети, исходя из следующих соображений. Во-первых, при одинаковом числе нейронов полносвязные сети имеют большее количество межнейронных связей, что увеличивает информационную емкость сети. Во-вторых, полносвязная архитектура является намного более универсальной, что не требует экспериментов с вариациями схемы соединений для каждой задачи. В-третьих, в случае эмуляции сети на обычной ЭВМ полносвязные сети обладают серьезными преимуществами, прежде всего в скорости функционирования и простоте программной реализации без ущерба качеству обучаемости.
Рис. 5.2. Схема простейшей нейронной сети из 3 нейронов. Сеть имеет 13 синапсов, 4 из которых служат для связи с внешним миром, а остальные соединяют нейроны между собой