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

Совет

Эта тема объясняет, как задать пользовательские слои глубокого обучения для ваших проблем. Для списка встроенных слоев в 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. Для больших входных размеров проверки градиента занимают больше времени, чтобы запуститься. Чтобы ускорить тесты, задайте меньший допустимый входной размер.

Для получения дополнительной информации смотрите Проверку Пользовательская Валидность Слоя.

Смотрите также

| | | | | | | | |

Похожие темы