Лекция 12. Проектирование прикладного решения с использованием ИИ - цели, метрики качества и проверки
Цель
лекции:
Понять, как создаются и оцениваются реальные проекты с использованием цифровых
технологий и ИИ, научиться переводить жизненные задачи на язык ИИ, а также
разобраться, как измерить «ум» машины и проверить ее надежность без
использования сложных математических формул.
1. Введение: Почему
ИИ-проекты — это не обычные программы?
Создание ИИ-решения кардинально
отличается от классической сборки компьютерных программ или
сайтов.
·
В обычной программе всё предсказуемо.
Программист пишет четкий код: «если пользователь нажал кнопку А, то сделать
действие Б». Результат гарантирован на 100%. Это как сборка мебели по
инструкции.
·
В ИИ-проектах мы имеем дело с
вероятностями. ИИ учится на примерах, и мы никогда не можем заранее
гарантировать, что он будет прав в абсолютно каждом случае. Проектирование ИИ —
это всегда исследование.
·
Главная задача проектировщика —
сделать так, чтобы неизбежные ошибки ИИ не разрушили проект, а сама система
приносила реальную пользу.
2. Постановка целей:
Чего мы хотим от машины? (10 минут)
Любой ИИ-проект начинается не с
написания кода, а с четкого понимания целей. В проектировании важно разделять
цель для человека (бизнеса) и задачу для ИИ.
Посмотрите, как абстрактная идея
превращается в конкретное ИИ-решение:

Главное правило
проектировщика:
ИИ ради ИИ — это пустая трата
времени и ресурсов. Технология должна решать конкретную рутинную проблему,
экономить деньги, время или спасать человеческие жизни. При этом всегда нужно
оценивать цену ошибки: если ИИ ошибется и порекомендует студенту не ту
песню в плеере — это пустяк. Если ИИ ошибется при анализе поломки беспилотного
автомобиля — это катастрофа.
3. Метрики качества: Как
оценить работу ИИ без формул?
Обычно люди оценивают работу
компьютера словом «точность». Но для ИИ этого недостаточно, ведь он может
ошибаться по-разному. Давайте разберем метрики качества ИИ на примере
интеллектуального сканера безопасности в аэропорту, который ищет
запрещенные предметы в рюкзаках.
У нашего ИИ есть четыре сценария
взаимодействия с реальностью:
1.
Успех №1: В рюкзаке есть опасный
предмет, ИИ его нашел.
2.
Успех №2: Рюкзак пустой
(безопасный), ИИ пропустил его.
3.
Ложная тревога: Рюкзак безопасен, но ИИ
показалось, что там что-то есть (система заставила офицера зря открывать
сумку).
4.
Пропуск цели: В рюкзаке реальное
оружие, но ИИ его не заметил и пропустил.
На основе этих сценариев инженеры
смотрят на три разные характеристики системы:
А. Общий процент
угадываний (Завуалированная ловушка)
Казалось бы, чем выше процент
верных ответов ИИ, тем лучше. Но представьте: через аэропорт проходит 10 000
сумок. Из них только в одной лежит запрещенный предмет. Если мы запрограммируем
абсолютно «глупый» автомат, который на все сумки без разбора будет говорить:
«Всё чисто!», его точность составит 99,99%! Математически это
идеальная система. Но практически — она абсолютно бесполезна, так как пропустила
единственную реальную угрозу.
·
Вывод: Оценивать ИИ только по общему
проценту угадываний нельзя.
Б. Чистота прогнозов
(Precision)
Эта метрика отвечает на вопрос:
«Если ИИ забил тревогу, каков шанс, что он прав?». Высокая чистота
означает, что ИИ не паникует по пустякам.
·
Где это важно: В ИИ-фильтрах спама для
вашей почты. Нам важно, чтобы важные письма не улетали в корзину. Пусть ИИ лучше
случайно пропустит одно рекламное письмо во входящие, чем заблокирует и скроет
от вас важное письмо от руководства или вуза.
В. Чувствительность
системы (Recall)
Эта метрика отвечает на вопрос:
«Какой процент от всех реальных объектов ИИ смог обнаружить?». Высокая
чувствительность означает, что ИИ найдет всё, что нужно, даже если ради этого
придется перестраховаться и поднять кучу ложных тревог.
·
Где это важно: В нашем примере с
аэропортом, а также в медицине (поиск болезней на снимках). Нам жизненно
необходимо найти все опасные предметы или все скрытые недуги.
Пусть ИИ лучше выдаст ложную тревогу на безобидную связку ключей, и человек
проверит её руками — это цена безопасности. Главное — не допустить «пропуска
цели».
4. Процедуры
верификации: Как проверить ИИ на честность?
Как проектировщик может убедиться,
что ИИ реально научился понимать закономерности, а не просто
смухлевал?
А. Принцип «Экзамена»
(Разделение данных)
Никогда нельзя проверять ИИ на тех
примерах, на которых он учился. Это все равно что дать студенту на экзамене
точно те же билеты с готовыми ответами, которые он зубрил дома — он просто
ответит по памяти, не понимая сути. Поэтому все собранные данные (например,
фотографии для обучения) делят на две части:
1.
Учебник (Обучающая
выборка): На этих данных ИИ тренируется,
совершает ошибки и настраивается.
2.
Экзамен (Тестовая
выборка): Эти данные прячут от ИИ. Их
показывают системе только в самый последний момент, чтобы замерить реальную
чистоту и чувствительность ее работы.
Б. Эффект зубрежки
(Переобучение)
Иногда ИИ оказывается слишком
«хитрым». Вместо того чтобы понять общие правила (например, как отличить кошку
от собаки), он просто наизусть запоминает все картинки из учебника вплоть до
случайных пикселей на фоне. На учебных данных такой ИИ работает идеально, а на
экзамене (на новых картинках) — полностью проваливается. Задача проектировщика —
вовремя заметить этот разрыв и вовремя остановить «зубрежку» ИИ, заставив его
искать более простые и общие правила.
5. Внедрение в жизнь и
«старение» ИИ
Проверка ИИ-решения не
заканчивается на экзамене. Когда систему выпускают в реальный мир, её ждет еще
один этап проверки:
·
A/B-тестирование: Пользователей делят на
две группы. Первой группе помогает ИИ, вторая работает по-старому. Через время
их результаты сравнивают (например, стало ли первой группе удобнее, быстрее ли
они справляются с задачами).
·
Цифровое «старение» (Устаревание
данных): Физический мир постоянно меняется.
ИИ, который идеально предсказывал предпочтения покупателей в одежде в 2024 году,
начнет совершать грубые ошибки в 2026 году, потому что изменилась мода и вкусы
людей. Проектировщик должен заранее заложить в проект регулярное обновление
знаний ИИ.
Вопросы
1.
Вы проектируете систему ИИ, которая
должна автоматически одобрять заявки на выдачу кредитов в банке. Какая ошибка
для банка будет более критичной: выдать кредит ненадежному человеку (пропуск
цели) или случайно отказать честному человеку (ложная тревога)? Какую
характеристику ИИ (чистоту или чувствительность) вы будете настраивать в первую
очередь?
2.
Почему нельзя проверять качество
работы робота-переводчика на тех же самых текстах, на которых его обучали
языку?