Курсовая работа

Курсовая по искусственному интеллекту: как выбрать задачу, модель и критерий качества без общих слов об ИИ

Как написать курсовую по искусственному интеллекту: сформулировать задачу, выбрать данные и модель, задать метрики, провести эксперимент и оценить ограничения.

К содержанию
Содержание +

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

Сформулируйте задачу

Сначала определите тип задачи.

Например:

  • классификация;
  • прогнозирование;
  • распознавание объектов;
  • генерация текста;
  • поиск аномалий;
  • рекомендации;
  • планирование;
  • принятие решения.

Не пишите «создать интеллектуальную систему для бизнеса» без конкретной функции.

Лучше: «Определять категорию обращения клиента по тексту сообщения».

Определите вход и выход

Для каждой задачи должны быть ясны входные данные, выход, единица анализа и ограничения.

Если система классифицирует изображения, входом является изображение, выходом - класс.

Если анализирует документ, нужно понять, обрабатывается весь текст или отдельные фрагменты.

Данные

Опишите источник.

Укажите:

  • откуда данные;
  • сколько объектов;
  • какие признаки;
  • есть ли разметка;
  • есть ли пропуски;
  • есть ли дисбаланс.

Не называйте датасет качественным только потому, что он большой.

Большой объём не компенсирует плохую разметку.

Разметка

Для supervised-подхода качество меток критично.

Проверьте:

  • кто размечал;
  • по каким правилам;
  • были ли спорные случаи;
  • как решались разногласия.

Если классы определены расплывчато, модель будет учиться на неоднозначной задаче.

Baseline

До сложной модели сделайте простой baseline.

Например:

  • правило;
  • логистическая регрессия;
  • простое дерево;
  • частотный подход.

Baseline нужен, чтобы понять, даёт ли сложный метод реальный прирост.

Если нейросеть улучшает результат на 0,2%, это может не оправдывать усложнение.

Метрика

Выберите метрику под задачу.

Для классификации это может быть:

  • accuracy;
  • precision;
  • recall;
  • F1;
  • ROC-AUC.

Не берите accuracy автоматически.

Если положительный класс редкий, высокая accuracy может получиться у модели, которая почти всегда отвечает «нет».

Цена ошибки

Ошибки могут быть неравноценными.

В фильтре спама ложная блокировка важного письма и пропуск спама имеют разную цену.

В другой задаче пропуск редкого случая может быть серьёзнее ложной тревоги.

Опишите, какой тип ошибки для вашей задачи критичнее.

Разделение данных

Обучение и проверка должны быть разделены.

Минимально:

  • train;
  • validation;
  • test.

Не подбирайте параметры по test-набору.

Иначе итоговая оценка перестаёт быть независимой.

Утечка данных

Проверьте, не попадает ли в модель информация о правильном ответе косвенно.

Например:

  • идентификатор, связанный с классом;
  • признак, вычисленный после события;
  • одинаковые записи в train и test.

Такая утечка может дать почти идеальную метрику, но модель не будет работать в реальности.

Предобработка

Опишите, что делаете с данными:

  • нормализация;
  • кодирование категорий;
  • токенизация;
  • масштабирование;
  • обработка пропусков.

Важно выполнять операции так, чтобы информация test-набора не влияла на обучение.

Например, параметры стандартизации рассчитываются по train.

Выбор модели

Обоснуйте.

Для табличных данных разумно сравнить несколько классических моделей.

Для изображений могут быть уместны свёрточные архитектуры.

Для текста - модели, работающие с последовательностями или трансформерами.

Не выбирайте модель только потому, что она популярна.

Сложность модели

Более сложная модель не всегда лучше.

Она может:

  • дольше обучаться;
  • требовать GPU;
  • хуже интерпретироваться;
  • переобучаться.

Сравнивайте качество вместе с вычислительной стоимостью.

Переобучение

Если качество на train высокое, а на validation заметно хуже, модель может запоминать выборку.

Проверьте:

  • регуляризацию;
  • размер модели;
  • объём данных;
  • augmentation;
  • early stopping.

Не пытайтесь улучшить train-метрику бесконечно.

Гиперпараметры

Опишите, какие параметры подбирались.

Например:

  • глубина дерева;
  • learning rate;
  • размер batch;
  • число эпох;
  • коэффициент регуляризации.

Не подбирайте сотни комбинаций и не скрывайте это.

Чем больше перебор, тем выше риск подогнать validation-набор.

Интерпретируемость

Если решение должно объясняться, учитывайте это заранее.

Можно использовать:

  • важность признаков;
  • локальные объяснения;
  • простую модель;
  • визуализацию внимания, если метод допускает.

Но не называйте любое explanation-инструментом доказательством причинности.

Он показывает поведение модели, а не устройство мира.

Смещение данных

Модель учится на тех данных, которые получила.

Если выборка не отражает будущую эксплуатацию, качество может снизиться.

Проверьте период, регион, тип пользователей и классы.

Не переносите вывод на всю популяцию без оснований.

Генеративная модель

Если тема связана с генерацией текста или изображений, обычной accuracy может не быть.

Тогда заранее задайте критерии:

  • фактическая точность;
  • соответствие заданию;
  • полезность;
  • устойчивость;
  • ручная экспертная оценка.

Не оценивайте генеративную систему только по одному красивому примеру.

Галлюцинации

Для генерации текста важно отдельно проверять факты.

Можно собрать набор вопросов с известными ответами и оценить правильность, уверенный вымысел, отказ и ссылку на источник.

Не считайте грамотный стиль доказательством корректности.

Retrieval

Если система использует поиск по документам, разделяйте качество поиска и качество генерации.

Проверьте, нашёл ли retrieval нужный фрагмент и использовала ли модель его правильно.

Иначе невозможно понять, где произошла ошибка.

Эксперимент

Эксперимент должен быть воспроизводимым.

Сохраните:

  • данные;
  • seed;
  • параметры;
  • версию модели;
  • код;
  • среду.

Одного запуска недостаточно, если результат зависит от случайной инициализации.

Сравнение

Сравнивайте модели по одинаковым данным и метрикам.

Полезная таблица:

| Модель | F1 | Время обучения | Память |
|---|---:|---:|---:|
| ... | ... | ... | ... |

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

Ограничения

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

Это делает вывод научнее.

Защита

Покажите:

1. задачу;
2. данные;
3. baseline;
4. модель;
5. метрику;
6. эксперимент;
7. ограничение.

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

Ещё по теме