পেরসেপ্ট্রন বিধি বনাম গ্রেডিয়েন্ট বংশোদ্ভূত স্টোকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূত বাস্তবায়ন সম্পর্কে স্পষ্টতা


15

আমি বিভিন্ন পেরসেপ্ট্রন বাস্তবায়নের জন্য কিছুটা পরীক্ষা করেছি এবং "পুনরুক্তি" সঠিকভাবে বুঝতে পারছি কিনা তা নিশ্চিত করতে চাই।

রোজেনব্ল্যাট এর মূল পার্সেপেট্রন নিয়ম

যতদূর আমি বুঝতে পেরেছি, রোজেনব্ল্যাটের ক্লাসিক পার্সেপেট্রন অ্যালগরিদমে, ওজনগুলি প্রতিটি প্রশিক্ষণের উদাহরণের সাথে একযোগে আপডেট করা হয় যার মাধ্যমে

Δw(t+1)=Δw(t)+η(targetactual)xi

যেখানে eta হয় শিক্ষা নিয়ম এখানে। এবং লক্ষ্য এবং প্রকৃত উভয়ই প্রান্তিক (-1 বা 1) হয়। আমি প্রশিক্ষণ নমুনার উপর দিয়ে 1 পুনরাবৃত্তি = 1 পাস হিসাবে এটি প্রয়োগ করেছি, তবে ওজন ভেক্টর প্রতিটি প্রশিক্ষণের নমুনার পরে আপডেট করা হয়।

এবং আমি হিসাবে "আসল" মান গণনা করি

sign(wwTxx)=sign(w0+w1x1+...+wdxd)

স্টোকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূত

Δw(t+1)=Δw(t)+η(targetactual)xi

পার্সেপট্রন রুল হিসাবে একই, targetএবং actualথ্রেশহোল্ড নয় বরং আসল মান। এছাড়াও, আমি "পুনরাবৃত্তি" প্রশিক্ষণের নমুনার উপরের পথ হিসাবে গণনা করি।

উভয়ই, এসজিডি এবং ক্লাসিক পার্সেপট্রন নিয়ম এই রৈখিক পৃথকযোগ্য ক্ষেত্রে একত্রিত হয়, তবে গ্রেডিয়েন্ট বংশোদ্ভূত বাস্তবায়নে আমার সমস্যা হচ্ছে।

গ্রেডিয়েন্ট বংশোদ্ভূত

এখানে, আমি প্রশিক্ষণের নমুনাটি অতিক্রম করেছি এবং প্রশিক্ষণের নমুনার উপর দিয়ে 1 পাসের ওজন পরিবর্তনের সংকলন করব এবং তারপরে ওজন আপডেট করব, যেমন,

প্রতিটি প্রশিক্ষণের নমুনার জন্য:

Δwnew+=Δw(t)+η(targetactual)xi

...

প্রশিক্ষণ সেট 1 পাস করার পরে:

Δw+=Δwnew

আমি ভাবছি, যদি এই অনুমানটি সঠিক হয় বা আমি কিছু অনুপস্থিত হয়। আমি বিভিন্ন (অসীম পর্যন্ত ছোট) শেখার হার চেষ্টা করেছি কিন্তু কখনও রূপান্তরিত হওয়ার কোনও চিহ্ন দেখাতে এটি পাইনি। সুতরাং, আমি ভাবছি যে আমি যদি স্টাথটি ভুল বুঝি। এখানে.

ধন্যবাদ, সেবাস্তিয়ান

উত্তর:


20

Δ

Perceptron:

ww(t+1)=ww(t)+ηt(y(i)y^(i))xx(i)

y^(i)=sign(wwxx(i))ith

এটি নিম্নলিখিত "পার্সেপট্রন লস" ফাংশনে স্টোকাস্টিক সাবগ্রেডিয়েন্ট বংশোদ্ভূত পদ্ধতি হিসাবে দেখা যেতে পারে *:

পারসেপ্ট্রন ক্ষতি:

Lww(y(i))=max(0,y(i)wwxx(i))

Lww(y(i))={0}, if y(i)wwxx(i)>0{y(i)xx(i)}, if y(i)wwxx(i)<0[1,0]×y(i)xx(i), if wwxx(i)=0

যেহেতু perceptron ইতিমধ্যে হয় SGD একটি ফর্ম, আমি নিশ্চিত না কেন SGD আপডেট perceptron আপডেট চেয়ে ভিন্ন হওয়া উচিত আছি। অ-প্রান্তিক মান সহ আপনি যেভাবে এসজিডি পদক্ষেপটি লিখেছেন, আপনি যদি কোনও উত্তর খুব সঠিকভাবে পূর্বাভাস করেন তবে আপনি ক্ষতির সম্মুখীন হবেন। এটা খারাপ.

আপনার ব্যাচের গ্রেডিয়েন্ট পদক্ষেপটি ভুল কারণ আপনি যখন "=" ব্যবহার করা উচিত তখন আপনি "+" "ব্যবহার করছেন। প্রতিটি ওজনের প্রশিক্ষণের জন্য বর্তমান ওজন যুক্ত করা হয় । অন্য কথায়, আপনি এটি যেভাবে লিখেছেন,

ww(t+1)=ww(t)+i=1n{ww(t)ηtLww(t)(y(i))}

এটি হওয়া উচিত:

ww(t+1)=ww(t)ηti=1nLww(t)(y(i))

ηt=η0t


wwxx(i)=0L=[1,0]×y(i)xx(i)00Lww=00y(i)xx(i)L

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


আপনাকে ধন্যবাদ স্যাম, এবং আমি আমার অগোছালো প্রশ্নের জন্য ক্ষমা চাইছি। ডেল্টাগুলি কোথা থেকে এসেছে তা আমি জানি না, তবে "+ =" জিনিসটি ভুল হয়ে গেছে। আমি সেই অংশটিকে পুরোপুরি অগ্রাহ্য করেছি। পুরো উত্তর জন্য ধন্যবাদ!
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.