Основы информационных технологий для неспециалистов: что происходит внутри машин — страница 17 из 26

Если компьютер начнет думать, учиться и создавать, то это будет заслуга программы, которая наделяет его этими способностями. <…> Именно программа будет каким-либо образом анализировать свою производительность, диагностировать свои сбои, вносить изменения, которые усилят ее эффективность.

Герберт А. Саймон.

Новая наука об управленческих решениях[124], 1960

Мои коллеги изучают искусственный интеллект, а я изучаю естественную глупость.

Амос Тверски (1937–1996), основатель современной поведенческой экономики.

Цитируется в журнале Nature[125], апрель 2019

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

Эффективный ИИ – явление сравнительно новое, хотя историческими корнями оно уходит в 1950-е годы. Сегодня эта сфера представляет собой слияние модных словечек, шумихи, ложного оптимизма и довольно большого количества реальных достижений. Искусственный интеллект, машинное обучение и обработка естественного языка оказались очень успешными в игровой сфере (программы для в шахмат и го превосходят в мастерстве лучших гроссмейстеров), восприятии и синтезе речи (вспомните Alexa и Siri), машинном переводе, распознавании изображений и компьютерном зрении, а также робототехнических системах вроде автомобилей с автономным управлением. Системы рекомендаций, применяемые в Netflix и Goodreads[126], подсказывают людям новые фильмы и книги, а списки сопутствующих товаров на Amazon явно способствуют повышению доходов компании. Достойно трудятся и системы обнаружения спама, хотя им суждено вечно бороться со все новыми методами рассылки.

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

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

Искусственный интеллект — обширный термин, используемый в ситуациях, когда мы поручаем ЭВМ выполнить задания, с которыми вроде бы способны справиться только люди. «Интеллект» – это то, что мы приписываем себе, а «искусственный» означает, что делом занимается компьютер.

Машинным обучением (МаО) называют подкласс ИИ, большое семейство методов, применяемых для обучения алгоритмов. В результате они обретают способность самостоятельно принимать решения и таким образом выполнять некоторые задачи, относящиеся к использованию ИИ.

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

Глубокое обучение – это специфическая форма МаО, использующая вычислительные модели, которые, если говорить образно, похожи на нейронные сети в нашем мозге. Реализация глубокого обучения грубо (очень!) имитирует обработку, совершаемую человеческим мозгом: набор нейронов определяет низкоуровневые признаки, их выходные данные становится входными для других нейронов, которые распознают высокоуровневые признаки на основании более низких, и так далее. По мере обучения системы одни связи усиливаются, а другие ослабевают.

Глубокое обучение оказалось весьма продуктивным методом, особенно для компьютерного зрения. Это одна из наиболее активных областей исследования МаО, и уже разработано множество разных моделей.

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

12.1. Историческая справка

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

На такие разработки охотно выделяли финансирование, и зачастую оно поступало от правительственных органов, таких как Министерство обороны США. Мы уже знаем, какую важную роль сыграла его поддержка первых исследований сетей, приведших к созданию интернета. Изыскания в области ИИ стимулировались примерно так же, и средств на них не жалели.

Я думаю, что научную деятельность, связанную с темой ИИ в 1950-х и 1960-х годах, вполне справедливо охарактеризовать как «наивно-оптимистическую». Ученым казалось, что прорывы не за горами. Через каких-то 5 или 10 лет компьютеры станут делать точные переводы с одного языка на другой и побеждать лучших шахматистов-людей.

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

Применять ИИ почти в любой области оказалось сложнее, чем предполагалось, поэтому слова «нужно еще 5-10 лет» звучали постоянно. Когда выяснилось, что результаты получились скудными, а выделенные деньги кончились, поле работы забросили на 10–20 лет. Впоследствии этот период назвали «зимой ИИ». Затем, в 1980-х и 1990-х годах, начали применять новые методы – экспертные, или основанные на правилах системы144.

В данном случае эксперт предметной области записывает множество правил, программист преобразует их в код, а компьютеры выполняют на их основе какое-либо задание. Среди прочего подобные системы обширно применялись для медицинской диагностики. Врачи создавали правила, по которым определялось, какой недуг у пациента, а затем программы устанавливали болезнь. Они поддерживали и дополняли реальных специалистов, а в теории даже могли заменить докторов. Например, одна из первых систем – MYCIN[127] – разработана для диагностики кровяных инфекций. Она использовала около 600 правил и справлялась не хуже, чем врач общей практики. MYCIN создал Эдвард Фейгенбаум, один из пионеров экспертных систем, и в 1994 году он получил премию Тьюринга за свои труды над искусственным интеллектом.

Экспертные системы действовали по-настоящему успешно, в том числе в службах поддержки клиентов, обслуживании и ремонте механических систем и в других узких областях. Но со временем стало ясно, что у них есть серьезные ограничения. Дело в том, что на практике трудно создать всеобъемлющий набор правил, к тому же из них слишком много исключений. Метод плохо масштабировался для объемных задач или новых проблемных областей. Если улучшалось понимание процесса или менялись условия, директивы приходилось обновлять. Представьте, например, как изменились правила принятия решений для врачей в 2020 году, когда к ним стали приходить пациенты с высокой температурой, болью в горле и сильным кашлем. Если раньше такие симптомы указывали на простуду, возможно, с небольшими осложнениями, то сейчас вполне вероятен COVID-19 – острозаразное заболевание с серьезными рисками для пациентов и медицинских работников.

12.2. Классическое машинное обучение

Основная идея МаО – дать алгоритму большое количество примеров и позволить ему «учиться» самостоятельно. Здесь люди не устанавливают правила и не программируют напрямую решение определенных задач. В самом простом случае мы предоставляем программе обучающий набор примеров, в которых отмечены правильные значения. В частности, вместо того чтобы придумывать правила для распознавания цифр, написанных от руки, можно обучать алгоритм на большом количестве образцов, к каждому из которых приложено его численное значение. Алгоритм, опираясь на свои успехи и неудачи, узнаёт, как комбинировать характерные признаки обучающих элементов, чтобы получать наилучшие результаты. Конечно, не факт, что они точно будут «лучшими». Хотя алгоритмы МаО стремятся увеличить вероятность получения хорошего результата, но не гарантируют совершенства.

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

МаО на размеченных данных называется контролируемым обучением. Большинство таких алгоритмов имеет общую структуру. Они обрабатывают большое количество примеров, в которых отмечены правильные категории, – например, является ли текст спамом или нет, какой вид животного изображен на фотографии или за сколько будут продавать дом. Алгоритм выявляет, какие значения параметров позволяют ему выполнять наилучшие классификации или делать прогнозы на основе этого обучающего набора. По сути, он учится обобщать на примерах.

Нам все равно нужно указывать алгоритму, от каких «признаков» изучаемого предмета зависит верное решение, однако мы не говорим, как их сочетать или какие весовые коэффициенты им присваивать. Например, если мы пытаемся фильтровать электронную почту, нам нужны особенности, которые каким-то образом указывают на нежелательное содержимое: спам-слова («бесплатно!»), известные «мусорные» темы, странные символы, орфографические ошибки, грамматические недочеты и так далее. Сам по себе ни один из этих признаков не позволяет сделать однозначный вывод, но, получив достаточный объем размеченных данных, алгоритм начнет отделять спам от не-спама. Потом, впрочем, спамеры к нему приспособятся.

Распознавание рукописных цифр – хорошо изученная задача. Национальный институт стандартов и технологий США (НИСТ, NIST[128]) предоставляет общедоступный набор тестов, содержащий 60 000 обучающих изображений и 10 000 тестовых изображений. На рис. 12.1 показана небольшая выборка. Системы машинного обучения хорошо справляются с этими данными: на открытых конкурсах они показывали частоту ошибок менее 0,25 %, то есть неверно определялся примерно один из 400 символов.


Рис. 12.1. Выборка рукописных цифр НИСТ (взято из «Википедии»)


Алгоритмы МаО могут давать сбои по многим причинам – например, из-за «чрезмерной подгонки». Это означает, что алгоритм хорошо справляется с обучающими данными, но гораздо хуже с новыми. Иногда тренировочных элементов не хватает, или же у них неправильный набор признаков. Порой алгоритмы дают смещенные результаты из-за искажений в обучающих данных. Это особенно критично, если систему применяют в уголовном судопроизводстве (например, при вынесении приговора или прогнозировании рецидива), но важно и в других ситуациях, где алгоритм принимает решения, касающиеся людей: оценка кредитоспособности, рассмотрение резюме или заявки на ипотеку.

Обнаружение спама и распознавание цифр относятся к задачам классификации — отнесения элементов к нужному классу. В свою очередь, алгоритмы прогнозирования пытаются предсказать какие-либо числовые значения – в частности, цены на жилье, спортивные результаты или тенденции фондового рынка. Так, попробовать предугадать стоимость жилья можно по основным признакам вроде местоположения, года постройки, жилой площади и количества комнат. В более сложных моделях (как на Zillow) добавляются такие параметры, как цены на аналогичные дома, проданные ранее, характеристики района, размер налога на недвижимость и уровень местных школ.

В отличие от описанного выше метода, при неконтролируемом обучении используются неразмеченные данные, то есть без отметок и связанных значений. Здесь алгоритм старается найти закономерности или структуру в данных, группируя элементы по признакам. В одном популярном подходе – кластеризации методом /с-средних – алгоритм старается по мере возможностей распределить данные по к группам так, чтобы добиться максимального сходства элементов внутри одной группы и минимального – между элементами из разных групп. Например, нам нужно определить авторство документов. Выдвинем предположение, что авторов двое, после чего выберем потенциально релевантные признаки: длину предложения, объем словарного запаса, стиль пунктуации и так далее. А дальше алгоритм кластеризации постарается наилучшим образом разделить документы на две группы по этим показателям.

Неконтролируемое обучение также хорошо работает, когда нужно определить выпадающие значения в некоторых наборах элементов данных. Допустим, большинство из них группируются каким-то очевидным образом, но некоторые этого не делают. Тогда их относят к данным, подлежащим дальнейшему изучению. Предположим, что смоделированные данные на рис. 12.2 представляют некоторый аспект использования кредитной карты. Большинство точек данных попадают в одно из двух больших скоплений, но не все. Возможно, с ними всё в порядке, ведь идеального разделения на кластеры не требуется, но они также могут указывать на мошенничество или ошибку.


Рис. 12.2. Кластеризация для выявления аномалий


У неконтролируемого обучения есть преимущество – для него не нужно подготавливать размеченные обучающие данные, что порой требует больших затрат, но это применимо не ко всем ситуациям. Здесь надо выделить набор полезных признаков, по которым формируются скопления, и, конечно, заранее предполагать, сколько примерно их получится. Вот пример из личного опыта: однажды я посмотрел, что произойдет, если применить стандартный алгоритм кластеризации методом к-сред-них, чтобы разбить около 5000 изображений лиц на два скопления. Я наивно полагал, что он разделит людей на группы по полу. Эмпирически это оказалось правильным в 90 % случаев, но мне не удалось понять, на чем основывались его выводы, а в ошибках не нашлось очевидных закономерностей.

12.3. Нейронные сети и глубокое обучение

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

Деятельность мозга основана на соединениях нейронов – особых клеток, которые отвечают на стимулы. К таковым относятся прикосновение, звук, свет или входящие сигналы от других нейронов. Когда воздействие достаточно сильное, нейрон «зажигается» и отправляет выходной импульс, который, в свою очередь, вызывает реакцию в других нейронах. (Конечно же, я сильно упрощаю.)

Компьютерные нейронные сети (НС) – это упрощенные версии таких соединений, где искусственные нейроны образуют регулярные структуры, как схематично показано на рис. 12.3. У любого нейрона есть правило, согласно которому он комбинирует свои входные сигналы, а у каждого ребра («стрелки») есть весовой коэффициент, который применяется к данным, проходящим через него.

Идея нейронных сетей не нова, но первые работы с ними не принесли полезных результатов, и концепция попала в немилость. Однако в 1980-х и 1990-х годах группа ученых продолжила их изучение и, вопреки ожиданиям, к началу 2000-х искусственные НС, выполнявшие такие задачи, как распознавание изображений, стали давать более точные результаты, чем лучшие методы из применявшихся в то время. Все последние сдвиги в машинном обучении связаны именно с нейронными сетями. Ну, а те трое настойчивых ученых – Йошуа Бенжио, Джеффри Хинтон и Ян Лекун – удостоились премии Тьюринга за 2018 год145.


Рис. 12.3. Искусственная нейронная сеть с четырьмя слоями


Основная идея таких сетей заключается в том, что первые слои идентифицируют низкоуровневые признаки – например, распознают типовые пиксели, возможно, соответствующие краям изображения. Более глубокие слои определяют высокоуровневые признаки, такие как объекты или цветные участки. Наконец, последние слои выявляют лица или котиков. Слово «глубокие» в данном контексте означает, что есть несколько слоев нейронов. В зависимости от алгоритма их бывает два, десять или больше.

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

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

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

Глубокое обучение особенно успешно проявило себя при решении задач компьютерного зрения, когда машина определяет объекты на изображениях, а иногда распознает точно заданные шаблоны вроде человеческих лиц. Например, Google Maps в режиме просмотра выявляет и размывает черты людей, регистрационные знаки машин, а иногда и номера домов. Данный вариант – очень простая разновидность общей проблемы распознавания конкретных лиц, поскольку не произойдет ничего страшного, если алгоритм «замылит» больше, чем нужно.

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

В то же время именно распознавание лиц вызывает наибольшие опасения. Самая очевидная тревога – значительное усиление полицейского надзора146, но также есть опасность скрытой дискриминации. В случае небелокожих людей большинство систем распознавания лиц работает менее точно, поскольку обучающие изображения недостаточно разнообразны. В 2020 году на фоне всемирных протестов против расизма крупные компании объявили о планах полностью уйти из этой области (IBM147) или ввести мораторий на поставку соответствующей технологии правоохранительным органам (Amazon148, Microsoft). Ни одна из этих корпораций не относилась к крупным игрокам в бизнесе распознавания лиц, поэтому эффект получился незначительным, но, возможно, их символический шаг – знак того, что они в целом чувствуют ответственность.

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

Первой программой, которая победила профессионального игрока в го, стала AlphaGo, разработанная компанией DeepMind (позже ее приобрел Google). За ней быстро последовала AlphaGo Zero, значительно более сильная, а потом вышла AlphaZero. Последняя могла состязаться не только в го, но и в шахматы, и в японскую настольную игру сёги, не уступающую им по сложности. AlphaZero обучалась, играя сама с собой, и после дня тренировок сумела одолеть Stockfish, лучшую из традиционных шахматных программ. Матч из 100 партий принес ей 28 побед, 72 ничьи и 0 поражений.

AlphaZero основана на форме глубокого обучения, которая называется обучением с подкреплением. Она использует обратную связь от внешней среды (в случае игр – проиграла она или победила), чтобы постоянно улучшать свои результаты. Ей не нужны обучающие данные, поскольку среда сама указывает программе, верны ли ее действия, или просто подталкивает ее в нужном направлении.

Если вы хотите сами поставить опыты с машинным обучением, то загляните на сайт teachablemachine. withgoogle.com от Google. Там несложно устроить эксперименты с такими задачами, как распознавание изображений или звуков.

12.4. Обработка естественного языка

Обработка естественного языка (ОЕЯ) – это подраздел машинного обучения, в рамках которого рассматривается, как поручить компьютерам обрабатывать человеческие языки. Требуется, чтобы машина понимала значение текста, умела излагать его суть, переводить на другой язык, преобразовывать письменный текст в устную речь (и обратно) и даже генерировать осмысленные наборы предложений, выглядящие так, словно их написал человек. Сегодня мы встречаемся с ОЕЯ в голосовых системах вроде Siri и Alexa, которые распознают речь и превращают ее в текст, соображают, о чем их спросили, ищут нужные данные, а затем синтезируют естественно звучащий ответ.

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

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

Мы могли бы наивно предположить, что достаточно сосчитать слова с положительной («замечательный», «великий», «стабильный», «гениальный») и отрицательной окраской («ужасный», «тупой»), а затем отобразить разницу. Но такой подход даже отдаленно не отражает тонкостей языка. Даже с простыми отрицаниями возникнут проблемы («Он не стабилен и не гениален»), а с иронией или сарказмом («Его вряд ли можно назвать замечательным») всё гораздо запутаннее.

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

Одной из первых попыток взаимодействия с компьютером на естественном языке стала программа «Элиза», которая имитировала беседу между пациентом и роджерианским психологом[129]. «Элизу» создал профессор МТИ Джозеф Вейценбаум в 1966 году, и она оказалась на удивление дееспособной, по крайней мере при первом знакомстве. В интернете есть множество симуляторов «Элизы», и, хотя поиграть с ними несколько минут очень интересно, их слабые стороны быстро становятся очевидными. На рис. 12.4 показан пример беседы с одним из них149.

С 1966 года чат-боты постоянно улучшались, но даже сейчас нам не составит труда выявить пределы их возможностей. Как часто вы звонили в какую-нибудь компанию и начинали диалог с записанным голосом, который звучал примерно так?


Расскажите вкратце, чем я могу вам помочь. Вы можете произнести «выставление счетов», «ремонт», «заказы» или «что-то еще».

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


Рис. 12.4. Беседа с «Элизой»


Сложные системы, которые основаны на языковых моделях, созданных путем обучения на большом объеме текста, способны генерировать более качественные ответы, хотя не при прямом общении с людьми. Один из интересных примеров – программа Talk to Transformer150, которая генерирует правдоподобные продолжения начальной фразы, заданной пользователем. Ее БД включает 8 миллионов веб-страниц, и она пытается предсказать следующее слово по закономерности, выведенной из всех предыдущих. Результат обычно получается вполне правдоподобным, а иногда очень хорошим. Вот два варианта ответа на введенное мной предложение «Писать книгу – тяжелая работа».


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


Писать книгу – тяжелая работа. И важно сделать это правильно, чего не понимают многие писатели. Я потратил годы жизни, пытаясь создать «Книгу, которую я хочу написать». За последний год моя новая книга «Как сделать все правильно с первого раза» пользовалась бешеным успехом. Я получил слова благодарности и одобрения от моих редакторов и читателей.


По странному стечению обстоятельств весной 2020 года я стал одним из преподавателей курса по поэзии и вычислениям. Один из вопросов, которые мы обсуждали, касался того, способны ли компьютеры писать стихи так же хорошо, как и люди (своего рода тест Тьюринга в узкой области). Ответ здесь будет зависеть от целого ряда расплывчато сформулированных факторов, так что я не могу сказать определенно. Для развлечения я привел на рис. 12.5 три стихотворения, чтобы вы могли сами решить, кто их написал – человек или программа. Авторы указаны в конце этой главы.

Рассмотрим иную давнюю проблему – перевод с одного естественного языка на другой. Еще в 1950-х годах люди уверенно предсказывали, что проблема будет решена в 1960-х, затем крайний срок сдвинулся на 1970-е. Но, к сожалению, мы еще не достигли цели, хотя ситуация значительно улучшилась благодаря огромной вычислительной мощности и объемным наборам текста, которые можно применять для создания алгоритмов при машинном обучении.


Рис. 12.5. Три стихотворения. Какие из них написала программа, а какие – человек?


Классическое упражнение – перевести присловье The spirit is willing but the flesh is weak[130] на русский и затем обратно на английский. Рассказывают (возможно, в шутку), что раньше перевод получался следующий: The vodka is strong but the meat is rotten (то есть «Водка крепкая, а вот мясо протухло»).

Сегодня Google Translate предлагает иной вариант, показанный на рис. 12.6. Он звучит лучше, но еще далек от совершенства, поэтому очевидно, что задача машинного перевода еще не решена. (Алгоритм Google быстро меняется, поэтому вы можете получить немного другой результат.)

Современный машинный перевод помогает приблизительно понять, о чем идет речь в тексте, особенно если язык или символы его алфавита совершенно вам не знакомы. Но подробности часто переданы неверно, а нюансы полностью утрачены.


Рис. 12.6. Перевод с английского на русский и обратно

12.5. Краткие выводы

Машинное обучение – это не панацея. Остается еще много открытых вопросов о том, насколько хорошо оно работает, а особенно о том, как объяснять полученные результаты. В комиксе xkcd[131] на рисунке 12.7 это прекрасно обыгрывается.


Рис. 12.7. xkcd.com/1838 о машинном обучении


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

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

К сожалению, это всего лишь привлекательная городская легенда, как установлено Гверном Бранвеном на https://gwern.net/tank. Впрочем, пусть история и выдумана, она дает нам полезное предостережение: следите, чтобы какой-нибудь нерелевантный артефакт не ввел нас в заблуждение.

Могут ли алгоритмы машинного обучения показать себя лучше, чем определяется их данными? Известно, что Amazon отказалась от внутреннего инструмента, который использовался для подбора персонала, поскольку он явно демонстрировал предвзятое отношение к кандидатам-женщинам. Его модели оценивали претендентов по шаблонам, выведенным на основании резюме за прошлый 10-летний период. Но большинство тех кандидатов были мужчинами, а для текущего набора претендентов обучающие данные оказались нерепрезентативными. В результате алгоритм научился отдавать предпочтение кандидатам мужского пола. Иными словами, ни одна система ИИ или МаО не способна «поступать» лучше, чем детерминировано ее входными данными, и высока вероятность того, что она просто воспроизведет предвзятость, заложенную в тренировочный набор.

Например, системы компьютерного зрения способны распознавать лица, иногда с достаточно высокой точностью. Обычно это применяется в полезных целях (например, чтобы разблокировать ваш телефон или открыть дверь кабинета), но иногда – в сомнительных. Умные системы дверных звонков, такие как Amazon Ring, могут отслеживать, что происходит рядом с вашим домом, и при обнаружении чего-то настораживающего отправлять оповещения вам и местной полиции. Однако если она начнет отмечать цветных людей в преимущественно белом районе как «подозрительных», то мы получим что-то вроде роботизированного расизма.

Подобные опасения привели к тому, что в середине 2020 года Amazon приостановила использование органами правопорядка своего ПО Recognition151. Это произошло во время массовых протестов против жестокости полиции и расовых предрассудков в США. Вскоре в суд поступило несколько исков против компании Clearview AI, которая создала базу данных лиц на основе миллиардов фотографий из интернета и открыла доступ к ним для правоохранительных органов. Clearview заявляет, что сбор общедоступной информации защищен положениями о свободе слова Первой поправки152.

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

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

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

(Первое и последнее стихотворения на рис. 12.5 написаны людьми, их авторы – Пауль Целан и Гертруда Стайн соответственно. Среднее сгенерировано программой Рэя Курцвейла[132] «Кибернетический поэт» (Cybernetic Poet), которая доступна на https://www.kurzweilcyberart.com/154.)

13. Конфиденциальность и безопасность