Каковы формы бета и гамма параметров в слое нормализации слоя? - PullRequest
0 голосов
/ 21 июня 2019

При нормализации слоя мы вычисляем среднее значение и дисперсию по входному слою (а не по партии, что мы и делаем при нормализации партии).А затем нормализуйте входной слой в соответствии со средним и дисперсией, а затем верните нормализованный слой гамма-времен плюс бета.

Мой вопрос, являются ли гамма- и бета-скаляры с формами (1, 1) и (1, 1) соответственно или их формы (1, количество скрытых единиц) и (1, количество скрытых единиц) соответственно.

Вот как я реализовал нормализацию слоя, верно ли это!

def layernorm(layer, gamma, beta):
    mean = np.mean(layer, axis = 1, keepdims = True)
    variance = np.mean((layer - mean) ** 2, axis=1, keepdims = True)
    layer_hat = (layer - mean) * 1.0 / np.sqrt(variance + 1e-8)
    outpus = gamma * layer_hat + beta
    return outpus

где гамма и бета определены ниже:

gamma = np.random.normal(1, 128)
beta = np.random.normal(1, 128)

1 Ответ

0 голосов
/ 06 июля 2019

В соответствии с реализацией Tensorflow , предположим, что вход имеет форму [B, rest], гамма и бета имеют форму rest. rest может быть (h,) для 2-мерного ввода или (h, w, c) для 4-мерного ввода.

...