ในAlex Krizhevsky และคณะ การจัดหมวดหมู่ของ Imagenet ด้วยเครือข่ายนิวรัล convolutionalพวกเขาระบุจำนวนของเซลล์ประสาทในแต่ละชั้น (ดูแผนภาพด้านล่าง)
อินพุตของเครือข่ายคือ 150,528 มิติและจำนวนของเซลล์ประสาทในเลเยอร์ที่เหลือของเครือข่ายนั้นมอบให้โดย 253,440–186,624–64,896–64,896–43,896–43,264–4096–4096–1000

มุมมอง 3 มิติ
จำนวนเซลล์ประสาทสำหรับเลเยอร์ทั้งหมดหลังจากที่แรกมีความชัดเจน วิธีง่ายๆในการคำนวณเซลล์ประสาทคือการคูณสามมิติของชั้นนั้น ( 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.
(จากเอกสารประกอบ SpatialConvolution ของ Torch )
ภาพอินพุตคือ:
nInputPlane = 3height = 224width = 224
และเลเยอร์ convolution คือ:
nOutputPlane = 96kW = 11kH = 11dW = 4dW = 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 เซลล์ประสาทสำหรับชั้นแรกเป็นอย่างไร ฉันพลาดอะไรไป