Фрагменты статьи «Великое пробуждение искусственного интеллекта» и кое-что ещё

Фрагменты статьи «Великое пробуждение искусственного интеллекта» и кое-что ещё

«В годы расцвета в Kodak работали более 140 тыс. человек, и её оценивали в 28 миллиардов долларов. Однако сегодня компания фактически обанкротилась, а тренды цифровой фотографии задает Instagram. Когда в 2012 г. Instagram был продан за один миллиард долларов, там работали всего 13 человек. Куда же исчезло огромное число работников, которые раньше были необходимы для функционирования огромной корпорации? Для производства товаров и услуг требуется всё меньше и меньше рабочей силы. Расходы на всё, начиная с юридических услуг и заканчивая развлечениями, значительно снизились, а вместе с этим снизилось и число рабочих мест. В мире алгоритмов необходимы такие специалисты, как программисты и математики, которые и несут ответственность за процветание систем алгоритмизации и возглавят Великую алгоритмическую реструктуризацию. Большинству других людей придётся попрощаться со своей работой».

Приведённый выше текст это фрагмент из статьи «Великое пробуждение искусственного интеллекта». «The New York Times Magazine в 2016 г. опубликовал статью, в которой рассказывается, как «Google Переводчик», который появился в 2006 г., научился переводить почти также как человек». При этот популярный сервис машинного перевода, внезапно и практически неизмеримо улучшился. CEO Google С. Пичаи считает, что если его компании будет сопутствовать удача, то скоро продукты от Google перестанут быть результатом традиционного программирования – в их основу будет положено «машинное обучение».

Google Brain – это особый отдел компании, который был создан в 2011 году. Эта идея на протяжении большей части истории вычислительной техники почти всеми специалистами считалась весьма сомнительной и даже мифической.

С момента своего создания Google Brain продемонстрировал, что его подход к изучению ИИ может решить многие проблемы, которые не поддаются обычным методам. Распознавание речи работало так себе, пока Google Brain не занялся им вплотную – благодаря машинному обучению, распознавание речи на Android (мобильной платформе Google Brain) едва не сравнилось с человеческим. То же самое произошло с распознаванием изображений. Менее года назад Google Brain впервые полностью пересобрал потребительский продукт, и тогда наступил его моментальный успех. При этом отметим, что команда продолжает увеличивать число языков для перевода – их уже больше ста. Отметим также, что Deep Mind – это приобретение Google 2014 г. Там было создано AlphaGo.

Одержимость машинным обучением охватила всю индустрию. За последние четыре года крупные компании (GoogleFacebookAppleAmazonMicrosoft и китайская фирма Baidu), помимо прочих, вступили в борьбу за талантливых специалистов в сфере ИИ, что особенно заметно в университетской среде. При этом, например, М. Цукерберг лично (по телефону и с помощью уговоров по видеочату) участвует в попытках его компании заманить лучших выпускников университетов.

Джефф Дин, формально старший научный сотрудник, де-факто является главой Google Brain. Он в Google работает с 1999 г. Дин был примерно 25-м сотрудником компании. Он успел приложить руку едва ли не каждому крупному прорыву компании. О нём пишут так: «Когда А. Белл изобрёл телефон, он увидел пропущенный звонок от Д. Дина» или «Д. Дина повысили до 11 уровня в то время, как уровней всего десять».

Эндрю Ын в 2011 г. был молодым стэнфордским профессором компьютерных наук, который работал в компании консультантом. Он рассказал Дину о внутреннем проекте Marvin (названном в честь пионера ИИ Марвина Мински), призванным экспериментировать с «нейросетями». Дин был настолько заинтригован этим, что решил потратить на проект свои «двадцать процентов» – часть рабочих часов (один день в неделю – прим. ред.), которые каждый сотрудник Google может тратить на программы, не входящие в его основную работу.

Вскоре он предложил Ыну привлечь к работе над этим Грега Коррадо, разбирающегося в нейронауке. Потом они пригласили в качестве первого интерна в проекте Куока Ле – одного из лучших выпускников Ына. Именно тогда некоторые инженеры начали называть проект Marvin: Google Brain. Вот работа их 2012 г. : http://static.googleusercontent.com/media/research.google.com/en//archive/unsupervised_icml2012.pdf.

Лекции Ына приведены здесь: https://www.coursera.org/learn/machine-learning

На второй год существования Google Brain туда в связи с уходом Эндрю Ына (сейчас Ын работает в Baidu и возглавляет команду по ИИ численностью в 1300 человек) пригласили Джоффри Хинтона из университета Торонто. Это произошло так. Хинтон и два его студента продемонстрировали поразительные результаты в крупном конкурсе по распознаванию изображений, который проводил коллектив под названием ImageNet, работающий над open-source-проектами. Вскоре Google связалась с Хинтоном и его студентами и сделала им предложение. Они согласились. «Я думал, их интересует наша интеллектуальная собственность, а оказалось, что им были нужны мы», – рассказывает он. Интересно, что пра-прадедом Хинтона является Джордж Буль.

Хинтон работал над нейросетями ещё с конца шестидесятых, когда учился в Кэмбридже. По большей части, когда в то время Хинтон заводил речь о машинном обучении, остальные смотрели на него так, будто он приводит аргументы в пользу геоцентрической системы мира или кровопускания пиявками. Однако, он уже тогда знал, что нейросеть сможет справиться со сложными задачами, если будет состоять из многих слоёв. Работа Хинтона 2006 г. приведена здесь: https://www.cs.toronto.edu/~hinton/science.pdf. «Людям очень понравилась идея многослойных нейронных сетей, но мы её переоценили», – вспоминает Хинтон. Учёные быстро вернулись к своему прежнему мнению: Хинтона и людей вроде него, снова стали считать чудаками и визионерами.

Самое простое описание нейросети таково: это машина, которая выдает предсказания или классификации, основываясь на её способности находить взаимосвязи в данных. Если слой один, то вы можете найти лишь простые взаимосвязи, а когда слоёв много, можно искать взаимосвязи между взаимосвязями. Первый слой сети учится идентифицировать самый базовый визуальный объект – «грань»: ничего (погасший пиксель), после которого идёт что-то (активный пиксель) или наоборот. Каждый следующий слой ищет взаимосвязи в предыдущем. Так, цепочка из граней может составить круг или квадрат, а несколько кругов или квадратов могут быть лицом и т.д.

Распознавание изображений, которое основано на изобретении под названием «свёрточная нейронная сеть», было описано в работе 1998 г., автором которой является француз Ян Лекун. После защиты диссертации он работал в Торонто под началом Хинтона, а сейчас возглавляет серьёзную инициативу по развитию ИИ в Facebook.

Одна из первых работ (2003 г.) по применению нейронных сетей для распознавания речи приведена здесь: http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf, а вот работы 2014 г. по машинному переводу: https://arxiv.org/abs/1409.3215https://arxiv.org/pdf/1409.1259v2.pdf,https://arxiv.org/pdf/1409.0473v7.pdf. В 2016 г. Baidu также опубликовала работу о машинном переводе с помощью нейросетей: https://arxiv.org/pdf/1606.04199.pdf.

Майк Шустер был штатным исследователем в Brain. Он принял эстафету по разработке «Google Переводчика». Шустер знал, что если Google не сможет довести теоретические разработки до применения на практике, это сделает кто-то другой. Ему потребовалось на это два года. В девяностых он проводил эксперименты с нейросетями на машинах размером с конференц-зал. При этом приходилось потратить миллионы долларов и недели времени, чтобы научить машину делать то, с чем сейчас любой компьютер справится за час. В 1997 г. он опубликовал работу, которую полтора десятка лет почти не цитировали, в то время, как за последний год к ней обратились примерно 150 раз.

Осенью 2015 г. Дин отправил к Шустеру ещё двух инженеров – Юнхуй У и Чжифена Чена. На то чтобы воспроизвести результаты Ле на новой системе, им потребовалось два месяца. Как сказал Шустер: «Некоторые фрагменты просто работали, и никто не знал почему».

Макдуф Хьюз – директор Google Переводчика. Коррадо и Дин сказали ему, что 2016 г. отлично подходит под использование нейросети для переработки его системы, код которой сотни инженеров создавали более десяти лет. Эта система работала так же, как и все машинные переводчики за последние тридцать лет: она разделяла предложения на фрагменты, находила слова в основанных на статистике словарных таблицах, затем применяла множество правил постобработки, для того чтобы подправить окончания и переставляла всё в таком порядке, чтобы у предложения был смысл. Такой подход называется «фразовый статистический машинный перевод», потому что когда система доходит до следующей фразы, она забывает, какой была предыдущая.

Хьюз знал, что люди в разных отделах Google и других компаний годами пытались создать промышленные переводчики, основанные на нейросетях, но особых успехов они не достигли. Однако, через месяц Google Brain удалось провести эксперимент по сравнению новой системы Шустера с его «Переводчиком». Результат был таким, что Хьюз разослал своей команде письмо, в котором говорилось, что все работы по старой системе должны быть немедленно заморожены.

До тех пор команда, занимающаяся переводом с помощью нейросетей, состояла всего из трёх человек (Шустера, У и Чена), но после поддержки Хьюза к ним начали подтягиваться другие люди. Теоретическая работа, которой они занимались до этого, была невероятно сложной и долгой, но попытка превратить её в реальный продукт была не легче. Во-первых, им надо было убедиться в том, что они тренируют машину на правильных данных, а во-вторых, им нужно было сделать так, чтобы система работала настолько быстро и надёжно, что пользователи этого бы не замечали.

Для увеличения быстродействия им не хватало какого-то неизвестного элемента, но они не знали какого. Потом поняли, что им не хватает графических процессоров, реконфигурированных для использования в нейросетях, и ввели две тысячи дополнительных процессоров в систему. Команда расширилась до 30 человек. Стоило стандартизировать модель, как на смену 150 разным моделям старого Переводчика, пришла единая многоязычная модель, которая со временем улучшалась. Однако инструмент, созданный для того, чтобы ещё более улучшить процесс автоматизации с помощью обучающихся машин, требовал экстраординарных объёмов сфокусированного человеческого труда и таланта. Зачастую исследователи принимали решения, основываясь только на собственном чутье. Сколько нейронов должно быть в слое? 1024 или 512? А сколько должно быть слоёв? Сколько предложений нужно обрабатывать одновременно? И сколько времени нужно для этого тренировать систему?

Механизм машинного обучения всегда неидеален. Нужно тренировать его до тех пор, пока тебе не придется остановиться. Такова печальная природа всей этой системы. Некоторым бывает тяжело смириться с этой незавершенностью. В чем-то машинное обучение напоминает искусство: нужно понимать, где мазнуть кистью, чтобы было красиво, а понимание это приходит только с опытом. К кому-то раньше, кому-то позже. 

В 2016 г. команда Google выпустила научную работу на тему машинного перевода с помощью нейросетей (https://arxiv.org/abs/1609.08144) и внедрила её результаты в Переводчик. Microsoft Translator тоже нейросетевой (https://translator.microsoft.com/help/articles/neural/).

В 2017 г. нейронные сети обыграли человек в покер. Это казалось невозможным, так как игроки блефуют, что считалось неподвластно искусственному «разуму».

Теперь некоторые заинтересовавшие меня публикации за 2016-2018 гг.

  1. О новом поколении людей. http://www.pravmir.ru/ekaterina-shulman-sovremennaya-molodezh-samoe-pravilnoe-iz-vseh-pokoleniy-kakie-tolko-mozhno-sebe-predstavit/.

  2. Как обмануть Googlehttps://robotics.ua/news/ai/6640-ai_mit_obmanyvaet_servisy_google_video.

  3. Андрей Себрант: Что будет с человечеством? http://www.rosbalt.ru/moscow/2018/01/02/1671412.html.

  4. Курс лекций Константина Воронцова на русском языке по машинному обучению. https://habrahabr.ru/company/yandex/blog/208034/.

  5. ИТ-индусы останутся без работы. https://hightech.fm/2017/12/29/indian-it-layoffs.

  6. Соревнование по ИИ для решения практических задач. https://habrahabr.ru/article/338296/.

  7. О пробуждении машинного обучения (в приложении основные фрагменты этой статьи).https://vc.ru/21767-the-great-ai-awakening.

  8. Проектирование моделей для машинного обучения. https://m.geektimes.ru/post/296139/.com/.

  9. Ольга Ускова: о беспилотных автомобилях в России. http://www.bbc.com/russian/features-41531354.

  10. Что совместно будут делать  IBM и MIT в области ИИ. https://robotics.ua/news/ai/6565-kakie_problemy_ai_budut_reshat_ibm_mit.

  11. Обучение машинному обучению в МФТИ https://ru.coursera.org/specializations/machine-learning-data-analysis.
  12. В России пройдет первая международная олимпиада по обработке данных, которую проводят ВШЭ, Яндекс и Harbor.Space Universityhttps://www.hse.ru/news/edu/212870899.html.

  13. Как компьютерное зрение и машинное обучение помогают автоматизировать видеонаблюдение (лекция на полуфинале чемпионата мира по программированию 09.12.2017 г.). https://docplayer.ru/70797955-Kak-kompyuternoe-zrenie-i-mashinnoe-obuchenie-pomogayut-avtomatizirovat-videonablyudenie.html.

  14. AlphaGo (https://ru.wikipedia.org/wiki/AlphaGo) – программа для игры в Go, разработанная компанией Google DeepMind в 2015 г. В январе 2016 она впервые выиграла у достаточно сильного игрока – Фань Хуэя. https://meduza.io/news/2016/01/27/iskusstvennyy-intellekt-vpervye-pobedil-professionalnogo-igroka-v-go?utm_source=website&utm_medium=push&utm_campaign=breaking/.

  15. AlphaGo в марте 2016 г. на стандартной доске 19×19 со счетом выиграла 4:1 матч в игру Go у одного из сильнейших игроков мира Ли Седоля. Она продемострировала такую игру, которую ожидали от программ не ранее, чем через 10 лет. https://nplus1.ru/material/2016/03/10/gogogo. .

  16. В январе 2017 г. AlphaGo сразилась с сильнейшими игроками по игре Go в серии онлайн-матчей.  В одном из этих матчей участвовал сильнейший игрок в мире, чемпион Китая Кэ Цзе, которого AlphaGo переиграла, как и всех других мастеров. AlphaGo постоянно обучается у себя самой, и в мае 2017 г. она в очном поединке обыграла Кэ Цзе. https://nplus1.ru/news/2017/05/25/now-it-is-official.

  17. В сентябре 2017 г. в журнал Nature поступает статья «Mastering the game of Go with out human knowledge», которая в  октябре этого же года была опубликована. https://www.nature.com/articles/nature24270/.

  18. В декабре 2017 г. выпущен препринт о Alpha Zero (https://ru.wikipedia.org/wiki/AlphaZero), самообучающейся с нуля системе, которая в процессе самообучения игре в шахматы за несколько часов научилась обыгрывать лучшие из существующих шахматных программ. https://habrahabr.ru/post/343590/. С помощью машинного обучения без изучения огромных баз данных, а заложив только правила игры в шахматы, за четыре часа (!) компьютер стал классно играть в шахматы. https://republic.ru/posts/88221. Научная статья об этом приведена здесь: https://arxiv.org/pdf/1712.01815.pdf.

  19. Мнение Гарри Каспарова об автоматизации процесса игры в шахматы (https://www.youtube.com/watch?v=0pVa5djVzVg). В 1996 г. он выиграл у Deep Blue. В 1997 г. уже проиграл, но возможность выигрыша была. Однако, было видно, что победа искусственного интеллекта – дело времени. В 2003 г. он играл с другими программами два матча, которые закончились вничью. «В 2006 г. чемпион мира Крамник проиграл машине довольно тускло, а другая программа разгромила Адамса со счетом 5.5:0.5. Сегодня лучшие программы играют по рейтингу Эло (3300-3400) почти на 500 единиц лучше, чем у Карлсона (2850). Это такая же разница как между ним и каким-то международным мастером».

    Интересно, что направление, которое развивал учитель Каспарова – другой чемпион мира по шахматам – Михаил Ботвинник, который создавал алгоритмы, моделирующие его поведение во время игры, на сегодняшний день считается тупиковым.

  20. Резкий прогресс наступил, когда нейронной сети скормили огромное число партий Go, и она стала классно играть. Программа AlphaGo обыграла двух лучших игроков мира. Потом разработали программу AlphaZero, в которую не вносили никакой другой информации, кроме правил игры.

    После этого провели 100 партий между этими программами, и со счётом 100:0 победила программа AlphaZero. Отсюда следует, что от накопленного за столетия человеческого опыта можно отказаться, заменив его опытом машины, накопленным за несколько часов.Человеческий опыт не только не полезен, а даже вреден.

    Каспаров долгое время считал, что в шахматах будет иначе, так как игроки в Go из-за сложности игры отставали от шахматистов в понимании игры на несколько сот лет. 05.12.2017 г. это предположение стало неверным. AlphaZero сообщили только правила игры, и она за несколько часов сыграла сама с собой 60 миллионов партий. Сначала она играла чудовищно, но по прошествии этого небольшого времени она обучилась так, что «бросила» вызов лучшей из имеющихся на тот момент шахматных программ и сыграла с ней 100 партий. В 28 из них AlphaZero победила, не проиграв ни одной партии. Белыми из 50 партий 25 она выиграла, а 25 свела вничью. Это был триумф новой технологии, который и в этой игре перечёркивал все знания, накопленные человечеством за сотни лет!

  21. Бот, созданный на основе нейронной сети, победил известного игрока в Dota на сцене главного турнира The International (TI2017. Годом ранее TI 2016 собрал 43 миллиона уникальных зрителей на всех платформах. Основные соревнования в Dota происходят между командами пять на пять человек, но существует и индивидуальный зачёт. В 2016 г. компания Open AI выпустила платформу для исследования машинного обучения с подкреплением. Элон Маск с коллегами вложили больше миллиарда долларов в эту некоммерческую исследовательскую организацию. Проект по созданию бота для игры в Dota 2 – один из шагов на пути к созданию ИИ, способного достигать целей в сложных, запутанных ситуациях с участием людей. В данном случае нейронная сеть несколько недель самообучилась, играя один на один сама с собой. Разработчики решили подойти к решению проблемы с чистого листа. Они поняли, что, если попытаться описать правила в открытой игре с тысячами переменных, то на это уйдет несколько месяцев. Вместо этого они настроили бота, ввели его в игру и дали полную свободу действий.

    Основное отличие бота Open AI от встроенных в игру алгоритмов, реализующих противников, состоит в технологии, на которой они основаны. Указанные алгоритмы построены на основе деревьев решений. Решения находят перебором комбинаций входных параметров и решением оптимизационных задач. Деревья решений содержат довольно большое число параметров. При их использовании человеку будет казаться, что он играет против живого или адаптирующегося противника. Тем не менее, все возможные вариации в поведении таких оппонентов заранее заданы создателями игры. Встроенные боты искусно имитируют интеллект, но не обладают им.

    Нейронные сети используют иной подход. Сеть, которую использовали в Open AI, основана на принципе, который похож на эволюцию. Совершая случайные действия, сеть создает различные решения, которые оцениваются функцией приспособленности. Удачные решения соединяются между собой, мутируют и создают новые поколения решений. Новые поколения сравнивают с их «родителями», чтобы понять появился ли прогресс. Если прогресса нет, решения-«родители» скрещиваются в новых пропорциях. Такой алгоритм не всегда приводит к идеальному решению, но будет очень близок к нему, пройдя через много поколений обучения.

    Этот бот обыграл 2:0 популярного игрока Даниила Ишутина из NaVi. До этого за кулисами соревнования бот сразился с SumaiL – лучшим игроком один на один, и с Arteezy – лучшим игроком в мире, у которого рейтинг MMR больше 10000. Их бот также победил «всухую» – 2:0. После турнира всем желающим предложили попробовать свои силы против бота-победителя за вознаграждения. К вечеру того же дня бота победили игроки из Интернета с рейтингом около 8000  – им понадобилось несколько попыток, чтобы выявить слабое место в сконструированном «игроке». Разработчики Open AI пообещали на TI 2018 представить команду из пяти ботов, чтобы провести полноценные игры против лучших «людских» команд.

  22. Machine Learning Top 10 Open Source Projects (Mar 2018). https://medium.mybridge.co/machine-learning-top-10-open-source-projects-v-mar-2018-9d2c1d2ed00c.

Об авторе: докт. техн. наук, профессор, Университет ИТМО
Помещена в музей с разрешения автора 25 ноября 2020