Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шолле Ф. - Глубокое обучение на Python (Библиотека программиста) - 2023.pdf
Скачиваний:
4
Добавлен:
07.04.2024
Размер:
11.34 Mб
Скачать

9.3. Современные архитектурные шаблоны сверточных сетей    313

До.сих.пор.(на.протяжении.всей.главы.8.и.в.начале.главы.9).вы.знакомились. с.основами.классификации.и.сегментации.изображений..С.имеющимися.теперь. у.вас.знаниями.можно.многого.добиться..Тем.не.менее.сверточные.нейронные. сети,.которые.опытные.инженеры.разрабатывают.для.решения.реальных.задач,. не.так.просты,.как.в.наших.примерах..Вы.пока.не.сможете,.подобно.экспертам,. в .процессе .конструирования .моделей .быстро .принимать .точные .решения..

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

Рис. 9.6. Контрольное изображение и спрогнозированная для него маска

9.3. СОВРЕМЕННЫЕ АРХИТЕКТУРНЫЕ ШАБЛОНЫ СВЕРТОЧНЫХ СЕТЕЙ

«Архитектура».модели.—.это.сумма.решений,.которые.применялись.при.ее. создании:.использованные.слои,.их.настройки.и.порядок.соединения..Эти. решения.определяют.пространство гипотез.модели:.пространство.возможных. функций,.параметризованных.весами.модели,.по.которым.градиентный.спуск. может.выполнять.поиск..Так.же.как.при.проектировании.признаков,.хорошее. пространство.гипотез.кодирует.имеющиеся знания.о.задаче.и.ее.решении..Например,.использование.сверточных.слоев.предполагает.предварительное.знание,. что.соответствующие.шаблоны,.присутствующие.в.исходных.изображениях,. инвариантны.в.отношении.переноса..Для.эффективного.обучения.на.данных. обязательно.нужно.делать.предположения.о.том,.что.вы.ищете.

314    Глава 9. Введение в глубокое обучение в технологиях зрения

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

Выбор .архитектуры .модели .— .это .больше .искусство, .чем .наука. .Опытные. специалисты.могут.создавать.высококачественные.модели.с.первой.попытки,. основываясь.исключительно.на.своей.интуиции,.тогда.как.новички.часто.испытывают.сложности.с.разработкой.модели,.способной.к.обучению..Ключевое. слово.здесь.—.интуиция:.никто.не.сможет.четко.обосновать,.почему.та.или.иная. архитектура.годится.или.не.годится..Эксперты.полагаются.на.опыт,.приобретаемый.в.процессе.решения.разнообразных.практических.задач..В.процессе.чтения. этого.издания.вы.разовьете.собственную.интуицию..Однако.дело.не только. в.ней.—.хоть.в.науке.глубокого.обучения.мало.чего-то.особенного,.но,.как.в.лю- бой.инженерной.дисциплине,.есть.свои.лучшие.практики.

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

Начнем.с.общей.организации.архитектуры.по.формуле.«модульность.—.иерар- хия.—.многократное.использование».(modularity-hierarchy-reuse,.MHR).

9.3.1. Модульность, иерархия, многократное использование

Есть.универсальный.рецепт,.помогающий.упростить.сложную.систему:.нужно. лишь.структурировать.всю.аморфную.мешанину.в.модули,.организовать.модули. в.иерархию.и.многократно использовать.одни.и.те.же.модули.в.разных.местах. по.мере.необходимости.(«многократное.использование».—.еще.один.термин.для. обозначения.абстракции.в.этом.контексте)..Формула.«модульность.—.иерар- хия.—.многократное.использование».лежит.в.основе.системной.архитектуры. практически.во.всех.областях,.где.в.принципе.используется.термин.«архитектура»..На.ней.базируется.любая.сложная.система,.будь.то.собор,.ваше.собственное. тело,.военно-морской.флот.страны.или.кодовая.база.Keras.(рис..9.7).

9.3. Современные архитектурные шаблоны сверточных сетей    315

Рис. 9.7. Сложные системы организованы в модули с иерархической структурой, которые многократно используются (например, ваши четыре конечности или ваши 20 пальцев являются вариантами одного и того же шаблона)

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

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

Само.по.себе.глубокое.обучение.—.всего.лишь.применение.данного.рецепта.к.не- прерывной.оптимизации.методом.градиентного.спуска:.вы.берете.классический. метод.оптимизации.(градиентный.спуск.по.непрерывному.функциональному. пространству).и.структурируете.пространство.поиска.на.модули.(слои),.орга- низованные.в.иерархию.(часто.в.виде.простого.стека.—.простейшей.разновид- ности.иерархии),.в.которой.повторно.используется.все.что.можно.(например,. свертки.предназначены.для.повторного.применения.одной.и.той.же.информации. в.разных.пространственных.местоположениях).

316    Глава 9. Введение в глубокое обучение в технологиях зрения

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

Например,.популярная.архитектура.VGG16,.которую.мы.использовали.в.предыдущей.главе,.имеет.повторяющиеся.блоки.«свертка,.свертка,.выбор.максимального».(рис..9.8).

Кроме.того,.большинство.сверточных.сетей.имеют.пирамидальную.структуру. (иерархию признаков)..Вспомните,.например,.последовательное.увеличение. количества.сверточных.фильтров,.которые.мы.использовали.в.первой.сверточной.сети,.построенной.в.предыдущей.главе:.32,.64,.128..Число.фильтров.растет. с.глубиной.слоя,.а.размер.карт.признаков,.соответственно,.уменьшается..То.же. самое.можно.заметить.в.организации.модели.VGG16.(рис..9.8).

Рис. 9.8. Архитектура VGG16: обратите внимание на повторяющиеся блоки слоев и пирамидальную структуру карт признаков

Более.глубокие.иерархии.хороши.тем,.что.способствуют.повторному.использованию.признаков.и,.следовательно,.абстрагированию..В.общем.случае.глубокий. стек.слоев.меньшей.размерности.работает.лучше,.чем.мелкий.стек.слоев.большой. размерности..Однако.количество.слоев.не.может.увеличиваться.до.бесконеч- ности.из-за.проблемы.затухания градиента..Для.ее.преодоления.используется. важный.архитектурный.шаблон.—.остаточные.связи.