গ্রেডিয়েন্ট বংশোদ্ভূত স্থির পদক্ষেপের আকার ব্যবহার করার সময় কেন আমার পদক্ষেপগুলি ছোট হচ্ছে?


9

মনে করুন আমরা গ্রেডিয়েন্ট শালীন উপর একটি খেলনা উদাহরণ করছি, একটি চতুর্ভুজ ফাংশন হ্রাস এক্সটিএকজনএক্স, স্থির পদক্ষেপের আকার ব্যবহার করে α=0.03। (একজন=[10,2;2,3])

যদি আমরা এর ট্রেস প্লট করি এক্সপ্রতিটি পুনরাবৃত্তিতে আমরা নিম্নলিখিত চিত্রটি পাই। আমরা যখন স্থির পদক্ষেপের আকারটি ব্যবহার করি তখন কেন পয়েন্টগুলি "অনেক ঘন" হয় ? স্বজ্ঞাতভাবে, এটি কোনও স্থির পদক্ষেপের আকারের মতো দেখায় না, তবে একটি হ্রাসমান ধাপের আকার।

এখানে চিত্র বর্ণনা লিখুন


PS: আর কোড প্লট অন্তর্ভুক্ত।

A=rbind(c(10,2),c(2,3))
f <-function(x){
  v=t(x) %*% A %*% x
  as.numeric(v)
}
gr <-function(x){
  v = 2* A %*% x
  as.numeric(v)
}

x1=seq(-2,2,0.02)
x2=seq(-2,2,0.02)
df=expand.grid(x1=x1,x2=x2)
contour(x1,x2,matrix(apply(df, 1, f),ncol=sqrt(nrow(df))), labcex = 1.5, 
        levels=c(1,3,5,10,20,40))
grid()

opt_v=0
alpha=3e-2
x_trace=c(-2,-2)
x=c(-2,-2)
while(abs(f(x)-opt_v)>1e-6){
  x=x-alpha*gr(x)
  x_trace=rbind(x_trace,x)
}
points(x_trace, type='b', pch= ".", lwd=3, col="red")
text(x_trace, as.character(1:nrow(x_trace)), col="red")

আপনার কোডটি আপনার বর্ণনার সাথে মেলে না: এটি alpha=3e-2বরং ব্যবহার করে0.01
whuber

উত্তর:


12

দিন (এক্স)=12এক্সটিএকজনএক্স কোথায় একজনপ্রতিসম এবং ধনাত্মক সুনির্দিষ্ট (আমার ধারণা আপনার উদাহরণের ভিত্তিতে এই ধারণাটি নিরাপদ)। তারপর(এক্স)=একজনএক্স এবং আমরা তির্যক করতে পারি একজন যেমন একজন=প্রশ্নঃΛপ্রশ্নঃটি। ভিত্তি পরিবর্তন ব্যবহার করুনY=প্রশ্নঃটিএক্স। তারপর আমাদের আছে

(Y)=12YটিΛY(Y)=ΛY

Λ তির্যক তাই আমরা আমাদের আপডেট হিসাবে

Y(এন+ +1)=Y(এন)-αΛY(এন)=(আমি-αΛ)Y(এন)=(আমি-αΛ)এন+ +1Y(0)

এই যে মানে 1-αλআমি একত্রিতকরণ পরিচালনা, এবং আমরা কেবল যদি অভিব্যক্তি পেতে |1-αλআমি|<1। আপনার ক্ষেত্রে আমাদের আছে

Λ(10.5002.5)
সুতরাং
আমি-αΛ(0.89000.98)

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

এর আরও ভাল এবং আরও গভীর আলোচনার জন্য, আমি দৃ strongly়ভাবে https://distill.pub/2017/momentum/ পরামর্শ দিচ্ছি ।


বিস্তারিত উত্তর এবং দুর্দান্ত রেফারেন্সের জন্য ধন্যবাদ! ভিত্তি পরিবর্তনYসত্যিই আমাকে সাহায্য।
হাইতাও ডু

11

একটি মসৃণ ফাংশন জন্য, =0 স্থানীয় মিনিমা এ।

কারণ আপনার আপডেট স্কিমটি α, বিশালতা ||পদক্ষেপের আকার নিয়ন্ত্রণ করে। আপনার চতুর্ভুজ ক্ষেত্রে|Δ|0পাশাপাশি (আপনার ক্ষেত্রে কেবল চতুষ্কোণের হেসিয়ান গণনা করুন)। মনে রাখবেন যে এটি সর্বদা সত্য হতে হবে না। উদাহরণস্বরূপ একই স্কিমটি চেষ্টা করে দেখুন(এক্স)=এক্স। তারপরে আপনার ধাপের আকার সর্বদা থাকেαঅতএব কখনই হ্রাস পাবে না। বা আরও আকর্ষণীয়ভাবে,(এক্স,Y)=এক্স+ +Y2, যেখানে গ্রেডিয়েন্টটি 0 এ y স্থানাঙ্কে যায়, তবে নয় not এক্সতুল্য। চতুর্ভুজগুলির জন্য পদ্ধতিটির জন্য চকনির উত্তর দেখুন।

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