Sobes.tech
Junior — Middle

Dropout nədir və o, təlim və çıxarış zamanı necə davranır?

sobes.tech Süni İntellekt

AI-dan cavab

Dropout, der der Regulierung in tiefen neuronalen Netzen ist, hilft, Überanpassung zu verhindern. Während des Trainings wird ein Teil der Neuronen zufällig "ausgeschaltet" (auf Null gesetzt) mit einer bestimmten Wahrscheinlichkeit (z.B. 0,5), was das Netzwerk dazu zwingt, sich nicht zu sehr auf einzelne Neuronen zu verlassen und seine Generalisierungsfähigkeit zu verbessern.

Trening mərhələsində (train) dropout aktivdir: neyronlar təsadüfi şəkildə deaktivləşdirilir və çəkilər buna görə yenilənir.

İnferens mərhələsində (inference), dropout deaktivləşdirilir, bütün neyronlar aktivdir və çıxışlar (adətən, neyronun saxlanma ehtimalı ilə vurulur) ölçülür, bu da təlim zamanı deaktivləşdirmənin təsirini kompensasiya edir.

PyTorch nümunəsi:

import torch
import torch.nn as nn

model = nn.Sequential(
    nn.Linear(10, 20),
    nn.Dropout(p=0.5),
    nn.ReLU(),
    nn.Linear(20, 1)
)

model.train()  # dropout aktiv
output_train = model(torch.randn(1, 10))

model.eval()   # dropout deaktiv
output_eval = model(torch.randn(1, 10))