Что такое предварительно обученная модель?

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

Зачем использовать предварительно обученную модель?

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

VGG-16

VGG16 — модель сверточной нейронной сети, предложенная К. Симоняном и А. Зиссерманом из Оксфордского университета в статье Очень глубокие сверточные сети для крупномасштабного распознавания изображений. Точность модели достигает 92,7 % в тестах Top-5 в ImageNet, который представляет собой набор данных из более чем 14 миллионов изображений, принадлежащих к 1000 классам. Это была одна из известных моделей, представленных на ILSVRC-2014. Это улучшение по сравнению с AlexNet за счет замены больших фильтров размером с ядро ​​(11 и 5 в первом и втором сверточных слоях соответственно) несколькими фильтрами размера ядра 3 × 3 один за другим. VGG16 обучался в течение нескольких недель и использовал графические процессоры NVIDIA Titan Black.

В качестве входных данных для слоя cov1 используется изображение фиксированного размера 224 x 224 RGB. Изображение проходит через стопку сверточных (конв.) слоев, где использовались фильтры с очень маленьким воспринимающим полем: 3×3 (это наименьший размер для захвата понятия слева/справа, вверх/вниз, по центру). ). В одной из конфигураций он также использует сверточные фильтры 1 × 1, которые можно рассматривать как линейное преобразование входных каналов (с последующей нелинейностью). Шаг свертки фиксируется на 1 пиксель; пространственное заполнение конв. входной слой таков, что пространственное разрешение сохраняется после свертки, т. е. заполнение равно 1 пикселю для свертки 3×3. слои. Пространственное объединение осуществляется пятью слоями максимального объединения, которые следуют некоторым конв. слои (не все конв. слои сопровождаются максимальным объединением). Максимальное объединение выполняется в окне размером 2×2 пикселя с шагом 2.

Три полносвязных (FC) слоя следуют за стеком сверточных слоев (который имеет разную глубину в разных архитектурах): первые два имеют по 4096 каналов каждый, третий выполняет 1000-путевую классификацию ILSVRC и, таким образом, содержит 1000 каналов (по одному на каждую). класс). Последний слой — это слой soft-max. Конфигурация полносвязных слоев одинакова во всех сетях.

Все скрытые слои снабжены нелинейностью выпрямления (ReLU). Также отмечается, что ни одна из сетей (кроме одной) не содержит Local Response Normalization (LRN), такая нормализация не улучшает производительность на наборе данных ILSVRC, но приводит к увеличению потребления памяти и времени вычислений.