Обмен технологиями

Эволюция и применение функций активации в глубоком обучении: обзор

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Краткое содержание

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

1. Введение

Функция активации является ключевым компонентом нейронных сетей, который вводит нелинейные характеристики на выходе нейронов, позволяя нейронным сетям обучаться и представлять сложные нелинейные отображения. Без функции активации, какой бы глубокой ни была нейронная сеть, она, по сути, может представлять только линейные преобразования, что сильно ограничивает выразительные способности сети.
С быстрым развитием глубокого обучения разработка и выбор функций активации стали важными факторами, влияющими на производительность модели. Различные функции активации имеют разные характеристики, такие как плавность градиента, вычислительная сложность, степень нелинейности и т. д. Эти характеристики напрямую влияют на эффективность обучения, скорость сходимости и конечную производительность нейронной сети.
Целью этой статьи является всесторонний обзор эволюции функций активации, глубокий анализ характеристик различных функций активации и исследование их применения в современных моделях глубокого обучения. Мы обсудим следующие аспекты:

  1. Классические функции активации: включая ранние часто используемые функции активации, такие как Sigmoid и Tanh.
  2. ReLU и его варианты: включая ReLU, Leaky ReLU, PReLU, ELU и т. д.
  3. Новые функции активации: недавно предложенные функции, такие как Swish, Mish и GeLU.
  4. Специальные функции активации: такие как Softmax, Maxout и т. д.
  5. Сравнение и выбор функций активации. Обсудите стратегии выбора функций активации в различных сценариях.
  6. Перспективы на будущее: изучить возможные направления развития исследований функции активации.

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

2. Классическая функция активации.

2.1 Сигмовидная функция

Сигмовидная функция — одна из самых ранних широко используемых функций активации, ее математическое выражение:
σ ( x ) = 1 1 + e − x сигма(x) = frac{1}{1 + e^{-x}}σ(Икс)=1+еИкс1
изображение.png

Особенности и преимущества:
  1. Выходной диапазон ограничен: выходной диапазон сигмоидальной функции находится в диапазоне (0, 1), что делает ее особенно подходящей для решения вероятностных задач.
  2. Гладкий и дифференцируемый: функция гладкая и дифференцируемая во всей области, что полезно для применения алгоритма градиентного спуска.
  3. пояснительная: Выходные данные можно интерпретировать как вероятности, что особенно подходит для выходного слоя задач двоичной классификации.
Недостатки и ограничения:
  1. проблема исчезающего градиента: Когда входное значение велико или мало, градиент близок к нулю, что может привести к проблеме исчезновения градиента в глубоких сетях.
  2. Выходной ненулевой центр: выходные данные сигмоида полностью положительны, что может привести к тому, что входные данные нейрона в следующем слое всегда будут положительными, что повлияет на скорость сходимости модели.
  3. Вычислительная сложность: включает экспоненциальные операции, а вычислительная сложность относительно высока.
Применимая сцена:
  1. Ранние мелкие нейронные сети.
  2. Выходной слой для задач двоичной классификации.
  3. Сценарии, в которых выходные данные необходимо ограничить диапазоном (0, 1).
Сравнение с другими функциями:

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

2.2 Функция Тан

Функцию Таня (гиперболический тангенс) можно рассматривать как улучшенную версию сигмоидальной функции, и ее математическое выражение имеет вид:
tanh ⁡ ( x ) = ex − e − xex + e − x tanh(x) = frac{e^x - e^{-x}}{e^x + e^{-x}}танх(Икс)=еИкс+еИксеИксеИкс
изображение.png

Особенности и преимущества:
  1. нулевой центральный выход: Выходной диапазон функции Таня находится между (-1, 1), что решает проблему ненулевого центра сигмоиды.
  2. Более сильный градиент: В областях, где входные данные близки к нулю, градиент функции Тана больше, чем сигмовидной функции, что помогает ускорить обучение.
  3. Гладкий и дифференцируемый: Подобно сигмовидной, Тан также является гладкой и дифференцируемой.
Недостатки и ограничения:
  1. проблема исчезающего градиента: Несмотря на то, что Тань улучшен по сравнению с сигмоидой, у него все еще есть проблема исчезновения градиентов, когда входное значение велико или мало.
  2. Вычислительная сложность: Подобно сигмоиде, Тан также включает в себя экспоненциальные операции и имеет высокую вычислительную сложность.
Применимая сцена:
  1. Лучше, чем сигмоид в сценариях, требующих вывода с нулевым центром.
  2. Часто используется в рекуррентных нейронных сетях (RNN) и сетях долгосрочной краткосрочной памяти (LSTM).
  3. Используется в некоторых сценариях, где важен нормализованный вывод.
Улучшение и сравнение:

Функцию Таня можно рассматривать как улучшенную версию сигмовидной функции. Основное улучшение заключается в центрировании выходных данных по нулю. Эта функция позволяет Tanh работать лучше, чем Sigmoid во многих ситуациях, особенно в глубоких сетях. Однако по сравнению с появившимися позже такими функциями, как ReLU, у Tanh все еще есть проблема исчезновения градиента, что может повлиять на производительность модели в очень глубоких сетях.
Две классические функции активации, сигмовидная и Тан, сыграли важную роль на заре глубокого обучения, а их характеристики и ограничения также способствовали развитию последующих функций активации. Хотя во многих сценариях они были заменены обновленными функциями активации, они по-прежнему имеют свою уникальную прикладную ценность для конкретных задач и сетевых структур.

3. ReLU и его варианты

3.1 ReLU (Выпрямленная линейная единица)

Предложение функции ReLU является важной вехой в развитии функций активации. Его математическое выражение просто:
ReLU ( x ) = макс ⁡ ( 0 , x ) текст {ReLU}(x) = макс (0, x)РеЛУ(Икс)=Макс(0,Икс)
изображение.png

Особенности и преимущества:
  1. Расчет прост: Вычислительная сложность ReLU намного ниже, чем у Sigmoid и Tanh, что выгодно для ускорения обучения сети.
  2. Градиент смягчения исчезает: для положительных входных данных градиент ReLU всегда равен 1, что эффективно решает проблему исчезновения градиента в глубоких сетях.
  3. разреженная активация: ReLU может сделать выход части нейронов 0, что приводит к разреженной экспрессии сети, что выгодно в определенных задачах.
  4. биологическое объяснение: Односторонние ингибирующие свойства ReLU аналогичны поведению биологических нейронов.
Недостатки и ограничения:
  1. Проблема «мертвого ReLU»: Когда вход отрицательный, градиент равен нулю, что может привести к постоянной дезактивации нейрона.
  2. ненулевой центральный выход: все выходные данные ReLU имеют неотрицательные значения, что может повлиять на процесс обучения следующего уровня.
Применимая сцена:
  1. Широко используется в глубоких сверточных нейронных сетях (таких как ResNet, VGG).
  2. Подходит для большинства нейронных сетей прямого распространения.
Сравнение с другими функциями:

По сравнению с Sigmoid и Tanh, ReLU демонстрирует значительные преимущества в глубоких сетях, главным образом с точки зрения скорости обучения и уменьшения исчезновения градиента. Однако проблема «мертвого ReLU» побудила исследователей предложить различные улучшенные версии.

3.2 Дырявый ReLU

Для решения проблемы «смерти» ReLU был предложен Leaky ReLU:
Дырявый ReLU ( x ) = { x , если x > 0 α x , если x ≤ 0 текст{Дырявый ReLU}(x) ={Икс,еслиИкс>0αИкс,еслиИкс0 Дырявый ReLU(Икс)={ Икс,αx,еслиИкс>0еслиИкс0
в, α альфаα — небольшая положительная константа, обычно 0,01.
изображение.png

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

3.3 PReLU (параметрический ReLU)

PReLU — это вариант Leaky ReLU, где наклон отрицательной полуоси является обучаемым параметром:
PReLU ( x ) = { x , если x > 0 α x , если x ≤ 0 текст{PReLU}(x) ={Икс,еслиИкс>0αИкс,еслиИкс0 ПРЕЛУ(Икс)={ Икс,αx,еслиИкс>0еслиИкс0
здесь α альфаα — это параметры, полученные посредством обратного распространения ошибки.
изображение.png

Особенности и преимущества:
  1. адаптивное обучение: Автоматическое определение наиболее подходящего отрицательного наклона полуоси на основе данных.
  2. потенциал производительности: В некоторых задачах PReLU может обеспечить лучшую производительность, чем ReLU и Leaky ReLU.
Недостатки и ограничения:
  1. Увеличение сложности модели: введение дополнительных обучаемых параметров увеличивает сложность модели.
  2. Возможна переоснащение: в некоторых случаях может привести к переобучению, особенно для небольших наборов данных.
Применимая сцена:
  1. Задачи глубокого обучения на крупномасштабных наборах данных.
  2. Сценарии, требующие адаптивных функций активации.

3.4 ELU (Экспоненциальная линейная единица)

ELU пытается объединить преимущества ReLU и обработки отрицательных входных данных. Его математическое выражение:
ELU ( x ) = { x , если x > 0 α ( ex − 1 ) , если x ≤ 0 текст {ELU}(x) ={Икс,еслиИкс>0α(еИкс1),еслиИкс0 ЭЛУ(Икс)=