Ранее мы рассказывали, какПростое изображение, чтобы понять, что такое нейронная сеть.
Сегодня мы продолжим изучение 8 важных архитектур нейронных сетей и кратко объясним их принципы и область применения.
Из учебных ресурсов по машинному обучению многие обязательно должны ознакомиться с книгой Джеффри Хинтона «Нейронные сети в машинном обучении». Джеффри Хинтон — бесспорный крестный отец теории глубокого обучения, и он преподает на этом курсе много полезных вещей. Программист Джеймс Ле серьезно изучил этот курс и поделился своими учебными заметками, резюмируя 8 архитектур нейронных сетей, которые Хинтон объяснил в курсе.Есть миллионы друзей, которые учатся или собираются войти в яму машинного обучения.Не пропустите это сухой материал.Если вам нравятся такого рода учебные заметки, не забудьте подписаться и поставить лайк, мы будем увеличивать публикацию таких статей.
В целом, архитектуры нейронных сетей можно разделить на 3 категории:
Первый: нейронная сеть с прямой связью
Нейронная сеть с прямой связью является наиболее распространенным типом нейронной сети в практических приложениях. Первый слой — это входной слой, последний слой — выходной слой, а средний — скрытый слой. Если есть много скрытых слоев, мы называем это «глубокой» нейронной сетью. Они выполняют ряд преобразований, которые изменяют сходство двух случаев. Активность нейронов в каждом слое является нелинейной функцией активности нейронов в слое ниже.
Два: рекуррентная сеть
Рекуррентные сети, представленные на графе связей, содержат некоторые направленные циклы, то есть иногда вы идете по стрелке и возвращаетесь туда, откуда начали. Рекуррентные сети также имеют много сложной динамики, что затрудняет их обучение. Они ближе к нейронной сети человеческого мозга.
В настоящее время проводится много интересных исследований по поиску эффективных способов обучения нейронных сетей. Рекуррентные нейронные сети — это очень естественный способ моделирования последовательных данных. Они эквивалентны очень глубокой глубокой сети, с одним скрытым слоем на слот, только они используют одинаковые значения весов в каждом слоте, а также получают входную информацию в каждом слоте. Рекуррентные нейронные сети способны запоминать информацию в скрытых состояниях в течение длительных периодов времени, и очень сложно научить их использовать этот потенциал.
Третье: симметрично связанные сети
Эта сеть чем-то похожа на рекуррентную нейронную сеть, но связи между элементами симметричны (они имеют одинаковые веса в обоих направлениях). Симметричные сети гораздо легче анализировать, чем рекуррентные нейронные сети. Их полезность также более ограничена, поскольку они действуют как функция энергии. Симметрично связанная сеть без скрытых узлов называется «сетью Хопфилда», а сеть со скрытыми узлами — «машиной Больцмана».
Давайте подробно рассмотрим 8 архитектур нейронных сетей:
1 персептрон
Первое поколение персептронов нейронных сетей представляло собой просто вычислительные модели только с одним нейроном. Персептроны стали популярными в 1960-х годах благодаря Фрэнку Розенблатту. Такие нейронные сети имеют очень мощные алгоритмы обучения. В 1969 году Minsky and Papers опубликовали книгу под названием «Персептрон», в которой анализировались возможности персептрона и его ограничения. Многие думают, что все нейронные сети имеют эти ограничения. Однако процедура обучения персептронов по-прежнему широко используется сегодня для многих задач с большим количеством векторов признаков, содержащих миллионы признаков.
В стандартной парадигме идентификации статистической модели мы сначалаПреобразуйте исходный входной вектор в вектор активаций функций, а затем используйте написанную от руки программу здравого смысла для определения этих функций. Далее мы узнаем, как взвешивать каждую активацию функции, чтобы получить скалярную величину. Если это число больше определенного порога, мы решаем, что входной вектор является положительным примером целевого класса.
Стандартная архитектура персептрона представляет собой простую сеть с прямой связью, то есть входная информация передается в нейрон, а после обработки генерируется выходной результат. На графике ниже это означает, что нейросеть считывает значения снизу вверх:Входная информация поступает снизу, а выходные значения — сверху.
Однако персептроны также имеют некоторые ограничения:Если вы решите выбирать функции вручную и используете достаточное количество функций, вы можете делать практически все, что угодно.. Для двоичных входных векторов каждый экспоненциальный двоичный вектор будет иметь отдельную единицу признаков, так что мы можем сделать любую возможную дискриминацию двоичного входного вектора. Но как только рукописные признаки определены, появляются сильные ограничения на то, что может выучить персептрон.
Этот результат губителен для персептронов, потому что ключом к распознаванию образов является распознавание образов независимо от перехода. «Теория групповой инвариантности» Минского и др. утверждает, что часть обучающегося персептрона не может научиться распознавать паттерны, если переходы образуют группу. Чтобы обработать эту форму перехода, персептрону необходимо идентифицировать переходы информативных подшаблонов, используя несколько единиц признаков. Следовательно, более сложная часть распознавания образов должна выполняться рукописными детекторами признаков, а не обучением.
Нейронные сети без скрытых блоков ограничены в том, как они моделируют сопоставления ввода-вывода. Неважно, сколько слоев имеет линейный элемент, он все равно линейный. Недостаточно устранить нелинейность выхода. Таким образом, нам нужно несколько слоев адаптивных нелинейных скрытых единиц. Но как нам обучать такие нейронные сети? Нам нужен эффективный способ адаптировать веса всех слоев, а не только последнего слоя. Это трудно сделать. Изучение весов входящих скрытых единиц эквивалентно изучению функций. Это сложнее сделать, потому что никто не может прямо сказать нам, что должен делать скрытый юнит.
2. Сверточные нейронные сети
Исследования машинного обучения всегда уделяли больше внимания проблеме обнаружения объектов, и на моем сайте тоже была опубликована такая статья.Как извлечь особенности изображения с помощью сверточных нейронных сетей.
Причин затруднения идентификации объектов несколько:
-
Сегментация: реальные сцены часто загромождены другими объектами. Трудно сказать, какие части должны быть сгруппированы вместе и являются частью одного и того же объекта. Часть объекта скрыта за другими объектами.
-
Свет: свет, как и объекты, определяет интенсивность пикселя.
-
Деформация: объекты могут быть деформированы различными неаффинными способами, например, рукописные шрифты с большими петлями или только с одним выступом.
-
Доступность. Категории объектов часто определяются тем, как они используются. Например, стулья созданы для сидения, поэтому они бывают разных физических форм.
-
Перспектива: изменение перспективы может привести к смещению изображений, и стандартные методы обучения с этим не справляются. Информация перескакивает между входными размерами, такими как пиксели.
Можете ли вы представить себе медицинскую базу данных, в которой имя пациента иногда появляется во входном измерении, которое обычно предоставляет код для весов! Чтобы применить машинное обучение, мы сначала должны устранить эту проблему скачков измерений.
В настоящее время основным методом нейронной сети для решения проблемы обнаружения объектов является метод признаков репликации. В этом подходе используется несколько разных копий одного и того же детектора признаков в разных местах. Его также можно воспроизвести в масштабировании и ориентации, но это сложнее и дороже. Репликация может резко сократить количество свободных параметров, которые необходимо изучить нейронной сети. Он использует несколько различных типов функций, каждая из которых связана с детектором дублирования. Это также позволяет представлять каждую группу изображений по-разному.
Итак, что вы получаете от тиражирования детекторов признаков?
-
Одноранговая активность: дублированные функции не оставляют нейронную активность неизменной для передачи, активность является одноранговой.
-
Инвариантность: если функция полезна во многих местах во время обучения, то детектор для этой функции доступен во всех местах во время обучения детектора.
В 1998 году Янн ЛеКун и его коллеги разработали сеть, которая может хорошо распознавать рукописные шрифты, под названием LeNet. Нейронная сеть представляет собой сеть с прямой связью, использующую «метод обратного распространения», в ней много скрытых слоев, единицы репликации каждого слоя имеют множество отображений, а выходные данные соседних реплицируемых единиц объединяются. Если несколько функций перекрываются, такая сеть может обрабатывать несколько функций одновременно и является разумным способом обучения всей системы, а не только распознавателя. Позже после оптимизации LeNet была переименована в Convolutional Neural Network. Вот интересный факт: около 10% чеков в Северной Америке сегодня проверяются этой сетью.
Сверточные нейронные сети можно использовать для всего, что связано с распознаванием объектов, от распознавания рукописного текста до 3D-объектов. Однако распознавать реальные объекты на цветных фотографиях, загруженных из Интернета, гораздо сложнее, чем распознавать рукописные шрифты: в сотни раз больше категорий, в сотни раз больше пикселей, различные сцены перемешаны между собой и нуждаются в сегментации, 2D-фотографии и 3D-фотографии имеют сцены смешаны вместе, несколько объектов на каждом изображении и т. д. Так будет ли работать та же сверточная нейронная сеть?
Кроме того, есть знаменитое соревнование по распознаванию изображений ImageNet. ImageNet — это огромный набор данных изображений, содержащий около 1,2 миллиона обучающих изображений высокого разрешения. Тестовые изображения для конкурса представлены без исходных аннотаций (т. е. без сегментации или меток), а алгоритм также должен генерировать конкретные метки, указывающие, какие объекты находятся на изображениях. Группы исследователей компьютерного зрения из Гарварда и других ведущих институтов успешно протестировали самые мощные методы компьютерного зрения в ImageNet. Обычно в системах компьютерного зрения используются сложные многоуровневые системы, причем первичные уровни обычно настраиваются вручную для оптимизации некоторых параметров.
Алекс Крижевский, победитель конкурса ImageNet 2012 года, разработал AlexNet, очень глубокую сверточную нейронную сеть. Его архитектура включает в себя 7 скрытых слоев и множество максимальных объединенных слоев. Все первые слои являются сверточными слоями, а последние два слоя — полносвязными слоями. Функция активации в каждом скрытом слое представляет собой выпрямленную линейную единицу. Эти функции значительно ускоряют обучение и делают его более выразительным, чем логистические функции. Кроме того, эта нейронная сеть также сжимает скрытую активность, используя метод конкурентной нормализации, когда соседние единицы имеют сильную активность, что помогает варьировать интенсивность.
Есть несколько приемов, которые радикально улучшают проблему переобучения этой нейронной сети:
-
Произвольно тренируйтесь на фрагментах 224 X 224 из изображений 256 X 256, чтобы получить больше обучающих данных и отразить эти изображения по горизонтали. В тесте объединили 10 корпусов разных патчей: 4 угла + середина, а затем перевернули.
-
Регулируйте веса полносвязного слоя (который содержит большинство параметров) с помощью Dropout. Отсев означает случайное удаление половины скрытых единиц в иерархии для каждой обучающей выборки. Это предотвращает чрезмерную зависимость скрытых юнитов от других скрытых юнитов.
Что касается необходимого оборудования, Алекс развернул сверточную нейронную сеть на графическом процессоре Nvidia GTX 580. Графические процессоры отлично подходят для умножения матриц, а также имеют высокую пропускную способность памяти. Это позволило Алексу обучить сеть в течение недели, быстро объединив результаты тестирования 10 патчей. По мере того как чипы дешевеют, а наборы данных становятся больше, большие нейронные сети будут оптимизироваться быстрее, чем старые системы компьютерного зрения.
3 Рекуррентные нейронные сети
Чтобы понять рекуррентные нейронные сети, нам нужен краткий обзор моделирования последовательностей. Применяя машинное обучение к последовательностям, мы часто хотим превратить входную последовательность в выходную последовательность в другой области, например, последовательность звукового давления в последовательность лексических признаков. При отсутствии отдельной целевой последовательности мы можем получить обучающий сигнал, попытавшись предсказать следующий элемент во входной последовательности. Целевая выходная последовательность — это входная последовательность предыдущего шага. Это намного естественнее, чем прогнозирование пикселя по другим пикселям или прогнозирование фрагмента фотографии по остальной части фотографии. Различие между контролируемым и неконтролируемым обучением стирается при прогнозировании следующего элемента в последовательности. Он использует методы, используемые для контролируемого обучения, не требуя отдельного обучающего сигнала.
Стандартный способ выполнить эту задачу — использовать модель без памяти. В частности, авторегрессионные модели предсказывают следующий элемент в последовательности из фиксированного числа предыдущих элементов. Нейронная сеть с прямой связью — это обобщенная авторегрессионная модель, в которой используется один или несколько слоев нелинейных скрытых элементов. Однако если мы зададим генеративной модели какие-то скрытые состояния, а скрытые состояния имеют свою внутреннюю динамику, то получится более интересная модель:Способен длительное время хранить информацию в неявном виде.. Если эта внутренняя динамика зашумлена, и то, как вывод генерируется скрытым состоянием, зашумлено, то мы никогда не узнаем, что происходит в скрытом состоянии. Лучший способ — вывести распределение вероятностей в пространстве, где расположены все возможные векторы скрытых состояний, но этот подход применим только к двум типам моделей скрытых состояний.Рекуррентные нейронные сети очень эффективны, потому что они содержат 2 свойства:
-
Распределенное скрытое состояние позволяет им эффективно хранить большие объемы информации из прошлого.
-
Нелинейная динамика позволяет им обновлять свои собственные скрытые состояния сложными способами.
При наличии достаточного количества нейронов и времени RNN может вычислить все, что может вычислить ваш компьютер. Итак, какое поведение демонстрирует рекуррентная нейронная сеть? Они будут раскачиваться взад-вперед, указывать на «аттракторы» и хаотично бегать. RNN также потенциально могут научиться применять множество небольших программ, которые работают параллельно и взаимодействуют друг с другом для получения очень сложных эффектов.
Однако сложность рекуррентных нейронных сетей затрудняет их обучение. Обучение рекуррентной нейронной сети довольно сложно из-за проблемы, заключающейся в том, что градиенты могут быстро и резко увеличиваться или исчезать.Что происходит с величиной градиента при обратном распространении через множество слоев? Если веса малы, градиент уменьшается экспоненциально, если веса велики, градиент экспоненциально увеличивается..
Типичные нейронные сети с прямой связью могут справиться с этими экспоненциальными эффектами, потому что у них очень мало скрытых слоев. Однако в RNN, обученных длинными последовательностями, градиенты могут легко увеличиваться или быстро исчезать. Даже с хорошими начальными весами трудно определить текущий целевой результат на основе ввода, сделанного несколько временных шагов назад, поэтому существует много трудностей при работе с долгосрочными зависимостями с RNN.
Есть 4 эффективных способа изучения RNN:
-
долговременная кратковременная память: Используйте рекуррентные нейронные сети для создания небольших модулей, которые запоминают значения с течением времени.
-
Гессе Бесплатная оптимизация: решить проблему исчезновения градиента с помощью хорошего оптимизатора, который определяет направления с небольшими градиентами, но меньшей кривизной.
-
Сеть состояния эха (ESN): Процесс оптимизации ввода -> скрытый слой и скрытый слой -> скрытый слой и выходной слой -> скрытый слой очень тесно связаны, поэтому скрытое состояние имеет большое «хранилище связанных осцилляторов» Резервуар, слабо связанные осцилляторы могут быть управляется индивидуально входом.
-
Хорошая инициализация методом импульса: Аналогично методу оптимизации в сети с эхо-состоянием, но затем для изучения всех соединений используется метод импульса.
4. Модель долговременной кратковременной памяти
В 1997 году Хохрайтер и Шмидхубер построили известную сеть долговременной и кратковременной памяти, которая решила проблему использования рекуррентных нейронных сетей для достижения долговременной памяти. Они разработали ячейку памяти с логическими и линейными блоками с мультипликативным взаимодействием. Информация вводится в ячейку всякий раз, когда пороговое значение «записи» ячейки включено, и остается в ячейке до тех пор, пока не будет включено пороговое значение «сохранения». Клетки считывают информацию, включив свои пороги «чтения».
Чтение кривого почерка — естественная задача для рекуррентных нейронных сетей. Обычно в качестве входных данных используется последовательность координат (x, y, p) кончика пера, где p указывает, находится ли перо вверху или внизу, а на выходе — последовательность признаков. Исследование Грейва и Шмидхубера, проведенное в 2009 году, показало, что использование модели долговременной кратковременной памяти с рекуррентной нейронной сетью в настоящее время является лучшей системой для чтения кривого почерка. Короче говоря, они использовали серию небольших фотографий в качестве входных данных вместо координат кончика пера.
5 Нейронная сеть Хопфилда
Рекуррентные нейронные сети, состоящие из нелинейных блоков, как правило, трудно анализировать, и они ведут себя по-разному: в устойчивом состоянии, колеблются или следуют непредсказуемым хаотическим траекториям. Сеть Хопфилда состоит из циклических соединений бинарных пороговых единиц. В 1982 году Джон Хопфилд понял, что если связь симметрична, то существует глобальная энергетическая функция. Каждая двоичная «конфигурация» всей сети соответствует энергии, и правило принятия решения о двоичном пороге заставляет нейронную сеть принимать минимальное значение этой функции энергии. Эффективный способ воспользоваться преимуществом этого типа вычислений — использовать память в качестве минимума энергии для этой нейронной сети. Использование минимума энергии означает, что память предоставляет память с адресацией по содержимому, так что можно получить доступ только к части содержимого элемента, что может эффективно противостоять проблеме повреждения оборудования.
Каждый раз, когда мы запоминаем конфигурацию, мы хотим создать новый минимум энергии. Но что, если два близких минимума находятся посередине? Эта ситуация ограничивает возможности Хопфилда. Итак, как мы можем улучшить производительность Хопфилда? Этот вопрос представляет большой интерес для многих физиков, чьи математические знания могут объяснить, как работает мозг. Во многих физических журналах было опубликовано множество статей, посвященных сетям Хопфилда и их возможностям хранения. В конце концов Элизабет Гарднер обнаружила, что способность полностью использовать веса повышает производительность памяти нейронных сетей. Вместо того, чтобы пытаться сохранить вектор сразу, она многократно перебирает тренировочный набор, обучая каждую единицу с помощью процедуры сходимости персептрона, чтобы получить правильное состояние на основе состояния всех оставшихся единиц в векторе. Статистики называют этот подход «псевдоправдоподобием».
В сети Хопфилда есть еще один метод расчета. Вместо того, чтобы использовать эту нейронную сеть для хранения воспоминаний, этот подход создает представление сенсорного ввода. Сенсорный ввод представлен видимой единицей, дедукция представлена состоянием скрытой единицы, а выполнение дедукции представлено энергией.
6 Машинные сети Больцмана
Машина Больцмана представляет собой случайную рекуррентную нейронную сеть, которую можно рассматривать как случайную, порождающую соответствующую сеть сети Хопфилда. Это была одна из первых нейронных сетей, которая изучала внутренние представления, а также представляла и решала сложные комбинаторные задачи.
Целью обучения алгоритма машинного обучения Больцмана является максимизация произведения вероятностей, присвоенных машиной Больцмана бинарным векторам в обучающем наборе, что эквивалентно сумме логарифмических вероятностей, присвоенных обучающим векторам алгоритмом Больцмана. машина.и макс.
В 2012 году Салахутдинов и Хинтон предложили мини-пакетный процесс обучения для машин Больцмана:
-
Для положительной фазы сначала оптимизируется скрытая вероятность с вероятностью 0,5, затем вектор данных фиксируется на видимых единицах, и все скрытые единицы обновляются параллельно, пока сходимость не начнется с обновлениями среднего поля. После сходимости нейронной сети значение PiPj записывается для каждой подключенной пары объектов и усредняется по всем данным в мини-пакетах.
-
Для отрицательной фазы сначала выберите набор «фантазийных частиц», каждая частица имеет значение, которое представляет собой глобальную конфигурацию. Затем все ячейки в каждой воображаемой частице обновляются несколько раз подряд. Для каждой пары соединенных ячеек усреднялось SiSj во всех гипотетических частицах.
В обычной машине Больцмана случайные обновления ячеек должны быть в порядке. Существует специальная архитектура, позволяющая выполнять чередующиеся параллельные обновления, что может значительно повысить эффективность.Этот небольшой пакетный процесс позволяет более распараллелить обновления машины Больцмана. Эта архитектура называется глубокой машиной Больцмана (DBM), которая на самом деле представляет собой обычную машину Больцмана с отсутствующими связями.
В 2014 году Салахутдинов и Хинтон предложили обновленную версию своей модели, получившую название «Ограниченная машина Больцмана» (ОМБ). Они ограничивают соединения в сети, чтобы упростить вывод и обучение (уровень только с одним скрытым элементом, без соединений между скрытыми элементами). в ограниченной машине Больцмана. Когда видимые ячейки зафиксированы, тепловое равновесие достигается всего за один шаг.
Для ограниченных машин Больцмана другим эффективным процессом обучения в мини-пакетах является:
-
Для положительной фазы: сначала зафиксируйте вектор данных для видимых юнитов, затем вычислите значения для всех пар видимых-скрытых юнитов. Для каждой пары связанных ячеек усредните данные во всех мини-пакетах.
-
Для отрицательной фазы: также выберите группу «воображаемых частиц», а затем обновите каждую воображаемую частицу несколько раз альтернативным методом параллельного обновления. Для каждой пары связанных ячеек ViHj усредняется по всем гипотетическим частицам.
7 Сеть глубокого убеждения (DBN)
Обратное распространение считается стандартным методом вычисления распределения ошибок каждого нейрона после обработки пакетов данных в искусственных нейронных сетях. Однако есть несколько серьезных проблем с использованием обратного распространения:
-
Для этого требуются помеченные обучающие данные, но почти все данные не помечены.
-
Время обучения плохо масштабируется, а это означает, что обучение может быть очень медленным, когда нейронная сеть имеет несколько скрытых слоев.
-
Когда проблема локальной оптимизации серьезна, обратное распространение будет заблокировано, поэтому оно все еще не идеально для глубоких сетей.
Чтобы устранить ограничения обратного распространения, исследователи также рассмотрели методы обучения без учителя. Это помогает поддерживать эффективность и простоту при корректировке весов с помощью градиентных методов, а также может использоваться для моделирования структуры сенсорного ввода. В частности, они скорректировали веса, чтобы максимизировать вероятность того, что генеративная модель будет генерировать сенсорную информацию. Вопрос в том, какую генеративную модель нам следует изучать? Может быть, это модель энергии, подобная машине Больцмана? Или причинно-следственная модель, состоящая из идеализированных нейронов? Или гибридный тип этих двух моделей?
Сеть глубокого убеждения представляет собой ориентированный ациклический граф, состоящий из случайных величин. В сетях убеждений нам нужно взглянуть на некоторые из этих переменных, чтобы решить две проблемы:1) Проблема вывода: сделать вывод о состоянии ненаблюдаемой переменной;2) Проблемы с обучением: отрегулируйте взаимодействие между переменными, чтобы сделать нейронную сеть более способной генерировать обучающие данные.
Ранние графические модели требовали, чтобы кто-то определял структуру графа и условные вероятности. В то время графики были слабо связаны, поэтому исследователи изначально сосредоточились на том, чтобы делать правильные выводы, а не на обучении. Для нейронных сетей обучение является центральной задачей. Но даже в этом случае есть две нейросетевые версии сетей убеждений.
Два типа генеративных нейронных сетей, состоящих из случайных бинарных нейронов:1) Энергетическая модель: в этой модели мы соединяем бинарные случайные нейроны в симметричное соединение, чтобы получить машину Больцмана;2) Каузальная модель: в этой модели мы соединяем бинарные случайные нейроны в направленный ациклический граф, чтобы получить сигмовидную сеть убеждений. В этой статье мы не будем подробно обсуждать эти два типа сетей.
8 глубоких автоэнкодеров
Наконец, мы говорим о глубоких автоэнкодерах. Они хорошо подходят для решения нелинейных задач уменьшения размерности по нескольким причинам: они обеспечивают гибкие отображения в двух отношениях, время обучения линейно зависит от количества обучающих случаев, а окончательная модель кодирования очень компактна и быстра. Но при использовании обратного распространения для оптимизации глубоких автоэнкодеров это становится очень сложно. Если начальные веса малы, градиент обратного распространения перестанет работать. Для оптимизации глубоких автоэнкодеров у нас теперь есть лучший способ: использовать неконтролируемый послойный метод предварительной подготовки или, как в сетях эхо-состояний (ESN), просто тщательно инициализировать веса.
Для задач предобучения есть три автоэнкодера Shallow:
-
RBM используется как автоэнкодер: Он очень похож на автоэнкодер, но строго регламентирован бинарной активностью в скрытых слоях. При обучении RBM с максимальной вероятностью он не ведет себя как автоэнкодер. В задаче предварительной подготовки мы можем заменить RBM автоэнкодером Shallow.
-
Шумоподавление автоэнкодеров: он добавляет шум к входному вектору, устанавливая некоторые из его компонентов в 0. Но эти компоненты все еще необходимо реконструировать, поэтому сухой автоэнкодер должен извлекать функции, которые фиксируют корреляцию между входными данными. Задачи предварительного обучения могут быть очень эффективными, если используется много шумоподавляющих автоэнкодеров.
-
Сжимающие автоматические энкодеры): Способ упорядочить автоэнкодер состоит в том, чтобы попытаться сделать активность скрытых единиц как можно более нечувствительными к вводу, но не игнорировать ввод, потому что они должны реконструировать ввод. Мы можем достичь этой цели, оштрафовав квадрат градиента каждого скрытого действия по отношению к входным данным. Уменьшающие автоэнкодеры отлично подходят для задач предварительного обучения, когда только небольшое подмножество скрытых единиц чувствительно к изменениям во входных данных.
Проще говоря, в настоящее время существует множество различных способов предварительной подготовки функций слой за слоем. Для наборов данных без большого количества помеченных случаев предварительное обучение облегчает последующее различительное обучение. Для очень больших помеченных наборов данных инициализация весов, использующих неконтролируемое предварительное обучение в контролируемом обучении, не требуется даже для глубоких сетей. Таким образом, предобучение — наиболее предпочтительный способ инициализации весов глубоких сетей, конечно, сейчас есть и другие способы. Но если мы расширим сеть, нам также нужно будет снова тренироваться!
Извините, что сразу так много сказал, но я должен сказать это снова...
Нейронные сети — одна из самых красивых парадигм программирования, когда-либо созданных. В традиционных методах программирования мы говорим компьютеру, что делать, разбиваем большую проблему на множество маленьких, четко определенных задач, которые компьютер может легко выполнить. В отличие от этого, в нейронной сети мы не говорим компьютеру, как решить нашу проблему. Вместо этого он учится на данных наблюдений, чтобы понять, как решать проблемы самостоятельно.
Сегодня глубокие нейронные сети и глубокое обучение добились впечатляющих результатов во многих важных задачах, таких как компьютерное зрение, распознавание речи и обработка естественного языка. Они широко используются в развертываниях такими компаниями, как Google, Microsoft и Facebook.
Все конспекты лекций, исследовательские работы и задания по программированию для курсов Хинтона на Coursera также собраны автором на GitHub, доступны здесь.Получать.
Я надеюсь, что эта статья поможет вам изучить основные концепции нейронных сетей!