Совет
Эта тема объясняет, как задать пользовательские слои глубокого обучения для ваших проблем. Для списка встроенных слоев в Deep Learning Toolbox™ смотрите Список слоев глубокого обучения.
Можно задать собственные слои глубокого обучения для задачи. Можно задать пользовательскую функцию потерь с помощью пользовательского выходного слоя и задать пользовательские слои с или без настраиваемых параметров и параметров состояния. После определения пользовательского слоя можно проверять, что слой допустим, совместимый графический процессор, и выходные параметры правильно задал градиенты.
Эта тема объясняет архитектуру слоев глубокого обучения и как задать пользовательские слои, чтобы использовать для ваших задач.
Ввод | Описание |
---|---|
Промежуточный слой | Задайте пользовательский слой глубокого обучения и задайте дополнительные настраиваемые параметры и параметры состояния. Для получения дополнительной информации смотрите, Задают Пользовательские Промежуточные Слои Глубокого обучения. Для примера, показывающего, как задать пользовательский слой с настраиваемыми параметрами, смотрите, Задают Пользовательский Слой Глубокого обучения с Настраиваемыми параметрами. Для примера, показывающего, как задать пользовательский слой с несколькими входными параметрами, смотрите, Задают Пользовательский Слой Глубокого обучения с Несколькими Входными параметрами. |
Слой классификации | Задайте пользовательскую классификацию выходной слой и задайте функцию потерь. Для получения дополнительной информации смотрите, Задают Пользовательское Глубокое обучение Выходные Слои. Для примера, показывающего, как задать пользовательскую классификацию выходной слой и задать функцию потерь, смотрите, Задают Пользовательскую Классификацию Выходной Слой. |
Regression слой выхода | Задайте пользовательскую регрессию выходной слой и задайте функцию потерь. Для получения дополнительной информации смотрите, Задают Пользовательское Глубокое обучение Выходные Слои. Для примера, показывающего, как задать пользовательскую регрессию выходной слой и задать функцию потерь, смотрите, Задают Пользовательскую Регрессию Выходной Слой. |
Можно использовать следующие шаблоны, чтобы задать новые слои.
Во время обучения программное обеспечение итеративно выполняет вперед и обратные проходы через сеть.
Заставляя форварда пройти через сеть, каждый слой берет выходные параметры предыдущих слоев, применяет функцию, и затем выходные параметры (вперед распространяет), результаты к следующим слоям. Слои с сохранением информации, такие как слои LSTM, также обновляют состояние слоя.
Слои могут иметь несколько вводов или выводов. Например, слой может взять X1, …, XN от нескольких предыдущих слоев и вперед распространить выходные параметры Z1, …, Z M к последующим слоям.
В конце прямой передачи сети выходной слой вычисляет потерю L между предсказаниями Y и цели T.
Во время обратного прохода сети каждый слой берет производные потери относительно выходных параметров слоя, вычисляет производные потери L относительно входных параметров, и затем назад распространяет результаты. Если слой имеет настраиваемые параметры, то слой также вычисляет производные весов слоя (настраиваемые параметры). Слой использует производные весов, чтобы обновить настраиваемые параметры.
Следующая фигура описывает поток данных через глубокую нейронную сеть и подсвечивает поток данных через слой с одним входом X, одним выходом Z и настраиваемым параметром W.
Для получения дополнительной информации о пользовательских промежуточных слоях, смотрите, Задают Пользовательские Промежуточные Слои Глубокого обучения.
В конце прямой передачи в учебное время выходной слой берет выходные параметры Y предыдущего слоя (сетевые предсказания) и вычисляет потерю L между этими предсказаниями и учебными целями. Выходной слой вычисляет производные потери L относительно предсказаний Y, и выходные параметры (назад распространяет), результаты к предыдущему слою.
Следующая фигура описывает поток данных через нейронную сеть и выходной слой.
Для получения дополнительной информации смотрите, Задают Пользовательское Глубокое обучение Выходные Слои.
Если вы создаете пользовательский слой глубокого обучения, то можно использовать checkLayer
функционируйте, чтобы проверять, что слой допустим. Функция проверяет, что слои для валидности, совместимости с GPU, правильно задали градиенты и совместимость генерации кода. Чтобы проверять, что слой допустим, запустите следующую команду:
checkLayer(layer,validInputSize)
layer
экземпляр слоя, validInputSize
векторный массив или массив ячеек, задающий допустимые входные размеры к слою. Чтобы свериться с несколькими наблюдениями, используйте ObservationDimension
опция. Чтобы проверять на совместимость генерации кода, установите CheckCodegenCompatibility
опция к 1
TRUE. Для больших входных размеров проверки градиента занимают больше времени, чтобы запуститься. Чтобы ускорить тесты, задайте меньший допустимый входной размер.Для получения дополнительной информации смотрите Проверку Пользовательская Валидность Слоя.
functionLayer
| checkLayer
| setLearnRateFactor
| setL2Factor
| getLearnRateFactor
| getL2Factor
| findPlaceholderLayers
| replaceLayer
| assembleNetwork
| PlaceholderLayer