web-dev-qa-db-ja.com

TensorFlowのBatch_size?概念を理解する

私の質問は単純で率直です。ニューラルネットワークのトレーニングと予測中に、バッチサイズは何を指定しますか。データがネットワークにどのように供給されているかを明確に把握するために、それを視覚化する方法。

オートエンコーダーを持っているとしましょう

encoder = tflearn.input_data(shape=[None, 41])
encoder = tflearn.fully_connected(encoder, 41,activation='relu')

そして、41個の機能を備えたcsvファイルとして入力を取得しています。私が理解しているのは、バッチサイズが1の場合、csvファイルから各機能を取得し、それを第1層の41個のニューロンにフィードするということです。

しかし、バッチサイズを100に増やすと、100バッチのこの41の機能がこのネットワークにどのようにフィードされるのでしょうか。

model.fit(test_set, test_labels_set, n_Epoch=1, validation_set=(valid_set, valid_labels_set),
          run_id="auto_encoder", batch_size=100,show_metric=True, snapshot_Epoch=False)

バッチまたはそれらのいくつかの操作に正規化はありますか?

エポックの数はどちらの場合も同じです

7
WiLL_K

バッチサイズは、ネットワークでフィードするサンプルの量です。入力エンコーダーには、サンプルあたり41個の値を持つ不特定(なし)のサンプル数を入力するように指定します。

Noneを使用する利点は、一度に100個の値のバッチでトレーニングでき(勾配に適しています)、1つの値のみのバッチでテストできることです(予測が必要な1つのサンプル)。

バッチごとの正規化を指定しない場合、バッチごとの正規化はありません;)

私がそれを十分に説明したことを願っています!他にもご不明な点がございましたら、お気軽にお問い合わせください。

8
rmeertens