Возможности нейронных сетей
Нейронные сети - универсальные аппроксимирующие устройства и могут с любой точностью имитировать любой непрерывный автомат
Класс функций, вычислимый с помощью нейронных сетей, замкнут относительно линейных операций. Действительно, пусть есть нейронные сети S1, S2, ..., Sk, которые вычисляют функции F1, F2, ..., Fk от вектора входных сигналов x. Линейная комбинация a0+a1F1+a2F2+...+akFk вычисляется сумматором (рис. 1.2) с весами a0, a1, a2, ...,ak, на вход которого подаются выходные сигналы сетей S1, S2, ..., Sk. Разница в числе тактов функционирования этих сетей до получения ответа легко компенсируется "линиями задержки", составленными из связей (рис. 1.6) с единичным весом.
Кроме того, класс функций, вычислимый с помощью нейронных сетей, замкнут относительно унарной операции, осуществляемой нелинейным преобразователем сигнала, входящим в состав нейрона (см. рис. 1.3, 1.5): если сеть S вычисляет функцию F, то, подавая выход этой сети на вход нелинейного преобразователя (рис. 1.3), получим на его выходе функцию
Тем самым, по теореме 1 множество функций, вычислимых нейронными сетями с заданной непрерывной нелинейной характеристической функцией, плотно в пространстве непрерывных функций от входных сигналов.
Теперь - об имитации гладких автоматов с помощью нейронных сетей. Если есть возможность с любой точностью приблизить любую непрерывную функцию и нет ограничений на способы соединения устройств, то можно сколь угодно точно имитировать работу любого непрерывного автомата. Покажем это.
Каждый автомат имеет несколько входов ( n ), несколько выходов ( p ) и конечный набор ( s ) параметров состояния. Он вычисляет s+p функций от n+s переменных. Аргументы этих функций - входные сигналы (их n ) и текущие параметры состояния (их s ). Значения функций - выходные сигналы (их p ) и параметры состояния на следующем шаге (их s ). Каждый такой автомат можно представить как систему из s+p более простых автоматов (рис. 1.9). Эти простые автоматы вычисляют по одной функции от n+s переменных. Смена состояний достигается за счет того, что часть значений этих функций на следующем шаге становится аргументами - так соединены автоматы (см. рис. 1.9).
Таким образом, без потери общности можно рассматривать сеть автоматов как набор устройств, каждое из которых вычисляет функцию нескольких переменных f(x1, ..., xn). Этот простой, но фундаментальный факт позволяет использовать предыдущие результаты. Нейронные сети позволяют с любой точностью вычислять произвольную непрерывную функцию f(x1, ..., xn). Следовательно, с их помощью можно сколь угодно точно аппроксимировать функционирование любого непрерывного автомата.
Главный вопрос этой лекции: что могут нейронные сети. Ответ получен: нейронные сети могут все. Остается открытым другой вопрос - как их этому научить?
Работа над лекцией была поддержана Красноярским краевым фондом науки, грант 6F0124.