Нейронная сеть — это интересный инструмент, открывающий широкие возможности. Поэтому нет ничего удивительного в том, что математики и разработчики нашли новые способы его использования.
С расширением задач, для решения которых применяются нейросети, расширяются и их типы, их архитектуры. То, что было описано ранее, касалось конкретной модели, называемой многослойным перцептроном, то есть сети прямого распространения с несколькими слоями нейронов. Она была предложена ещё во второй половине двадцатого века, сейчас же, однако, разновидностей придумано гораздо больше.
Нейросети прямого распространения
Эта архитектура называется перцептроном и является самым простым и типичным примером нейронной сети в принципе. Такой вот ”Hello world” в области машинного обучения. Её основная особенность — отсутствие цикла, замыкания нейронов самих на себя, сигнал распространяется только вперёд от входного слоя к выходному независимо от того, сколько всего слоёв.
С нейросетей прямого распространения удобно находить разницу между данными — представителями нескольких классов, которые чётко разделены по одному или нескольким в особенности линейно определённым признакам. Она легко находит функцию, которая описывает границу между ними, качество такого определения зависит лишь от количества примеров в обучающей выборке.
Несмотря на свою незамысловатость, нейронные сети прямого распространения хорошо показывают себя в сфере распознавания простых образов, прогнозирования и аппроксимации.
Рекуррентные нейросети
В отличие от предыдущего типа, рекуррентные нейронные сети уже содержат цикл. Они основаны на тех же математических принципах, однако разница заключается в том, что здесь на входной слой новой итерации подаются данные из предыдущей. Вот и всё, больше никакой магии!
Такая модель хорошо подходят для работы с текстом, поскольку является примитивным аналогом памяти и хранят сведения о контексте. Рекуррентный значит возвращающийся, что понимается не как обратное распространение ошибки, которое было рассмотрено в другой статье, а как передачу информации от выхода на вход, за счёт чего реализуется её сохранение. Из-за способности таких сетей к запоминанию их применяют в обработке естественного языка (NLP), в котором очень важен контекст и детали.
В дополнение к уже существующей архитектуре добавляется технология LSTM (долгая краткосрочная память), совершенствующая умение запоминать вещи. Также используется механизм внимания, определяющий важные и неважные детали в полученных данных.
Свёрточные нейросети
Они преимущественно применяются в области изображений и распознавания образов. Своё название они получили из операции свёртки, суть которой заключается в том, чтобы последовательно пройтись матрицей некоторого размера по каждому элементу входных данных, собирая соседние, и сворачивая их по определённому правилу в элемент меньшего объёма. Говоря более простым языком, реализуется операция сжатия, причём зачастую без потерь.
Постепенно уменьшая данные, получается короткий набор признаков, по которому нейросеть понимает, что перед ней за объект или к какому классу его стоит отнести, если стоит задача классификации.
Генеративно-состязательные нейросети
Это алгоритм, реализующий так называемое обучение без учителя, где у обучающих примеров нет правильного ответа. Генеративно-состязательные нейросети работают парами: одна из них выполняет роль генератора, который ищет решения, а вторая — дискриминатор — пытается определить, что из этого правильно, а что нет.
Они играют в гонку вооружений и учатся друг у друга, искать ответы и распознавать истину, причём с каждой итерацией получается это всё лучше и лучше.
Заключение
Перечисленные архитектуры не покрывают весь список существующих, однако представляют собой его основу, каркас, на котором строятся всё более хитрые и интересные технологии и методы. Сфера машинного обучения развивается стремительно и мы можем наблюдать за этим процессом в режиме реального времени.