Создайте нейронную сеть для глубокого обучения для данных, содержащих последовательности изображений, такие как видео и медицинские данные изображения.
Чтобы ввести последовательности изображений в сеть, используйте входной слой последовательности.
Чтобы применить сверточные операции независимо к каждому временному шагу, сначала преобразуйте последовательности изображений к массиву изображений с помощью слоя сворачивания последовательности.
Чтобы восстановить структуру последовательности после выполнения этих операций, преобразуйте этот массив изображений назад к последовательностям изображений с помощью слоя разворачивания последовательности.
Чтобы преобразовать изображения в характеристические векторы, используйте сглаживать слой.
Вы можете затем последовательности входного вектора на слои LSTM и BiLSTM.
Архитектура сети Define
Создайте сеть LSTM классификации, которая классифицирует последовательности 28 28 полутоновых изображений в 10 классов.
Задайте следующую сетевую архитектуру:
Последовательность ввела слой с входным размером [28 28 1]
.
Свертка, пакетная нормализация и слой ReLU блокируются с 20 фильтрами 5 на 5.
Слой LSTM с 200 скрытыми модулями, который выводит последний временной шаг только.
Полносвязный слой размера 10 (количество классов) сопровождаемый softmax слоем и слоем классификации.
Чтобы выполнить сверточные операции на каждом временном шаге независимо, включайте слой сворачивания последовательности перед сверточными слоями. Слои LSTM ожидают векторный вход последовательности. Чтобы восстановить структуру последовательности и изменить вывод сверточных слоев к последовательностям характеристических векторов, вставьте слой разворачивания последовательности и сглаживать слой между сверточными слоями и слоем LSTM.
Преобразуйте слои в график слоя и соедините miniBatchSize
вывод слоя сворачивания последовательности к соответствующему входу слоя разворачивания последовательности.
Просмотрите итоговую сетевую архитектуру с помощью функции plot
.