авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 || 3 | 4 |   ...   | 10 |

«Федеральное агентство по образованию САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ А.Н.ВАСИЛЬЕВ, Д.А.ТАРХОВ НЕЙРОСЕТЕВОЕ ...»

-- [ Страница 2 ] --

Однако применение этих критериев не снимает проблемы трудоёмкости перебора. Авторами МГУА предлагается так называемый многорядный алгоритм, особенно близкий к нейросетевому подходу. В случае линейной m(m + 1) модель вида yn (1) = wi (1) xin + w j (1) x jn или регрессии рассматриваем yn (1) = wi (1) xin + w0 (1). Коэффициенты подбираются минимизацией ошибки Е.

Из этих моделей по какому-либо из вышеприведённых критериев выбираем m yni ) (1) ( наилучших и из них строим модели второго ряда yn (2) = wi (2) yni ) (1) + w j (2) yn j ) (1) и т.д. Процесс выбора повторяем необходимое ( ( число раз. На последнем шаге выделяется одна модель yn ( L ), где L – число рядов селекции.

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

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

Генетические алгоритмы. Другой подход к подбору структуры регрессии дают так называемые генетические алгоритмы [119, 120, 122, 142, 174, 196, 197, 202, 209, 217, 238, 246, 250]. Возникли они из желания моделировать эволюцию живых существ и оказались достаточно эффективными для решения сложных задач: например, задачи поиска глобального экстремума многоэкстремальной функции. Опишем работу этих алгоритмов на примере задачи подбора структуры линейной регрессии. В классическом варианте каждая регрессия кодируется набором нулей и единиц в зависимости от того, входит ли та или иная переменная в регрессию. Такой набор называется хромосомой, а некоторая их совокупность – поколением.

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

Процедура образования новых хромосом состоит из нескольких операций, обычно это скрещивание и различные виды мутации. Для скрещивания берутся две хромосомы (родители) и из них образуются новые хромосомы (потомки), в которые входят каким-либо регулярным или случайным образом участки хромосом как одного, так и другого родителя. В зависимости от конкретного алгоритма таких участков может быть два или больше. Различной может быть и процедура отбора пар хромосом для скрещивания. Обычно это хромосомы с минимальными значениями вспомогательного функционала или случайно выбранные пары, причём хромосомы с меньшим значением функционала имеют большую вероятность принять участие в образовании потомства. Мутация тоже может быть разная – точечная, когда в хромосоме случайным образом ноль заменяется единицей (или наоборот), инверсия, когда участок хромосомы зеркально отражается относительно своей середины, транслокация, когда участок хромосомы вырезается и переносится в другое её место и т.д.

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

В качестве функционалов для отбора, по-видимому, имеет смысл использовать приведённые выше критерии МГУА, причём для разных генетических операций можно использовать различные функционалы.

Генетические алгоритмы также можно совместить с многорядным выбором по МГУА, только надо предпринять меры против вырождения, например, отбор непохожих пар для скрещивания.

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

Такой подход будет реализован далее при рассмотрении нейронных сетей конкретной архитектуры.

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

При скрещивании имеет смысл выбирать наиболее значимые координаты каждой из скрещиваемых регрессий.

Коллектив регрессий. Ещё один вариант построения модели по экспериментальным данным состоит в том, чтобы использовать не одну регрессию для всех случаев, а их набор [195], каждый элемент которого имеет свою область применимости. При этом исходная выборка ( x1, y1 ), ( x 2, y2 ),..., ( x N, y N ) кластеризуется (о методах кластеризации см. 1.3), т.е.

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

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

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

Различные виды нейронных сетей рассматриваются в 1.3 и 1.4, данный параграф посвящён вопросу построению функционалов ошибки по исходной информации.

Нелинейная регрессия. Линейная регрессия не всегда может адекватно отобразить экспериментальные данные. Для построения более точной модели часто приходится искать по выборке входов x1, x 2,..., x N, и соответствующих выходов y1, y 2,..., y N зависимость вида y =f (x) с нелинейным отображением f.

Обычно вид отображения f считают известным, но оставляют свободными некоторый набор параметров w1, w2,..., wp. В этом случае задача состоит в подборе вектора w ( w1, w2,..., wp ), для которого функция y =f (x, w ) наилучшим образом отображает экспериментальные данные. Для нейронной сети процесс подбора параметров принято называть обучением. Если все наблюдения равнозначны, то качество модели обычно характеризуется функционалом N E = en, (1.7) n = минимизация которого позволяет подобрать параметры модели.

Обычно для ошибки по одному примеру en применяют формулу 1 en = y n f (x n, w ). (1.8) Когда не все наблюдения равноценны, например, если выборка пополняется, более полезными чем (1.7) могут оказаться выражения вида N N en – если обрабатывается T последних наблюдений или E = nen, E= n = N T +1 n = где 0 1, если учитывается устаревание информации. Можно применить и N E = n en, n более общую формулу где – заданная заранее n = последовательность, частными случаями которой являются приведённые выше выражения.

Если исходная выборка большая, можно использовать так называемое постраничное обучение. Из всей выборки случайным образом или по заранее заданному правилу (например, последовательно) выбирается набор наблюдений S (страница) и в качестве функционала ошибки берётся E = en.

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

Простейшим частным случаем постраничного обучения является минимизация каждого en по отдельности, но обычно такой процесс не очень эффективен. Так как время расчётов практически пропорционально размеру страницы, имеет смысл вначале брать маленькие страницы – можно начинать даже с одноточечных страниц, увеличивая их размер по мере обучения.

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

Нелинейная регрессия в случае пополняемой выборки. Что делать, если новые наблюдения приходят постоянно? При добавлении новой точки у нас меняется функционал (1.7) и здесь возможно несколько различных подходов.

1) В формуле (1.7) просто появится новое слагаемое, т.е. N меняется на N+1. При этом в формуле для градиента тоже добавляется слагаемое и метод поиска экстремума нужно либо рестартовать с достигнутой точки, либо убедиться, что новое направление будет направлением убывания ошибки – т.е.

(g k, p k ) 0 (здесь g k – антиградиент функционала ошибки, вычисленный в очередной точке) – тогда рестарта можно не делать. Если слагаемых много, ошибка обычно с добавлением нового слагаемого меняется незначительно, поэтому ситуация, при которой рестарта можно избежать, реальна, причём, чем точнее метод, тем он менее устойчив, т.е. тем больше вероятность, что его придётся рестартовать. Если мы нашли минимум функционала (1.7), и поступило новое наблюдение, и оно вносит несильное изменение в функционал, то итерационный процесс продолжается с точки, близкой к точке экстремума. Исходя из этого понятно, что не имеет смысла находить минимум функционала много меньше, чем возмущение, вносимое поступившим наблюдением. Если новое наблюдение сильно меняет функционал, то возможны два варианта: либо это выброс (ошибка наблюдений или измерений), либо – резкий переход наблюдаемого процесса на новый режим. Для определения того, какая ситуация реализуется, можно провести вычисления по трём формулам: без учёта выброса, с учётом выброса и без учёта значений до выброса, – и сравнить результаты. В дальнейшем следует оставить ту модель, которая наилучшим образом соответствует вновь поступающим значениям.

0 1, 1.

E N +1 = eN +1 + E N, 2) Можно взять обычно EN +1 eN +1 E + N. Такая формула учитывает устаревание = Соответственно wi wi wi информации. Если эту процедуру начинать с самого первого наблюдения, тогда E N e N N EN = N nen, = N n n.

соответственно Относительно работы wi n=1 wi n = алгоритмов из 2.2-2.4 можно сказать то же самое, что и в предыдущем случае.

N Для ошибки E N можно взять и более общую формулу EN = nen 3) n= N или EN = ( N n)en с соответствующими изменениями в формуле для n = N градиента. Частным случаем последней формулы можно считать EN = en, n = N T + т.е. учитываются только Т последних наблюдений.

4) Если исходная выборка большая, можно использовать так называемое постраничное обучение. Из всей выборки случайным образом или по заранее заданному правилу (например, последовательно) выбирается набор наблюдений S (страница) и в качестве функционала ошибки берётся E = en.

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

Простейшим частным случаем постраничного обучения является минимизация каждого en по отдельности, но обычно такой процесс не очень эффективен. Так как время расчётов практически пропорционально размеру страницы, имеет смысл в начале брать маленькие страницы – можно начинать даже с одноточечных страниц, увеличивая их размер по мере обучения. Для работы с растущей выборкой удобно применить обобщённый алгоритм постраничной оптимизации. Опишем конкретный алгоритм такого рода.

Алгоритм 1.2. Обобщённый алгоритм постраничной оптимизации.

1. Выбираем некоторое множество примеров (страница) из имеющейся совокупности и проводим определённое (не слишком большое) число шагов некоторого метода минимизации ошибки для этого множества примеров.

2. Если за время реализации предыдущего шага выборка не пополнилась, то выбираем новую страницу и предыдущий шаг повторяем.

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

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

Алгоритм 1.3. Обобщённый алгоритм построения коллектива регрессий.

1. Фиксируем метод оптимизации, его начальный шаг, начальное приближение и некоторое число из интервала [0;

1].

2. Делаем шаг метода оптимизации, который считаем удачным, если уменьшилась ошибка не менее чем в -й части всех примеров.

3. Повторяем шаг 2 заданное число раз.

4. Выделяем в новую выборку те примеры, ошибка в которых уменьшилась на предыдущих шагах (или в числе шагов, не меньше заданного порога).

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

6. Когда ошибка по получившейся выборке станет меньше заданного порога, фиксируем её и повторяем шаги 1-5 для оставшихся примеров до тех пор, пока не исчерпаем всю выборку.

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

В третьей главе собраны результаты по методам оптимизации.

Большинство из них требует вычисления градиента функционала, которое несложно провести, опираясь на формулы (1.7) и (1.8). Если в (1.8) используется евклидова норма и f – дифференцируемая функция, то компонентами градиента функционала ошибки E будут f E N en N k = = ( f j (x n, w ) ynj ) j, i = 1,..., p. (1.9) wi n=1 wi n=1 j =1 wi Квазилинейная регрессия. Чаще всего искомую зависимость m представляют в виде y = w i fi (x). При этом относительно w i получается i = обычная линейная регрессия и если функции fi ( x) не меняются, то не получается ничего нового. Более интересным является вариант, в котором функции f i ( x) тоже подбираются, причём множество функций, в котором можно взять f i ( x) = f ( x, ai ).

ищутся fi ( x), допускает параметризацию, т.е.

{w i, ai }i= m Здесь совокупность векторов играет роль упоминавшегося ранее вектора весов w.

Пусть en определяется формулой (1.8) и используется евклидова норма (корень квадратный из суммы квадратов координат):

1k m en = ( ynj wij f (x n, ai ))2. (1.10) 2 j =1 i = Вычисление градиента несложно сделать:

en f (x n, ai ) m en k m = wij ( wsj f (x n, a s ) ynj ).

= f (x n, ai )( wij f (x n, ai ) ynj ), il j =1 il wij s = i = В этом случае также можно применить один из методов нелинейной оптимизации из главы 3.

Можно поступить и по-другому – найти w i через начальные значения i и исходные данные, подставить в (1.10) и далее применить какой-нибудь нелинейный метод, сохраняя точное выполнение линейной системы. Такой подход называется алгоритмом Голуба – Перейры [118]. При этом возникают две трудности. Первая трудность чисто техническая – нахождение производных по переменным i (необходимых для применения какого-либо градиентного метода). Соответствующие формулы приводить не будем в силу их громоздкости, сошлёмся только на [118]. Вторая трудность состоит в том, что при этом подходе приходится пересчитывать обратные (псевдообратные) матрицы на каждом шаге, так как они получаются зависящими от переменных i.

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

Нелинейная регрессия временных последовательностей. Остановимся отдельно на случае процессов, развивающихся во времени. Время в принципе можно рассматривать как непрерывное или дискретное, но для компьютерной обработки процессы всё равно приходится дискретизировать, поэтому будем рассматривать только дискретный случай. При этом векторы x и y состоят из временных отсчётов x(1), x(2),..., x( N ) и y (1), y (2),..., y ( N ). Если мы ищем зависимость y (n) = f (x(n), w ), то не возникает никакой новой задачи. Такая модель соответствует ситуации, для которой состояния системы в разные моменты времени никак не связаны друг с другом, что не представляется реальным для большинства прикладных задач. Можно искать зависимость вида y (n) = f (x(n), x(n 1),..., x(1), w ), где f может зависеть и не от всех x(n) а, например, от заданного числа последних. Ещё более интересен случай систем с обратной связью, приводящий к рекуррентной формуле y (n) = f (x(n), x(n 1),..., x(1), y (n), y (n 1),..., y (1), w ) (1.11) При этом возникает один момент, который мы обсудим в случае, когда x и y – скаляры, а в правую часть (1.11) из выходов входит только y (n -1). Дело в том, что опытные данные, вообще говоря, не удовлетворяют (1.11), поэтому имеет смысл обозначить y (n) = f ( x(n), x(n 1),..., x(1), y (n 1), w ). (1.12) Но в этой формуле непонятно, какой y подставлять в правую часть – опытное значение y (n 1) или y (n 1) = f ( x(n), x(n 1),..., x(1), y (n 2), w ). (1.13) Относительно формулы (1.13) возникает тот же самый вопрос. Но рано или поздно опытное значение надо подставлять, иначе мы не вычислим y (n).

Пусть – число таких подстановок, которое делается до того, как подставить значение из опыта. Тогда y (n) = f ( x (n), x (n 1),..., x(1), y (n 1), w ), (1.14) y (n) = f ( x(n), x(n 1),..., x(1), y (n 1), w ), (1.15) где в правую часть (1.15) входит уже опытное значение y (n 1). При этом N E = e( n ), n = f y (n) e(n) f = ( y (n) y (n))( + ), (1.16) w w y w i i i y ( n) где вычисляется итеративно по формулам w i y (n) f ( x(n), x(n 1),..., x(1), y ( n 1), w ) = w w i i, (1.17) f ( x(n), x (n 1),..., x(1), y (n 1), w ) y (n 1) 1 + y w i …… y (n + 1) f ( x(n + 1),..., x(1), y (n ), w ) 1 =. (1.18) w w i i Из общих соображений понятно, что чем больше подстановок делается, тем труднее построить такую регрессию и тем на большее число шагов она позволяет делать прогноз. Предположим, что мы подбираем не одну такую регрессию, а несколько. Рассмотрим регрессию, через которую опытное значение пропускается s раз. В этом случае будем называть s глубиной регрессии. При этом равенства типа (1.14) и (1.15) можно записать в виде y (n, s ) = f ( x(n), x (n 1),..., y ( n 1, s), w s ), s s ………..

y (n s + 1, s ) = f ( x(n s + 1), y (n s ), w s ).

При этом в фиксированный момент n = N при вычислении функционала ошибки по формуле (1.7) можно воспользоваться N - s значениями ошибки N e ( s) = ( y (n) y (n, s ))2 ;

E (s) = при этом e. Если w n s N n s 2 n = N s + подбирается каким-либо градиентным методом, то градиент E ( s ) можно N вычислять, пользуясь формулами (1.16) – (1.18).

Если используется вся поступившая информация сразу, то можно предложить следующий алгоритм, который назовём треугольным.

Алгоритм 1.4. Треугольный алгоритм вычисления параметров регрессии с обратной связью.

1. При поступлении значений x(1) и y (1) инициируем первую регрессию, задаваясь начальным значением w, и вычисляем y (2,1).

1 2. При поступлении значений x(2) и y (2) можно вычислить ошибку e (1) = ( y (2) y (2,1))2 и подправить w в соответствии с каким-либо 2 1 алгоритмом минимизации e (1). Инициируем вторую регрессию, полагая w 2 равным новому значению w. Вычисляем y (3,1) по y (2), y (2,2) по y (2) и 1 1 y (3, 2) по y (2,2).

2 3. При поступлении x(3) и y (3) вычисляем ошибки e (1) = ( y (3) y (3,1))2 и E (1) = e (1) + e (1), соответствующие вектору w, 3 1 3 2 3 полученному на предыдущем шаге. Подбираем новый вектор w, минимизируя E (1). Вычисляем ошибку e (2) = ( y (3) y (3,2))2 и минимизируем её, меняя 3 3 w. Инициируем третью регрессию, полагая w равным найденному значению 2 w. Вычисляем значения y (2,1), y (3,1), y (2,2) и y (3, 2), соответствующие 2 1 1 1 новым значениям w и w. Вычисляем y (4,1) по y (3), y (3, 2) по y (2), 1 2 1 y (4,2) по y (3, 2), y (2,3) по y (1), y (3,3) по y (2,3) и y (4,3) по y (3,3). И 2 1 1 2 1 3 так далее. Графически эти вычисления на шаге с номером n можно представить в виде схемы, которая и объясняет название метода:

y (1) y (2, n) y (3, n)... y (n + 1, n) 1 2 n y (2) y (3, n 1)... y (n + 1, n 1) n.........................................................

y (n) y (n + 1,1) y (n + 1) y (n + 1) 4. С приходом значения начинаем заполнять новый треугольник, который получается добавлением ещё одного столбца и увеличением последнего аргумента y на единицу. При этом пересчитываются и все предыдущие треугольники с учётом новых значений векторов w.

s Главный недостаток такого подхода состоит в том, что с каждым шагом треугольники растут, и при больших n объём вычислений становится необъятным. Достоинством является то, что растёт глубина возможного прогноза. Другим достоинством является сильная параллельность вычислений.

Если мы используем только последние T значений y ( n), то треугольники не растут, а последний треугольник на шаге с номером n можно представить в виде:

y (n - T + 1) y (n - T + 2, T ) y (n - T + 3, T )... y (n + 1, T ) 1 2 T y (n - T + 2) y (n - T + 3, T 1)... y (n + 1, T 1) T.........................................................

y (n) y (n + 1,1) y (n + 1) Дальше возникает ряд вопросов, например – считать ли w, T и константами или функциями n, подстраивать ли в процессе обучения и т.д.

Но в общем виде это обсуждать затруднительно, поэтому отложим эти вопросы до главы 2.

Дифференциальные уравнения плюс данные. Задача построения робастной математической модели по разнородным данным, включающим как уравнения, так и экспериментальные наблюдения, является весьма актуальной для практики, и её недостаточная изученность вызвана трудностью применения к ней классических методов. Отдельные задачи такого рода рассматривались в монографиях [203,218], публикации [301] и в статьях [62,63,66,73-74]. В данной работе продолжается обсуждение этой темы.

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

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

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

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

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

Обыкновенные дифференциальные уравнения. Начнём обсуждение с задач для обыкновенных дифференциальных уравнений. Приближённое решение классической задачи Коши y( x ) = F ( x, y ), y ( x0 ) = y0 на промежутке (a;

b) может быть получено минимизацией функционала b J ( y ) = y( x) F ( x, y ) dx + y ( x0 ) y a на некотором достаточно богатом множестве скалярных функций одной переменной. Как и ранее, подобные функции обычно ищут в параметризованном виде y = f ( x, w ), сводя задачу к подбору параметров w, при необходимости подбирая в процессе вычислений саму структуру функции f. Чаще всего используется квазилинейный вид искомой функции:

m y = wi f ( x, ai ). (1.19) i = На практике обычно используется дискретное представление функционала ошибки M J ( y ) = y( x j ) F ( x j, y ( x j )) + y ( x0 ) y0, 2 (1.20) j = где {x j }M=1 – множество тестовых точек на интервале ( a;

b), которое обычно j меняется в процессе обучения [56], 0 – штрафной параметр. Подобный подход является аналогом рассмотренного выше постраничного обучения.

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

Перегенерация тестовых точек после определенного числа шагов процесса обучения сети делает его более устойчивым [55-57], ибо позволяет избежать вырождения линеала, задаваемого функциями вида (1.19). Фактически, при каждой перегенерации тестовых точек, мы получаем новый функционал E (w ) = J ( f ( x, w )), минимизируя его не до конца, избегая застревания в локальных экстремумах.

Существует масса стандартных методов решения данной задачи.

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

Более важным представляется устойчивость нейронных сетей по отношению к ошибкам в данных. Если требуется повысить такую устойчивость, то можно добавить в функционал случайные возмущения M J ( y ) = y( x j ) F ( x j, y ( x j )) j + y ( x0 + ) y0 0.

2 j = Закон распределения и амплитуды случайных добавок и j, j = 0,..., M определяются предполагаемыми свойствами ошибок. Эти добавки имеет смысл менять одновременно с тестовыми точками {( x j )} M=1. При этом и j координаты вектора w можно рассматривать как случайные числа с некоторым законом распределения, параметры которого подбираются в процессе обучения, или как интервальные переменные с концами интервалов, которые также подлежат определению.

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

Более адекватным будет выбор такого значения перед началом обучения, чтобы оба слагаемых в сумме (1.20) имели бы одинаковое значение или соотносились бы в заранее заданной пропорции. В процессе обучения этот параметр имеет смысл пересчитывать таким же образом, причём производить такой пересчёт следует более редко, чем перегенерацию тестовых точек.

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

Изменим исходную постановку задачи. Если точка x0 не принадлежит (a;

b), то уже получается неклассическая задача. Более важной для приложений является возможность построения приближенных решений заведомо переопределенных задач. Простейшим примером является модификация задачи Коши, состоящая в замене равенства y ( x0 ) = y0 набором условий (обычно это результаты наблюдений) y ( x1 ) = f1,..., y ( x p ) = f p. Заметим, что точное решение такой задачи в общем случае не существует. При реализации рассмотренного выше подхода к построению аппроксимаций решения изменится лишь второе слагаемое в выражении для функционала ошибки (1.20) – оно примет вид p y ( xk ) f k, при этом небольшие погрешности в этих данных мало влияют k = на построенное приближённое решение. Заметим, что некоторые из точек xk могут и не принадлежать промежутку ( a;

b). Если измерения обладают не равной точностью, то можно дополнительное слагаемое представить в виде p y ( xk ) f k, где более достоверные наблюдения входят с большими k k = весами k.

Намного более сложной является задача поиска функции F ( x, y ) по результатам наблюдений. Можно искать её в классе нейросетевых функций, N FN ( x, y ) = hi ( x, y;

ai ).

например, квазилинейного вида: При этом i = одновременно строится и уравнение, и его решение, с помощью минимизации функционала (1.20).

Если для определения структуры сети использовать алгоритм, подобный обсуждавшемуся в предыдущем параграфе многорядному алгоритму [44,134,217], то на каждом этапе построения функции FN ( x, y) получается линейная система, что не имеет места для процедуры поиска самого решения, поэтому этапы уточнения уравнения и решения приходится чередовать.

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

Возможен и другой подход, при котором вначале по данным наблюдений y ( x1 ) = f1,..., y ( x p ) = f p обычными методами строится регрессионная зависимость, которая используется вместо неизвестного решения. После этого по полученной функции y ( x ) ищется вид уравнения, т.е. подбираются коэффициенты FN ( x, y ) таким образом, чтобы функционал ошибки J ( y ) достиг минимального значения. При этом можно (при соответствующей модификации функционала) удовлетворить и некоторым добавочным условиям, например, симметрии или гладкости функции FN ( x, y ).

Можно рассмотреть и третий подход – сочетать подбор аппроксимации F ( x, y ) и какой-либо классический способ численного решения дифференциального уравнения типа метода Рунге-Кутта или использование некоторой рекуррентной сети (см. 1.4) для построения поточечного решения.

Предложенная методология позволяет рассмотреть естественные обобщения приведенного выше подхода на системы обыкновенных дифференциальных уравнений и уравнения более высокого порядка. Например, решение краевой задачи Дирихле для стационарного оператора Шредингера y + q ( x) y = 0, y ( x0 ) = y0, y ( x1 ) = y1, можно аппроксимировать нейронной сетью, обучающейся на основе минимизации функционала ошибки M J ( y ) = y( x j ) + q( x j ) y ( x j ) + ( y ( x0 ) y0 + y ( x1 ) y1 ).

2 2 j = Указанный выше подход без труда позволяет рассматривать случай, когда точки x0 и x1 не принадлежат промежутку (a;

b). Так же, как и ранее, можно искать решение, принимающее заданные значения в отдельных точках y ( x1 ) = f1,..., y ( x p ) = f p или удовлетворяющее более сложным условиям типа законов сохранения, симметрии, спектральных свойств решения и т.д.

Ещё более интересной для приложений является задача определения потенциала q ( x) по данным наблюдений. Можно искать потенциал в классе некоторых нейросетевых функций, веса которых ищутся по-прежнему в процессе минимизации функционала J ( y ), в который подставлено выражение для функции q.

Можно рассмотреть ещё более сложную задачу – построение по экспериментальным данным уравнения второго порядка y( x) = F ( x, y, y). В этом случае также можно использовать представленный выше подход, выбрав соответствующие нейросетевые функции. Аналогичным образом можно рассмотреть уравнение третьего и более высокого порядка (порядок уравнения считается известным). Следует особо отметить тот факт, что принципиальных изменений в представленные выше алгоритмы вносить не требуется.

Без особых изменений рассматриваются и уравнения, не разрешённые относительно старшей производной. Например, в случае уравнения первого порядка F ( x, y, y) = 0 достаточно первое слагаемое в функционале ошибки M F ( x, y( x ), y( x )) (1.12) заменить суммой.

j j j j = Моделирование динамического объекта. Задачи, в которых независимой переменной является время, имеют свои особенности. Самая простая задача подобного рода может быть сформулирована следующим образом. Пусть некоторый объект задан дифференциальным уравнением y(t ) = F (t, y ) и начальным условием y (t0 ) = y0, и требуется построить его решение на бесконечном интервале времени. В этой ситуации заманчиво применить процедуру, рассмотренную ранее для ограниченного интервала, меняя множество тестовых точек со временем. Однако для неустойчивого решения модель со временем будет всё больше от него отличаться. Немного поправить ситуацию удаётся с помощью какого-либо генетического алгоритма из главы 2, если в качестве критерия подбора структуры применить устойчивость к возмущениям начальных условий и коэффициентов уравнения.

Более разумная постановка предполагает замену начального условия измерениями y (ti ) = yi, которые производятся, время от времени. К такой задаче можно применить одну из моделей динамических нейронных сетей, рассмотренных в параграфе 1.4. При этом так же, как и выше, в минимизируемый функционал войдут помимо ошибок в определении функции в моменты времени, в которых производились измерения, ещё и невязки в удовлетворении уравнения. Эти невязки могут относиться к тем же моментам времени или к некоторым другим моментам временного интервала, в котором ищется решение. Подбор такого интервала сам по себе является нетривиальной задачей, для решения которой можно применить рассмотренный выше треугольный алгоритм. В процессе решения задачи рассматриваемый временной интервал сдвигается, и его длительность может меняться в зависимости от характерного времени протекания процесса, темпа поступления наблюдаемых величин и вычислительных возможностей. Подбор коэффициентов соответствующих моделей происходит таким же образом, как и ранее, – путём минимизации соответствующего переменного функционала ошибки.

Ещё более интересная задача возникает, если мы подбираем само уравнение в процессе наблюдений. Как и ранее, задача распадается на две – подбор функции F (t, y ) и построение решения при заданной функции F (t, y ).

При этом подбор решения y разумно вести в соответствии с функционалом (1.20), модифицированным естественным образом, а подбор функции F (t, y ) – по ошибке решения в нескольких последних точках наблюдений. Подбор структуры этой функции можно проводить любым соответствующим алгоритмом из второй главы, причём для отбора можно использовать прогноз на одно или несколько предстоящих наблюдений.

Если F (t, y ) заменяется какой-либо рекуррентной конструкцией вида F (t, y (t )) = f (t, y (t ), y (t T ),..., y (t mT ), w ), то в результате получается дифференциальное уравнение с запаздывающим аргументом, рассмотрение которого практически ничем не отличается от приведенного подхода в случае обыкновенного дифференциального уравнения и сводится к подбору вектора весов w, исходя из минимума функционала ошибки.

Отдельного обсуждения требует работа с управляемым объектом. В простейшей задаче такого рода рассмотренное выше дифференциальное уравнение заменяется уравнением y(t ) = F (t, y, u ), где u – управление, т.е.

неизвестная функция, которая может иметь вид u = u (t, y (t ), y (t T ),..., y (t mT ), w ), причём веса w, а возможно и структура этой функции, подбираются путём оптимизации функционала, задаваемого целями управления [192,207]. Для большинства практически интересных задач такой функционал может быть t представлен в виде J ( y, u ) = g (t, y, u )dt + G ( y (t0 ), y (t1 )). Здесь функция t g (t, y, u ) определяется желательным характером движения и управления и может зависеть не только от функции y, но и от её производных, если мы хотим сделать движение управляемого объекта по-возможности более гладким.

Функция G ( y (t0 ), y (t1 )) формализует требование к положению объекта в конечных точках рассматриваемого временного интервала, например, если необходимо управляемый объект перевести в требуемое положение, то эта функция может являться квадратом разности в конечный момент между требуемым положением и положением, получающимся в результате управления.

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

Дифференциальные уравнения с частными производными.

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

Поясним ситуацию на примере простейшей краевой задачи p A( y ) = g, y = y (x), x R, B( y ) =f. (1.21) Здесь A( y ) – некоторый дифференциальный оператор, т.е. алгебраическое выражение, содержащее частные производные от искомой функции y, B( y ) – оператор, позволяющий задать граничные условия, – граница области.

Операторы A и B могут быть нелинейными, менять тип в подобластях, коэффициенты операторов и функции f, g могут иметь разрывы, специальных требований гладкости к не предъявляется. Задачи, содержащие время, могут быть приведены к виду (1.21) введением дополнительной переменной:

p + (t, x) R.

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

В соответствии с общей методикой ищем приближённое решение задачи (1.21) на основе минимизации функционала ошибки вида J ( y ) = A( y ) g d + B ( y ) f d.

(1.22) На практике обычно удобнее использовать дискретную форму представления функционала M M J ( y ) = A( y (x j )) g (x j ) + B( y (xj )) f (xj ).

2 (1.23) j =1 j = Здесь {x j }M 1 – периодически перегенерируемые пробные точки в области j=, {xj }M=1 – пробные точки на её границе.

j В соответствии с предлагаемым подходом ищем приближенное решение y (x) = y (x, w ). Обычно оно u задачи (1.21) в параметризованном виде представляется в квазилинейной форме N y (x) = ci v(x, ai ), (1.24) i = где веса w – параметры ci и входящие нелинейно параметры ai – находятся в процессе минимизации функционала ошибки J ( y ). Представление (1.24) лишь внешне напоминает классическое разложение Галеркина, предполагающее подбор лишь параметров ci. Численные эксперименты показали, что подбор дополнительных параметров ai позволяет сократить число слагаемых в (1.24) в 10-100 раз при сохранении той же точности приближённого решения задачи (1.21).

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

Различные модификации задач (1.21), включая случай, когда граница неизвестна и ищется в процессе решения, рассматриваются в главах 4-7.

Опыт применения нейронных сетей позволяет сделать некоторые замечания о выборе тестовых точек. Они могут выбираться внутри области (или в более широком множестве ) и на границе регулярным образом, например, равномерно в случае ограниченной области или по нормальному закону, если область неограниченна. Иногда процесс обучения основан на целенаправленной расстановке пробных точек [55,57]. Однако в большинстве ситуаций более целесообразным, как отмечалось выше, представляется случайное распределение точек, генерируемое через определенное число эпох обучения (шагов оптимизации) с помощью постоянной (или иной) плотности вероятности, что обеспечивает более устойчивый ход обучения. Кроме того, такой подход позволяет контролировать качество обучения с помощью стандартных статистических процедур. Возможно и сочетание регулярного и случайного распределения контрольных точек: так, например, при рассмотрении задачи Неймана или задачи Зарембы для более точной оценки нормальной производной решения на границе оказалось полезным к случайному набору точек добавить некоторый регулярный набор точек, достаточно близких к границе.

Возможен и иной способ задания функционала ошибки J ( y ), например, в тех случаях, когда на основе вариационного принципа можно ввести минимизируемый функционал J типа интеграла Дирихле – к примеру, для A=, g = J ( y ) = y d + B ( y ) f d, но указанный способ построения (1.22)-(1.23) удобен в случае нелинейных уравнений с комплексными коэффициентами, он допускает обобщение и на случай систем уравнений.

Выбор подходящего решения в некоторых задачах может быть сведен к изучению совместных экстремумов системы функционалов {J s ( y )}. На этом пути возможно и построение регуляризаций решений некорректных или неклассических задач.

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

Эффективные методы решения таких задач в общей постановке не существуют [84,92,124-125,188-189,205,241,256,272], поэтому приходится использовать нестандартные процедуры типа приведённых в параграфе 3.2.

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

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

Так же, как и для обыкновенных дифференциальных уравнений, можно строить модель в виде уравнения в частных производных по данным измерений, определяя коэффициенты этой модели как некоторые функции из заданного класса. В частности, так можно подбирать g ( x), f ( x), коэффициенты операторов A( y ) и B( y ), которые могут зависеть заранее неизвестным образом как от пространственных переменных, так и от искомой функции, а также функцию, которая задаёт границу, так как граница исследуемого объекта или граница раздела сред не всегда является наблюдаемой. Такие задачи естественным образом возникают во многих практических приложениях, но ранее почти не рассматривались ввиду отсутствия методологии построения их приближенного решения. При этом функционал (1.23) в некоторых задачах модифицируется аналогично случаю обыкновенных дифференциальных уравнений, т.е. добавляется слагаемое p y (x k ) f k, учитывающее данные измерений, или вводится слагаемое, k = описывающее дополнительные требования к решению: например, требование симметрии или условие разрешимости задачи. Две конкретные задачи такого рода рассмотрены в главе 7.

1.3. Статические нейронные сети Для реализации какого-либо алгоритма построения нелинейной регрессии нужно задать конкретный вид функции f. Её выбор – нетривиальная задача.

Так, например, известно, что для любого конечного набора экспериментальных данных {x n, y n } можно построить многочлен достаточно высокой степени точно удовлетворяющий этим данным, но между точками {x n } поведение этого многочлена обычно очень плохое и процедура подбора его коэффициентов численно неустойчива.

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

Персептрон. Данный вид сети является наиболее употребительным и исследованным [19, 37, 38, 85, 91, 96, 98, 99, 130, 149, 165, 174, 183, 192, 202, 217, 221, 228, 232]. Персептрон состоит из одного или нескольких слоёв простейших элементов, называемых нейронами. Каждый нейрон действует как нелинейная функция, которая называется функцией активации. Линейные комбинации координат входного вектора (x, w ) поступают на вход первого слоя нейронов. Линейные комбинации выходов нейронов подаются на следующий слой, а линейные комбинации выходов нейронов последнего слоя образуют выход сети. Часто во все или в некоторые слои добавляется дополнительный нейрон, на выходе которого всегда 1. Смысл его фактически в вычитании константы из входных значений для следующего слоя нейронов.

Если функция активации – это sign( x), то выход сети получается кусочно-постоянной функцией. Обычно вместо функции sign( x) используются гладкие функции, что позволяет вычислять производные и далее для обучения сети применять градиентные методы. Например, чаще всего используются персептроны, характеризующиеся активационной функцией вида: (t ) = th(t ) или (t ) = t (1 + t ).


0. 0. 0. 0. -10 -5 5 10 -10 -5 5 -0. -0.5 -0. -0. - Рис.1.1. Графики сигмоидных активационных функций th( x) и x (1 + x ) Обозначим вектор входов l-го слоя y l1, а вектор его выходов x l. Тогда сеть описывается рекуррентными соотношениями y l = Wl xl, (1.25) xl = l ( y l 1 ). (1.26) Здесь x 0 = x – вход сети;

y L = f (x) – выход сети. При этом Wl – матрица l весов l-го слоя, а – активационная функция, которая действует покоординатно.

Обозначим через Zl матрицу l( y l 1 ). Заметим, что она является диагональной матрицей. Обозначим zil элемент на i -м месте диагонали. Для определения производных выхода сети по весам нужно проделать вычисления по формуле f W = WL Z L WL1Z L1...Zl +1 (ll) xl. (1.27) wij wij (l ) Вычисления начинаются на последнем слое и движутся к первому, поэтому такая процедура называется обратным функционированием [98].

Подробное обсуждение вычислительной эффективности этой процедуры и её изображение в виде схем приведено в [98].

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

Аналогичным образом можно вычислить производную по входам сети f = WL Z L WL1Z L 1...W0. Это позволяет оценить значимость входов и отбросить x наименее значимые, если это необходимо [98].

Для некоторых методов оптимизации, типа метода Ньютона (см. главу 3), требуется вычисление вторых производных. Дифференцируя (1.27) и 2y l 2y s W x s = 0, = ( ss) используя (1.25), (1.26), получаем для wijl )w(pq) wijl )w(pq) w pq wijl ) ( l ( s ( 2y s 2x l, l s L l s L, = Ws (l ) s ( l) для и wijl )w(pq) wij w pq ( l 2x s 2 y s 1 y y = s (y s 1 ) ( l ) (l) + s (y s 1 ) s(1 s(1.

s( y s 1 ) Здесь – (l) wij wpq wij w pq wijl ) w pq) (l ) l билинейная диагональная форма, т.е.

2 xk,s 2 yk,s 1 y y = s ( yk,s 1 ) (l ) (l) + s ( yk,s 1 ) k,(sl1 k,(sl)1.

( l) wij wpq wij wpq wij wpq (l ) ) Если для оптимизации используется метод нулевого порядка (см.

параграф 3.2), то вычисление градиента не производится. Обычно приходится так поступать, когда часть активационных функций или функционал ошибки – недифференцируемые функции, хотя в этом случае вместо производной можно использовать субдифференциал [171, 189].

Помимо линейных отображений, в формуле (1.25) можно использовать квадратичные формы [90]. В матричной записи y l = Wl xl + Wl (2)( xl, xl ), где Wl (2) – векторнозначная квадратичная форма, соответствующая трёхмерной матрице. Для таких сетей легко получить аналог (1.27).

Очевидным образом эти формулы обобщаются на случай более высоких y s x P P y l = Wl ( p )(xl, xl,..., xl ) и = pWl ( p )(xl, xl,..., xl ) (sl ).

степеней [96]:

wij wij (l ) p =1 p = p p Формула (1.27) остаётся в силе, если заменить матрицу суммой Wl P pW ( p)(x, x,..., x ). Однако количество весов такой сети уже при небольших l l l l p = p размерностях становится очень велико, и для их формирования лучше применить какой-либо многорядный алгоритм (см. первый параграф данной главы и вторую главу).

Применение многорядного алгоритма требует рассмотрения сетей более общей структуры. Они (сети с частичной структурой связей) рассмотрены далее. Такие сети позволяют производить генетические операции на более тонком уровне, включая манипуляции отдельными связями.

Полная сеть прямого распространения. От многослойного персептрона полная сеть [221] отличается тем, что на вход нейронов и на выходы сети подаются линейные комбинации не только выходов нейронов предыдущего слоя, но и всех предшествующих слоёв, включая входы. Для полной сети формула (1.25) заменится на выражение l y l = Wl1,l xl1, (1.28) l1 = а формула (1.26) останется без изменений. Здесь Wl1,l – матрица весов связей l1 -го слоя с l -м слоем.

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

Wl,l y l = ( l11,l ) xl1, (1.29) wij wij ( l1,l ) Аналогично имеем x s y s s = Ws1,s ( l11,l ), l s L. (1.30) wij wij ( l1,l ) s1 =l x s y = s (y s 1 ) (sl1,1).

(1.31) wijl1,l ) wij l ( Применяя формулы (1.30)-(1.31) итерационно, получаем аналог формулы (1.27) f y s =l +1 WL,s1 Z s1 Ws11,s2 Z s2...Zl +1 w(l1l,l ).

= (1.32) wij ( l1,l ) L s1 s2... q ij Точно так же, как и в случае многослойного персептрона, вычисления по формулам (1.29)-(1.31) производятся от последнего слоя к первому.

Сети с частичной структурой связей. Такие сети удобны с точки зрения применения генетических алгоритмов для построения их структуры. Дело в том, что и многослойный персептрон и полная сеть характеризуются тем, что в них можно удалять только нейроны со всеми связями. Хорошо иметь более гибкую структуру, позволяющую добавлять и удалять не только нейроны, но и связи по отдельности. Заметим, что приведённое далее описание может быть заменено более богатой конструкцией быстрых нейронных сетей [112-116], которая осталась за рамками книги. Перенесение рассмотренных алгоритмов на этот класс сетей возможно, но требует отдельной работы.

С нейронной сетью свяжем потоковый граф, вершины которого соответствуют нейронам, а также входам и выходам сети, а дуги – связям [183].

При этом те вершины, в которые не входит ни одна дуга, соответствуют входам, а те, из которых не выходит ни одна – выходам. Пусть V – множество вершин сети, тогда множество дуг D является подмножеством V V, т.е.

каждой дуге соответствует упорядоченная пара вершин (v1, v2 ) – из первой дуга исходит, а во вторую – входит. Каждой вершине v сопоставим активационную функцию v, каждой дуге (u, v) – вес wu,v. Сеть прямого распространения не имеет циклов, т.е. её вершины всегда можно пронумеровать так (т.е. V считать множеством натуральных чисел), что u v для каждой дуги.

Обозначим yv вход соответствующего вершине с номером v нейрона, а xv – его выход. Тогда формулы (1.25), (1.26) приобретают вид yv = wu,v xu, (1.33) u:( u,v )D т.е. суммирование производится по всем входящим в нейрон дугам, xv = v ( yv ) (1.34) Для подсчёта градиента функционала ошибки по весам сети необходимо для каждой вершины при прямом проходе вычислить zv = v ( yv ). Рассмотрим двойственный граф, у которого ориентация дуг изменена на противоположную, таким образом, входы становятся выходами и наоборот. При этом через xv обозначим вход соответствующего нейрона двойственной сети, а через yv – выход. Тогда xu = wu,v yv. (1.35) v:( u,v )D Тут суммирование производится по всем входящим в нейрон дугам двойственной сети, что соответствует исходящим дугам исходной сети.

Действие нейрона сводится к умножению на число zv yv = zv xv. (1.36) Для входов двойственной сети сохраняется формула yj = f j (x, w ) y j, (1.37) где j – номер выхода, f j (x, w ) – выход исходной сети, y j – требуемый выход исходной сети. Формула для производной ошибки по весам приобретает вид en = xu yv. (1.38) wu,v Для того чтобы включить в рассмотрение квадратичные связи и связи более высокой степени, достаточно ввести в рассмотрение вершины (нейроны) вида x p = xu xv, при этом может выполняться равенство u = v. В такую вершину входят две дуги, не имеющие весов (или имеющие единичные веса – что одно и тоже). Веса появляются далее – при включении x p в (1.33). Для вычисления производных при движении по двойственному графу прохождение этих вершин сопровождается вычислениями по формулам xu = xp xv ;

xv = xp xu. Если u = v, то xu = 2 xp xu. Эти выражения можно считать частным случаем предыдущих формул.

Сети Кохонена. Задача разбиения на группы – кластерный анализ – является одной из наиболее часто встречающихся задач анализа данных [4, 111, 123]. Что касается нейросетевой тематики, то тут есть две стороны. Во-первых, сами нейронные сети применяются для кластерного анализа, один из видов таких сетей (сети Кохонена [144, 145]) будет рассмотрен в данном параграфе.

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

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

От описанных ранее сетей прямого распространения сети Кохонена отличаются тем, что не требуют задания выходов сети на обучающем множестве, т.е. обучение проходит только по входам сети. Такой процесс, когда мы не задаёмся изначально какими-либо значениями, к которым стремятся выходы сети, называется обучением без учителя [98].

В самом простейшем случае обучение происходит следующим образом [96, 136, 142, 149, 165, 183, 228, 232]. На каждом шаге обучения на вход сети подаётся очередной вектор x n и ищется нейрон, веса которого наименее отличаются от этого вектора. Найденный нейрон объявляется победителем, и вектор его весов w i обновляется по формуле w i ( k + 1) = w i ( k ) + (x n w i ( k )), (1.39) где отвечающий за скорость обучения параметр – число, принимающее значения от 0 до 1. Все обучающие векторы предъявляются по очереди, пока не произойдёт стабилизация или не выполнится иное условие останова.

Этот алгоритм является нейросетевым аналогом известного алгоритма k средних [4, 111, 123, 217]. При этом процесс обучения зависит от выбора метрики. Если выбрана обычная евклидова метрика и w = 1, то победителем будет нейрон, для которого скалярное произведение (x n, w i ) максимально. Для поддержания такой нормировки весов существует два подхода [96, 136, 142, 149, 165, 183, 228, 232]. Согласно первому можно нормировать веса (разделить w w= модифицируемый вес на норму ) на каждом шаге после i применения формулы (1.39). Согласно второму в эту формулу вводится штраф за отклонение от 1, т.е. формула для обновления весов приобретает вид:


w i (k + 1) = w i (k ) + (x n w i (k )) + w i (k )(1 w i ). (1.40) В результате всё множество входных векторов разбивается на классы – каждому нейрону соответствует множество векторов, для которых он является победителем.

Помимо этой классической процедуры применяют ряд её модификаций [96, 136, 142, 149, 165, 183, 228, 232] для ускорения обучения и более удобной и равномерной кластеризации. Во-первых, можно сделать зависящим от номера шага, устремляя его к 0 в процессе обучения. Во-вторых, можно за один шаг обучать не только победивший нейрон, но и близкие к нему, т.е. взять = i ( k ). При этом векторы весов сети w i обновляются по формуле w i (k + 1) = w i (k ) + i (k )(x n w i (k )) + k w i (k )(1 w i ). Возможные варианты определения i ( k ) :

1) i ( k ) = (k ) для тех нейронов, для которых выполняется неравенство d (w i, w j ) d (k );

(k ), d (k ) 0, где j – номер победившего нейрона.

2) i (k ) = (k )exp( k d 2 (w i, w j )), при этом обучаются все нейроны.

3) Похожим является алгоритм нейронного газа, для которого нейроны нумеруются в порядке удалённости от вектора x n и расстояние d (w i, w j ) заменяется номером нейрона, k.

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

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

Сети Гроссберга. Сети Кохонена можно применить и к задаче построения нелинейной регрессии. Простейший способ сделать это – подавать на выход сети не номер выигравшего нейрона, а линейные комбинации выходов слоя Кохонена. Такая сеть называется сетью Гроссберга, и её обучение обычно проводят в два этапа [38, 96, 126, 142, 165, 217, 228, 232]. На первом этапе обучается слой Кохонена, т.е. производится настройка весов первого слоя с целью кластеризации входов. На втором – обучается выходной слой, т.е. его веса подбираются таким образом, чтобы выходы сети минимально отличались бы от выходных векторов обучающей выборки. Так как для элементов определённого кластера отличен от нуля выход только одного нейрона, то и обучаться будут только веса, исходящие из этого нейрона. Результат будет зависеть от выбора минимизируемого функционала.

Обычно сеть Гроссберга обучается намного быстрее, чем многослойный персептрон или иная сеть, которая используется для решения задачи аппроксимации. Её недостаток состоит в том, что для получения такой же точности требуется намного больше нейронов.

RBF-сети [96, 142, 165, 167, 177, 183, 217, 221, 232]. Если линейная регрессия плохо моделирует изучаемую систему, то естественно искать более адекватную модель в виде разложения по базису из некоторых нелинейных функций i : y = wi (x). Один из примеров такой конструкции получается, i если взять i ( x) = i ( x xi ), где x i – вход в i -й обучающей выборке. При этом для определения весов сети wi получаем линейную систему y j = wi ( xi x j ). (1.41) i Для ряда функций i доказано, что эта система невырождена, поэтому имеет единственное решение [232].

Однако такой подход имеет несколько принципиальных недостатков. Во первых, если наблюдений достаточно много, то матрица будет иметь очень большой размер, и решение системы будет представлять собой серьёзную проблему, как в силу заполненности матрицы (малого числа нулей), так и возможной плохой обусловленности. Во-вторых, известно, что для достаточно надёжного определения параметров линейной регрессии, их количество должно быть в несколько раз меньше, чем число наблюдений N, что не соблюдается в данном случае. Это выражается в плохих прогностических качествах сети, т.е.

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

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

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

Следующий вариант развития данного подхода состоит в том, чтобы искать выход сети в виде m y = w j j ( x c j ), (1.42) j = где c j – некоторые центры, вокруг которых происходит аппроксимация.

Наиболее простой путь конкретизации функций j состоит в том, чтобы взять их в виде j = ( j x c j ) или j = ( j x c j ). Нейронные сети такой конструкции являются основным видом RBF-сетей (сети с радиальными базисными функциями). Базисные функции j определяются выбором активационной функции (t ), t R. При этом обучение сети будет заключаться в подборе весов w j, j и c j. Если выход сети – вектор, тогда векторными будут и w j. Такие сети оказалась намного эффективней конструкции, определяемой формулой (1.41).

Иногда вместо нормы в (1.42) более удобен выбор положительно определенной функции Q, например, квадратичной формы;

обычно это используется в тех случаях, когда постановка задачи имеет характерную анизотропию. Так, например, при расчете теплообмена в системе «сосуды ткани» (см. параграф 5.5) учитывалась анизотропия геометрии задачи (тонкие вытянутые сосуды) и разный характер процессов в подобластях – это нашло выражение в применении «эллипсоидальных» базисных элементов и специальном выборе начальных значений настраиваемых весов [11-13,68].

Весьма часто в качестве выбирают Гауссов пакет: (t ) = exp(t 2 ), или функцию Коши: (t ) = (1 + t 2 ) 1, а также прямую (t ) = (1 + t 2 )1 2 или обратную (t ) = (1 + t 2 )1 2 мультиквадрику.

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

0.75 0. 0.25 0. -1 -0. -0. 0. - Рис.1.2. График функции exp( x 2 y 2 ) 0.75 0. 0.25 0. -1 -0. -0. 0. - Рис.1.3. График функции exp(4 x 2 4 y 2 ) 0.75 0. 0.25 0. -1 -0. -0. 0. - Рис.1.4. График функции exp(25 x 2 25 y 2 ) Приведём вид мультиквадрик MQ Харди для разных значений параметров:

1 0. 0. - -0. -0. 0. - Рис.1.5. График функции ( x 2 + y 2 + 0.01)1 2 (прямой мультиквадрик) 7. 2.5 0. -1 -0. -0. 0. 1 - Рис.1.6. График функции ( x 2 + y 2 + 0.01) 1 2 (обратный мультиквадрик) К подбору центров cj RBF-сети может быть применено три принципиально различных подхода:

1) Берутся фиксированные центры в области распределения входов.

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

2) Точки входной выборки {xi } разбиваются на кластеры с помощью какого-либо алгоритма – см. предыдущий параграф – и центры таких кластеров берутся в качестве c j.

3) c j выступают в качестве таких же параметров при многомерной оптимизации, что и параметры w j и j.

Для выбора параметров j тоже существует три возможности:

1) j = равно характерному размеру (определённой доле размера рассматриваемой области, например максимального, среднего или среднеквадратичного расстояния между точками области или до центра области). Этот способ применяют, как правило, если центры выбираются первым способом.

j 2) равно характерному размеру, определяемому точками соответствующего кластера, например, j = 1/ 2 D j, где D j – выборочная дисперсия по точкам кластера. Этот подход имеет смысл применять при втором n 1j способе выбора центров, причём D j = x k ck, где n j – число точек в n j k = кластере.

3) j определяется каким-либо методом нелинейной оптимизации наряду с остальными параметрами – это характерно для третьего способа выбора центров. Если центры выбираются первым или вторым способом, то можно применить промежуточный вариант, беря j =, но рассматривая как один из оптимизируемых параметров.

Для параметров w j остаётся немного возможностей. Если j и c j находятся отдельно, то относительно w j получается обычная линейная регрессия. Если мы осуществляем совместный подбор всех коэффициентов, то можно воспользоваться каким-либо алгоритмом нелинейной оптимизации.

Применение градиентных методов требует вычисления производных по j x c j параметрам. Приведём конкретные формулы для случая j = e, где k = ( xl c jl ) 2, k – размерность входного вектора x. Пусть решается x cj l = задача подбора нелинейной регрессии и, как и прежде, используется 1N m m ( yn w j j (x n ))2. Обозначим n = w j j (x n ) yn. Тогда функционал E = 2 n=1 j =1 j = (x ) (x ) E E E N N N = i (x n ) n, = wi i n n, = wi i n n. При этом i i i wi n=1 cil n =1 n = i (x n ) i (x n ) k = i (x n ) ( xnl cil ) 2, = 2 ii (x n )( xnl cil ).

i cil l = Есть ещё одна возможность – модифицировать j и центры c j таким образом, чтобы система для определения w j была бы достаточно хорошо определённой. Однако такой подход таит в себе упомянутые выше трудности, т.е. j не должны быть слишком велики, а c j должны находиться в области распределения набора точек входной выборки {xi }. Такой подход имеет смысл применять для начальной генерации весов с последующим доучиванием сети более точными методами.

Асимметричные RBF-сети. Главная особенность приведённой выше функции j состоит в том, что для неё все направления от центра c j одинаковы. Если моделируемые данные обладают таким свойством, то это достоинство, если нет – то недостаток. В случае, когда не все направления равноправны, более привлекательными оказываются другие функции.

В более простом варианте, когда анизотропия проявляется только в k jl ( xl c jl ) j = e неравноправии координат, можно взять, при этом l = i (x n ) = i (x n )( xnl cil ) 2, остальные формулы остаются без изменений, только il j меняется на jl.

Более сложная ситуация возникает, если характерные направления расположены под углом к исходной системе координат. В этом случае имеет k k jls ( xl c jl )( xs c js ) смысл взять j = e. В этом случае, как обычно, можно считать s =1 l = jls = jsl или, удвоив коэффициенты внедиагональных членов, рассматривать сумму в показателе экспоненты только для индексов, удовлетворяющих i (x n ) = i (x n )( xnl cil )( xns cis ), условию s l. Дифференцируя, получаем il j (x n ) l = 2 j ( x n ) jls ( xns cis ).

c jl s = На следующей группе рисунков показан вид «эллипсоидальных»

гауссианов.

0.75 0. 0.25 0. -1 -0. -0. 0. - Рис.1.7. График функции exp(25 x 2 4 y 2 ) 0.75 0. 0.25 0. -1 -0. -0. 0. - Рис.1.8. График функции exp(25 x 2 25 xy 25 y 2 ) Функции Коши представлены на следующих рисунках.

1 1 0.5 0. 0.5 0. 0 -1 0 -1 -0.5 -0. -0.5 -0. 0 0.5 0. 1 -1 1 - Рис.1.7. Графики функций Коши (9 x 2 + 9 y 2 + 1) 1 и (36 x 2 + 9 y 2 + 1) Подходящий выбор базисных элементов позволяет включить хорошо известный Метод Конечных Элементов в рассматриваемый подход.

Для простоты поясним все для плоского случая p = 2. Для этого необходимо ввести анизотропию – учесть изменение поведения функции вдоль лучей, выходящих из центра: пусть i = ( i, i ), где ( i, i ) – полярные координаты вектора x - ci. При этом метод конечных элементов получается как частный случай RBF-сети при соответствующем выборе функции. Если положение границы элемента относительно его центра характеризуется некоторой функцией i = di ( i ), то можно взять i = (1 i / d i ( i )) +, где, как w, w 0;

обычно, обозначено w+ =. К примеру, для многоугольной границы 0, w получаем кусочно-линейную функцию – «пирамидку», для которой d i ( i ) получается из полярных уравнений прямых, на которых лежат соответствующие отрезки – стороны многоугольника, т.е. на соответствующих интервалах изменения i выполняется равенство di ( ) = pik / cos( i ik ), k номер интервала. Если мы хотим, чтобы базисная функция на границе имела нулевую производную, то можно взять i = (1 i / di ( i )) + 2. Для базисной функции вида i = (1 + 2 i / di ( i ))(1 i / di ( i )) + 2 получаем гладкую вершину. Ещё некоторое усложнение позволяет получить гладкую поверхность с многоугольным основанием, но мы в это углубляться не будем. Идеология нейронных сетей позволяет даже для конечноэлементных базисных функций (кусочно-линейных или кусочно-полиномиальных) предложить другой подход к разбиению области и подбору числа элементов. Если решение искать в виде линейной комбинации этих функций (имеющих вид пирамидальных или иных «шапочек» конечного размера), одновременно с коэффициентами линейной комбинации подбирая и другие параметры (положение центра «шапочки» и размеры её основания) в процессе минимизации функционала ошибки, разбиение области (как правило, это триангуляция) получается автоматически.

Еще раз отметим возможность применения и в этом случае эволюционных алгоритмов (см. главу 2)), позволяющих одновременно настраивать веса и структуру сети.

В многомерном случае можно взять i = i (, v ), где = x ci, а v – вектор на единичной сфере, который может быть параметризован соответствующими сферическими координатами.

В некоторых задачах могут оказаться полезными сети более сложной архитектуры [217,230,232]: например, полиномиального вида по независимым переменным с коэффициентами в виде персептронов или RB-функций:

p u = 0 + i xi линейная нейронная сеть или нейросеть квадратичная i = p p p u = 0 + i xi + ij xi x j, где коэффициенты – персептроны или i =1 i =1 j = радиальные базисные функции. Подобные архитектуры нейронных сетей в случае персептронов позволяют рассмотреть отличный от упомянутого выше способ вложения конечноэлементной аппроксимации в нейросетевую.

Рассмотрение персептрона с функцией активации вида (t ) = sign(t ) позволяет представить любую кусочно-постоянную функцию, а приведённые выше конструкции – кусочно-линейную и т.д. Более сложные комбинированные сети обсуждаются в 2.3.

Возможны и континуальные обобщения разложения (1.24), рассмотренные в монографии А.И.Галушкина [85]. В самом общем виде оба способа параметризации вектора весов (a, w ) нейросети – дискретный и непрерывный – можно задать единообразно: ввести нейросетевые разложения типа (1.24) как «смеси», представленные в виде интегралов Стилтьеса u (x) = v (x, a( ))d ( ). Здесь веса сети определяются векторным параметром a и мерой, уже зависящими от непрерывной переменной. В случае кусочно постоянной меры с конечным (или счетным) числом скачков мы возвращаемся к нейросетевому разложению типа (1.24), для абсолютно непрерывной меры приходим к его континуальному варианту. Соответствующий выбор структуры аргумента функции приводит к аналогии RBF-сетей и однослойных персептронов с разложениями по сферическим или плоским волнам соответственно, типичными для задач интегральной геометрии (см. также [236,295]).

1.4. Динамические нейронные сети Данный параграф посвящён рассмотрению нейронных сетей, в работе которых в явной степени задействовано время. При этом часть таких архитектур получается из сетей предыдущего параграфа, а часть строится независимо. Следует упомянуть хорошо изученные алгоритмы обучения таких сетей применительно к задачам управления [220, 221].

Многослойный персептрон с временными задержками [96, 183, 192, 217, 221, 232]. Для такой сети связи идут не только от одних нейронов к другим в фиксированный момент времени, но и от выходов нейронов сети, соответствующей более раннему моменту времени, к нейронам следующего слоя сетей, соответствующих более поздним моментам. При этом формулы (1.25) и (1.26) заменяются соотношениями pl y l (n) = Wl (t )xl (n t ), (1.43) t = xl ( n) = l ( y l 1 ( n)). (1.44) Очевидно, формулы (1.43) и (1.44) работают без проблем при выполнении L условия p = pl n. Если это неравенство не выполняется, можно положить l = x(n) = 0 при номерах n 1. Более разумным представляется строить линейную регрессию по исходным данным. Например, на первом шаге – когда у нас есть только x(1), можно положить x(n)=x(1) для номеров n 1. При поступлении x(2), разумно взять x(0) = 2x(1) x(2) и т.д. x(n) = x(1) + (n 1)(x(2) x(1)).

Получив x(3), можно построить зависимость x(1) = x(2) + x(3), продлить её назад x(0) = x(1) + x(2), x(1) = x(0) + x(1) и т.д. до той глубины, которая требуется. Смотри также приведённый в 1.2 треугольный алгоритм.

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

Однако при этом существенно увеличивается число варьируемых параметров, итак не малое, и соответственно усложняется процедура оптимизации.

Несложно, так же, как и в предыдущем параграфе, вывести формулы для вычисления производных. Дифференцируя (1.43), получаем y l (n) Wl (t ) =( xl ( n t ), (1.45) wijl ) (t ) wijl ) (t ) ( Wl (t ) на месте с номером i, j стоит 1, а на остальных – нули.

где в матрице wijl ) (t ) ( Если l s L, то дифференцирование даёт y s ( n) min( ps,n ) x ( n t ) = Ws (t ) s ( l ). (1.46) wijl ) ( ) wij ( ) ( t = Аналогичным образом вычисляются вторые производные, только формулы получаются более громоздкими.

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

Анализ формул (1.43) - (1.46) показывает, что при значениях T p, где L p = pl n (количество подбираемых коэффициентов должно быть l = существенно меньше числа уравнений), объём вычислений, необходимый для подсчёта значений функционала ошибки E ( N, T ) и градиента, почти такой же, как и для случая стационарного многослойного персептрона.

Тем не менее, подбираемых переменных получается слишком много даже для сетей с небольшим числом нейронов. Обработка такой массы данных может занять больше времени, чем проходит между последовательными сигналами, если они приходят не слишком редко. Если сигналы приходят редко, то возникает другая проблема – приходится слишком долго ждать, когда накопится достаточно много данных для начала работы сети.

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

p последних наблюдений, а все Если мы учитываем не только поступившие, возникает несколько серьёзных вопросов. Во-первых, необходимо следить за тем, чтобы число подбираемых параметров было существенно меньше числа условий, т.е. kN, где k – число выходов. Простой анализ показывает, что это условие не может выполняться, если присутствуют все веса и они варьируются независимо. Таким образом, предполагается некоторая параметризованная взаимосвязь между весами сети – подобные сети будут рассмотрены в четвёртом параграфе следующей главы. Ещё одна проблема заключается в том, что количество аргументов переменно. Но это не слишком большая проблема – можно инициировать веса Wl ( n) небольшими начальными значениями на каждом шаге. Реально такую сеть можно строить, имея некоторый набор временных процессов и в качестве минимизируемого функционала используя сумму ошибок по всем реализациям.



Pages:     | 1 || 3 | 4 |   ...   | 10 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.