Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритмы обратного распространения
Сложнее обстоит дело с многослойными сетями, так как изначально неизвестны желаемые выходы слоев сети (за исключением последнего) и их невозможно обучить, руководствуясь только величиной ошибок на выходе сети, как это было с однослойной сетью. Наиболее приемлемым вариантом решения проблемы стала идея распространения сигнала ошибки от выхода сети к ее входу, слой за слоем. Алгоритмы, реализующие обучение сети по этой схеме, получили название алгоритмов обратного распространения. Наиболее распространенный вариант этого алгоритма мы и рассмотрим. Алгоритм требует дифференцируемости активационной (или как ее по-другому называют, сжимающей) функции на всей оси абсцисс. По этой причине, функция единичного скачка не может использоваться и в качестве сжимающей функции обычно применяют упомянутый выше сигмоид (логистическую функцию), хотя существуют и другие варианты. Рассматриваем «классический вариант» многослойной сети, где синаптические связи могут определяться любыми действительными числами, а выход нейрона – действительными числами из интервала от 0 до 1. В качестве активационной функции используем сигмоид. Число слоев произвольное.
1. Определяем M матриц весовых коэффициентов W размером NxN, где M – число слоев, N – число нейронов в одном слое. Wi, j, k будет обозначать вес j-го входа k-го нейрона в i-м слое. Инициализируем матрицы некоторыми малыми случайными (не одинаковыми) значениями. 2. Подаем на входы сети определенные значения X, для которых известны правильные значения выходов сети Y*. 3. Вычисляем значения выходов сети для текущего состояния матриц W. То есть для входного вектора X вычисляется выходной вектор Y. Для этого необходимо последовательно вычислить выход для каждого слоя сети с первого по последний. Для i-го слоя в векторном виде это можно записать так: Oi=F(ХWi), если i – не первый слой. Oi=F(Oi-1Wi), если i – не первый слой. где Oi – вектор выхода i-го слоя, F – активационная функция, X – вектор входов, Oi-1 – вектор выхода (i-1)-го слоя, Wi – матрица весовых коэффициентов i-го слоя. 4. Вычисляем вектор ΔY=Y-Y* 5. Если ΔY меньше заданной погрешности, переходим к шагу 9. 6. Для слоя с номером M (т.е. в последнем слое) производим следующие операции: 6.1. Для всех нейронов в слое с номера 1 по N производим следующие операции:
6.1.1. Для всех весов нейрона с номера 1 по N производим следующие операции: 6.1.1.1. Рассчитываем вектор δM=X(1-X)ΔY 6.1.1.2. Рассчитываем величину ΔWM,j,k=ηδM,kOi-1,j, где η – коэффициент скорости обучения (от 0.01 до 1.0) 6.1.1.3. Корректируем величину весового коэффициента, добавляя к WM, j, k величину ΔWM,j,k 7. Для слоев с номером M-1 по первый последовательно производим следующие операции: 7.1. Для всех нейронов в слое с номера 1 по N производим следующие операции: 7.1.1. Для всех весов нейрона с номера 1 по N производим следующие операции: 7.1.1.1. Рассчитываем вектор
7.1.1.2. Рассчитываем величину ΔWi,j,k= ηδi,kOi-1,j, где Δ – коэффициент скорости обучения (от 0.01 до 1.0) 7.1.1.3. Корректируем величину весового коэффициента, добавляя к WM, j, k величину ΔWM,j,k 8. Переход к шагу 3. 9. Конец (обучение окончено).
Описанный алгоритм применяется достаточное количество раз, чтобы все варианты выходных значений могли правильно выходить при задании произвольных значений входа с заданной вероятностью ошибки. Это алгоритм может быть усовершенствован. Например, выяснилось, что обычный диапазон для входов и выходов от 0 до 1 не является оптимальным. Из за того, что ΔWi,j,k прямо пропорционален выходному уровню нейрона, нулевой выходной уровень приводит к нулевому значению ΔWi,j,k, то есть величина веса не изменяется и обучение не происходит. Выход состоит в приведении входов к значениям от -0.5 до 0.5. Активационная функция должна приобрести вид: F(S) = (-0.5)+1/(1+e-s). После того, как сеть будет надлежащим образом обучена, она может быть использована для распознавания, в том числе, для распознавания звуков. Подаем на вход сети параметры звукового сигнала и получаем на выходе последовательность значений от -0.5 до 0.5 (или – после обратной корректировки – от 0 до 1), по которым и определяем звук (каждому звуку сопоставляется уникальная комбинация выходов до начала процесса обучения, и, собственно по ней мы на этапе обучения и определяем, правильно ли определен звук).
Лекция 8 Тема. Построение классификаторов распознавания речевых сигналов на основе алгоритма динамического искажения времени DTW для распознавания речевых команд.
|
||||||||||||||
Последнее изменение этой страницы: 2022-09-03; просмотров: 20; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.156.250 (0.004 с.) |