একটি নিউরাল নেটওয়ার্ক "হ্যাঁ" বা "না" উত্তরগুলির চেয়ে বেশি সরবরাহ করতে পারে?


11

চিত্রটি সনাক্তকরণের জন্য প্রতিটি উদাহরণ স্নায়বিক নেটওয়ার্ক একটি সাধারণ "হ্যাঁ" বা "না" উত্তর উত্পন্ন করে। একটি বহির্গমন নোড "হ্যাঁ, এটি একটি মানুষের চেহারা" এর সাথে মিলে যায় এবং একটি "না, এটি কোনও মানুষের মুখ নয়।"

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

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

এটি কি এ জাতীয় সনাক্তকারীকে অসম্ভব করে তোলে? নাকি আমি অ্যালগরিদমকে ভুল বুঝছি? আমি কেবল দুটি বিষয়ই ভাবতে পারি তা হ'ল:

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

  • এমন এক ধরণের হাস্যকর জটিল প্রশিক্ষণ পদ্ধতি তৈরি করুন যার জন্য অবিশ্বাস্যভাবে উন্নত গণিতের প্রয়োজন হবে এবং কোনওভাবে সম্ভাব্য আউটপুটগুলির জন্য একটি আদর্শ নিউরন-ওজন-রাজ্য তৈরি করা হবে (অন্য কথায়, insert math magic here)।

(পার্শ্ব নোট 1: আমি বিশেষত এক ধরণের নিউরাল নেটওয়ার্ক হিসাবে মাল্টিলেয়ার পারসেপ্টরনগুলিতে লক্ষ্য করছি))

(পার্শ্ব নোট 2: প্রথম বুলেটযুক্ত "সম্ভাব্য সমাধান" এর জন্য, প্রতিটি নির্দিষ্ট স্নায়বিক নেটওয়ার্ক থাকা এবং আমরা "হ্যাঁ" প্রতিক্রিয়া না পাওয়া পর্যন্ত সেগুলি দিয়ে পুনরাবৃত্তি করা ভাল I আমি জানি এটি মোটামুটি সহজেই সম্পন্ন করা যেতে পারে, তবে এটি সহজ কার্যকর) মেশিন লার্নিং বদলে প্রোগ্রামিং। আমি যদি এটা আছে সম্ভব জানতে চাই এক তথ্য ভোজন এবং উপযুক্ত প্রতিক্রিয়া পেতে স্নায়ুর নেটওয়ার্ক।)

উত্তর:


15

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

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

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

সম্পাদনা করুন:

(সম্পূর্ণ প্রকাশের স্বার্থে: আমি এখনও একটি প্রকল্পের জন্য নিজেকে এটি নিয়ে গবেষণা করছি, তাই আমার জ্ঞান এখনও অসম্পূর্ণ এবং সম্ভবত জায়গাগুলিতে কিছুটা দূরে রয়েছে))

এই আউটপুট নোডের জন্য পূর্ব-প্রশিক্ষিত নোডের ওজন নষ্ট করে ব্যাকপ্রোগোগেশন সেটিং ওজনগুলির সাথে কীভাবে যুক্ত?

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

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


আপনার দুর্দান্ত উত্তরের জন্য ধন্যবাদ! সুতরাং কিভাবে এই ব্যাকপ্রপোগেশন সেটিংয়ের সাথে একটি আউটপুট নোডের জন্য অন্যজন, পূর্ব-প্রশিক্ষিত নোডের ওজন নষ্ট করে দেয়? নাকি আমি এই সম্পর্কে ভুলভাবে ভাবছি?
asteri

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

3

@ অ্যানাক্সিম্যান্ডারের উত্তরটি বেশ ভাল, আমি ভেবেছিলাম আপনার প্রশ্নের এই অংশে আমি মন্তব্য করব:

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

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

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

সম্পাদনা: শিরোনাম প্রশ্নের উত্তর দেওয়ার জন্য অবশ্যই এনএনগুলি হ্যাঁ / না উত্তরগুলির চেয়ে বেশি সরবরাহ করতে পারে। "স্ট্যান্ডার্ড" মডেলগুলিতে প্রতিটি আউটপুট নিউরন হ্যাঁ / না সাধারণত গুলি চালায় (যদিও এই আচরণটি পরিবর্তিত হতে পারে, যদি আপনি এত ঝোঁক হন), এক বিট তথ্যের প্রতিনিধিত্ব করে; তবে ঠিক যেমনটি আপনার কম্পিউটারের সাথে বিটগুলি একত্রিত হতে পারে বিভিন্ন বিস্তৃত মান সরবরাহ করতে পারে, যা আপনার ইচ্ছামত কোনওভাবে ব্যাখ্যা করা যায়। নন-বাইনারি আউটপুটগুলির মোটামুটি ভিজ্যুয়াল উদাহরণটি একটি স্ব-সংগঠিত মানচিত্র হবে , যার সাধারণত 2D আউটপুট থাকে।


আপনার উত্তরের জন্য ধন্যবাদ. আমি জানতাম আমার যতটা আউটপুট নোড আমার ইচ্ছে মতো থাকতে পারে তবে আমি চিন্তিত ছিলাম যে ত্রুটি অ্যালগরিদমের ব্যাকপ্রোপেশনের প্রকৃতির কারণে (সমস্ত ওজনকে একটি পছন্দসই ফলাফলের দিকে সামঞ্জস্য করে) যে একটি শ্রেণিবিন্যাস শিখলে অন্যটি অর্জন করা যায় না।
asteri

1

সংক্ষিপ্ত এবং খুব কড়া নয় উত্তর: হ্যাঁ প্রতিটি এনএন কেবল yes, বা এর চেয়ে আরও বেশি তথ্য সরবরাহ করতে পারে no। এটি থ্রেশোল্ডের কারণে is ওজন যদি কিছু প্রান্তিকের চেয়ে বেশি হয় তবে উত্তরটি একটি শ্রেণিবিন্যাসের শ্রেণি, যদি এটি কম হয় তবে উত্তরটি দ্বিতীয় শ্রেণিবদ্ধকরণ শ্রেণি। মূলত:

    0..threshold 
    threshold..1

নিউরনের আউটপুটটি বিরতিতে রয়েছে [২.০.১] (বা [-১,১] এটি নির্ভর করে), এবং আপনি আউটপুট প্রান্তিকের চেয়ে কম বা উচ্চতর কিনা তার উত্তর পেতে চান না (আউটপুট আপনি সহজেই ০.১ ব্যবধানে রূপান্তর করতে পারে এবং এর অর্থ%%)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.