Интерпретируемость модели

О невозможности объяснения ИИ

…и его последствия.

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

А потом они говорят вам: они собираются сделать Х.

ИКС? Ты спрашиваешь. Хорошо, расскажи мне больше. Почему это хороший выбор? Что заставляет вас рекомендовать это?

О, я не рекомендовал его, говорят они. Модель ИИ сделала это. В основном из-за твоего возраста.

В основном из-за моего возраста? Что это значит? Он более или менее опасен, чем другой в моем возрасте? Более эффективным?

Это означает, что если бы у вас был чуть меньший возраст, модель порекомендовала бы что-то другое, а именно Y.

Такой сценарий может показаться совершенно безумным, но если вы послушаете некоторых разработчиков приложений ИИ для здоровья, то поймете, что это именно то, что они продают. Недавно я слышал, как кто-то из стартапа объяснил, как, поскольку они могут применять возмущения на входе для наблюдения за изменениями на выходе (т.е. анализ чувствительности), тогда их метод был объясним. Их применение было в здоровье. Это точно соответствовало бы описанному выше сценарию, за исключением того, что я сомневаюсь, что врач так легко его принял бы.

Вы, конечно, скажете мне, что это не единственный способ добиться объяснимости. И вы были бы правы, но так ли уж отличаются эти другие методы? Что делает LIME, кроме как выясняет, какие переменные больше всего повлияли на результат? Что делают другие методы, кроме поиска корреляций между входными и выходными характеристиками модели? Разве они не могут сделать лучше?

Боюсь, они не могут.

Объяснения должны быть больше, чем корреляции. Это то, что уже очень давно формализовано в медицине, психологии, философии и многих других дисциплинах. Это то, что было резюмировано в статье несколько лет назад, появившейся из-за разочарования исследователя, работающего над объяснением в компьютерных науках, и видящего, насколько это разочаровывает. Помимо совместного возникновения двух событий (объясняющих и объясняющих), они должны присутствовать в одном и том же контексте и, что более важно, они должны быть фундаментально связаны посредством некоторой теории, которая обосновывает их отношения. Должно быть что-то, указывающее, как одно может механически, химически, психологически, физически быть причиной другого. Эта теория является реальным объяснением. Мы выбираем X, потому что мы верим не только из наблюдений, но и из-за какого-то известного явления Y, что оно становится более эффективным после определенного возраста.

Итак, вот наше первое требование к тому, что должно служить объяснением: оно должно быть больше, чем корреляция. Он должен связать объясняющий компонент с объясняемым на каком-то теоретическом уровне. Это также то, где у нас есть наша первая проблема. Также разумно потребовать, чтобы объяснение действительно объясняло, как модель приняла решение. Он должен объяснять, что делает модель. Это должно объяснить основную логику. Это может показаться очевидным, но когда дело доходит до объяснения ИИ, это не так. Это в основном потому, что то, что они делают, на самом деле довольно глупо.

Если мы сосредоточимся на подходах к машинному обучению, которые не являются прозрачными по своей сути, таких как нейронные сети, то корреляции — это все, к чему они имеют доступ. Они находят в данных любой сигнал, который может показать отношения между переменными, и используют их для принятия решений. Однако реальный характер этих отношений совершенно не играет роли. Оно полностью внешнее, и есть много примеров, показывающих, что если бы мы, с нашими собственными знаниями, внимательно посмотрели на них, то увидели бы, что они на самом деле не отражают надежного способа создания решения. Они идут коротким путем. Они используют совпадения. У них нет основания. Мы все видели примеры ложных корреляций, подобных приведенному ниже. Нейронная сеть не может отличить это от действительной причинно-следственной связи. Мы можем, потому что знаем, что между этими двумя вещами нет ничего общего, но это знание внешнее. Следовательно, попытка использовать такое внешнее знание для объяснения поведения модели может помочь, но будет противоречиво, поскольку сама модель не имеет к нему доступа. Это не объясняет решение модели. Это не объяснило бы его логику. Это просто рационализировало бы его из внешнего знания.

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

Подводя итог, можно сказать, что рассмотренные выше три требования кажутся вполне разумными, особенно в тех сценариях, которые были включены в начале. Это:

  1. Объяснение должно быть больше, чем корреляция.
  2. Объяснение должно отражать то, как модель фактически приходит к выводу.
  3. Объяснение должно быть понятно людям, затронутым принятым решением.

Требования 1 и 2 противоречат друг другу главным образом потому, что ИИ, требующие объяснений, полагаются на корреляции и должны иметь доступ к внешним знаниям, чтобы их можно было объяснить. Требования 2 и 3 противоречат друг другу главным образом потому, что для понятного объяснения результатов очень сложных моделей нам пришлось бы упростить то, что на самом деле происходит в модели.

Так что объяснимость ИИ просто невозможна. Должны ли мы тогда отказаться от этого и признать, что ИИ навсегда останется неясным (и, следовательно, ненадежным и ненадежным)? Должны ли мы вообще отказаться от той формы ИИ, которая требует объяснений? Возможно, нет.

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

Некоторые пункты здесь были развиты в книжной главе ранее. Ознакомьтесь с другими статьями, в которых обсуждаются общие аспекты ИИ, например: