7

Okumakta olduğum giriş belgeleri (TOC here), tanımlamaksızın the term here ürününü tanıtmaktadır.TensorFlow'da parti nedir?

[1] https://www.tensorflow.org/get_started/ 
[2] https://www.tensorflow.org/tutorials/mnist/tf/ 
+0

merhaba, toplu (çağ, yineleme, ..) 'dir aslında bilgisayarla ilgili değil. Bu CV'nin sorusuna, parti büyüklüğünün genel fikrini ve sonuçlarını modelinizin performansına yansıtmak için başvurabilirsiniz: http: //stats.stackexchange.com/questions/153531/what-is-batch-boyutu-nöral-ağ – tagoma

cevap

17

Rakam tanıma (MNIST) yapmak istediğinizi ve ağ mimarinizi (CNN) tanımladığınızı varsayalım. Şimdi, görüntüleri eğitim verileriyle birer birer ağa besleyebilir, tahmini (aynı zamanda çıkarım olarak da bilinir) tahminini alabilir, kaybı hesaplayabilir, eğimi hesaplayabilir ve parametreleri (ağırlıkları ve biaslar) güncelleyebilir ve devam edebilirsiniz. sonraki resim ... Bu çevrimiçi öğrenme denir.

Ama, eğimleri az gürültülü ve ayrıca dizi işlemleri (nD-diziler özgü olmak üzere) yaparak en verimli GPU'ları gücünden yararlanmak için, eğitim daha hızlı olmasını istiyorum. Yani, bunun yerine, adresinde (bu boyutun seçimi size kalmış (hyperparametre) ve sizin de sorununuza bağlı olarak 100 görüntü beslemek). Eğer çevrimiçi olduğu gibi bir süre (1 yerine en fazla 100 görüntü (28x28) içinde besliyorsun beri, İşte: (Martin Gorner Yazar)

Batch size of 100

Örneğin, aşağıdaki resme bir göz atmaya eğitim durumu), toplu iş boyutu 100'dur. Çoğu zaman bu mini-batch boyutu veya sadece mini-batch olarak adlandırılır. Ayrıca


aşağıda resmi: (Yazar: Martin Gorner)

batch size again

Şimdi, matris çarpım hepsi sadece mükemmel iyi bir sonuç olacak ve ayrıca son derece optimize yararlanarak olacak dizi işlemleri ve dolayısıyla daha hızlı eğitimini zamana ulaştırır. Yukarıdaki resim gözlemlerseniz

, bu sürece sizin (GPU) donanım hafızasına sığar olarak 100 veya 256 veya 2048 veya 10000 (parti boyutu) görüntüleri vermek ister o çok önemli değil. Sadece bu kadar çok tahmin yapacaksın.

Fakat, bu parti boyutu eğitim süresini etkiler akılda vb ulaşmak hatayı, gradyan vardiya tutun, parti boyutu iyi dışarı çalışır hangileri olduğu Başparmak genel bir kural vardır. Sadece birkaç beden deneyin ve sizin için en uygun olanı seçin. Ancak, verilere aşırı yük olacağından büyük yığın boyutlarını kullanmamaya çalışın. İnsanlar genellikle 32, 64, 128, 256, 512, 1024, 2048'un mini gruplarını kullanır.


Bonus: Bu toplu boyutu ile gidebilirsiniz nasıl deli iyi kavramak almak için, bu kağıdı bir okuma verin: weird trick for parallelizing CNNs

+0

Eğer benim antrenman setim 1000 görüntüyse ve 10'luk bir parti boyutu kullanırsam, tüm antrenman setinin her defasında 10 kez model parametreleri değişecektir işleniyor? –

+2

Evet, ama aslında 100 kere! (10 * 100 = 1000 tren resmi) – kmario23

+2

@ kmario23 Eğer parti boyutunu 1 olarak ayarlarsanız, esasen stokastik gradyan alçalması olur mu? Veri kümesinin boyutuna ayarlarsanız, bu toplu gradyan alçalması mıdır? Ve aradaki her şey (yukarıdaki örnekte 100) min-batch gradyan kökenli mi? – eggie5