সফটম্যাক্স_ক্রস_এন্ট্রপী_উইথ_লগিটগুলি সফটম্যাক্স_ক্রস_এন্ট্রপী_বিহীন_লগিট_ভি 2 থেকে কীভাবে আলাদা?


41

বিশেষত, আমি মনে করি আমি এই বিবৃতিটি সম্পর্কে অবাক হই:

টেনসরফ্লো এর ভবিষ্যতের বড় সংস্করণগুলি ডিফল্টরূপে ব্যাকপ্রপতে লেবেলগুলির ইনপুটগুলিতে গ্রেডিয়েন্টগুলি প্রবাহিত করতে দেবে।

আমি ব্যবহার করার সময় যা প্রদর্শিত হয় tf.nn.softmax_cross_entropy_with_logits। একই বার্তায় এটি আমাকে একবার দেখার জন্য অনুরোধ করে tf.nn.softmax_cross_entropy_with_logits_v2। আমি ডকুমেন্টেশনটি দেখেছি তবে এটি কেবলমাত্র এতে বলেছে tf.nn.softmax_cross_entropy_with_logits_v2:

ব্যাকপ্রোগেশন লগইট এবং লেবেল উভয়ই ঘটবে। লেবেলে ব্যাকপ্রসারণ নিষিদ্ধ করতে, এই ফাংশনে ফিড দেওয়ার আগে স্টপ_গ্রাডিয়েন্টগুলির মাধ্যমে লেবেল টেনারগুলি পাস করুন।

এর বিপরীতে, tf.nn.softmax_cross_entropy_with_logitsএর:

ব্যাকপ্রসারণ কেবল লগইটে হবে।

বিষয়টিতে খুব নতুন হওয়া (আমি কয়েকটি বেসিক টিউটোরিয়ালের মাধ্যমে চেষ্টা করার চেষ্টা করছি) সেগুলি বিবৃতি খুব পরিষ্কার নয়। ব্যাকপ্রোপেজেশন সম্পর্কে আমার অগভীর বোঝাপড়া আছে তবে আগের বক্তব্যটি আসলে কী বোঝায়? ব্যাকপ্রসারণ এবং লেবেলগুলি কীভাবে সংযুক্ত রয়েছে? এবং tf.nn.softmax_cross_entropy_with_logits_v2আসল বিপরীতে আমি কীভাবে এইভাবে কাজ করব তা কীভাবে পরিবর্তিত হবে ?

উত্তর:


56

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

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


5
আহ আমি দেখছি, তদারকি করা পড়াশোনার বাইরে আমার এখনও অনেক কিছু শিখতে হবে। কেবলমাত্র আমি আপনাকে সঠিকভাবে বুঝতে পেরেছি, যতক্ষণ না আমি উল্লেখ করি না যে আমার লেবেলগুলি অপ্টিমাইজেশনের সাপেক্ষে রয়েছে (ei সেগুলি tf. পরিবর্তনশীল হিসাবে সংরক্ষণ করুন) তারা স্পর্শ softmax_..._with_logits_v2করবে না এবং সে হিসাবে কাজ করবে softmax_with_logits? (অথবা আমি লেবেল ভেরিয়েবলে tf.stop_gradient ব্যবহার করতে পারি))
খ্রিস্টান এরিকসন

3
হ্যা, তা ঠিক.
ম্যাক্সিম

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