Now Reading
পাইথন- এ স্ক্র্যাচ থেকে আপনার নিজস্ব স্নায়ু নেটওয়ার্ক কিভাবে নির্মাণ করবেন



পাইথন- এ স্ক্র্যাচ থেকে আপনার নিজস্ব স্নায়ু নেটওয়ার্ক কিভাবে নির্মাণ করবেন

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

এই নিবন্ধে আমি শিখেছি কি আছে, এবং আশা এটি আপনার জন্য দরকারী হতে হবে!

একটি স্নায়ু নেটওয়ার্ক কি?
তাদের বর্ণনা যখন মস্তিষ্ক analogies সর্বাধিক প্রারাকটিক গ্রন্থে স্নায়ুতন্ত্রের উত্থাপন। মস্তিষ্কের analogies মধ্যে delving ব্যতীত, আমি কেবল একটি ঘনক্ষেত্রীয় ফাংশন হিসাবে স্নায়ুতন্ত্রের বর্ণনা করতে সহজ যে একটি পছন্দসই আউটপুট একটি নির্দিষ্ট ইনপুট মানচিত্র

নিউরোলজিক্যাল নেটওয়ার্কগুলি নিম্নোক্ত উপাদানের সমন্বয়ে গঠিত

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

পাইথন একটি স্নায়ু নেটওয়ার্ক ক্লাস তৈরি করা সহজ।

স্নায়বিক নেটওয়ার্ক প্রশিক্ষণ,

একটি সহজ 2-স্তর স্নায়ু নেটওয়ার্ক আউটপুট is হয়:
আপনি লক্ষ্য করতে পারেন যে উপরে সমীকরণ, ওজন এবং বিভাজন B শুধুমাত্র আউটপুট প্রভাবিত করে যে ভেরিয়েবল হয়।

স্বাভাবিকভাবে, ওজন এবং পক্ষপাতের জন্য সঠিক মানগুলির পূর্বাভাসের শক্তি নির্ধারণ করে। ইনপুট ডাটা থেকে ওজন এবং পক্ষপাতিত্ব সূক্ষ্ম-টানিং প্রক্রিয়া স্নায়ুতন্ত্রের প্রশিক্ষণ হিসাবে পরিচিত হয়।
প্রশিক্ষণ প্রক্রিয়ার প্রতিটি পুনরাবৃত্তির নিম্নলিখিত ধাপ রয়েছে:

পূর্বাভাস আউটপুট গণনা ŷ, ফিডফোর্ডের নামে পরিচিত
ব্যাকপোজ্যাগেশন হিসাবে পরিচিত ওজন এবং পক্ষপাত, আপডেট করা
নীচের অনুক্রমিক গ্রাফ প্রক্রিয়া প্রকাশ।

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

যাইহোক, আমাদের পূর্বাভাসগুলির (যেমন, আমাদের ভবিষ্যৎবাণী কতদূর দূরে) আমাদের “ধার্মিকতা” মূল্যায়ন করতে এখনও আমাদের একটি উপায় দরকার? ক্ষতি ফাংশন আমাদের ঠিক যে করতে পারবেন।

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

প্রশিক্ষণ মধ্যে আমাদের লক্ষ্য ক্ষতি ফাংশন ছোট যে ওজন এবং পক্ষপাত সেরা সেট খুঁজে বের করা হয়।

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

ক্যালকুলাস থেকে মনে রাখবেন যে একটি ফাংশন ডেরিভেটিভ কেবল ফাংশন ঢাল।

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

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

রাম রাম! এটা কুৎসিত ছিল কিন্তু এটি আমাদের যা প্রয়োজন তা পেতে আমাদের অনুমতি দেয় – ভারসাম্যপূর্ণভাবে ক্ষতির ফাংশন এর ডেরিভেটিভ (ঢাল), যাতে আমরা সেই অনুযায়ী ওজনকে সামঞ্জস্য করতে পারি।

এখন আমরা যে আছে, এর যাক backpropagation ফাংশন আমাদের পাইথন কোড যোগ করুন।
ব্যাকপ্রোপ্যাগেটে ক্যালকুলাস প্রয়োগ এবং শৃঙ্খলার প্রয়োগের একটি গভীর বোঝার জন্য, আমি দৃঢ়ভাবে 3Blue1Brown দ্বারা এই টিউটোরিয়াল সুপারিশ।

সবগুলোকে একত্রে রাখ
এখন আমরা আমাদের পূর্ণ পাইথন কোড আছে খাদ্য প্রক্রিয়াকরণ এবং backpropagation করার জন্য, এর একটি উদাহরণ আমাদের স্নায়ু নেটওয়ার্ক প্রয়োগ করা যাক এবং এটি কিভাবে ভাল দেখুন।

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

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

আসুন 1500 পুনরাবৃত্তির পর স্নায়ুর নেটওয়ার্ক থেকে চূড়ান্ত ভবিষ্যদ্বাণী (আউটপুট) দেখি।


আমরা এটা করেছি! আমাদের খাদ্যশস্য ও ব্যাকপ্রোপাগেশন আলগোরিদিমটি সফলভাবে স্নায়ু নেটওয়ার্ককে প্রশিক্ষিত করেছে এবং ভবিষ্যতবাণী সত্য মানগুলিতে একত্রিত হয়েছে।

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

এরপর কি?
সৌভাগ্যবশত আমাদের জন্য, আমাদের যাত্রা শেষ হয় না। এখনও স্নায়ু নেটওয়ার্ক এবং ডিপ লার্নিং সম্পর্কে অনেক কিছু শেখার আছে। উদাহরণ স্বরূপ:

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

সর্বশেষ ভাবনা ,
আমি অবশ্যই আমার স্ক্র্যাচ থেকে স্নায়বিক নেটওয়ার্ক লেখার অনেক শিখেছি করেছি।

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

এই ব্যায়াম আমার সময় একটি মহান বিনিয়োগ হয়েছে, এবং আমি আশা করি যে এটি আপনার জন্য দরকারী হতে হবে!

About The Author
MD Imran Sarder
Comments
Leave a response

You must log in to post a comment