2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Tämä koodinpätkä näyttää, kuinka hermoverkon painot alustetaan PyTorchin avulla käyttämällä katkaistua normaalijakaumaa. Typistetty normaalijakauma tarkoittaa, että luodut arvot katkaistaan tietyllä alueella ääriarvojen estämiseksi.käytetty täällätorch.fmod
Kiertokeinona tämän vaikutuksen saavuttamiseksi.
Typistetty normaalijakauma on normaalijakauman muunnos, joka varmistaa, että generoidut arvot osuvat tietylle alueelle. Erityisesti,torch.fmod
Funktio palauttaa syötetensorin loppuosan jaettuna kahdella (eli siten, että tuloksena oleva arvo on välillä -2 ja 2).
Koodissa neljä painotensoria lasketaan eri keskihajonnan mukaan (init_sd_first
, init_sd_middle
, init_sd_last
) generoidaan typistetystä normaalijakaumasta. Tarkat mitat ovat:
(x_dim, width n_double)
(width, width n_double)
(width, 1)
Nämä painotensorit luodaan seuraavasti:
initial_weights = [
torch.fmod(torch.normal(0, init_sd_first, size=(x_dim, width n_double)), 2),
torch.fmod(torch.normal(0, init_sd_middle, size=(width, width n_double)), 2),
torch.fmod(torch.normal(0, init_sd_middle, size=(width, width n_double)), 2),
torch.fmod(torch.normal(0, init_sd_last, size=(width, 1)), 2)
]