ЖАНРЫ

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

Среднестатистический человеческий мозг состоит из примерно 86 млрд нервных клеток — нейронов [869] . Соединения нейронов называются синапсами, их количество в человеческом мозге меняется в течение жизни человека и в пике составляет порядка одного квадриллиона (1015) [870] , [871] . Каждый синапс представляет собой сложный электрохимический механизм, который может содержать порядка тысячи переключателей молекулярного размера [872] . В месте контакта между нейронами содержится крошечный зазор, который называют синаптической щелью. В этот зазор могут проникать молекулы веществ, называемых нейромедиаторами. В зависимости от набора молекул, оказавшихся в синаптической щели, меняются параметры передачи электрических сигналов между нейронами. Вообще говоря, для достаточно точного моделирования массива из 30 000 синапсов сегодня требуется от 30 до 400 Мб памяти, что даёт нам оценку примерно от 8400 до 112 000 битов на синапс [873] , но мы возьмём консервативную оценку в тысячу транзисторов на синапс. К сожалению, мы не знаем, с какой точностью нужно моделировать синапсы нейронов, чтобы построенная из таких нейронов сеть смогла эффективно воспроизводить наблюдаемые у людей психические феномены. Как метко выразился ещё Тьюринг: «Нас не интересует, что мозг имеет консистенцию холодной каши», то есть нас интересуют не свойства субстрата, а вычислительные возможности биологической «машины». Последними экспериментами установлено, что для достижения 99% точности при моделировании поведения биологического нейрона на миллисекундном масштабе необходимо около тысячи искусственных нейронов, и хотя обычно реализация одного синапса искусственного нейрона требует более чем одного транзистора, мы можем хотя бы приблизительно оценить «производительность» отдельного биологического синапса [874] , [875] , [876] . Умножив квадриллион синапсов на тысячу транзисторов, получим «транзисторный эквивалент» мозга, равный одному квинтиллиону (1018) условных транзисторов.

869

Azevedo F. A., Carvalho L. R., Grinberg L. T., Farfel J. M., Ferretti R. E., Leite R. E. P., Filho W. J., Lent R., Herculano-Houzel S. (2009). Equal numbers of neuronal and nonneuronal cells make the human brain an isometrically scaled-up primate brain / Journal of Comparative Neurology. Vol. 513(5), pp. 532—541 // https://www.ncbi.nlm.nih.gov/pubmed/19226510/

870

Dresbach T., Qualmann B., Kessels M. M., Garner C. C., Gundelfinger E. D. (2001). The presynaptic cytomatrix of brain synapses / Cellular and Molecular Life Sciences, Vol. 58, pp. 94—116 // https://doi.org/10.1007/PL00000781

871

Donald C. Cooper (2014). Introduction to Neuroscience. CU Neuroscience Series // https://books.google.ru/books?id=jXnkai44PxYC

872

Goldman B. (2010). New imaging method developed at Stanford reveals stunning details of brain connections // https://med.stanford.edu/news/all-news/2010/11/new-imaging-method-developed-at-stanford-reveals-stunning-details-of-brain-connections.html

873

Hu E. Y., Yu G., Song D., Bouteiller C. J., Berger W. T. (2018). Modeling Nonlinear Synaptic Dynamics: A Laguerre-Volterra Network Framework for Improved Computational Efficiency in Large Scale Simulations. Conference proceedings: Annual International Conference of the IEEE Engineering in Medicine and Biology Society. IEEE Engineering in Medicine and Biology Society. Annual Conference, 64 (2), pp. 6129—6132 // http://europepmc.org/articles/PMC6462142

874

Beniaguev D., Segev I., London M. (2021). Single cortical neurons as deep artificial neural networks / Neuron, Vol. 109, Iss. 17, pp. 2727—2739.e3 // https://doi.org/10.1016/j.neuron.2021.07.002

875

Whitten A. (2021). How Computationally Complex Is a Single Neuron? / Quanta Magazine, September 2, 2021 // https://www.quantamagazine.org/how-computationally-complex-is-a-single-neuron-20210902

876

Уиттен Э. (2021). Насколько сложной должна быть компьютерная модель одного нейрона? / Пер. с англ. Горлова А // https://22century.ru/popular-science-publications/a-single-neuron-is-very-complex

Ни одна созданная до настоящего времени интегральная микросхема не может похвастаться таким количеством транзисторов. Действующий рекорд среди серийных микропроцессоров принадлежит GPU (graphics processing unit, графический процессор, в просторечии «видеокарта») от Nvidia под названием H100 — он содержит 80 млрд транзисторов [877] (8,00 x 1010) [878] , самая большая серийная программируемая вентильная матрица (FPGA) — Xilinx Virtex UltraScale+ VU19P — состоит из 32 млрд транзисторов [879] (3,2 x 1010).

877

NVIDIA H100 SXM5 80 GB (2023). / TechPowerUp // https://www.techpowerup.com/gpu-specs/h100-sxm5-80-gb.c3900

878

* Скорее всего, этот показатель будет немного улучшен с выходом GPU семейства Hopper-Next от Nvidia в 2024 году.

879

Creating Tomorrow’s Next-Generation Technologies Today // https://forums.xilinx.com/t5/Xilinx-Xclusive-Blog/Creating-Tomorrow-s-Next-Generation-Technologies-Today/ba-p/1156382

Впрочем, электроника имеет серьёзное преимущество в скорости. Продолжительность нервных импульсов в мозге составляет примерно 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 x 1020 бит/с. Таким образом, даже при крайне консервативной оценке вычислительной мощности отдельного синапса мы видим, что мозг превосходит микропроцессоры по своей «брутто-производительности» примерно на один десятичный порядок.

880

Gerstner W., Kistler W. (2002). Spiking Neuron Models: Single Neurons, Populations, Plasticity. Cambridge University Press // https://books.google.ru/books?id=Rs4oc7HfxIUC

881

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

882

Virtex UltraScale+ FPGA Data Sheet: DC and AC Switching Characteristics // https://www.xilinx.com/support/documentation/data_sheets/ds923-virtex-ultrascale-plus.pdf

Конечно, сравнение это является сугубо приблизительным и основано на ряде серьёзных допущений. И всё-таки оно даёт представление о «грубой силе» человеческого мозга. Ещё более печальным для электроники сравнение становится после оценки энергоэффективности вычислений. Мозг, несмотря на свою фантастическую производительность, потребляет всего около 20 Вт, в то время как энергопотребление самых быстрых процессоров доходит до 400 Вт.

В этом месте читатель может воскликнуть: «Где же мои деньги?!» В смысле: почему же я не могу мгновенно перемножать в уме тридцатизначные числа и вытворять другие фокусы, которые так легко даются компьютерам? Ответ довольно прост: мозг не слишком приспособлен для того, чтобы выполнять сознательное умножение чисел; выполняя такую задачу, мы используем возможности нашей «аппаратной платформы» крайне неэффективно. В то же время, выполняя, скажем, задачу распознавания лица человека, мозг за доли секунды производит сложную обработку сигналов, поступающих от зрительных рецепторов. Математическим эквивалентом этой операции являются сложение и умножение больших наборов числовых коэффициентов, и мозг успешно справляется с этой задачей бессознательно, втайне от нас самих.

3.7 Го — новая цель

Заниматься игрой в го является намного лучшим делом, чем предаваться целый день праздности и угощению рисом.

Конфуций. Суждения и беседы

Го — игра, которая на протяжении многих лет исполняла роль своеобразного философского камня в области искусственного интеллекта. Число возможных позиций в го (при размере доски 19 x 19) составляет [883] порядка 2 x 10170, а число различных партий оценивается [884] и вовсе в циклопическое число 10360. Если в среднестатистической шахматной позиции возможно 35 потенциальных ходов, то в го это число — 250, то есть больше почти на порядок. Таким образом, кремниевый блок для хранения сильного решения игры го, созданный по технологии, рассмотренной в прошлой главе, был бы примерно в 3 x 1091 раза тяжелее, чем всё обычное вещество нашей Вселенной, так что от затеи по строительству подобного устройства, по всей видимости, придётся отказаться.

883

John Tromp (2016). Number of legal Go positions // https://tromp.github.io/go/legal.html

884

Allis V. (1994). Searching for Solutions in Games and Artificial Intelligence (Ph. D. thesis). University of Limburg, Maastricht, The Netherlands // https://project.dke.maastrichtuniversity.nl/games/files/phd/SearchingForSolutions.pdf

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

В 1965 г. британский математик, коллега Тьюринга по Блетчли-парку Ай Джей Гуд писал: «Го на компьютере? — Чтобы запрограммировать компьютер для разумной игры в го, а не просто для игры в соответствии с правилами, необходимо формализовать стратегические принципы игры или разработать самообучающуюся программу. [Стратегические] принципы [го] более качественны и загадочны, чем в шахматах, и более субъективны. Поэтому я думаю, что будет гораздо сложнее запрограммировать компьютер для игры в го, чем в шахматы» [885] .

885

Good I. J. (1965). The Mystery of Go / New Scientist, 21 January // http://www.chilton-computing.org.uk/acl/literature/reports/p019.htm

До 2015 г. программы играли в го в лучшем случае на любительском уровне. В варианте игры на доске 9 x 9 машины демонстрировали более впечатляющие результаты, некоторым программам удалось выиграть на маленькой доске некоторое количество игр против профессиональных игроков [886] . Находились исследователи, которые утверждали, что компьютеры никогда не смогут победить сильнейших игроков в го [887] .

Первая программа для игры в го была написана Альбертом Зобристом в 1968 г. как часть диссертации, посвящённой распознаванию образов. Зобрист ввёл функцию влияния для оценки территории и использовал хеш-функцию, названную позже его именем, для обнаружения «ко» (правило ко — одно из правил игры го, согласно которому запрещено делать ход, если он приводит к повторению позиции, существовавшей на доске за один ход до этого; в различных вариантах правил го точная формулировка и интерпретация правила ко может различаться). Кстати говоря, хеш-функция Зобриста и по сей день используется в шахматных программах для создания хеш-таблиц перестановок/опровержений, быстрого поиска повторения позиции, поиска позиции в дебютной библиотеке и многих других задач.

886

Wedd N. (2016). Human-Computer Go Challenges / computer-go.info // http://www.computer-go.info/h-c/index.html

887

Cho A. (2016). ‘Huge leap forward’: Computer that mimics human brain beats professional at game of Go / Science // https://www.sciencemag.org/news/2016/01/huge-leap-forward-computer-mimics-human-brain-beats-professional-game-go

В апреле 1981 г. Джонатан Миллен опубликовал [888] в журнале Byte статью, посвящённую Wally, программе для игры в го на доске 15 x 15, которая помещалась в один килобайт оперативной памяти микрокомпьютера KIM-1. В ноябре 1984 г. Брюс Уэбстер опубликовал [889] листинг собственной программы для игры в го на языке MacFORTH для компьютера Apple Macintosh.

Первым оставившим след в истории турниром по компьютерному го стал Acornsoft Computer Go Tournament, прошедший в Лондоне в марте 1984 г. при участии Британской ассоциации го (British Go Association). Все программы-участники использовали популярные микрокомпьютеры BBC Micro и вариант игры с доской 13 x 13. Победителем стала программа, созданная Брониславом Пшибылой [890] , [891] . Сегодня она известна под названием Acornsoft Go и доступна для игры в онлайн-эмуляторе BBC Micro [892] .

888

Millen J. K. (1981). Programming the Game of Go / Byte, April 1981 // https://archive.org/stream/byte-magazine-1981-04/1981_04_BYTE_06-04_Future_Computers#page/n101/mode/2up

889

Webster B. (1984). A Go Board for the Macintosh / Byte, November 1981 // https://archive.org/stream/byte-magazine-1984-11/1984_11_BYTE_09-12_New_Chips#page/n125/mode/2up

890

Macfadyen M. (1984). Computer Go / British Go Journal No. 61. March 1984 // https://www.britgo.org/bgj/06123.html

891

History of Go-playing Programs / Go British Association // https://www.britgo.org/computergo/history

892

Bronislaw Przybyla (1984). Acornsoft Go / Sensei's Library // https://senseis.xmp.net/?AcornsoftGo

К 1980-м гг. также относится первое появление программ для игры в го в турнирах людей. По всей видимости, первым таким случаем стало участие программы Nemesis в турнирах Массачусетского клуба по го.

В 1987 г. тайваньский фонд Ing Foundation спонсировал первый из серии ежегодных турниров по компьютерному го. Победитель каждого из турниров играл партии с форой против «инсэев» (стремящихся стать профессионалами игроков в го, чей уровень игры в среднем соответствует шестому любительскому дану) и, в зависимости от результатов, мог претендовать на дополнительные призы. Размер приза зависел от размера форы, необходимой программе для победы над инсэем. Максимальный приз соответствовал победе без форы и составлял 40 млн тайваньских долларов (более миллиона долларов США). Он так никому и не достался, и спонсорство со стороны Ing Foundation прекратилось после турнира 2001 г., когда были выиграны призы за фору в 11 камней и более [893] .

893

History of Go-playing Programs / Go British Association // https://www.britgo.org/computergo/history

В 1998 г. сильнейшие игроки побеждали компьютерные программы, предоставляя им огромные форы в 25–30 камней. В ходе чемпионата мира по компьютерному го в 1994 г. программа-победитель Go Intellect проиграла все три игры против игроков-юниоров, имея фору в 15 камней [894] . Игроки, понимавшие и использовавшие специфические слабые места программ, могли выигрывать с гораздо большими форами, чем их менее искушённые коллеги.

Развитие методов Монте-Карло для перебора вариантов в игровых деревьях в комбинации с прогрессом в области машинного обучения привело к тому, что лучшие программы достигли высокого уровня на маленькой доске, а в конце нулевых годов появились первые программы, способные достигать и удерживать ранги низкого уровня на сервере KGS Go (популярный онлайн-сервис для игры в го) для доски 19 x 19 [895] .

894

Burmeister J., Wiles J. CS-TR-339 Computer Go Tech Report // https://staff.itee.uq.edu.au/janetw/Computer%20Go/CS-TR-339.html#6.2

895

History of Go-playing Programs / Go British Association // https://www.britgo.org/computergo/history

Поделиться с друзьями: