নিউরাল নেটওয়ার্ক আর্কিটেকচার কীভাবে সিদ্ধান্ত নেবেন?


20

আমি ভাবছিলাম যে কীভাবে আমাদের কোনও নিউরাল নেটওয়ার্ক আর্কিটেকচার তৈরি করার সময় গোপন স্তরগুলিতে কয়টি নোড এবং কয়টি লুকানো স্তর রাখতে হবে তা কীভাবে আমাদের সিদ্ধান্ত নিতে হবে।

আমি বুঝতে পারি যে ইনপুট এবং আউটপুট স্তরটি আমাদের রয়েছে এমন প্রশিক্ষণের উপর নির্ভর করে তবে আমরা কীভাবে গোপন স্তর এবং সামগ্রিক আর্কিটেকচারটি সাধারণভাবে স্থির করব?


সাধারণত আমরা আমাদের অনুপ্রবেশ ব্যবহার করে পরীক্ষা করি; এটি একটি হাইপারপ্যারামিটার বিবেচনা করুন । আর্কিটেকচার শেখার বিভিন্ন উপায় আছে তবে আমি জানি না তারা কতটা ব্যবহারিক: ব্লগ.একলিয়ার.আর
এমরে

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


এটি উত্তর দেওয়ার জন্য একটি খুব আকর্ষণীয় প্রশ্ন (গবেষক আপনার প্রশ্নের উপর কাজ শুরু করেছেন)। ডেটাসেট এ এবং ডেটাসেট বি এর সর্বোত্তম আর্কিটেকচার কী হবে দয়া করে নীচে কাগজটি পড়ুন যা আপনার প্রশ্নের উত্তর দেওয়ার চেষ্টা করেছিল। নিউরাল আর্কিটেকচার অনুসন্ধানের জগতকে স্বাগতম (এনএএস)। arxiv.org/abs/1611.01578
আইডিপভিশন

উত্তর:


17

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

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

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

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

  • ইনপুটটির মতো লুকানো স্তরগুলির অনুরূপ আকারের অর্ডার এবং সমস্ত একই আকারের সাথে একটি নেটওয়ার্ক তৈরি করুন যাতে আকারের পরিবর্তনের কোনও বিশেষ কারণ নেই (যদি না আপনি সম্ভবত একটি স্বয়ংক্রিয় কোডার তৈরি করেন তবে)।

  • কোনও সাধারণ নেটওয়ার্ক কী উন্নত করে তা দেখতে সহজ শুরু করুন এবং জটিলতা তৈরি করুন।

  • আপনি যদি ইনপুট ডেটা দ্বারা আউটপুটটি ভালভাবে ব্যাখ্যা করার প্রত্যাশা করেন তবে একটি জটিল সম্পর্কের সাথে (কেবল সহজাতভাবে শোরগোলের বিপরীতে) নেটওয়ার্কের বিভিন্ন গভীরতার চেষ্টা করুন।

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

আপনি যদি এগুলি বা এগুলির মতো কোনও পাঠ্য কোনও পাঠ্যে পড়ে থাকেন তবে তাদের চিমটে নুন দিয়ে নিন। তবে সবচেয়ে খারাপভাবে এগুলি আপনাকে ফাঁকা পৃষ্ঠার প্রভাবটি অতিক্রম করতে এবং একরকম নেটওয়ার্ক লিখতে সহায়তা করে এবং আপনাকে পরীক্ষা এবং পরিমার্জন প্রক্রিয়া শুরু করতে সহায়তা করে।


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


এটি একটি দুর্দান্ত ব্যাখ্যা। ধন্যবাদ। আমি আরও ভাবছি যে কোন এমএল ব্যবহারের পদ্ধতিটি স্থির করার জন্য যদি কোনও ভাল উপায় থাকে? আপনি উল্লেখ করেছেন যে নিউরাল নেটওয়ার্কের চেয়ে আরও ভাল উপায় হতে পারে তবে আমরা কীভাবে এটি সহজে নির্ধারণ করব?
ব্যবহারকারী7677413

@ ব্যবহারকারী7677413: একই জিনিস প্রযোজ্য। আপনাকে চেষ্টা করে দেখতে হবে, যদিও অভিজ্ঞতা আপনাকে পরিচিত সমস্যাগুলির জন্য একটি গাইড দিতে পারে।
নিল স্লেটার

1
নিউরাল নেটওয়ার্ক তখন কখন দরকার?
ব্যবহারকারী7677413

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

1
@ ব্যবহারকারী7677413 আমি মনে করি আপনি এই ধারণাটি তৈরি করছেন যে 40 বছরের গভীর এবং অন্তর্দৃষ্টিপূর্ণ মেশিন লার্নিং গবেষণা নেই। মনে হচ্ছে আপনি কেবল পৃষ্ঠটি স্ক্র্যাচ করছেন। আমি একটি পাঠ্যপুস্তক সন্ধান করার এবং এটি কীভাবে সমস্তরকমের সাথে সম্পর্কযুক্ত তা দেখার পরামর্শ দিচ্ছি, যা অনেকগুলি মেশিন লার্নিং অ্যালগরিদমগুলির জন্য আপনার স্বীকৃতি তৈরি করতে সহায়তা করবে।
অ্যালেক্স এল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.