exponenta event banner

Глубокое обучение с помощью изображений

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

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

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

Сверточную нейронную сеть можно обучить на CPU, GPU, нескольких CPU или GPU, либо параллельно на кластере или в облаке. Обучение на GPU или параллельно требует Toolbox™ параллельных вычислений. Для использования графического процессора требуется поддерживаемое устройство графического процессора (сведения о поддерживаемых устройствах см. в разделе Поддержка графического процессора по выпуску (Панель параллельных вычислений)). Укажите среду выполнения с помощью trainingOptions функция.

Приложения

Конструктор глубоких сетейПроектирование, визуализация и обучение сетей глубокого обучения

Функции

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

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

Входные слои

imageInputLayerСлой ввода изображения
image3dInputLayer3-D слой ввода изображения
featureInputLayerСлой ввода элементов

Свертка и полностью соединенные слои

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

Уровни активации

reluLayerСлой выпрямленного линейного блока (ReLU)
leakyReluLayerСлой выпрямленного линейного блока с утечкой (ReLU)
clippedReluLayerСлой обрезанного выпрямленного линейного блока (ReLU)
eluLayerСлой экспоненциальной линейной единицы (ЗЭС)
tanhLayerСлой гиперболической касательной (tanh)
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Сортировать классы матричной диаграммы путаницы

Блоки

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

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

Свойства

Свойства ConfusionMatrixChartВнешний вид и поведение матричной диаграммы путаницы

Примеры и способы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создание сетей с помощью разработчика глубоких сетей

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

Конволюционная нейронная сеть поезда для регрессии

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

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

Откройте для себя все уровни глубокого обучения в MATLAB ®.

Определение слоев сверточной нейронной сети

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

Создание кода MATLAB от разработчика глубоких сетей

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

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

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

Сеть поездов с числовыми характеристиками

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

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

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

Генеративная состязательная сеть поездов (GAN)

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

Условная состязательная сеть поездов (CGAN)

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

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

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

Субтитры изображения с помощью внимания

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

Сеть поездов, использующая индивидуальный цикл обучения

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

Сеть поездов с несколькими выходами

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

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

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

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

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

Регрессия между изображениями в конструкторе глубоких сетей

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

Понятия

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

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

Настройка параметров и сверточная нейронная сеть поезда

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

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

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

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

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

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

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

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

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

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

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

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

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

Импорт данных в конструктор глубоких сетей

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

Характерные примеры