যুক্ত: সিএস 231 এন , নিউরাল নেটওয়ার্কগুলির উপর একটি স্ট্যানফোর্ড কোর্সটি আরও একটি
ধাপ দেয়:
v = mu * v_prev - learning_rate * gradient(x) # GD + momentum
v_nesterov = v + mu * (v - v_prev) # keep going, extrapolate
x += v_nesterov
এখানে v
বেগ ওরফে স্টেপ ওরফে রাষ্ট্র এবং mu
এটি একটি গতিবেগের কারণ, সাধারণত 0.9 বা তাই। ( v
, x
এবং learning_rate
খুব দীর্ঘ ভেক্টর হতে পারে; numpy সঙ্গে, কোড একই।)
v
প্রথম লাইনে গতিবেগ সহ গ্রেডিয়েন্ট বংশোদ্ভূত;
v_nesterov
এক্সট্রাপোলেট, চলতে থাকে উদাহরণস্বরূপ, মি = 0.9 সহ,
v_prev v --> v_nesterov
---------------
0 10 --> 19
10 0 --> -9
10 10 --> 10
10 20 --> 29
নীচের বর্ণনায় 3 টি পদ রয়েছে:
পদ 1 একা সরল গ্রেডিয়েন্ট বংশোদ্ভূত (জিডি),
1 + 2 জিডি + গতিবেগ দেয়,
1 + 2 + 3 নেস্টারভ জিডি দিন।
এক্সটি→ yটিYটি। Xt + 1
Yটি= এক্সটি+ মি ( এক্সটি- এক্সt - 1) - গতিবেগ, ভবিষ্যদ্বাণীকারী
এক্সt + 1= yটি+ এইচ জি ( y)টি) - গ্রেডিয়েন্ট
ছটি≡ - ∇ চ( y)টি)জ
Yটি
Yt + 1= yটি
+ এইচ জি টি - গ্রেডিয়েন্ট
+ মি ( y) টি- yt - 1) - পদক্ষেপ গতি
+ এম এইচ ( ছ টি- ছt - 1) - গ্রেডিয়েন্ট গতি
শেষ শব্দটি প্লেইন মোমেন্টামের সাথে জিডি এবং নেস্টারভের গতিবেগের সাথে জিডির পার্থক্য।
মিমিছr a d
+ মি ( y) টি- yt - 1) - পদক্ষেপ গতি
+ মি ছr a d এইচ ( ছ টি- ছt - 1) - গ্রেডিয়েন্ট গতি
মিছr a d= 0মিছr a d= মি
মিছr a d> 0
মিছr a d∼ - .1
মিটিজটি
( এক্স / [ সি ও এন ডি, 1 ] - 100 ) + + R আমি পি পি ঠ ই × গুলি আমি এন ( πএক্স )