Настраивайтесь на YOLO Vision 2025!
25 сентября 2025 г.
10:00 — 18:00 BST
Гибридное мероприятие
Yolo Vision 2024
Глоссарий

Функция активации

Узнайте о роли функций активации в нейронных сетях, их типах и реальных применениях в ИИ и машинном обучении.

Функция активации — это математическая функция, применяемая к нейрону или узлу в нейронной сети (NN). Ее основная роль заключается в определении выходных данных этого нейрона на основе его взвешенных входных данных. Проще говоря, она решает, следует ли «активировать» или «запустить» нейрон, и если да, то какой должна быть сила его сигнала при передаче на следующий слой. Этот механизм имеет решающее значение для внесения нелинейности в сеть, позволяя ей изучать сложные закономерности и взаимосвязи из данных. Без функций активации нейронная сеть, независимо от количества слоев, вела бы себя как простая модель линейной регрессии, что серьезно ограничивало бы ее способность решать сложные реальные задачи.

Типы функций активации

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

  • Сигмоида: Эта функция отображает любое входное значение в диапазон от 0 до 1. Исторически она была популярна, но сейчас менее распространена в скрытых слоях моделей глубокого обучения из-за проблемы затухающего градиента, которая может замедлить обучение. Она по-прежнему используется в выходном слое для задач бинарной классификации.
  • Tanh (гиперболический тангенс): Аналогичен сигмоиде, но отображает входные данные в диапазон от -1 до 1. Поскольку его выходные данные центрированы относительно нуля, он часто помогает моделям сходиться быстрее, чем сигмоида. Он часто использовался в рекуррентных нейронных сетях (RNN). Вы можете найти его реализацию во фреймворках, таких как PyTorch и TensorFlow.
  • ReLU (Rectified Linear Unit): Это наиболее широко используемая функция активации в современных нейронных сетях, особенно в сверточных нейронных сетях (CNN). Она выводит входные данные напрямую, если они положительные, и ноль в противном случае. Ее простота и эффективность помогают смягчить проблему затухающего градиента, что приводит к более быстрому обучению.
  • Leaky ReLU: Вариант ReLU, который допускает небольшой, ненулевой градиент, когда входное значение отрицательно. Это предназначено для решения проблемы "умирающего ReLU", когда нейроны могут стать неактивными и прекратить обучение.
  • SiLU (Sigmoid Linear Unit): Гладкая немонотонная функция, которая приобрела популярность в современных моделях, таких как Ultralytics YOLO. Она часто превосходит ReLU на глубоких моделях, сочетая в себе преимущества линейности и нелинейности.
  • Softmax: Используется исключительно в выходном слое нейронной сети для задач классификации изображений на несколько классов. Она преобразует вектор необработанных оценок (логитов) в распределение вероятностей, где каждое значение представляет вероятность принадлежности входных данных к определенному классу.

Применение в AI и машинном обучении

Функции активации являются основополагающими практически для каждого AI-приложения, которое использует нейронные сети.

  • Компьютерное зрение: В задачах, таких как обнаружение объектов, CNN используют такие функции, как ReLU и SiLU, в своих скрытых слоях для обработки визуальной информации. Например, система восприятия автономного транспортного средства использует эти функции для идентификации пешеходов, других автомобилей и дорожных знаков по данным камеры в режиме реального времени.
  • Обработка естественного языка (NLP): В машинном переводе LSTM используют функции Sigmoid и Tanh в своих механизмах стробирования для управления потоком информации через сеть, помогая запоминать контекст из более ранних частей предложения. Подробный обзор можно найти в статье «Understanding LSTMs» Кристофера Ола.

Сравнение со смежными терминами

Важно отличать функции активации от других ключевых концепций в нейронных сетях:

  • Функции потерь: Функция потерь количественно определяет разницу между предсказаниями модели и фактическими целевыми значениями («ошибку»). Ее цель состоит в том, чтобы направлять процесс обучения, предоставляя меру того, насколько хорошо работает модель. В то время как функции активации определяют выходные данные нейрона во время прямого прохода, функции потерь оценивают общие выходные данные модели в конце прохода, чтобы вычислить ошибку, используемую для обновления весов во время обратного распространения.
  • Алгоритмы оптимизации: Эти алгоритмы (например, Adam Optimizer, Stochastic Gradient Descent (SGD)) определяют, как обновляются веса модели на основе рассчитанной функции потерь. Они используют градиенты, полученные из функции потерь, для корректировки параметров и минимизации ошибки. Функции активации влияют на вычисление этих градиентов, но сами по себе не являются методом оптимизации. См. обзор алгоритмов оптимизации от Google Developers.
  • Методы нормализации (Normalization Techniques): Такие методы, как Batch Normalization, направлены на стабилизацию и ускорение процесса обучения путем нормализации входов в слой. Нормализация происходит до применения функции активации, помогая поддерживать согласованное распределение данных по всей сети. Вы можете прочитать больше в оригинальной статье о Batch Normalization.

Понимание функций активации необходимо для проектирования, обучения и оптимизации эффективных моделей машинного обучения (ML). Правильный выбор может существенно повлиять на производительность модели и динамику обучения. Вы можете изучить различные модели и их компоненты, используя такие инструменты, как Ultralytics HUB, который облегчает создание и развертывание моделей ИИ.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас
Ссылка скопирована в буфер обмена