Рубрики
Без рубрики

Понимание функции активации TANH в Python

Привет читатели! В последней статье мы кратко посмотрели на функцию активации сигмоидной активации. В этой статье мы посмотрим на активацию TANH

Автор оригинала: Pankaj Kumar.

Привет читатели! В Последняя статья Мы кратко посмотрели на функцию активации сигмоидной активации. В этой статье мы будем смотреть на Функция активации Tanh в Python, в отношении нейронных сетей.

Давайте начнем!

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

Мы часто используем функции активации, когда мы хотим «включить» специфические слои в зависимости от ввода, с точки зрения математической функции.

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

Функция Tanh имеет форму ниже, через реальное количество номеров:

f(x) = tanh(x) = (e^(2x) - 1) / (e^(2x) + 1)

Эта функция может иметь значения, начиная от (-1, 1), делая выход Нормализовано по отношению к входу. Из-за вышеуказанных свойств TANH является очень хорошим выбором для обратной передачи.

Чтобы получить визуальное понимание, вот график Tanh (X):

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

Здесь, если вы можете наблюдать из графика, Tanh может коррелировать входы → очень хорошо выводит. Сильно положительные входы нормализуются и отображаются ближе к 1, в то время как сильно отрицательные входы сопоставляются рядом с -1.

Это делает это очень подходящим выбором для выполнения Бинарная классификация Отказ

Простая реализация функции активации TANH в Python

Давайте быстро пройдемся через образец Тан Функция в Python, используя numpy и Матплотлиб Отказ

import numpy as np
import matplotlib.pyplot as plt

def tanh(x):
    return np.tanh(x) # We can use numpy's builtin tanh

def generate_sample_data(start, end, step):
    # Generates sample data using np.linspace
    return np.linspace(start, end, step)

x = generate_sample_data(-5, 5, 10)
y = tanh(x)

# Now plot
plt.xlabel("x")
plt.ylabel("tanh(x)")
plt.plot(x, y)
plt.show()

Выход

Как видите, кривая внимательно напоминает оригинальный граф, даже для этого небольшого набора данных!

Ограничения функции активации TANH

Хотя Tanh имеет много хороших свойств для сетей классификатора построения, нужно всегда быть осторожным при его использовании.

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

Проблема исчезаживания градиента – это ситуация, когда производные становятся 0 (исчезают) даже для большого изменения в входе.

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

Заключение

В этой статье мы узнали о понимании функции активации TANH в машинном обучении.

Рекомендации

  • Wolfram Alpha Page на функцию Tanh
  • Журналдав Статья На функции сигмоидной активации