Слово «нейросети» сегодня является одним из самых модных терминов, и зачастую им злоупотребляют маркетологи в продвижении своих технологических стартапов. Однако нельзя отрицать, что сегодняшний объект нашего рассмотрения представляет собой один из самых важных феноменов, без которых невозможно представить современность.
Что мощней — человеческий мозг или компьютер? Для подавляющего большинства ответ на этот вопрос очевиден и, чего уж спорить, верен. Но если взглянуть на ту работу, которую ученые проделали в течение последних десятилетий, то мы заметим, что многие из них пытались приблизить принцип работы компьютера к образу мышления человека, причем небезуспешно. Как это стало возможно? При помощи нейросетей — компьютерных систем, собранных из сотен, тысяч или миллионов искусственных клеток мозга, которые способны обучаться и действовать по принципу, чрезвычайно похожему на то, как работает мозг человека.
Человеческий мозг и компьютер часто сравнивают, и стоит признать, что у них есть достаточно много общего. Обычный мозг состоит приблизительно из 100 миллиардов микроскопических клеток, которые называют нейронами. Каждый нейрон состоит из клеточного тела с несколькими отходящими от него соединениями — множества дендритов (входных каналов клетки, передающих информацию клеточному телу) и одного-единственного аксона (выходного канала клетки, занимающегося выводом информации). В компьютере эквивалентом нейрона является наноскопическое устройство под названием транзистор. Современные микропроцессоры, использующиеся в компьютерах и мобильных устройствах, содержат более двух миллиардов транзисторов.
На этом, пожалуй, сходства между компьютерами и человеческими мозгами заканчиваются и начинаются различия. И дело даже не в том, что компьютеры — это холодные металлические коробки, наполненные двоичными числами, а мозг — это что-то теплое, живое и населенное мыслями, чувствами и воспоминаниями. Настоящее отличие состоит в том, что компьютерная система состоит из относительно простых последовательных соединений, в то время как нейроны в мозге объединены в сложные параллельные связи, причем каждый нейрон связан примерно с 10 000 своих соседей.
С одной стороны мы имеем сотни миллионов транзисторов, объединенных в простую и логичную систему, с другой — в 100 раз больше нейронов, взаимодействующих друг с другом через сложно переплетенные связи. В итоге получается, что процесс человеческого мышления, по крайней мере на этом этапе, является чрезвычайно сложным для изучения и тем более для искусственного воссоздания. А именно это и пытались сделать ученые Уоррен Макаллок и Уолтер Питтс, когда в 40-х годах прошлого века впервые сформулировали концепцию искусственной нейронной сети.
Компьютеры разработаны для хранения больших объемов бесполезной для них информации, которая обретает смысл и логику, только если заранее задать точную инструкцию по ее обработке. Человеческий мозг же учится медленно, и часто ему требуется несколько месяцев на то, чтобы разобраться в чем-то сложном. Но в отличие от компьютеров, мы можем спонтанно собирать информацию в причудливые узоры — отсюда и происходят корни креативности Бетховена или Шекспира: создание оригинальных паттернов, формирование нестандартных связей и восприятие вещей так, чтобы они представали в новом и неожиданном свете.
Согласитесь, было бы здорово, если бы однажды компьютеры смогли распоряжаться имеющейся информацией так же? На самом деле, мы уже движемся к этому интригующему будущему, причем очень быстро. И возможно, это стало благодаря нескольким важнейшим приобретениям последних лет: заметно увеличившейся производительности компьютеров, появлению искусственных нейронных сетей и машинного обучения, а также возникновению Интернета с его гигантскими массивами данных, которые используются как обучающий материал для искусственного интеллекта.
Базовая идея искусственных нейронных сетей состоит в копировании сложных взаимных соединений между клетками искусственного мозга таким образом, чтобы машина смогла обучаться, распознавать паттерны и принимать решения так, как это делает человек. Самое потрясающее заключается в том, что нейросеть не нужно программировать: она создана для самостоятельного обучения.
Однако вряд ли можно говорить, что нейронная сеть — это точная искусственная копия мозга. Важно отметить, что нейросеть — это прежде всего компьютерная симуляция: такие сети созданы посредством программирования обычных компьютеров, в которых традиционным образом работают обычные транзисторы, объединенные в логические связи. Однако функционируют они так, как будто состоят из миллиардов крошечных клеток мозга, работающих параллельно. Компьютерная симуляция это лишь коллекция алгебраических переменных и математических уравнений, которые собирают их воедино.
Обычная искусственная нейронная сеть состоит из десятков, сотен, тысяч или даже миллионов искусственных нейронов, названных блоками, которые выстроены в слои, где каждый блок соединен с соседним, причем как в собственном слое, так и в ближайших. Некоторые из них являются блоками ввода и призваны получать из внешнего мира информацию. Эти блоки соединяются со скрытыми блоками, которые обрабатывают полученные данные и занимают бОльшую часть искусственного мозга. Наконец, блоки вывода занимаются извлечением полученной и обработанной информации.
Соединение между блоками характеризуется числом, которое называется весом и может быть как положительным (когда один блок возбуждает другой) или отрицательным (когда один блок блокирует или подавляет другой). Чем выше вес этой связи, тем сильнее один блок влияет на другой. Это напоминает то, как в живом мозге клетки оказывают влияние друг на друга.
Информация протекает по нейросети двумя способами. Когда сеть обучается или нормально функционирует после обучения, образцы информации скармливаются ей через блоки ввода, а затем добираются до блоков вывода. Такая распространенная структура называется сетью с механизмом прогнозирования событий. Однако само появление информации еще не гарантирует возбуждения всех блоков. Каждый блок получает входной сигнал от своего соседа, и такие сигналы умножаются посредством весов связей, по которым они путешествуют. Каждый блок добавляет к вводным данным полученный им сигнал, и если итоговая сумма больше порогового значения, блок возбуждает соседствующие блоки.
Чтобы нейронная сеть обучалась, необходимо обязательное наличие обратной связи: точно так же детям нужно постоянно рассказывать о том, что хорошо, а что плохо. На самом деле обратной связью мы пользуемся постоянно. Вспомните, как вы учились играть в боулинг: когда вы поднимаете шар и катите его по дорожке, ваш мозг наблюдает за скоростью движения шара и за его траекторией. В зависимости от результата броска в следующий раз вы будете помнить, как катали шар в прошлый раз, и будете корректировать свои движения для того, чтобы достичь более хорошего результата. Таким образом, вы воспользовались обратной связью, чтобы сравнить получившийся результат с желаемым и чтобы скорректировать свои действия с целью достижения успеха.
Нейросети обучаются аналогичным способом, путем обработки обратной связи, которая получила название «метод обратного распространения ошибки». Он сопоставляет полученные выходные данные с теми данными, которые ожидалось получить, и использует различия между этими данными для внесения изменения в веса связей между блоками, занятыми в сети. Причем изменения касаются всех связей: от блоков ввода до блоков вывода и обратно. Со временем метод обратного распространения ошибки позволяет обучать нейросеть и свести до нуля разницу между желаемым и реальным результатами.
После того как нейросеть прошла обучение с использованием достаточного количества примеров, она достигает стадии, когда вы можете предоставить ей совершенно новый набор вводных данных, которого она никогда не видела, и следить за ее реакцией. Например, вы показали нейросети огромное количество фотографий стульев и столов, максимально доступно объяснив ей разницу между этими предметами мебели. После этого вы пробуете показать ей фотографию кушетки и ждете результата. В зависимости от того, насколько эффективно вы обучили нейросеть, она попытается отнести увиденное к категории «стул» или «стол», основываясь на имеющемся опыте. Именно такие процессы происходят в мозге у маленького ребенка, который впервые видит какой-то предмет и пытается отнести его к перечню понятий, которые ему уже известны.
Если вдуматься, то одного этого примера уже достаточно для того, чтобы понять, что искусственные нейронные сети в процессе своей эволюции могут иметь множество практических применений. Например, производители самолетов уже тестируют автоматически обучающиеся системы автопилотов, которые не программируются заранее, а принимают решения на основании поступающих в реальном времени сигналов с приборной панели кабины пилота и управляют воздушным судном, исходя из получаемой информации.
Или возьмем, к примеру, банковскую сферу. Представьте, что вы управляете банком, где каждую минуту осуществляются тысячи транзакций по кредитным картам. Нейросети можно с успехом использовать для выявления деятельности, которая классифицируется как мошенническая. В качестве вводных данных можно использовать следующие запросы: 1) Явился ли держатель карты лично? 2) Использовался ли действительный PIN-код карты? 3) Осуществлялось ли за последние 10 минут пять или более операций по этой карте? 4) Используется ли карта в той же стране, где была выдана?
Получив достаточное количество наводок, система сможет автоматически помечать транзакции как подозрительные, чтобы затем сотрудники банка могли принимать решения о том, необходимо ли предпринимать в их отношении какие-то действия. Кроме того, нейросеть могла бы помогать банкам принимать решения о том, можно ли выдавать клиенту кредит, быстро проанализировав его кредитную историю, текущий доход и занятость.
Но такие применения нейросетей пока находятся лишь на стадии концепта и вряд ли придут в нашу жизнь в самое ближайшее время. Сегодня новости об использовании этой технологии приходят главным образом из развлекательной индустрии. Первым делом вспоминается нашумевшее приложение Prisma, которое превращает обычные фотографии в несуществующие полотна великих художников, а также скандальный сервис Findface, который позволяет по тайно сделанной фотографии лица человека найти его страницу ВКонтакте. Ну и конечно, нельзя не вспомнить эксперимент Яндекса, когда нейросеть, изучив тексты песен Егора Летова, написала гипотетический альбом группы «Гражданская оборона».
Но если отставить иронию, уже сегодня нейронные сети вносят в нашу повседневную жизнь куда больше пользы, чем вы можете представить. Как вы думаете, почему в последние годы в вашей почте стало заметно меньше спама? Во многом следует благодарить компьютерные системы, которые научились различать реальные письма от корреспонденции, место которой в мусорном ведре.
Благодаря нейросетям в последнее время также заметно улучшился машинный перевод, и подобные системы больше не выдают одно из случайных значений слова, а подбирают перевод в зависимости от контекста, изучив гигантское количество предложений на разных языках.
Но все же на данном этапе компьютеры по своему уровню сознания сопоставимы с детьми дошкольного возраста. Тем не менее все необходимое для их дальнейшего обучения имеется: объемы данных продолжают расти, как и вычислительные мощности процессоров. Так что мы, запасшись попкорном, продолжаем наблюдать за тем, как эта идея развивается и к чему она в конечном итоге приведет.
Комментарии (0)