পূর্ববর্তী কনভোলিউশনাল লেয়ারের ব-দ্বীপ শর্ত এবং ওজন প্রদত্ত কোন কনভলিউশনাল লেয়ারের ব-দ্বীপের শব্দটি আমি কীভাবে গণনা করব?


10

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

delta(l) = (w(l+1)' * delta(l+1)) * grad_f_a(l)

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

এখন আমার কাছে সি 2 এর একটি ডেল্টা শব্দ রয়েছে - যা আকারের 4D ম্যাট্রিক্স (ফিচারম্যাপসাইজ, ফিচারম্যাপ সাইজ, ফিল্টারনাম, প্যাটার্ননাম)। তদতিরিক্ত আমার কাছে সি 2 এর ওজন রয়েছে যা আকারের 3 ডি ম্যাট্রিক্স (ফিল্টারসাইজ, ফিল্টারসাইজ, ফিল্টারনাম)।

এই দুটি পদ এবং সি 1 সক্রিয়করণের গ্রেডিয়েন্টের সাথে আমি সি 1 এর ব-দ্বীপ গণনা করতে চাই।

দীর্ঘ সংক্ষিপ্ত বিবরণ:

পূর্ববর্তী কনভ্যুশনাল স্তরের ব-দ্বীপ শর্ত এবং সেই স্তরের ওজন দেওয়া, আমি কীভাবে কনভোলশনাল স্তরের ব-দ্বীনের শব্দটি গণনা করব?

উত্তর:


6

আমি প্রথমত এক মাত্রিক অ্যারে (ইনপুট) এর সরলতার জন্য নীচে একটি সংশ্লেষীয় স্তরটির জন্য ত্রুটিটি পাই যা সহজেই তখন বহুমাত্রিককে স্থানান্তরিত করা যায়:

আমরা এখানে ধরে নিই যে Y-1 দৈর্ঘ্যের এন এর ইনপুট হয় -1-মাম কনভ স্তর,মি ওজনের কার্নেল-আকার W প্রতিটি ওজন দ্বারা চিহ্নিত করা Wআমি এবং আউটপুট হয় এক্স
সুতরাং আমরা লিখতে পারি (শূন্য থেকে সংক্ষেপটি নোট করুন):

এক্সআমি=Σএকটি=0মি-1WএকটিYএকটি+ +আমি-1
কোথায় Yআমি=(এক্সআমি) এবং অ্যাক্টিভেশন ফাংশন (যেমন সিগময়েডাল)। এটি হাতে রেখে আমরা এখন কিছু ত্রুটি ফাংশন বিবেচনা করতে পারি এবং প্রদত্ত কনভ্যুশনাল স্তর (আপনার আগের স্তরের একটি) এ ত্রুটি ফাংশন /Yআমি। আমরা এখন আগের স্তর (গুলি) এর একটি ওজনের ত্রুটির নির্ভরতা জানতে চাই:
Wএকটি=Σএকটি=0এন-মিএক্সআমিএক্সআমিWএকটি=Σএকটি=0এন-মিWএকটিYআমি+ +একটি-1

যেখানে আমাদের সমস্ত প্রকাশের উপরে যোগফল রয়েছে Wএকটি ঘটে, যা হয় এন-মি। এটিও নোট করুন যে আমরা জানি যে শেষ শব্দটি এই থেকেই উদ্ভূত হয়েছিলএক্সআমিWএকটি=Yআমি+ +একটি-1যা আপনি প্রথম সমীকরণ থেকে দেখতে পাবেন।
গ্রেডিয়েন্ট গণনা করার জন্য আমাদের প্রথম শব্দটি জানা দরকার, যা দ্বারা নিরূপণ করা যেতে পারে:
এক্সআমি=YআমিYআমিএক্সআমি=Yআমিএক্সআমি(এক্সআমি)
যেখানে আবার প্রথম শব্দটি পূর্ববর্তী স্তরের ত্রুটি এবং অ-লিনিয়ার অ্যাক্টিভেশন ফাংশন।

সমস্ত প্রয়োজনীয় সত্তা থাকা আমরা এখন ত্রুটি গণনা করতে এবং মূল্যবান স্তরে দক্ষতার সাথে এটি আবার প্রচার করতে সক্ষম হয়েছি:

δএকটি-1=Yআমি-1=Σএকটি=0মি-1এক্সআমি-একটিএক্সআমি-একটিYআমি-1=Σএকটি=0মি-1এক্সআমি-একটিWএকটিআমিপিপি
নোট করুন যে লিখিত লেখার সময় শেষ পদক্ষেপটি সহজেই বোঝা যায় এক্সআমি-স Yআমি-1-s। দ্যআমিপিপি ট্রান্সপোজড ওজন ম্যাক্সট্রিক্সকে বোঝায় (টি)।

সুতরাং আপনি কেবল পরবর্তী স্তরের ত্রুটিটি গণনা করতে পারেন (এখন ভেক্টর নোটেশনে):

δ=(W)টিδ+ +1'(এক্স)

যা একটি কনভোলজিকাল এবং সাবসাম্পলিং লেয়ারের হয়ে ওঠে:

δ=তোমার দর্শন লগ করাপিগুলিএকটিমিপি((W)টিδ+ +1)'(এক্স)
যেখানে তোমার দর্শন লগ করাপিগুলিএকটিমিপি অপারেশন সর্বোচ্চ পুলিং স্তর মাধ্যমে ত্রুটি প্রচার করে।

আমাকে যোগ বা সংশোধন বিনা দ্বিধায় দয়া করে!

রেফারেন্সের জন্য দেখুন:

http://ufldl.stanford.edu/tutorial/supervised/ConvolutionalNeuralNetwork/ http://andrew.gibiansky.com/blog/machine-learning/convolutional-neural-networks/

এবং একটি সি ++ বাস্তবায়নের জন্য (ইনস্টল করার প্রয়োজন ছাড়াই): https://github.com/nyanp/tiny-cnn#supported- নেট ওয়ার্ক

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