Шрифт:
Интервал:
Закладка:
Рис. 183. Пример классификации сетью обычных и искажённых фотографий Ким Кардашьян
По мнению Джеффри Хинтона и его коллег[3316], проблема заключается в том, что в данной свёрточной сети используются слои пулинга, которые теряют информацию о пространственном расположении признаков относительно друг друга. Пример же с переворотом изображения свидетельствует о недостаточной устойчивости свёрточных сетей к аффинным преобразованиям (т. е. к таким, которые являются взаимно однозначными и любую прямую переводят в прямую) входных данных. Последнюю проблему традиционно решают при помощи аугментации обучающих выборок (в них добавляют исходные изображения, подвергнутые различным аффинным трансформациям — сдвигам, поворотам и масштабированию и т. д.), однако Хинтон предлагает собственное решение проблемы — новый класс нейросетевых архитектур под названием «капсульные сети» [capsule networks]. Капсульные сети, по мнению Хинтона, куда более соответствуют своим биологическим прототипам — колонкам коры полушарий головного мозга. Пока что капсульные сети ещё не завоевали себе достойного места в мире нейросетевых моделей (главным образом в силу их большей вычислительной стоимости), однако, повторимся, никто не исключает, что на смену популярным в наши дни нейросетевым архитектурам придут новые, возможно радикально отличающиеся от популярных в наши дни.
В последние годы в области компьютерного зрения свёрточные сети испытывают сильную конкуренцию со стороны трансформеров и даже таких причудливых, на первый взгляд, моделей, как MLP-Mixer[3317], её более «зелёной» версии HyperMixer, позволяющей снизить вычислительные затраты при достижении сопоставимых результатов, и gMLP[3318], построенных из специальным образом соединённых полносвязных блоков.
Ещё одна возможная альтернатива свёрточным сетям — так называемые инволюционные нейронные сети (Involutional Neural Networks). В их основе лежит модифицированная операция свёртки, в которой ядро больше не является неизменным в пределах слоя. Вместо этого коэффициенты ядра являются функцией от входного значения из предыдущего слоя, приходящегося на центр области свёртки. Фактически инволюционная сеть в процессе обучения сама определяет, насколько важна взаимная локализация более «низкоуровневых» признаков для того, чтобы сделать вывод о наличии более «высокоуровневого» признака. В некоторой степени это объединяет идеи, лежащие в основе свёрточной сети и механизма внимания. Первые эксперименты с инволюционными сетями показывают весьма обнадёживающие результаты[3319].
В общем, задача поиска эффективных архитектур нейронных сетей для самых разных классов задач не теряет актуальности.
8.4 Интерпретация работы моделей ИИ
Нет таких трав, чтобы узнать чужой нрав.
Русская народная пословица
Ещё одной часто обсуждаемой проблемой в области машинного обучения является так называемая «проблема чёрного ящика» [black box problem], или «объяснимого ИИ» [explainable AI]. Читатели жёлтой околотехнологической прессы обычно получают напоминания о существовании этой проблемы в виде двух типов статей. В одних рассказывается, что мы не понимаем, «как работает ИИ» (вариант — нейросети), что эти модели являются «неинтерпретируемыми» и что это очень плохо и опасно, а в других сообщается, что кому-то из исследователей наконец-то удалось решить «проблему чёрного ящика» и объяснить, как именно «работает ИИ». Реально, как водится, куда сложнее. Для начала нужно понять, что означает выражение «мы понимаем» (иными словами — какой смысл мы вкладываем в понятие интерпретируемости). Что значит «понимать» то, как работает та или иная модель машинного обучения? Что касается нейронной сети, то все вычисления, которые она выполняет, можно представить в виде последовательности арифметических операций. В этом смысле работа нейронной сети вполне понятна. Взяв достаточное количество бумаги и карандашей и обладая достаточным количеством свободного времени, любой человек, знакомый со школьной арифметикой, вполне может вычислить ответ нейронной сети на тот или иной входной стимул. Постичь принципы, лежащие в основе нейросетевых моделей и их обучения, довольно нетрудно, и в этом смысле мы хорошо понимаем, как работают нейронные сети. Однако это, очевидно, не тот тип понимания, который имеют в виду, называя нейронную сеть чёрным ящиком. В действительности люди имеют в виду скорее возможность представить обученную сеть в виде компактного набора правил, который мог бы быть усвоен человеком и применён им на практике. Таким образом, под объяснимостью модели обычно понимают возможность уместить её «в человеческую голову», в некоторый ограниченный информационный объём, который американский учёный чилийского происхождения Сезар Идальго остроумно назвал «челобайтом» [personbyte][3320].
В машинном обучении существует отдельная область, которая занимается передачей знаний от больших (по числу параметров) моделей к меньшим, она называется «дистилляция знаний» [knowledge distillation]. Частным случаем дистилляции является «сжатие моделей» [model compression] — активно развивающееся в последние годы направление, в рамках которого исследуется возможность выполнения современных глубоких сетей на устройствах с ограниченными ресурсами без значительного снижения точности. В рамках этого направления выработано множество интересных методов, например различных видов малоранговой аппроксимации (таких как разреженная малоранговая факторизация, которая позволяет эффективно заменить многие синаптические веса нулевыми значениями)[3321], квантизации весов (например, замены 32-битных вещественных значений весов 8-битными целочисленными) и так далее. В рамках этой парадигмы при обучении модели можно использовать специальные виды регуляризации параметров, например «регуляризацию в целях увеличения интерпретируемости» [regularization for interpretability][3322], чтобы позволить искусственной нейронной сети «выполниться» на таком устройстве, как мозг человека.
Аналогия со сжатием подталкивает к ещё одному интересному соображению. В сжатии данных часто используются алгоритмы, ищущие аналогии в потоках данных, например повторяющиеся фрагменты. Модель, «понятная человеку», могла бы опираться на понятия и концепции, уже понятые и усвоенные человеком. Тут речь идёт о «переиспользовании» признаков, выученных биологической сетью, в интерпретируемой искусственной нейронной сети. Предположим, некий человек не знает, кто такой тигр, но знает понятия «животное», «кошка», «оранжевый», «чёрный», «полоска». Если мы скажем ему, что тигр — это животное, напоминающее крупную оранжевую кошку с чёрными полосками, то тем самым мы дадим ему интерпретируемую модель для определения тигра. Нетрудно заметить, что наша модель получилась чрезвычайно компактной за счёт того, что мы выполнили сжатие путём замены алгоритмов определения признаков на отсылки к уже существующим в голове человека понятиям. Однако у этого подхода есть очевидный недостаток — мы не знаем заранее, какие именно признаки содержатся в уме конкретного человека, и не можем быть уверены в том, что, например, под «оранжевым» или «полоской» он понимает то же самое, что и наша модель. В процессе передачи знаний от одних людей другим часто возникает аналогичная проблема, поэтому на деле сжатие знаний при их передаче через «узкое горлышко» естественного языка неизбежно сопряжено с определёнными потерями. Употребляя аналогии из мира глубокого обучения, можно сказать, что человеческий разум оборудован своеобразным кодировщиком, который позволяет преобразовать паттерны активности мозга, связанные с теми или иными мысленными образами, в более