Глубокое обучение для пользовательских циклов обучения
Глубокое обучение сохраняет данные с необязательными метками формата данных для пользовательских циклов обучения и позволяет функциям вычислять и использовать производные посредством автоматической дифференциации.
Совет
Для большинства задач глубокого обучения можно использовать предварительно обученную сеть и адаптировать ее к собственным данным. Для примера, показывающего, как использовать передачу обучения для переобучения сверточной нейронной сети для классификации нового набора изображений, смотрите Train Нейронной сети для глубокого обучения для классификации новых изображений. Также можно создавать и обучать сети с нуля, используя layerGraph
объекты с trainNetwork
и trainingOptions
функций.
Если trainingOptions
функция не предоставляет опций обучения, которые вам нужны для вашей задачи, тогда можно создать пользовательский цикл обучения с помощью автоматической дифференциации. Дополнительные сведения см. в разделе «Определение нейронной сети для глубокого обучения для пользовательских циклов обучения».
помечает данные в dlX
= dlarray(X
,fmt
)dlX
согласно формату данных в fmt
. Метки помогают в передаче данных глубокого обучения между функциями. См. Использование. Если X
является маркированным dlarray
, затем fmt
заменяет существующие метки.
dlarray
метки позволяют использовать функции в этой таблице для выполнения с уверенностью, что данные имеют соответствующий формат.
Функция | Операция | Валидация входной размерности | Влияния размера Входа измерения |
---|---|---|---|
avgpool | Вычислите среднее значение входных данных по движущимся прямоугольным (или кубоидальным) пространственным ('S' ) области, заданные параметром pool size. | 'S' | 'S' |
batchnorm | Нормализуйте значения, содержащиеся в каждом канале ('C' ) входных данных. | 'C' | |
crossentropy | Вычислите перекрестную энтропию между оценками и целевыми значениями, усредненную размером пакета ('B' ) размерность. | 'S' , 'C' , 'B' , 'T' , 'U' (Оценки и целевые массивы должны иметь одинаковые размеры.) | 'S' , 'C' , 'B' , 'T' , 'U' (Выходные выходы являются немаркированным скаляром.) |
dlconv | Вычислите свертку глубокого обучения входных данных с помощью массива фильтров, совпадающих с количеством пространственных ('S' ) и (функция) канала ('C' ) размерности входа и добавление постоянного смещения. | 'S' , 'C' | 'S' , 'C' |
dltranspconv | Вычислите транспонированную свертку входных данных глубокого обучения с помощью массива фильтров, совпадающих с количеством пространственных ('S' ) и (функция) канала ('C' ) размерности входа и добавление постоянного смещения. | 'S' , 'C' | 'S' , 'C' |
fullyconnect | Вычислите взвешенную сумму входных данных и примените смещение для каждого пакета ('B' ) и время ('T' ) размерность. | 'S' , 'C' , 'U' | 'S' , 'C' , 'B' , 'T' , 'U' (Выходные выходы всегда имеют метки 'CB' , 'CT' , или 'CTB' .) |
gru | Примените стробированное вычисление рекуррентных модулей к входным данным. | 'S' , 'C' , 'T' | 'C' |
lstm | Примените долгосрочное краткосрочное вычисление памяти к входным данным. | 'S' , 'C' , 'T' | 'C' |
maxpool | Вычислите максимум входных данных по движущимся прямоугольным пространственным ('S' ) области, заданные параметром pool size. | 'S' | 'S' |
maxunpool | Вычислите операцию отмены охлаждения по пространственному ('S' ) размерности. | 'S' | 'S' |
mse | Вычислите половину средней квадратичной невязки между оценками и целевыми значениями, усредненной размером пакета ('B' ) размерность. | 'S' , 'C' , 'B' , 'T' , 'U' (Оценки и целевые массивы должны иметь одинаковые размеры.) | 'S' , 'C' , 'B' , 'T' , 'U' (Выходные выходы являются немаркированным скаляром.) |
softmax | Примените активацию softmax к каждому каналу ('C' ) входных данных. | 'C' |
Эти функции требуют, чтобы каждая размерность имела метку, заданную либо как метки их первого dlarray
вход, или как 'DataFormat'
аргумент пары "имя-значение", содержащий метки размерности.
dlarray
применяет порядок меток 'SCBTU'
. Это обеспечение устраняет неоднозначную семантику в операциях, которая неявно совпадает с метками между входами. dlarray
также приводит в действие то, что метки 'C'
, 'B'
, и 'T'
каждый может появиться самое большее один раз. Функции, которые используют эти метки, принимают самое большее одно размерность для каждой метки.
dlarray
обеспечивает функции для удаления меток (stripdims
), получение размерностей, сопоставленной с метками (finddim
) и перечисление меток, связанных с dlarray
(dims
).
Для получения дополнительной информации о том, как dlarray
ведет себя с метками, см. «Заметное поведение dlarray».
avgpool | Объедините данные в средние значения по пространственным размерностям |
batchnorm | Нормализуйте все наблюдения для каждого канала независимо |
crossentropy | Потери перекрестной энтропии для задач классификации |
dims | Размерные метки dlarray |
dlconv | Глубокое обучение |
dlgradient | Вычисление градиентов для пользовательских циклов обучения с помощью автоматической дифференциации |
dltranspconv | Глубокое обучение транспонировало свертку |
extractdata | Извлечение данных из dlarray |
finddim | Поиск размерностей с заданной меткой |
fullyconnect | Суммируйте все взвешенные входные данные и примените смещение |
gru | Стробируемый рекуррентный модуль |
leakyrelu | Применить негерметичное включение выпрямленного линейного модуля |
lstm | Долгая краткосрочная память |
maxpool | Объедините данные в максимальное значение |
maxunpool | Отмена пула выхода операции максимального объединения |
mse | Половина средней квадратичной невязки |
relu | Применить активацию выпрямленного линейного модуля |
sigmoid | Применить сигмоидную активацию |
softmax | Примените активацию softmax к размерности канала |
stripdims | Удаление dlarray метки |
A dlarray
также позволяет функции для числовых, матричных и других операций. Полный список см. в списке функций с поддержкой dlarray.
A dlgradient
вызов должен быть внутри функции. Чтобы получить числовое значение градиента, вы должны вычислить функцию используя dlfeval
, и аргументом функции должен быть dlarray
. См. Использование автоматической дифференциации в Deep Learning Toolbox.
Чтобы включить правильную оценку градиентов, dlfeval
должен вызывать функции, которые используют только поддерживаемые функции для dlarray
. Смотрите Список функций с поддержкой dlarray.