Глубокое понимание сети AlexNet

Оригинальный адрес: https://blog.csdn.net/luoluonuoyasuolong/article/details/81750190

AlexNet
论文: "ImageNet Классификация с Deep сверточных нейронных сетей"
Первая типичная структура сети CNN LeNet5, но первый пробуждать внимание сети является AlexNet, то есть, в статье «ImageNet Классификация с Deep сверточных нейронных сетей» описана структура сети. Сеть этой статьи, чтобы получить модель чемпионата после окончания статьи, опубликованной в 2012 году ImageNet конкуренции. Автор Alex Крижевский, такие как Университет Торонто. Алекс Крижевского факт Хинтон студенты, лидер команды Hinton, Хинтон, то кто это? Это будет хороший разговор, и популярный онлайн сказал Хинтон, LeCun и Bengio является полем нейронных сетей Большой тройки, LeCun является LeNet5 автор (Лекун), упоминаемый в вчерашней статье об этом человеке. Сегодняшний герой, хотя и не Хинтон, но имеет с ним отношения, то первый автор этой статьи Алекс, так что структура сети называется AlexNet. Эта статья интересна тем, что после того, как я прочитал газету, не столкновение места более трудно понять, понятие лица стало известно, перед тем, как РЕЛ, отсев. Время до школы РЕЛУ только знать, как это, прежде чем мы знаем его истинное происхождение сегодня. Статья, опубликованная в 2012 году, статья в модели для участия в конкурсе является ImageNet LSVRC-2010, то ImageNet набор данные имеют 1,2 миллиона штук изображений с высоким разрешением, в общей сложности 1000 категории. Набор Тест разделен на вершине-1 и топ-5, и 37,5% соответственно, и получить частоту ошибок на 17%. Это приводит к тому времени превысили уровень до процесса. AlexNet LeNet сетевая структура похожа на всем, первый свертки затем полностью соединены. Но очень отличается в деталях. AlexNet более сложный. AlexNet параметры имеют 60 миллионов и 65000 нейронов, пять свертков, три полностью подключена сетью, конечный выход канального слоя является SoftMax 1000. AlexNet рассчитывается с использованием двух GPU, что значительно повышает эффективность работы, и получить топ-5 в 15-тестах ILSVRC 2012 конкуренции.
Некоторые фоны
в области компьютерного зрения, обнаружение и распознавание объектов широко используются машинами метод решения обучения. В целях повышения признания результатов, мы можем собрать больше данных могут быть обучены , чтобы сделать производительность обобщения модели улучшается. В настоящее время , по величине millions.This данных (называемые как простые задачи распознавания) были получены очень хорошие результаты, например , уровень: MNIST задачу распознавания рукописных цифр, наилучшая производительность достигла <0,3% ошибка. Но в действительности существуют значительные различия в атрибутах объекта, поэтому научиться распознавать , что нужно больше данных. На самом деле, небольшие данные учебные изображений имеют много недостатков, независимо от того , нашей интуиции будет достаточно доказать теорию основалась, в теории, бумага «Почему в реальном мире визуального объект распознавание трудно?» Придает методы исследования. С развитием интернет - технологий и популярности смартфонов можно сказать , сбора данных изображения более легко. Таким образом , есть организации , чтобы собрать образы реальности вещей и маркировки и сегментации. Например: LabelMe (Labelme :. A базы данных и веб-инструмент для аннотирования изображений), содержащая сотни разделенных изображений полной. ImageNet (ImageNet :. Широкомасштабного Масштаб Иерархических базы данных изображений I), изображения с высоким разрешением содержат 15 миллиарда, в том числе более 22000 видов реальных вещей.
В статье говорится , что эта модель имеет пять слоев свертку, удалите слой будет вызывать результат не хорошо, так что глубина этой сети , кажется, очень важно, так будет неизбежно заставляют нас думать, помнить , не знает , кто бог в работе оказалось, нейронная сеть может моделировать любой полином, до тех пор , как число нейронов достаточно, и имеет немного глубины и отношения. Но эксперимент здесь сказал , что производительность будет влиять на глубину сети.
В статье также говорилось , что они используют эту модель в течение 5-6 дней обучения, а также ограничивает размер сети, поскольку существующие аппаратные интеллектуальные позволили так много памяти, с лучшим оборудованием может также получить лучшие результаты.
архитектура сети
AlexNet сетевая структура, как это, почему я чувствую себя так некрасиво сеть представлена ​​ах, ха-ха.
Эта сеть является очень сложным чувством, вы должны понять, насколько хорошо? Картина сначала разделена на верхнюю и нижнюю части сети, в документе упоминается две части, соответственно, две сети ГПУ, только конкретного сетевого слоя необходимо только для двух GPU взаимодействия, эта компоновка является использование двух полностью операционный блок GPU для повышения эффективности, на самом деле, большая разница не в сетевой структуре. Для лучшего понимания, мы предполагаем, что мы теперь только вычисляет GPU или CPU, мы проанализируем архитектуру сети от направления точки несколько упрощена области. В общей сложности 8 слоев сетевого уровня, слой 5, свертки трех слоев полностью подключенный слой.
Первый слой: свертка слой, вход 224 × 224 × 3224 × 224 × 3 224 \ 224 раз \ раз изображения 3224 × 224 × 3, количество ядра свертки 96, бумага 48 вычисляет два GPU ядерная; свертка размер ядра составляет 11 × 11 × 311 × 11 × 3 11 раз 11 \ \ 311 раз × 11 × 3; шаг = 4, шаг представляет собой размер шага, колодки = 0, расширенная кромка не представлена;
размер изображения после того, как свертка , что это?
Широкий = (224 + 2 * отступы - kernel_size). / С большой шаг + 1 = 54
Высота = (224 + 2 * обивка - kernel_size). / А шаг в + 1 = 54
Dimention = 96 ,
а затем (местный Нормированная ответ), а затем путем объединения pool_size = (3, 3), шаг = 2, площадка = 0 , наконец , получена функция отображения первого слоя извитого
конечный результат представляет собой свертку первого слоя

Второй слой: свертка слой 2, слой извитых карты ввода функций, свертка числа 256, обе бумаги являются GPU 128 ядро ​​свертки. Размер ядра свертки: 5 × 5 × 485 × 5 × 48 5 \ раз 5 \ раз 485 × 5 × 48; прокладка = 2, шаг = 1, а затем делать LRN, наконец, max_pooling, pool_size = (3, 3) , шаг = 2;

Третий слой: 3 свертка, второй вход выходного слоя, число ядра свертки 384, kernel_size = (3 × 3 × 2563 × 3 × 256 3 \ 3 раза \ раза 2563 × 3 × 256), обивка = 1, а третий слой не сделано LRN бассейн

Четвертый слой: свертка 4, вход является выходом третьего слоя, число ядра свертки 384, kernel_size = (3 × 33 × 3 3 \ раз 33 × 3), обивка = 1, а третий слой, нет ЛРН и бассейн

Пятый слой: 5 свертки, выходной сигнал четвертого входного слоя, число ядра свертки 256, kernel_size = (3 × 33 × 3 3 \ раза 33 × 3), обивка = 1. Затем непосредственно max_pooling, pool_size = (3, 3), шаг = 2;

6,7,8 слои полностью соединены слои, количество нейронов в каждом слое 4096, 1000 является конечным выходным SoftMax, так как введенные выше, классификационный номер игры ImageNet 1000. Слой полностью подключен и используется РЕЛУ Dropout.
Выше структура является предположение о том, что существует разница в GPU два GPU выше, и бумага, но для того , чтобы облегчить понимание, чем проще , тем лучше или использование структуры.
РЕЛУ Нелинейность (выпрямленный Линейный блок)
стандартный выходной LP нейроны , обычно используемые TANH или сигмовидного в качестве функции активации, TANH (х) = sinhxcoshx = ех-е-хех + е-xtanh (х) = sinhxcoshx = ех-е-хех + е-х TANH (х) = \ гидроразрыва {sinhx} {coshx} = \ гидроразрыва {е ^ х - е ^ {- х}} {е ^ х + е ^ {- х}} TANH (х) = coshxsinhx = ех + е-хех-ех , сигмовидной: F (X) = 11 + E-XF (X) = 11 + E-XF (х) = \ гидроразрыва {1} {1 + е ^ {- х}} Р (х) = 1 + е-х1. Тем не менее, это нелинейная функция насыщения при вычислении градиента с течением времени в не тока насыщения функции Р (х) = тах (0 , х) Р (х) = тах (0, х) Р (х) = тах (0 многий х) Р (х) = тахи (0, х) медленно, упоминаемые здесь как Исправленные линейные единицы (ReLUs). Использование ReLUs , чем эквивалент в глубине исследования Тань гораздо быстрее.
Типичная сеть четыре слоя с использованием TANH фиг ReLUs в качестве функции активации и набора данных CIFAR-10s экспериментов, сходится к ошибке скорости сходимости кривой 0,25, вы можете четко видеть скорость сходимости зазора. Пунктирная линия TANH, сплошные линии ReLUs.
Локальный ответ Нормализация (нормируются частичный ответ)
в нейронной сети, мы используем функцию вывода активации нейрона , чтобы сделать нелинейное отображение, но этот TANH и сигмовидной активация функция обычного диапазона есть возможности, но Relu полученный диапазон функции активации не диапазон, так , чтобы получить результаты РЕЛУ быть нормализованы. То есть местная Нормализация ответа. Метод нормированного частичного ответа как по следующему уравнению:
. BI (X, Y) = AI (X, Y) (К + αΣmin (1-N, N-I + / 2) J = макс (0, I- п / 2) ( а ^ (х , у)) 2) βb (х, у) I = а (х, у) я (к + αΣj = тах (0, я-п / 2) мин (N- 1, я + п / 2) (а (х, у) к) 2) β б ^ {я} _ {(х, у)} = \ гидроразрыва {а ^ {я} _ {(х, у)} } {(к + \ альфа \ сумма \ limits_ {J = тах (0, I - N / 2)} ^ {мин (N-1, я + п / 2)} (а ^ J _ {(х, у) }) ^ 2) ^ {\ бета}} Ь (х, у) I = (к + = & alpha ; j макс (0, я-п / 2) Σmin (N-1, я + п / 2) ( а (х, у) к) 2) βa (х, у) я
Эта формула Что это значит? AI (х, у) а ( х, у) ^ IA это _ {(х, у)} а (х, у) я представляет РЕЛУ выход (х, у) положение I-го ядро, п представляет собой AI (х, у) а ( х, у) Ia ^ _ {(х, у)} количество соседа (х, у) I D A, N представляет общее число ядра. би (х, у) Ь ( х, у) б ^ I _ {(х, у)} Ь (х, у) я представляет собой результат LRN. Результаты вывода РЕЛУ и его соседи делают диапазон частичной нормализации, как понять это? Я думаю , что несколько похоже на область , где наши максимальные и минимальные нормированной, представьте себе вектор X = [x_1, x_2, ... x_n] ,
то все числа будут нормализованы к нормализации отношений между 0-1 правилом является: XI = xixmax-xminxi = xixmax-Xmin x_i = \ гидроразрыва {x_i} {X_ {} макс - X_ {мин}} хи = Xmax -xmin XI.
Выше уравнение , которое имеет ту же функцию, но часть нагрузки мало, первый расчет немного более сложным, то есть и другие параметры , а, р, kα, р, к \ альфа, \ бета, kα, β, к.
Мы фиг фантазии, прямоугольник представляет собой свертку ядро для каждого созданного объекта карты. Все пиксельный прошла функцию активации РЕЛ, и теперь у нас есть конкретный пиксель частичной нормализации. Предположу , зеленую стрелку , указывающие на первую карту соответствующих ядер все , что я, остальные четыре синего слой стрелки ядра , соответствующие соседнюю карту вокруг него, предполагая прямоугольное промежуточное расположение зеленый пиксел (х, у), а затем Я должен быть извлечено из местных нормализованных данных является значение пикселя (х, у) положения соседей ядра , соответствующая карты. Т.е. в приведенных выше формулах А , (х, у) а ( х, у) ^ а ^ J _ {(х, у)} а (х, у) J. Тогда значение квадратного пиксела плюса и эти соседи. Умножено на коэффициент αα положение \ alphaα плюс константа к, то ββ \ betaβ сила знаменатель значение молекулярного пикселя (х, у) I-го ядра , соответствующий карте. После того, как я понял , это чувство не так сложно.
Ключ, как параметры а, р, kα, р, к \ альфа, \ бета, kα, β, к определяется, что бумага указанная концентрация определяется в проверке, окончательный результат определения как:
. K = 2, п = 5, [альфа] = 10-4, β = 0.75k = 2, п = 5, α = 10-4, β = 0,75 к = 2, п = 5, \ альфа = 10 ^ {- 4}, \ бета = 0.75k = 2, . 5 = N-, [альфа] = 10-4, бета] = 0,75
Перекрытие (операции покрытия бассейна) объединение
Общий пул слоя , потому что не перекрываются, pool_size и шага , как правило , равны, например, изображение 8 × 88 × 8 8 \ раз 88 × 8 , если размер пула слоя составляет 2 × 22 × 2 2 \ раз 22 × 2, то изображение через операцию ячейки получает 4 × 44 × 4 4 \ раза 44 × 4 размера, такое расположение называется операцией клетки , которая не покрывается, если шаг <pool_size, он будет производить покрытие бассейна операция, которая несколько похожа на операции сверточного, так что более точные результаты могут быть получены. В верхней-1, и топ-5 , используемых в закрытой операции бассейны частоты ошибок, соответственно , уменьшилась на 0,4% и 0,3%. Газета сообщает , что в ходе учебной модели, охватывающее аккумулирование слой менее вероятно более облегающий.
Архитектура Общая
схема конфигурации train_val.prototxt сеть нарисованы инструментов для рисования , несущих Caffe (кофейная / питон / draw_net.py) и Caffe / модели / bvlc_alexnet / каталог , как показано ниже
Эта фигура также сетевая структура одного GPU, GPU , чем два из сетевой структуры.
Предотвращение чрезмерный фитинга из
нейронной сети более серьезная проблемой является более облегающей проблемой, методы расширения данных и Dropout бумаги , используемые в обработанном фитинге проблемы.
Данные усиливающее (расширение данных, чтобы сделать некоторые изменения в исходных данных)
расширение данных является самым простым способом , чтобы предотвратить более облегающий, только нужно быть подходящим преобразованием исходных данных, вы получите больше наборов данных различны, чтобы предотвратить более облегающие.
Выпадение
Выпадение за много интересного, но здесь мы не должны знать , тоже, просто нужно знать Выпадение, чтобы удалить некоторые из нервов в целом соединения узла слоя, чтобы предотвратить чрезмерное облегающие целей, мы можем видеть в таблице выше шестой и седьмой этаж установлены Dropout. Понимание отсева рекомендуется статьи
Ссылки
AlexNet оригинальной бумага
Caffe AlexNet
Выпадение понимания
машинного обучения Advanced отмечает тер | глубокое понимание Alexnet
----------------
Предупреждение: Данная статья является оригинальной статьей CSDN блоггеров свиньи шарлатан «из следовать CC 4.0 соглашения об авторских прав BY-SA, воспроизведено, пожалуйста , приложите ссылку первоисточника и это утверждение.
Оригинальная ссылка: https: //blog.csdn.net/luoluonuoyasuolong/article/details/81750190

рекомендация

отwww.cnblogs.com/lzhu/p/11853978.html
рекомендация