Часть 1. Искусственные нейронные сети в задачах системного анализа (1245270), страница 12
Текст из файла (страница 12)
При использовании NNARMAX моделей градиент получается в результате «временной линейной фильтрации» частной производнойφ(t ) .Очевидно, чтоэто может привести к проблемам с устойчивостью алгоритма, особеннопри начальной инициализации весовых коэффициентов случайными числами. Таким образом, для получения приемлемого решения иногда приходится проводить повторное обучение НС.Вычисление градиента для моделей типа «обновления пространства состояний» (NNSSIF) представляет более трудоемкую процедуру, чем длярассмотренных ранее случаев. Полагая, что все компоненты вектора состояний могут быть оценены, получаем следующее выражение для определения градиента:ψ(t , θ) =гдеdx (t θ)dθC T = ψ x (t , θ)C T ,(2.127)76ψ x (t , θ) =−dx T (t θ)dθ∂x T (t θ)=∂θdy (t − r θ) ∂x T (t θ)dθ∂ε(t − 1, θ)+dx T (t − 1 θ) ∂x T (t θ)dθ∂x (t − 1, θ)−(2.128)= φ(t ) + ψ x (t − 1, θ) A(t ) −− ψ(t − r, θ) K T (t ) = φ(t ) + ψ x (t − 1, θ)( A(t ) − K (t ))T .В случае невозможности получения полной информации о векторе состояний необходимо использовать несколько нейронных сетей (аналогфильтра Калмана [9]).
Однако при вычислении градиентов можно рассматривать модель как единую НС. В этом случае имеет место следующее преобразование матрицыA(t )для всех значенийj ∈ {qi }⎧⎪ A j ,k = 1, j = k + 1,⎨⎪⎩ A j ,k = 0, i ≠ k + 1.Определение остальных компонент матрициk ∈ {qi + 1} :(2.129)A(t )иK (t )осуществляется сиспользованием соотношения (2.133).Частная производнаяφ(t )является производной прогнозируемого зна-чения (выхода НС) по весовым коэффициентам нейронной сети в случаепренебрежения зависимостью регрессора от весовых коэффициентов.Обозначим обобщенную выходную переменную НС модели какzk .То-гда для двухслойной НС с линейными активационными функциями нейронов выходного слоя и тангенциальными активационными функциями нейронов скрытого слоя⎛ nϕ⎞zk (t θ) = g k (ϕ(t , θ), θ) = ∑Wkj tanh ⎜ ∑ w ji ϕl (t , θ) + w j 0 ⎟ + Wi 0 =⎜ l =1⎟j =1⎝⎠(2.130)nhnh= ∑Wkj h j (t , θ) + Wi 0 .j =1Частные производные вычисляются следующим образом:⎧h j (t ), j > 0, k = i,∂zk (t θ) ⎪= ⎨1, j = 0, k = i,∂Wij⎪0, i ≠ k ;⎩(2.131)2∂zk (t θ) ⎧⎪Wkj (1 − h j (t ))ϕl (t , θ), l > 0,=⎨2∂w ji⎪⎩Wkj (1 − h j (t )), l = 0.(2.132)77Количество строк матрицыφ(t )определяется числом весовых коэффици-ентов НС, число столбцов равно числу выходов НС.Якобиан нейросетевой модели.
Якобиан, или мгновенная матрица усиления, является производной выхода НС по входам для заданной пары«вход-выход».Для двухслойной НС с линейными активационными функциями нейронов выходного слоя и тангенциальными активационными функциями нейронов скрытого слоя частная производная по произвольному входу определяется какnh⎡⎛ nϕ⎞⎤z k (t θ)= ∑W kj w jl ⎢1 − tanh 2 ⎜ ∑ w ji ϕ l (t , θ) + w j 0 ⎟ ⎥ =⎜ l =1⎟⎥∂ϕ l (t , θ) j =1⎢⎣⎝⎠⎦nh(2.133)=∑W kj w jl ⎡⎣1 − h 2j (t , θ) ⎤⎦.j =1Метод обратного распространения (ошибки). В случае, когда нейронная сеть содержит более одного скрытого слоя с нелинейными функциямиактивации, выражения для определения значенийφ(t ) ,соответствующихэлементам матрицы частных производных, очевидно, становятся болеесложными.
Алгоритм определения градиента минимизируемого критериядля сети с произвольным числом скрытых слоев и произвольным видомактивационных функций, использующий особенности структуры НС, носит название метода обратного распространения (ошибки), или обобщенного дельта-правила [6]. Так как алгоритм рассчитан на обучение НС прямого действия, то он может быть непосредственно применен только к модельным структурам типа NNARX. Тем не менее метод может бытьмодифицирован и для получения частных производныхφ(t ) .Градиент критерия наименьших квадратов (рассматривается общий случай НС с несколькими выходами) может быть представлен следующим образом:78G ( θ) = VN′ (θ, Z N ) =1=−NN∑t =11N∂y T (t θ)∂θ∂εT (t , θ)ε ( t , θ) =∂εt =1N∑(2.134)( y (t ) − y (t θ)).Прогнозируемое НС выходное значение вычисляется в соответствии соследующим выражением (для выхода k ):⎛ nh⎞⎛ nϕ⎞⎛ nh⎞yk (t θ) = Fk ⎜ ∑ Wkj h j (t ) ⎟ = Fk ⎜ ∑Wkj f j ⎜ ∑ w jl ϕl (t ) ⎟ + Wk 0 ⎟ ,⎜ j =0⎟⎜ l =0⎟⎜ j =1⎟⎝⎠⎝⎠⎝⎠гдеfj(2.135)− активационная функция нейрона скрытого слоя j, аFk− активаци-онная функция выхода k .
Для простоты нейронные смещения представлены как добавочные весовые коэффициенты, т.е.h0 (t ) = ϕ0 (t ) = 1 .Частные производные выходов НС по весовым коэффициентам определяются следующими соотношениями:⎛ nh⎞∂yk (t θ)= h j (t ) Fk′ ⎜ ∑ Wkj h j (t ) ⎟ ,⎜ j =0⎟∂Wkj⎝⎠(2.136)⎛ nϕ⎞⎛ nh⎞∂yk (t θ)= ϕl (t ) f j′ ⎜ ∑ w jl ϕl (t ) ⎟ Wkj Fk′ ⎜ ∑ Wkj h j (t ) ⎟ ,⎜ j =0⎟⎜ j =0⎟∂w jl⎝⎠⎝⎠(2.137)φ(jkW ) =φ(kjlw ) =что приводит к следующему выражению для определения градиента скрытого-выходного слоя:N⎛ nh⎞G (Wkj ) = ∑ h j (t ) Fk′ ⎜ ∑ Wkj h j (t ) ⎟ yk (t ) − yk (t θ( i ) ) =⎜⎟t =1⎝ j =0⎠(N=∑t =1)(2.138)h j (t )δ(kW ) (t ),где «ошибка» или «дельта» вводится как⎛ nh⎞δ(kW ) (t ) = Fk′ ⎜ ∑ Wkj h j (t , θ) ⎟ ( yk (t ) − yk (t θ) ) .⎜ j =0⎟⎝⎠(2.139)Градиент для входного-скрытого слоя определяется какN⎛ nϕ⎞ nyG ( w jl ) = ∑ ϕl (t ) f j′ ⎜ ∑ w jl ϕl (t ) ⎟ ∑Wkj (t )δ(kW ) (t ) =⎜ l =0⎟ k =1t =1⎝⎠N= ∑ ϕl (t )δ(jW ) (t ),t =1где(2.140)79⎛ nϕ⎞ nyδ(jw ) (t ) = f j′ ⎜ ∑ w jl ϕl (t ) ⎟ ∑Wkj (t )δ(kW ) (t ) .⎜ l =0⎟ k =1⎝⎠(2.141)Аналогичным образом алгоритм обобщается на случай произвольногочисла скрытых слоев НС.
Процедура заключается в распространении поНС значения «дельта» (2.139) слой за слоем в обратном направлении.При необходимости частные производныеφ(t )могут быть получены извыражений (2.138) и (2.140). Из выражения (2.139) удаляется значениеошибки прогнозирования (невязки), затем отдельно для каждого выходаприменяется метод обратного распространения ошибки.Определение направления поиска. При использовании методов Ньютона, Гаусса − Ньютона и Левенберга − Маркардта для определения направления поиска необходимо решать системы линейных уравнений [7, 13,14].
Методы, основанные на использовании таких свойств гессиана Гаусса– Ньютона, как положительная определенность и симметричность, рассмотрены в работе [40].Многомерные системы. Системы, имеющие векторный вход и (или)выход, называются многомерными. Очевидно, что построение моделей таких систем является более сложной процедурой (по сравнению с одномерным случаем). Тем не менее при многомерном входе могут быть использованы рассмотренные в настоящей работе методы оптимизации.
Модели снесколькими выходами имеют гораздо более сложную структуру, вследствие чего их параметризация нетривиальна. Существует несколько подходов к решению данной задачи. Наиболее простым (с точки зрения практического применения) является использование независимой модели для каждого выхода. В этом случае задача может быть решена без каких-либодополнительных модификаций. Однако более естественно рассматриватьсистему в целом, модифицированный критерий идентификации80V N ( θ, Z N ) =12N1=2NN∑ ( y (t ) − y (t θ)) T ( y (t ) − y (t θ)) =t =1N∑εT(2.142)(t , θ)ε(t , θ).t =1Критерий (2.142) не является достаточно эффективным при значительном различии дисперсии шумов по каждому входу и существенной взаимно-корреляционной функции.
Вместо критерия (2.142) может быть использована следующая модификация:VN ( θ, Z N ) =гдеΛ12NN∑ εT (t, θ)Λ −1ε(t, θ) ,(2.143)t =1– матрица ковариации шумов,Λ = E{e(t )eT (t )} .Оценка, полученная пу-тем минимизации критерия (2.143), соответствует оценке максимальногоправдоподобия при условии нормального распределения шумов и известнойматрицеΛ.При реализации метода Левенберга – Маркардта используютсяследующие выражения для определения градиента и гессиана:G ( θ) = VN′ ( θ, Z N ) =R( θ) =1N1NN∑ ψ(t, θ)Λ −1 ( y (t ) − y(t θ)) ,(2.144)t =1N∑ ψ(t, θ)Λ −1ψ(t, θ) ,(2.145)t =1где матрица производных выхода по весовым коэффициентам определяется какψ(t , θ) =∂y T (t θ)∂θ.(2.146)Алгоритм Гаусса – Ньютона (версия с экспоненциальным затуханием)модифицируется следующим образом:(K (t ) = P (t − 1)ψ(t ) λΛ −1 + ψ T (t ) P(t − 1)ψ(t ))−1θ(t ) = θ(t − 1) + K (t )Λ −1 ( y (t ) − y (t θ(t − 1)) ) ,(,(2.147))P (t ) = P(t − 1) − K (t )ψ T (t ) P(t − 1) λ .В случае, когда матрица ковариации неизвестна, возникает необходимость определенияΛодновременно с определением весовых коэффициен-81тов нейросетевой модели.
Данная проблема подробно рассмотрена в работах [9, 40].Критерий останова. Критерий останова вводится для автоматическогозавершения процедуры обучения. Обычно критерием останова являетсянекоторое условие, выполнение которого показывает, что дальнейшая оптимизация параметров модели неэффективна. Существенной проблемойпри выборе критерия является невозможность определения адекватностимодели на стадии обучения. Решением проблемы является введение сразунескольких ограничений.Первый вариант – задание максимального числа итераций процедурыобучения.
Данный критерий не имеет физического (математического)обоснования и определяет лишь максимально допустимые временные затраты на процедуру обучения. Тем не менее критерий может быть использован в качестве основного в системах реального времени. Следует отметить, что для достижения минимума с требуемой степенью точности прииспользовании метода Левенберга – Маркардта обычно достаточно провести 500 – 600 итераций для нейросетевой модели, содержащей 100 – 500весовых коэффициентов.Другой способ задания критерия останова – введение ограничений наградиентG ( θ) .В точке минимумаθ = θ*градиент должен быть равен нулю.При использовании методов последовательного приближения достижениеравенстваG ( θ* ) = 0невозможно. Тем не менее в качестве критерия остановаможет быть задано следующее условие:G (θ( i ) ) ≤ ε ,гдеε(2.148)– некоторая константа.