Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce rozevíracího seznamu
Dropout (x)
Parametry
x: vstup pro použití funkce rozevíracího seznamu na
Poznámka: Rozevírací sazba není parametrem této funkce, ale je určena v SGD části.
Návratová hodnota
Dropout() vrátí výsledek operace rozevíracího seznamu použité na vstup.
Výsledek má stejné rozměry tensoru jako vstup.
Description
Operace Dropout() náhodně vybere prvky vstupu s danou pravděpodobností, která se nazývá rozevírací sazba, a nastaví je na 0.
Ukázalo se, že se zlepšila generalizovatelnost modelů.
V implementaci CNTK se zbývající hodnoty, které nejsou nastavené na 0, vynásobí (1 / (1 – rozevírací sazba)). Tímto způsobem se parametry modelu získané pomocí rozevíracího seznamu přímo vztahují k odvozování. (Pokud k tomu nedošlo, uživatel by ho musel před odvozováním ručně škálovat.)
Pokud chcete v trénování povolit rozevírací seznam, musíte do SGD oddílu přidat parametrdropoutRate, abyste definovali rychlost rozevíracího seznamu.
To se provádí v SGD části místo parametru pro Dropout() sebe, aby bylo možné začít trénování bez rozevíracího seznamu, a pak ho povolit po několika epochách, což je běžný scénář.
Pro toto dropoutRate je zadán jako vektor, kde každá hodnota je pro konkrétní epochu.
Při spuštění odvození Dropout() operace předá svůj vstup beze změny (je to no-op).
Příklad
Následuje jednoduchá konvoluční síť s vrstvou rozevíracího seznamu směrem ke konci:
features = Input{...}
c = ConvolutionalLayer {32, (5:5), activation=ReLU} (features)
p = MaxPoolingLayer {(3:3), stride = (2:2)} (c)
h = DenseLayer {64, activation = ReLU} (p)
d = Dropout (h)
z = LinearLayer {10} (d)
Kromě toho potřebujete odpovídající položku v oddílu SGD .
Následující příklad definuje použití žádného rozevíracího seznamu pro první 3 epochy a následné pokračování s rozevírací sazbou 50 %.
Pro usnadnění používání tohoto příkladu se používá syntaxe hvězdičky (*) k označení opakování:
SGD = {
...
dropoutRate = 0*3:0.5
...
}