次の方法で共有


Simple Network Builder

これにより SimpleNetworkBuilder 、数行の構成で単純な標準ネットワークタイプを使用できます。 サポートされる構成オプションのセットは限られています。 代わりに、より複雑なネットワークを BrainScriptNetworkBuilder 使用して定義できます。

使用 SimpleNetworkBuilderするには、トレーニング構成に同じ名前の構成ブロックを含めます。 オプションを省略すると、既定値が想定されます。 最初に簡潔な例を示し、すべての制御パラメーターとオプションを以下に示します。

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
]

上記の例では、既定値を使用しているため、'trainingCriterion' と 'layerTypes' を省略できます。 次のパラメーターを使用できます。

  • initValueScale: 初期化に使用される乱数の範囲をスケーリングするための値。 既定値は 1 です。 モデル パラメーターが均一分布を使用して初期化される場合、乱数範囲は次のように [-0.05 * initValueScale, 0.05 * initValueScale]調整されます。 モデル パラメーターがガウス分布を使用して初期化されている場合、標準偏差は次のように調整されます 0.2 * initValueScale * fanout^(-1/2)

  • layerTypes: 非表示レイヤーでの非線形演算の種類。 有効な値は、Sigmoid (既定)、TanhRectifiedLinear です。

  • uniformInit: 均一分布を使用してモデル パラメーターを初期化するかどうかを決定します。 有効な値は true (既定値) と false (ガウス分布を使用してモデル パラメーターを初期化する) です。

  • applyMeanVarNorm: 入力に平均/分散正規化を適用するかどうか。 有効な値は、true および false (既定) です。

  • addDropoutNodes: ドロップアウト ノードを追加するかどうか。 既定値は、false です。 を true指定すると、ドロップアウト ノードが入力ノードとすべての非表示レイヤーの出力に適用されます。

  • layerSizes: レイヤーの寸法を指定します。 たとえば、 layerSizes=128:10:200:4000 2 つの非表示レイヤーを持つニューラル ネットワークについて説明します。 最初の非表示レイヤーの次元は 10 で、2 番目の非表示レイヤーの次元は 200 です。 入力レイヤーと出力レイヤーの次元はそれぞれ 128 と 4000 です。

  • trainingCriterion: トレーニングに使用される条件。 既定値は、CrossEntropyWithSoftmax です。 代替手段は SquareError、、 CrossEntropyClassBasedCrossEntropyWithSoftmaxです。 これは ClassBasedCrossEntropyWithSoftmax 、クラスベースのトレーニングを対象としているため、出力ディメンションが大きく、トレーニングと評価を高速化するためにクラスに分割する必要がある場合に便利です。

  • evalCriterion: 評価の基準。 値の選択は、.trainingCriterion

  • lookupTableOrder: lookupNode で展開するコンテキストの順序を指定します。 既定値は 1 です。 3 などの値に設定すると、コンテキストに依存する方法で入力ディメンションが 3 の順序で展開されます。 たとえば、入力観測値の次元が 20 の場合、この値を 3 に設定すると、入力ノードディメンションは 60 に設定されます。

再発ニューラル ネットワーク (RNN) には、追加のパラメーターがあります。

  • recurrentLayer: 自己反復接続を含むレイヤーを指定します。 既定では、繰り返しレイヤーはありません。 構文 n1:n2:n3 を使用して、レイヤー n1、n2、および n3 に再接続があることを指定します。

  • defaultHiddenActivity: 最初の観察の前に値にアクセスするときに遅延ノードによって使用される既定の非表示レイヤー アクティビティ値。 既定値は 0.1 です。

  • rnnType: 定義済みのネットワークの種類。 次の値を指定できます。

    • SIMPLENET: フィードフォワード ニューラル ネットワーク。 これが既定のネットワークの種類です。
    • SIMPLERNN: 単純な RNN。これは、複数のレイヤーが再発ループを持つ深い RNN である可能性があります。
    • CLASSLM: クラスベースの単純な RNN。 スパース入力、スパース パラメーター、スパース出力を使用します。 これは、多くの場合、言語モデリング タスクに使用されます。
    • LBLM: 対数二次ニューラル ネットワーク。
    • LSTM: 長期短期記憶ニューラル ネットワーク。
    • CLASSLSTM: クラスベースの短期メモリ ニューラル ネットワーク。 スパース入力、スパース パラメーター、スパース出力を使用します。 これは、多くの場合、言語モデリング タスクに使用されます。

次へ: 独自の複雑なネットワークを BrainScriptNetworkBuilder定義します。