Найти тему
Объясню на пальцах

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

Оглавление

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

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

-2

Почему создали нейросети?

Старые добрые компьютерные программы работают по строго определенному алгоритму: сделай пункт «А», только потом приступай к пункту «Б». Такой принцип работы хорошо только там, где условия не изменяются. Стоит появиться какому-то фактору, который не учли программисты, как программа перестанет работать и выдаст ошибку.

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

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

Что такое нейросеть как она работает?

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

Красным цветом показаны входные нейроны, синим - скрытые нейроны, желтым - выходные нейроны, зеленым стрелками - как проходит сигнал
Красным цветом показаны входные нейроны, синим - скрытые нейроны, желтым - выходные нейроны, зеленым стрелками - как проходит сигнал

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

В каждый входной нейрон приходят сигналы, от, скажем пикселей на экране. Сигналы эти представляют собой числа от 0 до 1. Прежде чем войти в нейрон, эти числа умножаются на специальный коэффициент – его называют весом, у каждого нейрона он свой и изначально устанавливается «от балды». Затем сигналы от каждого нейрона идут дальше, к другому слою, где снова происходит умножение на «вес», опять – к другому слою, и так далее, пока сигналы не достигнут выходных нейронов, где мы и можем посмотреть ответ.

После первого «прогона» нейросеть выдаст неправильный результат – и это нормально. Слегка подкорректировав «веса» (можно вручную, а можно с помощью специальных программ), прогоняем задачу снова. Как, снова неудача? Хорошо, опять немного поменяем веса и опять попытаемся решить поставленную задачу.

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

Вот это изменение "весов" и есть процесс обучения нейросети. Чем больше попыток вы сделаете, чем большее количество раз исправите веса нейронов – тем точнее нейронная сеть будет выдавать результат. Попыток должно быть не меньше сотни, а еще лучше – пока количество ошибок не удовлетворит нас.

Первая нейронная сеть AlexNet, выигравшая конкурс по распознаванию изображений в 2012 году, из 1000 фотографий распознавала только 847, в оставшихся 153 случаях она ошибалась. Она состояла из 65 000 нейронов и содержала 7 скрытых слоев. Чтобы пройти этот тест, она «училась» всего лишь 6 дней, пересмотрев 1,2 миллиона изображений.

Для нейросетей, которые распознают изображения, в Интернет существуют целые сайты с картинками. Например, ImageNet содержит 15 миллионов картинок, распределенных почти по 22 000 категорий. Кстати, именно этот ресурс и организовал вышеописанный конкурс.

Учиться, учиться и еще раз учиться…

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

-5

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

Что дальше?

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

Знаменитая AlphaGo также использовала нейросети: она "настроила" их,  изучая партии, сыгранные профессионалами...
Знаменитая AlphaGo также использовала нейросети: она "настроила" их, изучая партии, сыгранные профессионалами...

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

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

В этого товарища поначалу тоже никто не верил...
В этого товарища поначалу тоже никто не верил...

С другой стороны, Google и другие компании, идущие в авангарде исследований в области искусственного интеллекта, разрабатывают особую «красную кнопку» - средство, чтобы выключить ИИ, если он вдруг выйдет из-под контроля. Уже покойный Стивен Хокинг настоятельно рекомендовал вообще не связываться с этими делами, «чтобы чего не вышло».

А как думаете вы? Человек снова ищет приключений на свою голову, или же искусственный интеллект принесет нам только благо?