Найти в Дзене
SL Soft

Разбираемся в ИИ #3: как обучается искусственный интеллект

В предыдущей статье мы выяснили, что машинное обучение — это область искусственного интеллекта, где компьютер обучается не через явное программирование, а на основе данных. В этом тексте разбираемся, как именно это происходит. Вкратце, процесс обучения искусственного интеллекта выглядит так: алгоритмы в ML анализируют данные, находят закономерности, делают прогнозы и на основе этого принимают решения (то есть выдают ответ на поставленный вопрос или задачу). Чтобы научить ML-модель обучаться, необходимо выполнить несколько шагов. Представим, что разрабатываем систему, которая должна определять, кто изображен на картинке: собака или кошка. 1. Сбор и подготовка данных Это самый главный этап в разработке какой-либо модели, он занимает около 80% времени всего процесса. Для начала необходимо подготовить датасет с изображениями и нанесенными на них метками классов (например, «кошка» или «собака»). Условно говоря, собрать в одну папку фото различных собак, а в другую — кошек (в нашем случае —
Оглавление

В предыдущей статье мы выяснили, что машинное обучение — это область искусственного интеллекта, где компьютер обучается не через явное программирование, а на основе данных. В этом тексте разбираемся, как именно это происходит.

Как обучается ИИ: 5 шагов

Вкратце, процесс обучения искусственного интеллекта выглядит так: алгоритмы в ML анализируют данные, находят закономерности, делают прогнозы и на основе этого принимают решения (то есть выдают ответ на поставленный вопрос или задачу).

Чтобы научить ML-модель обучаться, необходимо выполнить несколько шагов. Представим, что разрабатываем систему, которая должна определять, кто изображен на картинке: собака или кошка.

1. Сбор и подготовка данных

Это самый главный этап в разработке какой-либо модели, он занимает около 80% времени всего процесса. Для начала необходимо подготовить датасет с изображениями и нанесенными на них метками классов (например, «кошка» или «собака»). Условно говоря, собрать в одну папку фото различных собак, а в другую — кошек (в нашем случае — примерно по 100 тыс. изображений в каждую). Если картинок недостаточно, система будет путаться: она не сможет выявить закономерности и понять, в чем разница.

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

2. Выбор модели и алгоритма

Для различных типов задач существуют свои модели и алгоритмы.

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

  • Создание модели с нуля требует глубоких знаний в математике, программировании и теории ИИ. Нужно разработать ее архитектуру, написать алгоритмы и обучить ее на большом объеме данных. Этот путь сложный и долгий. Его обычно используют в крупных проектах.
  • Использование готовых моделей — более распространенный и практичный способ. Эти модели представляют собой универсальные классификаторы: сами по себе они не могут ничего определять. Такую ML-модель обучают на своих данных, чтобы она могла справляться с конкретной задачей. Такой подход экономит время и ресурсы.

Подобных «скелетов» очень много, все они разные: для работы с изображениями, подойдет одна модель, для работы с текстами — другая. Так же работает и выбор алгоритма — для классификаций и кластеризации (разделение данных на группы по схожим признакам) нужны разные.

3. Обучение модели

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

Обучение происходит итеративно: модель делает прогнозы, сравнивает их с правильными ответами и корректирует свои внутренние параметры,чтобы уменьшить ошибки. Этот процесс повторяется много раз, пока качество модели не перестанет улучшаться.

4. Оценка качества

После обучения модель проверяют на тестовой выборке — данных, которые она не видела во время обучения. Это позволяет объективно оценить, насколько хорошо она сможет распознавать новые изображения.

Для оценки применяют специальные метрики, например, точность (accuracy), полноту (recall), точность предсказаний (precision) и F1-меру (гармоническое среднее между precision и recall, позволяет учесть оба этих показателя одновременно, что особенно важно, если данные несбалансированы — то есть неравное соотношение представителей разных классов в выборке — в нашем случае, фото собак намного больше, чем кошек — из-за чего простая точность может быть обманчиво высокой). Анализируют ошибки: какие изображения модель перепутала, почему это произошло, и можно ли улучшить данные или подкрутить параметры модели. Если качество недостаточно высокое, необходимо вернуться на этап подготовки данных или настройки модели.

5. Внедрение модели

Когда модель показала хорошие результаты, пора интегрировать ее в реальную систему — например, в приложение для распознавания животных. На этом этапе важно настроить постоянный мониторинг работы модели: отслеживать, как она справляется с новыми данными, не ухудшается ли качество и т.д.

Виды обучения: с учителем и без учителя

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

Обучение с учителем

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

Такой подход широко применяется в задачах распознавания лиц, животных, автомобильных номеров, букв и других объектов. Главный минус обучения с учителем — необходимость вручную подготавливать данные. Этот процесс требует значительных временных и трудовых затрат.

Обучение без учителя

Обучение без учителя работает иначе: модель получает неразмеченные данные и сама пытается найти в них закономерности. Например, если у нас есть миллион фотографий животных со всего мира, но мы не знаем, какие это виды, мы можем загрузить эти данные в модель и попросить ее разделить изображения на группы по сходству. Она самостоятельно определит, какие объекты похожи, а какие — нет.

Глубокое обучение

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

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

Для их обучения нужны большие объемы данных и мощные вычислительные ресурсы. В результате глубокое обучение позволяет создавать интеллектуальные системы, которые понимают контекст и делают тонкие прогнозы — например, не просто распознают птицу на фото, а могут отличить каменного орла от степного по особенностям оперения.

-2

Основная проблема такого обучения в том, что людям непонятно, как именно модель действует — как ищет эти взаимосвязи, из-за чего становится невозможно предугадать, что она может выдать при определенных запросах. Поэтому после глубокого обучения нейросети дополнительно проверяются и донастраиваются: разработчики применяют методы фильтрации и ограничения, чтобы исключить нежелательные или рискованные ответы — например, запретить генерацию шуток про религию или обсуждение спорных политических тем.