Найти в Дзене
Айтишечка

Искусственные нейронные сети

Оглавление

Управление автономными автомобилями, перенос стилей с картин на фотографии, распознавание голоса и генерация субтитров. Что объединяет эти задачи? Они решаются с помощью искусственных нейронных сетей.

Часто в новостях о современных технологиях мелькают искусственные нейронные сети (ИНС), чаще наверное только blockchain. Давайте разберемся, что же это, как они появились и на что способны.

Искусственные нейронные сети представляют собой систему соединённых и взаимодействующих между собой простых искусственных нейронов. Эти нейроны организуют в группы – слои. Данные поступают на входной слой, потом по некоторым правилам преобразовываются и передаются на следующий слой, опять преобразовываются и передаются уже на следующий слой и так до тех пор, пока не дойдут до выходного слоя. Иначе говоря, нейронные сети являются удобной формой представления композиции функций. Ключевая особенность состоит в том, что эти преобразования нужно настраивать с помощью параметров, а в поиске оптимальных для конкретной задачи параметров и заключается обучение нейронной сети.

История

Прикоснёмся к истории. Искусственный интеллект (ИИ) волнует людей очень давно: еще в мифах Древней Греции упоминались механические быки и воины-скелеты. Однако «бум» ИИ в культуре и науке произошел лишь в XX веке. С математической точки зрения нейрон описали У. Маккалок и У. Питтс в 1943 году. В 1949 году Д. Хебб предложил первый алгоритм обучения, основанный на усилении задействованных связей. В 1958 году Ф. Розенблатт изобрёл однослойный перцептрон – машину с фотоэлементами, которая умела распознавать некоторые буквы латинского алфавита. После этого началась первая волна популярности нейронных сетей, их стали использовать повсеместно, правда недолго. М. Минский и С. Паперт в 1969 году опубликовали книгу «Перцептроны». Считается, что в этой книге авторы показали ограничения перцептрона, после чего интерес к нейронным сетям угас, и исследователи переключились на создание экспертных систем.

В начале 80-х годов с изобретением алгоритма обратного распространения ошибки интерес к ИНС возродился. В 1982 году Дж. Хопфилд предложил архитектуру рекуррентной сети, а в 1988 году Ян ЛеКун – свёрточной сети. Снова произошел взрыв ожиданий от ИНС. Ходят слухи, что появились первые коммерческие успехи, и сразу же энтузиасты попытались присоединить новую технологию куда только можно. Ничего не напоминает? А потом надежды вновь не оправдались, в итоге к началу 90-х годов интерес опять угас. Дело в том, что никто не знал как обучать большие нейронные сети, да и вычислительных мощностей было недостаточно. В 2000-х появились уже глубокие (с большим числом слоёв) нейронные сети: Дж. Хинтон предложил процедуру подготовки к обучению, благодаря которой алгоритм сходился быстрее. После этого начали набирать бешеную популярность глубокие ИНС, даже для их обучения появился новый термин «глубокое обучение». Сейчас нейронные сети применяют в распознавании лиц, виртуальных помощниках, рекомендательных системах, вождении автомобилей, игре в го, машинном переводе и многих других областях.

-2

Виды

Назовём некоторые виды нейронных сетей. Самым простым видом ИНС являются сети прямого распространения (feedforward). В них все связи направлены строго от входных нейронов к выходным. Применяться они могут практически везде, где применимы методы машинного обучения, а вот другие виды ИНС имеют специализацию. Рекуррентные сети используются для обработки последовательностей. В них сигнал с некоторых нейронов подаётся на вход сети уже для следующего элемента последовательности. Эта архитектура сети позволяет «помнить» предыдущие члены последовательности при обработке текущего. Такие сети используют при работе с естественными последовательностями, например, с текстом или звуком. А при работе с изображениями используются свёрточные нейронные сети. Название они получили из-за наличия операции свёртки: каждый фрагмент изображения умножается на матрицу свёртки поэлементно, а результат суммируется и записывается в аналогичную позицию выходного изображения. Эта операция применяется и в классической обработке изображений, только там матрица свёртки выбирается исследователем, а в нейронных сетях – подбирается автоматически, как прочие параметры. Это привело к тому, что в последние годы в соревнованиях по классификации изображений ImageNet побеждают только алгоритмы на основе ИНС.

Достижения

Одним из достижений ИНС за последнее время считается победа AlphaGo над Ли Седолем в игре го в 2016 году. До того момента считалось, что в го слишком много комбинаций для просчёта компьютером и программа не победит как минимум до 2020. Однако в Google DeepMind, применив глубокое обучение, сумели выиграть мирового чемпиона по го на несколько лет раньше. Еще одним плюсом нейронных сетей – является доступность ПО. Любой человек сейчас может скачать библиотеку tensorflow от Google и решить свою задачу. Например, инженер Nvidia для защиты своего газона от соседских котов построил систему из камеры, компьютера и оросителя.

Опасности

Однако не стоит сразу бежать и бездумно применять ИНС везде, где только можно. Специалисты в машинном обучении говорят, что нейронные сети хороши в обработке звука, текста, изображений, временных рядов. И всё равно нужно помнить, что даже в обработке изображений некоторые промышленные задачи проще решать классическими методами, например, считать пузырьки воздуха и оценивать их размер при контроле качества. Кроме того, для работы ИНС, как правило, требуется большая обучающая выборка, которая вряд ли влезет в оперативную память обычного ноутбука.

Некоторых людей тревожит одна угроза нейронных сетей для нас, как потребителей. Корпорации смогут или уже могут знать о нас слишком много. Например, уже сейчас YouTube хорошо удерживает на своём сервисе за счёт рекомендательной системы. Аналогично «умные ленты» в других социальных сетях решают за нас, что нам стоит видеть, а что нет, причем их критерии скорее относятся к прибыли компании, а не к нашей пользе.

-3

Таким образом, искусственные нейронные сети – технология, которая развивается уже более 70 лет. За это время были и взлёты, и падения. Сейчас она находится на пике популярности, уже решает множество задач и быстро развивается. Однако, как и везде, здесь тоже есть свои минусы.