Массив глубокого обучения для пользовательских циклов обучения
Массив глубокого обучения хранит данные с необязательными метками формата данных для пользовательских циклов обучения и позволяет функциям вычислять и использовать производные с помощью автоматического дифференцирования.
Совет
Для выполнения большинства задач глубокого обучения можно использовать предварительно подготовленную сеть и адаптировать ее к собственным данным. Пример, показывающий, как использовать transfer learning для переподготовки сверточной нейронной сети для классификации нового набора изображений, см. в разделе Train Deep Learning Network to Classify New Images. Кроме того, можно создавать и обучать сети с нуля с помощью layerGraph объекты с trainNetwork и trainingOptions функции.
Если trainingOptions функция не предоставляет возможности обучения, необходимые для выполнения задачи, после чего можно создать индивидуальный цикл обучения с помощью автоматического дифференцирования. Дополнительные сведения см. в разделе Определение сети глубокого обучения для пользовательских циклов обучения.
маркирует данные в dlX = dlarray(X,fmt)dlX в соответствии с форматом данных в fmt. Метки помогают передавать данные глубокого обучения между функциями. См. раздел Использование. Если X является помеченным dlarray, то fmt заменяет существующие метки.
dlarray метки позволяют использовать функции в этой таблице для выполнения с гарантией того, что данные имеют соответствующий формат.
| Функция | Операция | Проверка входного измерения | Влияет на размер входного размера |
|---|---|---|---|
avgpool | Вычислите среднее значение входных данных по перемещающемуся прямоугольному (или кубоидальному) пространственному ('S') области, определенные параметром размера пула. | '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') области, определенные параметром размера пула. | '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. См. раздел Использование автоматической дифференциации в инструментарии глубокого обучения.
Для корректной оценки градиентов dlfeval должны вызывать функции, использующие только поддерживаемые функции для dlarray. См. Список функций с поддержкой dlarray.
dims | dlfeval | dlgradient | dlnetwork | finddim | stripdims