Глубокое обучение для изображений

Обучите сверточные нейронные сети с нуля или используйте предварительно обученные сети, чтобы быстро изучить новые задачи

Создайте новые глубокие сети для классификации изображений и задач регрессии путем определения сетевой архитектуры и обучения сети с нуля. Можно также использовать передачу, учащуюся использовать в своих интересах знание, обеспеченное предварительно обученной сетью, чтобы изучить новые шаблоны в новых данных. Подстройка предварительно обученной сети классификации изображений с передачей, учащейся, обычно намного быстрее и легче, чем обучение с нуля. Используя предварительно обученные глубокие сети позволяет вам быстро изучить новые задачи, не задавая и обучая новую сеть, имея миллионы изображений, или имея мощный графический процессор.

После определения сетевой архитектуры необходимо задать учебные параметры с помощью trainingOptions функция. Можно затем обучить сеть с помощью trainNetwork. Используйте обучивший сеть, чтобы предсказать метки класса или числовые ответы.

Можно обучить сверточную нейронную сеть на центральном процессоре, графическом процессоре, нескольких центральных процессорах или графических процессорах, или параллельно на кластере или в облаке. Обучение на графическом процессоре или параллельно требует Parallel Computing Toolbox™. Используя графический процессор требует, чтобы CUDA® включил NVIDIA®, графический процессор с вычисляет возможность 3.0 или выше. Задайте среду выполнения с помощью trainingOptions функция.

Приложения

Deep Network DesignerРедактируйте и создавайте глубокие нейронные сети

Функции

развернуть все

trainingOptionsОпции для обучения глубокой нейронной сети
trainNetworkОбучите нейронную сеть для глубокого обучения
analyzeNetworkАнализируйте архитектуру нейронной сети для глубокого обучения
alexnetСверточная нейронная сеть Pretrained AlexNet
vgg16Сверточная нейронная сеть Pretrained VGG-16
vgg19Сверточная нейронная сеть Pretrained VGG-19
squeezenetСверточная нейронная сеть Pretrained SqueezeNet
googlenetСверточная нейронная сеть Pretrained GoogLeNet
inceptionv3Предварительно обученная сверточная нейронная сеть Inception-v3
densenet201Сверточная нейронная сеть Pretrained DenseNet-201
mobilenetv2Предварительно обученная сверточная нейронная сеть MobileNet-v2
resnet18Сверточная нейронная сеть Pretrained ResNet-18
resnet50Сверточная нейронная сеть Pretrained ResNet-50
resnet101Сверточная нейронная сеть Pretrained ResNet-101
xceptionСверточная нейронная сеть Pretrained Xception
inceptionresnetv2Сверточная нейронная сеть Pretrained Inception-ResNet-v2
nasnetlargeСверточная нейронная сеть Pretrained NASNet-Large
nasnetmobileСверточная нейронная сеть Pretrained NASNet-Mobile
shufflenetСверточная нейронная сеть Pretrained ShuffleNet

Введите слои

imageInputLayerОтобразите входной слой
image3dInputLayerВходной слой 3-D изображения

Свертка и полносвязные слоя

convolution2dLayer2D сверточный слой
convolution3dLayer3-D сверточный слой
groupedConvolution2dLayer2D сгруппированный сверточный слой
transposedConv2dLayerТранспонированный 2D слой свертки
transposedConv3dLayerТранспонированный 3-D слой свертки
fullyConnectedLayerПолносвязный слой

Слои активации

reluLayerСлой Rectified Linear Unit (ReLU)
leakyReluLayerТекучий слой Rectified Linear Unit (ReLU)
clippedReluLayerОтсеченный слой Rectified Linear Unit (ReLU)
eluLayerСлой Exponential linear unit (ELU)
tanhLayerГиперболическая касательная (tanh) слой

Нормализация, уволенный и слои обрезки

batchNormalizationLayerПакетный слой нормализации
crossChannelNormalizationLayer Мудрый каналом локальный слой нормализации ответа
dropoutLayerСлой Dropout
crop2dLayer2D слой обрезки
crop3dLayer3-D слой обрезки

Объединение и необъединение слоев

averagePooling2dLayerСредний слой объединения
averagePooling3dLayer3-D средний слой объединения
globalAveragePooling2dLayerГлобальный средний слой объединения
globalAveragePooling3dLayer3-D глобальный средний слой объединения
maxPooling2dLayerСлой объединения Max
maxPooling3dLayer3-D макс. слой объединения
maxUnpooling2dLayerСлой необъединения Max

Слои комбинации

additionLayerСлой Addition
concatenationLayerСлой Concatenation
depthConcatenationLayerСлой конкатенации глубины

Выходной слой

softmaxLayerСлой Softmax
classificationLayerClassification слой выхода
regressionLayerСоздайте регрессию выходной слой
augmentedImageDatastoreПреобразуйте пакеты, чтобы увеличить данные изображения
imageDataAugmenterСконфигурируйте увеличение данных изображения
augmentПримените идентичные случайные преобразования к повторным изображениям
layerGraphГрафик сетевых слоев для глубокого обучения
plotПостройте график слоя нейронной сети
addLayersДобавьте слои, чтобы разделить график на уровни
removeLayersУдалите слои из графика слоя
replaceLayerЗамените слой в графике слоя
connectLayersСоедините слои в графике слоя
disconnectLayersОтключите слои в графике слоя
DAGNetworkСеть Directed acyclic graph (DAG) для глубокого обучения
classifyКлассифицируйте данные с помощью обученной глубокой нейронной сети
activationsВычислите активации слоя нейронной сети для глубокого обучения
predictПредскажите ответы с помощью обученной глубокой нейронной сети
confusionchartСоздайте матричный график беспорядка для проблемы классификации
ConfusionMatrixChart PropertiesМатричный вид диаграммы беспорядка и поведение
sortClassesСортировка классов матричного графика беспорядка

Примеры и руководства

Используйте предварительно обученные сети

Классифицируйте изображение Используя GoogLeNet

В этом примере показано, как классифицировать изображение с помощью предварительно обученной глубокой сверточной нейронной сети GoogLeNet.

Классифицируйте изображения веб-камеры Используя глубокое обучение

В этом примере показано, как классифицировать изображения от веб-камеры в режиме реального времени с помощью предварительно обученной глубокой сверточной нейронной сети GoogLeNet.

Передайте изучение с Deep Network Designer

В интерактивном режиме подстройте предварительно обученную нейронную сеть для глубокого обучения, чтобы изучить новую задачу классификации изображений.

Обучите нейронную сеть для глубокого обучения классифицировать новые изображения

В этом примере показано, как использовать передачу, учащуюся переобучать сверточную нейронную сеть, чтобы классифицировать новый набор изображений.

Извлеките функции изображений Используя предварительно обученную сеть

В этом примере показано, как извлечь изученные функции изображений из предварительно обученной сверточной нейронной сети и использовать те функции, чтобы обучить классификатор изображений.

Передайте изучение Используя AlexNet

В этом примере показано, как подстроить предварительно обученную сверточную нейронную сеть AlexNet, чтобы выполнить классификацию на новом наборе изображений.

Предварительно обученные глубокие нейронные сети

Узнать, как загружать и использовать предварительно обученные сверточные нейронные сети в классификации, изучении передачи и извлечении признаков.

Создайте новую глубокую сеть

Создайте простую сеть глубокого обучения для классификации

В этом примере показано, как создать и обучить простую сверточную нейронную сеть классификации глубокого обучения.

Создайте сети с Deep Network Designer

В интерактивном режиме создайте и отредактируйте нейронные сети для глубокого обучения.

Обучите сверточную нейронную сеть регрессии

В этом примере показано, как подбирать модель регрессии использование сверточных нейронных сетей, чтобы предсказать углы вращения рукописных цифр.

Список слоев глубокого обучения

Узнайте все слои глубокого обучения в MATLAB®.

Задайте слои сверточной нейронной сети

Узнайте о слоях сверточной нейронной сети (ConvNet) и порядке, они появляются в ConvNet

Сгенерируйте код MATLAB от Deep Network Designer

Воссоздайте сеть, созданную или отредактированную в Deep Network Designer путем генерации кода MATLAB.

Обучите остаточную сеть для классификации изображений

В этом примере показано, как создать глубокую нейронную сеть с остаточными связями и обучить ее на данных CIFAR-10.

Обучите Порождающую соперничающую сеть (GAN)

В этом примере показано, как обучить порождающую соперничающую сеть (GAN) генерировать изображения.

Обучите сеть Используя пользовательский учебный цикл

В этом примере показано, как обучить сеть, которая классифицирует рукописные цифры с пользовательским расписанием темпа обучения.

Обучите сеть с несколькими Выходными параметрами

В этом примере показано, как обучить нейронную сеть для глубокого обучения с несколькими выходными параметрами, которые предсказывают и метки и углы вращений рукописных цифр.

Обучите сиамскую сеть, чтобы сравнить изображения

В этом примере показано, как обучить сиамскую сеть, чтобы идентифицировать подобные изображения рукописных символов.

Концепции

Глубокое обучение в MATLAB

Узнайте возможности глубокого обучения в сверточных нейронных сетях использования MATLAB для классификации и регрессии, включая предварительно обученные сети и изучение передачи и обучение на графических процессорах, центральных процессорах, кластерах и облаках.

Настройте параметры и обучите сверточную нейронную сеть

Узнать, как настраивать учебные параметры для сверточной нейронной сети

Предварительно обработайте изображения для глубокого обучения

Узнать, как, чтобы изменить размер изображений для обучения, прогноза и классификации, и как предварительно обработать изображения с помощью увеличения данных, преобразований и специализированных хранилищ данных.

Предварительно обработайте объемы для глубокого обучения

Считайте и предварительно обработайте объемное изображение и пометьте данные для 3-D глубокого обучения.

Хранилища данных для глубокого обучения

Узнать, как использовать хранилища данных в применении глубокого обучения.

Преобразуйте сеть классификации в сеть регрессии

В этом примере показано, как преобразовать обученную сеть классификации в сеть регрессии.

Советы глубокого обучения и приемы

Узнать, как улучшить точность нейронных сетей для глубокого обучения.

Рекомендуемые примеры