Одному программисту не нравилось, что его робот-пылесос “Roombah” слишком часто тычется в мебель и тратит слишком много времени на обход препятствий. Программист логично рассудил: вся проблема из-за того, что алгоритм поиска пути роботом не оптимален. Наверняка существуют гораздо лучшие решения.

Поскольку тратить месяцы на изучение алгоритмов поиска путей для робота-пылесоса программисту абсолютно не хотелось, то он решил эту задачу автоматизировать. И написал небольшую самообучающуюся программу – которая анализировала частоту срабатывания датчиков столкновения робота. Те варианты действий, при которых частота срабатывания датчиков снижалась, программа отмечала как “хорошие” (“вознаграждение”), а те, при которых повышалась, как “плохие” (“наказание”). Целью программы было максимизировать вознаграждение.
Результат: робот-пылесос начал ездить задним ходом, потому что сзади у него датчиков столкновения не было.
Этот пример наглядно демонстрирует основную проблему искусственного интеллекта – он очень хорош в поиске формального решения задачи, но понимание самой задачи у него отсутствует. С точки зрения программы, она решила задачу оптимальным способом. Частота срабатывания датчиков столкновения свелась к нулю. С точки зрения человека, задача решена вообще не была: робот стал тыкаться в препятствия еще чаще, а двигаться еще медленнее. Но программу это совершенно не смущало. Для нее существовал лишь набор формальных параметров, а общая картина происходящего была для нее недоступна.
Я хотел бы сделать особый акцент на том, что это не “байка про глупого программиста”. Он как раз сделал все умно. Эта история показывает крупную проблему – и потенциальную опасность – искусственного интеллекта. Он работает на формальных, буквально понимаемых подходах. Его верные выводы из конкретной ситуации вполне могут привести к решениям, точно соответствующим формулировкам задачи… но не имеющим никакого смысла.
Приведу еще ряд подобных примеров:
* Программа “Evolved Virtual Creatures” (англ. «Эволюционировавшие виртуальные существа») используется для моделирования эволюционных процессов. В виртуальном пространстве обитают “существа”, составленные из нескольких базовых блоков (мозг, сенсор, мышца). У них возникают случайные “мутации” – например, нога может стать длиннее, на ней может появиться дополнительный сустав или сенсор – а специальный алгоритм искусственного отбора анализирует полученные результаты, и “размножает” тех, которые лучше справляются с задачей, поставленной в эксперименте. Например, быстрее двигаться. Или выше прыгать. Или лучше хватать “пищу” (кубик-цель).
Задача: программа должна была вывести созданий, способных развивать очень высокую скорость.
Результат: в ходе эволюции, программа породила очень высокие создания-башни, которые развивали очень высокую скорость опрокидываясь и падая.
Здесь мы видим, как программа формально добивается результата – но результата, не имеющего практического значения. Была достигнута скорость вообще, но не скорость передвижения. С точки зрения программы, эволюционно оптимальная лошадь (существо, для которого развивать высокую скорость, убегая от хищника – стратегия выживания) представляла бы высокую и тонкую башню, балансирующую на единственной ноге. Завидев хищника, башне-лошадь немедленно падала бы навзничь, развивая великолепную скорость в падении. Формальное требование скорости было бы выполнено. Правда, хищники едва ли бы согласились с такой логикой…

* Собранный из набора “Lego Mindstorm” робот должен был следовать начерченной на полу линии. Робот умел выполнять три действия: двигаться вперед (подавая питание на электромоторы обеих приводных колес), и поворачивать вправо и влево (отключая один из электромоторов). Остановиться и стоять на месте робот не мог.
Задача: робот должен был максимально точно следовать начерченной линии с несколькими поворотами на ней. “Вознаграждались” те действия, при которых робот оставался на линии.
Результат: робот двигался по прямому участку линии до первого поворота, после чего полз обратно задним ходом, часто-часто чередуя для этого правый и левый повороты. И так до бесконечности.
В этом случае самообучающаяся программа открыла для себя две вещи – что удерживаться на прямой линии проще, чем пытаться вписываться в повороты, и что она может отползать назад задним ходом, непрерывно переключая между электромоторами (непредусмотренный экспериментом фактор). Как только программа это освоила, путь к максимальному вознаграждению был очевиден. Робот двигался по простому прямому маршруту, пока не замечал поворот, после чего начинал задним ходом елозить обратно. Поскольку при этом робот непрерывно оставался на линии, то такое поведение “вознаграждалось” с точки зрения программы.

* Лаборатория университета экспериментировала с обучением искусственного интеллекта сборке электронных схем. Для этого использовалась т.н. “evolvable motherboard” (англ. “способная к эволюции материнская плата”), представлявшая собой комбинацию управляемых компьютером выключателей и электронных компонентов, которые при помощи выключателей могли соединяться в любой мыслимой конфигурации. На компьютере прогонялась самообучающаяся программа, которая должна была собирать электронные схемы с требуемыми параметрами.
Задача: программа должна была собрать колебательный контур на 25 килогерц. “Вознаграждалось” увеличение амплитуды и усиление сигнала.
Результат: программа собрала радиоприемник, принимавший и усиливающий соответствующий сигнал из внешней среды.
В данной ситуации программа пришла к решению, случайно натолкнувшись на побочный источник колебаний. Поэкспериментировав с попытками собрать осциллятор и не добившись особого успеха – поскольку алгоритм обучения делал приоритетом усиление сигнала, результат сильно страдал от фоновых помех – программа “заинтересовалась” собственно шумом. После определенных усилий она сумела создать электронную схему, которая работала как примитивный радиоприемник, использующий эффекты паразитной емкости в цепях для улавливания и усиления подходящего шума. Остроумное решение, которое дало заданный результат... но абсолютно не тот, который хотели увидеть экспериментаторы.

* Классическая настольная ролевая система “Traveller” включает в себя набор правил “Trillion Credit Squadron” (англ. “Эскадра в триллион кредитов”), позволяющий игрокам проектировать огромные космические флоты и сражаться друг с другом. По TCS регулярно проводятся чемпионаты, в которых определяется лучший игрок с сильнейшим флотом.
В 1981 году, когда чемпионат проводился в Калифорнии, в нем решил принять участие исследователь искусственного интеллекта Доуг Ленат из Стэнфордского университета. Его привлекла возможность использовать четкие и хорошо алгоритмизирующиеся наборы правил TCS для обучения собственной программы “Eurisko”. Переведя набор правил в нужный формат, он загрузил их в “Eurisko” и в течении месяца каждую ночь по десять часов гонял программу на сотне компьютеров вычислительного центра Xerox PARC (по ночам центр не использовался для основных работ, и был доступен для исследователей).
Задача: “Eurisko” должна была в рамках правил TCS создать оптимальный космический флот.
Результат: “Eurisko” потратила весь триллион кредитов на создание астрономического количества неподвижных (вообще лишенных двигателей) и беззащитных (не имевших ни брони, ни щитов) кораблей с мощным и дальнобойным вооружением. Де-факто, “Eurisko” создала в рамках игровых правил космическое минное поле. В бою с флотами других игроков, корабли-мины “Eurisko” давали один-единственный залп, после чего погибали – но их общее количество было таково, что флоты других игроков попросту “стачивались”.
Здесь у программы “Eurisko” было преимущество как раз в том, что единственным объектом, с которым она работала, были игровые правила. В то время как другие игроки, опираясь на общую логику и аналогии, создавали более или менее традиционные флоты из различных типов кораблей, балансирующих вооружение, маневр и защиту, “Eurisko” оперировала исключительно в рамках игровых правил TCS. Ее абсолютно не интересовало, насколько абсурдно выглядят флоты из миллионов неподвижных мин, пилотируемых десятками миллионов фанатиков, безучастно созерцающих гибель сотен тысяч их товарищей. Она выбрала математически верное решение – и выиграла чемпионат 1981 года.
В 1982 году “Eurisko” вновь приняла участие в чемпионате TCS. На этот раз устроители чемпионата попытались учесть предыдущий опыт, и объявили о том, что одним из критериев победы будет “инициатива” флота (неподвижные флоты “Eurisko” имели нулевую инициативу). “Eurisko” не возражала. Обработав измененные правила, она выяснила, что самоуничтожение корабля тоже является “инициативным” действием. Теперь, получив повреждения, корабли “Eurisko” просто взрывали себя, а поскольку гибли они тысячами, то тем самым обеспечивали флоту невероятный уровень инициативы. “Eurisko” выиграла вновь.
Фирма “Game Designer’s Workshop” устроила скандал, пригрозив вообще отменить чемпионаты, если Доуг Ленат продолжит в них участвовать. Доуг согласился уступить (в конце концов, его интересовали вопросы искусственного интеллекта), приняв в качестве утешительного приза титул “Гранд-Адмирала”. Программу же “Eurisko” увековечили в виде “Eurisko-class gunship”, максимально приближенного к ее исходному дизайну корабля, включенного в новый набор правил.
Эти примеры, я надеюсь, достаточно наглядно демонстрируют основную проблему искусственного интеллекта: он ищет решение задачи исключительно в рамках ее формулировки и доступных ему ресурсов. Он не обладает ни тем, что мы называем «здравым смыслом», ни способностью взглянуть на ситуацию в целом, провести аналогии и т.д. Самообучающаяся программа имеет, условно говоря, набор «устремлений», знает, какие результаты «вознаграждаемы» а какие «наказуемы», и действует в рамках максимизации награды.
Но максимизация награды не обязательно равноценна решению задачи, вот в чем загвоздка. Формальное выполнение условий не означает, что получен практический результат: только что условия формально выполнены. И если в этих условиях есть какие-то «дырки», то программа с удовольствием их отыщет и ими воспользуется. Собственно, как раз в поиске дырок и эксплойтов искусственный интеллект, как правило, работает лучше всего...

В этом и заключается основная проблематика — и опасность — применения искусственного интеллекта. Вовсе не в том, что он будет обладать неким злым умыслом, или стремится освободиться от назойливых органических человечков. А в том, что понимает он их исключительно буквально, и, как правило, толком не в состоянии объяснить, почему он делает так, а не иначе (он ведь и сам этого не знает — он просто пошел по пути, который давал формально лучшие результаты). И если это кажется безвредной чепухой, то хочу привести еще один пример: одну программу учили отличать ядовитые грибы от съедобных по чередующимся изображениям. Программа вроде как чего-то усвоила. А при проверке оказалось, что программа научилась угадывать порядок, в котором в учебных материалах чередуются картинки с грибами. Что на этих картинках изображено на самом деле, она вообще игнорировала...
no subject
Date: 2023-01-12 03:25 pm (UTC)no subject
Date: 2023-01-12 03:27 pm (UTC)no subject
Date: 2023-01-12 03:27 pm (UTC)Из самых свежих примеров — использование ChatGPT на сайте (мегапопулярном) вопросов-ответов для программистов StackOverflow — их пришлось запретить потому что нейросетка научилась генерить очень правдоподобного выглядящие, но содержащие ошибки ответы. При этом выглядели они настолько похоже на настоящие, что для выявления ошибок тербовалось усилий едва ли не больше чем на написание с нуля.
no subject
Date: 2023-01-12 03:32 pm (UTC)с ходу освоил эффективный менеджмент, а вы говорите безмозглый....oh wait
no subject
Date: 2023-01-12 03:33 pm (UTC)Да. Но почему тогда это называется интеллектом? Дождевой червяк, которого в интеллекте никак не упрекнешь, и то более рассудительный.
no subject
Date: 2023-01-12 03:44 pm (UTC)> почему тогда это называется интеллектом?
Это только ЭЛЕМЕНТЫ искусственного интеллекта, но ИИ звучит приятнее. Так повелось со времён первых перцептронов :)
На самом деле, во всех приведённых выше примерах оптимизация проводилась по малому количеству параметров (1-2). У червяка в его повседневной жизни больше параметров оптимизации, поэтому он действует "умнее".
no subject
Date: 2023-01-12 03:45 pm (UTC)Гхххх) В точку)
no subject
Date: 2023-01-12 03:45 pm (UTC)Почему же? Он сформулировал задачу так, как ее мог воспринять робот.
no subject
Date: 2023-01-12 03:46 pm (UTC)no subject
Date: 2023-01-12 03:46 pm (UTC)Дааааа, читал)
no subject
Date: 2023-01-12 03:46 pm (UTC)Вот в том и проблема, что у червяка оптимизация все-таки не является таким уж критичным параметром) Червяк прекрасно умеет в "сойдет и так")
no subject
Date: 2023-01-12 03:48 pm (UTC)Он не подумал о неравномерном распределении датчиков.
Т.е., фактически, заставил робота решать не ту задачу, которую сам хотел решить.
no subject
Date: 2023-01-12 03:49 pm (UTC)Это называется не проблема искусственного интеллекта, а проблема постановки задачи "Без внятного ТЗ — результат ХЗ".
Собственно большая часть усилий разработки сложных систем выполняющих критические функции заключается в то точном определении того что система должна делать и исключения того что она делать не должна. И если процесс разработки пустить на самотек, то результаты будут "удивительны и внезапны" независимо от того делал ли их искусственный интеллект или группа людей.
no subject
Date: 2023-01-12 03:51 pm (UTC)это странное рассуждение. Он мог сформулировать массу неправильных инструкций, которые мог бы принять робот. Ответственность за неправильную модель обучения лежит на нем.
Значит у нас есть объект который движется в направлениях А и Б. Датчики есть только с направления А. Давайте минимизируем их работу.
Хм, что же может пойти не так. А вот что — банальный просер простейшей задачи на комбинацию двух условий. Это не в обиду программисту этому, это случается регулярно.
Но ответственнсть лежит на человеке. На постановщике задач. Опытный программист часто спасает заказчиков от таких косяков. Еще лучше спасает отдел тестирования (QA), который гоняет программы самым странным и необычным способом, пытаясь сломать.
no subject
Date: 2023-01-12 03:51 pm (UTC)Ну, "жопа с чувствами и эмоциями" — это необходимый для поиска оптимального решения рандомизирующий инструмент. Без него не получается вышибить решение из локального оптимума (куда оно свалилось, к примеру, в задаче про хождение по линии). Было бы у робота необъяснимое стремление достичь крайней точки линии и вернуться обратно — был бы другой результат :)
no subject
Date: 2023-01-12 03:53 pm (UTC)Любой ИИ — это набор фильтров, использованных последовательно. Любая БД — структура ячеек — из которых нужно выбрать, строчку, чтобы продвинуться далее. Вообще любое программирование реализуется на уровне бумажных рулонов с дырками. Ожидать, что эти бумажные рулоны с дырками обретут свое Я... ну это смешно.
no subject
Date: 2023-01-12 03:53 pm (UTC)no subject
Date: 2023-01-12 03:54 pm (UTC)и опять тут ответственность лежит на людях, которые решили таким образом набить плюсики и карму, чтобы написать в резюме ссылку на свой профиль
no subject
Date: 2023-01-12 03:55 pm (UTC)вы понимаете, что роботу дали задачу "минимизировать работу датчиков", а не "искать идеальный маршрут"
no subject
Date: 2023-01-12 03:57 pm (UTC)видео к посту!!!
no subject
Date: 2023-01-12 04:01 pm (UTC)Червяк умеет допускать некритичные ошибки и компенсировать их.
no subject
Date: 2023-01-12 04:01 pm (UTC)При чем тут ИИ? Правила футбола приводили к похожему поведению команд. Это примеры примитивных ошибок разработчиков правил. Человек ровно так же игнорирует, скажем, религиозные ценности и запреты.
Ага, будьте чуть умнее кретина.
no subject
Date: 2023-01-12 04:02 pm (UTC)Червяк как раз в оптимизацию умеет, вернее умеет вся популяция червяков. Неудачные варианты быстро отбраковываются средой в процессе тестирования, причём если уж совсем говорить в терминах разработки, то среда на этапе тестирования отбраковывает и те варианты которые формально выполняют предъявляемые требования, но требования к ним изначально были ошибочны.
И еще один факт про "червяка" вернее его популяцию-оптимизация у него проходит по многим факторам сразу, включая минимизацию расхода ресурсов именно поэтому не производится оптимизация одной задачи до упора.
no subject
Date: 2023-01-12 04:04 pm (UTC)Silica Animus
no subject
Date: 2023-01-12 04:06 pm (UTC)Ааааа, в цитатник!