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

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

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

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

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

Приложения

Deep Network DesignerСпроектируйте, визуализируйте и обучите нейронные сети для глубокого обучения

Функции

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

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

Введите слои

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 глобальный средний слой объединения
globalMaxPooling2dLayerГлобальная переменная макс. объединение слоя
globalMaxPooling3dLayer3-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Создайте матричный график беспорядка для проблемы классификации
sortClassesСортировка классов матричного графика беспорядка

Свойства

ConfusionMatrixChart PropertiesМатричный вид диаграммы беспорядка и поведение

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

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

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

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

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

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

Передача обучения с Deep Network Designer

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сгенерируйте код MATLAB, чтобы воссоздать разработку и обучение сети в Deep Network Designer.

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

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

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

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

Обучите Условную порождающую соперничающую сеть (CGAN)

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

Отобразите ввод субтитров Используя внимание

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

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

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

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

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

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

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

Концепции

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для просмотра документации необходимо авторизоваться на сайте