Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Umożliwia SimpleNetworkBuilder używanie prostych standardowych typów sieci z kilkoma liniami konfiguracji. Obsługiwany jest tylko ograniczony zestaw opcji konfiguracji. Zamiast tego można zdefiniować BrainScriptNetworkBuilder bardziej złożone sieci.
Aby użyć polecenia SimpleNetworkBuilder, dołącz blok konfiguracji o tej samej nazwie w konfiguracji trenowania. Jeśli opcja zostanie pominięta, przyjmuje się wartość domyślną. Najpierw udostępnimy zwięzły przykład i wyświetlimy listę wszystkich parametrów i opcji sterowania poniżej.
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
]
W powyższym przykładzie "trainingCriterion" i "layerTypes" można pominąć, ponieważ używają wartości domyślnych. Dostępne są następujące parametry:
initValueScale: wartość skalowania zakresu liczb losowych używanych do inicjowania. Wartość domyślna to1. Jeśli parametry modelu są inicjowane przy użyciu równomiernego rozkładu, zakres liczb losowych zostanie dostosowany do[-0.05 * initValueScale, 0.05 * initValueScale]. Jeśli parametry modelu są inicjowane przy użyciu rozkładu Gaussian, odchylenie standardowe zostanie dostosowane do0.2 * initValueScale * fanout^(-1/2).layerTypes: typ operacji nieliniowej w ukrytych warstwach. Prawidłowe wartości toSigmoid(wartość domyślna),TanhiRectifiedLinear.uniformInit: określa, czy należy używać równomiernego rozkładu do inicjowania parametrów modelu. Prawidłowe wartości totrue(wartość domyślna) ifalse(przy użyciu rozkładu gaussańskiego w celu zainicjowania parametrów modelu).applyMeanVarNorm: czy należy zastosować normalizację średniej/wariancji w danych wejściowych. Prawidłowe wartości totrueifalse(wartość domyślna).addDropoutNodes: czy należy dodać węzły rozwijane. Wartość domyślna tofalse. Jeśli zostanie określonatruewartość , węzeł listy rozwijanej zostanie zastosowany do węzła wejściowego i danych wyjściowych każdej ukrytej warstwy.layerSizes: określa wymiary warstw. Na przykładlayerSizes=128:10:200:4000opisuje sieć neuronową z dwiema ukrytymi warstwami. Pierwsza ukryta warstwa ma wymiar 10, a druga ukryta warstwa ma wymiar 200. Warstwy wejściowe i wyjściowe mają odpowiednio wymiar 128 i 4000.trainingCriterion: kryterium używane do trenowania. Wartość domyślna toCrossEntropyWithSoftmax. Alternatywy toSquareError,CrossEntropyiClassBasedCrossEntropyWithSoftmax. JestClassBasedCrossEntropyWithSoftmaxto trenowanie oparte na klasach, które byłoby przydatne, jeśli wymiar wyjściowy jest duży i dlatego należy podzielić na klasy w celu przyspieszenia trenowania i oceny.evalCriterion: kryterium oceny. Wybór wartości jest taki sam jaktrainingCriterion.lookupTableOrder: określa kolejność kontekstu rozszerzającego się w węźle lookupNode. Wartość domyślna to1. Ustawienie go na wartość, taką jak 3, spowoduje rozwinięcie wymiaru wejściowego w sposób zależny od kontekstu przez kolejność 3. Jeśli na przykład obserwacja wejściowa ma wymiar 20, ustawienie tej wartości na 3 spowoduje ustawienie wymiaru węzła wejściowego na 60.
W przypadku cyklicznych sieci neuronowych (RNN) istnieją dodatkowe parametry.
recurrentLayer: określa warstwy, które zawierają połączenia cykliczne. Domyślnie nie ma cyklicznej warstwy. Użyj składnin1:n2:n3, aby określić, że warstwy n1, n2 i n3 mają cykliczne połączenia.defaultHiddenActivity: domyślna wartość działania ukrytej warstwy używana przez węzeł opóźnienia podczas uzyskiwania dostępu do wartości przed pierwszą obserwacją. Wartość domyślna to0.1.rnnType: typ wstępnie zdefiniowanych sieci. Prawidłowe wartości:SIMPLENET: sieć neuronowa przekazująca dalej. Jest to domyślny typ sieci.SIMPLERNN: prosta sieci RNN, która może być głęboką siecią RNN, w której kilka warstw ma cyklicznych pętli.CLASSLM: oparta na klasie prosta RNN. Używa rozrzednych danych wejściowych, rozrzedzynych parametrów i rozrzednych danych wyjściowych. Jest to często używane w przypadku zadań modelowania języka.LBLM: sieć neuronowa log-bilinear.LSTM: długoterminowa sieć neuronowa pamięci krótkoterminowej.CLASSLSTM: oparta na klasie długoterminowa sieć neuronowa pamięci krótkoterminowej. Używa rozrzednych danych wejściowych, rozrzedzynych parametrów i rozrzednych danych wyjściowych. Jest to często używane w przypadku zadań modelowania języka.
Dalej: Zdefiniuj własne złożone sieci za pomocą polecenia BrainScriptNetworkBuilder.