Похожие презентации:
Лекция 4. Рекуррентные нейронные сети
1.
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТСистемы искусственного
интеллекта
и большие данные
Заголовок слайда
2.
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТЛекция 4. Рекуррентные нейронные сети
Заголовок слайда
3. Рекуррентные сети
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТРекуррентные сети
•RNN были созданы в 1980-е, но только в 2010е стали популярны благодаря созданию мощных
графических процессоров и развитию NN.
•Используются при работе с последовательной информацией — в основном с текстами,
аудио/видео-сигналами и временными рядами.
•Традиционные нейронные сети не имеют памяти и не совсем ясно, как знания о предыдущих
событиях могут помочь классифицировать последующие события.
Заголовок слайда
4. Особенности RNN
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТОсобенности RNN
•В RNN каждый рекуррентный нейрон взаимодействует
сам с собой, т.е. использует свою внутреннюю память,
чтобы сохранять информацию о предыдущем входе.
•Последовательные данные чувствительны к порядку
следования их элементов. Например, фразы “I had washed
my house” и “I had my house washed” имеют разный смысл.
На вход RNN, как правило, передается сигнал, являющийся
некоторой последовательностью.
•Каждый элемент такой последовательности поочередно
передается одним и тем же нейронам, которые свое же
предсказание возвращают себе вместе со следующим ее
элементом, до тех пор пока последовательность не
закончится
.
Заголовок слайда
5. Сеть Хопфилда – первая RNN
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТСеть Хопфилда – первая RNN
В 2024 году Джон Хопфилд был удостоен Нобелевской премии по
физике. Награду присудили «за основополагающие открытия и
изобретения, которые позволяют осуществлять машинное обучение с
помощью искусственных нейронных сетей». В 1982 году он разработал
нейросеть, которую потом стали называть — «сеть Хопфилда».
Сеть была предназначена для моделирования ассоциативной памяти
Заголовок слайда
6. Сеть Элмана
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТСеть Элмана
Сеть Элмана (Elman Network) — это один из первых и
наиболее фундаментальных типов рекуррентных
нейронных сетей (RNN), предложенный Джеффри
Элманом в 1990 году.
Эта архитектура представляет собой важный
исторический шаг в развитии рекуррентных нейронных
сетей и обработке последовательных данных.
Сеть Элмана имеет следующую структуру:
1) Входной слой. Принимает текущие входные данные
x(t)
2) Скрытый слой. Обрабатывает как текущие входные
данные, так и информацию о предыдущем состоянии
3) Контекстный слой. Хранит копии активаций скрытого
слоя с предыдущего шага времени
4) Выходной слой. Генерирует предсказания на основе
текущего состояния скрытого слоя
Заголовок слайда
7. Сеть Элмана
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТСеть Элмана
Ключевая особенность сети
Элмана — наличие
контекстных нейронов,
которые реализуют обратную
связь от скрытого слоя к
самому себе. Эти контекстные
нейроны запоминают
предыдущее состояние
скрытого слоя и подают его
обратно на вход скрытого слоя
на следующем временном
шаге.
Заголовок слайда
8. Simple RNN в общем виде
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТSimple RNN в общем виде
Заголовок слайда
9. Простейшая рекуррентная сеть Simple RNN
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТПростейшая рекуррентная сеть Simple RNN
1. На вход поступает некоторая
последовательность x={x1,...xt,...,xT}, где xt —
вектор фиксированной размерности.
2. Для каждого поступившего xt вычисляется
скрытое состояние ht, которое является
функцией от предыдущего состояния ht−1 и
текущего элемента последовательности xt:
ht=fact(Whht−1+Wxxt),
Сеть «запоминает» обработанную информацию через
передачу ht−1 на следующий шаг. Это позволяет
учитывать контекст предыдущих данных, но в простой
RNN длинные зависимости обрабатываются плохо из-за
проблемы затухающих/взрывающихся градиентов.
Заголовок слайда
где Wh и Wx — это матрицы обучаемых
параметров (веса). Также может добавляться
вектор смещений (bias).
3. На основании рассчитанного скрытого
состояния, учитывающего предыдущие
значения xt, формируется выходная
последовательность y={y1,...yt,...,yT}.
10. Функция ошибок RNN
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТФункция ошибок RNN
Заголовок слайда
11. Проблемы RNN
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТПроблемы RNN
Затухающий и взрывающийся градиенты (Vanishing/Exploding Gradient) — это распространённые проблемы в
рекуррентных нейронных сетях (RNN), так как при большой длине последовательности это становится
критичным. Основная причина этих явлений заключается в том, что зависимость величины градиента от числа
слоёв экспоненциальная, поскольку веса умножаются многократно.
Заголовок слайда
12. LSTM СЕТИ
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТLSTM СЕТИ
• Ячейка долгосрочной и краткосрочной
памяти (Long Short- Terт Memory LSTM) была предложена в 1997 году
Сеппом Хохрайтером и Юргеном
Шмидхубером, а с годами понемногу
совершенствовалась.
• ячейка LSTM расщепляет свое
состояние на два вектора: h(t) и c(t)
("с" обозначает "cell" ). Можно считать
h(t) краткосрочной памятью, а c(t) –
долгосрочной памятью.
Заголовок слайда
13. Долгосрочная и краткосрочная память (Long short-term memory; LSTM)
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТДолгосрочная и краткосрочная память
(Long short-term memory; LSTM)
Заголовок слайда
14. LSTM. Преобразование с(t)
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТLSTM. Преобразование с(t)
▪ Во время пересечения сети слева направо долгосрочное состояние c(t- l)
сначала проходит через шлюз забывания (forget gate) с отбрасыванием
некоторых воспоминаний и затем посредством операции сложения к нему
добавляется ряд новых воспоминаний (выбранных входным шлюзом (input
gate)).
▪ Результат c(t) отправляется прямо на выход без какой-либо дальнейшей
трансформации. Следовательно, на каждом временном шаге одни
воспоминания отбрасываются, а другие добавляются. Кроме того, после
операции сложения долгосрочное состояние копируется и пропускается через
функцию tanh, а результат фильтруется выходным шлюзом (output gate).
▪ Итогом будет краткосрочное состояние h(t) (которое равно выходу ячейки для
данного временного шага Y(t)).
Заголовок слайда
15. LSTM. Преобразование x(t)
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТLSTM. Преобразование x(t)
▪ Первым делом текущий входной вектор x(t) и предыдущее краткосрочное состояние h(t-l)
передаются четырем полносвязным слоям. Все они служат разным целям.
▪ Главный слой выводит g(t)· Он исполняет обычную роль, анализируя текущие входы x(t) и
предыдущее (краткосрочное) состояние h(t- l)·
▪ Остальные три слоя являются контроллерами шлюзов (gate controller). Поскольку они
используют логистическую функцию активации, их выходы находятся в диапазоне от О до 1.
Они передаются операциям поэлементного умножения, так что если они выдают нули,то
закрывают шлюз, а если единицы, то открывают его. Более точно:
▪ шлюз забывания (контролируемый f(t)) управляет тем, какие части долгосрочного состояния
должны быть разрушены;
▪ входной шлюз (контролируемый i(t)) управляет тем, какие части g(t) должны быть добавлены к
долгосрочному состоянию (именно потому речь идет только о "частичном сохранении");
▪ выходной шлюз (контролируемый o(t)) управляет тем, какие части долгосрочного состояния
должны быть прочитаны и выданы на данном временном шаге (в h(t) и Y(t)).
Заголовок слайда
16. Вычисления, связанные с ячейкой LSTM
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТВычисления, связанные с ячейкой LSTM
Все весовые матрицы (W) и
смещения (b) — обучаемые
параметры, настраиваемые в
процессе тренировки модели.
Каждая ячейка LSTM требует
обучения 8 весовых матриц.
Пример кода- прогнозирование временного ряда с помощью LSTM
https://colab.research.google.com/drive/15Ra8IY48yBLhDG1KiS7jaMVQvfdsDUsS?usp=sharing
Пример 2 – большой проект анализа ЭКГ данных с использованием LSTM
https://colab.research.google.com/drive/1-WvYKBLg8pJy8ZWlNl28mQ58G-sWfPw1?usp=sharing
Заголовок слайда
17. Управляемый рекуррентный блок ( Gated Recurrent Unit - GRU)
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТУправляемый рекуррентный блок
( Gated Recurrent Unit - GRU)
Заголовок слайда
18. Управляемый рекуррентный блок ( Gated Recurrent Unit - GRU)
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТУправляемый рекуррентный блок
( Gated Recurrent Unit - GRU)
Ячейка GRU - это упрощенная версия ячейки LSTM, которая, работает в равной мере
хорошо.
Далее перечислены главные упрощения.
• Два вектора состояния объединены в единственный вектор h(t)·
• Один контроллер шлюза z(t) управляет шлюзом забывания и входным шлюзом. Если
контроллер шлюза выдает 1, то шлюз забывания открывается, а входной шлюз
закрывается. Если контроллер шлюза выдает 0, тогда происходит противоположное.
Другими словами, всякий раз, когда должно сохраняться воспоминание, сначала
очищается место, куда оно будет сохранено. На самом деле это частый вариант и для
самой ячейки LSTM.
• Выходной шлюз отсутствует; на каждом временном шаге выдается полный вектор
состояния. Тем не менее, имеется новый контроллер шлюза r(t), который управляет
тем, какие части предыдущего состояния будут показаны главному слою g(t).
Заголовок слайда
19. Вычисления, связанные с ячейкой GRU
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТВычисления, связанные с ячейкой GRU
Каждая ячейка GRU требует обучения 6 весовых матриц вместо 8 у LSTM.
Пример блокнота с реализацией GRU и LSTM
https://colab.research.google.com/drive/19d4ITicjEnslN96mcOalT8ZKl7NCCjY9?usp=sharing
Заголовок слайда
20. Проблемы RNN
МИРЭА – РОССИЙСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТПроблемы RNN
Проблема 1. RNN работает недостаточно эффективно
Если данные передаются по цепочке, значит, следующие вычисления не начнутся, пока не закончатся
прошлые. Причина — следующий шаг принимает результат предыдущего как переменную.
Ждать, пока закончится старая операция, чтобы начать новую — долго, распараллелить этот процесс не
получится. Иными словами, рекуррентность не дает загрузить компьютер на полную мощность.
Проблема 2. в RNN контекст размывается со временем
Предположим, RNN обрабатывает текст. Чем длиннее путь
слова, тем сильнее оно «размывается» в рекуррентной
сети, даже если передавать по цепочке не весь контекст,
а только важные части (как в LSTM). А отдаленные слова
бывают важны. Вот предложение: «Кошка съела рыбу,
котлету, сосиску и два блинчика, но все еще была голодна».
Чтобы правильно угадать слово «была» (а не «был»), нужно
помнить, что в контексте стоит вектор слова «кошка»,
а не «кот». В нейросети без внимания к вектору «кошки»
примешивается вектор «котлеты», «сосиски» и «блинчиков»,
и к концу предложения уже трудно разобрать, что там
стояло в начале.
Заголовок слайда
Информатика