রিলু ফাংশনের কার্যকারী সংজ্ঞা এবং এর ডেরাইভেটিভ:
ReLU(x)={0,x,if x<0,otherwise.
ddxReLU(x)={0,1,if x<0,otherwise.
ডেরাইভেটিভ ইউনিট স্টেপ ফাংশন । এটি এ এমন কোনও সমস্যা উপেক্ষা করবে যেখানে গ্রেডিয়েন্টটি কঠোরভাবে সংজ্ঞায়িত করা হয়নি, তবে এটি নিউরাল নেটওয়ার্কগুলির জন্য ব্যবহারিক উদ্বেগ নয়। উপরের সূত্রের সাথে, 0 এ ব্যাতিক্রমটি 1 হয়, তবে আপনি নিউরাল নেটওয়ার্ক কার্যক্ষমতাতে কোনও সত্যিকারের প্রভাব ছাড়াই 0, বা 0.5 হিসাবে সমানভাবে বিবেচনা করতে পারেন।x=0
সরলীকৃত নেটওয়ার্ক
এই সংজ্ঞাগুলির সাথে, আসুন আপনার উদাহরণ নেটওয়ার্কগুলি একবার দেখুন।
আপনি ব্যয় ফাংশন দিয়ে রিগ্রেশন চালাচ্ছেন । আপনি কে কৃত্রিম নিউরনের আউটপুট হিসাবে সংজ্ঞায়িত করেছেন , তবে আপনি কোনও ইনপুট মান নির্ধারণ করেন নি। আমি এটি জন্য যুক্ত করব - একে , স্তর অনুসারে কিছু সূচী যুক্ত করুন এবং আমি ভেক্টরগুলির জন্য লোয়ার-কেস এবং ম্যাট্রিকের ক্ষেত্রে উপরের ক্ষেত্রে পছন্দ করি, তাই first প্রথম স্তরটির আউটপুট, its এর ইনপুটটির জন্য এবং the ওজনের জন্য নিউরনটিকে এর ইনপুট সাথে সংযুক্ত করে (বৃহত্তর নেটওয়ার্কে, এটি একটি গভীর সাথে সংযুক্ত হতে পারেC=12(y−y^)2Rzr(1)z(1)W(0)xrপরিবর্তে মান)। আমি ওজন ম্যাট্রিক্সের জন্য সূচক সংখ্যাও সামঞ্জস্য করেছি - কেন এটি বৃহত্তর নেটওয়ার্কের জন্য আরও স্পষ্ট হয়ে উঠবে। এনবি আমি আপাতত প্রতিটি স্তরে নিউরনের বেশি থাকার উপেক্ষা করছি।
আপনার সাধারণ 1 স্তর, 1 নিউরন নেটওয়ার্কের দিকে তাকানো, ফিড-ফরোয়ার্ড সমীকরণগুলি হ'ল:
z(1)=W(0)x
y^=r(1)=ReLU(z(1))
মূল্য ফাংশনটির ডেরাইভেটিভ উদাহরণ উদাহরণ অনুসারে:
∂C∂y^=∂C∂r(1)=∂∂r(1)12(y−r(1))2=12∂∂r(1)(y2−2yr(1)+(r(1))2)=r(1)−y
প্রাক ট্রান্সফর্ম ( ) মানটিতে ব্যাক বংশবিস্তারের জন্য চেইন রুল ব্যবহার করে :z
∂C∂z(1)=∂C∂r(1)∂r(1)∂z(1)=(r(1)−y)Step(z(1))=(ReLU(z(1))−y)Step(z(1))
এই একটি অন্তর্বর্তী পর্যায় এবং একসাথে ব্যাকপ্রপ সংযোগের পদক্ষেপের সমালোচনাপূর্ণ অংশ। ডেরিভেশনগুলি প্রায়শই এই অংশটি এড়িয়ে যায় কারণ ব্যয় ফাংশন এবং আউটপুট স্তরের চতুর সংমিশ্রণের অর্থ এটি সরলিকৃত। এখানে এটি না।∂C∂z(1)
weight ওজনের সাথে সম্মানের সাথে গ্রেডিয়েন্টটি পেতে , তবে এটি শৃঙ্খলা নিয়মের আরেকটি পুনরাবৃত্তি:W(0)
∂C∂W(0)=∂C∂z(1)∂z(1)∂W(0)=(ReLU(z(1))−y)Step(z(1))x=(ReLU(W(0)x)−y)Step(W(0)x)x
। । । কারণ সুতরাংz(1)=W(0)x∂z(1)∂W(0)=x
এটি আপনার সহজ নেটওয়ার্কের সম্পূর্ণ সমাধান।
তবে একটি স্তরযুক্ত নেটওয়ার্কে আপনাকে একই যুক্তিটি পরবর্তী স্তরেও বহন করতে হবে। এছাড়াও, আপনার একটি স্তরে সাধারণত একাধিক নিউরন থাকে।
আরও সাধারণ রিলু নেটওয়ার্ক
আমরা যদি আরও জেনেরিক পদ যুক্ত করি তবে আমরা দুটি স্বেচ্ছাসেবী স্তর নিয়ে কাজ করতে পারি। তাদেরকে দ্বারা সূচিত স্তর এবং দ্বারা সূচিত স্তর কল করুন । ওজন এখন ম্যাট্রিক্স are সুতরাং আমাদের ফিড-ফরোয়ার্ড সমীকরণগুলি এর মতো দেখায়:(k)i(k+1)j
z(k+1)j=∑∀iW(k)ijr(k)i
r(k+1)j=ReLU(z(k+1)j)
আউটপুট স্তরে, তারপরে প্রাথমিক গ্রেডিয়েন্ট এখনও । তবে, আপাতত এটিকে উপেক্ষা করুন এবং প্রচারের পিছনে ফিরে আসার সাধারণ উপায়টি দেখুন, ধরে নিই আমরা ইতিমধ্যে found পেয়েছি - কেবল লক্ষ্য করুন যে এটি শেষ পর্যন্ত যেখানে আমরা আউটপুট ব্যয়ের ফাংশন গ্রেডিয়েন্টগুলি পাই। তারপরে 3 টি সমীকরণ রয়েছে যা আমরা চেইন বিধি অনুসরণ করে লিখতে পারি:routputjroutputj−yj∂ সি∂C∂r(k+1)j
রিলু প্রয়োগের আগে প্রথমে আমাদের নিউরন ইনপুটটিতে যেতে হবে:
- ∂C∂z(k+1)j=∂C∂r(k+1)j∂r(k+1)j∂z(k+1)j=∂C∂r(k+1)jStep(z(k+1)j)
আমাদের পূর্ববর্তী স্তরগুলিতে গ্রেডিয়েন্ট প্রচার করতে হবে, যার মধ্যে প্রতিটি নিউরনে সমস্ত সংযুক্ত প্রভাব সংযুক্ত করা জড়িত:
- ∂C∂r(k)i=∑∀j∂C∂z(k+1)j∂z(k+1)j∂r(k)i=∑∀j∂C∂z(k+1)jW(k)ij
এবং পরে এডজাস্ট করার জন্য আমাদের এটি ওয়েট ম্যাট্রিক্সের সাথে সংযুক্ত করতে হবে:
- ∂C∂W(k)ij=∂C∂z(k+1)j∂z(k+1)j∂W(k)ij=∂C∂z(k+1)jr(k)i
আপনি এগুলি আরও সমাধান করতে পারেন (পূর্ববর্তী মানগুলিতে প্রতিস্থাপন করে) বা তাদের একত্রিত করুন (প্রায়শই 1 এবং 2 ধাপগুলি স্তর দ্বারা প্রাক-রূপান্তর গ্রেডিয়েন্ট স্তর সম্পর্কিত করতে মিলিত হয়)। তবে উপরেরটি সর্বাধিক সাধারণ ফর্ম। আপনার বর্তমান অ্যাক্টিভেশন ফাংশনের যেটি ডেরাইভেটিভ ফাংশনই রয়েছে তার জন্য আপনি সমীকরণ 1 তে পদক্ষেপটি প্রতিস্থাপন করতে পারেন - এটি একমাত্র স্থান যেখানে এটি গণনাগুলিকে প্রভাবিত করে।Step(z(k+1)j)
আপনার প্রশ্নগুলিতে ফিরে যান:
যদি এই ডেরাইভেশনটি সঠিক হয়, তবে কীভাবে এটি বিলুপ্ত হবে না?
আপনার ডেরাইভেশনটি সঠিক ছিল না। তবে এটি আপনার উদ্বেগগুলিকে পুরোপুরি সমাধান করে না।
সিগময়েড বনাম রিলু ব্যবহারের মধ্যে পার্থক্য যেমন সিগময়েড এর এর সাথে তুলনা করা মাত্র স্টেপ ফাংশনে , প্রতি স্তর প্রতি একবার প্রয়োগ করা হয়। আপনি উপরের জেনেরিক স্তর-দ্বারা-স্তর সমীকরণগুলি থেকে দেখতে পাচ্ছেন, স্থানান্তর ফাংশনের গ্রেডিয়েন্ট কেবলমাত্র এক জায়গায় উপস্থিত হবে। সিগময়েডের সেরা কেস ডেরাইভেটিভ 0.25 এর একটি ফ্যাক্টর যুক্ত করে (যখন ), এবং এটি এর চেয়েও খারাপ হয়ে যায় এবং দ্রুত থেকে দূরে শূন্য ডেরিভেটিভের কাছে স্যাটারুয়েট করে । আরএলইউর গ্রেডিয়েন্ট হয় 0 বা 1 হয় এবং একটি স্বাস্থ্যকর নেটওয়ার্কে ব্যাকপ্রসারণের সময় কম গ্রেডিয়েন্ট ক্ষতির জন্য প্রায়শই 1 হবে। এটি গ্যারান্টিযুক্ত নয়, তবে পরীক্ষাগুলি থেকে দেখা যায় যে গভীর নেটওয়ার্কগুলিতে রিলিউর ভাল পারফরম্যান্স রয়েছে।y(1−y)x=0,y=0.5x=0
যদি হাজার হাজার স্তর থাকে তবে ওজনের কারণে প্রচুর গুণ হয়, তবে এই কারণটি কি বিন্যাস বা বিস্ফোরিত গ্রেডিয়েন্টের কারণ হবে না?
হ্যাঁ এটিরও প্রভাব থাকতে পারে। স্থানান্তর ফাংশন পছন্দ নির্বিশেষে এটি সমস্যা হতে পারে। কিছু সংমিশ্রণে, রিলিউউ বিস্ফোরিত গ্রেডিয়েন্টগুলিকেও নিয়ন্ত্রণে রাখতে সহায়তা করতে পারে, কারণ এটি পরিপূর্ণ হয় না (এত বড় ওজনের নীতিগুলি হ'ল সরাসরি সমাধান হতে পারে এবং একটি আশাবাদী তাদের দিকে অগ্রসর হওয়ার সম্ভাবনা কম)। তবে এটি গ্যারান্টিযুক্ত নয়।