Охота на электроовец. Большая книга искусственного интеллекта. Страница 97
Ни одна созданная до настоящего времени интегральная микросхема не может похвастаться таким количеством транзисторов. Действующий рекорд среди серийных микропроцессоров принадлежит GPU (graphics processing unit, графический процессор, в просторечии «видеокарта») от Nvidia под названием H100 — он содержит 80 млрд транзисторов [877] (8,00 × 1010) [878] , самая большая серийная программируемая вентильная матрица (FPGA) — Xilinx Virtex UltraScale+ VU19P — состоит из 32 млрд транзисторов [879] (3,2 × 1010).
Впрочем, электроника имеет серьёзное преимущество в скорости. Продолжительность нервных импульсов в мозге составляет примерно 1–2 мс [880] , и данные современной нейрофизиологии не позволяют нам утверждать, что рабочая частота мозга может превышать порог в 1 кГц, в то время как электронике доступны частоты, приближающиеся к 9 ГГц. Впрочем, самый «шустрый» процессор AMD FX-8150, работающий на частоте 8,81 ГГц, содержит всего 1,2 млрд транзисторов, в то время как частота H100 составляет скромные 1590 МГц по умолчанию и 1,98 ГГц при разгоне. Вентильная матрица Virtex UltraScale+ VU19P и вовсе предназначена для работы на частоте около 900 МГц (если исходить из величины Maximum frequency of a global clock tree [881] в документации [882] ). Перемножив частоту каждого устройства на количество транзисторов, получим теоретический предел производительности в битах в секунду. Для мозга он, по нашим подсчётам, составляет порядка 1021 бит/с, а для микропроцессоров — не более 1,58 × 1020 бит/с. Таким образом, даже при крайне консервативной оценке вычислительной мощности отдельного синапса мы видим, что мозг превосходит микропроцессоры по своей «брутто-производительности» примерно на один десятичный порядок.
Конечно, сравнение это является сугубо приблизительным и основано на ряде серьёзных допущений. И всё-таки оно даёт представление о «грубой силе» человеческого мозга. Ещё более печальным для электроники сравнение становится после оценки энергоэффективности вычислений. Мозг, несмотря на свою фантастическую производительность, потребляет всего около 20 Вт, в то время как энергопотребление самых быстрых процессоров доходит до 400 Вт.
В этом месте читатель может воскликнуть: «Где же мои деньги?!» В смысле: почему же я не могу мгновенно перемножать в уме тридцатизначные числа и вытворять другие фокусы, которые так легко даются компьютерам? Ответ довольно прост: мозг не слишком приспособлен для того, чтобы выполнять сознательное умножение чисел; выполняя такую задачу, мы используем возможности нашей «аппаратной платформы» крайне неэффективно. В то же время, выполняя, скажем, задачу распознавания лица человека, мозг за доли секунды производит сложную обработку сигналов, поступающих от зрительных рецепторов. Математическим эквивалентом этой операции являются сложение и умножение больших наборов числовых коэффициентов, и мозг успешно справляется с этой задачей бессознательно, втайне от нас самих.
3.7 Го — новая цель
Заниматься игрой в го является намного лучшим делом, чем предаваться целый день праздности и угощению рисом.
Го — игра, которая на протяжении многих лет исполняла роль своеобразного философского камня в области искусственного интеллекта. Число возможных позиций в го (при размере доски 19 × 19) составляет [883] порядка 2 × 10170, а число различных партий оценивается [884] и вовсе в циклопическое число 10360. Если в среднестатистической шахматной позиции возможно 35 потенциальных ходов, то в го это число — 250, то есть больше почти на порядок. Таким образом, кремниевый блок для хранения сильного решения игры го, созданный по технологии, рассмотренной в прошлой главе, был бы примерно в 3 × 1091 раза тяжелее, чем всё обычное вещество нашей Вселенной, так что от затеи по строительству подобного устройства, по всей видимости, придётся отказаться.

Совершенно очевидно, что переборные алгоритмы для игры в го должны обладать чрезвычайной селективностью, то есть рассматривать лишь очень малое подмножество возможных альтернатив. Попытка создания моделей, обладающих подобной разборчивостью, долгое время оборачивалась неизменным фиаско. Если в шахматах оценка позиции на основе формализованных людьми правил позволила худо-бедно оценивать позиции с достаточным качеством, чтобы быстрый перебор компенсировал недостатки подобной оценки, то в го оценка была куда хуже формализуемой, а перебор куда более беспомощным в силу быстрого ветвления игрового дерева. Действительно, для оценки позиции в го довольно трудно придумать точные правила, задача оценки позиции в го похожа на задачу распознавания образов, а для этой задачи на протяжении многих лет также не было удовлетворительного решения.
В 1965 г. британский математик, коллега Тьюринга по Блетчли-парку Ай Джей Гуд писал: «Го на компьютере? — Чтобы запрограммировать компьютер для разумной игры в го, а не просто для игры в соответствии с правилами, необходимо формализовать стратегические принципы игры или разработать самообучающуюся программу. [Стратегические] принципы [го] более качественны и загадочны, чем в шахматах, и более субъективны. Поэтому я думаю, что будет гораздо сложнее запрограммировать компьютер для игры в го, чем в шахматы» [885] .
До 2015 г. программы играли в го в лучшем случае на любительском уровне. В варианте игры на доске 9 × 9 машины демонстрировали более впечатляющие результаты, некоторым программам удалось выиграть на маленькой доске некоторое количество игр против профессиональных игроков [886] . Находились исследователи, которые утверждали, что компьютеры никогда не смогут победить сильнейших игроков в го [887] .
Первая программа для игры в го была написана Альбертом Зобристом в 1968 г. как часть диссертации, посвящённой распознаванию образов. Зобрист ввёл функцию влияния для оценки территории и использовал хеш-функцию, названную позже его именем, для обнаружения «ко» (правило ко — одно из правил игры го, согласно которому запрещено делать ход, если он приводит к повторению позиции, существовавшей на доске за один ход до этого; в различных вариантах правил го точная формулировка и интерпретация правила ко может различаться). Кстати говоря, хеш-функция Зобриста и по сей день используется в шахматных программах для создания хеш-таблиц перестановок/опровержений, быстрого поиска повторения позиции, поиска позиции в дебютной библиотеке и многих других задач.
В апреле 1981 г. Джонатан Миллен опубликовал [888] в журнале Byte статью, посвящённую Wally, программе для игры в го на доске 15 × 15, которая помещалась в один килобайт оперативной памяти микрокомпьютера KIM-1. В ноябре 1984 г. Брюс Уэбстер опубликовал [889] листинг собственной программы для игры в го на языке MacFORTH для компьютера Apple Macintosh.
Первым оставившим след в истории турниром по компьютерному го стал Acornsoft Computer Go Tournament, прошедший в Лондоне в марте 1984 г. при участии Британской ассоциации го (British Go Association). Все программы-участники использовали популярные микрокомпьютеры BBC Micro и вариант игры с доской 13 × 13. Победителем стала программа, созданная Брониславом Пшибылой [890] , [891] . Сегодня она известна под названием Acornsoft Go и доступна для игры в онлайн-эмуляторе BBC Micro [892] .