Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







СтохастическийГрадиентныйСпуск





Стохастический Градиентный спуск выполняет обновление весов после каждого обучающего примера. Этичастыеобновления приводят к флуктуирующей функции потерь, которая в среднем будет двигаться в направлении истинного градиента [102]. Вычислительно быстрый, если хранить все данные в ОЗУ. Более того, он способен следовать кривым на поверхности ошибки в течение каждой эпохи, что позволяет достигать более высокую скорость обучения.

 

Пакетный (Batch) градиентныйспуск

Пакетныйградиентныйспускиспользуетцелые наборы данных обучения длявычисленияградиентафункциипотерь. Этотметодмедленнеестохастическогоградиента, особенносбольшиминаборамиданных, гдеонобычно медленнее на несколько порядков [102].

 

Мини-пакетный градиентныйспуск

Мини-пакетный градиентный спуск предлагает гибрид стохастического и пакетного градиентного спуска, выполняя обновление каждые n примеров обучения. Этот метод уменьшает дисперсию обновлений веса, что приводит к более стабильной сходимости, чем при стохастическом градиентном спуске. Размера пакета n задаёт поведение спуска, насколько похоже он будет вести себя на один из выше градиентов.

Каждый из трех упомянутых выше методов имеет свои сильные и слабые стороны, но в конечном итоге выбор должен производиться на основе ожидаемой функции потерь. Поскольку пакетный градиентный спуск использует весь набор данных, он применим к ситуациям, в которых мы ожидаем выпуклую или гладкую функцию потерь, где можно перемещаться почти напрямую к локальному или глобальному минимуму. Стохастический градиентный спуски мини-пакетный градиентный спуск (еслиn достаточно мал) работают лучше для функций со многими локальными минимумами. Меньшее количество данныхобученияведёт к выталкиванию модели из локальных минимумов и потенциально к более оптимальным минимумам. Мини-пакетный градиентный спуск способен усреднять шум стохастического градиентного спуска, уменьшая количество подёргиваний, вызванных обновлениями одиночных образцов.

Это делает мини-пакетный градиентный спуск идеальным балансом между нахождением глобальных минимумов и избеганием локальных.

 

ГЛУБОКОЕОБУЧЕНИЕ

Последней тенденций является переход к глубоким нейронным сетям. Глубоким обучением [11] достигается самая современная производительность в ряде областей и задач. К таким задачам относятся визуальное распознавание [92] [51], распознавание лиц [73], распознавание звука [53] [66], обнаружение пешеходов [90] и обработка естественного языка [17]. Популярность глубокого обучения исходит из его способности изучать полезные функции непосредственно с учителем и без, избегая необходимости в громадном и трудоемком ручном выборе критериальных свойств (features).

Архитектуры глубокого обучения подразделяются на три широких класса: генеративный, дискриминационный и гибридный [21].

По словам Ли Дэнга, они определяются следующим образом:

· Генеративные архитектуры применяются в анализе или синтезе рисунков,характеризуют корреляционные свойства высокого порядка в наблюдаемых или видимых данных, а также характеризуют совместные статистические распределения в видимых данных и в связанных с ними классах.

· Дискриминационныеархитектуры предназначены для непосредственного обеспечения различающей способности при классификации шаблонов, часто характеризуют постериорные (позднейшие) распределения классов, обусловленные видимыми данными.

· Гибридные архитектуры предназначены для достижения различения с помощью результатов генеративных архитектур, посредством их лучшей оптимизации.

В фокусе нашей работы– дискриминационные архитектуры глубокого обучения, в частности свёрточные нейронные сети.

 

СВЁРТОЧНЫЕНЕЙРОСЕТИ

Свёрточные нейросети (СНС) [52]:

пиксели, которые находятся далеко друг от друга, обрабатываются по-разному, чем пиксели, которые находятся близко друг к другу.

Одинаковые веса и смещениядля каждой свёртки означают, что нейроны на скрытом слое обнаруживают одни и те же признаки в разных местах изображения. Это подводит нас к одному из фундаментальных свойств СНС–к отображениюпризнаков (featuremap) – это отображениеодного слоя на следующий слой, что позволяет нам изучать фичи изображения, а не определять их вручную, как это было в обычных нейросетях. Часто нам хочется извлечь больше чем одну фичу из изображения, для этого требуется больше отображений признаков.

При распределении весов и смещений СНСимеют меньше параметров, что позволяет ускорить обучение и построить глубокие сверточные сети.

Слоиподвыборки (poolinglayer) обычно следуют за сверточными слоями и отвечают за вывод каждого из выходных данныхотображений признаков, чтобы создать итоговое отображение признаков. Эти слои подвыборкиподобны свёрточным слоям, нозадом наперёд.

Свёрточная сеть обычно заканчивается как минимум одним полносвязаным слоем.

В типичной сети может быть несколько уровней свёртки и подвыборки до окончательных полносвязных слоев. Как правило, более глубокие сети работают лучше, чем мелкие сети, за счет большего количества данных и повышенной сложности обучения. Уменьшение выходного уровня с размера в 4096 до 2048 фактически привело лишь к незначительному увеличению производительности [15] (без потери качества). Баланс выдерживается при выборе размера фильтра:как правило, небольшие фильтры используются для захвата очень тонких деталей изображения и сохранения пространственного разрешения, в то время как большие фильтры детали пропускают.

 


REINFORCEMENTLEARNING

За последние несколько десятилетий обучение с подкреплением было идеальным решением для выработкистратегий управления в видеоиграх. Эти типы задач хорошо подходят обучению с подкреплением благодаря их эпизодическому характеру и структурам вознаграждения в виде игровых баллов. Более того, работа в этой области в последнее время продвигается к определению состояния только как картинки.

В 1992 году обучение с подкреплением было успешно применено к программеигры в нарды - TD-gammon [96]. Очередной успех был достигнут на эмуляторе Atari-2600, сначала с линейной аппроксимацией и универсальными визуальными фичами [9], а затем с эволюционной архитектурой HyperNEAT [34].

 

ГЛУБОЧИЙQ-LEARNING

Недавно новейшие результаты были достигнуты компанией DeepMind, которая успешно применила модели глубокого обучения к 49 играм Atari-2600, опережая все предыдущие подходы [64]. Эти агенты обучались непосредственно изRGB изображений, используя глубокие нейронные сети. Успех этого подхода сводился к новому варианту алгоритмаQ-обучения [65]. Параметризация Q проводилась с использованием сверточной нейронной сети, которая в сочетании с их подходом создает так называемую глубокую Q-сеть.

Алгоритм Глубокий Q-learning, представленный ниже, использует метод, известный как повторный опыт (experiencereplay) [57]. С помощью этой методики, опыт агентов et = (st, at, rt, st+1) берётся на каждом временном шаге t и сохраняется в наборе данных D = et, et+1,..., en называемом память повторов (replaymemory). Затем обучение выполняется с использованием мини-пакетного градиентного спуска, выбирая случайным образом образцы опытаиз этой памяти повторов.

 

LISTING 2.4: Deep Q-learning with experience replay [65].

Initialize replay memory D to capacity N Initialize action-value function Q with random weights for episode = 1, M do Initialize sequence s1 = (x1) and preprocessed sequenced φ1 = φ(s1) for t = 1, T do With probability ε, select a random action at otherwise select at = maxaQ*(φ(st),a;θ) Execute action at in emulator and observe reward rt and image xt+1 Set st+1 = st,at,xt+1 and preprocess φt+1 = φ(st+1) Store transition (φt,at,rtt+1) in D Sample random mini-batch of transitions (φj,aj,rjj+1) from D if terminal φj+1: yt = rj else if non-terminal φ j+1: yt = rj + γmaxa’ Q(φj+1,a’;θ) Perform a gradient descent step on (yj Q(φj,aj;θ))2 end for end for

 

Память воспроизведения позволяет использовать опыт в более чем одном обновлении, что приводит к большей эффективности данных, и решает проблему переобучения, выделенную в [57]. Кроме того, случайная выборка из памяти воспроизведения прерывает корреляцию примеров опыта, чем уменьшает дисперсию обновлений.

Спустя два года после успеха глубокого Q-обучения команда DeepMind представила первую массово распределенную архитектуру для глубокого обучения [70]. Эта архитектура использовалась для реализации глубокой Q-сети, описанной выше, и сумела превзойти оригинальную статью в 41 из 49 игр, причём показала ускорение обучения на порядок для большинства игр.

 








ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.