কনভলিউশনাল 1 ডি, কনভলিউশনাল 2 ডি এবং কনভোলিউশনাল 3 ডি এর মধ্যে পার্থক্য কী?


10

আমি কনভলিউশনাল নিউরাল নেটওয়ার্কগুলি সম্পর্কে শিখছি। Kerasউদাহরণগুলির দিকে তাকানোর সময় , আমি তিনটি পৃথক সমঝোতা পদ্ধতি জুড়ে এসেছি। যথা, 1 ডি, 2 ডি এবং 3 ডি। এই তিনটি স্তরের মধ্যে পার্থক্য কী? তাদের ব্যবহারের ক্ষেত্রে কী কী? তাদের ব্যবহারের কেসগুলি দেখানোর জন্য কি কিছু লিঙ্ক বা রেফারেন্স রয়েছে?

উত্তর:


5

পার্থক্যটি হ'ল ইনপুট স্পেসের মাত্রিকতা। কনভোলশনাল স্তরটির ইনপুটটিতে নিম্নলিখিত আকার থাকে:

ইনপুট_শ্যাপ = (ব্যাচ_ আকার, ইনপুট_ডিমস, চ্যানেল)

  • কনভাইড ডি এর জন্য ইনপুট আকার : (ব্যাচ_সাইজ, ডাব্লু, চ্যানেল)

    উদাহরণ: 1 সেকেন্ডের স্টেরিও ভয়েস সিগন্যাল 44100 হার্জেড, নমুনা: (ব্যাচ_সাইজ, 44100,2)

  • কনফি 2 ডি এর জন্য ইনপুট আকার : (ব্যাচ_সাইজ, (এইচ, ডাব্লু), চ্যানেল)

    উদাহরণ: 32x32 আরজিবি চিত্র, আকৃতি: (ব্যাচ_সাইজ, 32,32,3)

  • কনফি 3 ডি এর জন্য ইনপুট আকার : (ব্যাচ_সাইজ, (এইচ, ডাব্লু, ডি), চ্যানেল)

    উদাহরণ (আরও ছদ্মবেশী): 24 fps এ আকারে 32x32 আরজিবি চিত্রের 1 সেকেন্ডের ভিডিও, আকার: (ব্যাচ_সাইজ, 32,32,3,24)

চ্যানেল কী?

মূল জিনিসটি আমাদের ইনপুট ডেটার জন্য চ্যানেলটির অর্থ কী তা চিন্তা করা। কনভ্যুশনাল স্তর প্রতিটি চ্যানেলের জন্য পৃথক ফিল্টার প্রয়োগ করে, সুতরাং, কনভের স্তরটির ওজন নিম্নলিখিত আকারে থাকে:

(kernel_size,num_channels,num_filter_per_channels)

উদাহরণ:

12 টি ফিল্টার এবং 3 আকারের স্কোয়ার কার্নেল ম্যাট্রিক্স সহ কনভোলিউশনাল স্তরটি প্রতিটি স্তরের জন্য 12 টি পৃথক ফিল্টার প্রয়োগ করবে layer পূর্বে দেওয়া উদাহরণগুলিতে:

  • 1 সেকেন্ডের স্টেরিও ভয়েস সিগন্যাল 44100 হার্জেড, কার্নেল_ সাইজ = 3 এ নমুনাযুক্ত

    12 x 2 = 24 এক-মাত্রিক ফিল্টার, প্রতিটি চ্যানেলের জন্য 12 ফিল্টার

     Weigths shape: (3, 2, 12)
  • 32x32 আরজিবি চিত্র, কর্নেল_সাইজ = (3,3)

    12 x 3 = 36 দ্বিমাত্রিক ফিল্টার, প্রতিটি চ্যানেলের জন্য 12 ফিল্টার

    Weights shape: (3, 3, 3, 12)
  • 24 fps এ 32x32 আরজিবি চিত্রগুলির 1 সেকেন্ডের ভিডিও, কার্নেল_সাইজ = (3,3,3)

    24 x 12 = 288 ত্রি-মাত্রিক ফিল্টার, প্রতিটি চ্যানেলের জন্য 12 ফিল্টার

    Weights shape: (3, 3, 3, 24, 12)

সুতরাং প্রতিটি চ্যানেলের নিজস্ব ফিল্টারগুলির সেট থাকায় কোনও চ্যানেল মানে কী তা সিদ্ধান্ত নেওয়া খুব গুরুত্বপূর্ণ। প্রথম উদাহরণগুলির জন্য, স্টেরিও সিগন্যাল এবং আরজিবি চিত্রগুলি বিভিন্ন চ্যানেল বলে সিদ্ধান্ত নেওয়া সহজ বলে মনে হচ্ছে ... তাদের সাধারণত নাম দেওয়া হয় (স্টেরিও চ্যানেল, আরজিবি চ্যানেল) প্রকৃতপক্ষে। ভিডিও উদাহরণে এটি আরও দ্ব্যর্থহীন ... চ্যানেল হিসাবে অস্থায়ী মাত্রার সাথে একটি ভিডিও 3 ডি ইনপুট হিসাবে সেট করা সর্বোত্তম বিকল্প নাও হতে পারে, যেহেতু টেম্পোরাল ফ্রেমগুলি ক্রম আসে না (এর ফলাফলগুলি ফলাফল) প্রতিটি চ্যানেলের ফিল্টারগুলি সংক্ষিপ্ত করা হয়) এর ফলে ইনপুট ডেটার অভ্যন্তরীণ টেম্পোরাল গতিশীলতা হারাতে পারে। আর একটি ভাল পদ্ধতির (আবেদনের উপর নির্ভর করে) হ'ল আরজিবি চিত্রগুলি পুনরাবৃত্ত নিউরাল নেটওয়ার্কে 2 ডি কনভোলিউশনগুলি সহ প্রক্রিয়া করা। ভয়েস সিগন্যালের সাথেও একই ঘটনা ঘটে,

এটি লক্ষ করা গুরুত্বপূর্ণ যে একটি ইনপুট মাত্রা ডি সহ একটি সিগন্যালকে একটি চ্যানেলের সাথে ডি + 1 মাত্রার সংকেত হিসাবে বিবেচনা করা যেতে পারে, তবে ফলাফলের বৈশিষ্ট্যটির স্থানটি কম প্রতিনিধি / দরকারী হতে পারে :

 (44100,2) --> expand_dimension(axis=-1)--> ((44100,2),1)

উদাহরণস্বরূপ কেরাস কোড

from keras import Input, Conv1D, Conv2D, Conv3D
#1D
in_ = Input(shape=(44100,2))
layer = Conv1D(filters=12,kernel_size=3)
out_ = layer(in_)
print("Weights shape: {}".format(layer.get_weights()[0].shape))

#2D
in_ = Input(shape=(32,32,3))
layer = Conv2D(filters=12,kernel_size=3)
out_ = layer(in_)
print("Weights shape: {}".format(layer.get_weights()[0].shape))

#3D
in_ = Input(shape=(32,32,3,24))
layer = Conv3D(filters=12,kernel_size=3)
out_ = layer(in_)
print("Weights shape: {}".format(layer.get_weights()[0].shape))

8

Conv1D ইনপুট সিগন্যালের জন্য ব্যবহৃত হয় যা ভয়েসের সাথে সমান। তাদের নিয়োগ দিয়ে আপনি সিগন্যাল জুড়ে নিদর্শনগুলি খুঁজে পেতে পারেন। উদাহরণস্বরূপ, আপনার একটি ভয়েস সিগন্যাল রয়েছে এবং আপনার একটি কনভোলজিকাল স্তর রয়েছে। প্রতিটি কনভলিউশন কোনও ব্যয় ফাংশন নিয়োগ দিয়ে অর্থবহ নিদর্শনগুলি খুঁজে পাওয়ার জন্য ভয়েসকে সরিয়ে দেয়।

Conv2D চিত্রগুলির জন্য ব্যবহৃত হয়। এই ব্যবহারের ক্ষেত্রে খুব জনপ্রিয়। এই স্তরটির জন্য ব্যবহৃত কনভোলশন পদ্ধতিটিকে ভলিউম ওভার ভলিউম বলা হয় । এর অর্থ আপনার কাছে একটি দ্বি-মাত্রিক চিত্র রয়েছে যার মধ্যে একাধিক চ্যানেল রয়েছে, উদাহরণ হিসাবে আরজিবি। এই ক্ষেত্রে, প্রতিটি কনভোলজিনাল ফিল্টারটি অবশ্যই চিত্রের সাথে উপযুক্ত নিদর্শনগুলি খুঁজে পাওয়ার জন্য চিত্রের সাথে সংশ্লেষিত হওয়ার জন্য, ত্রি-মাত্রিক ফিল্টার হওয়া উচিত actually

কনভ 3 ডি সাধারণত ভিডিওগুলির জন্য ব্যবহৃত হয় যেখানে প্রতিবারের জন্য আপনার ফ্রেম থাকে। এই স্তরগুলির সাধারণত পূর্ববর্তী স্তরগুলির চেয়ে বেশি পরামিতিগুলি শিখতে হবে। কারণ আমরা তাদের কল3ডিএটি কি প্রতিটি ফ্রেমের চিত্র ছাড়াও অন্য সময় অক্ষরযুক্ত মান যুক্ত সময় থাকে এবং এগুলির প্রত্যেকটি একটি নির্দিষ্ট ফ্রেমের সাথে মিলে যায়।

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