Совместимость. Как контролировать искусственный интеллект - Стюарт Рассел
Шрифт:
Интервал:
Закладка:
Глубокое обучение в его сегодняшнем состоянии можно рассматривать как аналог чувствительной коры нашего головного мозга — зрительной или слуховой коры. Конечно, настоящий интеллект далеко не сводится к этому, его нужно перекомпоновать в рассуждение более высокого уровня и символическое рассуждение, с чем классический ИИ пытался разобраться в 1980-х гг.
…Мы бы хотели, чтобы эти системы доросли до символического уровня рассуждения — математики, речи и логики. Это очень важная часть нашей работы.
Итак, вот важнейшие уроки первых 30 лет исследования ИИ: программе, которая знает что-то, в любом практическом смысле, нужна способность репрезентации и рассуждения, по меньшей мере сопоставимая с той, что предлагается логикой первого порядка. На данный момент мы не знаем, какую именно форму примет эта способность. Возможно, она будет встроена в системы вероятностного рассуждения, в системы глубоко обучения или в гибридную схему, которую еще предстоит изобрести.
Если логика создает общий фундамент для рассуждения на основе точного знания, то теория вероятности охватывает рассуждения на основе неопределенной информации (частным случаем которой является точное знание). Неопределенность — нормальная эпистемологическая ситуация для агента в реальном мире. Хотя основные идеи теории вероятности были разработаны в XVII в., лишь недавно появилась возможность формальным образом создавать и обрабатывать большие вероятностные модели.
Основы теории вероятности
Теория вероятности имеет общую с логикой мысль о существовании возможных миров. Обычно начинают с определения того, что это за миры. Например, если я бросаю обычную шестигранную игральную кость, то имею шесть миров (иногда их называют результатами): 1, 2, 3, 4, 5, 6. Выпадет из них только один, но я заранее не знаю, какой именно. Теория вероятности предполагает, что можно присвоить вероятность каждому миру; в случае моей игральной кости я приписываю каждому миру вероятность 1/6. (Эти вероятности оказались равны, но так бывает не всегда; единственное требование — чтобы в сумме они составляли 1.) Теперь я могу спросить, например: «Какова вероятность того, что выпадет четное число?» Чтобы это узнать, я просто складываю вероятности трех миров, для которых число является четным: 1/6 + 1/6 + 1/6 = ½.
Очевиден также учет новых данных. Допустим, оракул говорит мне, что выпадет простое число (то есть 2, 3 или 5). Это исключает миры 1, 4 и 6. Я просто беру вероятности, соответствующие оставшимся возможным мирам, и пропорционально увеличиваю их так, чтобы сумма осталась равной 1. Теперь вероятность выпадения 2, 3 и 5 составляет в каждом случае 1/3, а вероятность, что мой бросок принесет четное число, становится всего 1/3, поскольку осталось лишь одно четное число, 2. Процесс обновления вероятностей с появлением новых данных является примером Байесова обновления.
Похоже, в вероятностях нет ничего сложного! Даже компьютер может складывать числа, в чем же проблема? Проблема возникает, если миров больше нескольких штук. Например, если я бросаю кость 100 раз, это дает 6100 результатов. Немыслимо начинать процесс вероятностного рассуждения, присваивая номер каждому из них в отдельности. Подсказкой, как работать с этой сложностью, служит тот факт, что броски кости являются независимыми, если известно, что кость правильная, а именно — результат каждого броска не влияет на вероятность результатов любого другого броска. Таким образом, независимость помогает структурировать вероятности сложной совокупности событий.
Допустим, я играю в настольную игру «Монополия» со своим сыном Джорджем. Моя фишка попадает на «Посещение», а Джорджу принадлежит желтый набор, имущество которого находится в 16, 17 и 19 полях от «Посещения». Следует ли ему купить дома для желтого набора сейчас, чтобы мне пришлось платить ему завышенную арендную плату в случае попадания на эти поля, или лучше подождать следующего круга? Это зависит от вероятности выпадения поля из желтого набора в нынешнем круге.
Вот правила бросания костей в «Монополии»: выбрасываются две кости, и фишка передвигается в соответствии с выпавшей суммой; при выпадении дублей игрок снова бросает кости и делает ход; если вторично выпадают дубли, игрок бросает кости и ходит в третий раз (однако, если и третий бросок оказывается дублем, игрок отправляется в тюрьму). Итак, я могу выбросить, скажем, 4–4, затем 5–4, всего 17, или 2–2, затем 2–2, затем 6–2, всего 16. Как и прежде, я просто складываю вероятности всех миров, в которых попадаю на желтое. К сожалению, таких миров много. В общей сложности, можно выбросить до шести костей, и миры исчисляются тысячами. Более того, броски уже не независимы, поскольку второго броска не будет, если первый не окажется дублем. В то же время если зафиксировать ценность первой пары костей, то ценность второй пары будет независимой. Можно ли учесть подобную зависимость?
Байесовы сети
В начале 1980-х гг. Джуда Перл предложил формальный язык под названием Байесовы сети, который позволяет во многих ситуациях реального мира отображать вероятность очень большого числа результатов в очень сжатой форме[353].
На рис. 18 представлена Байесова сеть, описывающая бросание костей в «Монополии». Единственные вероятности, которые нужно подставить, это равные 1/6 вероятности выпадения значений 1, 2, 3, 4, 5, 6 в отдельных бросках кости (D1, D2 и т. д.), а именно — 36 номеров вместо нескольких тысяч. Для объяснения точных значений сети нужна кое-какая математика[354], но основная мысль состоит в том, что стрелки обозначают отношения зависимости — например, значение Дубли12 зависит от значений D1 и D2. Аналогично значения D3 и D4 (следующий бросок двух костей) зависят от Дубли12, потому что если Дубли12 имеет значение ложно, то D3 и D4 равны 0 (то есть отсутствию следующего хода).
Как и в случае пропозиционной логики, существуют алгоритмы, способные ответить на любой вопрос по любой Байесовой сети, для которой имеются данные. Например, мы можем спросить, какова вероятность попадания на желтое, которая, оказывается, составляет около 3,88 %. (Это значит, что Джордж может подождать, прежде чем покупать дома для желтого набора.) Мы можем задать чуть более амбициозный вопрос о вероятности события Попадание на желтое при условии, что при втором броске выпадает дубль 3. Алгоритм самостоятельно устанавливает, что в этом случае первый бросок должен принести дубль, и приходит к выводу, что ответ — около 36,1 %. Это пример Байесова обновления: когда добавляется новое свидетельство (что результат второго броска — дубль 3), вероятность Попадания на желтое меняется с 3,88 % до 36,1 %. Аналогично вероятность того, что я буду бросать кости трижды (Дубли34 истинно), составляет 2,78 %, тогда как вероятность трех моих бросков при условии, что я попаду на желтое, — 20,44 %.