Смекни!
smekni.com

Технология извлечения знаний из нейронных сетей: апробация, проектирование ПО, использование в психолингвистике (стр. 5 из 19)

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

Анализ существующих методов обработки информации показал, что этим требованиям хорошо удовлетворяют нейроинформационные технологии, основанные на искусственных нейронных сетях [16-19]. В основе их функционирования лежат алгоритмы, моделирующие распространение сигналов по нейронам и синапсам нервной системы. Существует достаточно большой набор архитектур и метаалгоритмов функционирования нейронных сетей, при этом задачи, решаемые нейроинформатикой, в большинстве случаев требуют подгонки архитектуры и алгоритмов обучения нейросетей под определенный класс задач или даже конкретную задачу. Поэтому разработка теоретических и методологических основ и универсальной технологии создания ЭС, включающей оптимизацию архитектур и метаалгоритмов функционирования нейросетей при работе с информацией, и извлечение знаний из нейросетей является актуальной задачей.


Глава 2. Нейронные сети

2.1. Коннекционизм

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

Научно-техническое направление, определяемое описанным представлением о нейронных сетях, называется коннекционизмом (по-ангийски connection – связь). С коннекционизмом тесно связан следующий блок идей:

1) однородность системы (элементы одинаковы и чрезвычайно просты, все определяется структурой связей);

2) надежные системы из ненадежных элементов и "аналоговый ренессанс" – использование простых аналоговых элементов;

3) "голографические" системы – при разрушении случайно выбранной части система сохраняет свои полезные свойства.

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

Обучение обычно строится так: существует задачник – набор примеров с заданными ответами. Эти примеры предъявляются системе. Нейроны получают по входным связям сигналы – "условия примера", преобразуют их, несколько раз обмениваются преобразованными сигналами и, наконец, выдают ответ – также набор сигналов. Отклонение от правильного ответа штрафуется. Обучение состоит в минимизации штрафа как (неявной) функции связей.

Неявное обучение приводит к тому, что структура связей становится "непонятной" – не существует иного способа ее прочитать, кроме как запустить функционирование сети. Становится сложно ответить на вопрос: "Как нейронная сеть получает результат?" – то есть построить понятную человеку логическую конструкцию, воспроизводящую действия сети.

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

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

2.2. Элементы нейронных сетей

Для описания алгоритмов и устройств в нейроинформатике выработана специальная "схемотехника", в которой элементарные устройства – сумматоры, синапсы, нейроны и т.п. объединяются в сети, предназначенные для решения задач.

Адаптивный сумматор вычисляет скалярное произведение вектора входного сигнала x на вектор параметров a. На схемах он обозначается так, как показано на рис. 1. Адаптивным он называется из-за наличия вектора настраиваемых параметров a. Для многих задач полезно иметь линейную неоднородную функцию выходных сигналов. Ее вычисление также можно представить с помощью адаптивного сумматора, имеющего n+1 вход и получающего на 0-й вход постоянный единичный сигнал (рис. 2).

Рис. 2. Неоднородный адаптивный сумматор
Рис. 1. Адаптивный сумматор.
Рис. 5. Формальный нейрон
Рис. 3. Нелинейный преобразова-тель сигнала.
Рис. 4. Точка ветвления

Нелинейный преобразователь сигнала изображен на рис. 3. Он получает скалярный входной сигнал x и переводит его в j(x).

Точка ветвления служит для рассылки одного сигнала по нескольким адресам (рис. 4). Она получает скалярный входной сигнал x и передает его всем своим выходам.

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

Линейная связь ‑ синапс ‑ отдельно от сумматоров не встречается, однако для некоторых рассуждений бывает удобно выделить этот элемент (рис. 6). Он умножает входной сигнал x на “вес синапса” a.

Рис. 6. Синапс.

Итак, дано описание основных элементов, из которых составляются нейронные сети.

2.3. Основные архитектуры нейронных сетей

Как можно составлять эти сети? Строго говоря, как угодно, лишь бы входы получали какие-нибудь сигналы. Используются несколько стандартных архитектур, из которых путем вырезания лишнего или (реже) добавления строятся большинство используемых сетей.

Здесь и далее рассматриваются только нейронные сети, синхронно функционирующие в дискретные моменты времени: все нейроны срабатывают “разом”.

В семействе нейронных сетей можно выделить две базовых архитектуры – слоистые и полносвязные сети.

Рис. 7. Слоистая сеть

Слоистые сети: нейроны расположены в несколько слоев (рис. 7). Нейроны первого слоя получают входные сигналы, преобразуют их и через точки ветвления передают нейронам второго слоя. Далее срабатывает второй слой и т.д. до k-го слоя, который выдает выходные сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал i-го слоя подается на вход всех нейронов i+1-го. Число нейронов в каждом слое может быть любым и никак заранее не связано с количеством нейронов в других слоях. Стандартный способ подачи входных сигналов: все нейроны первого слоя получают каждый входной сигнал. Особое распространение получили трехслойные сети, в которых каждый слой имеет свое наименование: первый – входной, второй – скрытый, третий – выходной.

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

Элементы слоистых и полносвязных сетей могут выбираться по-разному. Существует, впрочем, стандартный выбор – нейрон с адаптивным неоднородным линейным сумматором на входе (рис. 5).

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

Функция активации нейронов (характеристическая функция) j – нелинейный преобразователь, преобразующий выходной сигнал сумматора (см. рис. 5) – может быть одной и той же для всех нейронов сети. В этом случае сеть называют однородной (гомогенной). Если же j зависит еще от одного или нескольких параметров, значения которых меняются от нейрона к нейрону, то сеть называют неоднородной (гетерогенной).

Если полносвязная сеть функционирует до получения ответа заданное число тактов k, то ее можно представить как частный случай k-слойной сети, все слои которой одинаковы и каждый из них соответствует такту функционирования полносвязной сети.

2.4. Обучение нейронных сетей как минимизация функции ошибки

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