Евгений Волков
https://www.facebook.com/envolk/posts/5065350620158997
Alexey Egorov
https://www.facebook.com/alexey.egorov.1029/posts/2190959737723252
Интеллект как задача
Часть II. Устойчивость
В предыдущем наброске (alexey.egorov.1029/posts/2188155201337039) я рассмотрел такую группу признаков интеллекта как Универсальность (количество данных, их разнообразие, абстракции, преодоление комбинаторной стены и логический вывод) и пришел к выводу, что человеческое мышление по своему характеру противоположно ИИ. Теперь мы двинемся дальше и рассмотрим Устойчивость и некоторые её "характеристики".
Устойчивость решений крайне важна. Особенно сейчас, когда возникают в эксплуатации автопилоты, роевые дроны, автоматизированные процессы с автоматизированным контролем качества и прочее. В узком смысле устойчивость предполагает возможность избегать критических ошибок. В широком смысле устойчивость означает возможность контроля за сложностью и развитием ИИ как важнейшего компонента человеческой инфраструктуры. Я выделяю в устойчивости: ошибки, проблемы "обучения", работу с неполнотой и объяснимость результатов.
006. СОСТЯЗАТЕЛЬНЫЕ ОШИБКИ
Под "эффектом бабочки" понимают ситуацию, когда незначительное воздействие на систему приводит к катастрофическим последствиям. Человек предельно устойчив к ошибкам восприятия, можно (без серьезного преувеличения) говорить о монотонном характере ошибок человеческого мышления: чем точнее и полнее исходные данные, тем меньше ошибок и лучше качество возможных решений. Для ИИ ситуация противоположная — существует целый класс ошибок, которые вызываются очень незначительными отклонениями от "правильных" данных. Погуглите adversarial errors и увидите очень много интересных примеров.
В этом же пункте я хотел бы отметить, что для большинства простых ИИ классификаторов вообще невозможно классифицировать объект, который не был представлен в обучающей выборке, то есть "логика" ИИ-системы заключается в исключении возможности обработки какой-либо новизны данных, то есть состязательные ошибки, _на_самом_деле_ говорят о принципиальной невозможности обучения ИИ, когда обучение мы рассматриваем в человеческом смысле. Давайте рассмотрим подробнее на левой и правой части этого процесса, это очень важно.
007. НЕДООБУЧЕНИЕ И ПЕРЕОБУЧЕНИЕ
Недообучение критично для ИИ. И если в человеческом недообучении мы получаем градации (в зависимости от опыта и способностей) junior, middle, senior — где есть различие в понимании деталей и тонкостей, способностью владения инструментами и умением проектировать сложные системы, то недообучение в ИИ — это всегда потеря в "чувствительности" (sensitivity).
С переобучением ситуация еще критичнее, поскольку переобучить человека нельзя, а ИИ более, чем можно. Для человека в худшем случае мы будем иметь насыщение, когда усилия, затраченные на обучение будут очень мало отражаться на улучшении качества навыков. Переобучение ИИ всегда означает потерю точности решения задачи.
Но главная проблема "обучения" ИИ заключается в том, что процесс "обучения" представляет собой один и тот же цикл подстройки параметров модели, где критерием выхода из него есть некоторый максимум "обучения", который не содержится в самой модели, его можно определить только тестированием по дополнительному набору обучающих данных. И это становится критической проблемой для ИИ, поскольку кроме полной зависимости точности решения от исходного набора данных, модели ИИ не имеют внутреннего механизма оценки качества своего обучения, у ИИ нет возможности внутренней валидации моделей и возможности какой-то динамической калибровки своих параметров. Работы в этом направлении, разумеется, ведутся, но я говорю об общем случае текущих имплементаций.
008. ОБРАБОТКА ОШИБОК
В качестве промежуточного итога, можно рассмотреть разницу в обработке ошибок. Для человека ошибка — это возможность улучшать результаты, для ИИ ошибка — это итоговая характеристика архитектуры и качества обучающих данных. Человек обрабатывает ошибку тем, что исправляет её. ИИ может исправить ошибку только переобучением, которое может привести к тому, что возникнут новые ошибки, в том числе по отношению к данных, которые до переобучения обрабатывались корректно. В этом смысле человеческий интеллект снова противоположен ИИ: для человека ошибки — это способ научения, предельный уровень и качество ИИ зависит только от архитектуры, а реальный уровень достигается "шаманскими танцами с бубном" в поисках оптимального подбора параметров модели. Такого, чтобы новые данные не приводили к необходимости полного переобучения, чтобы не было недообучения и переобучения данных одновременно.
009. НЕПОЛНОТА ДАННЫХ
Отчасти я касался этой темы, когда обозначал различие между ИИ и интеллектом в требованиях к количеству и разнообразию данных. Только там речь шла об универсальность решений, в части устойчивости необходимо обратить внимание на неполноту данных, которая носит фундаментальный характер. Что я имею ввиду? Данные не даются нам в своем объективном абсолютном значении, любое значение — это результат соглашений и метрических установок. Еще большей проблемой является то, что любое значение существует в рамках некоторой модели описания реальности, то есть в рамках знаковой системы. Полнотой обладают только феномены, когда мы описываем какой-то феномен, то вынуждены пользоваться парадигмой и моделью в ее рамках. Так, например, для квантовых систем существует знаменитый эффект наблюдателя и закон соотношения неопределённостей, который запрещает одновременное "знание" значений комплементарных величин, например, координаты и импульса.
Для макроскопических устойчивых объектов строгость представления на уровне данных много меньше, но все равно необходимо понимать, что исходный набор признаков — это произвольный набор. Что существует фундаментальная методологическая проблема метаописаний, которая не решена даже на таких рафинированных объектах как математические основания. В конечном итоге это приводит к тому, что неполнота данных для человеческого интеллекта является очень удобным инструментом (это очень важно) генерализации, поэтому выбор конкретных представлений зависит от требований к задаче, а для ИИ — это непреодолимые границы предельного разнообразия решений. В очередной раз мы получаем противоположность ИИ и интеллекта.
010. ОБЪЯСНИМОСТЬ РЕЗУЛЬТАТОВ
В популярной журналистике под плохой объяснимостью результатов обычно понимают то, что нейронные сети и типичный программист не умеют разговаривать. Однако любой алгоритмический результат верифицируем и валидируем — его всегда можно повторить и проверить. Поэтому вместо объяснимости правильно писать понимаемость результатов. Трактовка. Толкование. И — да — это проблемная точка, которая своими корнями уходит в научный метод. Всё дело в том, что не существует правильных моделей, просто часть из них очень полезна в тех или иных условиях. Более того, разные задачи предполагают использование различных парадигм, где один и тот же анализируемый объект может сильно отличаться в репрезентации. Еще сильнее это проявляется в бытовой человеческой деятельности, когда требования к решению задачи полностью определяют модели и используемые инструменты, мы обсудим это чуть подробнее в пункте "умение решать задачи".
Мне очень нравится байка про физика-теоретика, который успешно объяснял поведение кривой, а потом кто-то обратил внимание, что плакат с графиком повешен "вверх ногами". Тогда физик перевернул график, взял минутную паузу и продолжил свои объяснения. Разница в объяснимости результатов между ИИ и человеком не в том, что ИИ не может интерпретировать свои результаты (есть, кстати, целое направление, которое тренирует свои модели именно на интерпретацию), а в том, что интерпретация — это неотъемлемый параллельный процесс человеческого мышления и человеческой деятельности вообще. Можно сказать, что человек находится в социальном контакте со средой, её событиями, реакциями на свои действия и решения. Человеческий мир — это мир постоянного диалога, где всё сущее — это коммуницирующие субъекты. Поэтому объяснимость результатов для человеческого интеллекта — это продолжение его существования, а не один из этапов решения конкретной задачи.
Таким образом, в части устойчивости решений мы снова получили противоположность ИИ человеческому интеллекту. ))
... to be continued ...
Александр Тетеркин
Вот что ты делаешь? Я уже «Искусственный интеллект» в кавычках стал писать.