Sobes.tech
Middle — Senior

GELU چیست و چرا در ترنسفورمرها بهتر از ReLU است؟

sobes.tech AI

Ҷавоб аз AI

GELU (Ҳақиқий хатогӣ хаттӣ бирлик бўйича бирлик) — бу фаоллаштириш функцияси бўлиб, у кўпинча трансформерлар ва бошқа замонавий нейрон тармоқларда қўлланилади. У анъанавий ReLU дан фарқли ўлароқ, юмшоқ ва фаоллаштиришнинг эҳтимолий табиатига эътибор қаратган.

GELUнинг тахминан формуласи шундай кўринишда:

[ \text{GELU}(x) = x \cdot \Phi(x) ]

бу ерда ( \Phi(x) ) стандарт нормал тақсимотнинг тақсимот функциясидир.

ReLUга нисбатан GELUнинг афзаллиги:

  • Юмшоқлик: GELU давомий ва турғилиб бўлади, бу ўқитишни яхшилайди.
  • Стокастиклик: GELU нейроннинг фаоллашиш эҳтимолини ҳисобга олади, бу моделга шовқин ва номайянликни яхшироқ бошқаришга ёрдам беради.
  • Маълумотларнинг яхшироқ тасвирланиши: NLP вазифалари ва трансформерларда GELU самаралироқ ўрганишга ва модел сифатини оширишга ёрдам беради.

PyTorchда қўлланиш намунаси:

import torch
import torch.nn.functional as F

def gelu(x):
    return 0.5 * x * (1 + torch.tanh(torch.sqrt(torch.tensor(2 / 3.1415)) * (x + 0.044715 * x ** 3)))

x = torch.tensor([-1.0, 0.0, 1.0])
print(gelu(x))

Шу тариқа, GELU ReLU га нисбатан янада юмшоқ ва маълумотли фаоллаштиришни таъминлайди, бу эса мураккаб моделлар, масалан, трансформерлар учун муҳимдир.