Category: it

Category was added automatically. Read all entries about "it".

def

Tabula rasa - 3


Искусственный интеллект на нейронных сетях умеет все больше гитик. Среди прочего, понравился 3D-рендеринг от компании DeepMind (приобретена Google): алгоритму показывают плоский вид из некоторой точки (или виды из нескольких точек) на неизвестную компьютеру объемную сцену. После этого он должен построить трехмерную модель и, как бы, побегать там внутри с камерой. И предъявить результат.

анимированный gif
Слева — плоский вид (или несколько таких видов), справа — трехмерная реконструкция от ИИ.
Источник: Блог компании DeepMind, обнаружено в твиттере.


При этом, алгоритм рендеринга, в основном, самообучается с чистого листа, подобно AlphaGo Zero и Alpha Zero. Тренировка данной сети не требует больших наборов заранее разобранных людьми изображений. Алгоритм «сам с собой играет в DOOM»: конструирует себе новые задания и решает их, постепенно улучшая результаты. В итоге ИИ научается разбирать сцены с разными телами, цветами, с разным расположением источника света, вычислять неизвестные части сцены — не уместившиеся на заданных кадрах либо закрытые на них препятствиями, отрисовывать тени. Всё сам, всё сам (видео). Альтернативное название этого поста: «С “лейкой” и бэкпропом».

UPD: Продолжение темы.



def

Tabula rasa - 2


Продолжение темы новых успехов ИИ (искусственного интеллекта). В посте по ссылке я назвал наиболее ярким достижением машинного обучения за последние годы алгоритм AlphaGo Zero, который обучается играть в го с чистого листа («tabula rasa»), без присмотра со стороны людей и без ознакомления с примерами сыгранных людьми партий. Алгоритм изначально знает только правила игры в го, а далее интенсивно играет сам с собой и, обучаясь на собственных ошибках, быстро выходит на сверхчеловеческий уровень игры. При обсуждении в комментариях я предположил, что, быть может, AlphaGo Zero является первым рабочим прототипом некой метаигровой программы для настольных игр типа шахмат. Под метаигровой программой я подразумеваю алгоритм, которому на входе скармливают правила очередной игры и вскоре получают на выходе игрока, способного обыгрывать сильнейших мастеров-людей.

И вот, очередной препринт — в студию:
arXiv:1712.01815
Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm
David Silver, Thomas Hubert, Julian Schrittwieser, Ioannis Antonoglou, Matthew Lai, Arthur Guez, Marc Lanctot, Laurent Sifre, Dharshan Kumaran, Thore Graepel, Timothy Lillicrap, Karen Simonyan, Demis Hassabis
(Submitted on 5 Dec 2017)

The game of chess is the most widely-studied domain in the history of artificial intelligence. The strongest programs are based on a combination of sophisticated search techniques, domain-specific adaptations, and handcrafted evaluation functions that have been refined by human experts over several decades. In contrast, the AlphaGo Zero program recently achieved superhuman performance in the game of Go, by tabula rasa reinforcement learning from games of self-play. In this paper, we generalise this approach into a single AlphaZero algorithm that can achieve, tabula rasa, superhuman performance in many challenging domains. Starting from random play, and given no domain knowledge except the game rules, AlphaZero achieved within 24 hours a superhuman level of play in the games of chess and shogi (Japanese chess) as well as Go, and convincingly defeated a world-champion program in each case.

Игра в шахматы является наиболее изученной предметной областью в истории искусственного интеллекта. Сильнейшие программы основаны на сочетании утонченных методов поиска, специфичных для предметной области черт, а также функций оценки позиции ручной работы, которые совершенствовались экспертами-людьми на протяжении нескольких десятилетий. В противоположность этому подходу, программа AlphaGo Zero недавно достигла сверхчеловеческой силы игры в го с начального состояния tabula rasa посредством обучения с подкреплением на партиях против себя самой. В данной статье мы обобщаем этот подход на единый алгоритм AlphaZero, который способен достигать, с начального состояния tabula rasa, сверхчеловеческой силы игры во многих трудных предметных областях. Начав со случайных ходов и не получив никаких знаний предметной области кроме правил игры, AlphaZero за 24 часа достиг сверхчеловеческого уровня игры в шахматы и сёги (японские шахматы), а также в го, в каждом случае убедительно переиграв мировую чемпионскую программу.
Та-та-та-там. Что день грядущий нам готовит?

UPD: Продолжение темы: 3D-рендеринг.



def

Анекдот недели


В тему позавчерашнего поста про успехи искусственного интеллекта:
A Machine Learning algorithm walks into a bar.
The bartender asks, "What'll you have?"
The algorithm says, "What's everyone else having?"

Алгоритм машинного обучения заходит в бар.
Бармен спрашивает: «Что желаете?»
Алгоритм отвечает: «А чего желают все остальные?»
Из твиттера, Chet Haase via PythonAnywhere.


def

Tabula rasa


В феврале 2011 компьютерная программа «Ватсон» компании IBM переиграла в телевизионном шоу Jeopardy! двух людей-чемпионов этого интеллектуального спорта (локализован в РФ под названием «Своя игра»). Я тогда написал восторженный пост по горячим следам. Комментарии к посту, как водится, оказались интереснее самого поста. В частности, в этом диалоге был поставлен правильный вопрос — научится ли в обозримом будущем искусственный интеллект (ИИ) побеждать людей в играх, правила которых ему только что объяснили: «Легко отличаю [программу от живого игрока]: роботы не умеют понять предложение поиграть в новую игру. Вот когда создадут коробку, которая на предложение поиграть хотя бы в “города”, после объяснения правил скажет “ес, ес, андерстенд!”, и проиграв первые две-три партии, начнет драть всех подряд — вот это будет круто». Я тогда ответил, что мы, вероятно, дождемся появления такой коробки: «По крайней мере, Ватсон, скорее всего, после небольшой доработки будет в состоянии понимать правила нехитрых новых игр вроде городов. Мне так кажется. Во всяком случае, я думаю, что мне представится повод написать у себя в блоге о чем-то подобном. Почти уверен — всё к тому идёт».

Прошло без малого семь лет. IBM занимается практическими приложениями и коммерциализацией «Ватсона». Не знаю, насколько успешен этот бизнес IBM, но новых зрелищных интеллектуальных высот Ватсон с тех пор вроде бы не брал. Зато индустрия ИИ в целом шагнула вперед в том числе и по части выразительных достижений. Компьютеры научились переигрывать людей в новых областях: видеоигры, распознавание изображений, восприятие человеческой речи и проч. Более того, ИИ стал обыгрывать людей в покер (с блефом). И, еще более того, искусственный интеллект преуспел в абстрактной живописи: оригинальные картины, сгенерированные алгоритмом, в ходе (скромного по масштабам) онлайнового опроса получили более высокие оценки зрителей, чем картины художников-людей с флагманской выставки жанра (в том числе и при углубленном оценивании «творческих характеристик»).

Но самым ярким новым достижением ИИ я считаю серию программ AlphaGo, которые уверенно обыгрывают чемпионов игры го. В отличие от шахмат, для го не существует простого аналитического способа приблизительной оценки позиции. Го также значительно богаче шахмат в комбинаторном отношении. Грубо говоря, разумную шахматную программу можно написать, объединив три модуля: 1) аналитической оценки позиции (очко за пешку, три очка с за легкую фигуру, четыре или пять за тяжелую, плюс еще столько-то за контроль центра и т. д.); 2) полного перебора вариантов, например, на три хода вперед; и 3) хотя бы небольшой дебютной библиотеки. После некоторой настройки и доводки, программа сможет обыгрывать средней руки игроков-людей. Причем такая шахматная программа будет способна относительно ясным и кратким образом объяснить любой свой ход. Это в шахматах. Изготовить аналогичным способом разумного компьютерного игрока в го, насколько я понимаю, не получится: аналитические методы оценки позиции слишком расплывчаты и недостаточно развиты, неглубокий просчет вариантов мало что дает, а на глубокий просчет не хватит ресурсов — дерево игры слишком обширно для полного глубокого перебора. Искусство успешной игры в го «более интуитивно», чем шахматное. Сильному игроку в го существенно сложнее, чем шахматисту, объяснить, почему на таком-то ходу он сыграл так-то. Ну, вот просто по опыту, интуитивно так сыграл.

Интуицию часто признают прерогативой людей, характерной «фирменной» чертой именно человеческого мышления — в противоположность «формальным» и «нетворческим» компьютерным вычислениям. И вот, появилась программа, обыгрывающая чемпионов-людей в «интуитивную» игру го. Причем недавно была опубликована статья о радикальном усовершенствовании этой программы — по существу, о создании нового алгоритма игры, который всухую расправляется с предыдущей версией алгоритма (уже игравшей на сверхчеловеческом уровне). Новый алгоритм изначально ничего не знает о го, кроме правил игры. Он самообучается с нуля, с состояния чистого листа (tabula rasa) и без внешнего руководства. Воспроизведу собственный пост в ФБ на этот счет, где цитирование аннотации ключевой статьи предваряется кратким (и немного вольным) изложением по-русски:
    AlphaGo Zero: программа игры в го, которая самообучается с нуля до сверхчеловеческого уровня за несколько дней без базы данных образцов игр.
    Предыдущая версия программы AlphaGo научилась побеждать чемпионов-людей, комбинируя тренировку на большой базе данных сыгранных людьми партий с внутренним самообучением (без руководства, за счет игр сама с собой). Новая программа AlphaGo Zero не нуждается ни в чем, кроме правил игры го. Базу данных игр ей не показывали, тактики и стратегии не объясняли. За несколько дней, интенсивно играя сама с собой, AlphaGo Zero вышла на уровень равной игры с предыдущей AlphaGo, а затем обошла ее и, в конечном счете, выиграла у своей предшественницы со счетом 100:0.

    A long-standing goal of artificial intelligence is an algorithm that learns, tabula rasa, superhuman proficiency in challenging domains. Recently, AlphaGo became the first program to defeat a world champion in the game of Go. The tree search in AlphaGo evaluated positions and selected moves using deep neural networks. These neural networks were trained by supervised learning from human expert moves, and by reinforcement learning from self-play. Here we introduce an algorithm based solely on reinforcement learning, without human data, guidance or domain knowledge beyond game rules. AlphaGo becomes its own teacher: a neural network is trained to predict AlphaGo’s own move selections and also the winner of AlphaGo’s games. This neural network improves the strength of the tree search, resulting in higher quality move selection and stronger self-play in the next iteration. Starting tabula rasa, our new program AlphaGo Zero achieved superhuman performance, winning 100–0 against the previously published, champion-defeating AlphaGo.
    Mastering the game of Go without human knowledge, pdf.
Резюме из всех этих новостей я бы вывел на данный момент такое: за прошедшие семь лет ИИ не взял высокую планку, которая была задана в комментариях к посту 2011 г, но процесс идет. Определенно, разработчиков ИИ можно поздравить с новым го!

UPD: Продолжение темы, Tabula rasa - 2.

def

Имперский код взломан!


В конце прошлого года я предложил некое дешифровальное упражнение под названием «Взлом имперского кода». Только что был сдан первый ответ, причем правильный. Наверное, через несколько дней я вскрою это задание, даже если других ответов не поступит, — но вообще-то задачка вполне решаема просто головой, без напряженных вычислений и хитроумного кодирования. В качестве подсказки приведу комментарий автора успешной дешифровки (вырезав ключевые фрагменты) и мой ответ:
fiviol:
Ну ты зверь! Все же исхожу из предположения, что раз ты это загадал, то предполагаешь возможность решения задачи, а главное, был бы не против, чтобы ее кто-то решил. :) Тогда стоит попробовать, но нужно сначала уточнить условия:
1. Я правильно понимаю, что закодирован в той или иной мер осмысленный текст на русском языке?
2. Текст состоит из слов, но разбиение текста на слова пробелами не указано (пробелы между группами по пять букв не в счет, они только для удобства)?
3. Фразу "закодированный образ буквы зависел от ее позиции в сообщении" следует читать как "закодированный образ буквы зависел от ее позиции в слове сообщения"?
Иначе это правило совершенно ничего не дает - сообщение всего одно, и все "позиции" в нем разные, поэтому расшифровкой может служить произвольная последовательность букв (единственное ограничение - буквы расшифровки и шифровки должны не совпадать).
4. Подсказка про гипотезу робота R2-D2 содержит только информацию о том, что в шифровке есть некоторая особенность, не бросающаяся в глаза, но которую стоит поискать? Или я как-то эту подсказку недопонял?
(Например, если окажется, что в шифровке [ВЫРЕЗАНО] - то зашифрованное сообщение [ВЫРЕЗАНО]. :))
Ба! [ВЫРЕЗАНО]! Сдаю:
[ВЫРЕЗАНО]

ogn_slon:
ЗАЧЕТ!
Только что ты взломал код знаменитой немецкой шифровальной машины "энигма". Точнее, один из кодов одной из сетей "энигм" на одном из этапов Второй мировой войны. Еще точнее, не взломал код одним этим решением, но сделал существенный шаг ко взлому, и несколько таких шагов в итоге привели к вскрытию кода той конкретной сети.
Я постарался приблизительно смоделировать условие одной задачи из серии дешифровальных задач, которые были решены сотрудниками Блечли Парка (британская дешифровальная служба) в 1941 г. В итоге были прочтены секретные радиограммы Оси, и это внесло важный вклад в победу союзников в морском сражении у мыса Матапан. Ты можешь законным образом немного почувствовать себя Аланом Тьюрингом! :)
(На самом деле, я не уверен, что Тьюринг участвовал в дешифровке именно этой серии коммуникаций, -- кажется, именно в этой не участвовал, эта была работа другой дешифровальной команды; но чем-то подобным Тьюринг в Блечли Парке занимался, и очень успешно, -- вне всяких сомнений. Я потом, если соберусь с силами, напишу пост об этом, тема того стоит.)
Итак, пока задание еще не вскрыто, у вас остается шанс попробовать себя в качестве секретного дешифровальщика Блечли Парка. Тьюринг умный, будь как Тьюринг!

(Ответы и другие комментарии по существу просьба оставлять не здесь, а под постом с заданием.)



def

Я вам не скажу за всю Одессу


Мировая пресса несколько дней рассказывает о симулированной компьютером личности по имени Женя Густман, который по легенде является тринадцатилетним школьником из Одессы, более-менее владеющим английским. Утверждается, что данный программно-симулированный собеседник впервые в истории успешно прошел тест Тьюринга, то есть убедил достаточное число назначенных судей в том, что является живым человеком, а не компьютерной симуляцией. Мне и раньше приходилось слышать о программах, якобы сдавших тест Тьюринга, но ни одно из этих заявлений не убедило меня в том, что программисты и в самом деле научились правдоподобно подделывать человеческих собеседников. Женя Густман не стал исключением из правила. Вот мой диалог с программой:
ogn-slon: What did all «bindyuzhniki» do when Kostya walked into a bar?
Eugene Goostman: Could you formulate your question in more precious way? Some another topic?

Перевод:
ogn-slon: Что делали все «bindyuzhniki», когда Костя входил в пивную?
Eugene Goostman: Вы не могли бы точнее сформулировать вопрос? Может, сменим тему?
Всё ясно, следующий.

На самом деле, я понимаю, что реальный тринадцатилетний одесский мальчик, не идеально владеющий английским, мог бы затрудниться с ответом на мой вопрос. Но Алан Тьюринг имел в виду в том числе и такие вопросы, так что программа, претендующая на прохождение теста Тьюринга, должна как-то справляться с ними, а не искать способ правдоподобно обыграть свою неспособность справиться. Серьезный разбор ответов Жени Густмана на правильные тестируюшие вопросы см. у Скотта Ааронсона, который пришел к выводу, что программа не является эпохальным достижением в области искусственного интеллекта, коим многие пытаются её представить. Насколько я понял Ааронсона, авторы программы сами не считают свое детище чем-то выдающимся.

Таким образом, мы имеем дело с классическим информационным пузырем на пустом месте. Самостоятельно поговорить с юным одесситом (по-английски) можно на его официальном сайте (другая ссылка: здесь; впрочем, обе ссылки срабатывают не всегда — вероятно, из-за всемирного наплыва желающих пообщаться с роботом).



def

Неподавляемый литерал вида "вид"


Немного ностальжи. Коллега al_pas написал пост про свои отношения с языком программирования Фортран. Лёшин пост меня тронул, и я там раскомментировался, потому что Фортран был моей первой алгоритмической любовью. Если кому эта тема интересна — см. пост и комментарии нескольких авторов к нему, про Фортран и не только. Для затравки процитирую один из собственных комментов:
По-моему, там на ЕСках жили ещё Алгол-60 и чудо языковой мощи — Алгол-68. Главным руководством по 68-му Алголу была, кажется, книга «Пересмотренное сообщение об Алголе-68» с совершенно мозговыносящими фразами, вроде «...неподавляемый литерал вида “вид” в среде, крепко содержащей букву Алеф в себе, для выборки вектора из процедур, сильно выдающих пустое значение». Не представляю, что это могло бы значить — но в памяти как-то осталось...
На самом деле, сам я никогда не учил Алгол-68, поскольку этот язык был слишком сложен для меня. Зато его изучал один мой физфаковский сокурсник, которого, кстати, я вывел под вымышленным именем Парамон в записи про игру в логики. В отличие от меня, Парамон серьезно занимался программированием и стал профессионалом. А в студенческие годы он, помницца, не расставался с помянутым заумным кирпичом по Алголу-68. Парамон рассказывал даже, как он ехал как-то в метро, читал, и вдруг поезд остановился где-то в туннеле между станциями, и свет в вагонах погас. Все пассажиры заволновались: зачем стоим, почему темнота, что случилось, когда поедем... И только Парамон был хладнокровен, как Бонд, Джеймс Бонд, и как Бонд точно знал, что ему надо делать. Он достал карманный фонарик и в его свете возобновил чтение своей книги — то было «Пересмотренное сообщение об Алголе-68», разумеется. Вот от Парамона я и узнал поразившую меня фразу про неподавляемый литерал. Не уверен, что я ее сейчас абсолютно точно воспроизвожу, но, надеюсь, что более-менее близко к тексту.


def

Yet another indexer


Сегодняшние «Ведомости» публикуют большую статью «Настоящий человек Возрождения» про покойного Илью Сегаловича. В частности, напоминают, что:
Окончив институт в 1986 г., Сегалович устроился на работу во Всесоюзный институт минерального сырья. Потом он рассказывал, что заниматься там программированием ему было вполне интересно, вот только научные руководители из поколения шестидесятников уже были явно не в состоянии зажигать молодых сотрудников — сами к тому времени «перегорели». Поэтому предложение Воложа перейти в его собственный кооператив «Аркадия» Сегаловичу пришлось по душе, тем более что Волож «вместо институтской зарплаты в $5 предложил ему немыслимые $30». С 1997 г. «Аркадия» стала подразделением основанного Воложем поставщика компьютеров CompTek. Из этой-то компании и выделился интернет-поисковик «Яндекс». Сегалович еще в 1993 г. вместе с командой программистов написал программу поиска по массивам текстов, которую назвал yet another indexer (еще один индексатор), сокращенно — «Яндекс». А возможности этой программы демонстрировали на примере поиска сначала по Библии, а потом по базе изданий Грибоедова и Пушкина.
Как тут не вспомнить мой собственный опыт восприятия слова «Яndex» в конце девяностых, который я уже излагал здесь в виде задания с ответом.


def

Элементарно: «Ватсон»


Выполняя обещание, продолжаю тему «Ватсона». Тема, правда, уже утратила новизну, но у меня накопились кое-какие ссылки, и почему бы их не выложить. Кроме того, этот пост написан в несколько скептическом ключе, тем самым балансируя восторги моего исходного сообщения. Убираю текст во врезку в силу изрядной многочисленности в нём т. н. «букав».

Collapse )

Все мои посты о Ватсоне: исходный (описание события по горячим следам), бескрылка в тему (почти), новость о небольшом игровом конфузе Ватсона и данный пост со множеством дополнительных ссылок и комментариев. UPD: см. продолжение темы.

def

Время перечитать Тьюринга


На днях вот что случилось: компьютерная программа Watson фирмы IBM в серии телевизионных передач 14, 15 и 16 февраля порвала как тузик грелку двух сильнейших американских игроков Jeopardy! (в России это что-где-когда-образное мероприятие известно как «Своя игра»). Разгромный окончательный счет трехдневного интеллектуального марафона показан на фото. Во время игры компьютер получал вопросы в виде обычного текста на английском языке и давал ответы тоже на нормальном человеческом английском, зачитывая их синтезатором голоса. Watson даже нажимал кнопку, чтобы получить право на ответ, как и положено по правилам игры, для чего пришлось смонтировать над его кнопкой специальную механическую нажималку. Распознавание речи в данной программе пока не реализовано, но это вполне решаемая задача. Причем более простая, скорее всего, чем уже блестяще решенная айбиэмовскими исследователями задача поиска ответов на сложные вопросы, требующие активной эрудиции и быстрого многофакторного анализа по не вполне определенным указаниям.

Watson работает на суперкомпьютерном кластере из 90 серверов IBM POWER 750 с процессорами POWER 7 и 16 терабайтами оперативной памяти. Так как каждый процессор включает 32 вычислительных ядра, вся система в целом способна одновременно отрабатывать 2880 потоков вычислений. Если бы программу Watson запустили на единственном сервере IBM POWER 750, то она отработала бы и на нём, но ей понадобилось бы примерно по два часа на вопрос. А на 90 параллельно работающих серверах Watson отлично справлялся с вопросом за три секунды — справлялся, на самом деле, много лучше, чем люди. При этом у людей было важное преимущество: Watson пока не умеет слушать и учитывать неверные ответы, уже данные на текущий вопрос, так что минимум в одном случае Watson просто повторил только что отвергнутый неверный ответ человека. С другой стороны, во время игры в распоряжении Watson находился огромный объем справочной информации, в том числе вся Википедия (но к интернету он подключен не был).

Ещё три замечания. Во-первых, вспомним Алана Тьюринга и его классический вопрос: «Могут ли машины мыслить?». Нам только что наглядно продемонстрировали вполне определенный ответ: да, могут. Собственно, Тьюринг и не сомневался в положительном ответе. И это отличный повод перечитать глубокую и хирургически точную статью Тьюринга, написанную 60 лет (!) тому назад (вот текст на английском, а здесь русский перевод, качество которого я, честно, не проверял). Если бы Тьюринг каким-то чудом дожил до наших дней, то он бы, наверное, помер от гордости 16 февраля сего года, сразу после окончания телетрансляции. Он предвидел всё это еще до того, как появились на свет разработчики Watson! Во-вторых, замечу, что Watson — это классический компьютер; потенциально более мощные квантовые вычисления еще только изучаются. В-третьих, Watson собран на коммерческих серверах IBM, так что его вычислительная мощь масштабируема и в принципе доступна для практических приложений.

Всё это происходит у нас на глазах...

UPD: продолжение темы: раз, два и три (последнее — очень подробно).