কোনও মাইক্রোকন্ট্রোলারে নিউরাল নেটওয়ার্ক চালানো কি সম্ভব?


23

আপনি কি মেশিন লার্নিংয়ে ব্যবহার করার জন্য আরডুইনো ইউনিোর মতো একটি মাইক্রোপ্রসেসরে একটি সাধারণ নিউরাল নেটওয়ার্ক কার্যকর করতে পারেন?


2
কৌতূহলের বাইরে কেন আপনি চাইবেন?
জোশ ভান্ডার হুক

1
আমি এই অঞ্চলে বিশেষজ্ঞ নই, তবে শেষ পর্যন্ত শুনেছি, এনএন প্রশিক্ষণ সিমুলেশন করা হয়েছিল এবং এনএন একটি চ্যাসিসে প্রয়োগ করা হয়েছিল, এবং সম্ভবত আরডুইনোর চেয়ে উচ্চ স্তরের নিয়ামকযুক্ত একজন।
জোশ ভ্যান্ডার হুক

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

1
এটি সম্ভবত আমি 16 বছরের উল্লেখযোগ্য এবং এটি আমার উচ্চ বিদ্যালয়ের ইলেকট্রনিক্স প্রধান কাজ।
জর্দান

1
সেক্ষেত্রে, আমি অনুমান করি যে আপনি এটিকে বাস্তবায়নের প্রয়াসে ডিউটির ডাকের উপরে ওপারে চলে যাচ্ছেন?
জো বেকার

উত্তর:


10

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


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

23

এটি অবশ্যই একটি আরডিনোতে প্রয়োগ করা সম্ভব। এখানে নিউরাল নেটওয়ার্কগুলি প্রয়োগ করে এমন 3 টি আরডুইনো গ্রন্থাগার রয়েছে:

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


5

হ্যাঁ। আপনি যদি এটি কেবল ফিড-ফরোয়ার্ড মোডে চালনা করেন এবং আপনার প্রশিক্ষণটি অফ-লাইন অন্য কোথাও করেন:

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

জিনিসগুলিকে গতিময় করার জন্য কয়েকটি ধারণার মধ্যে রয়েছে:

  • স্থির বনাম ভাসমান পয়েন্ট ব্যবহার করুন (এমসির ডাব্লু / ও এফপিইউ এর জন্য)
  • একটি এমসিইউ ব্যবহার করুন যার একটি এফপিইউ রয়েছে
  • TANH
  • প্রশিক্ষণের পর্বটি একটি পিসিতে অফলাইনে ঘটতে দিন

এই নেটওয়ার্কটি সম্পর্কে আমি একটি দ্রুত রচনা আপ করেছি।


3

হ্যাঁ, মাইক্রোকন্ট্রোলারগুলিতে নিউরাল নেটওয়ার্ক এম্বেড করা সম্ভব। বৈজ্ঞানিক সাহিত্যে এর অনেক উদাহরণ রয়েছে তবে আপনি যথেষ্ট স্মার্ট হয়ে থাকলে খুব সাধারণ এমসিইউ দিয়ে কী করা যায় তার একটি চমকপ্রদ উদাহরণ আমি তুলে ধরতে পারি। ইন বিবর্তনমূলক Bits'n'Spikes , লেখক একটি বাস্তব সময় নিউরাল নেটওয়ার্ক এবং জেনেটিক এলগরিদম এটা প্রশিক্ষণের যাতে একটি ডিফারেনশিয়াল চাকা রোবট নিয়ন্ত্রণ করার জন্য spiking বাস্তবায়ন বর্ণনা করে। পুরো কোডটি একটি ছোট্ট PIC16F628 4MHz MCU- এ 1 ঘন ইঞ্চি ইলিশ রোবোটে এমবেড করা রয়েছে।

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