में एलेक्स Krizhevsky, एट अल। गहरी सजातीय तंत्रिका नेटवर्क के साथ Imagenet वर्गीकरण वे प्रत्येक परत में न्यूरॉन्स की संख्या की गणना करते हैं (नीचे आरेख देखें)।
नेटवर्क का इनपुट 150,528-आयामी है, और नेटवर्क की शेष परतों में न्यूरॉन्स की संख्या 253,440–186,624–64,896–64,896–43,264- 4096–4096-1000 द्वारा दी गई है।
एक 3D दृश्य
पहले स्पष्ट होने के बाद सभी परतों के लिए न्यूरॉन्स की संख्या। न्यूरॉन्स की गणना करने के लिए एक सरल तरीका उस परत के तीन आयामों को बस गुणा करना है planes X width X height
:
- परत 2:
27x27x128 * 2 = 186,624
- परत 3:
13x13x192 * 2 = 64,896
- आदि।
हालांकि, पहली परत को देखते हुए:
- परत 1:
55x55x48 * 2 = 290400
ध्यान दें कि यह कागज में निर्दिष्ट नहीं है 253,440
!
आउटपुट आकार की गणना करें
एक कनवल्शन के आउटपुट टेंसर की गणना करने का दूसरा तरीका है:
यदि इनपुट छवि 3D टेंसर है
nInputPlane x height x width
, तो आउटपुट इमेज का आकारnOutputPlane x owidth x oheight
कहां होगा
owidth = (width - kW) / dW + 1
oheight = (height - kH) / dH + 1
।
( मशाल स्पाटियलवोल्यूशन डॉक्यूमेंटेशन से )
इनपुट छवि है:
nInputPlane = 3
height = 224
width = 224
और दृढ़ संकल्प परत है:
nOutputPlane = 96
kW = 11
kH = 11
dW = 4
dW = 4
(उदाहरण कर्नेल आकार 11
, स्ट्राइड 4
)
उन संख्याओं में प्लगिंग जो हमें मिलती है:
owidth = (224 - 11) / 4 + 1 = 54
oheight = (224 - 11) / 4 + 1 = 54
इसलिए हम 55x55
कागज से मेल खाने वाले आयामों में से एक हैं । वे पैडिंग हो सकते हैं (लेकिन cuda-convnet2
मॉडल स्पष्ट रूप से पैडिंग को 0 पर सेट करता है)
यदि हम 54
-साइज आयाम लेते हैं तो हमें 96x54x54 = 279,936
न्यूरॉन्स मिलते हैं - फिर भी बहुत सारे।
तो मेरा सवाल ये है:
पहली दृढ़ परत के लिए उन्हें 253,440 न्यूरॉन्स कैसे मिलते हैं? मुझे किसकी याद आ रही है?