Можно обучить и настроить модель глубокого обучения в различных способах — например, можно переобучить предварительно обученную модель с новыми данными (передача обучения), обучить сеть с нуля, или задать модель глубокого обучения как функцию и использовать пользовательский учебный цикл. Используйте эту блок-схему, чтобы выбрать метод обучения, который подходит лучше всего для вашей задачи.
Совет
Для получения информации о рабочих процессах компьютерного зрения, включая для обнаружения объектов, смотрите Компьютерное зрение с использованием глубокого обучения. Для получения информации об импорте сетей и сетевых архитектур от TensorFlow™-Keras, Caffe и формат модели ONNX™ (Open Neural Network Exchange), видят Импорт и экспорт Глубокого обучения.
Эта таблица предоставляет информацию о различных методах обучения.
Метод | Больше информации |
---|---|
Используйте сеть непосредственно | Если предварительно обученная сеть уже выполняет задачу, вы требуете, то вы не должны переобучать сеть. Вместо этого можно сделать предсказания с сетью непосредственно при помощи Для примера смотрите, Классифицируют Изображение Используя GoogLeNet. |
Обучите сеть с помощью trainingOptions и trainNetwork | Если у вас есть сеть, заданная как массив слоя или график слоев, и Для примера, показывающего, как переобучить сеть (передача обучения), смотрите, Обучают Нейронную сеть для глубокого обучения Классифицировать Новые Изображения. Для примера, показывающего, как обучить сеть с нуля, смотрите, Создают Простую сеть глубокого обучения для Классификации. |
Обучите сеть с помощью dlnetwork возразите и пользовательский учебный цикл | Для большинства задач можно управлять деталями алгоритма настройки с помощью Для функций потерь, которые не могут быть заданы с помощью выходного слоя, можно задать потерю в пользовательском учебном цикле. Для примера, показывающего, как обучить сеть с пользовательским расписанием скорости обучения, смотрите, Обучат сеть Используя Пользовательский Учебный Цикл. Чтобы учиться, больше видит, Задают Пользовательские Учебные Циклы, Функции потерь и Сети. |
Обучите сеть с помощью функционального и пользовательского учебного цикла модели | Для сетей, которые не могут быть созданы с помощью графиков слоев, можно задать пользовательскую сеть как функцию. Для примера, показывающего, как обучить модель глубокого обучения, заданную как функцию, смотрите, Обучат сеть Используя Функцию Модели. Если можно создать части сети с помощью графика слоев, то можно задать те части как графики слоев и неподдерживаемые функции модели использования частей. |
Эта таблица предоставляет больше информации о каждом решении в блок-схеме.
Решение | Больше информации |
---|---|
Deep Learning Toolbox™ обеспечивает подходящую предварительно обученную сеть? | Для большинства задач можно использовать или переобучить предварительно обученную сеть такой как Для списка предварительно обученных нейронных сетей для глубокого обучения в MATLAB® смотрите Предварительно обученные Глубокие нейронные сети. Можно использовать предварительно обученные сети непосредственно с новыми данными, или можно переобучить их с новыми данными для различных задач с помощью передачи обучения. |
Можно ли использовать сеть без переобучения? | Если предварительно обученная сеть уже выполняет задачу, вам нужно, то можно использовать сеть непосредственно без переобучения. Например, можно использовать Если необходимо переобучить сеть — например, чтобы классифицировать различный набор классов — затем можно переобучить сеть с помощью передачи обучения. |
Можно ли задать модель как массив слоя или график? | Можно задать большинство моделей глубокого обучения как массив слоя или график слоев. Другими словами, можно задать модель как набор слоев со слоем выходные параметры, соединенные с другими входными параметрами слоя. Некоторые сетевые архитектуры не могут быть заданы как график слоев. Например, сиамские сети требуют совместного использования веса и не могут быть заданы как график слоев. Для этих сетей необходимо задать модель как функцию. Для примера смотрите, Обучат сеть Используя Функцию Модели. |
Сеть имеет один выход только? | Для сетей с несколькими выходными параметрами необходимо обучить сеть с помощью пользовательского учебного цикла. Для примера смотрите, Обучат сеть с Несколькими Выходными параметрами. |
Deep Learning Toolbox обеспечивает промежуточные слои, в которых вы нуждаетесь? | Deep Learning Toolbox обеспечивает много различных слоев для задач глубокого обучения. Для списка слоев смотрите Список слоев глубокого обучения. Если Deep Learning Toolbox обеспечивает промежуточные слои (слои посреди сети), что вам нужно, то можно задать сеть как массив слоя или график слоев с помощью этих слоев. В противном случае попытайтесь задать любые неподдерживаемые слои как пользовательские слои. Для получения дополнительной информации смотрите, Задают Пользовательские Слои Глубокого обучения. |
Можно ли задать неподдерживаемые промежуточные слои как пользовательские слои? | Если Deep Learning Toolbox не обеспечивает слой, вам нужно, то можно попытаться задать пользовательский слой глубокого обучения. Для получения дополнительной информации смотрите, Задают Пользовательские Слои Глубокого обучения. Если можно задать пользовательские слои для каких-либо неподдерживаемых слоев, то можно включать эти пользовательские слои в массив слоя или график слоев. В противном случае задайте модель глубокого обучения использование функции и обучите модель с помощью пользовательского учебного цикла. Для примера смотрите, Обучат сеть Используя Функцию Модели. |
Deep Learning Toolbox обеспечивает выходные слои, в которых вы нуждаетесь? | Выходные слои задают функцию потерь, используемую для обучения. Deep Learning Toolbox обеспечивает различные выходные слои для задач глубокого обучения. Например, Если Deep Learning Toolbox обеспечивает выходные слои, в которых вы нуждаетесь, то можно задать график слоев с помощью этих слоев. В противном случае попытайтесь задать любые неподдерживаемые выходные слои как пользовательский слой. Для получения дополнительной информации смотрите, Задают Пользовательские Слои Глубокого обучения. |
Можно ли задать неподдерживаемые выходные слои как пользовательские слои? | Если Deep Learning Toolbox не обеспечивает выходной слой, вам нужно, то можно попытаться задать пользовательский выходной слой. Для получения дополнительной информации смотрите, Задают Пользовательские Слои Глубокого обучения. Если можно задать пользовательский выходной слой для каких-либо неподдерживаемых выходных слоев, то можно включать эти пользовательские слои в массив слоя или график слоев. В противном случае обучите модель с помощью |
Делает trainingOptions функция предоставляет возможности, в которых вы нуждаетесь? | Если |
trainingOptions
| trainNetwork