При поддержке Газпромбанка самиздат предпринимает отчаянную попытку разобраться в самой непонятной технологической революции современности и окунается в мир машинного обучения и рекуррентных нейросетей. Как возникли программы, которые неизбежно лишат работы даже самих программистов, устраивают автомобильные аварии, пишут многозначительные стихи, перерабатывают «Слово о полку Игореве» и ведут фейковые твиттеры от имени политиков, почти неотличимые от реальных по степени чудовищности. И почему у них это получается всё лучше.
29 декабря 2019 года в городе Гардена, штат Калифорния, автомобиль Tesla Model S на большой скорости проехал на красный свет и врезался в седан Honda Civic, выехавший на перекрёсток. В результате аварии оба пассажира Honda Civic погибли, а водитель «Теслы» вместе со своей спутницей отправился в реанимацию.
В тот же день в штате Индиана другая «Тесла», за рулём которой находился 25-летний Дерек Моне, врезалась в запаркованный у обочины пожарный автомобиль. В аварии погибла жена водителя, 23-летняя Дженна Моне, находившаяся на пассажирском сидении.
На сегодняшний день, по данным портала tesladeaths.com, автомобили компании Илона Маска фигурируют по крайней мере в 71 случае аварий со смертельным исходом за 2018 и 2019 годы. Если учитывать, что сегодня на дорогах находится около миллиона автомобилей «Тесла», уровень смертности не такой высокий. Однако в данный момент Национальное управление безопасностью движения на трассах (NHTSA) при Минтрансе США занимается специальным расследованием 14 аварий, в которых может быть виновата система автопилота, действующая на электромобилях компании.
Расследование продолжается, и на сегодняшний день пока неизвестно, был ли включён автопилот на машинах, участвовавших в авариях в Калифорнии и Иллинойсе, но от каждой такой новости Tesla несёт огромный репутационный ущерб. Отчасти поэтому департамент развития искусственного интеллекта и автономного вождения в компании славится огромной текучкой кадров: за последние пять лет Илон Маск как минимум трижды сменил руководство в отделе и в какой-то момент замкнул управление на себе. Идея автономного вождения — ключевой элемент в его плане превращения всех «тесл» на дорогах в колоссальный флот автономных роботакси, и, если этому плану суждено стать реальностью, совершенство автопилота электромобилей «Тесла» должно обладать безупречной репутацией и в разы превышать навыки среднестатистических водителей, от действий которых ежегодно страдают порядка 1,25 миллиона человек во всём мире.
В 2017 году Маск в очередной раз уволил всё руководство департамента AI и нанял в него канадца словацкого происхождения по имени Андрей Карпатый. Он работает в компании до сих пор, и с его достижениями в области машинного обучения Маск связывает будущее Tesla.
Андрею 35, и за пределами мира автомобильной индустрии он известен как автор популярного ютуб-канала о скоростном собирании кубика Рубика, создатель программы, которая отличает французских бульдогов от батонов, и евангелист нового типа программирования под названием Software 2.0. По его концепции, в будущем механическим написанием кода будет заниматься компьютер, а программист — лишь задавать машине входные параметры, контролировать процесс и тестировать результат.
Возможно это всё благодаря рекуррентным нейросетям, которыми Карпатый занимался ещё в аспирантуре в Стэнфорде. Их невероятные возможности расширяют горизонты машинного обучения настолько, что современная «Тесла» может ориентироваться на парковке самостоятельно и приехать к хозяину без водителя за рулём.
Вполне возможно, что Карпатый стоит не только у истоков кризиса, который ожидает профессию водителя в мире автономных машин, но и лишит работы тысячи кодеров, пишущих несложное программное обеспечение. Однако помимо этих неизбежных катастроф рекуррентные нейросети проявляют себя и в других, совершенно неожиданных областях. Например, они могут писать стихи.
Нейростихи филолога Орехова
Не верь, вихрь просит прибоя и воздуха.
Как в сумерки мысль, лишь люди и город были как пыльник.
Волненьем вздох над корме.
«Если убрать последнее слово, то я завалил тест Тьюринга», — пишет один из комментаторов паблика портала «Системный блокъ» во «ВКонтакте», где в течение продолжительного времени выкладывают так называемые нейростихи — поэзию, порождённую нейросетями.
«Наиболее естественной трактовкой будет увидеть в этом стихотворении отражение событий в Петрограде 1917-го: время разрушения оков и тяжёлой поры для культуры, символом которого стала сожжённая библиотека Блока», — комментирует стихи создавший их при помощи нейросети филолог Борис Орехов.
Сейчас Борису 37 лет, 30 из которых он прожил в Уфе, где закончил университет и получил степень кандидата филологических наук, изучая поэзию Тютчева. После этого Борис непродолжительное время преподавал историю литературы студентам непрофильных специальностей — тем, кому она, в общем-то, была не очень интересна.
«В возрасте 24 лет мне вдруг захотелось освоить программирование. Страшно представить, как сложилась бы моя жизнь, если бы этого не произошло».
Тогда Борису нужно было научиться основам программирования для того, чтобы собрать электронный сборник всех существующих переводов «Слова о полку Игореве». Такие сборники называются параллельными корпусами, и в первую очередь их используют в машинном переводе. Показав нейросети все варианты перевода одного и того же текста, её можно научить подбирать правильные переводы не просто слов, но и целых фраз автоматически.
Занимаются составлением параллельных корпусов для перевода и других целей в первую очередь компьютерные лингвисты. Для них, а также для «гуманитарно настроенных граждан, которых жизнь, как и меня, заставила начать писать код в сознательном возрасте», Борис, перебравшись в Москву, начал преподавать программирование.
Борис признаётся, что им давно движет желание помирить гуманитарный и технический миры, ведь профессионалы и той и другой областей порой относятся друг к другу с насторожённостью.
Именно из-за этого желания и возникла идея генерирования нейростихов. С одной стороны, в мире информационных технологий в последние несколько лет только о нейросетях и говорят. С другой стороны, Борис — филолог, и специализируется он на поэзии. Совместить одно с другим казалось логичным и правильным — так и появились нейростихи.
«Для меня освоение нового — не всегда рациональное стремление быть на переднем плане. Иногда это — почти мания».
Современные компьютерные технологии чаще всего упоминаются в контексте распознавания лиц, беспилотного транспорта и робототехники. Способность порождать текст, как и способность говорить, кажутся чем-то, что нужно изучать и долго осваивать годами, от рождения и до зрелости.
Тем не менее перед исследователями, которые занимаются разработкой алгоритмов для работы с текстом, стоит примерно та же самая задача, что и перед инженерами, обучающими роботов таскать коробки и забираться по лестнице, а также и перед учителями, преподающими биологию детям: создать среду, которая может учиться, и обучить её.
Нейросеть, которая хочет быть убийцей
Той самой средой могут быть нейросети — математические модели, имитирующие работу нейронов. Получая информацию извне, они обрабатывают и преобразуют её в необходимый вид выходных данных.
Для обработки текстовой информации лучше всего подходят те самые рекуррентные нейросети, которым «Тесла» обязана своим автопилотом, а Борис Орехов — специфическим хобби. Особенны они наличием так называемой «памяти», а точнее — обратной связи, цикла, который позволяет хранить информацию о том, как на каждом шаге преобразуются данные, и передавать её от одного слоя обработки к другому.
Человек понимает книгу, потому что помнит уже прочитанное, и так же обстоит дело с рекуррентными нейросетями. Из-за своей архитектуры их используют для распознавания рукописей и устной речи, а также для автоматических переводчиков вроде Google Translate.
Все, кто когда-либо пользовался онлайн-переводчиком, знают, что он очень далёк от идеала, но со временем работает всё лучше. Прогресс вызван тем, что Google в 2016 году использовал рекуррентные нейросети, и они существенно повысили качество машинного перевода. Наличие у этой архитектуры памяти позволило не разбивать фразы на конкретные составляющие и потом искать для них статистически самый подходящий перевод, а смотреть на всю фразу целиком.
Если смотреть на ситуацию шире, то перевод — это порождение текста на основе другого текста. Например, такого:
Я хочу быть убийцей,
Я хочу быть живым.
Мне осталось всего лишь
Дожить до седин.
Этот текст порождён нейросетью, имитирующей стиль Егора Летова, музыканта, нередко обращавшегося к бреду и галлюцинациям как источнику вдохновения. Однако эффективность работы нейросети обусловлена в первую очередь тем, что человеческое поведение закономерно. Один человек для написания текстов одного формата скорее будет пользоваться примерно одним стилем и схожими формулировками — по крайней мере, они будут больше схожи между собой, чем похожи на другие.
Всё, что нужно рекуррентной нейросети для имитации, — это большой датасет с уже написанными твитами. То, что она будет делать, — это подбирать каждый последующий символ в новом твите на основании того, после какого символа он чаще всего встречался в твитах, которые ей «скормили». Все остальные параметры (например, рифма или размер) регулируются отдельно.
В 2017 году участники проекта DeepDrumpf также создали нейросети, необыкновенно убедительно имитирующие стиль президента США Дональда Трампа и кандидата в президенты от демократической партии Берни Сандерса. Продукты работы нейросетей создатели проекта выкладывали в твиттер.
Разновидность рекуррентной нейросети — нейросеть с долгой краткосрочной памятью (LSTM) для генерирования своих нейростихов использует и Борис. Ещё чуть-чуть, считает он, — и на него будут смотреть как на человека из каменного века: в последнее время для решения такой задачи используют другую архитектуру — GPT-2. По сути, он делает почти то же самое, что и рекуррентные нейросети, но предсказывает не последующий символ в каждом слове, а следующее слово. Этот подход при генерировании текстов сейчас значительно выигрывает у рекуррентных нейросетей, хотя изначально, к примеру, GPT-2 могла написать убедительное и грамматически правильное эссе об изменении климата только с 25-й попытки.
У рекуррентных нейросетей, по сравнению с алгоритмами, которые предсказывают слова, а не символы, есть довольно существенный недостаток: они могут генерировать несуществующие слова. Борис, однако, это недостатком не считает: ему попадались довольно поразительные, наполненные машинной мудростью примеры новых слов. Скажем, сгенерированное слово «посторонник» — кажется, будто кто-то посторонний, но на постоянной основе. По мнению Бориса, близко к персонажу Кафки, но с явными отсылками к Камю.
Из всех нейростихов больше всего Бориса впечатляют те, которые получаются, если нейросети «скормить» творчество Велимира Хлебникова. Нейростихи, написанные по мотивам его творчества, позволяют наслаждаться чистой поэзией — поэзией как искусством, а не чем-то, в чём нужно искать какой-то смысл:
В лесу колосья свободы подземного стукали строкие волны.
И заметил ночной земли приворство высокий день…
Хорошо удаются и нейростихи, написанные пушкинским четырёхстопным ямбом:
И так же всё теперь слова.
Проснись скорей и воздух дал.
Но вот в конце весенних дней
И облачное на челе...
«Кажется, эти строки тоже задевают какие-то потаённые струны», — рассуждает Борис.
Фейсбук не для кожаных
Разумеется, подход, который выбрал Борис Орехов для создания своих нейростихов, — не единственный, который в этой области применяется.
Например, если вам нужно сделать машинный переводчик, но большого количества параллельных корпусов у вас нет, вы можете решить задачу по-другому. Причём новый метод может быть неожиданно простым и довольно элегантным — как у Facebook, который сделал переводчик на векторном представлении слов.
Представьте себе многомерное пространство, где каждое слово языка расположено в определённой точке от начала координат в зависимости от того, с какими словами оно чаще всего встречается в языке. В этом пространстве слово «кружка» будет ближе к слову «ложка», чем к слову «книга» — и так будет происходить в каждом языке. Другими словами, в любом пространстве любого языка одинаковые по значению слова будут на одних и тех же местах, а сравнив эти пространства, можно будет найти и перевод.
Но на этом дело не кончается. Facebook для автоматического написания использует две разные компьютерные модели, которые максимально приближены к тому, как стихотворения пишут люди.
Первая модель тоже основана на рекуррентных нейросетях, но из предоставленных ей данных (собственно стихов) выделяет не то, какой символ за каким следует, а то, как стихотворение устроено с точки зрения своей структуры (рифмы и ритма) и наполненности — то есть используемых в стихотворениях образных средств. Можно сказать, что это уже не слепое генерирование текстов по буквам, а осмысленное сочинение поэзии в определённом стиле.
Второй подход основан на так называемых генеративно-состязательных нейросетях. Первая нейросеть, генеративная, начинает буквально с нуля: если нужно нарисовать картинку размером 200 на 200 пикселей, она закрасит каждый из них белым. Полученное изображение затем показывается состязательной нейросети, у которой есть доступ к данным, на которую должно быть похоже то, что другая нейросеть, генеративная, нарисует. Состязательная нейросеть выдаёт ответ («нет, не похоже») — и генеративная пробует снова.
Генеративно-состязательные нейросети сейчас — настоящий подарок для дизайнеров, мультипликаторов и всех, кто занимается визуальным контентом: такие нейросети, например, могут помочь превратить в реалистичный рендер обычный карандашный набросок. Или, скажем, если вам нужно сделать рекламную кампанию с фотографиями нескольких человек, но реальные вы использовать по каким-то причинам не можете, генеративно-состязательные сети создадут очень реалистичные портреты людей, которых не существует.
Полтора года назад группа французских исследователей и художников использовала генеративно-состязательные нейросети для создания «картины, нарисованной искусственным интеллектом». Результатом стал портрет Эдмонда де Белами, который продали на знаменитом лондонском аукционе «Кристис» за 432,5 тысячи долларов — примерно такой же ценник у работ, нарисованных рукой Пикассо.
Роботы в мире больших денег
В июне 2017 года председатель правления Сбербанка Герман Греф на выступлении перед студентами в калининградском вузе заявил, что уже уволил 450 юристов, так как нейросети справлялись с их работой лучше, и анонсировал глубокое внедрение систем машинного обучения в работу банка. В течение следующего года Сбербанк сократил порядка 70 % сотрудников, выполнявших рутинные операции, а ещё год спустя Греф отчитался о миллиардных убытках из-за ошибок в работе искусственного интеллекта: «Из-за того, что машина совершала маленькую ошибку на больших объёмах, мы теряли миллиарды рублей». Вскоре Сбербанк решил притормозить и на время отказаться от внедрения нейросетей в область оценки кредитных рисков.
По словам Владимира Опанасенко, начальника управления алгоритмов машинного обучения Газпромбанка, причина в том, что в действительности никто не знает, как именно нейросеть перерабатывает данные: «Когда у нас простые модели, проследить их логику можно, а нейросеть — модель сложная, и такой возможности она не предоставляет. При этом и клиентам и регулятору в лице Центробанка необходимо, чтобы модель была валидируемой и интерпретируемой, то есть давала возможность проверить, как и почему она приняла такое решение».
Тем не менее рекуррентные нейросети с их исключительной способностью обрабатывать тексты находят применение и в других областях — от CRM до изучения новостной ленты. «Стандартная задача, которая в банковской индустрии нужна многим, — мониторинг новостей по крупным корпоративным заёмщикам или по тому, что в банковской сфере происходит, — рассказывает Владимир. — Понятно, что написать алгоритм, который будет выбирать ключевые слова и собирать на их основании подборку новостей, можно, но это только в первом приближении решает вопрос. А что, если в новости не будет ключевых слов или будут, но в каком-то совершенно противоположном значении? Значит, нужно оценивать текст в целом, а не по отдельным словам».
Отличать хорошие новости от плохих нейросеть учит человек, загружая в неё предварительно набор положительных примеров и набор отрицательных. Нейросеть выявляет в текстах одной ей ведомые закономерности, а дальнейший поток обрабатывает уже сама и делает это, по словам Владимира, качественно: «Далеко не каждый день в выборке бывают лишние новости. Модель не очень сложная, обучается за несколько часов, а польза от неё огромный: работа, на которую человек тратит полдня, модель делает за пару минут».
Нейронная сеть не читает новости в привычном смысле слова, и у неё нет мышления в том смысле, в котором оно есть у человека, но это не мешает ей с ним общаться. Самое близкое расстояние, на которое мы регулярно приближаемся к общению с обученной нейросетями машиной, — это чат с техподдержкой, в котором на первой линии сегодня нередко сидит чат-бот и отвечает на самые простые вопросы, перед тем как отправить вас к профильному специалисту.
По словам Владимира, в мире больших денег эра роботов раньше всего наступила на фондовом рынке, ещё до случившегося в 2010-х годах прорывы в обучении нейронных сетей. Но банковская сфера пока несколько более консервативна и в области машинного обучения, с точки зрения Владимира, нуждается, скорее, в просвещении: «Первое заблуждение, с которым приходится чаще всего сталкиваться, это „у нас тут сложная экспертная область, мы с людьми работаем, разговариваем, что ваши модели могут сделать?“ А потом выясняется, что есть данные, которые можно обработать — и сделать процесс гораздо эффективнее.
Другие думают, что у них сразу же будут чудеса, и нейросеть будет делать всё сама. Но машинное обучение — это всегда итеративный процесс, создание более совершенных версий, разметка данных, приёмка результатов, доработка, дообучение. Правильно обучить модель непросто, но результат всегда стоит того».
200 собак и миллион машин
«Я считаю, что мы помогаем освобождать людей для более важных дел, — говорит Владимир Опанасенко. — В каком-то смысле мы обучаем наши модели, чтобы у всех нас однажды было не пять, а четыре рабочих дня в неделю».
В 2011 году 26-летний аспирант Андрей Карпатый тоже использовал нейросети не вполне по их назначению и научил одну различать 200 пород собак с успехом в 85 % случаев. По иронии судьбы сегодня он уже три года как возглавляет департамент по разработке технологий компьютерного зрения и искусственного интеллекта в Tesla — компании, которая не раз прославилась на рынке «производственным адом» и ударной работой без выходных.
Неизвестно, чем кончится для него расследование NHTSA по делу об авариях с участием автопилота, но в марте этого года Tesla подала новую патентную заявку на технологию, позволяющую использовать все машины компании для обучения автопилота.
Это означает, что каждая из почти миллиона машин Tesla, находящихся на дорогах планеты, будет собирать данные о поведении машин со всех своих десятков датчиков, а установленная через очередной апдейт нейросеть — обрабатывать их и отправлять в компанию для дальнейшего анализа.
Автор патента — Андрей Карпатый. В описании технологии в патенте он пишет: «Обычно производительность систем глубокого обучения ограничена качеством тренировочных данных. Во многих случаях значительные ресурсы вкладываются в сбор, исправление и аннотирование этих данных. Усилия, которые требуются для создания наборов данных, зачастую значительны. Более того, часто сложно собрать данные для определённых целей, которые требуются для улучшения модели машинного обучения».
А Борис Орехов считает, что науке нейростихи дают не так много, как хотелось бы. С другой стороны, практическое применение у них всё же может быть: скажем, если нужно будет создать общающегося стихотворениями бота для какого-нибудь приложения.
С компьютерной поэзией также особая ситуация — из-за, пожалуй, одного из главных страхов человечества на данный момент: перспективы всеобщей автоматизации. Нейропоэт, разумеется, не заменит поэта-человека — просто потому, что смысла в этом довольно мало.
«Поэт не топка, в которую кочегары должны забрасывать побольше странных сочетаний слов, чтобы получить на выходе стихотворение», — говорит Борис. Другими словами, нейростихи и классическая поэзия, к которой мы привыкли, работают по-разному. Для поэта важно собственное языковое мышление, его способность создавать новые средства для того, чтобы описать привычные для него вещи, возможность придумывать и творить.
Прямо сейчас мощная диджитал-команда специалистов меняет Газпромбанк, один из крупнейших банков страны. Никаких «доброго времени суток» и «уважаемые коллеги», стереотипов, костюмов и отживших свое формальностей, только код и функциональный продукт. Помимо десятков вакансий для IT-гуру: разработчиков, тестировщиков, аналитиков, маркетологов и дизайнеров, банк приглашает на различные митапы и конференции, а еще финансирует технологические инновации и стартапы. Присоединяйтесь!