Глоссарий

ReLU (Rectified Linear Unit)

Открой для себя мощь ReLU, ключевой функции активации в глубоком обучении, позволяющей эффективным нейросетям изучать сложные паттерны для AI и ML.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

ReLU, или выпрямленный линейный блок, является краеугольной активационной функцией в области глубокого обучения (DL) и нейронных сетей. Ее широкое распространение обусловлено удивительной простотой и вычислительной эффективностью, что существенно помогает нейронным сетям (НС) в изучении сложных закономерностей из огромных массивов данных. Вводя нелинейность, ReLU позволяет сетям моделировать сложные взаимосвязи, что делает его незаменимым в современных приложениях искусственного интеллекта (AI) и машинного обучения (ML), включая те, которые разрабатываются с помощью таких фреймворков, как PyTorch и TensorFlow.

Как работает ReLU

Суть работы функции ReLU проста: она выводит входное значение напрямую, если входное значение положительное, и выводит ноль, если входное значение отрицательное или нулевое. Этот простой пороговый механизм вносит существенную нелинейность в нейронную сеть. Без нелинейных функций, таких как ReLU, глубокая сеть вела бы себя как один линейный слой, что сильно ограничивает ее способность к обучению сложным функциям, необходимым для таких задач, как распознавание изображений или обработка естественного языка (NLP). Внутри слоя сети каждый нейрон применяет функцию ReLU к своей взвешенной входной сумме. Если сумма положительная, нейрон "выстреливает" и передает значение вперед. Если сумма отрицательная, нейрон выдает ноль, фактически становясь неактивным для этого конкретного входа. Это приводит к разреженным активациям, то есть только подмножество нейронов активно в любой момент времени, что может повысить эффективность вычислений и помочь сети научиться более надежным представлениям признаков.

Преимущества ReLU

ReLU обладает несколькими ключевыми преимуществами, которые закрепили его популярность в глубоком обучении:

  • Вычислительная эффективность: ReLU включает в себя только простое сравнение и потенциальную установку значения в ноль, что делает его гораздо более быстрым в вычислениях, чем более сложные функции активации, такие как сигмоид или тангенс. Это ускоряет как фазу обучения, так и фазу вывода.
  • Сглаживает исчезающие градиенты: В отличие от сигмоида и функции tanh, чьи градиенты могут стать очень маленькими при больших положительных или отрицательных входах, ReLU имеет постоянный градиент, равный 1 для положительных входов. Это помогает смягчить проблему исчезающего градиента, позволяя градиентам более эффективно течь во время обратного распространения и позволяя обучать более глубокие сети.
  • Способствует разреженности: Выдавая ноль на отрицательные входы, ReLU естественным образом вызывает разреженность активаций в сети. Такая разреженность может привести к созданию более лаконичных и надежных моделей, потенциально отражающих механизмы, наблюдаемые в биологических нейронных сетях и связанные с такими понятиями, как разреженное кодирование.

Недостатки и проблемы

Несмотря на свои сильные стороны, ReLU не лишена ограничений:

  • Проблема умирающего ReLU: иногда нейроны могут застрять в состоянии, когда они последовательно выдают ноль на все входы, встречающиеся во время обучения. Это происходит, если в результате большого градиентного обновления весовые коэффициенты смещаются так, что вход нейрона всегда отрицательный. Как только это происходит, градиент, проходящий через этот нейрон, становится нулевым, что препятствует дальнейшему обновлению весов посредством градиентного спуска. Нейрон фактически "умирает" и перестает вносить свой вклад в обучение сети.
  • Выходные данные с ненулевым центром: Выходы ReLU всегда неотрицательны (нулевые или положительные). Отсутствие нулевого центра иногда может замедлить сходимость процесса оптимизации градиентного спуска по сравнению с функциями активации с нулевым центром.

ReLU в сравнении с другими функциями активации

ReLU часто сравнивают с его разновидностями и другими активационными функциями. Leaky ReLU решает проблему умирающего ReLU, допуская небольшой ненулевой градиент, когда вход отрицательный. Экспоненциальный линейный блок (ELU) - еще одна альтернатива, которая стремится производить выходы, в среднем близкие к нулю, и предлагает более плавные градиенты, но при этом требует больших вычислительных затрат. SiLU (Sigmoid Linear Unit), также известный как Swish, - еще один популярный выбор, используемый в таких моделях, как Ultralytics YOLOv8 и YOLOv10, часто обеспечивая хороший баланс между производительностью и эффективностью(см. сравнения функций активации). Оптимальный выбор часто зависит от конкретной архитектуры нейронной сети, набора данных (например, ImageNet) и эмпирических результатов, которые часто определяются с помощью настройки гиперпараметров.

Приложения в искусственном интеллекте и ML

ReLU - это функция активации рабочей лошадки, особенно доминирующая в конволюционных нейронных сетях (CNN), используемых для задач компьютерного зрения (КЗ). Способность эффективно справляться с нелинейностью делает ее идеальной для обработки данных изображений.

  • Анализ медицинских изображений: CNN, используемые в ИИ в здравоохранении, часто применяют ReLU в своих скрытых слоях. Например, они обрабатывают сложную визуальную информацию с рентгеновских или магнитно-резонансных снимков, чтобы обнаружить аномалии вроде опухолей или переломов, помогая рентгенологам в диагностике(пример исследования из PubMed Central). Эффективность ReLU крайне важна для быстрого анализа больших медицинских сканов.
  • Автономные транспортные средства: Системы для автономных автомобилей, например, разработанные такими компаниями, как Waymo, в значительной степени полагаются на CNN с ReLU. Эти сети выполняют распознавание объектов в реальном времени, чтобы идентифицировать пешеходов, другие транспортные средства, светофоры и разметку полос движения, обеспечивая безопасную навигацию. Скорость работы ReLU очень важна для низкой задержки вывода, которая требуется в приложениях для самостоятельного вождения.

Хотя ReLU преобладает в CNN, он используется и в других типах нейронных сетей, хотя иногда заменяется вариантами или другими функциями в архитектурах вроде трансформеров, используемых для классификации текстов и других задач NLP. Современные модели, такие как Ultralytics YOLO часто используют варианты ReLU или другие эффективные функции активации, например SiLU. Ты можешь обучать и внедрять такие модели с помощью платформ вроде Ultralytics HUB, используя руководства по обучению моделей для достижения оптимальных результатов.

Читать полностью