মেশিন লার্নিং-এ, একটি পারসেপট্রন হল বাইনারি ক্লাসিফায়ারগুলির জন্য একটি তত্ত্বাবধান করা লার্নিং অ্যালগরিদম। এটিকে প্রায়শই একটি পারসেপ্টরনও বলা হয়। একটি বাইনারি ক্লাসিফায়ার হল এমন একটি ফাংশন যা সিদ্ধান্ত নিতে পারে যে একটি ইনপুট, সংখ্যার ভেক্টর দ্বারা প্রতিনিধিত্ব করা হয়, কোন নির্দিষ্ট শ্রেণীর অন্তর্গত কিনা। এটি এক ধরনের রৈখিক শ্রেণিবিন্যাসকারী, অর্থাৎ, একটি শ্রেণিবিন্যাস অ্যালগরিদম যা একটি রৈখিক ভবিষ্যদ্বাণীকারী ফাংশনের উপর ভিত্তি করে ভবিষ্যদ্বাণী করে যা একটি বৈশিষ্ট্য ভেক্টরের সাথে ওজনের একটি সেটকে একত্রিত করে।
সাম্প্রতিক বছরগুলিতে, গভীর শিক্ষার অগ্রগতির কারণে কৃত্রিম নিউরাল নেটওয়ার্কগুলি মনোযোগ আকর্ষণ করেছে৷ কিন্তু একটি কৃত্রিম নিউরাল নেটওয়ার্ক কি এবং এটি কি নিয়ে গঠিত?
Perceptron এর সাথে দেখা করুন
এই নিবন্ধে, আমরা সাধারণভাবে কৃত্রিম নিউরাল নেটওয়ার্কগুলির দিকে দ্রুত নজর দেব, তারপর একটি একক নিউরনের দিকে তাকাব এবং অবশেষে (এটি কোডিং অংশ) আমরা একটি কৃত্রিম নিউরালের সবচেয়ে মৌলিক সংস্করণটি নেব। নিউরন, পারসেপ্টরন, এবং এর পয়েন্টগুলিকে শ্রেণীবদ্ধ করুনপ্লেন।
আপনি কি কখনও ভেবে দেখেছেন কেন এমন কিছু কাজ আছে যা যেকোনো ব্যক্তির জন্য এত সহজ, কিন্তু কম্পিউটারের জন্য অবিশ্বাস্যভাবে কঠিন? কৃত্রিম নিউরাল নেটওয়ার্ক (সংক্ষেপে ANN) মানুষের কেন্দ্রীয় স্নায়ুতন্ত্র দ্বারা অনুপ্রাণিত হয়েছিল। তাদের জৈবিক সমকক্ষের মতো, ANNগুলি সাধারণ সিগন্যাল প্রক্রিয়াকরণ উপাদানগুলির উপর নির্মিত যা একটি বড় গ্রিডে একত্রিত হয়৷
নিউরাল নেটওয়ার্ক শিখতে হবে
প্রথাগত অ্যালগরিদমের বিপরীতে, নিউরাল নেটওয়ার্কগুলিকে উদ্দেশ্য অনুযায়ী কাজ করার জন্য "প্রোগ্রাম করা" বা "টিউনড" করা যায় না। মানুষের মস্তিষ্কের মতো, তাদের অবশ্যই কাজটি সম্পূর্ণ করতে শিখতে হবে। মোটামুটিভাবে বলতে গেলে, তিনটি শেখার কৌশল রয়েছে৷
পরিচিত ফলাফল সহ একটি টেস্ট কেস (যথেষ্ট বড়) থাকলে সবচেয়ে সহজ উপায় ব্যবহার করা যেতে পারে। তারপর প্রশিক্ষণ এই মত হয়: ডেটার এক সেট প্রক্রিয়া করুন। পরিচিত ফলাফলের সাথে ফলাফলের তুলনা করুন। নেটওয়ার্ক সেট আপ করুন এবং আবার চেষ্টা করুন। এই শেখার কৌশলটি আমরা এখানে ব্যবহার করব৷
অনিয়ন্ত্রিত শিক্ষা
যদি কোনও পরীক্ষার ডেটা উপলব্ধ না থাকে এবং যদি পছন্দসই আচরণ থেকে কিছু খরচ ফাংশন অর্জন করা সম্ভব হয় তবে দরকারী৷ খরচ ফাংশন নিউরাল নেটওয়ার্ককে বলে যে এটি লক্ষ্য থেকে কত দূরে। নেটওয়ার্ক তারপরে তার পরামিতিগুলি ফ্লাইতে সামঞ্জস্য করতে পারে, বাস্তব ডেটার সাথে কাজ করে৷
রিইনফোর্সড লার্নিং
"গাজর এবং কাঠি" পদ্ধতি। ব্যবহার করা যেতে পারে যদি নিউরাল নেটওয়ার্ক একটি ক্রমাগত ক্রিয়া তৈরি করে। সময়ের সাথে সাথে, নেটওয়ার্ক সঠিক কাজগুলি পছন্দ করতে এবং ভুলগুলি এড়াতে শিখেছে৷
ঠিক আছে, এখন আমরা একটু জানিকৃত্রিম নিউরাল নেটওয়ার্কের প্রকৃতি, কিন্তু তারা ঠিক কি তৈরি? ঢাকনা খুলে ভিতরে তাকালে আমরা কী দেখতে পাব?
নিউরন হল নিউরাল নেটওয়ার্কের বিল্ডিং ব্লক। যেকোনো কৃত্রিম নিউরাল নেটওয়ার্কের প্রধান উপাদান হল একটি কৃত্রিম নিউরন। তাদের শুধু তাদের জৈবিক সমকক্ষের নামেই নামকরণ করা হয় না, কিন্তু আমাদের মস্তিষ্কের নিউরনের আচরণের ভিত্তিতেও তাদের মডেল করা হয়৷
জীববিদ্যা বনাম প্রযুক্তি
যেমন একটি জৈবিক নিউরনে সিগন্যাল গ্রহণের জন্য ডেনড্রাইট থাকে, সেগুলিকে প্রক্রিয়া করার জন্য একটি কোষের দেহ এবং অন্যান্য নিউরনে সংকেত পাঠানোর জন্য একটি অ্যাক্সন থাকে, একটি কৃত্রিম নিউরনে একাধিক ইনপুট চ্যানেল, একটি প্রক্রিয়াকরণ পর্যায় এবং একটি আউটপুট থাকে আরও অনেকের কাছে ছড়িয়ে পড়ে। কৃত্রিম নিউরন।
আমরা কি একটি সিঙ্গেল পারসেপট্রন দিয়ে উপকারী কিছু করতে পারি? এক শ্রেণীর সমস্যা রয়েছে যা একটি একক পারসেপ্টরন সমাধান করতে পারে। ইনপুট ভেক্টরকে পয়েন্ট স্থানাঙ্ক হিসাবে বিবেচনা করুন। n-উপাদান সহ একটি ভেক্টরের জন্য, এই বিন্দুটি n-মাত্রিক স্থানে বাস করবে। জীবনকে সহজ করার জন্য (এবং নীচের কোডটি), ধরা যাক এটি 2D। এক টুকরো কাগজের মতো।
পরবর্তী, কল্পনা করুন আমরা এই সমতলে কিছু এলোমেলো বিন্দু আঁকব এবং কাগজ জুড়ে একটি সরল রেখা আঁকতে তাদের দুটি সেটে বিভক্ত করব। এই লাইনটি পয়েন্টগুলিকে দুটি সেটে বিভক্ত করে, একটি উপরে এবং একটি লাইনের নীচে। দুটি সেটকে তখন রৈখিকভাবে বিভাজ্য বলা হয়।
একটি পারসেপ্টরন, এটি যতই সহজ মনে হোক না কেন, এই লাইনটি কোথায় তা জানতে সক্ষম এবং যখন এটি প্রশিক্ষণ শেষ করে, তখন এটি নির্ধারণ করতে পারে যে একটি প্রদত্ত বিন্দু এই লাইনের উপরে নাকি নীচে।
ইতিহাসউদ্ভাবন
এই পদ্ধতির জন্য অ্যালগরিদমটি 1957 সালে কর্নেল এভিয়েশন ল্যাবরেটরিতে ফ্রাঙ্ক রোজেনব্ল্যাট (প্রায়শই তাঁর নামে নামকরণ করা) দ্বারা উদ্ভাবিত হয়েছিল, যা মার্কিন নৌ গবেষণা অফিসের অর্থায়নে। পারসেপ্ট্রনটি একটি মেশিন হওয়ার উদ্দেশ্যে ছিল, একটি প্রোগ্রাম নয়, এবং যদিও এটির প্রথম প্রয়োগটি আইবিএম 704-এর সফ্টওয়্যারে ছিল, এটি পরবর্তীতে "মার্ক 1 পারসেপ্টরন" হিসাবে কাস্টম-নির্মিত হার্ডওয়্যারে প্রয়োগ করা হয়েছিল। এই মেশিনটি ইমেজ শনাক্তকরণের জন্য ডিজাইন করা হয়েছিল: এতে 400টি ফটোসেলের একটি অ্যারে ছিল যা এলোমেলোভাবে নিউরনের সাথে সংযুক্ত ছিল। ওজনগুলি পটেনটিওমিটারে এনকোড করা হয়েছিল এবং প্রশিক্ষণের সময় ওজন আপডেট করা হয়েছিল বৈদ্যুতিক মোটর দ্বারা।
1958 সালে মার্কিন নৌবাহিনী আয়োজিত একটি সংবাদ সম্মেলনে, রোজেনব্ল্যাট পারসেপ্ট্রন সম্পর্কে বিবৃতি দিয়েছিলেন যা তরুণ এআই সম্প্রদায়ের মধ্যে উত্তপ্ত বিতর্কের কারণ হয়েছিল; রোজেনব্ল্যাটের দাবির উপর ভিত্তি করে, নিউ ইয়র্ক টাইমস রিপোর্ট করেছে যে পারসেপ্টরন হল "ভ্রূণীয় ইলেকট্রনিক কম্পিউটার যা নৌবাহিনী আশা করে যে হাঁটতে, কথা বলতে, দেখতে, লিখতে, নিজেকে পুনরুত্পাদন করতে এবং এর অস্তিত্ব সম্পর্কে সচেতন হতে পারবে।"
আরো উন্নয়ন
যদিও প্রাথমিকভাবে পারসেপ্ট্রনকে আশাব্যঞ্জক মনে হয়েছিল, এটি দ্রুত প্রমাণিত হয়েছিল যে পারসেপ্টরনকে অনেক শ্রেণীর নিদর্শন চিনতে প্রশিক্ষিত করা যায় না। এটি দুই বা ততোধিক স্তর সহ একটি ফিড-ফরোয়ার্ড নিউরাল নেটওয়ার্ক (যাকে বলা হয়মাল্টিলেয়ার পারসেপ্ট্রন) এর একক স্তর পারসেপ্টরনের চেয়ে অনেক বেশি প্রক্রিয়াকরণ ক্ষমতা ছিল (এটিকে একক স্তর পারসেপ্টরনও বলা হয়)। একটি একক-স্তর পারসেপ্ট্রন শুধুমাত্র রৈখিকভাবে বিভাজ্য কাঠামো অধ্যয়ন করতে সক্ষম। 1969 সালে, মারভিন মিনস্কি এবং সেমুর পেপার্টের বিখ্যাত বই "Perceptrons" দেখায় যে এই শ্রেণীর নেটওয়ার্কগুলি XOR ফাংশন শিখতে পারে না। যাইহোক, এটি নন-লিনিয়ার ক্লাসিফিকেশন ফাংশনের ক্ষেত্রে প্রযোজ্য নয় যা একক-স্তর পারসেপ্ট্রনে ব্যবহার করা যেতে পারে।
এই ধরনের ফাংশনগুলির ব্যবহার XOR ফাংশন বাস্তবায়ন সহ পারসেপ্ট্রনের ক্ষমতাকে প্রসারিত করে। এটা প্রায়ই অনুমান করা হয় (ভুলভাবে) যে তারা এটাও ধরে নিয়েছিল যে একটি মাল্টিলেয়ার পারসেপ্ট্রন নেটওয়ার্কের জন্য অনুরূপ ফলাফল থাকবে। যাইহোক, এটি এমন নয়, যেহেতু মিনস্কি এবং পেপারট উভয়েই ইতিমধ্যেই জানত যে মাল্টিলেয়ার পারসেপ্টরনগুলি একটি XOR ফাংশন তৈরি করতে সক্ষম। তিন বছর পরে, স্টিভেন গ্রসবার্গ একটি সিরিজের কাগজপত্র প্রকাশ করে যে নেটওয়ার্কগুলি ডিফারেনশিয়াল ফাংশন, কনট্রাস্ট এনহান্সমেন্ট ফাংশন এবং XOR ফাংশন মডেল করতে সক্ষম।
রচনাগুলি 1972 এবং 1973 সালে প্রকাশিত হয়েছিল। যাইহোক, প্রায়ই উপেক্ষিত Minsky/Papert টেক্সট নিউরাল নেটওয়ার্ক পারসেপ্ট্রনের সাথে আগ্রহ এবং গবেষণা তহবিলের একটি উল্লেখযোগ্য হ্রাস ঘটায়। 1980-এর দশকে নিউরাল নেটওয়ার্ক গবেষণা পুনরুজ্জীবিত হওয়ার আগে আরও দশ বছর কেটে গেছে।
বৈশিষ্ট্য
পার্সেপ্ট্রন কার্নেল অ্যালগরিদম 1964 সালে ইজারম্যান এট আল দ্বারা প্রবর্তিত হয়েছিল।মরি এবং রোস্তামিজাদেহ (2013), যারা পূর্ববর্তী ফলাফল প্রসারিত করে এবং নতুন সীমা L1 প্রদান করে।
Perceptron হল জৈবিক নিউরনের একটি সরলীকৃত মডেল। যদিও জৈবিক নিউরাল মডেলগুলির জটিলতা প্রায়ই স্নায়ু আচরণকে সম্পূর্ণরূপে বোঝার জন্য প্রয়োজন হয়, গবেষণা দেখায় যে একটি পারসেপ্ট্রনের মতো রৈখিক মডেল বাস্তব নিউরনে দেখা কিছু আচরণকে প্ররোচিত করতে পারে৷
Perceptron হল একটি রৈখিক শ্রেণিবিন্যাসকারী, তাই এটি কখনই এমন অবস্থায় যাবে না যেখানে সমস্ত ইনপুট ভেক্টর সঠিকভাবে শ্রেণীবদ্ধ করা হয় যদি প্রশিক্ষণ সেট D রৈখিকভাবে বিভাজ্য না হয়, যেমন যদি ইতিবাচক উদাহরণ একটি হাইপারপ্লেন দ্বারা নেতিবাচক উদাহরণ থেকে পৃথক করা যায় না। এই ক্ষেত্রে, স্ট্যান্ডার্ড লার্নিং অ্যালগরিদমের মাধ্যমে ধাপে ধাপে কোনো "আনুমানিক" সমাধান হবে না, পরিবর্তে শেখা সম্পূর্ণভাবে ব্যর্থ হবে। অতএব, যদি প্রশিক্ষণ সেটের রৈখিক বিভাজ্যতা একটি অগ্রাধিকার জানা না থাকে, তাহলে নীচের প্রশিক্ষণ বিকল্পগুলির মধ্যে একটি ব্যবহার করা উচিত৷
পকেট অ্যালগরিদম
র্যাচেট পকেট অ্যালগরিদম এখন পর্যন্ত পাওয়া সেরা সমাধান "পকেটে" রেখে পারসেপ্ট্রন শেখার দৃঢ়তা সমস্যা সমাধান করে। পকেট অ্যালগরিদম শেষ সমাধানের পরিবর্তে পকেটে সমাধান ফেরত দেয়। এটি অ-বিভাজ্য ডেটাসেটের জন্যও ব্যবহার করা যেতে পারে যেখানে লক্ষ্য হল কয়েকটি ভুল শ্রেণিবদ্ধকরণ সহ একটি পারসেপ্ট্রন খুঁজে পাওয়া। যাইহোক, এই সমাধানগুলি স্টোকাস্টিক দেখায় এবং তাই পকেট অ্যালগরিদম তাদের মাপসই করে না।ধীরে ধীরে প্রশিক্ষণ চলাকালীন, এবং একটি নির্দিষ্ট সংখ্যক প্রশিক্ষণের ধাপে তাদের সনাক্ত করার নিশ্চয়তা নেই।
ম্যাক্সওভার অ্যালগরিদম
ম্যাক্সওভারের অ্যালগরিদম এই অর্থে "শক্তিশালী" যে এটি ডেটা সেটের রৈখিক বিভাজ্যতার জ্ঞান নির্বিশেষে একত্রিত হবে। একটি রৈখিক বিভাজনের ক্ষেত্রে, এটি শেখার সমস্যা সমাধান করবে, ঐচ্ছিকভাবে এমনকি সর্বোত্তম স্থিতিশীলতার সাথে (শ্রেণীর মধ্যে সর্বাধিক মার্জিন)। অ-বিভাজ্য ডেটাসেটের জন্য, অল্প সংখ্যক ভুল শ্রেণিবদ্ধকরণ সহ একটি সমাধান ফেরত দেওয়া হবে। সমস্ত ক্ষেত্রে, অ্যালগরিদমটি আগের অবস্থাগুলি মনে না রেখে এবং এলোমেলো লাফ ছাড়াই, শেখার প্রক্রিয়া চলাকালীন ধীরে ধীরে সমাধানের দিকে এগিয়ে যায়। কনভারজেন্স শেয়ার করা ডেটা সেটের জন্য বিশ্বব্যাপী সর্বোত্তমতা এবং অ-বিভাজ্য ডেটা সেটগুলির জন্য স্থানীয় অনুকূলতার মধ্যে রয়েছে৷
ভোটেড পারসেপ্টরন
ভোটেড পারসেপ্ট্রন অ্যালগরিদম হল একাধিক ওজনযুক্ত পারসেপ্টরন ব্যবহার করে একটি বৈকল্পিক। প্রতিবার একটি উদাহরণ ভুল শ্রেণীবদ্ধ করা হলে অ্যালগরিদম একটি নতুন পারসেপ্ট্রন শুরু করে, শেষ পারসেপ্ট্রনের চূড়ান্ত ওজনের সাথে ওজন ভেক্টর শুরু করে। প্রতিটি পারসেপট্রনকে একটি আলাদা ওজন দেওয়া হবে যা একটিকে ভুল শ্রেণিবদ্ধ করার আগে তারা কতগুলি উদাহরণ সঠিকভাবে শ্রেণীবদ্ধ করেছে তার সাথে সঙ্গতিপূর্ণ, এবং শেষে আউটপুট সমগ্র পারসেপ্টরন জুড়ে একটি ওজনযুক্ত ভোট হবে।
আবেদন
বিভাজ্য সমস্যায়, পারসেপট্রন প্রশিক্ষণের লক্ষ্য ক্লাসের মধ্যে সবচেয়ে বড় বিচ্ছেদ সীমানা খুঁজে বের করাও হতে পারে। তথাকথিতমিন-ওভার বা অ্যাডাট্রন অ্যালগরিদমের মতো পুনরাবৃত্তিমূলক প্রশিক্ষণ এবং অপ্টিমাইজেশন স্কিম ব্যবহার করে একটি সর্বোত্তম স্থিতিশীলতা পারসেপ্ট্রন নির্ধারণ করা যেতে পারে। অ্যাডাট্রন এই সত্যকে কাজে লাগায় যে সংশ্লিষ্ট দ্বিঘাত অপ্টিমাইজেশন সমস্যাটি উত্তল। কার্নেল ট্রিক সহ সর্বোত্তম স্থায়িত্ব পারসেপ্ট্রন হল সমর্থন ভেক্টর মেশিনের ধারণাগত ভিত্তি।
বিকল্প
একাধিক স্তর ব্যবহার না করে অ-রৈখিক সমস্যাগুলি সমাধান করার আরেকটি উপায় হল উচ্চতর অর্ডার নেটওয়ার্ক (সিগমা-পি ব্লক) ব্যবহার করা। এই ধরনের নেটওয়ার্কে, ইনপুট ভেক্টরের প্রতিটি উপাদান গুণিত ইনপুটগুলির (দ্বিতীয় ক্রম) প্রতিটি জোড়ার সমন্বয়ে প্রসারিত হয়। এটি একটি এন-অর্ডার নেটওয়ার্কে প্রসারিত করা যেতে পারে। পারসেপ্ট্রন একটি খুব নমনীয় জিনিস৷
তবে, মনে রাখবেন যে সর্বোত্তম শ্রেণীবদ্ধকারী অগত্যা এমন নয় যে সমস্ত প্রশিক্ষণের ডেটা সঠিকভাবে শ্রেণীবদ্ধ করে। প্রকৃতপক্ষে, যদি আমাদের পূর্বে সীমাবদ্ধতা থাকে যে ডেটা সমান-ভেরিয়েন্ট গাউসিয়ান ডিস্ট্রিবিউশন থেকে আসে, তাহলে ইনপুট স্পেসে একটি রৈখিক বিভাজন সর্বোত্তম, এবং একটি নন-লিনিয়ার সমাধান ওভাররাইড করা হয়৷
অন্যান্য রৈখিক শ্রেণিবিন্যাস অ্যালগরিদমগুলির মধ্যে রয়েছে Winnow, সমর্থন ভেক্টর এবং লজিস্টিক রিগ্রেশন। পারসেপ্ট্রন হল অ্যালগরিদমের একটি সর্বজনীন সেট৷
তত্ত্বাবধানে শেখার প্রধান সুযোগ
তত্ত্বাবধানে লার্নিং হল একটি মেশিন লার্নিং কাজ যা একটি ফাংশন শেখে যা ইনপুটকে আউটপুটে ম্যাপ করেI/O জোড়ার উদাহরণের উপর ভিত্তি করে। তারা উদাহরণের একটি সেট সমন্বিত লেবেলযুক্ত প্রশিক্ষণ ডেটা থেকে একটি বৈশিষ্ট্য অনুমান করে। তত্ত্বাবধানে শেখার ক্ষেত্রে, প্রতিটি উদাহরণ হল একটি ইনপুট বস্তু (সাধারণত একটি ভেক্টর) এবং একটি পছন্দসই আউটপুট মান (এটিকে একটি নিয়ন্ত্রণ সংকেতও বলা হয়) নিয়ে গঠিত একটি জোড়া।
তত্ত্বাবধানে শেখার অ্যালগরিদম প্রশিক্ষণের ডেটা বিশ্লেষণ করে এবং একটি আনুমানিক ফাংশন তৈরি করে যা নতুন উদাহরণ প্রদর্শন করতে ব্যবহার করা যেতে পারে। সর্বোত্তম দৃশ্যকল্পটি অ্যালগরিদমকে অদৃশ্য দৃষ্টান্তের জন্য ক্লাস লেবেলগুলি সঠিকভাবে নির্ধারণ করার অনুমতি দেবে। এটি একটি "যুক্তিসঙ্গত" উপায়ে অদেখা পরিস্থিতিতে শেখার ডেটা সাধারণীকরণের জন্য শেখার অ্যালগরিদমের প্রয়োজন৷
মানুষ এবং প্রাণী মনোবিজ্ঞানের সমান্তরাল কাজটিকে প্রায়ই ধারণাগত শিক্ষা বলা হয়।