ТЕХНОЛОГИИ: Препроцессинг 2

ТЕХНОЛОГИИ: Препроцессинг 2

Автор: Владимир Гуриев

Поскольку первую и вторую часть "Препроцессинга" разделяет дистанция в несколько номеров, я позволю себе коротко напомнить, о чем, собственно, шла речь. В отчете с IDF Fall 2008 я решил сосредоточиться не на тех продуктах, которые Intel готовит к выходу сегодня-завтра, а на перспективных направлениях, перспективность которых иногда неочевидна и самой компании. Некоторые из этих разработок призваны ответить на реально существующие нужды потребителей, тогда как задача других - создать такие новые потребности, удовлетворение которых принесет ИТ-индустрии миллиарды.

Нужно быть совсем уж незамутненным человеком, чтобы верить в сговор между Intel и Microsoft. Если до выхода Microsoft Office 2007 вам хватало собственноручно собранного на базе 286-го процессора системного блока, это еще не значит, что весь остальной мир чувствовал то же самое. И никто специально не программирует приложения так, чтобы с каждой новой версией они максимально загружали процессор и требовали все больше оперативной памяти. Это происходит лишь потому, что оптимизировать приложение зачастую выходит дольше и дороже, чем убедить потребителя купить новую железку. Тем не менее Intel, как, впрочем, и другим производителям железа, от программистской лени и потребительской щедрости получалась одна сплошная радость. Пользователи требовали все больше и больше и были готовы за это "больше" не только платить, но и переплачивать. Однако пользовательская фантазия довольно-таки ограничена, и недалек тот час, когда предлагаемые вычислительные мощности превзойдут любые потребительские ожидания. Собственно, мы с вами уже можем наблюдать довольно отчетливые признаки надвигающегося кризиса: чуть ли не каждый ноутбук сегодня более чем подходит для офисной работы на любой операционной системе (включая Висту), а грань между домашними десктопами (подразумевающими быстрое и недорогое увеличение мощности) и куда менее гибкими в плане конфигурирования ноутбуками неумолимо стирается. Пользовательские предпочтения стабилизируются, и производителям уже приходится объяснять, зачем нужно переходить на новую версию программы - а убеждаются-то далеко не все. И дело не в том, что старые программисты были богатыри, не мы, а нынешние хоть и сохранили горделивую осанку, но мускулатурой могут похвастать только в узком программистском кругу, независимого наблюдателя она не убеждает. Дело в том, что базовые нужды пользователей давно удовлетворены. А от добра добра не ищут, да и вообще, зачем платить больше?

Решением этой - вполне инженерной, кстати, задачи - и занимается Intel. И мне кажется, что изобретение новых потребностей (как и, в меньшей степени, расширение уже существующих) - в целом задача более интересная, чем вывод на рынок нового процессора или зубодробительные подробности какой-нибудь новой технологии. Особенно в случае с Intel, потому что компания таких масштабов (в отличие от множества гениальных, но бедных стартапов) действительно может попытаться научить пользователей своим представлениям о прекрасном. Это очень долгий, дорогой и неприятный для всех участников процесс, но если представить всех участников ИТ-рынка в виде составляющих единой экосистемы, то Intel, Microsoft, Google и, может, еще десяток-другой компаний стараются не идти на поводу у потребителей, а, наоборот, вести их за собой. Подход, кстати, вполне человеческий: наши предки давно поняли, что разводить домашний скот в загоне куда эффективнее, чем сидеть с утра у водопоя или выслеживать стадо в надежде отбить теленка. На ИТ-рынке такая стратегия срабатывает не всегда: можно вспомнить множество технологий, которые, несмотря на все усилия заинтересованных компаний, в народ не пошли. Поэтому Intel для поиска инновационных идей использует тактику, описанную когда-то Робертом Броуном, а затем Норбертом Винером: проектов у Intel много, проекты разные по качеству, проекты, как правило, независимы друг от друга и не очень-то дороги. Intel может позволить себе разбрасываться. И, самое главное, ждать.

Беспокойное детство

Концепция Connected Visual Computing исчерпывающе описывается названием. Visual Computing - это все, что связано с обработкой и созданием изображений и видео (включая привычное 3D, реалистичную мимику аватаров, видеопоиск, компьютерное "зрение" и т. д.), а Connected - это новые пользовательские модели работы с информацией, включая навязший на зубах Веб 2.0 и виртуальные миры а-ля SecondLife. Другими словами, CVC - это когда Википедия встречает HalfLife, причем работает этот странный гибрид в любом месте и в любое время, потому что доступ к Сети есть везде. А одно из важнейших свойств CVC - максимальная привязка к окружающей нас реальности. Когда в поле зрения камеры мобильного телефона попадает муравей, а на экране появляется субтитр, поясняющий, что это не просто какой-то там муравей, а Camponotus herculeanus, - это CVC. Когда вы, прогуливаясь по незнакомому городу, слушаете в наушниках комментарии гида, причем этот автоматический гид отслеживает ваши передвижения с помощью GPS и каждый раз рассказывает вам о том, на что вы смотрите, - это тоже CVC ("вижуала" тут, правда, не очень много). Когда в ресторане вам принесли меню на китайском, а вы, не желая прослыть профаном, рассматриваете его через камеру мобильника, которая автоматически переводит непонятные иероглифы на русский,?- это опять CVC.

К сожалению, многие из придуманных мною применений пока из области фантастики. Мы пока толком не умеем искать ни видео, ни простые изображения, плохо управляем знаниями, плохо чувствуем контекст и значительную часть своей жизни находимся офлайн. Банальный, казалось бы, пример про муравья подразумевает сложнейшую техническую реализацию. По-хорошему, телефон должен увидеть муравья и предположить, что пользователю интересен именно муравей, а не, скажем, маленькая веточка такого же размера (с распознаванием у нас пока тоскливо, но что-то умеем - номера на машинах, например, различать). Затем телефон должен отослать предварительное изображение на поисковый сервер (технических препятствий почти нет), который сравнит изображение муравья с имеющимися в базе (а мы, повторюсь, пока не знаем, что это именно муравей - для нас это просто интересный живой объект), поймет, что это муравей, и не просто муравей, а Camponotus herculeanus (не умеем), и выдаст в ответ не набор бессмысленных ссылок, а точную краткую характеристику объекта (умеем, но плохо). Или, к примеру, историческое здание на экране мобильника, увешанное комментариями и пояснениями, как популярная фотография на Flickr, - чтобы точно определить, что это за здание, нужно уметь работать с контекстом (вряд ли оптика мобильника способна уместить все здание целиком; анализировать, скорее всего, придется произвольный кусок стены), уметь искать по изображениям и видео и, конечно, уметь выводить всю эту информацию на экран так, чтобы от здания тоже что-нибудь осталось (умеем, но плохо). Самое главное, что мы не умеем постоянно быть в Сети, хотя на этом фронте перспективы вполне радужные - не сегодня, так завтра, не три "же", так четыре. Что касается остальных наших неумений, то в Intel полагают, что работоспособный видеопоиск появится в 2010 году, технология "живых субтитров" - не ранее 2012 года, а технология 2D/3D-оверлеев, когда, скажем, перевод вывески появляется не рядом с ней, а замещает собой часть оригинального изображения, - не ранее 2014 года[Про работу с контекстом см. "Препроцессинг 1" ("КТ" #751).].

Хорошие новости для Intel заключаются в том, что активная работа с 3D- и видеоконтентом, а также постоянное подключение к Сети потребуют значительных вложений как от потребителей, так и от компаний, собирающихся предоставлять подобные сервисы. Чтобы CVC работала как по маслу, серверы должны быть в десять раз мощнее, чем сегодня, терминалы должны обладать втрое более мощными центральными процессорами и в двадцать раз более мощными графическими процессорами (причем под терминалами здесь понимаются не мобильные телефоны, а ноутбуки и настольные компьютеры), а пропускная способность Сети должна вырасти в сотни раз (впрочем, это, скорее, сравнение "жадности" тех или иных приложений, нежели прогноз на будущее, но некоторое представление о перспективах дает). В общем, если CVC действительно пойдет в народ, то Intel еще долго не придется беспокоиться о выращивании новых рынков - дай бог, хотя бы частично обслужить новый класс потребностей.

Приводя примеры, я сосредоточился на описании картографических и переводческих сервисов и почти ничего не написал о возможном развитии виртуальных миров. Дело в том, что я не очень понимаю, что с ними может произойти, хотя в концепции CVC Visual занимает не подчиненную, а равноправную позицию по отношению к Connected и Computing. И Intel на меня как на потребителя не очень-то рассчитывает. Прогнозируя рост количества пользователей виртуальных миров до одного миллиарда человек в течение ближайших десяти лет, Intel делает ставку на тех, кто уже активно живет в таких мирах, а именно на пользователей от четырех до двенадцати лет - а таких в виртуальных мирах больше половины. Распиаренный SecondLife со своими 14 млн. аккаунтов заметно уступает таким откровенно детским сервисам, как Habo (90 миллионов), Neopets (45 миллионов) и IMVU (20 миллионов). И, по большому счету, это на них, а не нас с вами рассчитан представленный еще в прошлом году 80-ядерный исследовательский чип производительностью 1 терафлопс. Нам же, когда они подрастут, останется только брюзжать: мол, в наше время любому приличному человеку двух ядер за глаза хватало.

И спокойная старость

Что же произойдет с нами? Мы с вами состаримся и умрем. Но не сразу. Точнее, состаримся-то мы довольно быстро. А вот дальше начнем тянуть резину, что создаст дополнительную нагрузку не только на пенсионные фонды, но и на подрастающее поколение. Если динамика рождаемости в развитых странах останется на нынешнем уровне, то заботиться о стариках будет, по большому счету, некому. Собственно, и работать тоже будет особо некому, причем перенос производств в Юго-Восточную Азию и даже поощрение миграции проблемы не решит: практика показывает, что накоплений, сделанных пенсионными фондами, традиционно не хватает, так что приходится занимать немножко у следующего поколения. Рождаемость меж тем падает, а продолжительность жизни растет. В общем, стандартный набор аргументов, который в нашей стране используется обычно для лоббирования повышения социальных налогов и рождаемости, выступавший на IDF Родни Брукс применил для пропаганды роботов. Дескать, других альтернатив он не видит.

Брукс, вообще говоря, примечательная личность. Он одновременно и исследователь, и успешный бизнесмен. Закончил Стэнфорд, занимался в МТИ исследованиями в области ИИ, основал компанию iRobot (которая известна прежде всего роботом-пылесосом Roomba, но выпускает и другие виды роботов, а недавно получила двухсотмиллионный заказ от "американской военщины") и параллельно работал над созданием некоммерческих моделей: Кога (ему суждено было стать первым роботом, который будет сравним по интеллекту с шестимесячным ребенком) и Кисмета (на этой модели исследовалась эмоциональная составляющая). Про Кога и Кисмета можно прочесть чуть ли не в любой публикации, посвященной Бруксу, однако обе разработки уже давно не слишком актуальны, и как минимум первая всех возложенных на нее надежд не оправдала, хотя, безусловно, опыт, полученный Бруксом в девяностых, очень пригодился ему в 2000-х, когда задачи стали формулироваться четче и скромнее.

Надо сказать, что Брукс (несмотря на очевидный, продолжающийся как минимум с семидесятых, отраслевой "затык" по части создания ИИ) не только не растерял оптимизма, но еще сильнее уверился в том, что никаких непреодолимых преград, мешающих создать роботов, обладающих интеллектом и свободой воли, не существует. Если рассматривать человека как очень сложный белковый механизм, то что, в принципе, может помешать нам построить реплику из небелковых компонентов? Впрочем, таких сложных философских материй, как наличие у человека свободы воли или, скажем, души, Брукс предпочитает не касаться. Он, вслед за Дэниэлом Деннеттом, утверждает, что люди - это всего лишь машины из мяса, а если машина из мяса не может создать свою электронную реплику, то дело тут скорее не в теоретических ограничениях, а в недостатке знаний и умений. Однако теория теорией, но Брукс начал ставить перед собой более достижимые цели.

Последняя его разработка, Domo, примечательна тем, что умеет брать из руки испытателя бутылку и аккуратно ставить ее на полку[Звучит просто, однако, на самом деле, задача не такая уж легкая: Domo должен найти взглядом бутылку, взять ее из рук испытателя, переложить из правой руки в левую, найти взглядом полку и поставить бутылку на полку. Учитывая, что габариты бутылки и месторасположение человека и полки менялись, не так уж и просто получается. Подробнее см. Edsinger, Kemp "Manipulations in Human Environments", 2006, и их же "Human-robot interaction for cooperative manipulation", 2007.]. Неожиданно выяснилось, что задача взаимодействия робота и человека, во-первых, достаточно сложна и интересна; во-вторых, востребована; а в-третьих - гораздо четче сформулирована, нежели увлекательные, но заведомо обреченные на неудачу попытки собрать на коленке хоть какое-то подобие человеческого интеллекта. Чтобы Domo мог оказывать помощь по хозяйству, свободно передвигаться по квартире и хотя бы узнавать своего хозяина, поддерживая с ним зрительный контакт, искусственный интеллект необязателен - а вот естественный интеллект Бруксу и его аспирантам приходится задействовать на полную катушку. Что же касается человекоподобных роботов на производстве, то и там электронные эйнштейны не нужны. Хотя даже не самых сообразительных домашних роботов по Бруксу мы пока делать не умеем: такие роботы должны распознавать объекты как двухлетний ребенок (прочерк), владеть речью как четырехлетний ребенок (прочерк), работать с объектами реального мира как шестилетний ребенок (прочерк) и обладать социальными навыками на уровне восьмилетнего (тоже прочерк). Искусственный интеллект в полном смысле этого слова здесь не нужен, но подтянуть нынешних роботов до такого уровня - тоже задача не из легких. Однако и награда, если верить Бруксу, несоразмерно велика: по его словам, сегодня индустрия роботов сравнима с бизнесом персональных компьютеров в 1981 году и имеет такие же, если не лучшие, шансы на развитие. Как персональный компьютер изменил жизнь офисного клерка (или "человека, работающего с информацией"), так промышленные и домашние роботы изменят нашу жизнь и наше понимание того, чем должен заниматься человек, а чем нет. В общем, мы сейчас на пороге очередной технологической революции, которая принесет революционерам миллиарды, если не сказать больше. Какое отношение ко всему этому имеет Intel? Да очень простое. Каждому уважающему себя роботу нужен как минимум один мобильный компьютер, а если роботы действительно станут неотълемлемой частью нашей жизни, то таким рынком разбрасываться нельзя.

Так, доктор Брукс совершил прыжок от пылесоса к нянечке, изящно обойдя скользкую тему искусственного интеллекта. Причем успехи Domo так вдохновили Брукса, что его лекция на IDF оказалась последним публичным выступлением ученого в качестве технического директора компании iRobot. В начале сентября он покинул пост CTO в iRobot и лабораторию в МТИ, чтобы уделить как можно больше внимания своему новому детищу: Heartland Robotics. Компания займется созданием промышленных роботов, которые перевернут наши представления о производстве. А там и до нянечек недалеко.