Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
В 2017 г., после первых успехов бота OpenAI в Dota 2, StarCraft воспринимался многими как надёжный бастион человеческого превосходства в мире компьютерных игр. В конце октября 2017 г. на очередном турнире в Sejong профессиональный игрок в StarCraft Сон Бён-гу сразился с четырьмя ботами в первую версию StarCraft и одержал бесспорную победу со счётом 4 : 0. Данные боты разрабатывались как командами разработчиков из крупных корпораций, так и отдельными энтузиастами.
В августе 2017 г. DeepMind и Blizzard выпустили инструменты разработки ботов для StarCraft II. Также было опубликовано 65 000 записей игр. Учёный-информатик и менеджер турниров StarCraft Дэвид Черчилль предположил, что ботам понадобится пять лет, чтобы победить людей, сделав, однако, оговорку, что AlphaGo в своё время смогла опередить все прогнозы. Технический обозреватель журнала Wired Том Саймонит заявил: «Никто не ожидает, что робот победит в ближайшее время. Но когда это произойдёт, это будет гораздо большим достижением, чем завоевание го DeepMind».
Гром среди ясного неба грянул 24 января 2019 г., когда в блоге DeepMind появилась статья [1985] под заголовком «AlphaStar: освоение стратегической игры реального времени StarCraft II» (AlphaStar: Mastering the Real-Time Strategy Game StarCraft II). Из неё общественность узнала, что в серии тестовых матчей, состоявшихся 19 декабря, AlphaStar — бот, созданный разработчиками из DeepMind, — победил со счётом 5 : 0 Гжегожа MaNa Коминча из команды Team Liquid, одного из сильнейших профессиональных игроков StarCraft
1985
Vinyals O., Babuschkin I., Chung J., Mathieu M., Jaderberg M., Czarnecki W., Dudzik A., Huang A., Georgiev P., Powell R., Ewalds T., Horgan D., Kroiss M., Danihelka I., Agapiou J., Oh J., Dalibard V., Choi D., Sifre L., Sulsky Y., Vezhnevets S., Molloy J., Cai T., Budden D., Paine T., Gulcehre C., Wang Z., Pfaff T., Pohlen T., Yogatama D., Cohen J., McKinney K., Smith O., Schaul T., Lillicrap T., Apps C., Kavukcuoglu K., Hassabis D., Silver D. (2019). AlphaStar: Mastering the Real-Time Strategy Game StarCraft II / DeepMind blog, 24 Jan 2019 // https://deepmind.com/blog/alphastar-mastering-real-time-strategy-game-starcraft-ii/
1986
Wunsch D. (2019) / Twitter // https://twitter.com/liquidtlo/status/1088524496246657030
Одна идея, найденная AlphaStar (перепроизводство зондов для добычи ресурсов), оказалась новой для игрового сообщества и была тут же принята игроками на вооружение (например, MaNa применил её уже в четвёртой игре против AlphaStar) [1987] , [1988] .
Версия бота, одолевшая MaNa и TLO, использовала программный интерфейс игры для получения данных о текущем положении в игре. Фактически AlphaStar одновременно «смотрел» на все видимые области карты, что многие эксперты сочли недопустимым преимуществом бота по отношению к игрокам-людям. Поэтому DeepMind разработала версию AlphaStar, которая взаимодействовала с игрой так же, как это делают люди, то есть самостоятельно принимая решения о том, когда и куда перемещать камеру. Эту версию бота, которая обучалась в течение недели, MaNa смог одолеть в демонстрационном матче 24 января.
1987
Solimito S. (2019). Is Alphastar really impressive? // https://medium.com/@stefano.solimito/is-alphastar-really-impressive-31ab02bf0882
1988
Kosker S. (2019). Kunstliche Intelligenz gegen Mensch: DeepMind AlphaStar // https://stefankosker.com/alphastar-starcraft-deepmind-kuenstliche-intelligenz/#Prominente_Meinungen_zu_AlphaStar
«Я был впечатлён, увидев, что AlphaStar проворачивает продвинутые ходы и различные стратегии практически в каждой игре, используя очень человеческий стиль игры, которого я не ожидал… из-за этого игра предстала в совершенно новом свете. Мы все с нетерпением ждём, что будет дальше», — сказал MaNa.
Ещё одним источником претензий к игре AlphaStar стала скорость выполнения ботом действий. Лучшие игроки StarCraft могут довольно быстро отдавать команды своим юнитам, тот же MaNa в своём матче с AlphaStar осуществлял в среднем 390 действий в минуту (Actions per minute, APM) (т. е. более шести действий в секунду!). Многие из таких действий не требуют предварительных сложных расчётов, и, например, в момент сражения больших армий AlphaStar теоретически мог бы легко выполнять тысячи действий в минуту, что находится далеко за пределами возможностей любого игрока-человека. Чтобы избежать этого и сделать соревнование более честным, специалисты DeepMind ввели жёсткие лимиты на количество действий бота. В матчах с MaNa AlphaStar использовал следующие ограничения: максимум 600 APM в течение 5 секунд, 400 в течение 15 секунд, 320 в течение 30 секунд и 300 в течение минуты. Однако 5 секунд — довольно долгий период для StarCraft II. При таких ограничениях AlphaStar мог совершить 50 действий уже в первую секунду или по 15 действий в секунду в течение трёх секунд, что всё-таки заметно выше, чем у профессиональных игроков-людей. При этом AlphaStar мог совершать клики по карте с хирургической точностью, в то время как люди испытывают на себе механические ограничения со стороны устройств ввода, таких как компьютерные мыши [1989] . Также AlphaStar мог заниматься микроменеджментом битв, оптимально перенося огонь с одной цели на другую за доли секунды, что нереально для человеческой реакции.
1989
Lee T. B. (2019). An AI crushed two human pros at StarCraft—but it wasn’t a fair fight / Ars Technica // https://arstechnica.com/gaming/2019/01/an-ai-crushed-two-human-pros-at-starcraft-but-it-wasnt-a-fair-fight/
В ответ на критику разработчики из DeepMind ввели более строгие ограничения на скорость, снизив её до 22 действий за 5 секунд. Несмотря на новый лимит, после 44 дней обучения AlphaStar сумел пробиться в элитную группу, получить звание GrandMaster (при игре за каждую из трёх игровых рас) и войти в число 0,15% лучших игроков на серверах Battle.net.
В ноябре 2019 г. AlphaStar со счётом 4 : 1 одолел одного из сильнейших игроков мира — финна Йоону Соталу, известного под ником Serral. Впрочем, Serral играл не на своём оборудовании, что в мире профессионального StarCraft обычно является заметной форой [1990] . Несмотря на успехи AlphaStar, пока преждевременно говорить о сверхчеловеческом уровне его игры, но то, что бот играет как минимум на уровне наиболее опытных профессионалов, уже ни у кого не вызывает сомнения.
1990
SoulDrivenOlives (2019). DeepMind's PR regarding Alphastar is unbelievably bafflingg / Reddit // https://www.reddit.com/r/MachineLearning/comments/dr2vir/d_deepminds_pr_regarding_alphastar_is/
Обычно разработчики стратегий, подобных StarCraft, внимательно следят за балансом игры и оперативно корректируют характеристики юнитов, рас и других игровых объектов, если вдруг выясняется, что какие-то из них дают игрокам слишком большие преимущества над соперниками. Проблема заключается в том, что баланс основывается именно на человеческих возможностях управления юнитами, а они ограничены не только скоростью отдаваемых команд, но и, например, возможностью точно выделить нужный юнит в свалке сражения, выждать строго определённый промежуток времени между кликами, быстро переключаться между несколькими участками карты и так далее. Потенциально это позволяет машине склонить баланс в свою сторону благодаря её нечеловеческим способностям. Сложно объективно измерить конкретное преимущество, которое получает в результате машина, но игроки не раз отмечали ситуации, когда, по их мнению, AlphaStar выигрывал именно за счёт сверхчеловеческого микроконтроля [1991] , [1992] .
1991
Lee T. B. (2019). An AI crushed two human pros at StarCraft—but it wasn’t a fair fight. Superhuman speed and precision helped a StarCraft AI defeat two top players / Ars Technica, 1/30/2019 // https://arstechnica.com/gaming/2019/01/an-ai-crushed-two-human-pros-at-starcraft-but-it-wasnt-a-fair-fight/
1992
u/SoulDrivenOlives (2019).[D] An analysis on how AlphaStar's superhuman speed is a band-aid fix for the limitations of imitation learning / Reddit // https://www.reddit.com/r/MachineLearning/comments/ak3v4i/d_an_analysis_on_how_alphastars_superhuman_speed/
Для обучения AlphaStar используется масштабируемая система с различными типами распределённых «воркеров» (подсистем, отвечающих за выполнение тех или иных повторяющихся подзадач). Одновременное проведение 16 000 матчей обеспечивается за счёт параллельной работы 16 акторов [actor], осуществляющих выполнение [inference] управляющих ботами нейронных сетей. Каждый актор работает на выделенном для него TPU третьей версии (содержащем восемь тензорных ядер). Экземпляры игры выполняются на CPU (в моменте задействуется эквивалент примерно 4200 физических ядер), но при этом запросы к акторам объединяются в пакеты для более эффективного использования TPU. Акторы по сети отправляют последовательности наблюдений, действий и вознаграждений центральному воркеру, использующему 128 ядер TPU для обновления весов нейронной сети. Архитектура сети довольно сложна и включает в себя блоки LSTM (с механизмом внимания), свёрточные и развёрточные слои (в том числе с перепрыгивающими соединениями), а также слои трансформеров (о них мы будем говорить немного позже) [1993] .
1993
Vinyals O., Babuschkin I., Czarnecki W. M., Mathieu M., Dudzik A., Chung J., Choi D. H., Powell R., Ewalds T., Georgiev P., Oh J., Horgan D., Kroiss M., Danihelka I., Huang A., Sifre L., Cai T., Agapiou J. P., Jaderberg M., Vezhnevets A. S., Leblond R., Pohlen T., Dalibard V., Budden D., Sulsky Y., Molloy J., Paine T. L., Gulcehre C., Wang Z., Pfaff T., Wu Y., Ring R., Yogatama D., Wunsch D., McKinney K., Smith O., Schaul T., Lillicrap T., Kavukcuoglu K., Hassabis D., Apps C., Silver D. (2019). Grandmaster level in StarCraft II using multi-agent reinforcement learning / Nature, Vol. 575, pp. 350–354 (2019) // https://doi.org/10.1038/s41586-019-1724-z
На сегодняшний день AlphaStar является, по всей видимости, наиболее сложной системой игрового ИИ, созданной человеком, и представляет собой настоящий памятник человеческому разуму и вдохновенному труду исследователей, бросивших вызов сложнейшим проблемам современной науки и технологии.
6.2.4 Распознание образов: кое-что ещё
И в небе, и в земле сокрыто больше,
Чем снится вашей мудрости, Горацио.
1994
* Пер. М. Лозинского.
Конечно, задачи в области распознавания образов могут возникать в отношении любых разновидностей данных, и совсем не обязательно эти данные должны быть результатом оцифровки изображений или звука.
В науке нейронные сети позволили добиться прогресса в решении задач газогидродинамики; они успешно применяются, например, при работе с усреднёнными по Рейнольдсу уравнениями турбулентности Навье — Стокса (Reynolds-averaged Navier–Stokes, RANS), позволяя повысить производительность вычислений [1995] , [1996] .
1995
Pandya D. A., Dennis B. H., Russell R. D. (2017). A computational fluid dynamics based artificial neural network model to predict solid particle erosion / Wear, Vol. 378—379, 15 May 2017, pp. 198—210 // https://doi.org/10.1016/j.wear.2017.02.028
1996
Kutz J. N. (2017). Deep learning in fluid dynamics / Journal of Fluid Mechanics, Vol. 814, 10 March 2017, pp. 1—4 // https://doi.org/10.1017/jfm.2016.803
Свёрточные нейронные сети неплохо показали себя при решении задачи о поиске быстрых радиовсплесков (Fast Radio Bursts, FRB), успешно обнаружив нужные закономерности в данных, собранных радиотелескопами [1997] .
Нейронные сети неплохо показали себя в биохимии — например в предсказании свойств сложных соединений по их структурным формулам [1998] .
В медицине глубокие нейронные сети применяются для поиска аномалий в электрокардиографических данных [1999] , а также при анализе данных электроэнцефалографии [2000] . Автоматизация обработки сигналов медицинских датчиков привела к созданию множества носимых устройств [wearables] для спортивных и медицинских целей. Анализируя данные с гироскопов и акселерометров носимых устройств, нейронные сети могут распознавать различные виды человеческой активности (ходьбу, бег, подъём по ступеням, сон и т. д.) и даже прогнозировать ожидаемую продолжительность жизни (разумеется, с весьма заметной погрешностью) [2001] .
1997
Zhang Y. G., Gajjar V., Foster G., Siemion A., Cordes J., Law C., Wang Y. (2018). Fast Radio Burst Pulse Detection and Periodicity: A Machine Learning Approach / The Astrophysical Journal, Vol. 866, No. 2 // https://doi.org/10.3847%2F1538-4357%2Faadf31
1998
Wei J. N., Duvenaud D., Aspuru-Guzik A. (2016). Neural Networks for the Prediction of Organic Chemistry Reactions / ACS Central Science, October 14, 2016, 2, 10, 725—732 // https://doi.org/10.1021/acscentsci.6b00219
1999
Rajpurkar P., Hannun A. Y., Haghpanahi M., Bourn C., Ng A. Y. (2017). Cardiologist-Level Arrhythmia Detection with Convolutional Neural Networks // https://arxiv.org/abs/1707.01836
2000
Schirrmeister R. T., Springenberg J. T., Fiederer L. D. J., Glasstetter M., Eggensperger K., Tangermann M., Hutter F., Burgard W., Ball T. (2017). Deep learning with convolutional neural networks for EEG decoding and visualization / Human Brain Mapping, Vol. 38, Iss. 11, November 2017, pp. 5391—5420 // https://doi.org/10.1002/hbm.23730
2001
Pyrkov T. V., Slipensky K., Barg M., Kondrashin A., Zhurov B., Zenin A., Pyatnitskiy M., Menshikov L., Markov S., Fedichev P. O. (2018). Extracting biological age from biomedical data via deep learning: too much of a good thing? / Scientific Reports, Vol. 8, Article num.: 5210 (2018) // https://doi.org/10.1038/s41598-018-23534-9