270 likes | 526 Views
Нейросетевые технологии в обработке и защите данных. Обработка данных искусственными нейронными сетями (ИНС). Лекция 7 . Особенности использования нейронных сетей при решении прикладных задач.
E N D
Нейросетевые технологии в обработке и защите данных Обработка данных искусственными нейронными сетями (ИНС). Лекция 7. Особенности использования нейронных сетей при решении прикладных задач.
Нейронные искусственные сети, успешно применяемые для решения задач классификации, прогнозирования и управления, обеспечивают предельное распараллеливание алгоритмов, соответствующих нейросетевой технологии обработки данных.
ОСОБЕННОСТИ ПРИМЕНЕНИЯ МНОГОСЛОЙНЫХ НЕЙРОННЫХ СЕТЕЙ Для распознавания объектов изображений по форме применяют, как правило, многослойные персептроны, обучающиеся на основе метода обратного распространения ошибки с импульсом и адаптивным шагом обучения, по параметрам – радиальные базисные сети. Теоретическим обоснованием возможности использования многослойной нейронной сети прямого распространения сигнала для распознавания образов изображений служит теорема Хехт–Нильсена, доказывающая представимость функции многих переменных общего вида с помощью такой сети с ограниченными сигмоидными функциями активации.
Свойства нейросетей • Способность сети, обученной на некотором множестве данных выдавать правильные результаты для достаточно широкого класса новых данных, в том числе и не представленных при обучении, называется свойством обобщения нейронной сети. • Для настройки параметров нейронных сетей широко используется также процедура адаптации, когда подбираются веса и смещения с использованием произвольных функций их настройки, обеспечивающие соответствие между входами и желаемыми значениями на выходе.
Процесс обучения – это процесс определения параметров модели процесса или явления, реализуемого нейронной сетью. Ошибка обучения для конкретной конфигурации сети определяется после прогона через сеть всех имеющихся наблюдений и сравнения выходных значений с целевыми значениями в случае обучения с учителем. Соответствующие разности позволяют сформировать так называемую функцию ошибок.
Для нейронных сетей с нелинейными функциями активации в общем случае нельзя гарантировать достижение глобального минимума функции ошибки. Поверхность функции ошибок определяется как совокупность точек-значений ошибок в N+1-мерном пространстве всевозможных сочетаний весов и смещений с общим числом N. Цель обучения при геометрическом анализе или изучении поверхности ошибок состоит в том, чтобы найти на ней глобальный минимум. По существу алгоритмы обучения нейронных сетей аналогичны алгоритмам поиска глобального экстремума функции многих переменных.
Классификация методов определения экстремума Методы определения экстремума функции нескольких переменных делятся на три категории – методы нулевого, первого и второго порядка: • методы нулевого порядка, в которых для нахождения экстремума используется только информация о значениях функции в заданных точках; • методы первого порядка, где для нахождения экстремума используется градиент функционала ошибки по настраиваемым параметрам; • методы второго порядка, вычисляющие матрицу вторых производных функционала ошибки (матрицу Гессе).
МЕТОД ОБРАТНОГО РАСПРОСТРАНЕНИЯ ОШИБКИ В случае применения градиентных методов оптимизации необходимо вычисление вектора градиента относительно весов для всех слоев сети. Так как эта задача имеет очевидное решение только для выходного слоя сети, то для других слоев используется алгоритм обратного распространения ошибки, отождествляемый обычно с процедурой обучения сети.
Классификация символов Демонстрационная программа пакета NNT системы MATLAB – расчета и проектирования искусственных нейронных сетей, appcr1 (D:\MATLAB\toolbox\nnet\nndemos),иллюстрирует, как распознавание символов может быть выполнено с помощью однонаправленной многослойной сети на основе метода обратного распространения ошибки
Классификация символов Для распознавания 26 символов латинского алфавита, получаемых, например, с помощью системы распознавания, выполняющей оцифровку каждого символа в ее поле зрения, используется сеть из двух слоев, не считая входного, с n (10) нейронами в скрытом слое и p (26) нейронами в выходном (по одному на букву). Каждый символ представляется шаблоном размера 7 5, соответствующим пиксельной градации букв
Классификация символов Проектируемая нейронная сеть должна точно распознать идеальные векторы входа и с максимальной точностью воспроизводить зашумленные векторы. Функция prprob формирует 26 векторов входа, каждый из которых содержит 35 элементов, называемых алфавитом. Она создает выходные переменные alphabet и targets, которые определяют массивы алфавита и целевых векторов. Массив targets задаетсякак единичная матрица функцией eye(26).
СОЗДАНИЕ СЕТИ Двухслойная нейронная сеть создается с помощью команды newff,предназначеннойдляописаниямногослойных нейронных сетей прямой передачи сигнала с заданными функциями обучения и настройки на основе метода обратного распространения ошибки, и имеющей формат: net=newff(PR, [S1 S2 …SN],{TF1 TF2 …TFN},btf,blf,pf), где PR – массив размера R × 2 минимальных и максимальных значений для R векторов входа; Si – количество нейронов в слое i; Tfi – функция активации слоя i, по умолчанию tansig; btf – обучающая функция, реализующая метод обратного распространения ошибки, по умолчанию trainlm; blf – функция настройки, реализующая метод обратного распространения, по умолчанию learngdm; pf – критерий качества обучения, по умолчанию средняя квадратичная ошибка mse.
ОБУЧЕНИЕ СЕТИ Для обучения сетей в пакете NNT применяется функция train, позволяющая установить процедуры обучения сети и настройки ее параметров и имеющая формат: [net, TR]=train(net, P, T, Pi, Ai),где входные аргументы: net – имя нейронной сети, P – массив входов, T – вектор целей, по умолчанию нулевой вектор, Pi – начальные условия на линиях задержки входов, по умолчанию нулевые, Ai – начальные условия на линиях задержки слоев, по умолчанию нулевые; а выходные: net – объект класса network.object после обучения;. TR – характеристики процедуры обучения
Моделирование нейронных сетей в пакете NNT обеспечивает функция sim, имеющая формат [Y, Pf, Af, E, perf]= sim(net, P, Pi, Ai, T), где входные аргументы: net – имя нейронной сети, P – массив входов, Pi – начальные условия на линиях задержки входов, по умолчанию нулевой вектор, Ai – начальные условия на линиях задержки слоев, по умолчанию нулевой вектор, T – вектор целей, по умолчанию нулевой вектор; выходные аргументы: Y – массив выходов, Pf – состояния на линиях задержки входов после моделирования, f – состояния на линиях задержки слоев после моделирования, E – массив ошибок, perf – значение функционала качества
ОБУЧАЮЩИЕ ФУНКЦИИ В пакете NNT встроено несколько обучающих функций, реализующих метод обратного распространения ошибки, по умолчанию trainlm: • traingdx, МОРО с импульсом и адаптацией • trainlm, метод Левенберга – Марквардта, относящийся к методам второго порядка
Лабораторная работа Изучить prprob,appcr1MATLAB\toolbox\nnet\nndemos, newff, traingdx,learnglmMATLAB\toolbox\nnet\nnet. • Построить нейронные сети для распознавания букв латинского алфавита (двухслойную и трехслойную), используя функцию newff – инициализации сети прямой передачи сигнала. • Обучить сеть, используя функции traingdx (traincga, trainlm) • Распознать фразу из зашумленных символов (функция sim).
ОСОБЕННОСТИ ПРИМЕНЕНИЯ МНОГОСЛОЙНЫХ НЕЙРОННЫХ СЕТЕЙ При использовании искусственных нейронных сетей следует учитывать некоторые особенности их создания и функционирования. 1. Начальные значения весов сети можно выбирать по правилу Пальмера, задавая их пропорциональными , где n(i) - количество нейронных элементов в слое i.
ОСОБЕННОСТИ ПРИМЕНЕНИЯ МНОГОСЛОЙНЫХ НЕЙРОННЫХ СЕТЕЙ 2. Непосредственное использование матрицы пикселей исходного изображения ведет к чрезмерному увеличению размерности сети. Поэтому исходное изображение преобразуют в усеченное. Для идентификации личности по изображению лица, например, выбирают не 320 240, а 160 120, для распознавания объектов изображений 780 480, микросборочной станции – 30 30, траектории движения робота – 9 9 .
ОСОБЕННОСТИ ПРИМЕНЕНИЯ МНОГОСЛОЙНЫХ НЕЙРОННЫХ СЕТЕЙ 3. Если входные и выходные сигналы сети находятся в разных диапазонах данных, исходные в диапазоне от 0 до 255, а выходные – от 0 до 1, то используют операцию масштабирования для каждого элемента изображения xi: , где xmax – максимальное возможное значение, или операцию центрирования, перехода к безразмерным величинам,
ОСОБЕННОСТИ ПРИМЕНЕНИЯ МНОГОСЛОЙНЫХ НЕЙРОННЫХ СЕТЕЙ для значений параметров, подаваемых на вход радиальной базисной сети: , где – среднее значение набора данных отдельного i-го параметра, – его среднеквадратичное отклонение, корень квадратный из несмещенной оценки дисперсии
ОСОБЕННОСТИ ПРИМЕНЕНИЯ МНОГОСЛОЙНЫХ НЕЙРОННЫХ СЕТЕЙ 4. Число нейронов выходного слоя определяется количеством распознаваемых сетью образов или классов. Так, при распознавании букв латинского алфавита в выходном слое сети имеется 26 нейронов. 5. Число нейронов скрытого слоя N определяется примерно как: , где m – размерность обучающей выборки, Nx– размерность входного сигнала.
ОСОБЕННОСТИ ПРИМЕНЕНИЯ МНОГОСЛОЙНЫХ НЕЙРОННЫХ СЕТЕЙ 6. Общий критерий нелинейной многокритериальной задачи оптимизации в многокритериальном случае определяется как сумма оценок ошибок решения отдельных примеров ei , i = 1, 2, … q: e = e1 + e2 + … + eq . 7. Для увеличения помехоустойчивости сети в набор обучающих образов включают не относящиеся ни к одному классу чисто черное и чисто белое изображения.
Для создаваемой сети важно проанализировать: • зависимость качества распознавания от числа нейронов скрытого слоя при фиксированном коэффициенте шума; • зависимость качества распознавания от числа скрытых слоев сети при фиксированном коэффициенте шума; • влияние различных функций активации на качество распознавания; • изменение коэффициента обучения альфа () в процессе обучения нейросети.