1. Фундаментальные понятия: различие между ИИ, машинным обучением и глубоким обучением
Фундаментальные понятия: различие между ИИ, машинным обучением и глубоким обучением
Добро пожаловать на курс «Искусственный интеллект для разработчиков». Как программисты, мы привыкли к точности в синтаксисе и логике. Однако, когда речь заходит об индустрии ИИ, терминология часто превращается в маркетинговый шум, где понятия смешиваются и подменяют друг друга.
Чтобы создавать эффективные приложения, нам нужно четко понимать, какой инструмент мы используем. В этой статье мы разберем иерархию понятий, поймем, чем алгоритмически отличается машинное обучение от классического программирования, и выясним, почему глубокое обучение стало таким популярным.
Иерархия понятий: Эффект матрешки
Самый простой способ визуализировать отношения между этими терминами — представить их как вложенные множества или матрешку. Это не три разные технологии, конкурирующие друг с другом, а уровни детализации одной и той же области.
!Схематическое изображение вложенности понятий: DL является частью ML, который является частью AI.
Разберем каждый уровень подробнее с точки зрения разработчика.
Уровень 1: Искусственный интеллект (AI)
В широком смысле ИИ зародился еще в 1950-х годах. Важно понимать, что ИИ не обязательно подразумевает «обучение».
Символьный ИИ и экспертные системы
До прихода эры больших данных доминировал так называемый символьный ИИ (Symbolic AI). Для нас, разработчиков, это по сути сложная система правилif-then-else.Представьте, что вы пишете бота для игры в шахматы, просто перебирая все возможные ходы и оценивая их по жестко заданным критериям. Это ИИ? Да. Обучается ли он? Нет. Если вы не обновите код, он никогда не станет играть лучше.
> Искусственный интеллект — это наука и инженерия создания интеллектуальных машин, особенно интеллектуальных компьютерных программ. > — Джон Маккарти, автор термина «Искусственный интеллект» Стэндфордский университет: Что такое ИИ
Сегодня мы разделяем ИИ на два типа: * Узкий ИИ (ANI — Artificial Narrow Intelligence): Системы, заточенные под одну задачу (игра в Го, распознавание лиц, перевод текста). Весь современный ИИ, включая ChatGPT — это ANI. * Общий ИИ (AGI — Artificial General Intelligence): Гипотетическая система, способная решать любую интеллектуальную задачу на уровне человека. На данный момент не существует.
Уровень 2: Машинное обучение (ML)
Здесь происходит сдвиг парадигмы. В классическом программировании мы пишем правила. В машинном обучении мы «скармливаем» алгоритму ответы, чтобы он сам нашел правила.
Смена парадигмы
!Сравнение потоков данных в классическом программировании и машинном обучении.
* Традиционный подход: Вы пишете функцию, которая принимает параметры и возвращает результат на основе вашей логики. * ML подход: Вы даете алгоритму тысячи пар «входные данные — правильный результат». Алгоритм находит математическую зависимость, которая превращает вход в выход.
Математическая суть (без магии)
В основе большинства алгоритмов ML лежит попытка построить функцию , которая максимально точно предсказывает . Рассмотрим простейший пример — линейную регрессию. Это «Hello World» в мире ML.
Модель пытается найти зависимость вида:
Где: * — предсказание (то, что мы хотим получить, например, цена квартиры). * — входные данные (площадь квартиры). * — вес (weight). Это параметр, который модель «выучивает». Он показывает, насколько сильно площадь влияет на цену. * — смещение (bias). Базовое значение, если равен нулю.
Процесс «обучения» заключается в том, что алгоритм подбирает такие значения и , чтобы ошибка между предсказанным и реальным значением была минимальной.
Основные типы ML
Уровень 3: Глубокое обучение (DL)
Глубокое обучение — это эволюция машинного обучения, вдохновленная структурой человеческого мозга (хотя и очень отдаленно).
Если классическое ML (например, линейная регрессия или деревья решений) отлично работает с табличными данными (Excel, SQL базы), то оно часто пасует перед «неструктурированными» данными: изображениями, звуком, текстом.
Проблема признаков (Feature Extraction)
Главное различие для разработчика: * В классическом ML вы должны сами выделить признаки. Если вы хотите отличить кошку от собаки, вы (программист) должны написать код, который ищет форму ушей, длину носа и т.д., и передать эти цифры в алгоритм. * В Deep Learning алгоритм сам выделяет признаки. Вы просто подаете картинку (массив пикселей), а нейросеть сама разбирается, что уши и нос — это важные детали.
Нейронные сети
DL использует искусственные нейронные сети с множеством слоев (отсюда слово «Глубокое»).
!Архитектура глубокой нейронной сети: входной слой, скрытые слои и выходной слой.
Математически один нейрон выполняет операцию, похожую на регрессию, но затем пропускает результат через функцию активации (например, ReLU или Sigmoid), чтобы добавить нелинейность. Без нелинейности сеть, сколько бы слоев в ней ни было, оставалась бы простой линейной моделью.
Формула одного нейрона:
Где: * — выходное значение нейрона. * — функция активации (преобразует результат, например, отсекает отрицательные значения). * — знак суммирования (сумма произведений всех входов на их веса). * — вес -го входа. * — -е входное значение. * — смещение нейрона.
Глубокое обучение требует огромных объемов данных и мощных вычислительных ресурсов (GPU), так как количество параметров (весов) в современных моделях (как GPT-4) исчисляется триллионами.
Генеративный ИИ (Generative AI)
Где в этой схеме находится хайповый Generative AI (ChatGPT, Midjourney)? Это подмножество Глубокого обучения. Это модели, которые не просто классифицируют данные (кошка или собака), а генерируют новые данные, похожие на те, на которых они обучались.
Сводная таблица для разработчика
| Характеристика | Классическое ML | Глубокое обучение (DL) | | :--- | :--- | :--- | | Данные | Работает хорошо даже на малых объемах | Требует огромных объемов данных | | Железо | Достаточно CPU | Требуются мощные GPU/TPU | | Признаки (Features) | Ручное извлечение (Feature Engineering) | Автоматическое извлечение | | Интерпретируемость | Высокая (понятно, почему принято решение) | Низкая («Черный ящик») | | Время обучения | Минуты или часы | Дни или недели |
Заключение
Понимание разницы между этими понятиями — первый шаг к осознанному использованию ИИ. * Используйте классическое ML, если у вас табличные данные, важна интерпретируемость или ограничены ресурсы. * Используйте Deep Learning, если вы работаете со сложными данными (зрение, NLP) и у вас есть вычислительные мощности. * Помните, что все это — ИИ, инструменты для автоматизации интеллектуального труда.
В следующей статье мы углубимся в процесс подготовки данных, так как именно данные, а не код, являются «топливом» для этих систем.