Sobes.tech
Middle — Senior

Қатли трансформер дар чӣ аст ва чаро нон-линейӣ байни блокҳои диққат зарур аст?

sobes.tech AI

Ҷавоб аз AI

Қабати FFN (Feed-Forward Network) дар трансформер як шабакаи нейронӣ бо ду қабат аст, ки мустақилона ба ҳар унсури пайдарпай пас аз қабати диққат татбиқ мешавад. Вазифаи он илова кардани коркарони ғайри хаттӣ ва афзоиши қобилияти ифодаи модели мебошад.

Гирдбандии ғайри хаттӣ байни блокҳои диққат зарур аст, то модел тавонад функсияҳои мураккаб ва вобастагиро тақсим кунад. Диққат масъул аст барои ҷамъбасти вазнноки иттилоот дар ҷойҳои гуногун, ва FFN бо фаъолсозии ғайри хаттӣ (масалан, ReLU ё GELU) кӯмак мекунад, ки трансформер моделҳои мураккабтарро, ки аз танҳо омезишҳои хаттӣ иборатанд, моделсозӣ кунад.

Масалан, структураи қабати FFN:

import torch
import torch.nn as nn

class FFN(nn.Module):
    def __init__(self, d_model, d_ff):
        super().__init__()
        self.linear1 = nn.Linear(d_model, d_ff)
        self.activation = nn.GELU()
        self.linear2 = nn.Linear(d_ff, d_model)

    def forward(self, x):
        return self.linear2(self.activation(self.linear1(x)))

Ин ҷо, d_model андозаи векторҳои воридотӣ ва баромадӣ аст, d_ff андозаи қабати дохилӣ, ки одатан аз d_model калонтар аст.

Бинобар ин, қабати FFN бо ғайри хаттӣ таъмин мекунад, ки хусусиятҳои мукаммали ғайри хаттӣ дароз карда шавад, ки омӯзиш ва сифати моделро беҳтар мекунад.