হালনাগাদ:
মূল এমএসই বাস্তবায়ন নীচের মত দেখাচ্ছে:
def mean_squared_error(y_true, y_pred):
if not K.is_tensor(y_pred):
y_pred = K.constant(y_pred)
y_true = K.cast(y_true, y_pred.dtype)
return K.mean(K.square(y_pred - y_true), axis=-1)
আমি মনে করি সঠিক ম্যাক্সিমাইজার ক্ষতির ফাংশন:
def mean_squared_error_max(y_true, y_pred):
if not K.is_tensor(y_pred):
y_pred = K.constant(y_pred)
y_true = K.cast(y_true, y_pred.dtype)
return K.mean(K.square(1 / (y_pred - y_true)), axis=-1)
এমএসই ফাংশনের ক্ষেত্রে, তবে বিপরীত প্রভাব সহ আমরা এইভাবে সর্বদা একটি ধনাত্মক ক্ষতির মান পাই।
আপডেট 2:
প্রথমদিকে আমি লিখেছিলাম, স্বজ্ঞাত প্রথমটি ক্ষয়টিকে উপেক্ষা করার জন্য প্রথমে ধারণাটি অপ্টিমাইজিং পদ্ধতির ভিত্তি ধারণার কারণে আমাদের প্রত্যাশিত ফলাফলটি দেয় না (আপনি এখানে একটি আকর্ষণীয় আলোচনা পড়তে পারেন )। উভয় পদ্ধতির মাথাটি একটি নির্দিষ্ট শেখার কার্যের ফলাফলের জন্য দুটি বার পরীক্ষা করার পরে (দ্রষ্টব্য: আমি একটি অল-আউট পরীক্ষা করিনি) এটি ছিল যে উভয় পদ্ধতিই ক্ষতির সর্বাধিকীকরণ দিয়েছে, যদিও এ -loss
পদ্ধতিটি কিছুটা দ্রুত রূপান্তরিত হয়েছিল। আমি বর্ণিত নই যে এখানে বর্ণিত সম্ভাব্য সমস্যার কারণে এটি সর্বদা সেরা সমাধান বা কোনও সমাধান দেয় কিনা । কারও যদি অন্য অভিজ্ঞতা থাকে তবে দয়া করে আমাকে জানান।
তাই কেউ যদি চেষ্টা করেও দেখতে চান -loss
:
def mean_squared_error(y_true, y_pred):
if not K.is_tensor(y_pred):
y_pred = K.constant(y_pred)
y_true = K.cast(y_true, y_pred.dtype)
return - K.mean(K.square(y_pred - y_true), axis=-1)
অতিরিক্ত তথ্য:
ওপি লিখেছেন:
আমার একটি জেনারেটর অ্যাডভারসিয়াল নেটওয়ার্ক রয়েছে, যেখানে এমএসইর সাথে বৈষম্যমূলক সংক্ষিপ্ততর হয় এবং জেনারেটর সর্বাধিক হওয়া উচিত। কারণ উভয়ই বিরোধী যারা বিপরীত লক্ষ্যে অনুসরণ করে।
ইব্রাহিল প্রদত্ত লিঙ্কটি থেকে:
এদিকে, জেনারেটর নতুন, সিন্থেটিক চিত্র তৈরি করছে যা এটি বৈষম্যকারীর কাছে যায়। এটি এমন প্রত্যাশায় এটি করে যে তারাও ভুয়া হলেও, তারা খাঁটি বলে বিবেচিত হবে। জেনারেটরের লক্ষ্য হ'ল পাসেবল হস্ত লিখিত অঙ্কগুলি তৈরি করা: ধরা না পড়ে মিথ্যা বলা। বৈষম্যকারীর লক্ষ্য হ'ল জেনারেটর থেকে আসা চিত্রগুলি ভুয়া হিসাবে চিহ্নিত করা।
সুতরাং এটি একটি অসুবিধাযুক্ত সমস্যা:
ইন GAN আমাদের চূড়ান্ত লক্ষ্য আমাদের দুই পাল্টা দলগুলোর প্রশিক্ষণের discriminator এবং জেনারেটরের একে অপরের বিরুদ্ধে যতটা সম্ভব ভাল হিসাবে পারফর্ম করতে। এর মানে, যখন দুই বেস লার্নিং algorythm বিভিন্ন ধরনের কার্য কিন্তু আছে ক্ষয় ফাংশন যা দিয়ে তারা অর্জন করতে পারেন সন্তোষজনক সমাধান একই অর্থাত binary_crossentropy
, তাই মডেলের 'কর্ম এই হারিয়ে কমান হয়।
একটি বৈষম্যমূলক মডেলের সংকলন পদ্ধতি:
self.discriminator.compile(loss='binary_crossentropy', optimizer=optimizer)
একটি জেনারেটর মডেলের সংকলন পদ্ধতি:
self.generator.compile(loss='binary_crossentropy', optimizer=optimizer)
দুই রানারের লক্ষ্য সমাপ্তি হ'ল তাদের ফাইনালে পৌঁছানোর সময়টি ন্যূনতম করা যাতে তারা এই কাজের প্রতিযোগী হয়।
সুতরাং "বিপরীত লক্ষ্য" মানে বিপরীত কাজটি নয় অর্থ ক্ষয়কে হ্রাস করা (অর্থাত্ রানার উদাহরণে সময়কে হ্রাস করা)।
আমি আসা করি এটা সাহায্য করবে.