Математический разум: Технология нейросетей перевернет мир?
Может ли программа творить? У фантастов XX века были на этот счет большие сомнения. Есть, дескать, вещи, которые машина сможет делать лучше человека, но искусство к ним не относится. Может, поэтому новости о том, что нейронные сети начали рисовать картины, писать тексты и сочинять музыку, вызвали по меньшей мере удивление, а некоторые поспешили назвать их мистификацией. Что в действительности такое нейросеть? Насколько она подобна мозгу, а главное, что для всех нас означает это изобретение? С этими вопросами «Народная» обратилась к декану факультета информационных систем и технологий Ульяновского государственного технического университета Кириллу Святову. - На самом деле, нейросети - это изобретение еще 1950-х годов XX века. За основу программы берутся простейшие принципы организации нейронных структур мозга. Но по факту никакого отношения к биологическому мозгу нейросети не имеют, это всего лишь математическая модель. Работает это так: на «вход» программы подается множество данных, которые проходят через «слои» функций, а на выходе формируются значения принадлежности выходных данных к определенным классам. Пример: в программу подается фотография котенка, и она пишет, какой породы этот котенок. - Как нейронная сеть это делает? - Сеть нужно «учить», подавая ей нужный массив данных с «правильными» ответами. Нейросеть ведет самообучение - сеть подстраивается под определенный результат из обучающей выборки. Потом - уже обученную - ее можно использовать. Если ее натренировали определять котиков и собачек - она с этим справится. Пример: в условную программу, которая определяет породу котенка, нужно загрузить тысячи фотографий котят известной породы. Методом проб и ошибок она сама вычленит признаки, по которым будет в дальнейшем угадывать породу. Затем мы можем взять фотографию кота, которого не было в выборке, и она определит его «принадлежность». - Какое это имеет практическое применение? - Нейросети, более сложные, работают в популярных поисковых системах, в беспилотных автомобилях, в промышленности они используются на конвейерной линии, там, где нужно осуществлять сортировку. Есть сотни мест применения нейросетей, вплоть до диагностики раковых клеток! В банковском деле она может искать неблагонадежные операции. В сельском хозяйстве - определять места, где нужно, к примеру, разбросать больше пестицидов. Самые сложные современные модели нейросетей могут не только определять признаки, но и генерировать новые объекты на основе старых с использованием известных ей моделей. Пример: программа, которая блестяще определяла породу котят и выучила все признаки, может на их основе генерировать новые изображения котят - уже не существующих в действительности. - То есть вот так и работает генерация с программами музыки, изображений, текстов? «Скормил» ей обучающую базу, и она выдает результат по аналогии? - Нужно добавить, что человеческий мозг обрабатывает информацию послойно, то есть на первом уровне человек распознает простые объекты - например, абстрактные линии. Потом эти линии передаются на более глубокие слои мозга - становятся, скажем, кривыми. Затем они переходят на еще более глубокие слои, и в результате мы видим, например, собеседника. Для тренировки нейронных сетей по принципу глубокого обучения используется эта же послойная модель. С ее помощью программу можно научить совершенно абстрактным вещам, например, заложить в нее технику исполнения картин. Пример: программа «послойно» изучает картины Ван Гога, начиная от самого абстрактного уровня, и воспроизводит эти «уровни», чтобы превратить фотографию котенка в котенка, нарисованного в технике Ван Гога. - Нейронные сети с глубоким обучением можно называть искусственным интеллектом? - Нейронные сети относятся к средствам искусственного интеллекта. При этом искусственный интеллект к человеческому имеет отдаленное отношение. Я технический специалист, использую математические модели, но ответить на вопрос, что такое сознание, не могу. То, что мы имеем, - это математический аппарат, названный нейронными сетями для упрощения понимания принципов его работы, но к биологическим системам не имеющий отношения. Повторить человеческий мозг пока невозможно. На пути стоят проблемы в области энергетики, материалов. Недавно корпорация IBM построила вычислительный центр с компьютерами на нейрочипах, с количеством нейронов (мощностью) в несколько процентов от мощности человеческого мозга. Он потреблял несколько мегаватт. А сам мозг потребляет всего несколько десятков ватт. - Это может быть опасно? - Некоторые считают, что искусственный интеллект может наделать бед. У них есть на то основания. Игровой движок Alpha Go выиграл у чемпиона мира по игре в Go (это аналог шашек, - прим. авт). Казалось бы, ерунда, еще в 1999 году компьютер выиграл у человека в шахматы, что тут такого? А дело в том, что в 1999 году программа (выигравшая в шахматы) была основана на системе правил. То, что компьютер выиграл, означает, что в него заложили очень много правил. А в 2017 году, когда программа выиграла в Go, никто так и не понял, почему это произошло. В нее не вкладывали правил, тактик - она училась сама. - Что значит «не знают, как это произошло»? - Потому что использовались сети глубокого обучения. Сеть нейронов - это просто математическая модель с числовыми значениями. Вы посмотрите на эти числа и что вы поймете? Программа уже способна самообучаться и играет лучше человека. Человек не понимает, как это работает, но задачи она решает лучше. Впрочем, я считаю, что опасность преувеличена - все-таки мы стоим на пороге четвертой технологической революции. ПОРТРЕТ ПРОФЕССИИ: Специалист по нейросетям ОБРАЗОВАНИЕ Раньше этой технологией занимались преимущественно математики, сейчас - инженеры, IT-специалисты. В УлГТУ, к примеру, программа по изучению машинного обучения входит в бакалавриат. Для использования технология несложна. ЗНАНИЯ Для того чтобы разрабатывать нейросети на базовом уровне, вам необходимо знать инструментарий - например, язык программирования Phyton и библиотеку Keras, а также понимать, что вообще такое нейронная сеть. Для решения более сложных задач нужно разбираться в методах анализа данных, знать статистику, линейную алгебру, теорию оптимизации. Если вы хотите не просто использовать нейросети, а разрабатывать их, нужно знать высшую математику и матанализ. ДОХОД От 30 000 рублей для рядового IT-специалиста до нескольких тысяч долларов для эксперта по нейронным сетям. Средняя зарплата - 80 - 150 тыс. рублей. ВОСТРЕБОВАННОСТЬ На региональном уровне пока низкая, на федеральном - крупнейшие порталы по подбору персонала разместили около ста вакансий. Тем не менее потребность непрерывно растет. КТО РАБОТОДАТЕЛЬ Как правило, крупные IT-компании, институты и научно-исследовательские центры, разработчики сайтов и мобильных приложений. СЛОВАРЬ ТЕХНОЛОГИИ Нейронная сеть - система соединенных между собой нейронов мозга, спинного мозга. Искусственная нейронная сеть - математическая или кибернетическая модель биологической нейронной сети. Python - один из самых распространенных языков программирования. Высокоуровневый язык общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Машинное обучение - обширный подраздел искусственного интеллекта, изучающий методы построения алгоритмов, способных самостоятельно обучаться. Deep learning - глубокое обучение, совокупность методов машинного обучения, основанных на обучении абстрактным представлениям, а не на специализированных алгоритмах, разработанных для конкретных задач. Андрей ТВОРОГОВ