Кадо функсияи фаъолсозӣ дар CV (Swish/SiLU, Mish, GELU) истифода мешаванд?
sobes.tech AI
Ҷавоб аз AI
Дар вижен (CV) одатан истифодаи функсияҳои фаъолсозии муосирро истифода мебаранд, ки кӯмак мекунанд, ки омӯзиши шабакаҳои нейронӣ бо ғайримуқаррарии мулоим ва мувофиқшаванда нисбат ба ReLU классикӣ беҳтар шавад.
-
Swish (SiLU) — функсияи фаъолсозӣ, ки ҳамчун (x \cdot \sigma(x)) муайян карда мешавад, ки дар он (\sigma) сигмоид аст. Градиенти ҳамвор медиҳад ва кӯмак мекунад, ки мушкилоти "нейронҳои мурда" пешгирӣ шавад. Дар сохторҳои муосир, мисли EfficientNet, васеъ истифода мешавад.
-
Mish — монанд ба Swish, аммо бо формулаи мураккабтар: (x \cdot \tanh(\ln(1 + e^x))). Хусусиятҳои худназоратӣ дорад ва ба ҳамвории беҳтар ва умумӣ кардани кӯмак мекунад.
-
GELU (Gaussian Error Linear Unit) — функсия тақрибан баробар бо (x \cdot \Phi(x)), ки (\Phi(x)) функсияи тақсимоти ҷамъшавии муқарраршудаи муқарраршударо ифода мекунад. Дар трансформаторҳо ва моделҳои дигар истифода мешавад ва бо наздикшавии эҳтимолӣ хуб кор мекунад.
Маслиҳат барои истифодаи Swish дар PyTorch:
import torch
import torch.nn.functional as F
def swish(x):
return x * torch.sigmoid(x)
x = torch.tensor([-1.0, 0.0, 1.0, 2.0])
print(swish(x))
Ин функсияҳо кӯмак мекунанд, ки моделҳо беҳтар омӯзанд ва дар вазифаҳои CV ба дақиқии баландтар расанд, махсусан дар шабакаҳои амиқ.