2.7 Применениетиповых нейросетей

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

снабженных механизмами приспособления под задачу пользователя. Еіце более справедливо желание построить набор аппаратных средств — нейросетей (нейрокомпьютеров, НК), сопряженных с компьютером и, по выбору пользователя, участвующих в решении сложных задач. Такие аппаратно реализованные нейросети, как приставки или внешние устройства компьютера, например, определяют специальное направление использования ПЛИС - интегральных схем с программируемой логикой.

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

Однослойная нейросеть, составленная по принципу «каждый с каждым», представлена на рис. 2.10. Пусть используется предложенная выше передаточная функция

Значенияп^едстоит подобрать, а значенияполй^кимрав- ными нулю.

Закрепим 10 нейронов входного слоя за исходными данными, 5 выходов — за решениями. Этим мы выделим интересующую нас подсеть, которой соответствует матрица следования на рис. 2.11. Здесь отображен ее окончательный вид, так как сначала все веса связей принимаются равными нулю.

Для того чтобы сформировать решение R\ на нейроне Вых\, надо значительно увеличить веса связей этого нейрона с нейронами В1, А1, Cl, С2, СЗ, С4, С5, т.е. построить статический путь возбуждения [В1, А1, Cl, С2, СЗ, С4, С5] -Выхі, и вдоль него по некоторой дисциплине увеличить веса связей.

В данном случае результат очевиден, поэтому обратим внимание на общий подход.

Установим веса связей между нейронами В1, А1, Cl, С2, СЗ, С4, С5, с одной стороны, и нейроном Выхі — с другой, равными единице, оставив нулевыми веса связей этого нейрона с другими нейронами входного слоя. Таким образом, полностью исключается влияние других нейронов входного слоя на данный выходной нейрон. Конкретная задача может потребовать корректировки, учета взаимного влияния всех входных ситуаций в результате тщательного экспериментального исследования задачи.

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

Поступив также со всеми выделенными нейронами выходного слоя, получим окончательный вид матрицы следования (см. рис. 2.11). Построенная нейросеть полностью соответствует специальной сети «под задачу», представленной на рис. 2.7.

Так какую же сеть предложить дяде Рамзаю? Ведь надо и по- доходчивее, и попрактичнее, но и так, чтобы не казалось уж слишком просто.

Нейросеть произвольной структуры. Предположим, мыраспо- лагаем некоторым банком «красиво» изображенных графических

схем, которые можно положить в основу структуры нейросети. Понравившуюся структуру интерпретируем как нейросеть, дополнив ее передаточной функцией и обучив решению задачи, поставленной дядей Рамзаем.

Пусть выбранная нейросеть имеет 12 входов (более чем достаточно), 5 выходов и реализует ту же передаточную функцию с начальными значениями весов аэ^) и порога h = 0.

Однако сеть обладает специфической топологией, затрудняющей ее обучение. Сеть многослойная, что исключает связи «через слой», присутствующие, например, в сети на рис. 2.6, как результат построения нейросети «под задачу».

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

Суть метода - в трассировке соединений, в назначении высоких весов некоторых связей, превращающих нейросеть в законченное функциональное устройство. При такой трассировке обучение производится на эталонах в полном смысле этого слова на вполне определенных (достоверных) ситуациях, например на отсутствии события (0) или на его наступлении (1). После обучения сетьдолжна выдавать наиболее близкое решение при недостовер-

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

Итак, для успешной, наглядной и легко рассчитываемой трассировки решим вопрос кардинально: какие веса полагать равными нулю, а какие — единице? Все прочие возможности, например min ©^0,1, введение порога h = 0,5 и т.д., будут способствовать более плавной работе сети, непрерывности перехода из состояния в состояние.

Применив принципы комбинаторики и эвристики, выполним трассировку нейросети (рис. 2.12). Нарисунке наглядно показано, какая нейросеть была предоставлена, насколько она «неповоротлива», скажем, по сравнению с однослойной «каждый с каждым».

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

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

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

3.   Термы, которые пока не используются при конструировании из-за их взаимной удаленности, мы запоминали без изменения на анализируемом слое, пытаясь «подтянуть» их в направлении возможного дальнейшего объединения.

4.   Мы старались не «тянуть» термы «поперек» сети. В противном случае возникла бы проблема — как избежать пересечений и искажения уже сформированных термов. Все это заставило нас долго не закреплять нейроны выходного слоя за решениями, что в конце концов привело к нарушению естественного порядка следования решений.

Для автоматизации трассировки необходимо матричное представление, только и доступное компьютеру.

Матрица следования, отражающая трассировку нейросети, получается на основе рис. 2.12, если отметить элементы, соответствующие «тонким» линиям, нулевыми весами, а элементы, соответствующие «жирным» линиям, — весами, равными единице.

На рис. 2.13 отражен динамический путь возбуждения, приводящий к решению R1. Он строится по алгоритму, изложенному в подразд. 2.5. В данном случае динамические пути возбуждения совпадают со статическими. В общем случае из статического пути возбуждения необходимо исключить нейроны, которым соответствуют нулевые строки матрицы следования.

Аналогично получают динамические пути возбуждения, приводящие к другим решениям.

Поставим теперь задачу дальнейших исследований: как построить все необходимые пути возбуждения так, чтобы они, возможно, пересекались, но только для формирования общих термов? А способна ли выбранная нами «готовая» нейросеть вообще справиться с поставленной задачей или предпочтительнее принцип «нейросеть под задачу»?