Technology sharing

[PyTorch] torch.fmod truncato utitur distributione normali ad initialize ponderum retis neuralis

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Codex iste PRAECISIO ostendit quomodo initialize pondera retis neuralis PyTorch utens, mutilam distributionem normalem adhibens. Distributio normalis truncata significat valores genitos inter se truncatos esse, ne extrema bona sint.usus est hictorch.fmod Ut quis quam ut ipsum.

Explicatio

1. Truncated normalis distribution

Truncata distributio normalis modificatio est distributionis normalis quae efficit ut bona generata intra certum ambitum cadant. Speciatim,torch.fmod Munus redit residuum tensoris inputationis divisum per 2 (i.e., ita ut valor consequens sit inter -2 et 2).

2. Pondus initialization

In codice, quattuor tensores ponderis sunt secundum diversos deflexionum normas (init_sd_first, init_sd_middle, init_sd_last ) generatur ex normali distributione truncata. Dimensiones specificae sunt:

  • Figura tensoris ponderis primi tabulati est (x_dim, width n_double)
  • Figura duorum pondere tensorum medii iacuit est (width, width n_double)
  • Figura tensoris ponderis ultimi iacuit est (width, 1)

Pondus haec tensoria generantur hoc modo:

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)
]