নিউরাল নেটওয়ার্কে সফটম্যাক্স স্তর


43

আমি ব্যাকপ্রোপেশন প্রশিক্ষণপ্রাপ্ত নিউরাল নেটওয়ার্কে একটি সফটম্যাক্স স্তর যুক্ত করার চেষ্টা করছি, তাই আমি এর গ্রেডিয়েন্টটি গণনা করার চেষ্টা করছি।

সফটম্যাক্স আউটপুট যেখানে আউটপুট নিউরন সংখ্যা।hj=ezjezij

আমি যদি এটি প্রাপ্ত করি তবে আমি পেয়েছি

hjzj=hj(1hj)

লজিস্টিক রিগ্রেশন অনুরূপ। তবে এটি ভুল কারণ আমার সংখ্যার গ্রেডিয়েন্ট চেক ব্যর্থ হয়।

আমি কি ভুল করছি? আমার একটি ধারণা ছিল যে আমারও ক্রস ডেরাইভেটিভগুলি গণনা করতে হবে (যেমন ) তবে আমি কীভাবে এটি করব এবং গ্রেডিয়েন্টের মাত্রা বজায় রাখতে পারি তা নিশ্চিত নই একই তাই এটি পিছনের প্রচার প্রক্রিয়া জন্য উপযুক্ত হবে।hjzk


3
আপনার প্রশ্নের শিরোনামটি উন্নত করা উচিত কারণ এটি কোনও এনএন-তে সাধারণ সফটম্যাক্স স্তর যুক্ত করার কথা নয়, যেহেতু আপনার প্রশ্নটি গ্রেডিয়েন্ট চেকটি কীভাবে ব্যর্থ হয় সে সম্পর্কে নির্দিষ্ট is আমি শিরোনামটি "আমার নিউরাল নেটওয়ার্কে একটি সফটম্যাক্স স্তর যুক্ত করলে ব্যাকপ্রসারণটি কেন সঠিকভাবে কাজ বন্ধ করে দেয়" এ পরিবর্তনের পরামর্শ দিয়েছিলাম।
চার্লি পার্কার

উত্তর:


43

আমি এটা বেশ ভাল হয়ত কিভাবে সম্পর্কে চূড়ান্ত স্বজ্ঞা ছাড়া, অ্যামিবা এবং juampa ক্যাপচার করা হয় এই জন্য আমার নিজের উত্তর প্রদানের সম্পর্কে অল্প খারাপ মনে করেন Jacobian ফিরে একটি ভেক্টর কমে যাবে।

আপনি যথাযথভাবে জ্যাকবীয় ম্যাট্রিক্সের ত্রিভুজের গ্রেডিয়েন্টটি পেয়েছেন, যা এটি বলে

hizj=hi(1hj):i=j

এবং অ্যামিবা যেমনটি বলেছে, আপনাকে জ্যাকবীয়ানের অফারকৃত এন্ট্রিগুলিও অর্জন করতে হবে, যা ফলন করে

hizj=hihj:ij

এই দুটি ধারণার সংজ্ঞাটি ক্রোনেকার ডেল্টা নামে একটি কনস্ট্রাক্ট ব্যবহার করে সুবিধাজনকভাবে সংযুক্ত করা যেতে পারে , সুতরাং গ্রেডিয়েন্টের সংজ্ঞাটি হয়ে যায়

hizj=hi(δijhj)

সুতরাং জ্যাকবীয় একটি বর্গ ম্যাট্রিক্স[J]ij=hi(δijhj)

এ পর্যন্ত সমস্ত তথ্য ইতিমধ্যে অমিবা এবং জুপা দ্বারা আচ্ছাদিত। সমস্যা অবশ্যই, যে আমাদের ইতিমধ্যে গণনা করা আউটপুট ত্রুটিগুলি থেকে ইনপুট ত্রুটিগুলি পাওয়া উচিত। যেহেতু আউটপুট ত্রুটির গ্রেডিয়েন্ট সমস্ত ইনপুটগুলির উপর নির্ভর করে, তারপরে গ্রেডিয়েন্টটি হবেhixi

[x]k=i=1hi,k

উপরে বর্ণিত জ্যাকবীয় ম্যাট্রিক্স দেওয়া, এটি ম্যাট্রিক্স এবং আউটপুট ত্রুটি ভেক্টরের পণ্য হিসাবে তুচ্ছভাবে প্রয়োগ করা হয়:

σl=Jσl+1

যদি সফটম্যাক্স স্তরটি আপনার আউটপুট স্তর হয়, তবে ক্রস-এনট্রপি ব্যয়ের মডেলের সাথে এটি সংমিশ্রণটি সহজেই গণনাটিকে সহজতর করে

σl=ht

যেখানে lab হ'ল লেবেলের ভেক্টর এবং হ'ল সফটম্যাক্স ফাংশন থেকে আউটপুট। সরলীকৃত ফর্মটি কেবল সুবিধাজনক নয় এটি একটি সংখ্যাগত স্থায়িত্বের দিক থেকেও অত্যন্ত কার্যকর extremelyth


সঙ্গে হল ? (কেবল এই ক্ষেত্রে 'গ্রেডিয়েন্ট' কী তা বোঝার চেষ্টা করে)σl=(σl,1,σl,2,...,σl,k)σl,j=Czj
আলেকজান্দ্রে হোল্ডেন ডেলি

হ্যাঁ এটা ঠিক.
মুরঞ্জ

ক্রোনেকার ডেল্টায় লোয়ারকেস ডেল্টা শর্তগুলি কী এবং সেগুলি কীভাবে গণনা করা যায় দয়া করে কেউ ব্যাখ্যা করতে পারেন?
দানিজর

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

14

ডেরাইভেটিভ ভুল। এটা করা উচিত,

hjzk=hjδkjhjhk

আপনার গণনা আবার পরীক্ষা করুন। এছাড়াও, ক্রস-এন্ট্রপির জন্য অ্যামিবা প্রদত্ত অভিব্যক্তিটি সম্পূর্ণ সঠিক নয়। বিভিন্ন ক্লাস থেকে অঙ্কিত ডেটা নমুনার একটি সেটের জন্য , এটি পড়েছে,C

nk=1Ctknlnyk(xn)

যেখানে সুপারিনডেক্সটি নমুনা সেটের উপরে চলে যায়, হ'ল n-th নমুনার জন্য টার্গেটের কে- সংস্থার মান। এখানে ধারণা করা হয় যে আপনি একটি 1-এর-সি কোডিং স্কিম, যে, ব্যবহার করছেন । এরকম ক্ষেত্রে এর সাথে সম্পর্কিত শ্রেণীর প্রতিনিধিত্বকারী উপাদান ব্যতীত সমস্ত টি শূন্য।tkntkn

দ্রষ্টব্য, যে টি ধ্রুবক হয়। সুতরাং এই কার্যকরী হ্রাস করা হ্রাস করার সমতুল্য,

nk=1Ctknlnyk(xn)+nk=1Ctknlntkn=nk=1Ctknlnyk(xn)tkn

যার সুবিধা রয়েছে যে জ্যাকবিয়ান খুব সুবিধাজনক ফর্মটি গ্রহণ করে, যথা,

Ezj=hjtj

আমি আপনাকে প্যাটার্ন স্বীকৃতির জন্য বিশপের নিউরাল নেটওয়ার্কগুলির একটি অনুলিপি পেতে সুপারিশ করব । আইএমএইচও এখনও নিউরাল নেটওয়ার্কগুলির সেরা বই।


14

সফটম্যাক্সের প্রতিটি আউটপুট সমস্ত ইনপুটগুলির উপর নির্ভর করে, সুতরাং গ্রেডিয়েন্টটি আসলে একটি পুরো জ্যাকবীয় ম্যাট্রিক্স। আপনি সঠিকভাবে , তবে আপনার যদি । আমি অনুমান করি আপনি যদি প্রথম প্রকাশটি প্রকাশ করতে পারেন তবে আপনার সহজেই দ্বিতীয়টিও অর্জন করতে সক্ষম হওয়া উচিত।=-jhj=hjzj=hj(1hj)khj=hjhkjk

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

C=jtjloghj,
tjCzj

1
আমি আমার সমস্যাটি আরও ভাল করে বর্ণনা করার চেষ্টা করব, উদাহরণস্বরূপ এই টিউটোরিয়াল ufldl.stanford.edu/wiki/index.php/Backpropagation_Algorithm এর অনুসারে , আমাকে উপাদান অনুসারে ওজন এবং ব- দ্বীপটি ডেরিভেটিভ (ধাপ সংখ্যা 3) দিয়ে গুণ করতে হবে। সুতরাং আমার কাছে যদি পুরো জ্যাকোবিয়ান ম্যাট্রিক্স থাকে তবে মাত্রা মানানসই নয়। ধন্যবাদ।
রান

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

1
আমি লিনিয়ার এবং সিগময়েড স্তরগুলির জন্য এটি সফলভাবে বাস্তবায়ন করেছি কারণ ডেরাইভেটিভ একটি ভেক্টর তাই ডাইমেনশনগুলির সাথে আমার কোনও সমস্যা ছিল না।
রান

দুঃখিত, দৌড়ে হয়তো, আমি শুধু মূঢ় হচ্ছে করছি, কিন্তু যদি আপনি সম্পূর্ণরূপে পূর্ববর্তী স্তর সাথে সংযুক্ত একটি সিগমা স্তর থাকে, তখন আউটপুট (বা ইনপুট) প্রতিটি ইউনিটে প্রতিটি ইউনিট থেকে আগত সংযোগ থেকে সম্মান সঙ্গে ব্যুৎপন্ন থাকবে উপর পূর্ববর্তী স্তর, অর্থাত্ সমস্ত ডেরাইভেটিভস 2 ডি ম্যাট্রিক্স গঠন করে, n'est-ce pas? iji
অ্যামিবা বলেছেন মনিকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.