Пользовательские циклы обучения глубокого обучения

Настройте циклы глубокого обучения и функции потерь

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

Функции

расширить все

dlnetworkНейронная сеть для глубокого обучения для пользовательских циклов обучения
forwardВычислите выход нейронной сети для глубокого обучения для обучения
predictВычислите выход нейронной сети для глубокого обучения для вывода
adamupdateОбновите параметры с помощью адаптивной оценки момента (Адам)
rmspropupdate Обновляйте параметры с помощью корневого среднего квадратного распространения (RMSProp)
sgdmupdate Обновляйте параметры с помощью стохастического градиентного спуска с импульсом (SGDM)
dlupdate Обновляйте параметры с помощью пользовательской функции
minibatchqueueСоздайте мини-пакеты для глубокого обучения
onehotencodeЗакодируйте метки данных в одноядерные векторы
onehotdecodeДекодируйте векторы вероятностей в метки классов
padsequencesДополните или обрезайте данные последовательности до той же длины
initializeИнициализируйте обучаемые и параметры состояния dlnetwork
dlarrayГлубокое обучение для пользовательских циклов обучения
dlgradientВычисление градиентов для пользовательских циклов обучения с помощью автоматической дифференциации
dlfevalОцените модель глубокого обучения для пользовательских циклов обучения
dimsРазмерные метки dlarray
finddimПоиск размерностей с заданной меткой
stripdimsУдаление dlarray метки
extractdataИзвлечение данных из dlarray
isdlarrayОпределите, является ли вход dlarray
functionToLayerGraphПреобразуйте функцию модели глубокого обучения в график слоев
dlconvГлубокое обучение
dltranspconvГлубокое обучение транспонировало свертку
lstmДолгая краткосрочная память
gruСтробируемый рекуррентный модуль
embedВстраивайте дискретные данные
fullyconnectСуммируйте все взвешенные входные данные и примените смещение
reluПрименить активацию выпрямленного линейного модуля
leakyreluПрименить негерметичное включение выпрямленного линейного модуля
batchnormНормализуйте все наблюдения для каждого канала независимо
crosschannelnormПерекрестная квадратная нормализация с использованием локальных откликов
groupnormНормализуйте между сгруппированными подмножествами каналов для каждого наблюдения независимо
instancenormНормализуйте по каждому каналу для каждого наблюдения независимо
layernormНормализуйтесь по всем каналам для каждого наблюдения независимо
avgpoolОбъедините данные в средние значения по пространственным размерностям
maxpoolОбъедините данные в максимальное значение
maxunpoolОтмена пула выхода операции максимального объединения
softmaxПримените активацию softmax к размерности канала
sigmoidПрименить сигмоидную активацию
crossentropyПотери перекрестной энтропии для задач классификации
huberПотеря Huber для регрессионных задач
mseПоловина средней квадратичной невязки
ctcКоннекционистская временная классификация (CTC) потеря для несогласованной классификации последовательностей
dlaccelerateУскорите функцию глубокого обучения для пользовательских циклов обучения
AcceleratedFunctionУскоренная функция глубокого обучения
clearCacheОчистка кэша трассировки функции ускоренного глубокого обучения

Темы

Пользовательские циклы обучения

Обучите модель глубокого обучения в MATLAB

Узнайте, как обучить модели глубокого обучения в MATLAB®.

Задайте пользовательские циклы обучения, функции потерь и сети

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

Обучите сеть с помощью пользовательского цикла обучения

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

Задайте опции обучения в пользовательском цикле обучения

Узнать, как задать общие опции обучения в пользовательском цикле обучения.

Задайте функцию градиентов модели для пользовательского цикла обучения

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

Обновление статистики нормализации партии . в пользовательском цикле обучения

В этом примере показано, как обновить сетевое состояние в пользовательском цикле обучения.

Делайте предсказания, используя объект dlnetwork

В этом примере показано, как делать предсказания с помощью dlnetwork объект путем разделения данных на мини-пакеты.

Обучите сеть на изображениях и данных о функциях

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

Обучите сеть с несколькими выходами

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

Классификация видео с использованием глубокого обучения с помощью пользовательского цикла обучения

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

Обучите сеть классификации изображений устойчивой к состязательным примерам

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

Обучите устойчивую нейронную сеть для глубокого обучения с якобской регуляризацией

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

Моделируйте функции

Обучите сеть с помощью функции Model

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

Обновление статистики нормализации партии . с помощью функции Model

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

Делайте предсказания, используя функцию Model

В этом примере показано, как делать предсказания с помощью функции модели путем разделения данных на мини-пакеты.

Инициализируйте настраиваемые параметры для функции модели

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

Автоматическая дифференциация

Список функций с поддержкой dlarray

Просмотр списка функций, поддерживающих dlarray объекты.

Фон автоматической дифференциации

Узнайте, как работает автоматическая дифференциация.

Используйте автоматическую дифференциацию в Deep Learning Toolbox

Как использовать автоматическую дифференциацию в глубоком обучении.

Ускорение функции глубокого обучения

Ускорение функции глубокого обучения для пользовательских циклов обучения

Ускорите функции модели и функции градиентов модели для пользовательских циклов обучения путем кэширования и переиспользования трассировок.

Ускорение пользовательских функций цикла обучения

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

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

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

Оценка эффективности функции ускоренного глубокого обучения

В этом примере показано, как оценить увеличение эффективности использования ускоренной функции.

Рекомендуемые примеры