• নিউরাল নেটওয়ার্ক পরিচিতি

    নিউরাল নেটওয়ার্ক পরিচিতি


    উদাহরণ এবং সহজ চিত্রাবলী একটি সম্পদ সঙ্গে স্নায়ুতন্ত্রের একটি বিস্তারিত ওভারভিউ।

    "আপনার মস্তিষ্ক চিন্তা তৈরি করে না। আপনার চিন্তা স্নায়বিক নেটওয়ার্ক আকৃতি। "



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

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


    এখানে অনেকগুলি বৈশিষ্ট্য রয়েছে - এখনকার জন্য, আমরা শুধুমাত্র ম্যাকএইচএইচ পরিবর্তনশীল ব্যবহার করব।

    এই ভবিষ্যদ্বাণী করতে, আমরা লজিস্টিক প্রতিক্রিয়া হিসাবে পরিচিত একটি পদ্ধতি ব্যবহার করবে। লজিস্টিক প্রতিক্রিয়া একটি হৃদস্পন্দন, P (y = 1), একটি ইনপুট মান X প্রদান করে এমন একটি সম্ভাব্যতা অনুমান করার সমস্যার সমাধান করে। লজিস্টিক রিগ্রেশন মডেলটি P (Y = 1) মডেলের জন্য লজিস্টিক ফাংশন নামে একটি ফাংশন ব্যবহার করে:

    ফলস্বরূপ, মডেল পি (y = 1) কে একটি S- আকৃতির বক্ররেখা দিয়ে পূর্বাভাস দেবে, যা লজিস্টিক ফাংশনের সাধারণ আকার। β₀ বক্ররেখাটি সঠিকভাবে বা বামে c = - β₀ / β₁ দ্বারা সরানো হয়, β₁ S-shaped বক্ররেখাটির স্থিরতা নিয়ন্ত্রণ করে। উল্লেখ্য, β₁ ইতিবাচক হলে, ভবিষ্যদ্বাণী করা P (y = 1) X এর বড় মানগুলির জন্য X- এর ছোট মানের জন্য শূন্য থেকে যায় এবং যদি β₁ নেতিবাচক হয় তবে তার বিপরীত সংস্থান রয়েছে।
    This is summarized graphically below


    এখন আমরা বুঝতে পারি যে আমাদের লজিস্টিক রিগ্রেশন বক্ররেখা কিভাবে কাজে লাগানো যায়, আমরা যে ধরণের বক্ররেখা চান তা পেতে আমরা কিছু ভেরিয়েবলের সাথে খেলতে পারি। আমরা আমাদের অফসেট সরানোর জন্য β₀ মান পরিবর্তন করতে পারেন।

    We can change the β₁ value in order to distort our gradient.

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

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

    আমরা প্রথম জিনিস এলোমেলোভাবে নির্বাচিত ওজন সেট করা হয়। সম্ভবত এটি ভয়ঙ্করভাবে সঞ্চালন করবে - আমাদের হৃদয়ের তথ্যতে, মডেলটি আমাদেরকে ভুল উত্তর দেবে। 
    আমরা তারপর খারাপভাবে সঞ্চালনের জন্য এটি মূলত শাস্তি দ্বারা নেটওয়ার্ক 'ট্রেন'।

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


    Function f(w) ফাংশনের সর্বোত্তম বিন্দুটি সন্ধান করতে, আমরা ওজনের সাথে আলাদা আলাদা করতে পারি এবং তারপরে শূন্যের সমান সেট করতে পারি।


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

    পদক্ষেপ ধাপে আনুপাতিক হয় তাহলে আপনি সর্বনিম্ন overshooting এড়াতে।

    আমরা কিভাবে এই আপডেট সঞ্চালন করবেন? এটি গ্রেডিয়েন্ট বংশের নামে পরিচিত একটি পদ্ধতি ব্যবহার করে সম্পন্ন করা হয়, যা আগে উল্লেখ করা হয়েছিল।

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

    আমরা জানি যে আমরা ডেরিভেটিভেরderivative বিপরীত দিকে যেতে চাই (যেহেতু আমরা ত্রুটি থেকে 'দূরে যেতে' চেষ্টা করছি) এবং আমরা জানি যে আমরা ডেরিভেটিভের একটি অনুপাত আনুপাতিক করতে চাই। এই ধাপটি শেখার হার হিসাবে পরিচিত একটি পরামিতি λ দ্বারা নিয়ন্ত্রিত হয়। আমাদের নতুন ওজন পুরোনো ওজন এবং নতুন ধাপের যোগফল, যার ফলে ধাপটি ফাংশন থেকে উদ্ভূত হয়েছিল এবং আমাদের প্রাসঙ্গিক পরামিতি কীভাবে শিক্ষার হারকে প্রভাব ফেলতে পারে (এভাবে ডেরিভেটিভhence the derivative)

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


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


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



    উদাহরণ স্নায়ু নেটওয়ার্ক ক্ষতি পৃষ্ঠ। সূত্র



    নেটওয়ার্ক স্থানীয় minima আটকে হচ্ছে।

    নেটওয়ার্ক গ্লোবাল মিনিমা পৌঁছানোর।

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


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


    তারপরে আমরা তথ্যগুলির একটি ব্যাচ নির্বাচন করি, সম্ভবত সম্পূর্ণ ডেটাসেটের 10%, এবং একটি নতুন ক্ষতির পৃষ্ঠ তৈরি করে।



    আমরা তারপর এই ব্যাচ উপর গ্রেডিয়েন্ট বংশবৃদ্ধি সঞ্চালন এবং আমাদের আপডেট সঞ্চালন।

    আমরা এখন একটি নতুন অবস্থানে। আমরা সম্পূর্ণ তথ্য সেট একটি নতুন এলোমেলো উপসেট নির্বাচন করুন এবং আবার আমাদের ক্ষতি পৃষ্ঠ গঠন।




    আমরা তারপর এই ব্যাচ উপর গ্রেডিয়েন্ট বংশবৃদ্ধি সঞ্চালন এবং আমাদের আপডেট সঞ্চালন।




    এবং আমাদের আপডেট সঞ্চালন।



    এই পদ্ধতি একাধিক পুনরাবৃত্তি জন্য চলতে থাকে।


    নেটওয়ার্ক সর্বনিম্ন সর্বনিম্ন একত্রিত করা শুরু না হওয়া পর্যন্ত।
    আমাদের কাছে এখন আমাদের টুল কিটে আমাদের প্রথম নিউরাল নেটওয়ার্ক নির্মাণের জন্য যথেষ্ট জ্ঞান আছে।


    Artificial Neural Network (ANN)
    এখন আমরা বুঝতে পারি যে কিভাবে লজিস্টিক রিগ্রেশন কাজ করে, কিভাবে আমরা আমাদের নেটওয়ার্কের কার্যকারিতা মূল্যায়ন করতে পারি এবং কিভাবে আমাদের কর্মক্ষমতা উন্নত করতে আমরা নেটওয়ার্ক আপডেট করতে পারি, আমরা একটি নিউরাল নেটওয়ার্ক তৈরি করতে পারি।
    প্রথমত, আমি আমাদের নিউরোল নেটওয়ার্কগুলি নিউরাল নেটওয়ার্ক বলে পরিচিত কেন তা জানতে চাই। সম্ভবত আপনি শুনেছেন যে এটি মস্তিষ্কে উপস্থিত কোষের নিউরনের গঠনকে অনুকরণ করে। নিউরনের কাঠামোটি একটি স্নায়ুতন্ত্রের চেয়ে অনেক বেশি জটিল বলে মনে হয় তবে কার্যকারিতা একই।

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


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

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

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


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


    আমরা এই ওজন সম্পর্কে ক্ষতি ফাংশন এর ডেরিভেটিভ গণনা করতে সক্ষম হতে হবে। অনুপস্থিত ওজন, w₁, w₂, এবং w₃ শিখতে, আমাদের ব্যাকপ্রোপাগেশন হিসাবে পরিচিত কিছু ব্যবহার করতে হবে।

    Backpropagation

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

    Backpropagation

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

    Backpropagation

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


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


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

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

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

    সারাংশ

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

    সারাংশ

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


    স্নায়ু নেটওয়ার্ক ধাপে ধাপে ধাপে। সূত্র

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


    References

    J. Nocedal y S. Wright, “Numerical optimization”, Springer, 1999
    TLDR: J. Bullinaria, “Learning with Momentum, Conjugate Gradient Learning”, 2015



  • 0 comments:

    Post a Comment

    New Research

    Attention Mechanism Based Multi Feature Fusion Forest for Hyperspectral Image Classification.

    CBS-GAN: A Band Selection Based Generative Adversarial Net for Hyperspectral Sample Generation.

    Multi-feature Fusion based Deep Forest for Hyperspectral Image Classification.

    ADDRESS

    388 Lumo Rd, Hongshan, Wuhan, Hubei, China

    EMAIL

    contact-m.zamanb@yahoo.com
    mostofa.zaman@cug.edu.cn

    TELEPHONE

    #
    #

    MOBILE

    +8615527370302,
    +8807171546477