1. Основы Deep Learning: от нейронов до CNN и RNN
Основы Deep Learning: от нейронов до CNN и RNN
Глубокое обучение (Deep Learning) — это не магия, а математическая статистика, умноженная на вычислительную мощность. Если классическое машинное обучение требует от инженера ручного выделения признаков (например, для определения стоимости квартиры вы сами создаете колонки «площадь», «район», «этаж»), то Deep Learning (DL) автоматизирует этот процесс. Нейросеть самостоятельно находит сложные зависимости в «сырых» данных: пикселях изображения, звуковых волнах или последовательностях текста.
В этой статье мы разберем архитектурные блоки, из которых строятся современные ИИ-системы: от простейшего перцептрона до сверточных (CNN) и рекуррентных (RNN) сетей.
Искусственный нейрон: атом глубокого обучения
Любая нейросеть, будь то ChatGPT или система распознавания лиц, состоит из элементарных единиц — искусственных нейронов. Их работа вдохновлена биологией, но математически они представляют собой функцию взвешенной суммы.
Анатомия нейрона
Нейрон получает входные данные, умножает их на веса (важность каждого входа), суммирует и добавляет смещение. Затем результат проходит через функцию активации.
Математически это записывается так:
где — выходное значение нейрона, — функция активации (вносит нелинейность), — количество входов, — вес -го входа (определяет силу влияния), — значение -го входа, — смещение (bias), позволяющее сдвигать функцию активации.
Пример на числах: Представьте, что нейрон решает, стоит ли покупать квартиру.
Расчет до активации: . Если функция активации просто проверяет «больше 0», то нейрон «выстрелит» (активируется), и мы купим квартиру.
Согласно education.yandex.ru, нейронные сети представляют собой последовательность таких дифференцируемых преобразований, где параметры настраиваются одновременно.
Зачем нужна нелинейность?
Если бы мы просто суммировали входы, то даже сеть из 100 слоев была бы эквивалентна одному линейному уравнению. Функции активации, такие как ReLU (Rectified Linear Unit), позволяют сети учить сложные кривые и формы.
Формула ReLU:
где — выходное значение функции, — входное значение. Если положительный, он проходит без изменений; если отрицательный — становится нулем.
Полносвязные сети (MLP) и процесс обучения
Когда мы объединяем нейроны в слои, где каждый нейрон предыдущего слоя связан с каждым нейроном следующего, мы получаем полносвязную сеть (Dense Network или MLP).
Однако просто создать структуру недостаточно. Сеть нужно обучить. Процесс обучения сводится к минимизации ошибки.
По данным timeweb.cloud, глубокое обучение позволяет компьютерам не просто выполнять команды, а самостоятельно учиться на тысячах примеров, выявляя скрытые закономерности без явного программирования правил.
Сверточные нейронные сети (CNN): зрение ИИ
Полносвязные сети плохо работают с изображениями. Представьте картинку 1000x1000 пикселей. Если подать её на вход полносвязному слою с 1000 нейронов, количество весов будет миллиард. Это вычислительно невозможно и ведет к переобучению.
Решением стали сверточные нейронные сети (CNN). Они используют идею локального восприятия: мы ищем признаки (линии, углы, текстуры) не сразу на всем изображении, а сканируя его небольшим «окном».
Принцип работы свертки
Основной элемент CNN — это сверточный слой (Convolutional Layer). По изображению скользит фильтр (ядро/kernel) небольшого размера (например, 3x3), выполняя покомпонентное умножение.
Операция свертки для одного пикселя выхода:
где — значение пикселя на карте признаков, — входное изображение, — ядро свертки (фильтр), и — индексы смещения внутри ядра.
Если фильтр настроен на поиск вертикальной линии, он даст большое число там, где на изображении есть вертикальная граница, и ноль там, где фон однородный.
Структура CNN
Типичная архитектура, согласно gimal-ai.ru, состоит из чередования слоев:
> Сверточные нейросети стали первыми архитектурами, научившими искусственный интеллект видеть. > > vc.ru
Практический пример: Если вы строите систему OCR (распознавания текста), первые слои CNN найдут линии и кривые, средние слои соберут из них части букв, а последние слои распознают целые символы.
Рекуррентные нейронные сети (RNN): память и последовательности
Если CNN хороши для статики (фото), то для текста, речи или временных рядов они подходят хуже. В предложении «Я купил замок, чтобы повесить его на дверь» слово «замок» имеет смысл только в контексте конца фразы. Обычные сети не имеют памяти о предыдущих словах.
RNN (Recurrent Neural Networks) решают эту проблему, передавая состояние (hidden state) от одного шага к следующему. Это похоже на чтение книги: вы понимаете текущее слово, помня содержание предыдущей страницы.
Математика памяти
В RNN выход зависит не только от текущего входа, но и от предыдущего скрытого состояния:
где — скрытое состояние в момент времени , — функция активации (гиперболический тангенс), — веса для входных данных, — входной вектор в момент , — веса для предыдущего скрытого состояния, — скрытое состояние в предыдущий момент времени, — смещение.
Проблема и эволюция
Базовые RNN имеют серьезный недостаток — затухание градиента. При обучении на длинных текстах сеть «забывает», что было в начале абзаца. Как отмечает habr.com, RNN разработаны для задач, где следующая позиция зависит от предыдущего состояния, но стандартные сети с трудом справляются с длинными зависимостями.
Для решения этой проблемы были созданы усложненные архитектуры: * LSTM (Long Short-Term Memory): Имеет механизм «ворот» (gates), которые решают, какую информацию забыть, а какую сохранить. * GRU (Gated Recurrent Unit): Упрощенная версия LSTM, работающая быстрее.
Сегодня в задачах обработки текста (NLP) RNN практически вытеснены Трансформерами (о которых мы поговорим в следующих статьях), но понимание рекуррентности критически важно для работы с временными рядами и аудио.
Практика: выбор архитектуры под задачу
Чтобы научиться создавать модели, нужно уметь выбирать инструмент под тип данных. Рассмотрим таблицу принятия решений:
| Тип данных | Пример задачи | Рекомендуемая архитектура | Почему? | | :--- | :--- | :--- | :--- | | Табличные данные | Оценка кредитоспособности, цена жилья | MLP (Dense) | Нет пространственной или временной структуры, важны комбинации признаков. | | Изображения | Распознавание дефектов на производстве, OCR | CNN (ResNet, EfficientNet) | Важна инвариантность к сдвигу (объект может быть в любом месте) и иерархия признаков. | | Временные ряды | Прогноз нагрузки на сервер, погода | RNN (LSTM/GRU) | Важна последовательность событий и зависимость от прошлого. | | Текст | Чат-боты, перевод, суммаризация | Transformers (BERT, GPT) | Лучше всего улавливают далекие контекстные связи (об этом в следующей статье). |