পার্থক্যটি হ'ল ইনপুট স্পেসের মাত্রিকতা। কনভোলশনাল স্তরটির ইনপুটটিতে নিম্নলিখিত আকার থাকে:
ইনপুট_শ্যাপ = (ব্যাচ_ আকার, ইনপুট_ডিমস, চ্যানেল)
কনভাইড ডি এর জন্য ইনপুট আকার : (ব্যাচ_সাইজ, ডাব্লু, চ্যানেল)
উদাহরণ: 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))