Simple Network Builder
SimpleNetworkBuilder
gör det möjligt att använda enkla standardnätverkstyper med få konfigurationsrader. Endast en begränsad uppsättning konfigurationsalternativ stöds. Mer komplexa nätverk kan definieras med hjälp av BrainScriptNetworkBuilder
i stället.
Om du vill använda SimpleNetworkBuilder
tar du med ett konfigurationsblock med samma namn i träningskonfigurationen. När ett alternativ utelämnas antas standardvärdet. Först ger vi ett kortfattat exempel och listar alla kontrollparametrar och alternativ nedan.
SimpleNetworkBuilder = [
# 2 inputs, 2 hidden layers with 50 element nodes each, 2 outputs
layerSizes = 2:50*2:2
trainingCriterion = "CrossEntropyWithSoftmax"
evalCriterion = "ErrorPrediction"
layerTypes = "Sigmoid"
applyMeanVarNorm = true
]
I exemplet ovan kan "trainingCriterion" och "layerTypes" utelämnas eftersom de använder standardvärdena. Följande parametrar är tillgängliga:
initValueScale
: värdet för att skala intervallet för de slumpmässiga tal som används för initiering. Standardvärdet är1
. Om modellparametrarna initieras med den enhetliga fördelningen justeras slumptalsintervallet till[-0.05 * initValueScale, 0.05 * initValueScale]
. Om modellparametrarna initieras med gaussiska fördelningen justeras standardavvikelsen till0.2 * initValueScale * fanout^(-1/2)
.layerTypes
: typen av icke-linjär åtgärd i dolda lager. Giltiga värden ärSigmoid
(standard),Tanh
ochRectifiedLinear
.uniformInit
: avgör om du vill använda enhetlig distribution för att initiera modellparametrar. Giltiga värden ärtrue
(standard) ochfalse
(med gaussisk distribution för att initiera modellparametrar).applyMeanVarNorm
: om medelvärde/variansnormalisering ska tillämpas på indata. Giltiga värden ärtrue
ochfalse
(standard).addDropoutNodes
: om du vill lägga till listrutenoder. Standardvärdet ärfalse
. Om den anges tilltrue
tillämpas en listrutenod på indatanoden och utdata för varje dolt lager.layerSizes
: anger dimensionerna för lager. Beskriver till exempellayerSizes=128:10:200:4000
ett neuralt nätverk med två dolda lager. Det första dolda lagret har en dimension på 10 och det andra dolda lagret har en dimension på 200. Indata- och utdataskikten har en dimension på 128 respektive 4 000.trainingCriterion
: det kriterium som används för träning. Standardvärdet ärCrossEntropyWithSoftmax
. Alternativen ärSquareError
,CrossEntropy
ochClassBasedCrossEntropyWithSoftmax
.ClassBasedCrossEntropyWithSoftmax
är för klassbaserad träning, vilket skulle vara användbart om utdatadimensionen är stor och därför måste delas upp i klasser för att påskynda träningen och utvärderingen.evalCriterion
: kriteriet för utvärdering. Valet av värden är samma somtrainingCriterion
.lookupTableOrder
: anger ordningen för kontexten som expanderas i uppslagsnoden. Standardvärdet är1
. Om du ställer in det på ett värde som 3 skulle indatadimensionen expanderas på ett kontextberoende sätt med en ordningsföljd på 3. Om indataobservationen till exempel har en dimension på 20 skulle indatanoddimensionen anges till 60 om det här värdet anges till 3.
För återkommande neurala nätverk (RNN) finns det ytterligare parametrar.
recurrentLayer
: anger de lager som innehåller självrekursuella anslutningar. Som standard finns det inget återkommande lager. Använd syntaxenn1:n2:n3
för att ange att lager n1, n2 och n3 har återkommande anslutningar.defaultHiddenActivity
: standardvärdet för dold lageraktivitet som används av fördröjningsnoden vid åtkomst till värden före den första observationen. Standardvärdet är0.1
.rnnType
: typen av fördefinierade nätverk. Giltiga värden är:SIMPLENET
: det neurala nätverket för feed-forward. Det här är standardnätverkstypen.SIMPLERNN
: det enkla RNN, som kan vara ett djupt RNN där flera lager har återkommande loopar.CLASSLM
: klassbaserad enkel RNN. Den använder glesa indata, glesa parametrar och glesa utdata. Detta används ofta för språkmodelleringsuppgifter.LBLM
: det neurala nätverket log-bilinear.LSTM
: det långsiktiga neurala minnesnätverket.CLASSLSTM
: det klassbaserade neurala nätverket för långtidsminne. Den använder glesa indata, glesa parametrar och glesa utdata. Detta används ofta för språkmodelleringsuppgifter.
Nästa: Definiera dina egna komplexa nätverk med BrainScriptNetworkBuilder
.