Сложно найти человека, который уже хотя бы раз не пользовался нейросетью. Между тем нейросети – это не только про «шестипалых людей» и картины в духе Ван Гога, но еще
и про передовую научную мысль. Об этом «ЗН» поговорила с доцентом кафедры информационной безопасности АлтГУ, к. ф.-м. н. Андреем Александровичем Лепендиным. Публикуем самые интересные выдержки из интеллектуальной беседы.
Как появились нейросети
Сама идея нейронных сетей или, как сейчас корректнее называть, искусственных нейронных сетей, появилась еще в середине XX века. Ее развивали нейрофизиологи совместно с математиками: им хотелось смоделировать поведение организма, в особенности то, как человеческий разум воспринимает окружающий мир. Это была попытка воссоздать структуру связей нейронов мозга и построить математическую модель на основе этих связей. Сначала это была модель отдельного нейрона, затем между ними устанавливались связи. Такие первые упрощенные модели назывались «перцептронами»: это примитивные нейронные сети, которые умели распознавать символы. Там были некие датчики, накладывался трафарет символа, и нейронная сеть узнавала, что вырезано в этом трафарете: то есть какие датчики открыты, а какие закрыты. Перцептрон работал с достаточно ограниченными возможностями, решая только одну задачу, и то небезупречно. Конечно, были предложены и методы обучения. Здесь важно упомянуть, что любой метод машинного обучения предполагает наличие обучающих данных – примеров того, что мы хотим получить на выходе. Так, чтобы научить нейросеть понимать, что изображено на картинке, нужно иметь размеченный набор этих картинок и подпись для каждой картинки, что на ней изображено. Чем больше и сложнее нейронная сеть, тем больше нужно таких данных. Еще нужны отдельные, тестовые примеры для того, чтобы проверять, насколько нейронная сеть хорошо работает. Первые нейросети с этой проблемой и столкнулись – они не могли самостоятельно учиться, да и больших наборов данных тоже не было. Хотя надежды на технологию возлагались большие. Это 60-е годы, период оптимизма и громких лозунгов, что через 10–15 лет появятся мыслящие роботы. Появились большие вычислительные машины, которые занимали огромные комнаты, но по своим возможностям были хуже, чем наши смартфоны. Так что оптимизм быстро пропал. Стало понятно, что ни техника, ни понимание математических принципов машинного обучения еще не позволяют прийти к таким достижениям. Началась «зима», количество работ по этой теме упало, и поток исследований ушел в другую сторону.
Искусственный интеллект в конце 60-х и до конца 70-х годов – это в основном работа, связанная с экспертными системами. Они работали по принципам логического вывода данных на определенных правилах. Создавалась большая база данных, и на ее основе система логическим образом выводила какие-то следствия. Оттуда пошли автоматические системы принятия решений, но к нейросетям они не имели никакого отношения. Вторая волна интереса пошла в конце 70-х –начале 80-х, потому что неожиданно появилось несколько работ, в которых ученые предложили более эффективные способы машинного обучения, например по методу обратного распространения ошибки, – это идея о том, что нейронной сети можно подать определенные примеры и пронаблюдать, ошиблась ли она в поставленной задаче. Если да, то насколько, и дальше дообучать ее, чтобы к решению она приходила правильно и постепенно становилась более «умной».
Затем снова всплеск работ: специалисты создают многослойные нейронные сети с десятками тысяч элементов. Однако к началу 90-х годов интерес к ним снова угасает: математики уходят в исследования других методов. Наборов данных и мощностей процессоров по-прежнему не хватает. Так продолжалось до середины 2000-х, пока наконец-то Интернет и Всемирная паутина не стали достаточно развитыми и доступными для сбора обучающих данных. Нейронные сети теперь состоят из множества слоев – десяти, пятнадцати и даже ста. Каждый слой характеризуется очень большим числом параметров, которые нужно настроить с помощью того же метода обратного распространения ошибок. Но самое главное новшество – графические ускорители, то, что называлось картами GPU. С их помощью стало возможно проводить массивные параллельные вычисления, причем такие, которые подходят для технологии нейронных сетей. Все эти факторы дали толчок развитию современных нейросетей. Одной из прорывных была работа AlexNet по распознаванию картинок без участия человека: сеть анализировала отдельные элементы картинки.
А что сейчас
То, что мы сейчас имеем, – фактические следствия этого научного пути. Сегодня мы считаем маленькой нейронную сеть на несколько миллионов параметров, она может быть просто встроена в какое-нибудь устройство – смартфон, наушники. Современные же текстовые модели — это уже сотни миллиардов и триллионы параметров, большие и по-настоящему сложные вещи, которые не могут, например, на одной машине работать. Как правило, для их обслуживания требуется постоянное дообучение, чтобы они соответствовали современному состоянию дел, а еще – крупные вычислительные центры. Появилось множество коммерческих компаний типа OpenAI, которые у всех на слуху, свои флагманы индустрии – Microsoft и Google. Нейросети стали использоваться не только для генерации картинок или текста. Обратимся к управлению заводской инфраструктурой. Анализ, условно, насколько хорошо работает сборочная линия, осуществляет нейросеть на ряде предприятий уже давно. В обработке спутниковых изображений тоже нейронные сети используются. Сопротивляться прогрессу – абсолютно бессмысленная вещь. Практически во всех областях, где нужно принимать либо помогать человеку принять интеллектуальные решения, в том или ином виде есть нейросети. Я не вижу оснований для нового луддизма, когда мы будем говорить «нейронки – зло, мы не будем их никогда использовать». Так уже не получится. Если мы так сделаем – сразу начнем отставать. Практически по всем направлениям. Например, если убрать нейросети из экономического сегмента – встанет управление бизнес-процессами и биржевая система. Сделки сейчас происходят за наносекунды без участия человека. Если убрать искусственный интеллект и вернуться к человеческому фактору, успеть за рынком не получится.
Человеку нужен… человек
Нейросеть можно воспринимать как протез, расширение человеческого тела, а конкретно – мозга. Технологическая история человечества двигалась такими протезами: нужно было быстрее передвигаться – одомашнили лошадь, изобрели колесницу, вместо собирательства занялись земледелием. У нас не было возможности запомнить большой объем информации – стали фиксировать ее, писать книги, вот еще один протез. Так что нейросеть – это то, что мы умеем сами, только лучше или на том же уровне. Скажем, человек может распознавать картинки, нейросеть теперь позволяет делать то же самое, только удобнее и быстрее. Наверняка останутся люди, которые умеют делать это не хуже, а то и вообще как-то гениально, но их будет мало. Основная проблема для человека здесь в другом – это потеря понимания человеческого, возможности оценить полученные данные, есть ли в них польза и новизна. Как бы мы не хотели, может быть, но нейросети сами не умеют ничего делать. Они, конечно, могут подсказать те аспекты и детали, которые человек мог не заметить, это хороший способ сократить время подбора вариантов в исследованиях. Однако оценить финальный результат может только человек.
А не искусство ли?
Эстетику в современном искусстве, на мой взгляд, найти сложно. Сейчас произведением искусства считается то, что имеет оригинальную идею в первую очередь, а уже потом какое-то эстетичное или не очень эстетичное воплощение. Если нейронные сети используются как некий механизм или инструмент для создания, даже они не выдают вам эстетически какого-то значимого результата. Почему бы и не рассматривать это как искусство? Я думаю, что здесь главный вопрос, как это использовать для создания какой-то новой формы. Генерация текстов напрямую мне кажется довольно прямолинейным и скучным решением. Генерация изображений и распечатка этих картинок — это тоже не искусство, сейчас легко можно сгенерировать картину в духе любого художника, а это уже вторично. Как известно, искусство не терпит вторичности. Поэтому нужно придумать оригинальный способ использования этих механизмов. Вот тогда, возможно, это будет работать. Но человек вообще плохой футуролог: то, что предсказывают люди, обычно не сбывается…
Как работают нейросети
Как нейросеть распознает изображение? Она автоматически выделяет значимые детали и формы, на основе которых примет решение. В случае же генерации изображения нейросеть должна знать, что в них вообще есть, какие бывают детали в изображениях и как связать их между собой, чтобы приблизить к запросу. Любая современная сложная нейросетевая архитектура состоит из нескольких блоков. Один, например, обрабатывает ваш запрос в промежуточную форму, другой работает с картинками, которые понимает человек. Нейросеть распознает, что если на картинке есть солнце, то появятся какие-то блики от него, если у человека есть одна рука, то должна быть и вторая. Классическая проблема первых генераторов, когда у человека было несколько рук и шесть пальцев, постепенно решалась. Нейросеть – это же не сильный искусственный интеллект, она не ставит себе задач, у нее нет самосознания. Это просто математическая модель. Условно, такой некоторый черный ящик, куда подаются данные и откуда выходят новые.
Анна ЗАГОРУЙКО