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

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

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

Мне кажется, что замена логистической функции на ReLU концептуально более всего похожа на выпуск Илоном Маском автомобиля Tesla Cybertruck.

Среди радикальных преимуществ ReLU — вычислительная «дешевизна» этой активационной функции «в стиле панк». Бонусом к ней идёт простота имплементации этой операции на GPU.

Охота на электроовец. Большая книга искусственного интеллекта - image214.jpg
Рис. 119. Различные функции активации

Веса AlexNet были инициализированы белым гауссовским шумом, после чего сеть обучалась при помощи стохастического градиентного спуска на двух GPU Nvidia GTX 580 в течение примерно недели [1852].

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

Казалось бы, почему просто не присваивать весам на старте нулевые значения? Ну или заполнять их случайным образом, не заботясь о параметрах распределения? Оказывается, соотношения значений весов в различных слоях существенно влияют на поведение градиентов при использовании метода обратного распространения ошибки, на их тенденцию исчезать или, напротив, «взрываться». Для того чтобы добиться наиболее благоприятной для последующего обучения ситуации с градиентами, было придумано несколько различных схем инициализации синаптических весов [1853]. Например, инициализация Ксавье [Xavier] (она же инициализация Глоро [Glorot], поскольку названа в честь Ксавье Глоро) [1854], инициализация Хе [1855] (в честь Каймина Хе), а также инициализация Каймина [Kaiming] (как несложно догадаться, также в честь Каймина Хе, но, в отличие от Глоро, Хе удалось изобрести два разных способа инициализации, поэтому инициализация Хе — это не то же самое, что инициализация Каймина!) [1856]. Разные способы инициализации являются оптимальными в зависимости от различных функций активации, применяемых в слоях нейронной сети [1857]. В наши дни для инициализации синаптических весов искусственных нейронных сетей нередко используют и более «интеллектуальные» алгоритмы, такие, например, как предложенный в 2021 г. GradInit [1858], который пересчитывает параметры распределения случайных значений в каждом из слоёв сети таким образом, чтобы первый шаг оптимизации привёл к максимальному улучшению значения целевой функции.

AlexNet содержит порядка 650 000 искусственных нейронов, примерно 630 млн соединений между ними и около 60 млн параметров [1859], [1860]. Рецептивный слой сети содержит 227 × 227 × 3 нейронов. Для обучения сети каждое изображение из базы ImageNet сначала было уменьшено таким образом, чтобы его меньшее измерение стало равно 256 пикселям, а затем из центра получившейся картинки вырезался фрагмент размером 256 × 256. Из полученного набора квадратных картинок при обучении сети на её вход передавался случайно выбранный фрагмент изображения размером 227 × 227 пикселей. Также для увеличения количества прецедентов применялось горизонтальное отражение изображений. В оригинальных слайдах Крижевского к его докладу, сделанному по результатам ILSVRC-2012, размер окна указан равным 224 × 224 пикселей, а также указано неправильное количество нейронов в первом свёрточном слое (253 440 вместо 290 400). По всей видимости, это стало следствием банальных опечаток, но в итоге в будущем внесло смятение в молодые умы начинающих специалистов в области глубокого обучения [1861], [1862].

Если когда-нибудь столкнётесь с чем-нибудь подобным, ни в коем случае не падайте духом!

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

Для полносвязных слоёв сети при обучении применялась техника так называемого прореживания [dropout]. Суть этого метода заключается в том, что каждый из нейронов с некоторой вероятностью (в данном случае — 50%) отключается, то есть передаёт на выход нулевое значение. Эта методика позволяет обычно получать более устойчивые модели, а также избегать переобучения.

Переобучение [overfitting] — одна из типичных проблем, встречающихся при решении задач машинного обучения. Внешне ситуация выглядит следующим образом. По мере обучения вашей модели величина ошибки на обучающей выборке продолжает падать, однако на тестовой выборке начинает расти. Иногда говорят, что модель заучивает конкретные примеры из обучающей выборки вместо того, чтобы находить признаки, необходимые для успешной классификации. Причина переобучения обычно кроется в чрезмерном количестве параметров модели относительно имеющегося размера обучающей выборки. Исследованию проблемы переобучения посвящено множество работ, а для борьбы с ним, помимо прореживания, разработано множество методик, таких как, например, регуляризация (добавление к целевой функции некоторого штрафа за определённые свойства параметров модели: например, если за каждый ненулевой параметр модели начислять штраф, прямо пропорциональный абсолютному значению этого параметра, то такой метод называется «регуляризация L1», а если штраф пропорционален квадрату параметра, то это уже «регуляризация L2»); ранняя остановка (просто прекращаем обучение модели, если величина ошибки на тестовой выборке начала расти); аугментация (augmentation — увеличение, приумножение) обучающей выборки (дополняем обучающую выборку изображениями, повёрнутыми на некоторые случайные углы, дополненные некоторым шумом или изуродованные ещё каким-либо оригинальным образом, при условии что внесённые искажения не изменят метку класса) и так далее. Переобучению также посвящено множество мемов, популярных в сообществе специалистов по машинному обучению.

Охота на электроовец. Большая книга искусственного интеллекта - image215.jpg

6.2.1.3 Предшественники AlexNet

Надо заметить, что AlexNet не была первой свёрточной сетью, для ускорения обучения которой использовались GPU. Более того, победа AlexNet на ILSVRC-2012 не была первой победой такой сети на соревнованиях по распознаванию изображений.

Немного расскажем о предшественниках сети AlexNet и их результатах.

Ещё в 2006 г. Кумар Челлапилла, Сидд Пьюри и Патрис Симар добились примерно четырёхкратного ускорения обучения сети по сравнению с CPU при помощи видеокарты Nvidia GeForce 7800 Ultra. Правда, применение для CPU библиотеки BLAS (basic linear algebra subroutines, базовые подпрограммы линейной алгебры), содержащей оптимизированные на низком уровне процедуры для выполнения операций линейной алгебры, позволяло достичь примерно троекратного прироста скорости и на CPU.

Эксперименты производились на датасетах MNIST и Latin. Последний содержал изображения 94 символов (заглавные и строчные буквы латинского алфавита, цифры, скобки, знаки препинания и арифметических операций, а также некоторые используемые в англоязычных текстах символы). В ходе экспериментов использовались различные размеры изображений, подаваемых на вход сети: 29 × 29, 37 × 37, 61 × 61 [1863].

В 2009 г. свет увидела работа немецких учёных Фабиана Нассе, Гернота Финка (оба из Технического университета Дортмунда) и Кристиана Турау (из Фраунгоферовского института интеллектуального анализа и информационных систем, Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme, Fraunhofer IAIS) под названием «Определение лиц при помощи свёрточных нейронных сетей на базе GPU» (Face Detection Using GPU-Based Convolutional Neural Networks). В этой работе авторы использовали приближение гиперболического тангенса при помощи рядов Тейлора и в итоге, применив видеокарту Nvidia GeForce 8800 GT, смогли достичь ускорения обучения по сравнению с CPU в 11–13 раз. Эксперименты были поставлены на собственном датасете, содержавшем 12 000 изображений (на половине из них присутствовали лица). На вход сети подавались изображения размером 32 × 32 пикселя [1864].

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