問題タブ [batch-normalization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Keras の BatchNormalization 関数はどこで呼び出すのですか?
Keras で BatchNormalization 関数を使用したい場合、最初に一度だけ呼び出す必要がありますか?
私はそれについてこのドキュメントを読みました: http://keras.io/layers/normalization/
どこに電話すればいいのかわからない。以下は、それを使用しようとしている私のコードです:
バッチ正規化を含む 2 行目でコードを実行すると、2 行目なしでコードを実行すると、同様の出力が得られるためです。したがって、関数を適切な場所で呼び出していないか、それほど大きな違いはないと思います。
machine-learning - 畳み込みニューラル ネットワークでのバッチ正規化
私は畳み込みニューラルネットワークの初心者であり、特徴マップと、特徴を抽出するために画像に対して畳み込みがどのように行われるかについての考えを持っています。CNN でバッチ正規化を適用する方法について詳しく教えていただければ幸いです。
この論文https://arxiv.org/pdf/1502.03167v3.pdfを読み、データに適用されるBNアルゴリズムを理解できましたが、最終的に、CNNに適用する場合はわずかな変更が必要であると述べました。
畳み込みレイヤーの場合、正規化が畳み込みプロパティに従うことをさらに望んでいます。これにより、異なる場所にある同じ特徴マップの異なる要素が同じ方法で正規化されます。これを達成するために、すべての場所でミニバッチ内のすべてのアクティベーションを共同で正規化します。アルグで。1、B をミニバッチの要素と空間位置の両方にわたる特徴マップのすべての値のセットとします。したがって、サイズ m のミニバッチとサイズ p × q の特徴マップの場合、効果を使用します- サイズ m′ = |B| のミニバッチ = m · pq. 活性化ごとではなく、特徴マップごとにパラメーター γ(k) と β(k) のペアを学習します。アルゴリズム 2 も同様に変更されているため、推論中に BN 変換が特定の特徴マップの各アクティベーションに同じ線形変換を適用します。
彼らが「同じ機能マップの異なる要素が異なる場所で同じように正規化されるように」と言うと、私は完全に混乱します
機能マップが何を意味するかを知っており、さまざまな要素がすべての機能マップの重みです。しかし、場所や空間的な場所が何を意味するのか理解できませんでした。
以下の文がまったく理解できませんでした 。「Alg. 1 では、ミニバッチの要素と空間位置の両方にまたがるフィーチャ マップのすべての値のセットを B にします」
誰かが冷静に詳しく説明して、もっと簡単な言葉で私を説明してくれたらうれしいです
machine-learning - カフェで「BatchNorm」レイヤーをどのように使用すればよいですか?
"BatchNorm"
モデルでレイヤーを使用/挿入する方法について少し混乱しています。
たとえば、次のようないくつかの異なるアプローチがあります。
ResNets : "BatchNorm"
+ "Scale"
(パラメータ共有なし)
"BatchNorm"
layer の直後に"Scale"
layer:
cifar10 の例: のみ"BatchNorm"
caffe で提供されている cifar10 の例では、"BatchNorm"
はそれに従わずに使用され"Scale"
ています。
cifar10batch_norm_param
とTRAIN
で異なるTEST
batch_norm_param: use_global_scale
TRAIN
とTEST
フェーズの間で変更されます:
それで、それはどうあるべきですか?
"BatchNorm"
カフェでレイヤーをどのように使用する必要がありますか?
tensorflow - Tensorflow でのボリューム バッチ正規化
リンク で Torch によって提供される Volumetric Batch Normalization に相当するテンソルフローは何nn.VolumetricBatchNormalization
ですか?
私は現在使用しています:
これは、寸法の入力に対する正しい使用方法(batch_size,height,width,depth,channels)
ですか?
tensorflow - TensorFlow - 回帰でバッチ正規化が失敗しますか?
マルチターゲット回帰問題に TensorFlow を使用しています。具体的には、入力が画像であり、ラベルが各ピクセルに float 値を持つ「ヒートマップ」であるピクセル単位のラベル付けを使用する畳み込みネットワーク。より具体的には、各ピクセルのグラウンド トゥルース ラベル付けの下限は 0 であり、技術的に上限はありませんが、通常は 1e-2 を超えることはありません。
バッチ正規化がなければ、ネットワークは合理的なヒートマップ予測を提供できます。バッチ正規化では、ネットワークが妥当な損失値に到達するまでに非常に長い時間がかかりますが、最善の方法はすべてのピクセルを平均値にすることです。これはtf.contrib.layers
conv2d
とbatch_norm
メソッドを使用し、batch_norm
が に渡されますconv2d
(normalization_fn
バッチ正規化がない場合はそうではありません)。別の(単一値)回帰ネットワークでバッチ正規化を簡単に試しましたが、そのときも問題がありました(ただし、それほど広範囲にテストしていませんでした)。一般に、回帰問題でバッチ正規化を使用する際に問題はありますか? 共通の解決策はありますか?
そうでない場合、そのようなアプリケーションでバッチ正規化が失敗する原因は何ですか? さまざまな初期化、学習率などを試みました。最終層 (もちろんバッチ正規化は使用しません) は重みを使用して、最後から 2 番目の層の出力を適切な回帰値にスケーリングできると思います。それができなかったので、そのレイヤーからバッチ ノルムを削除しましたが、改善はありませんでした。バッチ正規化を使用して小さな分類問題を試みましたが、問題は見られませんでした。そのため、回帰問題の性質が原因である可能性があることは合理的と思われますが、それがどのようにしてこのような劇的な違いを引き起こすかはわかりません. バッチ正規化は回帰問題で問題があることが知られていますか?