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

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

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

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

Можно обучить сверточную нейронную сеть на центральном процессоре, графическом процессоре, нескольких центральных процессорах или графических процессорах, или параллельно в кластере или в облаке. Обучение на графическом процессоре или параллельно требует Parallel Computing Toolbox™. Используя графический процессор требует поддерживаемого устройства графического процессора (для получения информации о поддерживаемых устройствах, смотрите Поддержку графического процессора Релизом (Parallel Computing Toolbox)). Задайте среду выполнения с помощью 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
darknet19Cверточная нейронная сеть DarkNet-19
darknet53Cверточная нейронная сеть DarkNet-53
efficientnetb0Сверточная нейронная сеть EfficientNet-b0
alexnetСверточная нейронная сеть AlexNet
vgg16Сверточная нейронная сеть VGG-16
vgg19Сверточная нейронная сеть VGG-19

Входные слои

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

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

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) слой
swishLayerСлой Swish

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

batchNormalizationLayerСлой нормализации партии.
groupNormalizationLayerСлой нормализации группы
instanceNormalizationLayerСлой нормализации экземпляра
layerNormalizationLayerСлой нормализации слоя
crossChannelNormalizationLayer Мудрый каналом локальный слой нормализации ответа
dropoutLayerСлой Dropout
crop2dLayer2D слой обрезки
crop3dLayer3-D слой обрезки

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

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

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

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

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

sigmoidLayerСигмоидальный слой
softmaxLayerСлой Softmax
classificationLayerClassification слой выхода
regressionLayerСоздайте регрессию выходной слой
augmentedImageDatastoreПреобразуйте пакеты, чтобы увеличить данные изображения
imageDataAugmenterСконфигурируйте увеличение данных изображения
augmentПримените идентичные случайные преобразования к повторным изображениям
layerGraphГрафик слоев сети для глубокого обучения
plotПостройте график слоев нейронной сети
addLayersДобавьте слои в график слоев
removeLayersУдалите слои из графика слоев
replaceLayerЗамените слой в графике слоев
connectLayersСоедините слои в графике слоев
disconnectLayersОтключите слои в графике слоев
DAGNetworkСеть Directed acyclic graph (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 глубокого обучения.

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

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

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

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

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

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

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

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

Импортируйте данные в Deep Network Designer

Импортируйте и визуализируйте данные в Deep Network Designer.

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