KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Базы данных » Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич

Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Марков Сергей Николаевич, "Охота на электроовец. Большая книга искусственного интеллекта" бесплатно, без регистрации.
Перейти на страницу:

Но наибольший успех до команды SuperVision показали Дэн Чирешан со своими коллегами из уже знакомой нам группы Юргена Шмидхубера в лаборатории искусственного интеллекта швейцарского института IDSIA, которые смогли к 2011 г. достичь 60-кратного выигрыша в скорости по сравнению с CPU. С мая по сентябрь 2012 г. их модель одержала победу как минимум в четырёх конкурсах по распознаванию изображений. Кроме того, Чирешану и его коллегам удалось значительно улучшить описанные на тот момент в научной прессе рекордные результаты в точности распознавания для нескольких датасетов изображений. Именно в 2011 г. на соревнованиях по распознаванию знаков дорожного движения, проводившихся в рамках ежегодной Международной объединённой конференции по нейронным сетям (International Joint Conference on Neural Networks), модель Чирешана и его коллег не только стала победителем, но и продемонстрировала сверхчеловеческую точность распознавания (ошибка в 0,56% против 1,16% в среднем для людей). Их модель представляла собой ансамбль из 25 свёрточных сетей, каждая из которых имела два свёрточных слоя с максимизирующим пулингом, а также два полносвязных слоя [1865].

При обучении модели Чирешан и его коллеги осуществляли аугментацию обучающей выборки, используя небольшие изменения масштаба, повороты изображений и различные типы их нормализации (аналогично участникам команды SuperVision на ILSVRC-2012). Для обучения применялись четыре видеокарты Nvidia GTX 580.

Использованная на соревнованиях обучающая выборка содержала 39 209 изображений, тестовая — 12 630. Все изображения были поделены на 43 непересекающихся класса (соответствующие каждому из знаков дорожного движения). Размер картинок варьировался от 15 × 15 до 250 × 250 пикселей, причём картинки не всегда были квадратными и не всегда дорожный знак находился в центре изображения. Поэтому для подачи изображений на вход сети Чирешан и его коллеги привели все картинки к размеру 48 × 48 пикселей.

Использованная архитектура имела приблизительно 1,5 млн параметров, половина которых приходилась на два последних полносвязных слоя. Обучение всего ансамбля сетей на четырёх графических картах продолжалось 37 часов [1866], [1867].

6.2.1.4 Последователи AlexNet. GoogLeNet как новый уровень

Неудивительно, что победителем ILSVRC-2013 также стала свёрточная нейронная сеть. Обычно её называют ZFNet, но это не совсем точно.

Сеть была разработана доктором Робом Фергюсом из Нью-Йоркского университета и его тогдашним аспирантом Мэтью Зейлером. В своей статье авторы благодарят также Яна Лекуна, который, будучи профессором Нью-Йоркского университета, участвовал в обсуждениях при работе над моделью. Окончательная версия сети, показавшая наилучший результат на соревнованиях, называется Clarifai — по имени стартапа, основанного Зейлером. Но всё-таки чаще эту модель называют ZFNet (по первым буквам фамилий её создателей).

Итоговая величина ошибки Clarifai составила 11,74% (11,20% с привлечением дополнительных данных для обучения, не принадлежащих к обучающей выборке) [1868]. Модель представляла собой ансамбль из шести сетей, по архитектуре идентичных AlexNet [1869].

В 2014 г. авторам сети GoogLeNet (другое её название — Inception V1; это название сеть получила в честь одноимённого научно-фантастического фильма) удалось уменьшить величину ошибки до дьявольски низкого значения в 6,66% [1870].

Так или иначе, показатели сетей приблизились к человеческому уровню, который организаторы конкурса теперь были вынуждены оценить. Сделать это оказалось не так просто. Для того чтобы побить точность GoogLeNet, потребовалось потратить некоторое время на обучение персонала. После нескольких дней обучения человек-эксперт (им был Андрей Карпатый, ныне — директор по ИИ и зрению автопилота в Tesla) смог достичь уровня ошибки в 5,1%. Ансамбль экспертов продемонстрировал уровень ошибки в 3,6% [1871]. Трудно признать эти оценки достаточно надёжными, однако именно их принято в наши дни использовать для оценки точности людей при распознавании картинок ImageNet.

GoogLeNet — свёрточная сеть, в названии которой явно читается отсылка к LeNet. Основой сети стал новый элемент, получивший название «модуль основания» [inception module] (далее в тексте я буду писать «модуль inception», поскольку «модуль основания» по-русски никто не говорит). Изюминкой модуля inception является использование свёртки с ядром 1 × 1 — для снижения размерности выходов предшествующих слоёв. То есть к пространству признаков размерностью X × Y × Z применяется свёртка с ядром 1 × 1 с размером фильтра 1 × 1 × Z, дающая слой размерностью X × Y × 1. Совершив N таких свёрток (с разными фильтрами) и соединив полученные результаты, мы получим пространство признаков размерностью X × Y × N. Задавая N сильно меньше Z, мы получим сокращение пространства признаков.

Каждый модуль inception осуществляет четыре параллельные ветви свёртки (одиночная свёртка с ядром 1 × 1, две последовательные свёртки — 1 × 1 и 3 × 3, две последовательные свёртки 1 × 1 и 5 × 5 и в последней ветке — максимизирующий пулинг 3 × 3 с последующей свёрткой 1 × 1), после чего результаты всех веток объединяются. Вся сеть собрана из подобных блоков, однако это не единственное новшество. Например, вместо одного из полносвязных слоёв на выходе сети авторы GoogLeNet применили слой усредняющего пулинга. Сеть также содержит два дополнительных «досрочных» выхода, используемых при обучении для борьбы с исчезающими градиентами, и множество других гитик, на которых мы не будем здесь останавливаться. В общем, по сравнению с лучшими архитектурами 2013 г. GoogLeNet смотрелась как работа утончённого ювелира среди грубых булыжников мостовой. GoogLeNet состояла из 22 слоёв, однако количество параметров сети по сравнению с AlexNet сократилось на порядок [1872].

Второе место на соревнованиях 2014 г. с небольшим отрывом заняла сеть VGGNet, созданная Кареном Симоняном и Эндрю Зиссерманом из оксфордской Группы визуальной геометрии (Visual Geometry Group). Так же как и AlexNet, VGGNet использовала свёртки с ядром 3 × 3, но с большим количеством фильтров. Авторы обучили несколько вариантов сети, число слоёв которых варьировало от 11 до 19. На обучение самого большого варианта сети системе, оснащённой четырьмя GPU Nvidia Titan Black, требовалось порядка 2–3 недель. Наибольшей точности удалось достичь с применением ансамбля двух сетей (с 16 и 19 свёрточными слоями), имевшими 138 и 144 млн параметров соответственно (что также на порядок больше, чем у GoogLeNet) [1873].

Как бы ни была удивительна архитектура GoogLeNet, победительница состязаний 2015 г. была ещё более странной. Ею стала модель ResNet (а точнее, ансамбль из нескольких таких моделей), представленная Каймином Хе и его коллегами из Miscrosoft. ResNet — это сокращение от residual network, то есть «нейронная сеть с остатками». Этим термином в наши дни принято называть нейронные сети, в которых имеются skip connections — связи, перепрыгивающие слои. Благодаря перепрыгивающим связям, а также применению слоёв пакетной нормализации Хе смог обучить сеть, в которой было целых 152 слоя! При этом число параметров сети (около 60 млн) было более чем вдвое меньше, чем у VGG. Вероятно, примерно в это время в сообществе специалистов по глубокому обучению и появился мем: Stack more layers! [Громозди больше слоёв!].

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*