[Кадр дня ML] Преимущества ReLU перед активацией сигмовидной кишки

Почему активация ReLU предпочтительнее сигмовидной активации?

Погружение глубже в глубокое обучение - функция ReLU vs Sigmoid Activation.

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

Ускоренный курс по ReLU и активации сигмовидной кишки:

  • Рассмотрим архитектуру однослойной нейронной сети с 1 единицей (также известной как логистическая регрессия) с входом размера n и одномерным (скалярным) выходом.

Активация ReLU:

  • ReLU - это монотонно возрастающая функция линейной активации.
  • Важно отметить, что функция активации ReLU преобразует отрицательные входные значения в ноль.
  • В результате отрицательная предварительная активация приводит к активации 0. Поскольку производная константы является константой, при нулевой активации градиент равен 0.
  • Это явление получило название «мертвые нейроны». Такие нейроны по сути бесполезны и могут привести к неоптимальной работе сети.
  • Проблема «мертвых нейронов» может возникнуть либо из-за высокой скорости обучения, либо из-за большого отрицательного смещения.
  • Использование небольшой скорости обучения или вариаций ReLU (Leaky ReLU, ELU) может помочь решить проблему «мертвых нейронов».

Активация сигмовидной кишки:

  • Активация сигмовидной формы представляет собой «S-образную» кривую, которая отображает входные значения в диапазоне от 0 до 1.
  • Значение сигмовидной функции асимптотически приближается к 0 и 1. Это соответствует принципу работы вероятностей.

Большинство архитектур глубоких нейронных сетей с современными результатами используют активацию ReLU по умолчанию, а не сигмовидную активацию. Возникает вопрос: Почему ReLU предпочтительнее Sigmoid?

Ответ заключается в обратном распространении.

  • Обучение глубокой нейронной сети включает в себя два этапа: прямое и обратное распространение.
  • Обратное распространение включает вычисление градиента функции стоимости относительно весов. Это, в свою очередь, включает вычисление градиента функции активации по весам.
  • Можно видеть, что градиент сигмовидной функции является произведением g (x) и (1- g (x)). Поскольку g (x) всегда меньше 1, умножение двух значений меньше 1 дает еще меньшее значение.
  • Легче увидеть, что повторяющееся вычисление градиента сигмовидной функции приведет к значению, приближающемуся к 0.
  • В дополнение к этому, вычисление градиента текущего слоя зависит от градиента следующего слоя. Для n скрытых слоев это в конечном итоге приводит к умножению n малых значений, что препятствует эффективному обучению ранних слоев нейронной сети.
  • Это называется проблемой исчезающих градиентов. Проблема исчезающих градиентов не позволяет нам создавать глубокие нейронные сети.

Как предотвратить исчезновение градиентов?

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

Последние мысли:

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


Давай поговорим: