Глубокое обучение с изображениями

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

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

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

Можно обучить сверточную нейронную сеть на центральном процессоре, графическом процессоре, нескольких центральных процессорах или графических процессорах, или параллельно на кластере или в облаке. Для обучения на графическом процессоре или параллельно требуется Parallel Computing Toolbox™. Для использования графический процессор требуется поддерживаемый графический процессор (информацию о поддерживаемых устройствах см. в разделе Поддержка GPU Release (Parallel Computing Toolbox)). Задайте окружение выполнения, используя trainingOptions функция.

Приложения

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

Функции

расширить все

trainingOptionsОпции для обучения глубокой нейронной сети
trainNetworkОбучите глубокую нейронную сеть
analyzeNetworkАнализируйте нейронную сеть для глубокого обучения архитектуру
squeezenetSqueezeNet сверточная нейронная сеть
googlenetСверточная нейронная сеть GoogLeNet
inceptionv3Inception-v3 сверточную нейронную сеть
densenet201DenseNet-201 сверточную нейронную сеть
mobilenetv2MobileNet-v2 сверточную нейронную сеть
resnet18ResNet-18 сверточную нейронную сеть
resnet50ResNet-50 сверточную нейронную сеть
resnet101ResNet-101 сверточную нейронную сеть
xceptionXception сверточная нейронная сеть
inceptionresnetv2Предварительно обученная Inception-ResNet-v2 сверточная нейронная сеть
nasnetlargeПредварительно обученная NASNet-большая сверточная нейронная сеть
nasnetmobileПредварительно обученная сверточная нейронная сеть NASNet-Mobile
shufflenetПредварительно обученная сверточная нейронная сеть ShuffleNet
darknet19DarkNet-19 сверточную нейронную сеть
darknet53DarkNet-53 сверточную нейронную сеть
efficientnetb0EfficientNet-b0 сверточную нейронную сеть
alexnetСверточная нейронная сеть AlexNet
vgg16VGG-16 сверточную нейронную сеть
vgg19VGG-19 сверточную нейронную сеть

Входные слои

imageInputLayerВходной слой изображения
image3dInputLayerвходные слои 3-D изображения
featureInputLayerВходной слой признака

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

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

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

reluLayerСлой Rectified Linear Unit (ReLU)
leakyReluLayerУтечка слоя Rectified Linear Unit (ReLU)
clippedReluLayerПодрезанный слой Rectified Linear Unit (ReLU)
eluLayerЭкспоненциало линейного модуля (ELU)
tanhLayerСлой гиперболического тангенса (танх)
swishLayerСлой качания

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

batchNormalizationLayerНормализация партии .
groupNormalizationLayerСлой нормализации группы
instanceNormalizationLayerСлой нормализации образцов
layerNormalizationLayerСлой нормализации слоя
crossChannelNormalizationLayer Слой нормализации локального отклика по каналам
dropoutLayerВыпадающий слой
crop2dLayer2-D слой обрезки
crop3dLayer3-D слой обрезки

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

averagePooling2dLayerСредний слой объединения
averagePooling3dLayer3-D средний слой объединения
globalAveragePooling2dLayerГлобальный средний слой объединения
globalAveragePooling3dLayer3-D глобальный средний слой объединения
globalMaxPooling2dLayerГлобальный максимальный слой объединения
globalMaxPooling3dLayer3-D глобальный слой максимального объединения
maxPooling2dLayerМаксимальный слой объединения
maxPooling3dLayer3-D максимального слоя объединения
maxUnpooling2dLayerМаксимальный слой отмены охлаждения

Комбинированные слои

additionLayerСлой сложения
multiplicationLayerСлой умножения
concatenationLayerСлой конкатенации
depthConcatenationLayerСлой конкатенации глубин

Выходные слои

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

Блоки

расширить все

PredictПрогнозируйте ответы с помощью обученной глубокой нейронной сети
Image ClassifierКлассификация данных с помощью обученной глубокой нейронной сети

Свойства

ConfusionMatrixChart PropertiesВнешний вид и поведение матричного графика неточностей

Примеры и как

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

Классификация изображений с помощью GoogLeNet

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

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

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

Перенесите обучение с помощью Deep Network Designer

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

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

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

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

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

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

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

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

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

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

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

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

Построение сетей с помощью Deep Network Designer

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

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

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

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

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

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

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

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

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

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

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

Обучите сеть с числовыми функциями

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

Сети нескольких входов и нескольких выходов

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

Обучите генеративную состязательную сеть (GAN)

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

Обучите условную генеративную состязательную сеть (CGAN)

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

Обучите передаточную сеть быстрого стиля

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

Подписывание изображений с использованием внимания

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

Обучите сеть с помощью пользовательского цикла обучения

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

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

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

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

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

Импорт пользовательского слоя в Deep Network Designer

В этом примере показано, как импортировать пользовательский выходной слой классификации с суммой потерь при ошибке квадратов (SSE) и добавить его в предварительно обученную сеть в Deep Network Designer.

Регрессия изображение-изображение в Deep Network Designer

В этом примере показов, как использовать Deep Network Designer для создания и обучения сети регрессии изображение-изображение для супер- разрешение.

Концепции

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

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

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

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

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

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

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

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

Datastores для глубокого обучения

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

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

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

Советы и рекомендации по глубокому обучению

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

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

Обнаружение наборов данных для различных задач глубокого обучения.

Импорт данных в Deep Network Designer

Импорт и визуализация данных в Deep Network Designer.

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