1x1 কনভোলিউশনগুলি কীভাবে সম্পূর্ণ সংযুক্ত স্তর হিসাবে একই?


55

আমি সম্প্রতি 1x1 কনভোলিউশনে ইয়ান লেকানসের মন্তব্য পড়েছি :

কনভলিউশনাল নেটগুলিতে, "সম্পূর্ণ-সংযুক্ত স্তরগুলি" বলে কোনও জিনিস নেই। এখানে কেবল 1x1 কনভ্যুশনাল কার্নেল এবং সম্পূর্ণ সংযোগ টেবিলের সাথে কনভলিউশন স্তর রয়েছে।

এটি খুব কমই বোঝা যায় যে কনভনেটসের কোনও নির্দিষ্ট-আকারের ইনপুট লাগবে না। আপনি তাদের ইনপুটগুলিতে প্রশিক্ষণ দিতে পারেন যা কোনও একক আউটপুট ভেক্টর (কোনও স্থানিক সীমানা ছাড়াই) উত্পাদনের জন্য ঘটে এবং তারপরে এগুলি বড় চিত্রগুলিতে প্রয়োগ করে apply একক আউটপুট ভেক্টরের পরিবর্তে, আপনি তারপরে আউটপুট ভেক্টরগুলির একটি স্থানিক মানচিত্র পান। প্রতিটি ভেক্টর ইনপুটটিতে বিভিন্ন স্থানে ইনপুট উইন্ডো দেখতে পান। সেই পরিস্থিতিতে, "সম্পূর্ণ সংযুক্ত স্তরগুলি" সত্যই 1x1 কনভোলিউশন হিসাবে কাজ করে।

আমি এর জন্য একটি সাধারণ উদাহরণ দেখতে চাই।

উদাহরণ

ধরে নিন আপনার একটি সম্পূর্ণ সংযুক্ত নেটওয়ার্ক রয়েছে। এটিতে কেবল একটি ইনপুট স্তর এবং আউটপুট স্তর রয়েছে। ইনপুট স্তরটিতে 3 টি নোড রয়েছে, আউটপুট স্তরটিতে 2 টি নোড রয়েছে। এই নেটওয়ার্কটিতে 32=6 পরামিতি রয়েছে। এটিকে আরও কংক্রিট করার জন্য, আসুন আপনাকে আউটপুট স্তর এবং ওজন ম্যাট্রিক্সে একটি রিলু অ্যাক্টিভেশন ফাংশন রয়েছে বলে দিন

W=(011235)R2×3b=(813)R2

f(x)=ReLU(Wx+b)xR3

কনভোলশনাল স্তরটি দেখতে একইরকম দেখতে কেমন হবে? "পূর্ণ সংযোগ টেবিল" দিয়ে লেকন অর্থ কী?

23+2=8

উত্তর:


29

আপনার উদাহরণ

আপনার উদাহরণে আমরা 3 ইনপুট এবং 2 আউটপুট ইউনিট আছে। : Convolutions প্রয়োগ করতে, আকৃতি থাকার যারা ইউনিট মনে [1,1,3]এবং [1,1,2]যথাক্রমে। সিএনএন পদে, আমাদের 3ইনপুট এবং 2আউটপুট বৈশিষ্ট্য মানচিত্র রয়েছে, প্রত্যেকের স্থানিক মাত্রা রয়েছে 1 x 1

n x nk[n,n,k]1x1[1, 1, 3]221×11×1×number of channels of the input


w1=(011)R3w2=(235)R3b=(813)R2

f(x)=ReLU((w1xw2x)+(b1b2))xR3

রিয়েল কোডে রূপান্তর

বাস্তব জীবনের উদাহরণের জন্য, আমার ভিজিজি-এফসিএন বাস্তবায়নও একবার দেখুন। এই ফাইলে প্রদত্ত কোডটি ভিজিজি ওজন নেয়, তবে প্রতিটি সম্পূর্ণ-সংযুক্ত স্তরকে একটি কনভোলজিকাল স্তরগুলিতে রূপান্তর করে। vggআকারের ইনপুট চিত্রটিতে প্রয়োগ করা হলে ফলাফল প্রাপ্ত নেটওয়ার্ক একই আউটপুট দেয় [244,244,3]। (প্যাডিং ছাড়াই উভয় নেটওয়ার্ক প্রয়োগ করার সময়)।

রূপান্তরিত কনভিনিশনাল স্তরগুলি ফাংশনে _fc_layer(লাইন 145) প্রবর্তিত হয় । তারা কার্নেল আকার 7x7হিসাবে, FC6 (যা সর্বোচ্চ জন্য pool5এর VGG আকৃতি একটি বৈশিষ্ট্য মানচিত্র আউটপুট [7,7, 512]। লেয়ার FC7এবং FC8হিসাবে প্রয়োগ করা হয় 1x1সংবর্তন।

"সম্পূর্ণ সংযোগ সারণী"

আমি ১০০% নিশ্চিত নই, তবে তিনি এমন ফিল্টার / কার্নেলটি উল্লেখ করতে পারেন যার ইনপুট বৈশিষ্ট্য মানচিত্রের একই মাত্রা রয়েছে। উভয় ক্ষেত্রে (কোড এবং আপনার উদাহরণ) স্থানিক মাত্রা এই অর্থে সর্বাধিক, ফিল্টারটির স্থানিক মাত্রা ইনপুট হিসাবে স্থানিক মাত্রার সমান as


"অতএব আপনার 1x1 কনভোলিউশনের কার্নেলের আকার [1, 1, 3] রয়েছে।" কি? মনে হচ্ছে কনভোলশনের আরও বড় ভুল বোঝাবুঝি। আমি ভেবেছিলাম যদি কোনও কনভলিউশন কার্নেলের আকৃতি [1, 1, 3] থাকে, তবে কেউ বলবেন এটি 1x1x3 কনভলিউশন? সুতরাং 1x1 কনভলিউশনটি কেবল আউটপুট সম্পর্কে, কার্নেল সম্পর্কে নয়?
মার্টিন থোমা

2
আমার জন্য kernel = filter, আপনি কি একমত? >> "সুতরাং 1x1 কনভ্যুশনাল কেবল আউটপুট সম্পর্কে, কার্নেল সম্পর্কে নয়? মোটেও নয় 3x3conv কনভোলজটিতে একটি নির্বিচারে আউটপুট আকার থাকতে পারে" "প্রকৃতপক্ষে, প্যাডিং ব্যবহার করা হয় এবং stride=1তারপরে output shape = input shape। >> "আমি ভেবেছিলাম যদি কোনও কনভলিউশন কার্নেলের আকার থাকে [1, 1, 3], তবে কেউ বলবেন এটি 1x1x3 কনভলিউশন?" না, আমি কখনও কাউকে বোঝার কথা বলতে শুনিনি 3x3x512। তবে আমি দেখেছি সমস্ত কনভোলিউশন-ফিল্টারগুলির ইনপুট স্তরের বৈশিষ্ট্য-মানচিত্রের সংখ্যার সমান তৃতীয় স্থানিক মাত্রা রয়েছে।
মার্ভমাইন্ড

রেফারেন্সের জন্য, Convolution Demoকারপাঠি সিএস 321n কোর্সটি দেখুন: cs231n.github.io/convolutional- নেট ওয়ার্কস / #conv । বা টেনসরফ্লো এপিআইতে: tensorflow.org/versions/r0.9/api_docs/python/nn.html#conv2d ফিল্টারগুলির আকার হওয়ার কথা [filter_height, filter_width, in_channels, out_channels]
মারভমাইন্ড

আপনার উত্তরটিতে আমি কী "1x1 কনভোলশানগুলি ইনপুটটির 1 x 1 x সংখ্যার চ্যানেলগুলির সাথে যুক্ত করতে পারি?" এটি আমার বিভ্রান্তির উত্স ছিল এবং আমি এটি ভুলে যেতে থাকি।
মার্টিন থোমা

অবশ্যই, এগিয়ে যান!
মার্ভমাইন্ড


2

সমপরিমাণ কার্নেলের কেবল ইনপুটটির মতো আকার থাকে এবং একটি টেনসর ডট পণ্য গণনা করে। (আমি "আকৃতি" শব্দটি ব্যবহার করি কারণ "আকার" নিয়ে কিছু বিভ্রান্তি রয়েছে বলে মনে হয়, যা প্রায়শই চ্যানেল / গভীরতার মাত্রা উপেক্ষা করে)। কোনও "ইনপুট জুড়ে কার্নেল স্লাইডিং" এর সাথে জড়িত নেই, যেহেতু কার্নেলটি যতটা সম্ভব বিশাল। স্ট্যানফোর্ড সিএস 231n কোর্সের নোটের উদ্ধৃতি :

যে কোনও এফসি স্তরকে কোনও সিওএনভি স্তরে রূপান্তর করা যায়। উদাহরণস্বরূপ, কে = 4096 সহ একটি এফসি স্তর যা আকারের কিছু ইনপুট ভলিউম 7 × 7 × 512 দেখছে, সমানভাবে F = 7, পি = 0, এস = 1, কে = 4096, এফ দ্বারা একটি সিওএনভি স্তর হিসাবে প্রকাশ করা যেতে পারে = 7, পি = 0, এস = 1 K = 4096। অন্য কথায়, আমরা ফিল্টার আকারটি ইনপুট ভলিউমের হুবহু আকার হিসাবে নির্ধারণ করছি এবং সুতরাং আউটপুটটি কেবলমাত্র 1 × 1 × 4096 হবে কারণ ইনপুট ভলিউম জুড়ে কেবলমাত্র একটি একক গভীরতার কলাম "ফিট করে", একইরকম ফলাফল প্রদান করে প্রাথমিক এফসি স্তর

আমি বিশ্বাস করি "এফ = 7, পি = 0, এস = 1, কে = 4096, এফ = 7, পি = 0, এস = 1, কে = 4096" এর অর্থ এখানে প্রতিটি ক্যানভের কার্নেলের আকার 7x7x512 রয়েছে এবং এর মধ্যে 4096 টি ফিল্টার রয়েছে।

পূর্ববর্তী উত্তরে উল্লিখিত ছিল যে অ্যালেক্সনেটের শেষ এফসি (যা আকার 1x1x4096 আকারের ইনপুট গ্রহণ করে এবং 1000 শ্রেণীর স্কোর গণনা করে) "1x1 কনভলিউশন" হিসাবে প্রয়োগ করা হয়। সম্পূর্ণ হওয়ার জন্য, এই জাতীয় প্রতিটি কনফারেন্সের কার্নেলের আকার 1x1x4096 রয়েছে এবং এর মধ্যে 1000 রয়েছে।

লে কান তার সিএনএন পেপারে , লেনেট 5 এর বিবরণ 8 পৃষ্ঠায় এটিও ব্যাখ্যা করেছেন :

লেয়ার সি 5 হল 120 ​​টি বৈশিষ্ট্যযুক্ত মানচিত্রযুক্ত একটি কনভোলজিকাল স্তর। প্রতিটি ইউনিট এস 4 এর বৈশিষ্ট্য মানচিত্রের 16 টিতে 5x5 পাড়ার সাথে সংযুক্ত রয়েছে। এখানে এস 4 এর আকার 5x5 হওয়ায়, সি 5 এর বৈশিষ্ট্য মানচিত্রের আকার 1x1; এটি এস 4 এবং সি 5 এর মধ্যে সম্পূর্ণ সংযোগের সমান।


1

আমার মতো যে কোনও নবজাতক পাইটর্চ ব্যবহারকারীর কাছে - "লিনিয়ার স্তর" দিয়ে "সম্পূর্ণ সংযুক্ত স্তরকে" বিভ্রান্ত করবেন না

একটি লিনিয়ার স্তর এবং 1x1 কনভোলিউশন একই জিনিস। "পুরোপুরি সংযুক্ত স্তর" বলে কোনও জিনিস নেই তা বুঝতে আমার কিছুটা সময় লেগেছে - এটি কেবলমাত্র 1D জায়ান্ট টেনসরের মধ্যে স্থানিক মাত্রাগুলির সমতলকরণ। চাটুকারণের ফলে সমস্ত স্থানিক অবস্থানের প্রতিটি উপাদানকে আলাদা বৈশিষ্ট্য মানচিত্র / চ্যানেল / মাত্রা (আপনি এটি যাই বলতে চান) হিসাবে উপস্থাপিত করে। অতএব, যখন আমরা একটি সমতল টেনসরের উপর একটি লিনিয়ার স্তর প্রয়োগ করি, তখন আমরা একটি সম্পূর্ণ সংযুক্ত অপারেশন পাই , যা স্পষ্টতই, 1x1 সমঝোতার মতো নয়।

1x1j=01X[j]W0[j]+b[0]j=01X[j]W1[j]+b[1]j=01X[j]W2[j]+b[2]

O=W2×3X3×1+b2×1

অন্যান্য উত্তর যা দাবি করে যে একটি সম্পূর্ণ-সংযুক্ত স্তর কেবল আকারের ইনপুটগুলির জন্য একটি বৈধ nxn কনভোলিউশন স্তরটি nxnবিভ্রান্তিকর (যদিও সঠিক, সঠিক)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.