Что такое нейронные сети и зачем они нужны

Рассказываем на простых примерах

Люди давно размышляли, как создать компьютер, который мог бы думать, как человек. Появление искусственных нейронных сетей ― значительный шаг в этом направлении. Наш мозг состоит из нейронов, которые принимают информацию от органов чувств и обрабатывают ее: мы узнаем знакомых по лицу, а при виде вкусной еды ощущаем голод. Все это результат работы нейронов мозга, взаимодействующих между собой. На этом принципе основаны искусственные нейронные сети, которые моделируют процессы, происходящие в человеческом мозге.

Что такое нейронные сети

Искусственные нейронные сети — это программный код, который имитирует работу мозга и способен к самообучению. Как и биологическая сеть, искусственная состоит из нейронов, но они отличаются тем, что имеют более простую структуру. 

Если соединить нейроны в достаточно большую сеть с управляемым взаимодействием, то они способны выполнять довольно сложные задачи. Например, определять, что нарисовано на картинке, или самостоятельно создавать фотореалистичное изображение по текстовому описанию. 

Этот человек в реальности не существует, его портрет сгенерировала нейронная сеть Artbreeder, ориентируясь на запросы из контекстного меню справа

Нейросети не всегда выдают приемлемые результаты. Например, эту картинку нейросеть ruDALL-E нарисовала по запросу «Щенки на поле» 

Как работает нейронная сеть

Искусственный нейрон принимает сигналы через несколько входов, затем преобразует их и передает другим нейронам. То есть работа нейрона заключается в том, чтобы преобразовать несколько параметров в один.

Например, нейронная сеть пытается определить, есть ли на картинке изображение полосатого кота. Она уже изучила сотни тысяч фотографий котов и знает, что цвет их шерсти ― это сочетание определенных оттенков, например черного, серебристого и тигрового. К нейрону поступают сигналы, что на картинке преобладают три этих цвета, значит, высока вероятность, что на ней изображен кот. Дальше нейросеть проверяет, есть ли на картинке глаза, уши и хвост. Если все четыре фактора совпали, она может уверенно заявить, что на картинке изображен кот.
 

Если сильно упростить, схема работы нейросети выглядит таким образом. Представим, что за каждый ответ «да» мы получаем 1 балл, а за «нет» — 0 баллов. Если в результате проверки нейросеть получает 4 балла, то она полностью уверена, что на картинке есть изображение кота. Если результат 2–3 балла, высока вероятность, что кот на картинке есть, но мог спрятать хвост. Если результат 1–0 баллов, то кота на картинке точно нет. Или он хорошо спрятался. 

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

Но не обошлось и без ошибок: нейросеть решила, что картинка с силуэтом лошади ― это фотография страницы книги

Зачем нужны нейросети

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

Нейросети также используют для прогнозирования, распознавания образов, управления, распознавания скрытых закономерностей в большом объеме данных, а также для решения задач в области искусственного интеллекта, машинного и глубокого обучения.

Какие задачи решают нейронные сети

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

Классификация 

Нейросеть распознает человека по лицу или определяет, что изображено на картинке. Например, нейросеть Google угадывает, что вы рисуете мышкой на холсте

 

Регрессия

Нейросеть прогнозирует рост акций, стоимость недвижимости или возраст по фотографии.

Нейронная сеть, определяющая пол по фотографии, поможет избежать ошибок при заполнении документов

Прогнозирование временных рядов

Нейросеть составляет прогноз погоды, роста цен или объема потребления электроэнергии. 

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

Кластеризация

Нейросеть объединяет в группы большие объемы данных по определенным признакам. 

Нейросеть DeepCluster раскладывает фотографии по темам: закаты, самолеты, лес и автобусы 

Генерация 

Нейросеть создает музыку, картинки, видео или текст по заданным параметрам.

Нейросеть Яндекса не только создает стихотворения из поисковых запросов пользователей, но и зачитывает их вслух

Как обучают нейросети 

Главное преимущество нейросетей ― способность к самообучению. Если вернуться к примеру с поиском кота на фотографии, то, несколько раз перепутав его с лисой, нейросеть сделает вывод, что заостренные уши ― не самый характерный признак кота. И тогда она начнет выдавать за ответ «да» не 1, а 0,5 балла. Хорошо обученная нейросеть может распознавать данные, которых не было в наборе для обучения, а также искаженные или неполные данные. Например, узнает кота на фото, даже если видна только часть его морды. 

Нейронные сети обучаются тремя методами:

Контролируемое обучение

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

Бесконтрольное обучение 

Этот алгоритм позволяет обойтись без готовых данных. Нейросеть сама проверяет свой анализ на точность. Если она недостаточная, нейросеть повторяет операцию.

Усиленное обучение

Модель, при которой нейронная сеть усиливается при получении положительного результата и наказывается за неправильные расчеты.

Выводы

Нейронные сети только кажутся чем-то сложным и запутанным, но на самом деле эта технология уже обросла множеством вспомогательных инструментов, которые помогают создавать собственные нейросети даже начинающим программистам. Например, на языке Python написаны сотни библиотек, которые позволяют развернуть у себя на компьютере уже готовую нейронную сеть и обучить ее по нужным параметрам. 

Если вы хотите получить одну из самых востребованных IT-профессий и стать разработчиком нейронных сетей, мы ждем вас на Факультете искусственного интеллекта GeekBrains, где вы за 18 месяцев получите все необходимые знания, чтобы начать работать по этой специальности.

 

нейросетиискусственный интеллектпуть в it
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!