Backpropagation
একটি মেশিন-লার্নিং অ্যালগরিদম হিসাবে, ব্যাকপ্রোপেগেশন একটি নিউরাল নেটওয়ার্ক মডেলের পরামিতিগুলি সামঞ্জস্য করার জন্য একটি ব্যাকওয়ার্ড পাস সম্পাদন করে, যার লক্ষ্য গড় বর্গ ত্রুটি (এম. এস. ই) হ্রাস করা। একটি বহু-স্তরযুক্ত নেটওয়ার্কে, ব্যাকপ্রপাগেশন নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করেঃ ধারাবাহিকভাবে লুকানো স্তরগুলির আউটপুট এবং অবশেষে চূড়ান্ত স্তরের আউটপুট (ফিড ফরওয়ার্ড ধাপ) গণনা করে মডেলের মাধ্যমে ইনপুট থেকে পূর্বাভাস আউটপুট পর্যন্ত প্রশিক্ষণ ডেটা প্রচার করুন। ওজনের তুলনায় ত্রুটি কমাতে মডেলের ওজন সামঞ্জস্য করুন। ত্রুটিটি সাধারণত ভবিষ্যদ্বাণী এবং লক্ষ্যের মধ্যে বর্গাকার পার্থক্য। প্রতিটি ওজনের জন্য, ত্রুটির ঢাল বা ব্যুৎপত্তি পাওয়া যায় এবং ওজন এই ব্যুৎপত্তিটির একটি ঋণাত্মক গুণিতক দ্বারা সামঞ্জস্য করা হয়, যাতে ন্যূনতম-ত্রুটি বিন্যাসের দিকে নিচে নামতে পারে। এই ডেরিভেটিভটি চূড়ান্ত স্তরের ওজনের জন্য গণনা করা সহজ এবং পরবর্তী স্তরের ডেরিভেটিভ দেওয়া একটি স্তরের জন্য গণনা করা সম্ভব। শেষ থেকে শুরু করে, তারপর, ডেরিভেটিভগুলি শুরুর দিকে স্তরের পর স্তর গণনা করা হয়-এইভাবে "ব্যাকপ্রপাগেশন"। বার বার ওজনগুলি আপডেট করুন যতক্ষণ না তারা একত্রিত হয় বা মডেলটি যথেষ্ট পুনরাবৃত্তির মধ্য দিয়ে যায়। এটি এই ধরনের নেটওয়ার্কগুলিতে লাইবনিজ চেইন রুলের (1673) একটি দক্ষ প্রয়োগ। সেপ্পো লিনাইনমা (1970)-এর কারণে এটি স্বয়ংক্রিয় পৃথকীকরণ বা বিপরীত সঞ্চয়ের বিপরীত মোড হিসাবেও পরিচিত। "ব্যাক-প্রপাগেটিং এরর করেকশন" শব্দটি 1962 সালে ফ্রাঙ্ক রোজেনব্ল্যাট দ্বারা প্রবর্তিত হয়েছিল, তবে এটি কীভাবে প্রয়োগ করা যায় তা তিনি জানতেন না, যদিও হেনরি জে. কেলির নিয়ন্ত্রণ তত্ত্বের প্রেক্ষাপটে ইতিমধ্যে 1960 সালে ব্যাক-প্রপাগেশনের একটি অবিচ্ছিন্ন অগ্রদূত ছিল। ব্যাকপ্রপাগেশন একটি একক ইনপুট-আউটপুট উদাহরণের জন্য নেটওয়ার্কের ওজনের সাথে সম্পর্কিত একটি লস ফাংশনের গ্রেডিয়েন্ট গণনা করে এবং এটি দক্ষতার সাথে করে, একটি সময়ে গ্রেডিয়েন্টের একটি স্তর গণনা করে, চেইন নিয়মে মধ্যবর্তী পদগুলির অপ্রয়োজনীয় গণনা এড়াতে শেষ স্তর থেকে পিছন দিকে পুনরাবৃত্তি করে; এটি গতিশীল প্রোগ্রামিংয়ের মাধ্যমে প্রাপ্ত করা যেতে পারে। গ্রেডিয়েন্ট ডিসেন্ট বা স্টোকাস্টিক গ্রেডিয়েন্ট ডিসেন্টের মতো রূপগুলি সাধারণত ব্যবহৃত হয়। কঠোরভাবে ব্যাকপ্রোপেগেশন শব্দটি শুধুমাত্র গ্রেডিয়েন্ট গণনা করার জন্য অ্যালগরিদমকে বোঝায়, গ্রেডিয়েন্টটি কীভাবে ব্যবহার করা হয় তা নয়; তবে শব্দটি প্রায়শই পুরো লার্নিং অ্যালগরিদমকে বোঝাতে আলগাভাবে ব্যবহৃত হয়-গ্রেডিয়েন্টটি কীভাবে ব্যবহার করা হয় তা সহ, যেমন স্টোকাস্টিক গ্রেডিয়েন্ট ডিসেন্ট দ্বারা। 1986 সালে ডেভিড ই. রুমেলহার্ট ও অন্যান্যরা। কৌশলটির একটি পরীক্ষামূলক বিশ্লেষণ প্রকাশ করেছে। এটি ব্যাকপ্রোপেগেশনের জনপ্রিয়তায় অবদান রাখে এবং মাল্টিলেয়ার পারসেপ্ট্রনগুলিতে গবেষণার একটি সক্রিয় সময় শুরু করতে সহায়তা করে। ওভারভিউ ব্যাকপ্রপাগেশন একটি ফিড ফরওয়ার্ড নিউরাল নেটওয়ার্কের ওজন স্থানের গ্রেডিয়েন্ট গণনা করে, একটি লস ফাংশনের সাপেক্ষে। নির্দেশ করুনঃঃ ইনপুট (বৈশিষ্ট্যের ভেক্টর): লক্ষ্য আউটপুট শ্রেণীবিভাগের জন্য, আউটপুট হবে শ্রেণী সম্ভাবনার একটি ভেক্টর (যেমন,, এবং লক্ষ্য আউটপুট একটি নির্দিষ্ট শ্রেণী, যা এক-গরম/ডামি পরিবর্তনশীল (যেমন,) দ্বারা এনকোড করা হয়। : লস ফাংশন বা "কস্ট ফাংশন" শ্রেণিবিন্যাসের জন্য, এটি সাধারণত ক্রস-এনট্রপি (এক্সসি, লগ লস), যেখানে রিগ্রেশনের জন্য এটি সাধারণত বর্গ ত্রুটি ক্ষতি (এসইএল) হয়। স্তরের সংখ্যাঃ স্তরের মধ্যে ওজন এবং, স্তরের মধ্যে-তম নোড এবং-তম নোডের মধ্যে ওজন কোথায়ঃ স্তরে সক্রিয়করণ ফাংশন শ্রেণিবিন্যাসের জন্য শেষ স্তরটি সাধারণত বাইনারি শ্রেণিবিন্যাসের জন্য লজিস্টিক ফাংশন এবং মাল্টি-ক্লাস শ্রেণিবিন্যাসের জন্য সফ্টম্যাক্স (সফ্টার্গম্যাক্স), যেখানে লুকানো স্তরগুলির জন্য এটি ঐতিহ্যগতভাবে প্রতিটি নোডে (স্থানাঙ্ক) একটি সিগময়েড ফাংশন (লজিস্টিক ফাংশন বা অন্যান্য) ছিল, তবে আজ আরও বৈচিত্র্যময়, রেক্টিফায়ার (র্যাম্প, আরইএলইউ) সহ সাধারণ। : স্তরে-তম নোডের সক্রিয়করণ। ব্যাকপ্রোপেগেশনের উৎপত্তির ক্ষেত্রে, অন্যান্য মধ্যবর্তী পরিমাণগুলি নীচের প্রয়োজন অনুসারে তাদের প্রবর্তন করে ব্যবহার করা হয়। পক্ষপাতমূলক পদগুলিকে বিশেষভাবে বিবেচনা করা হয় না কারণ এগুলি 1 এর নির্দিষ্ট ইনপুট সহ ওজনের সাথে মিলে যায়। ব্যাকপ্রোপেগেশনের জন্য নির্দিষ্ট লস ফাংশন এবং অ্যাক্টিভেশন ফাংশনগুলি ততক্ষণ গুরুত্বপূর্ণ নয় যতক্ষণ না সেগুলি এবং তাদের ডেরিভেটিভগুলি দক্ষতার সাথে মূল্যায়ন করা যায়। ঐতিহ্যবাহী সক্রিয়করণ ফাংশনগুলির মধ্যে রয়েছে সিগময়েড, তানহ এবং আরইএলইউ। সুইশ মিশ এবং অন্যান্য সক্রিয়করণ ফাংশনগুলিও প্রস্তাব করা হয়েছে। সামগ্রিক নেটওয়ার্ক হল ফাংশন কম্পোজিশন এবং ম্যাট্রিক্স গুণনের সংমিশ্রণঃ একটি প্রশিক্ষণ সেটের জন্য ইনপুট-আউটপুট জোড়ার একটি সেট থাকবে। প্রশিক্ষণ সেটের প্রতিটি ইনপুট-আউটপুট জুটির জন্য, সেই জুটির মডেলের ক্ষতি হল পূর্বাভাসকৃত আউটপুট এবং টার্গেট আউটপুটের মধ্যে পার্থক্যের খরচঃ পার্থক্যটি লক্ষ্য করুনঃ মডেল মূল্যায়নের সময় ওজন স্থির থাকে এবং ইনপুটগুলি পরিবর্তিত হয় (এবং টার্গেট আউটপুট অজানা হতে পারে), এবং নেটওয়ার্ক আউটপুট স্তর দিয়ে শেষ হয় (এতে লস ফাংশন অন্তর্ভুক্ত থাকে না)। মডেল প্রশিক্ষণের সময় ইনপুট-আউটপুট জোড়া স্থির করা হয় যখন ওজন পরিবর্তিত হয়, এবং নেটওয়ার্ক লস ফাংশন দিয়ে শেষ হয়। ব্যাকপ্রপাগেশন একটি নির্দিষ্ট ইনপুট-আউটপুট জুটির জন্য গ্রেডিয়েন্ট গণনা করে, যেখানে ওজন পরিবর্তিত হতে পারে। গ্রেডিয়েন্টের প্রতিটি পৃথক উপাদান, চেইন নিয়ম দ্বারা গণনা করা যেতে পারে; তবে প্রতিটি ওজনের জন্য আলাদাভাবে এটি করা অকার্যকর। ব্যাকপ্রপাগেশন দক্ষতার সাথে প্রতিটি স্তরের গ্রেডিয়েন্ট গণনা করে-বিশেষত প্রতিটি স্তরের ওজনযুক্ত ইনপুটের গ্রেডিয়েন্ট, যা দ্বারা চিহ্নিত করা হয়-ডুপ্লিকেট গণনা এড়িয়ে এবং অপ্রয়োজনীয় মধ্যবর্তী মান গণনা না করে গ্রেডিয়েন্ট গণনা করে। অনানুষ্ঠানিকভাবে, মূল বিষয়টি হল যে যেহেতু একটি ওজন হ্রাসকে প্রভাবিত করার একমাত্র উপায় হল পরবর্তী স্তরে তার প্রভাবের মাধ্যমে, এবং এটি রৈখিকভাবে তা করে, তাই স্তরটিতে ওজনের গ্রেডিয়েন্টগুলি গণনা করার জন্য আপনার একমাত্র তথ্য প্রয়োজন, এবং তারপর পূর্ববর্তী স্তরটি গণনা করা এবং পুনরাবৃত্তিমূলকভাবে পুনরাবৃত্তি করা যেতে পারে। এটি দুটি উপায়ে অদক্ষতা এড়ায়। প্রথমত, এটি ডুপ্লিকেশন এড়িয়ে চলে কারণ স্তরে গ্রেডিয়েন্ট গণনা করার সময়-প্রতিবার পরবর্তী স্তরগুলিতে সমস্ত ডেরিভেটিভ পুনরায় গণনা করা অপ্রয়োজনীয়। দ্বিতীয়ত, এটি অপ্রয়োজনীয় মধ্যবর্তী গণনা এড়িয়ে চলে, কারণ প্রতিটি পর্যায়ে এটি ওজন পরিবর্তনের সাথে সম্পর্কিত লুকানো স্তরগুলির মানগুলির ডেরিভেটিভগুলি অযথা গণনা করার পরিবর্তে সরাসরি চূড়ান্ত আউটপুট (ক্ষতি) সম্পর্কিত ওজনের গ্রেডিয়েন্ট গণনা করে। সাধারণ ফিড ফরওয়ার্ড নেটওয়ার্কের জন্য ম্যাট্রিক্স গুণনের পরিপ্রেক্ষিতে বা আরও সাধারণভাবে সংলগ্ন গ্রাফের পরিপ্রেক্ষিতে ব্যাকপ্রপাগেশন প্রকাশ করা যেতে পারে। ম্যাট্রিক্স গুণন একটি ফিড ফরওয়ার্ড নেটওয়ার্কের মৌলিক ক্ষেত্রে, যেখানে প্রতিটি স্তরের নোডগুলি কেবলমাত্র পরবর্তী স্তরের নোডগুলির সাথে সংযুক্ত থাকে (কোনও স্তর বাদ না দিয়ে), এবং একটি ক্ষতি ফাংশন রয়েছে যা চূড়ান্ত আউটপুটের জন্য একটি স্কেলার ক্ষতি গণনা করে, ব্যাকপ্রোপেগেশন কেবল ম্যাট্রিক্স গুণন দ্বারা বোঝা যায়। মূলত, ব্যাকপ্রপাগেশন ডান থেকে বাম-"পিছনের"-প্রতিটি স্তরের মধ্যে ওজনের গ্রেডিয়েন্ট সহ আংশিক পণ্যগুলির একটি সহজ পরিবর্তন ("পিছনের দিকে প্রচারিত ত্রুটি") সহ প্রতিটি স্তরের মধ্যে ডেরিভেটিভের গুণফল হিসাবে ব্যয় ফাংশনের ডেরিভেটিভের জন্য অভিব্যক্তিটির মূল্যায়ন করে। একটি ইনপুট-আউটপুট জুটির পরিপ্রেক্ষিতে, ক্ষতিটি হলঃ এটি গণনা করার জন্য, একজন ইনপুট দিয়ে শুরু করে এবং এগিয়ে কাজ করে; সক্রিয়করণ হিসাবে প্রতিটি লুকানো স্তরের ওজনযুক্ত ইনপুট এবং লুকানো স্তরের আউটপুটকে নির্দেশ করে। ব্যাকপ্রোপেগেশনের জন্য, সক্রিয়করণের পাশাপাশি ডেরিভেটিভগুলি (এ মূল্যায়ন করা হয়েছে) অবশ্যই ব্যাকওয়ার্ড পাসের সময় ব্যবহারের জন্য ক্যাশে রাখতে হবে। ইনপুটের পরিপ্রেক্ষিতে ক্ষতির অন্তরজ চেইন নিয়ম দ্বারা দেওয়া হয়; লক্ষ্য করুন যে প্রতিটি পদ একটি মোট অন্তরজ, যা ইনপুটের উপর নেটওয়ার্কের মান (প্রতিটি নোডে) দ্বারা মূল্যায়ন করা হয়ঃ যেখানে একটি তির্যক ম্যাট্রিক্স। এই পদগুলি হলঃ লস ফাংশনের ডেরিভেটিভ; অ্যাক্টিভেশন ফাংশনের ডেরিভেটিভ; এবং ওজনের ম্যাট্রিক্সঃ গ্রেডিয়েন্ট হল ইনপুটের পরিপ্রেক্ষিতে আউটপুটের ডেরিভেটিভের ট্রান্সপোজ, তাই ম্যাট্রিক্সগুলি ট্রান্সপোজ করা হয় এবং গুণনের ক্রমটি বিপরীত হয়, তবে এন্ট্রিগুলি একই থাকেঃ ব্যাকপ্রপাগেশন তখন মূলত ডান থেকে বামে এই অভিব্যক্তিটির মূল্যায়ন করে (সমতুল্যভাবে, বাম থেকে ডানে ডেরিভেটিভের জন্য পূর্ববর্তী অভিব্যক্তিটিকে গুণ করে), পথে প্রতিটি স্তরে গ্রেডিয়েন্ট গণনা করে; একটি অতিরিক্ত পদক্ষেপ রয়েছে, কারণ ওজনের গ্রেডিয়েন্ট কেবল একটি উপ-অভিব্যক্তি নয়ঃ একটি অতিরিক্ত গুণন রয়েছে। আংশিক পণ্যগুলির (ডান থেকে বাম দিকে গুণ করা) সহায়ক পরিমাণের পরিচয় দেওয়া, যা "স্তরে ত্রুটি" হিসাবে ব্যাখ্যা করা হয় এবং স্তরে ইনপুট মানগুলির গ্রেডিয়েন্ট হিসাবে সংজ্ঞায়িত করা হয়ঃ লক্ষ্য করুন যে এটি একটি ভেক্টর, যা স্তরে নোডের সংখ্যার সমান দৈর্ঘ্যের; প্রতিটি উপাদানকে "সেই নোডের (মান) জন্য দায়ী ব্যয়" হিসাবে ব্যাখ্যা করা হয়। স্তরের ওজনের গ্রেডিয়েন্টটি তখনঃ এর ফ্যাক্টরটি হ 'ল স্তর এবং প্রভাব স্তরের মধ্যে ওজনগুলি ইনপুটগুলির (সক্রিয়করণ) অনুপাতেঃ ইনপুটগুলি স্থির করা হয়, ওজন পরিবর্তিত হয়। ডান থেকে বাম দিকে গিয়ে সহজেই পুনরাবৃত্তিমূলকভাবে গণনা করা যেতে পারে, যেমনঃ প্রতিটি স্তরের জন্য কয়েকটি ম্যাট্রিক্স গুণন ব্যবহার করে ওজনের গ্রেডিয়েন্ট গণনা করা যেতে পারে; এটি ব্যাকপ্রপাগেশন। সরলভাবে সামনের দিকে গণনা করার তুলনায় (দৃষ্টান্তের জন্য ব্যবহার করে): ব্যাকপ্রপাগেশনের সাথে দুটি মূল পার্থক্য রয়েছেঃ স্তর এবং তার বাইরে সুস্পষ্ট ডুপ্লিকেট গুণ এড়ানোর ক্ষেত্রে গণনা করা। থেকে শুরু করে গুণ করা-ত্রুটিটি পিছনের দিকে প্রচার করা-এর অর্থ হল প্রতিটি ধাপ কেবল একটি ভেক্টরকে () সক্রিয়করণের ওজন এবং ব্যুৎপত্তিগুলির ম্যাট্রিক্স দ্বারা গুণ করে। এর বিপরীতে, পূর্ববর্তী স্তরের পরিবর্তনগুলি থেকে শুরু করে সামনের দিকে গুণ করার অর্থ হল প্রতিটি গুণ একটি ম্যাট্রিক্স দ্বারা গুণিত হয়। এটি অনেক বেশি ব্যয়বহুল, এবং স্তরের পরিবর্তনের জন্য একটি স্তরে পরিবর্তনের প্রতিটি সম্ভাব্য পথ অনুসরণ করার সাথে সামঞ্জস্যপূর্ণ (সক্রিয়করণের ডেরিভেটিভের জন্য অতিরিক্ত গুণনের সাথে গুণ করার জন্য), যা অপ্রয়োজনীয়ভাবে ওজন পরিবর্তনগুলি কীভাবে প্রভাবিত করে তার মধ্যবর্তী পরিমাণ গণনা করে লুকানো নোডের মান। অ্যাডজয়েন্ট গ্রাফ আরও সাধারণ গ্রাফ এবং অন্যান্য উন্নত বৈচিত্র্যের জন্য, ব্যাকপ্রপাগেশন স্বয়ংক্রিয় পার্থক্যের পরিপ্রেক্ষিতে বোঝা যেতে পারে, যেখানে ব্যাকপ্রপাগেশন বিপরীত সঞ্চয়ের (বা "বিপরীত মোড") একটি বিশেষ ক্ষেত্রে। অন্তর্দৃষ্টি অনুপ্রেরণা যে কোনও তত্ত্বাবধানে শেখার অ্যালগরিদমের লক্ষ্য হল এমন একটি ফাংশন খুঁজে বের করা যা তাদের সঠিক আউটপুটের জন্য ইনপুটগুলির একটি সেটকে সর্বোত্তমভাবে ম্যাপ করে। ব্যাকপ্রোপেগেশনের অনুপ্রেরণা হল একটি বহু-স্তরযুক্ত নিউরাল নেটওয়ার্ককে প্রশিক্ষণ দেওয়া যাতে এটি উপযুক্ত অভ্যন্তরীণ উপস্থাপনা শিখতে পারে যাতে এটি আউটপুটের জন্য ইনপুটের যে কোনও নির্বিচারে ম্যাপিং শিখতে পারে। একটি অপ্টিমাইজেশান সমস্যা হিসাবে শেখা ব্যাকপ্রপাগেশন অ্যালগরিদমের গাণিতিক উৎপত্তি বোঝার জন্য, এটি প্রথমে একটি নির্দিষ্ট প্রশিক্ষণের উদাহরণের জন্য একটি নিউরনের প্রকৃত আউটপুট এবং সঠিক আউটপুটের মধ্যে সম্পর্ক সম্পর্কে কিছু অন্তর্দৃষ্টি বিকাশ করতে সহায়তা করে। দুটি ইনপুট ইউনিট সহ একটি সাধারণ নিউরাল নেটওয়ার্ক বিবেচনা করুন, একটি আউটপুট ইউনিট এবং কোনও লুকানো ইউনিট নেই, এবং যেখানে প্রতিটি নিউরন একটি রৈখিক আউটপুট ব্যবহার করে (নিউরাল নেটওয়ার্কের বেশিরভাগ কাজের বিপরীতে, যেখানে ইনপুট থেকে আউটপুট পর্যন্ত ম্যাপিং অ-রৈখিক হয়) যা তার ইনপুটের ওজনযুক্ত যোগফল। প্রাথমিকভাবে, প্রশিক্ষণের আগে, ওজন এলোমেলোভাবে নির্ধারণ করা হবে। তারপর স্নায়ুকোষ প্রশিক্ষণের উদাহরণ থেকে শেখে, যা এই ক্ষেত্রে টিউপলের একটি সেট নিয়ে গঠিত যেখানে এবং যা নেটওয়ার্কে ইনপুট এবং সঠিক আউটপুট (সেই ইনপুটগুলি দেওয়া নেটওয়ার্কের আউটপুট, যখন এটি প্রশিক্ষিত করা হয়েছে)। প্রদত্ত এবং, প্রাথমিক নেটওয়ার্কটি এমন একটি আউটপুট গণনা করবে যা সম্ভবত (এলোমেলো ওজন দেওয়া) থেকে আলাদা। লক্ষ্য আউটপুট এবং গণনা করা আউটপুটের মধ্যে অসামঞ্জস্য পরিমাপের জন্য একটি লস ফাংশন ব্যবহার করা হয়। রিগ্রেশন বিশ্লেষণ সমস্যার জন্য বর্গ ত্রুটি একটি ক্ষতি ফাংশন হিসাবে ব্যবহার করা যেতে পারে, শ্রেণীবিভাগের জন্য শ্রেণীবদ্ধ ক্রস-এনট্রপি ব্যবহার করা যেতে পারে। একটি উদাহরণ হিসাবে বর্গ ত্রুটি ব্যবহার করে একটি রিগ্রেশন সমস্যাকে ক্ষতি হিসাবে বিবেচনা করুনঃ অসঙ্গতি বা ত্রুটি কোথায়। একটি একক প্রশিক্ষণ ক্ষেত্রে নেটওয়ার্কটি বিবেচনা করুনঃ সুতরাং, ইনপুট এবং যথাক্রমে 1 এবং 1 এবং সঠিক আউটপুট হল 0। এখন যদি অনুভূমিক অক্ষের উপর নেটওয়ার্কের আউটপুট এবং উল্লম্ব অক্ষের ত্রুটির মধ্যে সম্পর্কটি অঙ্কিত করা হয়, তবে ফলাফলটি একটি প্যারাবোলা। প্যারাবোলার সর্বনিম্ন আউটপুটের সাথে মিলে যায় যা ত্রুটিটিকে কমিয়ে দেয়। একটি একক প্রশিক্ষণ ক্ষেত্রে, ন্যূনতমটি অনুভূমিক অক্ষকেও স্পর্শ করে, যার অর্থ ত্রুটিটি শূন্য হবে এবং নেটওয়ার্কটি এমন একটি আউটপুট তৈরি করতে পারে যা লক্ষ্য আউটপুটের সাথে ঠিক মেলে। অতএব, আউটপুটগুলিতে ইনপুট ম্যাপিংয়ের সমস্যাটি এমন একটি ফাংশন খুঁজে বের করার অপ্টিমাইজেশান সমস্যায় হ্রাস করা যেতে পারে যা ন্যূনতম ত্রুটি তৈরি করবে। যাইহোক, একটি নিউরনের আউটপুট তার সমস্ত ইনপুটের ওজনযুক্ত যোগফলের উপর নির্ভর করেঃ ইনপুট ইউনিট থেকে আউটপুট ইউনিটে সংযোগের ওজন কোথায় এবং কোথায়। অতএব, ত্রুটিটি নিউরনের আগত ওজনের উপরও নির্ভর করে, যা শেষ পর্যন্ত শেখার জন্য নেটওয়ার্কে পরিবর্তন করা প্রয়োজন। এই উদাহরণে, প্রশিক্ষণের তথ্য ইনজেকশন দেওয়ার পরে, লস ফাংশনটি হয়ে যায় তারপর, লস ফাংশনটি একটি প্যারাবলিক সিলিন্ডারের রূপ নেয় যার ভিত্তি বরাবর নির্দেশিত হয়। যেহেতু সমস্ত সেট ওজন যা ক্ষতি ফাংশনকে হ্রাস করে, এই ক্ষেত্রে একটি অনন্য সমাধানে একত্রিত হওয়ার জন্য অতিরিক্ত সীমাবদ্ধতার প্রয়োজন হয়। ওজনের জন্য নির্দিষ্ট শর্ত নির্ধারণ করে বা অতিরিক্ত প্রশিক্ষণের তথ্য ইনজেকশন দিয়ে অতিরিক্ত সীমাবদ্ধতা তৈরি করা যেতে পারে। ত্রুটি হ্রাস করে এমন ওজনের সেট খুঁজে বের করার জন্য একটি সাধারণভাবে ব্যবহৃত অ্যালগরিদম হল গ্রেডিয়েন্ট ডিসেন্ট। ব্যাকপ্রপাগেশন দ্বারা, সবচেয়ে খাড়া অবতরণের দিকটি বর্তমান সিনাপটিক ওজনের বিপরীতে লস ফাংশন গণনা করা হয়। তারপরে, ওজনগুলি সবচেয়ে খাড়া অবতরণের দিক বরাবর সংশোধন করা যেতে পারে এবং ত্রুটিটি একটি দক্ষ উপায়ে হ্রাস করা হয়। গ্রেডিএন্ট ডিসেন্ট পদ্ধতিতে নেটওয়ার্কের ওজনের সাপেক্ষে লস ফাংশনের ডেরিভেটিভ গণনা করা হয়। এটি সাধারণত ব্যাকপ্রোপেগেশন ব্যবহার করে করা হয়। একটি আউটপুট নিউরন ধরে নিলে, স্কোয়ারড এরর ফাংশন হল আউটপুট এবং টার্গেট মানের জন্য ক্ষতি, একটি প্রশিক্ষণ নমুনার জন্য টার্গেট আউটপুট, এবং আউটপুট নিউরনের প্রকৃত আউটপুট। প্রতিটি নিউরনের জন্য, এর আউটপুটকে সংজ্ঞায়িত করা হয় যেখানে অ্যাক্টিভেশন ফাংশনটি অ-রৈখিক এবং অ্যাক্টিভেশন অঞ্চলের উপর ডিফারেনশিয়েবল (আরইএলইউ এক পর্যায়ে ডিফারেনশিয়েবল নয়)। একটি ঐতিহাসিকভাবে ব্যবহৃত সক্রিয়করণ ফাংশন হল লজিস্টিক ফাংশনঃ যার একটি সুবিধাজনক ব্যুৎপত্তি রয়েছেঃ একটি নিউরনের ইনপুট হল পূর্ববর্তী নিউরনের আউটপুটগুলির ওজনযুক্ত যোগফল। যদি নিউরনটি ইনপুট স্তরের পরে প্রথম স্তরে থাকে, তবে ইনপুট স্তরটি কেবল নেটওয়ার্কের ইনপুট। নিউরনে ইনপুট ইউনিটের সংখ্যা হল। পরিবর্তনশীলটি পূর্ববর্তী স্তরের স্নায়ুকোষ এবং বর্তমান স্তরের স্নায়ুকোষের মধ্যে ওজন নির্দেশ করে। ত্রুটির ব্যুৎপত্তি খুঁজে বের করা একটি ওজনের সাপেক্ষে ত্রুটির আংশিক ব্যুৎপত্তি গণনা দুইবার শৃঙ্খল নিয়ম ব্যবহার করে করা হয়ঃ উপরের ডান দিকের শেষ ফ্যাক্টরে, যোগফলের মধ্যে শুধুমাত্র একটি পদ নির্ভর করে, যাতে নিউরনটি ইনপুট স্তরের পরে প্রথম স্তরে থাকলে তা ন্যায্য হয়। নিউরনের ইনপুটের সাপেক্ষে আউটপুটের ডেরিভেটিভটি কেবল অ্যাক্টিভেশন ফাংশনের আংশিক ডেরিভেটিভঃ যা লজিস্টিক অ্যাক্টিভেশন ফাংশনের জন্য এই কারণেই ব্যাকপ্রোপেগেশনের জন্য অ্যাক্টিভেশন ফাংশনটি ডিফারেনশিয়েবল হওয়া প্রয়োজন। (তা সত্ত্বেও, আরইএলইউ অ্যাক্টিভেশন ফাংশন, যা 0-তে অ-পার্থক্যযোগ্য, বেশ জনপ্রিয় হয়ে উঠেছে, যেমন। অ্যালেক্সনেটে) নিউরন আউটপুট স্তরে আছে কিনা তা মূল্যায়ন করার জন্য প্রথম ফ্যাক্টরটি সোজা, কারণ তারপর এবং যদি বর্গ ত্রুটির অর্ধেকটি লস ফাংশন হিসাবে ব্যবহার করা হয় তবে আমরা এটিকে পুনরায় লিখতে পারি তবে, যদি নেটওয়ার্কের একটি নির্বিচারে অভ্যন্তরীণ স্তরে থাকে, তবে সম্পর্কিত ডেরিভেটিভ খুঁজে পাওয়া কম স্পষ্ট। নিউরন থেকে ইনপুট গ্রহণকারী সমস্ত নিউরনের ইনপুট সহ একটি ফাংশন হিসাবে বিবেচনা করে এবং এর সাপেক্ষে মোট ডেরিভেটিভ গ্রহণ করে, ডেরিভেটিভের জন্য একটি পুনরাবৃত্তিমূলক অভিব্যক্তি পাওয়া যায়ঃ অতএব, যদি পরবর্তী স্তরের আউটপুট সম্পর্কিত সমস্ত ডেরিভেটিভ-আউটপুট নিউরনের কাছাকাছি-জানা থাকে তবে সম্পর্কিত ডেরিভেটিভ গণনা করা যেতে পারে। [লক্ষ্য করুন, যদি সেটের কোনও নিউরন নিউরনের সাথে সংযুক্ত না থাকে, তবে সেগুলি স্বাধীন হবে এবং যোগফলের অধীনে সংশ্লিষ্ট আংশিক ব্যুৎপত্তি 0-তে অদৃশ্য হয়ে যাবে।] প্রতিস্থাপন, এবং আমরা পেতে পারিঃ যদি লজিস্টিক ফাংশন হয়, এবং ত্রুটিটি বর্গ ত্রুটিঃ গ্রেডিয়েন্ট ডিসেন্ট ব্যবহার করে ওজন আপডেট করতে, একজনকে অবশ্যই একটি শেখার হার বেছে নিতে হবে। ওজনের পরিবর্তন বৃদ্ধি বা হ্রাসের প্রভাব প্রতিফলিত করতে হবে। যদি, বৃদ্ধি হয়; বিপরীতভাবে, যদি, হ্রাস হয়। নতুনটি পুরানো ওজনের সাথে যোগ করা হয়, এবং শেখার হার এবং গ্রেডিয়েন্টের গুণফল, গ্যারান্টি দ্বারা গুণিত হয় যা সর্বদা হ্রাস পায় এমনভাবে পরিবর্তিত হয়। অন্য কথায়, অবিলম্বে নীচের সমীকরণে, সর্বদা এমনভাবে পরিবর্তিত হয় যা হ্রাস পায়ঃ দ্বিতীয়-ক্রমের গ্রেডিয়েন্ট ডিসেন্ট ত্রুটি ফাংশনের দ্বিতীয়-ক্রমের ডেরিভেটিভের হেসিয়ান ম্যাট্রিক্স ব্যবহার করে, লেভেনবার্গ-মার্কুয়ার্ট অ্যালগরিদম প্রায়শই প্রথম-ক্রমের গ্রেডিয়েন্ট ডিসেন্টের চেয়ে দ্রুত একত্রিত হয়, বিশেষত যখন ত্রুটি ফাংশনের টপোলজি জটিল হয়। এটি ছোট নোড গণনায় সমাধানও খুঁজে পেতে পারে যার জন্য অন্যান্য পদ্ধতিগুলি একত্রিত নাও হতে পারে। ফিশার তথ্য ম্যাট্রিক্স দ্বারা হেসিয়ানকে আনুমানিক করা যেতে পারে। লস ফাংশন হল এমন একটি ফাংশন যা এক বা একাধিক চলকের মানগুলিকে একটি বাস্তব সংখ্যার উপর মানচিত্র করে স্বজ্ঞাতভাবে সেই মানগুলির সাথে সম্পর্কিত কিছু "খরচ" উপস্থাপন করে। ব্যাকপ্রোপেগেশনের জন্য, একটি প্রশিক্ষণের উদাহরণ নেটওয়ার্কের মাধ্যমে প্রচারিত হওয়ার পরে, লস ফাংশনটি নেটওয়ার্ক আউটপুট এবং তার প্রত্যাশিত আউটপুটের মধ্যে পার্থক্য গণনা করে। অনুমান ক্ষতি ফাংশনের গাণিতিক অভিব্যক্তিটি দুটি শর্ত পূরণ করতে হবে যাতে এটি সম্ভবত ব্যাকপ্রোপেগেশনে ব্যবহার করা যায়। প্রথমটি হল যে এটি পৃথক প্রশিক্ষণের উদাহরণের জন্য গড় ওভার এরর ফাংশন হিসাবে লেখা যেতে পারে। এই অনুমানের কারণ হল ব্যাকপ্রপাগেশন অ্যালগরিদম একটি একক প্রশিক্ষণ উদাহরণের জন্য ত্রুটি ফাংশনের গ্রেডিয়েন্ট গণনা করে, যা সামগ্রিক ত্রুটি ফাংশনে সাধারণীকরণ করা প্রয়োজন। দ্বিতীয় অনুমানটি হল যে এটি নিউরাল নেটওয়ার্ক থেকে আউটপুটগুলির একটি ফাংশন হিসাবে লেখা যেতে পারে। উদাহরণ ক্ষতি ফাংশন ভেক্টর হতে দিন। দুটি আউটপুটের মধ্যে পার্থক্য পরিমাপ করার জন্য একটি ত্রুটি ফাংশন নির্বাচন করুন। আদর্শ পছন্দ হল ভেক্টরগুলির মধ্যে ইউক্লিডীয় দূরত্বের বর্গ এবংঃ প্রশিক্ষণের উদাহরণগুলির উপর ত্রুটি ফাংশনটিকে তারপর পৃথক উদাহরণগুলির তুলনায় ক্ষতির গড় হিসাবে লেখা যেতে পারেঃ সীমাবদ্ধতা ব্যাকপ্রপাগেশনের সাথে গ্রেডিয়েন্ট ডিসেন্ট ত্রুটি ফাংশনের বিশ্বব্যাপী ন্যূনতম খুঁজে পাওয়ার নিশ্চয়তা দেয় না, তবে কেবল একটি স্থানীয় ন্যূনতম; এছাড়াও, ত্রুটি ফাংশন ল্যান্ডস্কেপে মালভূমি অতিক্রম করতে সমস্যা হয়। এই সমস্যাটি, নিউরাল নেটওয়ার্কগুলিতে ত্রুটি ক্রিয়াকলাপের সংযোগহীনতার কারণে, দীর্ঘকাল ধরে একটি বড় ত্রুটি বলে মনে করা হয়েছিল, তবে ইয়ান লেকুন এবং অন্যান্যরা। যুক্তি দেন যে অনেক ব্যবহারিক সমস্যায় এটি হয় না। ব্যাকপ্রোপেগেশন শেখার জন্য ইনপুট ভেক্টরের স্বাভাবিকীকরণের প্রয়োজন হয় না; তবে, স্বাভাবিকীকরণ কর্মক্ষমতা উন্নত করতে পারে। ব্যাকপ্রোপেগেশনের জন্য সক্রিয়করণ ফাংশনের ডেরিভেটিভগুলি নেটওয়ার্ক ডিজাইনের সময় জানা প্রয়োজন। ইতিহাস আধুনিক ব্যাকপ্রোপেগেশন হল নেস্টেড ডিফারেনশিয়েবল ফাংশনের বিচ্ছিন্ন সংযুক্ত নেটওয়ার্কগুলির জন্য সেপ্পো লিনাইনমার স্বয়ংক্রিয় পার্থক্যের বিপরীত মোড (1970)। এটি এই ধরনের নেটওয়ার্কে শৃঙ্খল নিয়মের (1673 সালে গটফ্রিড উইলহেম লেইবনিজ দ্বারা উদ্ভূত) একটি দক্ষ প্রয়োগ। 1962 সালে ফ্রাঙ্ক রোজেনব্ল্যাট "ব্যাক-প্রপাগেটিং এরর করেকশন" পরিভাষাটি প্রবর্তন করেছিলেন, তবে কীভাবে এটি প্রয়োগ করতে হয় তা তিনি জানতেন না, যদিও হেনরি জে. কেলির নিয়ন্ত্রণ তত্ত্বের প্রেক্ষাপটে ইতিমধ্যে 1960 সালে ব্যাক-প্রপাগেশনের একটি অবিচ্ছিন্ন অগ্রদূত ছিল। স্টোকাস্টিক গ্রেডিয়েন্ট ডিসেন্ট দ্বারা প্রশিক্ষিত প্রথম ডিপ লার্নিং মাল্টিলেয়ার পারসেপ্ট্রন (এমএলপি) 1967 সালে শুনইচি আমারি দ্বারা প্রকাশিত হয়েছিল। কম্পিউটার পরীক্ষায়, দুটি পরিবর্তনযোগ্য স্তর সহ তাঁর পাঁচ স্তরের এমএলপি অ-রৈখিকভাবে পৃথক প্যাটার্ন শ্রেণীগুলিকে শ্রেণীবদ্ধ করার জন্য প্রয়োজনীয় অভ্যন্তরীণ উপস্থাপনা শিখেছে। 1982 সালে, পল ওয়ার্বোস এম. এল. পি-তে ব্যাকপ্রোপেগেশন প্রয়োগ করেছিলেন যা মানসম্মত হয়ে উঠেছে। 1985 সালে ডেভিড ই. রুমেলহার্ট ও অন্যান্যরা। কৌশলটির একটি পরীক্ষামূলক বিশ্লেষণ প্রকাশ করেছে। এটি ব্যাকপ্রোপেগেশনের জনপ্রিয়তায় অবদান রাখে এবং মাল্টিলেয়ার পারসেপ্ট্রনগুলিতে গবেষণার একটি সক্রিয় সময় শুরু করতে সহায়তা করে। কেলি (1960) এবং আর্থার ই. ব্রাইসন (1961) এই পদ্ধতির উপরে উল্লিখিত অবিচ্ছিন্ন অগ্রদূত অর্জনের জন্য গতিশীল প্রোগ্রামিংয়ের নীতিগুলি ব্যবহার করেছিলেন। 1962 সালে স্টুয়ার্ট ড্রেইফাস কেবল চেইন রুলের উপর ভিত্তি করে একটি সহজ ব্যুৎপত্তি প্রকাশ করেন। 1973 সালে, তিনি ত্রুটির গ্রেডিয়েন্টের অনুপাতে নিয়ন্ত্রকদের পরামিতিগুলি অভিযোজিত করেছিলেন। লিনাইনমার 1970-এর পদ্ধতির বিপরীতে, এই পূর্বসূরীরা "এক পর্যায় থেকে পূর্ববর্তী পর্যায় পর্যন্ত স্ট্যান্ডার্ড জ্যাকোবিয়ান ম্যাট্রিক্স গণনা ব্যবহার করে, যা বিভিন্ন পর্যায়ে সরাসরি সংযোগকে সম্বোধন করে না বা নেটওয়ার্ক স্পার্সির কারণে সম্ভাব্য অতিরিক্ত দক্ষতা লাভকে সম্বোধন করে না।" 1985 সালে পার্কারও এই পদ্ধতিটি বর্ণনা করেছিলেন। ইয়ান লেকুন 1987 সালে তাঁর পিএইচডি থিসিসে নিউরাল নেটওয়ার্কের জন্য ব্যাকপ্রপাগেশনের একটি বিকল্প রূপের প্রস্তাব করেছিলেন। 1993 সালে, এরিক ওয়ান ব্যাকপ্রোপেগেশনের মাধ্যমে একটি আন্তর্জাতিক প্যাটার্ন স্বীকৃতি প্রতিযোগিতা জিতেছিলেন। 2000-এর দশকে এটি জনপ্রিয়তার বাইরে চলে যায়, কিন্তু 2010-এর দশকে ফিরে আসে, সস্তা, শক্তিশালী জিপিইউ-ভিত্তিক কম্পিউটিং সিস্টেম থেকে উপকৃত হয়। এটি বিশেষত বক্তৃতা শনাক্তকরণ, মেশিন ভিশন, প্রাকৃতিক ভাষা প্রক্রিয়াকরণ এবং ভাষা কাঠামো শেখার গবেষণার ক্ষেত্রে (যেখানে এটি প্রথম এবং দ্বিতীয় ভাষা শেখার সাথে সম্পর্কিত বিভিন্ন ঘটনা ব্যাখ্যা করতে ব্যবহৃত হয়েছে)। মানুষের মস্তিষ্কের ই. আর. পি উপাদান যেমন এন 400 এবং পি 600 ব্যাখ্যা করার জন্য ব্যাকপ্রোপাগেশনে ত্রুটির পরামর্শ দেওয়া হয়েছে। 2023 সালে, স্ট্যানফোর্ড বিশ্ববিদ্যালয়ের একটি দল একটি ফোটোনিক প্রসেসরে একটি ব্যাকপ্রোপেগেশন অ্যালগরিদম প্রয়োগ করেছিল। আরও দেখুন আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক নিউরাল সার্কিট ক্যাটাস্ট্রফিক ইন্টারফেরেন্স এনসেম্বল লার্নিং অ্যাডা বুস্ট ওভারফিটিং নিউরাল ব্যাকপ্রপাগেশন ব্যাকপ্রপাগেশন থ্রু টাইম নোটস রেফারেন্স আরও পড়া এক্সটার্নাল লিঙ্ক ব্যাকপ্রপাগেশন নিউরাল নেটওয়ার্ক টিউটোরিয়াল উইকিভার্সিটি মেশিন লার্নিং অ্যালগরিদম আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক