インテル® DAAL 2018 デベロッパー・ガイド
分散処理モードのニューラル・ネットワーク訓練アルゴリズムのパラメーターは次のとおりです。
パラメーター |
デフォルト値 |
説明 |
|
---|---|---|---|
computeStep |
適用不可 |
アルゴリズムを初期化するために必要なパラメーターです。次のいずれか。
|
|
algorithmFPType |
float |
アルゴリズムが中間計算に使用する浮動小数点の型。float または double を指定できます。 |
|
method |
defaultDense |
パフォーマンス指向の計算メソッド。 |
|
batchSize |
128 |
各ノードの訓練で同時に使用するサンプルの数。同期計算の場合、このパラメーターの値はすべてのノードで同じでなければなりません。非同期計算の場合は異なる値を使用できます。このパラメーターは、ローカルノードで実行するアルゴリズムにより使用されます。 |
|
optimizationSolver |
SharedPtr<optimization_solver:: sgd::Batch<float, defaultDense > >() |
訓練段階で使用する最適化プロシージャー。このパラメーターは、マスターノードで実行するアルゴリズムにより使用されます。 |
計算が同期か非同期かに応じてバッチサイズを初期化します。
分散処理モードのニューラル・ネットワーク訓練では、以下の図のように 2 ステップの計算スキーマを使用します。
このステップのニューラル・ネットワーク訓練アルゴリズムの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
入力 ID |
入力 |
|
---|---|---|
data |
ローカルノードの i 番目のデータブロックを表すサイズ batchSize x n2 x ... x np のテンソルのポインター。この入力は、Tensor の派生クラスのオブジェクトです。 |
|
groundTruth |
入力データに関連付けられた i 番目の結果を格納するサイズ batchSize のテンソルのポインター。この入力は、Tensor の派生クラスのオブジェクトです。 |
|
inputModel |
マスターノードで更新されるニューラル・ネットワーク・モデル。入力は Model クラスのオブジェクトです。 重要マスターノードがローカルノードにモデルを渡した後、inputModel の setWeightsAndBiases() メソッドを使用してモデルのパラメーターを更新します。 |
このステップで、ニューラル・ネットワーク訓練アルゴリズムは次の部分結果を計算します。部分結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
部分結果 ID |
部分結果 |
|
---|---|---|
derivatives |
サイズ weightsAndBiasesSize x 1 の数値テーブルのポインター (weightsAndBiasesSize はモデルのパラメーターの数)。デフォルトでは、この結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable、PackedSymmetricMatrix、および PackedTriangularMatrix を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
|
batchSize |
各ノードの訓練で同時に使用するサンプルの数を含むサイズ 1 x 1 の数値テーブルのポインター。デフォルトでは、この部分結果は HomogenNumericTable クラスのオブジェクトですが、(CSRNumericTable、PackedSymmetricMatrix、および PackedTriangularMatrix を除く) NumericTable の派生クラスのオブジェクトとして定義できます。 |
このステップのニューラル・ネットワーク訓練アルゴリズムの入力は次のとおりです。入力 ID をパラメーターとして、アルゴリズムの入力を提供するメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
入力 ID |
入力 |
|
---|---|---|
partialResults |
ステップ 1 のローカルノードで計算された結果 (derivatives および batchSize)。この入力は PartialResult クラスのオブジェクトを含みます。 注マスターノードのモデルはローカルノードの部分結果に応じて段階的に更新できますが、同期計算では、マスターノードは、すべてのローカルノードの部分結果を処理した後にのみ更新されたモデルを送ることに注意してください。 |
このステップで、ニューラル・ネットワーク訓練アルゴリズムは次の結果を計算します。結果 ID をパラメーターとして、アルゴリズムの結果にアクセスするメソッドに渡します。詳細は、「アルゴリズム」を参照してください。
結果 ID |
結果 |
|
---|---|---|
model |
重みとバイアスのセットで訓練されるモデル。結果は Model クラスのオブジェクトです。 |