скорость обучения нейронной сети это

Как работает нейронная сеть: алгоритмы, обучение, функции активации и потери

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

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

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

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

Например, если вы хотите создать нейросеть для оценки тональности текста, датасетом будет список предложений с соответствующими каждому эмоциональными оценками. Тональность текста определяют признаки (слова, фразы, структура предложения), которые придают негативную или позитивную окраску. Веса признаков в итоговой оценке тональности текста (позитивный, негативный, нейтральный) зависят от математической функции, которая вычисляется во время обучения нейронной сети.

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

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Искусственная нейронная сеть состоит из трех компонентов:

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Обучение нейросетей происходит в два этапа:

Во время прямого распространения ошибки делается предсказание ответа. При обратном распространении ошибка между фактическим ответом и предсказанным минимизируется.

Прямое распространение ошибки

Зададим начальные веса случайным образом:

Умножим входные данные на веса для формирования скрытого слоя:

Выходные данные из скрытого слоя передается через нелинейную функцию (функцию активации), для получения выхода сети:

Обратное распространение

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Полученный результат затем вычитается из соответствующих весов.

В результате получатся следующие обновленные веса:

То, что мы предполагаем и инициализируем веса случайным образом, и они будут давать точные ответы, звучит не вполне обоснованно, тем не менее, работает хорошо.

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети этоПопулярный мем о том, как Карлсон стал Data Science разработчиком

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети этоЕсли вы знакомы с рядами Тейлора, обратное распространение ошибки имеет такой же конечный результат. Только вместо бесконечного ряда мы пытаемся оптимизировать только его первый член.

Смещения – это веса, добавленные к скрытым слоям. Они тоже случайным образом инициализируются и обновляются так же, как скрытый слой. Роль скрытого слоя заключается в том, чтобы определить форму базовой функции в данных, в то время как роль смещения – сдвинуть найденную функцию в сторону так, чтобы она частично совпала с исходной функцией.

Частные производные

Частные производные можно вычислить, поэтому известно, какой был вклад в ошибку по каждому весу. Необходимость производных очевидна. Представьте нейронную сеть, пытающуюся найти оптимальную скорость беспилотного автомобиля. Eсли машина обнаружит, что она едет быстрее или медленнее требуемой скорости, нейронная сеть будет менять скорость, ускоряя или замедляя автомобиль. Что при этом ускоряется/замедляется? Производные скорости.

Разберем необходимость частных производных на примере.

Предположим, детей попросили бросить дротик в мишень, целясь в центр. Вот результаты:

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

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

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Ошибка нескольких детей может уменьшиться, но общая ошибка все еще увеличивается.

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

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Гиперпараметры

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

Скорость обучения (learning rate)

Скорость обучения является очень важным гиперпараметром. Если скорость обучения слишком мала, то даже после обучения нейронной сети в течение длительного времени она будет далека от оптимальных результатов. Результаты будут выглядеть примерно так:

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

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

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Функция активации (activation function)

Функция активации — это один из самых мощных инструментов, который влияет на силу, приписываемую нейронным сетям. Отчасти, она определяет, какие нейроны будут активированы, другими словами и какая информация будет передаваться последующим слоям.

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

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Функция потери (loss function)

Функция потерь находится в центре нейронной сети. Она используется для расчета ошибки между реальными и полученными ответами. Наша глобальная цель — минимизировать эту ошибку. Таким образом, функция потерь эффективно приближает обучение нейронной сети к этой цели.

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

Функция потерь одномерна и не является вектором, поскольку она оценивает, насколько хорошо нейронная сеть работает в целом.

Некоторые известные функции потерь:

Cреднеквадратичное отклонение – самая простая фукция потерь и наиболее часто используемая. Она задается следующим образом:

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Функция потерь в нейронной сети должна удовлетворять двум условиям:

Глубокие нейронные сети

Глубокое обучение (deep learning) – это класс алгоритмов машинного обучения, которые учатся глубже (более абстрактно) понимать данные. Популярные алгоритмы нейронных сетей глубокого обучения представлены на схеме ниже.

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети этоПопулярные алгоритмы нейронных сетей (http://www.asimovinstitute.org/neural-network-zoo)

Более формально в deep learning:

Пример

Рассмотрим однослойную нейронную сеть:

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Здесь, обучается первый слой (зеленые нейроны), он просто передается на выход.

В то время как в случае двухслойной нейронной сети, независимо от того, как обучается зеленый скрытый слой, он затем передается на синий скрытый слой, где продолжает обучаться:

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Следовательно, чем больше число скрытых слоев, тем больше возможности обучения сети.

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

Не следует путать с широкой нейронной сетью.

В этом случае большое число нейронов в одном слое не приводит к глубокому пониманию данных. Но это приводит к изучению большего числа признаков.

Изучая английскую грамматику, требуется знать огромное число понятий. В этом случае однослойная широкая нейронная сеть работает намного лучше, чем глубокая нейронная сеть, которая значительно меньше.

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

Главное — баланс

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

Проклятье размерности

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

Грамматика английского языка имеет огромное количество аттрибутов, влияющих на нее. В машинном обучении мы должны представить их признаками в виде массива/матрицы конечной и существенно меньшей длины (чем количество существующих признаков). Для этого сети обобщают эти признаки. Это порождает две проблемы:

Компромисс

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

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

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это

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

Следовательно, как правило, невозможно иметь маленькое смещение и маленькую дисперсию одновременно.

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

Источник

Всё, что нужно знать о нейронных сетях

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

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети этоИсточник изображения

Машинное обучение, data science, нейронные сети – эти сферы не только крайне интересные, но и довольно сложные. Остановимся на нейронных сетях: объясним, что это такое, и расскажем об основных понятиях. Нет времени читать и готовы сразу перейти к практике? Обратите внимание на курс Deep Learning и нейронные сети.

Нейрон – базовая единица нейронной сети. У каждого нейрона есть определённое количество входов, куда поступают сигналы, которые суммируются с учётом значимости (веса) каждого входа. Далее сигналы поступают на входы других нейронов. Вес каждого такого «узла» может быть как положительным, так и отрицательным. Например, если у нейрона есть четыре входа, то у него есть и четыре весовых значения, которые можно регулировать независимо друг от друга.

Искусственная нейронная сеть имитирует работу естественной нейронной сети – человеческого мозга – и используется для создания машин с искусственным интеллектом. Как правило, для обучения ИИ нужен «учитель» – набор информации с определёнными параметрами, значениями и показателями.

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

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети этоИсточник изображения

Смещение – это дополнительный вход для нейрона, который всегда равен 1 и, следовательно, имеет собственный вес соединения. Это гарантирует, что даже когда все входы будут равны нулю, нейрон будет активен.

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

Также эта функция определяет, какие нейроны нужно активировать, и, следовательно, какая информация будет передана следующему слою. Благодаря функции активации глубокие сети могут обучаться.

Входной слой – это первый слой в нейронной сети, который принимает входящие сигналы и передает их на последующие уровни.

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

Выходной слой – последний слой в сети, который получает данные от последнего скрытого слоя. С его помощью мы сможем получить нужное количество значений в желаемом диапазоне.

Вес представляет силу связи между нейронами. Например, если вес соединения узлов 1 и 3 больше, чем узлов 2 и 3, это значит, что нейрон 1 оказывает на нейрон 3 большее влияние. Нулевой вес означает, что изменения входа не повлияют на выход. Отрицательный вес показывает, что увеличение входа уменьшит выход. Вес определяет влияние ввода на вывод.

Прямое распространение – это процесс передачи входных значений в нейронную сеть и получения выходных данных, которые называются прогнозируемым значением. Когда входные значения передаются в первый слой нейронной сети, процесс проходит без каких-либо операций. Второй уровень сети принимает значения первого уровня, а после операций по умножению и активации передает значения далее. Тот же процесс происходит на более глубоких слоях.

Обратное распространение ошибки. После прямого распространения мы получаем значение, которое называется прогнозируемым. Чтобы вычислить ошибку, мы сравниваем прогнозируемое значение с фактическим с помощью функции потери. Затем мы можем вычислить производную от значения ошибки по каждому весу в нейронной сети.

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

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

Скорость обучения – это характеристика, которая используется во время обучения нейронных сетей. Она определяет, как быстро будет обновлено значение веса в процессе обратного распространения. Скорость обучения должна быть высокой, но не слишком, иначе алгоритм будет расходиться. При слишком маленькой скорости обучения алгоритм будет сходиться очень долго и застревать в локальных минимумах.

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети этоИсточник изображения

Конвергенция – это явление, когда в процессе итерации выходной сигнал становится все ближе к определенному значению. Чтобы не возникло переобучения (проблем работы с новыми данными из-за высокой скорости), используют регуляризацию – понижение сложности модели с сохранением параметров. При этом учитываются потеря и вектор веса (вектор изученных параметров в данном алгоритме).

Нормализация данных – процесс изменения масштаба одного или нескольких параметров в диапазоне от 0 до 1. Этот метод стоит использовать в том случае, если вы не знаете, как распределены ваши данные. Также с его помощью можно ускорить обучение.

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

С помощью функции потери вы можете вычислить ошибку в конкретной части обучения. Это среднее значение функции для обучения:

Для обновления весов в модели используются оптимизаторы:

Для измерения производительности нейронной сети используются метрики производительности. Точность, потеря, точность проверки, оценка — это лишь некоторые показатели.

Batch size – количество обучающих примеров за одну итерацию. Чем больше batch size, тем больше места будет необходимо.

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

Так что же такое искусственная нейронная сеть? Это система нейронов, которые взаимодействуют между собой. Каждый нейрон принимает сигналы или же отправляет их другим процессорам (нейронам). Объединённые в одну большую сеть, нейроны, обучаясь, могут выполнять сложные задачи.

Углубиться в сферу искусственного интеллекта и наработать практические навыки по программированию глубоких нейронных сетей вы можете на специализированном курсе Deep Learning и нейронные сети, где познакомитесь с основными библиотеками для Deep Learning, такими как TensorFlow, Keras и другими.

Источник

Понятие скорости обучения в нейронных сетях

В данной статье обсуждается скорость обучения, которая играет важную роль в обучении нейронной сети.

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

В этой статье мы обсудим концепцию скорости обучения и выясним, как она может повлиять на обучение нейронной сети.

Что такое скорость обучения?

Как вы уже догадались, скорость обучения влияет на скорость, с которой обучается ваша нейронная сеть. Но это еще не всё.

Во-первых, давайте проясним, что мы подразумеваем под «обучением». В контексте нейронных сетей «учиться» по значению более или менее эквивалентно «тренироваться», но с другой стороны это разные вещи. Инженер обучает нейронную сеть, предоставляя обучающие данные и выполняя процедуру обучения. В то время как это происходит, сеть учится – или, более конкретно, она учится аппроксимировать связь вход-выход, содержащуюся в обучающих данных. Проявлением обучения является изменение веса, а скорость обучения влияет на способ этого изменения.

Минимизация ошибок в нейронных сетях

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

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это Рисунок 1 – Чаша ошибки

Если у нас есть точка, местоположение которой определяется значениями двух весов и выходной ошибкой узла, каждая модификация весов заставляет точку перескакивать в другое место где-нибудь на этой поверхности ошибки. Эти прыжки стремятся к нижней части чаши, где ошибка сводится к минимуму; они не приводят напрямую к минимальной ошибке, потому что каждая обучающая выборка – это только маленький кусочек математической головоломки.

Влияние скорости обучения

Скорость обучения влияет на размер прыжков, которые ведут к нижней части чаши. Сейчас я собираюсь перейти к двумерному представлению, потому что будет легче создавать и интерпретировать изображения. Вот наша двумерная функция ошибки:

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это Рисунок 2 – Двумерное представление функции ошибки

Как вы помните из предыдущей статьи, для обновления весов мы использовали следующее правило обучения:

\[w_ <новый>= w+(\alpha\times\delta\times вход)\]

где \(\alpha\) – это скорость обучения, а \(\delta\) – это разница между ожидаемым выходным сигналом и рассчитанным выходным сигналом (то есть ошибка).

Каждый раз, когда мы применяем это правило обучения, вес переходит в новую точку на кривой ошибки. Если \(\delta\) велика, эти скачки также могут быть довольно большими, и нейросеть может обучаться неэффективно, потому что веса не сходятся постепенно к минимальной ошибке. Вместо этого они хаотично прыгают, как показано ниже.

скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это Рисунок 3 – Большие скачки весовых коэффициентов не способствуют хорошей сходимости

Так как, прежде чем модификация применяется к весу, \(\delta\) умножается на скорость обучения, мы можем уменьшить размер прыжков, выбрав \(\alpha\) скорость обучения нейронной сети это. Смотреть фото скорость обучения нейронной сети это. Смотреть картинку скорость обучения нейронной сети это. Картинка про скорость обучения нейронной сети это. Фото скорость обучения нейронной сети это Рисунок 4 – Подходящая скорость обучения помогает нейросети найти минимальную ошибку

Как выбрать скорость обучения

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

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

Более сложный подход, который был бы более практичным для нейросетей, требующих длительного времени обучения, заключается в анализе изменений в ошибках во время обучения сети. Ошибка должна уменьшаться в направлении минимума, а изменения в ошибке должны быть достаточно малыми, чтобы избежать «прыгающего» поведения, показанного выше, но не настолько маленькими, чтобы нейросеть обучалась крайне медленно. Как и многие другие вещи в жизни, скорость обучения зависит от баланса.

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

График скорости обучения

Прежде чем мы закончим, я хочу кратко обсудить технику обучения, которая, я считаю, является важным инструментом для тех, кто работает с нейронными сетями. Первое, что нужно признать, это то, что скорость обучения не обязательно должна быть постоянной на протяжении всей процедуры обучения. Скорость обучения используется каждый раз, когда с помощью правила обучения обновляются веса; таким образом, если скорость обучения изменяется во время обучения, то тут же будет изменен и эволюционный путь нейросети к ее окончательной форме.

Одним из способов воспользоваться этим является снижение скорости обучения во время обучения. Это называется «отжигом» (annealing) скорости обучения. Есть разные способы реализовать это, но сейчас важно понять, почему это помогает.

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

Заключение

Я предупреждал вас в первой статье, что это будет длинная серия. Это уже шестая статья, а конца еще не видно. В любом случае, я надеюсь, что вам понравилось это объяснение скорости обучения. В следующей статье мы обсудим проблему «локальных минимумов».

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *