সমষ্টিগুলির পরিবর্তে ব্যাচগুলিতে গড় ক্ষতি হ্রাস করা কি সাধারণ অভ্যাস?


17

টেনসরফ্লো সিআইএফএআর -10 শ্রেণিবদ্ধকরণ সম্পর্কে একটি উদাহরণ টিউটোরিয়াল রয়েছে । টিউটোরিয়ালে ব্যাচ জুড়ে গড় ক্রস এনট্রপি ক্ষতি হ্রাস করা হয়।

def loss(logits, labels):
  """Add L2Loss to all the trainable variables.
  Add summary for for "Loss" and "Loss/avg".
  Args:
    logits: Logits from inference().
    labels: Labels from distorted_inputs or inputs(). 1-D tensor
            of shape [batch_size]
  Returns:
    Loss tensor of type float.
  """
  # Calculate the average cross entropy loss across the batch.
  labels = tf.cast(labels, tf.int64)
  cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(
      logits, labels, name='cross_entropy_per_example')
  cross_entropy_mean = tf.reduce_mean(cross_entropy, name='cross_entropy')
  tf.add_to_collection('losses', cross_entropy_mean)

  # The total loss is defined as the cross entropy loss plus all of the weight
  # decay terms (L2 loss).
  return tf.add_n(tf.get_collection('losses'), name='total_loss')

দেখুন cifar10.py , লাইন 267।

এর পরিবর্তে এটি ব্যাচ জুড়ে যোগফলকে হ্রাস করে না কেন? এটা কি কোন পার্থক্য তৈরি করছে? আমি বুঝতে পারি না এটি কীভাবে ব্যাকপ্রপ গণনায় প্রভাব ফেলবে।


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

উত্তর:


17

পুকুবিক যেমন উল্লেখ করেছেন, সাধারণত প্যারামিটারগুলির জন্য নিয়মিতকরণ শব্দ থাকে যা ইনপুটটির উপর নির্ভর করে না, উদাহরণস্বরূপ টেনসরফ্লোতে এটি পছন্দ হয়

# Loss function using L2 Regularization
regularizer = tf.nn.l2_loss(weights)
loss = tf.reduce_mean(loss + beta * regularizer)

এক্ষেত্রে মিনি-ব্যাচের ওভারেজ গড় করা cross_entropyক্ষতি এবং ক্ষতির মধ্যে একটি নির্দিষ্ট অনুপাত রাখতে সহায়তা করে regularizerযখন ব্যাচের আকার পরিবর্তন হয়।

তবুও শিক্ষার হার ক্ষতির মাত্রা (গ্রেডিয়েন্ট) এর প্রতি সংবেদনশীল, সুতরাং বিভিন্ন ব্যাচের আকারের ফলাফলকে স্বাভাবিক করতে, গড় গ্রহণকে আরও ভাল বিকল্প বলে মনে হয়।


হালনাগাদ

ফেসবুকের এই কাগজটি (যথাযথ, বৃহত্তর মিনিবাচ এসজিডি: 1 ঘন্টা প্রশিক্ষণ ইমেজনেট) দেখায় যে, ব্যাচের আকার অনুসারে শেখার হারকে স্কেলিং করা বেশ কার্যকরভাবে কাজ করে:

লিনিয়ার স্কেলিং বিধি: যখন মিনিবেচের আকার কে দ্বারা গুণিত হয়, তখন শিখার হারকে কে দ্বারা গুণান।

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


8

আমি অংশটি ফোকাস করব:

আমি বুঝতে পারি না এটি কীভাবে ব্যাকপ্রপ গণনায় প্রভাব ফেলবে।

প্রথমত আপনি সম্ভবত ইতিমধ্যে লক্ষ্য করেছেন যে ফলস্বরূপ ক্ষতির মানগুলির মধ্যে একমাত্র পার্থক্য হ'ল loss of এর ফ্যাক্টর দ্বারা যোগফলের তুলনায় গড় ক্ষতি কমিয়ে দেওয়া হয় , অর্থাৎ , যেখানে ব্যাচের আকার। আমরা সহজেই প্রমাণ করতে পারি যে কোনও পরিবর্তনশীল কব্জি তৈরির জন্য একই সম্পর্ক সত্য। ক্ষতির ফাংশন ( ) ডেরাইভেটিভের সংজ্ঞাটি দেখে: এখন, আমরা ফাংশনটির মানকে গুণিত করতে চাই এবং এটি কীভাবে ডেরাইভেটিভকে প্রভাবিত করে তা দেখতে চাই: 1BLSUM=BLAVGBdLSUMdx=BdLAVGdx

dLdx=limΔ0L(x+Δ)L(x)Δ
d(cL)dx=limΔ0cL(x+Δ)cL(x)Δ
যখন আমরা ধ্রুবকটি নির্ধারণ করি এবং সীমাটির আগে এটি সরিয়ে ফেলি তখন আমাদের দেখতে হবে যে আমরা ধ্রুবক দ্বারা গুণিত মূল আদি সংজ্ঞা নিয়ে এসেছি, যা আমরা ঠিক এটি প্রমাণ করতে চেয়েছিলাম:
d(cL)dx=climΔ0L(x+Δ)L(x)Δ=cdLdx

এসজিডিতে আমরা শিখার হার দ্বারা তাদের গ্রেডিয়েন্ট ব্যবহার করে ওজনগুলি আপডেট করব এবং আমরা পরিষ্কারভাবে দেখতে পারি যে আমরা এই পরামিতিটি এমনভাবে চয়ন করতে পারি যাতে চূড়ান্ত ওজন আপডেটগুলি সমান হয়। প্রথম আপডেটের নিয়ম: এবং দ্বিতীয় আপডেটের নিয়ম (কল্পনা করুন যে ): λ

W:=W+λ1dLSUMdW
λ1=λ2B
W:=W+λ1dLAVGdW=W+λ2BdLSUMdW


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

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