
Полная версия
Искусственный интеллект от А до Б

Денис Соломатин
Искусственный «интеллект» от А до Б.
Введение.
Основательное знакомство автора с технологиями искусственного интеллекта (ИИ) началось со вполне осязаемого желания автоматизировать рабочую рутину. В частности, для автоматизации учета студенческой посещаемости аудиторных занятий возникла идея использования системы компьютерного зрения с распознаванием образов. Весь собранный из разрозненных интернет-источников материал, необходимый для решения этой и многих других творческих задач, представлен в настоящем обзоре. Затронем психологические, этические и юридические аспекты разработки и применения систем искусственного интеллекта. Охватим исторический период бурного развития соответствующих идей начиная с первых языковых моделей 1950-х годов, когда это еще не было мейнстримом. Приведём серии конкретных примеров простейших реализаций фундаментальных принципов построения нейронных сетей в MATLAB. По прочтении книги прийдет четкое понимание того, как происходит поиск серии любимого сериала по вольному описанию в голосовой колонке, почему ИИ с легкостью докажет рациональность любого числа и тут же не моргнув светодиодом передокажет его иррациональность, а главное, зачем всё это внедряется повсеместно.
Психологические основы интеллекта.
Начнём с азов. А как мы, собственно, понимаем, что мы что-то вдруг понимаем или делаем вид, когда что-либо поняли? Различные объяснения и интерпретации в сфере разработки искусственного интеллекта возникают не на пустом месте. В этой главе мы поймём, что интерпретируемость и объяснимость являются принципиально разными требованиями к системам машинного обучения. Чтобы доказать это, мы выполнили обзор научных публикаций по экспериментальной психологии, относящейся к интерпретации (особенно числовых стимулов) и пониманию. Оказывается, интерпретация относится к способности контекстуализировать выходные данные модели таким образом, чтобы связать их с разработанным функциональным назначением системы, а также целями, ценностями и предпочтениями конечных пользователей. В отличие от этого, объяснение относится к способности точно описать механизм или реализацию, которая привела к данным на выходе алгоритма, часто для того, чтобы алгоритм мог быть улучшен каким-либо образом. Помимо этих определений, наш опыт показывает, что люди отличаются друг от друга систематическими способами, которые влияют на степень, в которой они предпочитают принимать решения, основанные на подробных объяснениях, а не на менее точных интерпретациях. Эти индивидуальные различия, такие как личностные черты и навыки, связаны с их способностью извлекать значимые интерпретации из точных объяснений выходных данных модели. Последнее означает, что вывод системы должен быть адаптирован к различным типам пользователей. Эта глава опирается на научную литературу по информатике, системной инженерии и экспериментальной психологии, чтобы лучше определить концепции интерпретируемости и объяснимости для сложных инженерных систем. Мы уделяем особое внимание системам на основе искусственного интеллекта и машинного обучения (AI/ML).
Зачем же определять интерпретируемость и объяснимость? Мы сосредоточились на этих терминах из-за их актуального значения для внедрения алгоритмов машинного обучения, на что указывает несколько прагматических моментов, требующих алгоритмического вывода для предоставления объяснений или интерпретаций пользователям, которые могут значительно отличаться друг от друга с точки зрения их целей, образования или личностных качеств. Например, в современных экономических реалиях физические и юридические лица, подающие заявки на получение кредита, должны получать уведомления о причинах, по которым кредитор принял неблагоприятные решения по заявке или по существующему кредиту. Активно внедряются системы помощи потребителям и предприятиям путем обеспечения прозрачности процесса вычисления кредитного рейтинга и защиты от потенциальной кредитной дискриминации. Как следствие, возникают требования к кредиторам объяснить причины принятия неблагоприятных мер. Поэтому кредитор должен раскрыть основные причины отклонения заявки или принятия других неблагоприятных мер и точно описывать факторы, которые фактически учитываются или оцениваются кредитором.
Кроме того, желательно, чтобы системы искусственного интеллекта предоставляли людям, о которых собираются данные, право получить разъяснения по поводу решения, принятого после такой оценки, и оспорить это решение.
Параллельно с попытками решить социальные проблемы, крупные международные инвестиционные кампании попытались определить требования к проектированию, которые инженеры и специалисты по информатике могли бы принять, чтобы определить, являются ли их системы интерпретируемыми или объяснимыми. Например, Доши-Велес и Ким определяют интерпретируемость модели как систему машинного обучения, обладающую «способностью объяснять или представлять результат в понятных для человека терминах». Аналогичным образом, Сингх определяет объяснение с помощью ML-модели как «набор визуальных и/или интерактивных артефактов, которые предоставляют пользователю достаточное описание поведения модели для точного выполнения таких задач, как оценка, доверие, прогнозирование или улучшение модели». Гилпин с соавторами утверждают, что хорошее объяснение возникает, когда разработчики моделей или потребители «больше не могут спрашивать почему» в отношении некоторого поведения модели машинного обучения. Наконец, Рудин определяет интерпретируемую модель машинного обучения как модель, которая «ограничена в своей форме таким образом, что она либо полезна для кого-то, либо подчиняется структурным знаниям предметной области, таким как монотонность, причинность, структурные (генеративные) ограничения, аддитивность или физические ограничения, которые проистекают из знаний предметной области». В отличие от этого, она определяет объяснимую модель машинного обучения как «вторую (постфактумную) модель, которая создается для объяснения первой модели черного ящика».
Хотя эти определения определяют интерпретируемость и объяснимость как характеристики моделей машинного обучения, они указывают на важные факторы, которые выходят за рамки традиционного дизайна интеллектуального продукта: понятия простоты, полезности для потребителя, человеческого понимания, причинно-следственного вывода, взаимодействия со знаниями предметной области, контентом и контекстом, а также социальной оценки (например, надежности).
Эти определения, хотя и локализованы для моделей машинного обучения, могут быть продуктивно основаны на десятилетиях исследований по экспериментальной психологии, которая рассматривает интерпретируемость и объяснимость как психологические конструкты. Ключевой вывод заключается в том, что интерпретация и объяснение являются различными психологическими процессами, характеризующимися различными ментальными представлениями. Вопрос о том, можно ли интерпретировать или объяснить результат, зависит от пользователя. Разработчик ИИ в любом случае должен спросить себя: «Объяснимо или интерпретируемо для кого?». Несмотря на то, что термины «интерпретируемость» и «объяснимость» часто используются как взаимозаменяемые, особенно в литературе по информатике, основной тезис заключается в том, что интерпретируемость и объяснимость являются разными понятиями.
Интерпретация относится к способности человека придавать смысл или извлекать смысл из данного стимула (например, выходных данных модели машинного обучения), чтобы человек мог принять решение. Интерпретации – это простые, но содержательные «суть» ментальные представления, которые контекстуализируют стимул и используют фоновые знания человека. Суть – это простое, но продуктивное представление стимула, которое, тем не менее, фиксирует существенные или значимые различия, необходимые пользователям для принятия обоснованных и проницательных решений. Таким образом, интерпретируемая модель должна предоставлять пользователям описание того, что стимул, такой как точка данных или выходные данные модели, означает в контексте. При этом он позволяет человеку достичь понимания, определяя ценности, цели и принципы, которые, в свою очередь, позволяют принимать решения на высоком уровне.
В то время как люди полагаются на простые, неточные сведения для принятия решений, модели машинного обучения полагаются на программные процессы стенограммы для создания прогнозов. Объяснения представляют собой относительно подробные ментальные представления, которые стремятся описать механизмы, лежащие в основе.
Например, исходный обучающий набор данных может содержать записи о почасовом выпадении осадков на ближайшем пляже. Эта обученная модель затем используется для создания прогнозов на основе новых оценочных данных, таких как распределение вероятностей по количеству дождя, которое посетитель пляжа может ожидать в определенный час. Эти прогнозы и другие выходные данные модели затем предоставляются человеку в качестве стимула. Человек кодирует стимул в множество ментальных представлений. Дословное представление представляет собой подробное символическое представление стимула, такое как графическое представление распределения вероятностей по количеству осадков в час. Параллельно с этим люди используют свои базовые знания для кодирования осмысленной интерпретации сути стимула. Например, простой категоричной сутью может быть различие между «практически нет вероятности дождя» и «некоторая вероятность дождя». Кроме того, люди с соответствующими знаниями могут быть в состоянии изучить форму модели, чтобы определить, как она пришла к своему выводу. Например, метеоролог, обладающий знаниями в предметной области, может изучить коэффициенты уравнений временных рядов модели и распознать их как указание на приближающийся холодный фронт. Затем человек принимает решение (например, идти на пляж или нет) на основе комбинации этих представлений. Например, человек, не обладающий техническими знаниями, может посмотреть на стимул и определить, что вероятность дождя практически равна нулю, что заставит его пойти на пляж (поскольку пляж без дождя – это весело, а пляж с небольшим дождем – это не весело, а веселиться – это хорошо). С другой стороны, человек, обладающий знаниями в области метеорологии и науки о данных, может распознать признаки приближающегося холодного фронта и понять, что дождь не является пренебрежимо малой возможностью, что заставит его выбрать другой вид деятельности.
Объяснение результата модели – это описание того, как был получен результат модели. Таким образом, объяснения стремятся описать процесс или правила, которые были применены для достижения результата, не зависящего от контекста. Как правило, объяснения бывают подробными, техническими и могут быть причинно-следственными. Например, объяснение может быть процедурой, описывающей, как модель достигла своего результата. Таким образом, объяснения обычно больше подходят для технических специалистов, которые могут полагаться на обширные базовые знания для выполнения задач отладки.
Хотя они не обязательно являются дословными процессами сами по себе, объяснения, таким образом, ближе к дословным ментальным представлениям, чем интерпретации. В то время как интерпретация стремится придать смысл стимулу, представленному человеку-субъекту, объяснение стремится описать процесс, который породил результат. Таким образом, объяснение выходных данных алгоритма оправдано относительно реализации или технического процесса, который был использован для создания конкретного результата. В отличие от этого, интерпретация оправдана относительно функционального назначения алгоритма.
Пояснения к алгоритмам машинного обучения могут предоставить подробную информацию о том, как алгоритм выполняет известный набор требований. В отличие от этого, интерпретации оправдывают эти реализации с точки зрения функционального назначения системы. Например, целью классификатора метода опорных векторов является сопоставление точек данных с дискретными классами, задача, которая должна быть обоснована с точки зрения полезности классификации для человека, принимающего решения, например, если бы этот классификатор использовался для распределения резюме соискателей по категориям, основанным на заслугах, в процессе собеседования. Затем качество классификации будет оцениваться в соответствии с требованиями этого процесса собеседования – классификатор, который является предвзятым (например, который делает классификации на основе категорий, не основанных на заслугах, таких как возраст, раса, этническая принадлежность и т.д.) или который имеет высокий процент ошибок, будет считаться плохим классификатором, потому что он не соответствует своему функциональному назначению. В отличие от этого, объяснение того, почему было принято то или иное решение о классификации, обычно оправдано по отношению к его реализации. Например, при вопросе о том, каким образом конкретный кандидат на вакансию был классифицирован как «не отвечающий требованиям», необходимо искать объяснение в терминах деталей алгоритма, например, что алгоритм выбрал набор профилей кандидатов как «минимально приемлемый», т.е. они были опорными векторами на основе данных обучения, и что квалификация этого конкретного кандидата в целом уступают тем референтным кандидатам. Еще более подробное объяснение повлекло бы за собой изучение конкретных значений математических параметров, таких как веса регуляризации алгоритма, чтобы понять, как были объединены конкретные атрибуты и как были выбраны опорные векторы.
Как правило, объяснения и интерпретации являются различными ментальными представлениями, которые одновременно и параллельно кодируются в сознании пользователей системы. Кроме того, пользователи отличаются друг от друга степенью, в которой они хотят и могут использовать свои собственные базовые знания для интерпретации подробной технической информации. По сути, интерпретируемые системы не должны предоставлять больше деталей, чем это необходимо для принятия последовательного решения, при этом предоставляемая информация должна быть обоснована с точки зрения функционального назначения системы. В отличие от этого, объяснимые системы предоставляют детализированные механизмы, лежащие в основе того, как определенная реализация генерирует определенный результат, независимо от того, что этот результат означает для лица, принимающего решение. Объяснение стремится воспроизвести решение более детально, в то время как интерпретация стремится передать итоговый смысл.
Приведенные выше определения предполагают, что эффективность интерпретаций и объяснений может различаться у разных людей, и действительно, мы рассмотрим примеры, показывающие, что так происходит систематическим образом. То есть, аудитории для этих различных типов выходных данных, скорее всего, будут различаться, так что разработчики, которым не хватает знаний в предметной области, смогут использовать подробное механистическое объяснение, чтобы убедиться, что их проект соответствует конкретному функциональному требованию (например, определенному целевому показателю точности), но могут не понимать последствий этого требования для пользователей-людей. В отличие от этого, пользователи, которым не хватает опыта в машинном обучении, но которые обладают знаниями в предметной области, скорее всего, сочтут эти подробные механистические объяснения запутанными, предпочитая простое описание выходных данных модели в терминах конструкций, с которыми они знакомы. Наконец, разработчик со знанием предметной области часто может использовать этот объединенный опыт, чтобы осмыслить подробное механистическое объяснение с точки зрения его конечного варианта использования, тем самым гарантируя, что алгоритм выходит за рамки механических требований и наилучшим образом удовлетворяет потребности пользователя.
Распутывание объяснимости – можно ли описать механистическое описание того, как система сделала конкретный прогноз – от интерпретируемости – может ли человек извлечь смысл из выходных данных системы для конкретного случая использования – может стать основой для устойчивых и надежных стандартов для объяснимого и интерпретируемого проектирования систем машинного обучения, и должно позволить разработать стандарты, которые изолируют технические особенности проектирования от конкретной функциональности системы Требования. Это, в свою очередь, должно позволить разработчикам сегментировать процесс проектирования таким образом, чтобы системные требования могли быть определены на соответствующем уровне абстракции. Кроме того, мы ожидаем, что более точные определения этих терминов позволят в конечном итоге разработать метрики для обеспечения соответствия этим стандартам, что позволит создать согласованную политику регулирования искусственного интеллекта, которая будет способствовать инновациям и укреплению общественного доверия.
Приведём наглядный пример: заявки на аренду. Приложения машинного обучения для аренды недвижимости в последнее время привлекли негативное внимание из-за опасений по поводу потенциально дискриминационных инцидентов и потенциальных нарушений конфиденциальности данных. В этих обстоятельствах алгоритмическая интерпретируемость может способствовать прозрачности, помогая пользователям лучше понять, почему было принято то или иное решение.
Например, рассмотрим алгоритм, который рекомендует отклонить претендента на аренду. Алгоритм будет делать это определение на основе семейства математических моделей, соответствующих обучающим данным, с последующей оценкой выходных данных модели, сгенерированных из дополнительной точки данных, представляющей случай заявителя. Интерпретация рекомендации алгоритма позволит контекстуализировать точку данных, представляющую заявителя. Человек будет использовать свои базовые знания для создания этого контекста. Например, оценщик может прийти к выводу, что заявитель представляет опасность, основываясь на отсутствии у заявителя истории аренды. В отличие от этого, модель машинного обучения будет использовать комбинацию обучающих данных и модели, выбранной алгоритмом машинного обучения (включая любые связанные источники смещения). В этом случае алгоритм может связать длинную историю аренды с успехом и, следовательно, классифицировать заявителя с короткой историей, представляющим финансовый риск. Как будет рассмотрено ниже, человеческие интерпретации отличаются от алгоритмических тем, что первые гибкие, а вторые имеют тенденцию быть хрупкими. Важно отметить, что обе интерпретации оправданы относительно более высокоуровневой конструкции – «истории аренды», которая контекстуализирует решение относительно знаний предметной области. Кроме того, эти выходные данные предоставляют пользователю полезную информацию. Решение проблемы заключается не в том, чтобы изменить реализацию алгоритма, а в том, чтобы заявитель установил историю аренды. Для того, чтобы понять смысл этого вывода, заявителю не нужно иметь никакого опыта работы в AI или ML; скорее, они должны обладать достаточным опытом в предметной области, чтобы понять, почему история аренды является важным индикатором утверждения (ниже мы обсудим, как интерпретируемость может варьироваться в зависимости от опыта в предметной области).
В отличие от этого, объяснение результатов работы того же алгоритма будет начинаться с замечания о том, что заявителю было отказано, а затем пытаться ответить на вопрос о том, как было принято такое решение. Например, в пояснении может быть указано, что алгоритм был обучен с использованием классификатора логистической регрессии с определенными значениями коэффициентов. Учитывая точку данных заявителя, можно затем вставить значения в уравнение логистической регрессии, сгенерировать вероятность успеха модели для заявителя, а затем наблюдать, что она ниже порога принятия решения. Это объяснение не обязательно подчеркивает конкретную роль истории аренды, но человек-аналитик, имеющий доступ к этому уравнению и обладающий опытом для его интерпретации, может заметить, что наибольшим предельным вкладом в решение алгоритма является история аренды. Точно так же человек, которого попросят объяснить причинно-следственную причину, может дать причинно-следственное объяснение («Ваша заявка была отклонена, потому что у вас нет истории аренды. Люди без истории аренды подвергаются более высокому риску, потому что у них нет опыта своевременной оплаты аренды, и потому что у нас нет никаких доказательств их ответственности. Как правило, мы предпочитаем сдавать в аренду людям с достоверной историей платежей»). Однако, как мы обсудим ниже, люди, и особенно эксперты в предметной области, регулярно нарушают такие причинно-следственные правила при вынесении суждений. Возможно, это связано с тем, что они способны распознавать необходимые исключения с помощью образованной интуиции (однако те же самые процессы могут быть источником систематической предвзятости, если лежащая в ее основе интуиция необразованна или неприменима по иным причинам).
Другой наглядный пример: медицинский диагноз. Как и приложения для аренды, медицинская диагностика является областью, в которой высказываются опасения по поводу алгоритмической дискриминации, что требует прозрачности и, следовательно, интерпретируемого ИИ. Рассмотрим систему искусственного интеллекта, предназначенную для выработки рекомендаций по назначению антибиотиков при инфекциях верхних дыхательных путей. Для простоты мы снова предположим, что эта модель реализована с помощью классификатора логистической регрессии с двумя классами, соответствующими рекомендациям по назначению антибиотиков и против них. Наконец, с учетом данных, передаваемых в систему, предположим, что модель определила, что вероятность того, что у пациента есть бактериальное заболевание, составляет 5%-10%. Затем система предоставит врачу, выписывающему лекарство, стимул – рекомендацию не назначать лекарство.
Пояснение к этой рекомендации будет относиться к реализации модели. Например, система может перечислить коэффициенты модели логистической регрессии и значения всех переменных модели (есть ли у пациента боль в горле, боль при глотании, лихорадка, красные и опухшие миндалины с белыми пятнами или прожилками гноя, крошечные красные пятна на нёбе, увеличенные лимфатические узлы в передней части шеи, кашель, насморк, охриплость голоса или конъюнктивит). Учитывая эти коэффициенты, система могла бы далее объяснить, что, когда мы умножаем коэффициенты на значения переменных, а затем суммируем результат, совокупная вероятность того, что болезнь является бактериальной, составляет 5-10%, что указывает на то, что «нет ни дальнейших испытаний, ни антибиотиков». На этом объяснение заканчивается.
В отличие от этого, интерпретация рекомендации системы будет ссылаться на простые, категориальные представления относительного риска, а затем связывать их со значениями. Например, могут применяться следующие значения: когда пациент болен, выздоровление – это хорошо, в то время как болезнь остается плохим исходом. Кроме того, неприятные побочные эффекты плохи (они заставят пациента чувствовать себя хуже), и никакие побочные эффекты не являются хорошими. Наконец, ненужное назначение способствует устойчивости к антибиотикам, потенциально причиняя вред другим (плохо), в то время как отсутствие назначения не оказывает никакого влияния на других. Учитывая эти значения, система будет утверждать: 1) вероятность того, что антибиотики помогут, практически равна нулю; 2) антибиотики, в случае их назначения, могут привести к неприятным побочным эффектам; 3) использование антибиотиков, когда в них нет необходимости, может нанести вред другим, указывая на то, что «Никаких дальнейших испытаний и антибиотиков».
Несмотря на эти рекомендации, есть несколько причин, по которым опытный врач может назначить антибиотики в этих обстоятельствах. Например, эксперт может признать, что пациент особенно восприимчив к бактериальной инфекции, или просто сделать стратегический выбор, основанный на сути, что «лучше перестраховаться, чем потом сожалеть».
Хотя интерес к объяснимому искусственному интеллекту (ИИ) восходит к развитию экспертных систем в 1980-х годах, объяснимость в последнее время вновь стала желательным требованием для современных сложных систем ИИ/МО. В значительной степени это связано с распространением таких систем в обществе и из-за все более сложных и ресурсоемких алгоритмов, иногда обученных на терабайтах данных, которые развертываются для решения реальных проблем.
Это развитие не является уникальным для ИИ, скорее, оно является следствием все более сложного внедрения технологий во все аспекты жизни общества. Несмотря на то, что наше внимание здесь ограничено вычислительными технологиями и особенно технологиями машинного обучения, эти разработки являются частью более широкой тенденции, которая распространяется на все области технологий. Повсеместное внедрение встроенных вычислений ускорило эту тенденцию. Редко можно найти технологию, которая не имела бы какой-либо вычислительной составляющей – от обучающих термостатов до вынесения решений по кредитному рейтингу и заявлений на визу. Эти технологии также требуют нескольких различных типов знаний для надлежащего регулирования. Во-первых, необходимы технические знания, чтобы понять, как работают эти технологии, и, поскольку технологии настолько сложны, эти знания ограничены относительно небольшим числом людей, в то время как число людей, на жизнь которых это напрямую влияет, значительно выросло. Тем не менее, многие виды экспертизы актуальны. Например, оценка правовых последствий технологий AI/ML требует глубокого знакомства с соответствующими областями права. Аналогичные опасения могут относиться к оценке финансового кредита, рассмотрению заявлений о приеме на работу, вопросам политического и социального равенства и другим этическим проблемам. Таким образом, недостаточно опросить экспертов в определенной области. Для эффективной оценки и, следовательно, регулирования интерпретируемых и объяснимых систем ИИ требуется объединение экспертных знаний из разных областей, которые традиционно не взаимодействовали.