Содержание к диссертации
Введение
1 Измерение параметров объектов с помощью нейросетевого моделирования 12
1.1 Задачи измерения параметров динамических объектов . 12
1.1.1 Пример объекта - процесс метаболизма глюкозы в человеческом организме 14
1.2 Применение моделей динамических объектов в измерительных приложениях 18
1.2.1 Моделирование в статических режимах 18
1.2.2 Динамические модели объектов 20
1.2.3 Моделирование в условиях недостаточной информации 21
1.2.4 Моделирование с использованием нейронных сетей . 22
1.3 Применение нейронных сетей для моделирования динамических систем 24
1.4 Алгоритмы обучения динамических нейронных сетей . 34
1.5 Нейронные сети и интеллектуальные измерительные системы 37
1.5.1 Интеллектуальные измерительные системы на основе нейронных сетей 39
1.5.2 Нейронные сети и классические вычислительные методы 40
1.6 Постановка задачи диссертации 42
2 Развитие методик измерений, основанных на применении динамических нейронных сетей 45
2.1 Разработка методики измерения параметров линейных дина мических систем по неполному вектору состояния 45
2.1.1 Измерение параметров линейных динамических систем по неполному вектору состояния 46
2.1.2 Моделирование измерений параметров линейных динамических систем 49
2.2 Разработка методики измерения параметров линеаризованных нелинейных динамических систем по неполному вектору состояния 53
2.2.1 Измерение параметров линеаризованных нелинейных динамических систем по неполному вектору состояния 53
2.2.2 Моделирование измерения параметров нелинейных линеаризованных динамических систем 61
2.3 Разработка методики измерения параметров нелинейных ди намических систем по неполному вектору состояния 63
2.3.1 Измерение параметров нелинейных динамических систем по неполному вектору состояния 63
2.3.2 Моделирование измерений параметров нелинейных динамических систем 65
2.4 Исследование зависимости точности измерений от парамет ров нейросетевой модели 68
2.4.1 Исследование зависимости точности измерений от количества непосредственно измеряемых компонент вектора состояния 68
2.4.2 Исследование зависимости точности измерений от длины входной линии задержки 72
2.5 Выводы по главе 2 78
Применение и совершенствование алгоритма обучения динамических нейронных сетей, основанного на теории фильтров Калмана 81
3.1 Теория фильтров Калмана 81
3.1.1 Фильтр Калмана для одномерной величины 83
3.1.2 Фильтр Калмана для динамических систем 88
3.1.3 Фильтр Калмана для нелинейных динамических систем 89
3.2 Обучение динамических сетей с использованием фильтров Калмана 90
3.2.1 Вычислительная сложность 93
3.3 Анализ классических алгоритмов обучения нейронных сетей и алгоритма обучения, основанного на теории фильтров Калмана 94
3.3.1 Условия эксперимента 95
3.3.2 Результаты 95
3.4 Применение сетей Калмана для построения измерительных систем 97
3.5 Разработка методики увеличения скорости сходимости алгоритма Калмана 99
3.6 Выводы по главе 3 103
Разработка методики оценки погрешностей в измерительных системах, использующих динамические нейронные сети 106
4.1 Анализ и моделирование погрешности стандартного нейрона 106
4.1.1 Нелинейный преобразователь 108
4.1.2 Сумматор 108
4.1.3 Учет собственных погрешностей элементов нейрона . 109
4.1.4 Моделирование погрешности стандартного нейрона . 111
4.2 Анализ и моделирование погрешности нейронной сети прямого распространения 117
4.3 Разработка методики оценки погрешности рекуррентной нейронной сети 121
4.4 Исследование влияния алгоритма обучения на погрешность нейронной сети 123
4.5 Выводы по главе 4 126
Система неинвазивного косвенного измерения уровня глюкозы крови 128
5.1 Задача неинвазивного косвенного измерения уровня глюкозы крови 128
5.2 Система неинвазивного косвенного измерения уровня глюкозы крови 131
5.2.1 Аппаратная реализация 132
5.2.2 Алгоритмы обработки данных 135
5.2.3 Предварительная обработка входных данных 137
5.2.4 Архитектура нейронной сети 141
5.3 Сравнительный анализ экспериментальных данных 143
5.3.1 Результаты сравнительного тестирования нейросетевых моделей 147
5.3.2 Результаты испытаний для моделей ЕМ, WB и NN . 148
5.3.3 Результаты испытаний модели NN-K 149
5.4 Система неинвазивного косвенного определения уровня глю козы крови по параметрам термочувствительности 151
5.4.1 Предварительная обработка данных 152
5.4.2 Архитектура нейронной сети 153
5.4.3 Анализ экспериментальных данных 153
5.5 Выводы по главе 5 154
Заключение 157
Литература
- Пример объекта - процесс метаболизма глюкозы в человеческом организме
- Измерение параметров линейных динамических систем по неполному вектору состояния
- Фильтр Калмана для динамических систем
- Учет собственных погрешностей элементов нейрона
Введение к работе
В настоящее время особенно актуальным является применение информационных систем в задачах измерения и контроля свойств сложных объектов, к числу которых относятся различные технологические процессы, производственные системы и комплексы, сети передачи информации, биометрические системы, а также все природные явления.
Модель сложного объекта можно представить как нелинейную динамическую систему, описываемую уравнениями состояния и измерения. В диссертации решается задача косвенного измерения параметров объекта в условиях неполной информации о векторе состояния.
В качестве конкретного примера изучаемого объекта рассматривается процесс метаболизма глюкозы в крови человека. Для данного процесса не существует полной аналитической модели, хотя известны многие параметры, влияющие на метаболизм глюкозы.
Для класса полностью управляемых сложных объектов недоступность параметров состояния не всегда является проблемой, так как модель объекта может быть построена по управляющим воздействиям (в случае их доступности). В случае частично управляемого объекта некоторые параметры состояния не поддаются внешнему контролю.
Для проведения измерений в условиях неполного вектора состояния объекта в общем случае требуется методика для оценки требуемых параметров с помощью построения модели объекта. Одним из перспективных подходов к построению моделей является использование теории нейронных сетей.
Нейронные сети применяются для построения моделей в измерительных приложениях достаточно давно. Однако, такие вопросы как оптималь ный выбор архитектуры нейронной сети, выбор алгоритма обучения и исследование метрологических характеристик неиросетевых моделей остаются открытыми.
Диссертационная работа посвящена разработке методов, алгоритмов и программных средств, предназначенных для обработки информации в рамках измерительной системы, для решения задачи проведения косвенных измерений параметров нелинейных локально-стационарных динамических систем дискретного времени при условии не полностью доступного вектора состояния.
Решение этой задачи связано с выполнением следующих этапов исследования:
1. Анализ и теоретическое обоснование возможности проведения измерений в условиях неполного вектора состояния.
2. Разработка метода измерений, основанного на моделировании исследуемой динамической нелинейной системы с применением темпоральных (динамических) нейронных сетей.
3. Исследование архитектур и алгоритмов обучения динамических нейронных сетей для определения модели сети и алгоритма, максимально отвечающих требованиям измерительной системы.
4. Разработка,метода оценки погрешностей выходных сигналов нейро-сетевой модели для обоснования возможности использования нейронной сети и осуществления мониторинга погрешностей в процессе функционирования системы.
5. Применение разработанных методов для построения системы неин-вазивного косвенного определения уровня глюкозы крови.
В диссертационной работе представлены следующие новые научные результаты:
1. Систематизация архитектур динамических нейронных сетей, применяемых для обработки динамических данных.
2. Метод проведения измерений в условиях неполного измеряемого вектора состояния системы, основанный на моделировании системы с помощью динамической нейронной сети.
3. Экспериментальное обоснование наибольшей эффективности алгоритма обучения нейронной сети, основанного на теории фильтров Калмана, для решения задачи моделирования изучаемых систем.
4. Уточнение и расширение формул коррекции параметров обучения в алгоритме обучения нейронной сети, основанном на теории фильтров Калмана.
5. Метод оценки погрешностей выходных сигналов нейросетевой модели исследуемой системы.
Практическую значимость диссертационной работы составляют:
1. Алгоритм обработки данных в системе неинвазивного измерения глюкозы крови человека на основе моделирования с использованием нейронной сети и алгоритма Калмана.
2. Программное обеспечение для исследования возможностей нейросе-тевого моделирования нелинейных динамических систем с применением алгоритма обучения Калмана, предназначенное для работы в среде Matlab 6.1, включая реализацию алгоритма обучения Калмана на языке Matlab.
3. Программное обеспечение, реализующее алгоритм обучения Калмана и алгоритм оценки погрешностей, для применения в составе системы неинвазивного косвенного измерения уровня глюкозы крови, разработанное на языке C++.
На защиту выдвигаются следующие положения:
1. Метод проведения измерений в условиях неполного измеряемого вектора состояния системы, основанный на моделировании системы с помощью динамической нейронной сети с использованием алгоритма Калмана.
2. Методика коррекции параметров скорости обучения алгоритма Калмана.
3. Методика оценки погрешностей выходных сигналов нейросетевой модели в реальном времени.
Основной материал диссертации изложен в пяти главах.
В первой главе диссертации проанализированы задачи обработки информации, решаемые в рамках систем измерения параметров сложных объектов. Рассмотрены основные модели динамических систем, применяемые в измерительных приложениях. Поставлена задача измерения параметров объектов по неполному вектору состояния. Эффективное решение данной задачи может быть реализовано с помощью моделирования с применением динамических (темпоральных) нейронных сетей. Систематизированы существующие архитектуры динамических нейронных сетей, рассмотрены основные алгоритмы обучения. В заключительной части главы 1 приведена формальная постановка задачи диссертации.
Вторая глава посвящена разработке и исследованию методов измерения параметров сложных объектов по неполному вектору состояния. Предложены алгоритмы проведения измерений для линейных, нелинейных линеаризованных и нелинейных динамических систем по неполному вектору состояния. С помощью моделирования исследованы зависимости погрешности от количества непосредственно измеряемых компонент вектора состояния и от параметров нейронной сети. • В третьей главе рассматривается алгоритм обучения нейронных се тей; основанный на теории фильтров Калмана. Рассмотрен классический • фильтр Калмана для линейной динамической системы, а также его расширение для случая нелинейной динамической системы. Проанализировано применение фильтра Калмана к задаче обучения нейронной сети с учителем. Приведены результаты сравнительного моделирования, демонстрирующие превосходство алгоритма обучения Калмана над стандартными алгоритмами обучения нейронных сетей. Предложена усовершенствованная методика изменения параметров обучения алгоритма Калмана, позволяющая увеличить скорость сходимости алгоритма.
В четвертой главе предложен и исследован метод оценивания погрешностей выходных сигналов нейросетевой модели. Метод позволяет оценивать погрешность выходных сигналов нейронной сети при известных погрешностях входных сигналов. Метод основывается на вычислении оценки погрешности стандартного нейрона. Погрешность выходных сигналов нейронной сети вычисляется с помощью последовательного вычисления погрешностей отдельных нейронов. Приведены результаты моделирования оценки выходной погрешности. Показано, что алгоритм обучения Калмана обеспечивает меньшую погрешность выходных сигналов сети за счет более компактного диапазона изменения весовых коэффициентов.
Пятая глава содержит результаты применения разработанных в диссертации методов и алгоритмов при разработке системы неинвазивного косвенного измерения уровня глюкозы крови. Приводится описание аппаратной реализации системы и использованных алгоритмов обработки данных. Параллельно с нейросетевой моделью процесса метаболизма глюкозы изучались водобалансная и феноменологическая модели. Приведены результаты тестирования системы, выполненного для данных 94 волонтеров. Ней-росетевая модель, использующая алгоритм обучения Калмана, позволила добиться снижения погрешности на 1-3% по сравнению с наиболее точной из альтернативных моделей.
В заключении приведены основные научные и практические результаты, полученные вдиссертации,
Пример объекта - процесс метаболизма глюкозы в человеческом организме
Примером биологического процесса, для которого необходимо решать задачу измерений по неполному вектору состояния, является процесс метаболизма глюкозы в человеческом организме ([104]). Упрощенная физиологическая модель данного процесса приведена на рисунке 1.1. Стрелки на рисунке указывают перемещение глюкозы, /+ и /— соответствуют использованию инсулина.
Пищеварительный тракт расщепляет большую часть углеводов, выделяя глюкозу в кровь. Глюкоза сохраняется в печени в виде гликогена и при необходимости освобождается снова для увеличения уровня глюкозы в крови. Выделение печенью глюкозы из крови требует использования инсулина, который также неявно подавляет обратный процесс - освобождение глюкозы печенью. Большинство клеток, включая мышечные клетки, используют инсулин для абсорбции глюкозы из крови. Глюкоза является единственным источником энергии для центральной нервной системы и эритроцитов, но инсулин в данном случае не используется. В случае превышения допустимого уровня глюкозы последняя выводится через мочу. Выработка инсулина в организме осуществляется поджелудочной железой ([104]).
Таким образом, процесс метаболизма глюкозы является очень сложным и задействует большое количество различных подсистем человеческого организма. Задача определения уровня глюкозы по множеству параметров организма не решается классическими методами, так как не существует полной аналитической модели данного процесса, в частности, не определено полное множество параметров, подлежащих измерению. Многолетний опыт врачей физиологов позволяет делать предположения о различных параметрах, влияющих на показатель уровня глюкозы крови. На рисунке 1.2 представлена модель измерений для процесса метаболизма глюкозы.
Выходным сигналом системы является уровень глюкозы в крови. В модели используются следующие управляющие воздействия ([3]). ufood - принятая пища в хлебных единицах; Udrink - жидкость, поступающая во время питья в хлебных единицах; Uins - введенный инсулин в миллилитрах; Uinsype - тип введенного инсулина: продолжительного, короткого и ультракороткого действия; Uphact - физическая активность в баллах; uPsyh - психологические воздействия (наличие или отсутствие); udim - климатические воздействия - температура и влажность окружающей среды; Указанные входные воздействия не могут быть измерены достаточно точно, некоторые из них, например, психологические воздействия, являются нечисловыми характеристиками. Воздействие указанных параметров на объект измерения приводит к изменению вектора состояний объекта измерения. Вектор состояний включает: xiiqcon - концентрация жидкости в межклеточном пространстве г/см3; xiiqcanvein концентрация жидкости в сосудах на измерительном участке в г/см3; xiiqamceii - концентрация жидкости в клетках тканей на измерительном участке в г/см3; XNacon - концентрация натрия в тканях в г/см3; XTint - температура тканей внутреннюю в градусах; xvisc - вязкость крови; Xvasop - концентрация гормона вазопрессина АДГ в крови в мг/л; Xdepos - количество гликогена в печени (депонированная глюкоза) в граммах; XTsurf - температура поверхности тканей в градусах; х&ігіп - содержание глюкозы в моче в мг/литр; %psyh - психологическое состояние в баллах. Значения параметров хтш, хцдсоп и xuqconceu определяются косвенным образом по следующим непосредственно измеряемым параметрам: %н/ — высокочастотный импеданс тканей на измерительном участке в омах; Xbf - низкочастотный импеданс тканей на измерительном участке в омах; хт - температура измерительного участка в градусах С;
Указанные параметры не являются полным множеством параметров процесса метаболизма глюкозы. Непосредственное измерение некоторых из них не является возможным, то есть построение измерительной системы вновь требует оценки оставшихся неизвестных или неизмеряемых параметров.
Таким образом, задача измерений по неполному вектору состояния может быть решена с помощью построения модели исследуемого объекта. В следующем разделе рассмотрены основные существующие подходы к построению моделей динамических систем в измерительных приложениях.
Измерение параметров линейных динамических систем по неполному вектору состояния
Динамическое поведение линейной системы, свободной от шумовых воздействий, характеризуется следующими уравнениями состояния и измерения (наблюдения) ([49]): х(п + 1) = А х(п) + В u(n) (2.1) у(тг) = С.х(п) (2.2) где х(п) - -мерный вектор состояния, u(n) - m-мерный вектор входных воздействий, у(п) - р-мерный вектор выхода, А - матрица размерностью q х q, В - матрица размерностью q х т, С - матрица размерностью pxq.
Уравнение (2.1) характеризует динамику состояний системы, уравнение (2.2) определяет значения выходных параметров. Задачей измерения является нахождение вектора выхода системы у(п) по непосредственно измеренным компонентам вектора состояния х(п).
Если имеется возможность измерить все компоненты вектора состояния системы х(п), то матрица С является матрицей полного ранга. В этом случае алгоритм измерения сводится к вычислению линейной комбинации измеренных компонент вектора х(п). Такие измерения можно реализовать с использованием простейшей статической нейронной сети, состоящей из р нейронов с линейной активационной функцией (рисунок 2.1). При этом в процессе обучения выполняется оценка матрицы С. Обученная сеть далее используется в процессе измерения.
В случае невозможности определения всех компонентов вектора состояний х(п) и измерения их значений оценку выхода системы можно выполнить по неполному вектору состояний размерности г q. Рассмотрим простейший случай: пусть недоступен один г + 1-й параметр xr+i(n).
Согласно (2.1), значение параметра xr+i(n) определяется следующими уравнениями. xr+i(n) = аг+ід х\{п — 1) +... + аг+ііГ хг(п — 1) + аг+і,г+і xr+i(n — 1)+ + &Г+1Д щ(п -1) + Vi-1,2 и2(п - 1) + ... + Ьг+і,т ит(п - 1) xr+i(n — 1) = аг+ід -xi(n — 2) +... + аг+і)Г -хг(п — 2) + аг+і)Г+і -xr+i(n -2)+ + Ьг+і,і «i(n - 2) + 6,.+1,2 u2(n - 2) + ... + 6r+1,m um(n - 2) xr+i(n—F+l) = аг+і,і-жі(п—F)+.. .+ar+iyxr(n—F)+ar+itr+i-xr+i(n—F)+ + Ьг+1д щ(п - F) + 6,.+1,2 u2(n - F) + ... + 6r+i,m wm(n - F) (2.3)
Подставляя последовательно значения xr+i(n — к) из следующего уравнения в предыдущее, получим оценку неизвестного неизмеряемого параметра через измеряемые параметры системы и управляющие воздействия, задержанные не более чем на F тактов: xr+i(n) = cir+i xifo — 1) + ... + аг+і гхг(п — 1)+ + br+ifiui(n -1) + ...+ br+hmum(n - 1)+ + ar+i7r+i{ar+itixi(n — 2) + ... + ar+ rxr{n -2)+ + &r+i,i«i(n - 2) + ... + br+hmum(n - 2))+ + a?+i,r+i(ar+i,ixi(n -F)+ ... + ar+1,rxr(n -F)+ + &r+i,i«i(n - F)+ ... + 6r+i,mum(n - F))+ + ar+i,r+ixr+i (n - F) (2.4)
Из условия устойчивости динамической системы следует, что коэффициенты в уравнении (2.4) убывают с увеличением временной задержки параметров. Можно предположить, что при достаточно большом F последнее слагаемое a r+lxr+\{n — F) имеет малое влияние на результат оценки xr+i(n), и им можно пренебречь.
Пусть Xfc n = [xk{n), Хк{п — 1),..., Хк(п — F)]T - к-й вектор измеренных параметров и щп = [щ(п),щ(п — l),...,Uj(n — F)]T - j-й вектор управляющих воздействий. Тогда уравнение измерения (2.2) приобретает вид: К т y(n) = 1 dl хм + 5Z gf UJ + е(п) (2-5) к=0 j=l где dfc = ІСг+1аг+1,Ь Cr+l r+l.r+l r+l.fc) Cr+iar+lir+lar+l,k, Cr+l +l.r+l +l.JfcJ И gj = [Cj.+iai.+i +ibr+ij, Сг+iO ! .! ! ,..., Cr+lOr+lir+16r+ij] - векторы, содержащие коэффициенты, e(n) - ошибка определения выхода системы при измерении не полного вектора ее состояний. Аналогично можно получить формулы для оценивания двух и более неизвестных параметров состояния линейной динамической системы.
Процедуру измерения выхода линейной динамической системы при невозможности определения или измерения всех параметров вектора состояния можно реализовать с использованием динамической однослойной нейронной сети прямого распространения с задержками на входе и линейными активационными функциями (рисунок 2.2). Для обучения нейронной сети может быть использована стратегия обучения с учителем. Обученная нейронная сеть выполняет измерения выходных параметров динамической системы.
Таким образом, нейросетевой алгоритм позволяет выполнять измерения в рассмотренной линейной динамической системе, даже если неизвестны, или не могут быть измерены все параметры ее состояния, определяющие выход системы. При этом на вход нейронной сети поступает не только вектор последовательности измеренных значений состояний, но и вектор последовательности управляющих воздействий. Следовательно, отсутствие достаточного объема информации об измеряемом объекте может быть компенсировано за счет измерения параметров входных воздействий и применения простейшей нейронной сети, выполняющей в процессе измерения рекуррентное оценивание неизвестных параметров системы.
Фильтр Калмана для динамических систем
Фильтр Калмана естественным образом расширяется для случая линейных динамических систем, описываемых следующими уравнениями состояния и измерения ([64])). Xk+i = Ахк + Вик + Wk (3.21) zk = Нхк + vk (3.22) где хк - вектор состояния, щ - входной вектор, Wk - неопределенность процессах ковариационной матрицей Qk, zk - измеренное значение, vk -погрешность измерения и Н - матрица измерения.
По сравнению с одномерным случаем, в данных уравнениях фигурируют векторные величины. Переменные состояния измеряются не непосредственно, а через линейные комбинации, задаваемые элементами матрицы Н. Алгоритм фильтрации Калмана для данного случая имеет вид ([64]): 1. Выбор начальных оценок XQ И РО 2. Вычисление коэффициента усиления Калмана: Кк — PkH S 1, Sk = Rk + HkPkHfr, где Rk- ковариационная матрица 1. 3. Коррекция текущей оценки: хк = х,к + Кк{%к — НкХк). 4. Коррекция оценки дисперсии ошибки: Рк — (I — КкНк)Рк. 5. Предсказание величины: хк+\ = Лхк + Вик 6. Предсказание дисперсии: Pk+i = ЛРкАт + Qk, где Qk- ковариационная матрица Wk 7. Переход на шаг 2.
Теория фильтров Калмана была разработана для применения к линейным системам. На практике уравнения процесса и уравнение измерения часто являются нелинейными функциями ([49]): Xk+i = f{xk, ик) + wk (3.23) zk = h(xk)+vk (3.24) Для обеспечения возможности применения уравнений фильтра Калмана, уравнения процесса (3.23) и измерения (3.24) линеаризируются в точке последней оценки, что дает ([116]): Xk+l = f{Xk, Щ) + -7 {хк - хк) + wk (3.25) Zk = h(xk) + т {хк - хк) + vk (3.26) Хк Фильтр Калмана, основанный на данных уравнениях, называется расширенным. Расширенный фильтр Калмана не является оптимальным в силу применения линеаризации. Тем не менее, точность оценок расширенного калмановского фильтра очень высокая ([110]).
Алгоритм фильтрации для расширенного фильтра Калмана аналогичен алгоритму для случая линейных динамических систем, но содержит дополнительный шаг линеаризации согласно уравнениям (3.25) и (3.26).
Таким образом, алгоритм фильтрации Калмана может также применяться к нелинейным динамическим системам, что требует выполнения линеаризации уравнений состояния и измерения в точке последней оценки. Использование линеаризации лишает алгоритм Калмана для нелинейных систем свойства строгой оптимальности, но не ухудшает точность получаемых оценок.
Нейронная сеть может рассматриваться как динамическая нелинейная система, состояние которой определяется множеством весовых коэффициентов. Уравнения состояния и измерения для данной модели могут быть записаны как: хк+1 = хк (3.27) Zk = h(xk, ик, vk) + vk (3.28) где Хк - вектор состояния системы, состоящий из весовых коэффициентов сети, Zk - вектор выходных значений сети, щ - входной вектор, ак -вектор значений активации узлов нейронов сети, Vk - искусственный шум измерения с ковариационной матрицей Rk, h - нелинейная функция.
Такая интерпретация позволяет применить теорию фильтров Калма-иа для решения задачи обучения нейронной сети с учителем. Впервые данная идея была предложена в [97]. При обучении нейронной сети необходимо использовать расширенную версию калмановского фильтра ([25]).
Основная идея обучения заключается в предположении о том, что сеть представляет собой нелинейную динамическую систему, наблюдаемый выход которой определяется вектором желаемого отклика сети на входной вектор обучающей выборки. Уравнения фильтра Кал мана позволяют оценивать состояние системы, то есть изменять веса сети таким образом, чтобы реальный выходной сигнал сети как можно меньше отличался от желаемого сигнала.
Применение расширенного фильтра Калмана для обучения нейронной сети требует выполнения линеаризации уравнения процесса (3.27). Для выполнения линеаризации используется один из рассмотренных алгоритмов обучения динамических сетей, например, алгоритм обратного распространения сквозь время ([ИЗ]) или алгоритм рекуррентного обучения в реальном времени ([115]). Наиболее часто применяется алгоритм обратного распространения сквозь время, в силу его простоты и узкой направленности алгоритма рекуррентного обучения в реальном времени.
Алгоритм обратного распространения сквозь время основан на разворачивании структуры рекуррентной сети во времени, вычислении градиента и последующего объединения значения коэффициентов. Алгоритм Калмана использует вычисленные градиенты для выполнения линеаризации.
Учет собственных погрешностей элементов нейрона
Рассмотрим выражении (4.16). Примем o p_own = сг -мп = 0. Тогда выражение для погрешности входного сигнала принимает вид L = )2 (4.17) где v = 23 wixi значение активации нейрона. Входные сигналы любого нейрона сети xi находятся в диапазоне [—1; 1]. Это достигается масштабированием входных сигналов для первого слоя сети и применением соответствующих активационных функций для нейронов остальных слоев.
Весовые коэффициенты wi могут иметь произвольные значения, однако слишком большие абсолютные значения коэффициентов приводят к перенасыщению сети. В хорошо обученной сети эффект перенасыщения минимален. Нулевые значение коэффициентов приводят к игнорированию значений входных сигналов для соответствующего входа, что обычно является следствием недостаточно качественного обучения сети. Для выполнения моделирования примем диапазон изменения весовых коэффициентов Wi равным [—10; 10].
Приведенные зависимости подтверждают правильность выбранного диапазона изменения весовых коэффициентов.
Рассмотрим простейший случай нейрона, имеющего всего один вход. Построим зависимость выражения f(wi,Xi) = (p WiX wf в правой части (4.17) от значений параметров w = w\ и х = х\. Выражение для / примет вид /(го, х) = p (wx)2 w2 (4.18) Нулевое значение выражения (4.18), которое соответствует области насыщения активационной функции p (v) — 0 в рамках построенной модели, приводит к получению нулевой выходной погрешности при любых значениях входной погрешности. Поэтому в дальнейших исследованиях будет в основном рассматриваться область ненулевых значений f(w,x).
Для изучения зависимости (4.18) необходимо вычислить значений производной активационной функции p (v). Рассмотрим наиболее распространенные активационные функции. Логистическая функция Логистическая функция описывается следующим выражением. 1 + е х Производная логистической функции вычисляется как /(х) = ф) (1 - ф)) (4.20) Зависимость f(w, х) приведена на рисунке 4.4. Гиперболический тангенс Гиперболический тангенс описывается следующим выражением.
Анализ погрешностей полнофункциональной нейронной сети основывается на анализе погрешностей отдельных составляющих ее нейронов, который выполняется согласно предыдущему разделу. Возможны два варианта анализа.
В первом варианте задачей является определение допустимых погрешностей входных сигналов при заданных погрешностях выходных сигналов сети. Данное исследование позволяет подтвердить возможность обеспечения заданной точности измерений с помощью нейронной сети. Вычисление допустимых погрешностей входных сигналов производится от последнего слоя сети.
Для примера рассмотрим простую нейронную сеть, изображенную на рисунке 4.7.
Используя выражение (4.17) для каждого нейрона в сети, можно получить оценку погрешностей входных сигналов нейронной сети. Как было указано выше, данная оценка не является строгим доказательством возможности обеспечения заданной точности, так как формулы вычисления погрешностей зависят от значений входных сигналов сети и ее весовых коэффициентов.
Предлагаемый метод предполагает оценку погрешностей непосредственно в процессе функционирования сети. При этом погрешности вычис 118
ляются для каждого входного вектора. Вычисление погрешностей в процессе функционирования сети позволяет осуществлять контроль погрешностей в реальном времени.
Для выполнения оценки погрешностей в разработанную реализацию нейронной сети был добавлен код для вычисления значений дисперсий погрешностей выходных сигналов в зависимости от дисперсий входных сигналов для каждого нейрона сети. Дисперсии погрешностей сигналов входного слоя сети задаются извне. Дисперсии погрешностей выходных сигналов сети совпадают с дисперсиями погрешностей выходных сигналов последнего слоя сети.
Моделирования выполнялось для сетей различной архитектуры. Дисперсия ошибки входного сигнала сети была принята равной а\п = 0.2. Типичные результаты моделирования представлены на рисунке 4.8.
Для более детального анализа погрешностей, рассмотрим зависимость средней выходной погрешности от входной погрешности, а также зависимость средней выходной погрешности от количества весовых коэффициентов сети.
Типичная зависимость средней выходной погрешности от погрешности входных сигналов нейронной сети представлена на рисунке 4.9.
В большинстве проведенных экспериментов дисперсия выходной погрешности была значительно меньше дисперсии входной погрешности. Следует отметить, что во всех экспериментах для обучения сетей использовался алгоритм Калмана, который позволяет получать более узкие диапазоны изменения весовых коэффициентов. Более подробно данная тема обсуждается в следующем разделе.