Искусственные нейронные сети: как они смогут улучшить нашу жизнь?
Изучая тему нейронных сетей, я узнал так много, что теперь еще отчетливее понимаю, что знаю очень мало. Тема емкая и подразумевает наличие достаточно обширного бэкграунда. К тому же, тема нужная, ведь искусственные нейронные сети уже давно работают на нас с вами. Их сфера применения распространена широко и встретить их можно, например, в приложении Google Photo, или так любимом всеми фоторедакторе Prisma.
Что такое нейронная сеть?
Самому понятию “Нейронная Сеть” уже почти 150 лет. В момент зарождения понятия о нейронной сети говорили, как о биологической, в разрезе изучения нейронов головного и спинного мозга человека. Мозг человека состоит в среднем из 86 миллиардов нейронов, которые в совокупности и образуют нейронную сеть. Каждый нейрон это отдельная клетка, которая содержит много входов (дендритов) и один выход (аксон), который передает сигнал следующим нейронам. Выход может разветвляться и передавать информацию сразу нескольким клеткам, однако он один. Нейроны способны передавать не только электрические импульсы, но и химические сигналы. В рамках этого материала мы рассматриваем только электрические, так как такой вид связи имеет больше общего с современными попытками перенести нейронные сети в программируемую плоскость.
Как работают нейронные сети?
Приведем простой пример работы нейрона, который демонстрирует получение массивов информации с входных каналов, которых может быть до 20 000, и передачу на их основе ответа следующим в сети нейронам. Представьте, что вы сидите с другом в кафе на улице. Вы слышите сотни различных звуков, которые ощущаются вами благодаря колебаниям барабанной перепонки в ушах. Она передает вибрации во внутреннее ухо. В свою очередь в нем в специальной жидкости колеблются волосковые клетки, которые воспринимают колебания. Эти клетки передают сигналы нейронам. Первые в цепочке нейроны определяет частоту колебания и передают значение дальше. Вторые, например, разделяют фоновый и основной шумы, а также разделяют их на несколько каналов по принципу схожести. Далее мозг вычленяет из всей полученной о шумах информации шум, издаваемый машинами. Затем мозг делит его на шум легковых и грузовых авто. Подключив накопленный опыт, мозг помогает вычленить из всего потока шумы автомобилей с большим объемом двигателя и маленьким. Но так как вы находитесь рядом с другом, который что-то рассказывает, мозг определяет его речь, как самый главный звуковой поток, который вы слышите и понимаете наиболее хорошо. И даже если вы закроете глаза, вы все равно поймете, что говорит друг. Вы не только поймете отдельные слова его речи, но также распознаете интонацию, передаваемые эмоции и смыслы его слов. И все это работает благодаря простым колебаний воздуха, которые восприняло ваше внутреннее ухо и сотням тысяч нейронов, которые эти колебания обработали.
Зачем нужны искусственные нейросети?
Цель искусственной нейронной сети — повторить этот процесс. Но это невозможно без обучения. Мы не с самого рождения умеем отличать слова от звука работающей дрели. Мы способны разделять эти звуки благодаря опыту, который накопил наш мозг. С самого рождения мы видим одну и ту же женщину, которая утверждает нам, что она наша Мама. И прежде, чем мы научимся произносить слово Мама и ассоциировать его с определенным человеком, пройдет немного больше года. Кстати, многие проблемы с произношением тех или иных звуков, связаны как раз с тем, что мы не можем видеть какую конструкцию из языка и зубов выстраивает человек внутри своего рта, чтобы правильно произнести звук «М». Поэтому такую конструкцию мы подбираем опытным путем или пытаемся получить знания. Такие же знания необходимы и искусственным нейронным сетям.
Нейронная сеть в Google Photo
Впервые, о том чтобы перенести нейронные сети в машину, или создать машину на основе нейронных сетей, задумались в 40-х годах прошлого века. Тогда знания о мозге были невелики, как слабы были и мощности вычислительной техники. Сейчас же передача знаний компьютерам — менее сложная задача, которая реализуется за счет создания специальных программ, кодов, способных обучаться самостоятельно на основе полученного опыта. Полноценного программного воплощения человеческого мозга на сегодняшний день нет, но есть программы, которые используют нейронные сети для определенных целей. Отличный пример — приложение Google Photo. Программа умеет самостоятельно разделять снимки по тому, что на них изображено. То есть, подобно глазам человека и связанным с ними нейронам мозга, Google Photo может отличить фотографии, на которых изображены, например, часы. На фотографиях ниже показаны результаты поиска фотографий по запросу “часы” в личных смартфонах членов нашей редакции.
Алгоритмы Google Photo умеют определять часы практически без ошибок. Они знают что часы круглые или квадратные, обладают стрелками и цифрами, а иногда на них и вовсе может быть текст. Ремешок, очертания руки или стена, цифры по кругу или в хаотичном порядке — понимать все это Google научили его программисты, «скармливая» его искусственной нейронной сети различные изображения, на которых изображены часы. Программа определяет повторяющиеся факторы, и распределяет их самостоятельно по степени важности, или по весу параметра, как говорят программисты. Потом программе предлагают различные изображения с часами и без. Если программа ошибается в попытке определения часов, то ей на это указывают и она сама ищет, на каком этапе определения совершена ошибка, а затем вносит в саму себя коррективы. Параллельно программа анализирует другие объекты попадающиеся на фотографии и спрашивает, что это такое. Ответ находит в собственной базе знаний, либо ожидает ответа инженеров. Конечно, это очень упрощенная схема работы Google Photo и зиждется она на гораздо более сложных алгоритмах, но наглядно это выглядит примерно так.
Помимо поиска по фотографиям, искусственные нейронные сети используются и в других компьютерных программах. Например, в играх. Представьте, что в какой-нибудь «бродилке» у вас есть напарник, задача которого сообщать вам, можно идти в атаку или нет. Первоначально напарник учится, оценивая количество соперников, силу каждого соперника, доступное оружие и броню, уровень здоровья вашего героя. Соотнося все эти факторы, он анализирует, при каком соотношении имеющихся ресурсов и нападающих противников вы одерживали победу, а при каком проигрывали в сражении. Затем он определяет уровень вашего мастерства, исходя из которого в будущем советует — идти в бой или укрыться от противника. Так может работать интеллектуальный уровень сложности в игре, повышая уровень противника в соответствии с вашими умениями, чтобы играть было всегда интересно. И все это уже активно используется.
Куда это нас приведет?
С тем, как это работает уже сейчас — разобрались. Давайте посмотрим, к чему это может привести в будущем. Все то же приложение Google Photo со своей собственной искусственной нейросетью может научится определять опухоли через анализ загруженных в него рентгеновских снимков, выявлять заболевания почек по наличию кругов вокруг глаз людей, изображенных на фото или диагностировать любые другие болезни, которые проявляются через внешние признаки. В профессиональном оборудовании подобные алгоритмы уже используются. Фотографируя пациента и анализируя изображение передает информацию врачу, который определяет дальнейшие действия. Внесение диагнозов и назначений на лечение в систему врачом со временем может научить алгоритм самостоятельному консультированию пациентов.
Знания, передаваемые таким алгоритмам применять можно не только для диагностирования заболеваний. В мае этого года автоматический робот-хирург смог произвести самостоятельную операцию на кишечнике свиньи. Ему, конечно, помогали ассистенты, как и у хирурга-человека, но и их тоже могут заменить роботы. Кстати, робот выполнил операцию гораздо точнее и качественнее опытного хирурга. Представляете, какими будут медицинские учреждения в будущем? А какими будут голосовые помощники типа Siri и Google Now, представляете? Со временем они научатся понимать не только фразу «разбуди меня завтра в 7:00» и устанавливать будильник на это время, но и параллельно анализировать список ваших задач и самостоятельно принимать решение, во сколько вас разбудить, если в календаре есть встреча на 8 утра. Главное, чтобы голосовой помощник не проанализировал мешки под глазами и не решил, что лучше уж вам сегодня проспать.