নিউরাল নেটওয়ার্কগুলিতে "স্বাধীনতার ডিগ্রি" বলতে কী বোঝায়?


17

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

কোনও নেটওয়ার্কের কার্যকর জটিলতা নিয়ন্ত্রণের উপায় হিসাবে নিয়মিতকরণের বিকল্প হ'ল তাড়াতাড়ি থামার পদ্ধতি। ননলাইনার নেটওয়ার্ক মডেলগুলির প্রশিক্ষণ ত্রুটি ফাংশনটির পুনরাবৃত্তি হ্রাসের সাথে সামঞ্জস্য করে প্রশিক্ষণের ডেটার সেটগুলির সাথে সম্মতিযুক্ত। নেটওয়ার্ক প্রশিক্ষণের জন্য ব্যবহৃত অনেকগুলি অপ্টিমাইজেশন অ্যালগরিদম যেমন কনজুগেট গ্রেডিয়েন্টগুলির জন্য ত্রুটিটি পুনরাবৃত্তি সূচকটির একটি অযৌক্তিক ফাংশন। যাইহোক, স্বাধীন ডেটার সাথে সম্মত ত্রুটি পরিমাপ করা হয়, সাধারণত একটি বৈধতা সেট বলা হয়, প্রায়শই প্রথমে হ্রাস দেখায়, তারপরে নেটওয়ার্ক ওভার-ফিটনেস শুরু হওয়ার সাথে সাথে বৃদ্ধি ঘটে। যথাযথভাবে সাধারণীকরণের পারফরম্যান্স সম্পন্ন একটি নেটওয়ার্ক পাওয়ার জন্য চিত্র 5.12-এ উল্লিখিত হিসাবে, বৈধতা ডেটা সেটের সাথে সামান্যতম ত্রুটির স্থানে প্রশিক্ষণ বন্ধ করা যেতে পারে।এই ক্ষেত্রে নেটওয়ার্কের আচরণটি কখনও কখনও নেটওয়ার্কের স্বাধীনতার কার্যকর সংখ্যার ডিগ্রিগুলির ক্ষেত্রে গুণগতভাবে ব্যাখ্যা করা হয়, যার মধ্যে এই সংখ্যাটি ছোট থেকে শুরু হয় এবং তারপরে প্রশিক্ষণ প্রক্রিয়া চলাকালীন বৃদ্ধি পেতে থাকে, কার্যকরীটিতে অবিচ্ছিন্ন বৃদ্ধির সাথে মিল রেখে মডেল জটিলতা।

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

নিউরাল নেটওয়ার্কে স্বাধীনতার ডিগ্রি কী? প্রশিক্ষণের সময় কী পরামিতি বৃদ্ধি পায়?


1
নামকরণ। একটি প্যারামিটার একক ওজন। প্যারামিটারের সংখ্যা বৃদ্ধি মানে "নিউরন" বা "নিউরনের মধ্যে সংযোগ" বৃদ্ধি পাচ্ছে। এর অর্থ টপোলজি অ-ধ্রুবক।
এনগ্রিস্টুডেন্ট - মনিকা

ধন্যবাদ! কিন্তু তারপরে প্রশিক্ষণ কেন ওজনের সংখ্যা বাড়ায়?
রবার্ট স্মিথ

প্রকৃতপক্ষে প্রশিক্ষণটির অ্যালগরিদমগুলি রয়েছে যা প্রশিক্ষণের সময় নিউরাল নেটওয়ার্কের কাঠামোকে হস্তান্তর করে (ক্যাসকেড কারেলিলেশন, NEAT, ...)। এগুলি সাধারণত নিয়মিত ওজনের সংখ্যা বৃদ্ধি করে। তবে আমি মনে করি না বিশপ তাঁর বইয়ে উল্লেখ করেছেন।
আলফা

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

উত্তর:


12

আমি সন্দেহ করি বিশপের অর্থ এটাই:

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


আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ। আমি বইটির প্রাসঙ্গিক অংশটি উদ্ধৃতি হিসাবে যুক্ত করেছি, যাতে আপনি প্রসঙ্গটি দেখতে পারেন। যদিও এটি আপনার পরামর্শটিকে নিশ্চিত করেছে কিনা তা নিশ্চিত নন।
রবার্ট স্মিথ

হ্যাঁ, এটি বিশপের অর্থ কী বোঝে তা নিশ্চিত করে।
মার্ক শিভার 21

আপনার উত্তর কয়েক বার পড়া, আমি মনে করি যে প্রশিক্ষণ অগ্রগতি হয় এবং মডেল অত্যধিক উপকার করতে শুরু করে, মডেলটি আনুমানিক করতে পারে এমন ফাংশনগুলির সংখ্যা আসলে হ্রাস পেয়েছে কারণ এটি প্রশিক্ষণের ডেটা থেকে আনুমানিক খুব ভাল পয়েন্ট করবে তবে এর পূর্বাভাসগুলি জিতেছে ' টি ভাল হবে না কারণ এটি অন্যান্য পয়েন্ট বা অনুরূপ ডেটাসেটগুলিতে ফিট করতে সাধারণীকরণ করতে পারে না।
রবার্ট স্মিথ

4

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


3

জটিল পরিসংখ্যান শেখার মডেলগুলিতে স্বাধীনতার ডিগ্রিগুলির বিষয়টি ইয়ে 1998 জাসায় আলোচিত হয়েছে । মূলত, ধারণাটি হ'ল নিউরাল নেটওয়ার্কের মতো জটিল মডেলের আউটপুট ইনপুটগুলির একক পরিবর্তনের ক্ষেত্রে কতটা সাড়া দেয় তা দেখতে হবে। লিনিয়ার মডেলগুলির জন্য, সম্পর্কটি একে অপরের আশ্বাসহীন, তাই জটিলতার মডেলের জন্য মুক্তির ডিগ্রি (রেজিস্ট্রার সংখ্যা) পি হয়pp। আরও জটিল মডেলের জন্য (আপনি রিগ্রেশন ট্রি হিসাবে বিবেচিত), অতিরিক্ত নোড যুক্ত করার ক্ষমতা আরও নমনীয়তার উপায় সরবরাহ করে, কারণ কার্ট মডেলটি বিভক্ত হওয়ার জন্য একটি ভাল পরিবর্তনশীল এবং একটি ভাল বিভাজন পয়েন্টের সন্ধান করবে। লিনিয়ার মডেলটিতে একটি রেজিস্ট্রার যুক্ত করার চেয়ে এই উপায়টি বেশি এবং আপনি নোডে প্রায় ৩.৫-৪ ডিএফএস ব্যবহার করতে রিগ্রেশন গাছগুলি পেয়েছেন। নিউরাল নেটওয়ার্কগুলি কোথাও কোথাও থাকতে পারে তবে স্বাধীনতার ডিগ্রি অবশ্যই ইউনিটের সংখ্যার চেয়ে অনেক বড় এবং ওজনের সংখ্যার চেয়েও বড় হতে পারে।

আমি মনে করি অনুরূপ কিছু এইচটিএফ সেকেন্ড সরবরাহ করেছিলেন। 7.6 , যদিও তারা আশ্চর্যরূপে ইয়ে (1998) উল্লেখ করে না। যদিও তারা বিশপকে একটি বিশেষ মামলা হিসাবে উল্লেখ করে।


1
ধন্যবাদ। এটি অধিকার সম্পর্কে মনে হয় তবে একটি নিউরাল নেটওয়ার্কের প্রশিক্ষণের সাথে কী সম্পর্ক? আমি পৃষ্ঠাতে (পরিসংখ্যানগত শিক্ষার উপাদানসমূহ ) 96 96 পৃষ্ঠায় ( docs.google.com/… ) স্বাধীনতা ও সমবায় ডিগ্রি সম্পর্কিত একটি অভিব্যক্তি পেয়েছি এবং আমি আরও প্রশিক্ষণ কেন ত্রুটির কার্যকারিতা হ্রাস করবে এবং ফলস্বরূপ সম্প্রদায়কে বৃদ্ধি এবং দেখতে পাচ্ছি স্বাধীনতার মাত্রা. যাইহোক, কেন বুঝতে পারি না যে সমীকরণটি (বইয়ের 3.60) কেন ধারণ করে।
রবার্ট স্মিথ

যাইহোক, এটি ইয়ের পত্রিকায় স্বাধীনতার ডিগ্রি (সাধারণীকৃত) সংজ্ঞা থেকেও কিছুটা আলাদা বলে মনে হচ্ছে।
রবার্ট স্মিথ

1
আমি অনুমান করি যে আপনি এই সম্প্রচারকে ডেরিভেটিভের মোটামুটি সংস্করণ হিসাবে ভাবতে পারেন ... বা এটি অন্যভাবে হতে পারে: পদক্ষেপের আকারের শূন্যের হিসাবে সীমা হিসাবে সংজ্ঞায়িত ডেরাইভেটিভকে প্লেম হিসাবে বিবেচনা করা যেতে পারে ব্যাঘাতের রূপটি শূন্যের দিকে চলে যাওয়ায় এই সমবায়তা। সমীকরণ (3.60) ধরে রাখতে হবে না, এটি একটি সংজ্ঞা , সুতরাং ধরে রাখার মতো কিছুই নেই। কি করে ধরে রৈখিক মডেলের জন্য DFS যে, তারা পরের পৃষ্ঠায় সংক্ষিপ্তভাবে উল্লেখ মান সংজ্ঞা সঙ্গে সমানতা, এবং যে কেবল রৈখিক মডেলের রৈখিক বীজগণিত হয়। ইয়ে (1998) অবশ্যই এটি সম্পর্কে কথা বলা উচিত।
স্টাস্ক

3

তিনি বলেছেন "নেটওয়ার্কের কার্যকর জটিলতা"। তিনি আসলে নেটওয়ার্কের ওজনগুলির আকার বোঝায় to এটি ন্যূনতম বিবরণ দৈর্ঘ্যের নীতি অনুসারে বোঝা যায় । তবে আমি এটিতে প্রবেশের আগে, স্বজ্ঞাততাটি হ'ল বড় ওজনগুলি, আপনার নেটওয়ার্ক আরও বিভিন্ন ধরণের ফাংশন ফিট করতে পারে এবং এভাবে স্বাধীনতার ডিগ্রি (এবং কার্যকর জটিলতা) বেশি হয়।

সেই অধ্যায়ে তিনি নিয়মিতকরণের বিষয়ে কথা বলছেন, যা ওজনকে যথাসম্ভব ছোট করার দাবি করে ওভারফিটিংয়ের ঝুঁকি কার্যকরভাবে হ্রাস করার একটি কৌশল। সাধারণভাবে,

p(D|w)=np(tn|xn,w)=nexp(β2[tny(xn,w)]2)/ZD(β)
W এমন ভেক্টর সমস্ত প্যারামিটার থাকে যা আপনার অ্যালগরিদমকে বৈশিষ্ট্যযুক্ত করে এবংজেডডি(β)একটি নরমালাইজেশন ধ্রুবক। আপনি যদি এমএল অনুমানটি পান তবে আপনি লগ-সম্ভাবনা সর্বাধিক করে তোলেন। এখন, আপনি নিয়মিত হিসাবে কাজ করে এমন পরামিতিগুলির উপর একটি অগ্রাধিকার যোগ করুন এবং আপনাকে আপনার শ্রেণিবদ্ধের জটিলতা নিয়ন্ত্রণ করে ওভারফিটিং এড়াতে সহায়তা করে। কংক্রিটের ক্ষেত্রে, আপনার পরামিতিগুলি গাউসিয়ান বিতরণ করা হয়েছে তা ধরে নেওয়া স্বাভাবিক,

পি(W)=মেপুঃ(-α||W||22)/জেডওয়াট(α)
এমএপি হিসাবে সংজ্ঞায়িত করা হয় ARGসর্বোচ্চWপি(W|ডি)। বয়েসের উপপাদ্য ব্যবহার করে,

p(w|D)=p(D|w)p(w)
If you substitute the above expressions and take logarithms you end up with (the Z's do not depend on w),

argminwnβ2[tny(xn,w)]2+α2iwi2

More generally, you have that the MAP estimate is equivalent to the following,

wMAP=argminwlog2P(D|w)log2(w)

The right hand side of the expression can be interpreted as the number of bits necessary to describe your classifier. The first term represent the number of bits necessary to code the errors your network does on the training data. The second represents the number of bits necessary to code the weights.

The MAP estimate is thus equivalent to choosing the most compact representation possible. In other words, you look for the set of weights which account for the training data as faithfully as possible which can be expressed with the least number of bits.

Notice that this is another form of the bias/variance problem: the bigger the weights, the lower the first term, because the network can fit the training data better (overfitting). But at the same time the higher the complexity of weights. The smaller the weights, the smaller the complexity of the network, but the higher the error term (bias). The higher the number of bits necessary to code the errors of the network.

Hope this gives you an good enough idea of what he is referring to.

P.S. adding a longer argument to the ongoing discussion Maybe I misunderstand you. Let me please try to explain myself a last time.

The prior on the weights means represent the assumption we make about the function you want to fit. The bigger the prior (i.e. the weights) the broader the Gaussian, i.e. the more possible configurations one considers to fit the network.

Let us consider the case of regression (as in the paper I referred to). Low generalization error means that the network is able to map unseen samples very close to the actual values. If you are fitting a straight line, then a first order polynomial suffices (low complexity). Now, you could also fit the data with a higher order polynomial (let higher order coefficients be different from zero). The complexity of the network is higher because you allow for oscillations, for a more complex curve. Nevertheless, if the coefficients corresponding to higher order terms are low enough, the network can approximate the straight line very well, thus resulting in good generalization.

So the whole point of MDL is to make your weights as small as possible, as long as the generalization error can me minimized along.

Finally, quoting you: "I still find troublesome the argument that as the model starts to overfit, its capabilities to model other functions will increase. I think that's quite the opposite because a model that overfits, can't generalize to be applied to new information.". Yes, it can model OTHER, more complex functions, but it will fail to model the function at hand properly. In the figure 5.12 in the book, the error first declines, as the size of the weight increases (reduction in bias). Up to a given point when it starts to increase again (decrease in generalization, overfit).


1
Thanks. This is similar to the idea of Marc, however, I still find troublesome the argument that as the model starts to overfit, its capabilities to model other functions will increase. I think that's quite the opposite because a model that overfits, can't generalize to be applied to new information.
Robert Smith

1
Robert, I believe that is some misunderstading of what generalization error means vs. complexity of the network, i.e. the ability to model more complex functions. There are a number of papers describing the different terms, like cbcl.mit.edu/projects/cbcl/publications/ps/….
jpmuc

I don't think there is confusion when the term "complexity" is used because if you have a bunch of weights with crazy values, that makes the model very complex and you can immediately tell by the resulting plot. On the other hand, being able to manage a wide set of functions requires a model capable of generalize well from the data which can be obtained by avoiding overfitting.
Robert Smith
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.