Sobes.tech
Junior — Middle

Dropout nedir ve eğitim sırasında ve çıkarımda nasıl davranır?

sobes.tech yapay zeka

AI'dan gelen yanıt

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.

Trainingsphase (train) sırasında dropout aktif: nöronlar rastgele devre dışı bırakılır ve ağırlıklar buna göre güncellenir.

İnferans aşamasında (inference), dropout devre dışı bırakılır, tüm nöronlar aktiftir ve çıkışlar (genellikle nöronun korunma olasılığıyla çarpılır) ölçeklendirilir, böylece eğitim sırasında devre dışı bırakmanın etkisi telafi edilir.

PyTorch örneği:

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 aktif
output_train = model(torch.randn(1, 10))

model.eval()   # dropout devre dışı
output_eval = model(torch.randn(1, 10))