
- •МТУСИ
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007
- •Дизайн И. Гайдель 2007

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
Временные последовательности (или временные ряды) — это любые данные, полученные путем измерений через регулярные промежутки времени, например стоимость акций в конце каждого дня, почасовое потребление электроэнергии в городе или еженедельные продажи в магазине.
Временные последовательности присутствуют повсюду: и в природных явлениях (сейсмическая активность, изменение численности популяций рыб в реке или погода в определенном месте), и в закономерностях человеческой деятельности (посещаемость веб- сайта, изменение ВВП страны или операции с кредитной картой).
При работе с временными последовательностями исследователи должны быть знакомы с понятием динамики системы — ее регулярности, наличия периодических циклов, временных закономерностей и внезапных всплесков.
Наиболее распространенной задачей, связанной с временными последовательностями, вне всяких сомнений, является прогнозирование: предсказание того, что произойдет дальше. Прогнозирование потребления электроэнергии на несколько часов вперед, чтобы предпринять необходимые меры; прогнозирование доходов на несколько месяцев вперед, чтобы спланировать бюджет; прогнозирование погоды на несколько дней вперед, чтобы скорректировать свои планы.

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
Временные последовательности можно использовать для решения широкого класса задач.
Классификация — присвоение временным последовательностям одной или нескольких категорий. Например, определение по временной активности посетителя веб-сайта, является он ботом или человеком.
Обнаружение событий — определение момента наступления некоторого ожидаемого события в непрерывном потоке данных. В частности, широкое практическое применение получило «обнаружение горячих слов», когда модель распознает в аудиопотоке заранее заданные высказывания.
Обнаружение аномалий — любых необычных событий в непрерывном потоке данных. Странная активность в корпоративной сети, например, может быть признаком действий злоумышленника. Необычные показания датчиков на производственной линии могут служить сигналом к вмешательству. Для определения аномалий обычно используется метод обучения без учителя, ведь часто нам неизвестно, какие события будут представлять интерес, поэтому обучить модель на конкретных примерах невозможно.

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
Решение задач прогнозирования рассмотрим на примере прогнозирования температуры на ближайшие 24 часа с помощью временной последовательности ежечасных измерений атмосферного давления и влажности.
Оказывается, что плотно связанные и сверточные сети плохо подходят для обработки таких наборов данных, но с ними блестяще справляются модели машинного обучения другого вида — рекуррентные нейронные сети.

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
На слайде (слева) показан график изменения температуры (в градусах Цельсия) с течением времени. На этом графике, охватывающем восьмилетний период, ясно виден годовой цикл изменения температуры.
На слайде (справа) показан более короткий график изменения температуры — за первые десять дней. Поскольку данные записываются каждые десять минут, за сутки накапливается 24 × 6 = 144 замера.
На этом графике можно видеть суточный цикл изменения температуры, который особенно четко наблюдается на отрезке, соответствующем последним четырем дням.

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
Ни полносвязное, ни сверточное решение не дали хорошего результата. Для обучения на таких данных была создана специальная архитектура нейронных сетей: рекуррентные нейронные сети. Особенно большой популярностью пользуется слой долгой краткосрочной памяти (long shortterm memory, LSTM).
Главной характеристикой всех нейронных сетей, с которыми мы познакомились (полносвязные и сверточные нейронные сети), является отсутствие памяти. Каждый вход обрабатывается ими независимо, без сохранения состояния между ними.
Чтобы с помощью таких сетей обработать последовательность, или временной ряд данных, необходимо передать в сеть всю последовательность целиком, преобразовав ее в единый пакет. Именно так мы поступили в предыдущем примере: мы объединили все данные за пять дней в один большой вектор и обработали его целиком. Такие сети называют сетями прямого распространения (feedforward networks).

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
С другой стороны, читая предложение в тексте, мы осмысливаем его слово за словом, быстро перескакивая глазами с одного на другое и запоминая предыдущие; это позволяет нам постепенно вникать в смысл, передаваемый предложением. Биологический интеллект воспринимает информацию последовательно, сохраняя внутреннюю модель обрабатываемого, основываясь на предыдущей информации и постоянно дополняя эту модель по мере поступления новой информации.
Рекуррентная нейронная сеть (RNN) использует тот же принцип, хотя и в чрезвычайно упрощенном виде: она обрабатывает последовательность, перебирая ее элементы и сохраняя состояние, полученное при обработке предыдущих элементов. Фактически RNN — это разновидность нейронной сети, имеющей внутренний цикл.

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
Сеть RNN сбрасывает состояние между обработкой двух разных, независимых последовательностей (таких как два образца из пакета), поэтому одна последовательность все еще интерпретируется как единый блок данных: единственный входной пакет. Однако теперь блок данных обрабатывается не за один шаг; сеть выполняет внутренний цикл, перебирая последовательность элементов.
Рекуррентная сеть — сеть с циклом

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
Чтобы пояснить понятия «цикл» и «состояние», реализуем простую сеть RNN с прямой передачей. Она будет принимать на входе последовательность векторов в виде двумерного тензора с формой (временные_интервалы, входные_признаки), перебирать временные интервалы и, учитывая текущее состояние и входные признаки (с формой (входные_признаки,)) в момент t, конструировать выходной результат, соответствующий моменту t.
Этот результат затем будет сохраняться во внутреннем состоянии как подготовка к следующей итерации.
Для первого временного интервала предыдущий выходной результат не определен; в этот момент сеть не имеет текущего состояния. Поэтому текущее состояние первоначально инициализируется вектором с нулевыми значениями элементов, который называют начальным состоянием сети.

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
Реализация RNN в псевдокоде представлена на слайде.
Функцию f можно конкретизировать следующитм образом: она преобразует входные данные и состояние в выходной результат и параметризуется двумя матрицами, W и U, и вектором смещений. Она напоминает полносвязный слой в сети прямого распространения.

Дизайн И. Гайдель 2007
Глубокое обучение в технологиях компьютерного зрения
Рекурентные нейронные сети
В итоге, RNN представляет собой цикл for, который повторно использует величины, вычисленные в предыдущей итерации, и не более того.
Этот пример — одна из простейших реализаций RNN.
Простая рекуррентная сеть, развернутая во времени