ইন অ্যালেক্স Krizhevsky, এট অল। গভীর রূপান্তরমূলক নিউরাল নেটওয়ার্কগুলির সাথে চিত্রের শ্রেণিবিন্যাস তারা প্রতিটি স্তরের নিউরনের সংখ্যা গণনা করে (নীচের চিত্রটি দেখুন)।
নেটওয়ার্কের ইনপুটটি 150,528-মাত্রিক, এবং নেটওয়ার্কের অবশিষ্ট স্তরগুলিতে নিউরনের সংখ্যা 253,440–186,624–64,896–64,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
!
আউটপুট আকার গণনা করুন
একটি কনভ্যুশনের আউটপুট টেনসর গণনা করার অন্যান্য উপায় হ'ল:
যদি ইনপুট চিত্রটি 3 ডি টেনসর হয়
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 নিউরন কীভাবে পান? আমি কী মিস করছি?