আউটপুট স্তর জন্য কোন সক্রিয়করণ ফাংশন?


44

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


2
অতি সম্প্রতি লুকানো ইউনিটগুলির জন্য অ্যাক্টিভেশন ফাংশন হিসাবে রিলু জনপ্রিয় হয়ে উঠেছে।
ইজুনেজা

উত্তর:


39
  • রিগ্রেশন: লিনিয়ার (কারণ মানগুলি সীমাহীন)
  • শ্রেণিবিন্যাস: সফটম্যাক্স (সরল সিগময়েড খুব বেশি কাজ করে তবে সফটম্যাক্স আরও ভাল কাজ করে)

কেবলমাত্র সিগময়েড ব্যবহার করুন যদি আপনার আউটপুট একাধিক "সত্য" উত্তরকে স্বীকার করে, উদাহরণস্বরূপ, এমন একটি নেটওয়ার্ক যা কোনও চিত্রে বিভিন্ন বস্তুর উপস্থিতি পরীক্ষা করে। অন্য কথায়, আউটপুটটি সম্ভাব্য বন্টন নয় (সমষ্টি 1 এর প্রয়োজন হয় না)।


2
যদি আপনি শ্রেণীবিন্যাস জন্য একাধিক গোষ্ঠী নেই Softmax গুরুত্বপূর্ণ
cdeterman

15
আমি মনে করি যে সফটম্যাক্স সিগময়েডের তুলনায় "আরও ভাল" কাজ করে, তবে আপনি যে ক্ষেত্রে সিগময়েড ব্যবহার করতে পারবেন না সে ক্ষেত্রে আপনি সফটম্যাক্স ব্যবহার করতে পারেন I বাইনারি শ্রেণিবিন্যাসের জন্য, লজিস্টিক ফাংশন (একটি সিগময়েড) এবং সফটম্যাক্স সমানভাবে পারফর্ম করবে তবে লজিস্টিক ফাংশনটি গাণিতিকভাবে সহজ এবং তাই প্রাকৃতিক পছন্দ। আপনার যদি দুটি ক্লাসের বেশি থাকে তবে আপনি লজিস্টিক ফাংশনের মতো স্কেলার ফাংশনটি ব্যবহার করতে পারবেন না কারণ সমস্ত শ্রেণীর সম্ভাব্যতা জানতে আপনার একাধিক আউটপুট প্রয়োজন, তাই আপনি সফটম্যাক্স ব্যবহার করেন।
হ্যালো গুডবাই

1
আমি মনে করি না সফটম্যাক্স একটি অ্যাক্টিভেশন। সাধারণভাবে বলতে গেলে, এটি স্বাভাবিক করার আগে আপনাকে এটি সক্রিয় করতে হবে (সফটম্যাক্স)।
হারুন

23

আমি পার্টিতে দেরি করতে পারি, তবে মনে হচ্ছে এখানে কিছু জিনিস পরিষ্কার করা দরকার।

g(x)CzCz

C(y,g(z))=12(yg(z))2g(x)=x

C(y,g(z))z=C(y,g(z))g(z)g(z)z=g(z)(12(yg(z))2)z(z)=(yg(z))1=g(z)y
Cz

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

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

উপসংহারে: সেরা অ্যাক্টিভেশন ফাংশনগুলির সন্ধান করার সময় সৃজনশীল হন। বিভিন্ন জিনিস চেষ্টা করে দেখুন এবং কী সংমিশ্রণগুলি সর্বোত্তম পারফরম্যান্সের দিকে নিয়ে যায়।


সংযোজন: অধিক জোড়া ক্ষতি ফাংশন এবং ক্রিয়াকলাপের জন্য, আপনি সম্ভবত (প্রচলিত) লিঙ্ক ফাংশনগুলি সন্ধান করতে চান


কেন এটি সেরা উত্তর নয়? বেশ সাহসী এবং সম্পূর্ণ বৈজ্ঞানিক
সাহসী

13

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

এখানে বিশদ ব্যাখ্যা: http://cs231n.github.io/neural-networks-1/#actfun

লুকানো স্তরগুলির জন্য সর্বোত্তম কাজটি হ'ল রিলু।


11
প্রশ্ন আউটপুট স্তর জন্য জিজ্ঞাসা করা হয়। -1
Euler_Salter

1
একমত। প্রশ্নের প্রথম লাইনের ভিত্তিতে উত্তর যুক্ত করা হয়েছে। হতে পারে এটি একটি উত্তর পরিবর্তে একটি মন্তব্য করা উচিত ছিল।
যতীন 21

ঠিক আছে, তবে তারপরেও কি আপনি "মৃত রিলু নিউরনের সমস্যা পাবেন না?" প্লাস, ভ্যানিশিজগ গ্রেডিয়েন্ট সমস্যাটি ব্যাচের সাধারণকরণের মাধ্যমে "সমাধান" করা যেতে পারে। আপনি যদি এখনও রিলু সক্রিয়করণগুলি যেভাবে কিছু নিউরোনকে "নিষ্ক্রিয়" করতে চান, তবে আপনি ড্রপ আউটগুলির মাধ্যমে এলোমেলোভাবে নিউরনগুলি বন্ধ করতে পারেন। সুতরাং আমি শেষে মনে করি, এটি সমস্ত সমস্যার উপর নির্ভর করে এবং সবচেয়ে ভাল কাজ করে যা ব্যবহার করে
কেভভি কিম

5

2,3,4,5,...

2,3,4,...

p(y=1)1p(y=1)=p(y=0)

আউটপুট হিসাবে পরিচয় ফাংশনটি ব্যবহার করা কার্যকর হতে পারে যখন আপনার আউটপুটগুলি আনবাউন্ড করা হয়। এক চতুর্থাংশের জন্য কিছু সংস্থার লাভ বা ক্ষতি উভয় পক্ষের সীমানা ছাড়াই যেতে পারে।

আউটপুট উপরের বা নীচে সীমাবদ্ধ হলে রিলু ইউনিট বা অনুরূপ রূপগুলি সহায়ক হতে পারে। যদি আউটপুটটি কেবল অ-নেতিবাচক হিসাবে সীমাবদ্ধ থাকে তবে আউটপুট ফাংশন হিসাবে একটি রিলিউ অ্যাক্টিভেশনটি ব্যবহার করা বুদ্ধিমান হয়ে উঠবে।

[1,1]

নিউরাল নেটওয়ার্কগুলি সম্পর্কে দুর্দান্ত জিনিস হ'ল তারা অবিশ্বাস্যরূপে নমনীয় সরঞ্জাম।

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