আমরা ক্লাসিক মাল্টি-লেয়ার পারসেপ্টরনস (এমএলপি) গ্রহণ করেছি এবং এর চারপাশে অনেক আর্কিটেকচার তৈরি করেছি। এমএলপিগুলি হল প্রতিটি একক এলএলএম বা ফাউন্ডেশন মডেলের অংশ এবং পার্সেল যা আমরা আজ দেখি, যেমন চ্যাটজিপিটি, এলএলএএমএ, ডাল এবং ক্লিপ৷ অথবা এমনকি সহজ স্বীকৃতি মডেল যেমন YOLO-v*।
যদি আমি এখন আপনাকে বলি যে আমাদের খুব এমএলপিগুলির জন্য একটি প্রতিযোগী আছে? শহরে একটি নতুন কাগজ রয়েছে যার নাম "কলমোগোরভ-আর্নল্ড নেটওয়ার্ক," বা সংক্ষেপে KAN, যা MLP গুলিকে চ্যালেঞ্জ করে৷ যদি তারা সত্যিকারের স্কেল প্রস্তাব করে, তাহলে আমাদের পরবর্তী প্রজন্মের নিউরাল নেটওয়ার্ক থাকতে পারে, যা আমাদের আর্টিফিশিয়াল জেনারেল ইন্টেলিজেন্স (AGI) এর আরও এক ধাপ কাছাকাছি নিয়ে যাবে।
যদিও MLP-তে সক্রিয়করণ ফাংশন রয়েছে যেমন ReLU, sigmoid, Tanh, GeLU, ইত্যাদি, KAN প্রস্তাব করে যে আমরা এই সক্রিয়করণ ফাংশনগুলি শিখি। সুতরাং, KAN কিভাবে এটা করে? এর পেছনের গণিত কী? এটা কিভাবে বাস্তবায়িত হয়? এবং কিভাবে আমরা এমনকি KAN প্রশিক্ষণ না?
আমি এখানে KAN কাগজটি সংক্ষিপ্ত করার জন্য যথাসাধ্য চেষ্টা করেছি। আপনি হয় এই সারাংশটি পড়তে বা কাগজটি পড়তে পারেন, যা 48 পৃষ্ঠা দীর্ঘ!
আপনি যদি আমার মতো হন এবং আরও ভালভাবে বোঝার জন্য জিনিসগুলি কল্পনা করতে চান, এখানে এই নিবন্ধটির একটি ভিডিও ফর্ম রয়েছে:
চলুন শুরু করা যাক এমএলপি দিয়ে, যার সাথে আমরা বেশ পরিচিত। MLP গুলো নোড এবং প্রান্ত দিয়ে গঠিত। প্রতিটি নোডে, আমাদের কাছে ইনপুটগুলিকে সংক্ষিপ্ত করা হয়েছে এবং সেই নির্দিষ্ট নোডের জন্য আউটপুট তৈরি করার জন্য ReLU, GeLU এবং SeLU এর মতো সক্রিয়করণগুলি প্রয়োগ করা হয়েছে।
এই সক্রিয়করণ ফাংশন প্রশিক্ষণ প্রক্রিয়া চলাকালীন পরিবর্তন হয় না. অন্য কথায়, তাদের কোন পরামিতি নেই। তারা প্রদত্ত প্রশিক্ষণ ডেটাসেটের সাথে নিজেকে সুর করার জন্য যথেষ্ট বুদ্ধিমান নয়। সুতরাং, প্রশিক্ষণের সময় যা প্রশিক্ষিত বা আপডেট করা হয় তা হল এই প্রতিটি নোডের ওজন।
এখন, যদি আমরা এই অনুমান নিয়ে প্রশ্ন করি যে অ্যাক্টিভেশন ফাংশনটি ঠিক করা দরকার এবং সেগুলিকে প্রশিক্ষিত করতে হবে? সুতরাং, KAN নেটওয়ার্ক যে চ্যালেঞ্জটি মোকাবেলা করার চেষ্টা করেছিল। প্রশিক্ষণ প্রক্রিয়া চলাকালীন KAN নেটওয়ার্কের সক্রিয়করণ ফাংশন আপডেট করা হয়। আমরা আরও গভীরে যাওয়ার আগে, চলুন বহুপদ এবং বক্ররেখা ফিটিং দিয়ে শুরু করি।
সুতরাং, KAN-এর মৌলিক ধারণা হল যে কোনো বহু-ভেরিয়েট যৌগিক ফাংশনকে কয়েকটি ফাংশনের সমষ্টিতে বিভক্ত করা যেতে পারে যা একক ভেরিয়েবল।
উদাহরণস্বরূপ, ধরা যাক আমাদের কাছে ডিগ্রী 3 এর একটি সমীকরণ রয়েছে যেখানে y=x³ উপরের হলুদ বক্ররেখা দ্বারা প্লট করা হয়েছে। এবং ডিগ্রী 2 এর আরেকটি সমীকরণ, y=x², যেমনটি উপরের অ্যানিমেশনে নীল বক্ররেখা দ্বারা দেখানো হয়েছে। আমরা এই ভিজ্যুয়ালাইজেশনে দেখতে পাচ্ছি যে x² ব্যবহার করলে কখনো x³ দ্বারা অর্জিত বক্রতা অর্জন করা যায় না।
ধরা যাক নীচের লাল এবং নীল বিন্দু দ্বারা উপস্থাপিত ডেটা দেওয়া হয়েছে, এবং আমরা দুটি শ্রেণীর মধ্যে বাইনারি শ্রেণিবিন্যাসের সীমানা খুঁজে পেতে চাই।
একটি দ্বিতীয়-ক্রম বহুপদী, x² ব্যবহার করে, আমরা উভয়ের মধ্যে সীমানা খুঁজে পাব না কারণ x² বক্ররেখাটি "U" আকৃতির, কিন্তু ডেটা "S" আকৃতির। যদিও x³ ব্যবহার করা এই ডেটার জন্য উপযুক্ত, এটি একটি অতিরিক্ত গণনামূলক খরচ সহ আসে। একটি ভিন্ন সমাধান হতে পারে x² ব্যবহার করা যখন ইনপুট x নেতিবাচক তবে ব্যবহার করুন - x² যখন x পজিটিভ হয় (উপরের চিত্রে হাত দিয়ে নীল বক্ররেখা আঁকা)।
আমরা যা করেছি তা হল দুটি নিম্ন-ডিগ্রী বহুপদী যোগ করার জন্য উচ্চতর স্বাধীনতার সাথে একটি বক্ররেখা অর্জন করতে। এটি KAN নেটওয়ার্কগুলির পিছনে সঠিক ধারণা।
এখন একটু জটিল খেলনা সমস্যা নেওয়া যাক যেখানে আমরা জানি যে ডেটা একটি সাধারণ সমীকরণ দ্বারা তৈরি হয়, y=exp(sin(x1² + x2²) + sin(x3² + x4²))। তাই আমাদের 4টি ইনপুট ভেরিয়েবল আছে, এবং আমাদের তিনটি অপারেশন আছে, যথা, এক্সপোনেন্ট, সাইন এবং বর্গ। সুতরাং, আমরা তিনটি স্তর সহ চারটি ইনপুট নোড বেছে নিতে পারি, প্রতিটি তিনটি ভিন্ন ক্রিয়াকলাপের জন্য উত্সর্গীকৃত, যেমনটি নীচে দেখানো হয়েছে।
চারটি ইনপুট সহ একটি খেলনা সমস্যার জন্য KAN নেটওয়ার্ক এবং গণনার জন্য তিনটি বেসিস ফাংশন — এক্সপোনেন্ট, সাইনুসয়েড এবং বর্গক্ষেত্র
প্রশিক্ষণের পরে, নোডগুলি ডেটার সাথে মানানসই করার জন্য স্কোয়ার, সাইনুসয়েড এবং এক্সপোনেন্ট ফাংশনে একত্রিত হবে।
যেহেতু এটি একটি খেলনা সমস্যা, আমরা জানি যে সমীকরণটি থেকে ডেটা এসেছে। কিন্তু কার্যত, আমরা বাস্তব-বিশ্বের ডেটা বিতরণ জানি না। এই সমস্যাটি সমাধান করার একটি উপায় হল B-splines ব্যবহার করে।
B-splines-এর মৌলিক ধারণা হল যে কোনো প্রদত্ত ফাংশন বা বক্ররেখা সহজ ফাংশন বা বক্ররেখার সংমিশ্রণ হিসাবে উপস্থাপন করা যেতে পারে। এই সহজ ফাংশনগুলিকে বেসিস ফাংশন বলা হয়। উদাহরণ স্বরূপ, নিচের চিত্রে লাল বক্ররেখা ধরা যাক। সরলতার জন্য, এর মাত্র দুটি ভিত্তি ফাংশন দিয়ে এটি উপস্থাপন করার চেষ্টা করা যাক।
আমরা এটিকে 3 বিন্দুতে বিভক্ত করতে পারি কারণ আমরা এটিকে দুটি ভিত্তি ফাংশনের যোগফল দিয়ে উপস্থাপন করতে যাচ্ছি। এই বিন্দুগুলিকে নট বলা হয়। বেসিস ফাংশনের যেকোনো সংখ্যা n হতে পারে। প্যারামিটার যা নিয়ন্ত্রণ করে কিভাবে এই ভিত্তি ফাংশন সংমিশ্রণ হয় c. আমরা যখন দুটি বক্ররেখাকে "যোগদান করি" তখন গিঁটে বিচ্ছিন্নতা থাকতে পারে। সমাধান হল গিঁটগুলিতে বক্রতার বক্রতাকে সীমাবদ্ধ করা যাতে আমরা একটি মসৃণ বক্ররেখা পেতে পারি। উদাহরণস্বরূপ, আমরা দুটি বক্ররেখার ঢালকে গিঁটে একই হতে সীমাবদ্ধ করতে পারি, যেমনটি নীচের চিত্রে সবুজ তীর দ্বারা দেখানো হয়েছে।
যেহেতু আমরা নিউরাল নেটওয়ার্কে এই ধরনের সীমাবদ্ধতা আরোপ করতে পারি না, তারা কাগজে অবশিষ্ট সক্রিয়করণ ফাংশন চালু করেছে। এটি একটি নিয়মিতকরণের মতো কাজ করে। কার্যত, এটি হল SeLU অ্যাক্টিভেশন যা স্ট্যান্ডার্ড স্প্লাইন ফাংশনে যুক্ত করা হয়েছে যেমনটি নীচের কাগজে দেখা গেছে।
KANs প্রশিক্ষণের একটি নতুন উপায় প্রবর্তন করে যাকে বলা হয় ফাইন-গ্রেইনিং । আমরা সকলেই যেটির সাথে পরিচিত তা হল ফাইন-টিউনিং, যেখানে আমরা মডেলটিতে আরও পরামিতি যোগ করি। যাইহোক, সূক্ষ্ম-শস্যের ক্ষেত্রে, আমরা স্প্লাইন গ্রিডগুলির ঘনত্ব উন্নত করতে পারি। এটাকেই তারা গ্রিড এক্সটেনশন বলে।
আমরা কাগজ থেকে উপরের চিত্রটি থেকে দেখতে পাচ্ছি, সূক্ষ্ম দানাগুলি কেবল বি-স্প্লাইনের গ্রিডগুলিকে ঘন করে তোলে যাতে তারা আরও প্রতিনিধিত্বশীল এবং তাই আরও শক্তিশালী হয়ে ওঠে।
স্প্লাইনগুলির একটি অসুবিধা হল যে তারা পুনরাবৃত্তিমূলক এবং তাই গণনাগতভাবে ব্যয়বহুল। তাদের গণনাগত জটিলতা হল O(N²LG), যা MLP-এর জন্য O(N²L) এর স্বাভাবিক জটিলতার চেয়ে বেশি। অতিরিক্ত জটিলতা গ্রিড অন্তর G থেকে আসে।
লেখক এই সহজাত সমস্যাটিকে এটি দেখিয়ে রক্ষা করেছেন:
আমরা ফলাফল বিভাগে এই প্রতিরক্ষার প্লট দেখতে পাব। আপাতত, KAN-এর আরেকটি বিশেষত্বের দিকে আরও নজর দেওয়া যাক।
যেহেতু KAN ফাংশন শেখে, এটি শুধুমাত্র MLP-এর মতো একটি ব্ল্যাক বক্স নয় যেখানে আমরা একটি প্রদত্ত ডেটা বা সমস্যার জন্য MLP-এর গভীরতা এবং প্রস্থ বেছে নিয়ে সেগুলিকে ডিজাইন করতে পারি। সুতরাং, KAN-কে আরও ব্যাখ্যাযোগ্য করতে এবং একটি ভাল KAN নেটওয়ার্ক ডিজাইন করতে, আমাদের নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে হবে:
fix_symbolic(l,i,j,f)
নামক একটি ইন্টারফেস ফাংশন প্রদান করে তা করতে সক্ষম করে যেখানে l, i, j হল নোড স্তর এবং অবস্থান এবং f হল এমন ফাংশন যা sine, cosine, log, etc
একটি প্রশিক্ষিত KAN নেটওয়ার্কে পৌঁছানোর জন্য কাগজে প্রস্তাবিত বিভিন্ন পদক্ষেপের সারাংশ
উপরের চিত্রে বিভিন্ন ধাপ সংক্ষিপ্ত করা হয়েছে। আমরা একটি বৃহৎ নেটওয়ার্ক দিয়ে শুরু করি এবং স্প্যার্সিফাই (ধাপ 1), ফলের নেটওয়ার্কটি ছাঁটাই করি (ধাপ 2), কিছু প্রতীকীকরণ সেট করি (ধাপ 3), নেটওয়ার্ককে প্রশিক্ষিত করি (ধাপ 4), এবং অবশেষে প্রশিক্ষিত মডেলে পৌঁছাই।
উপরে উল্লিখিত পদক্ষেপগুলি ব্যবহার করে, তারা KAN নেটওয়ার্কগুলিকে তাদের কার্যকারিতা চিত্রিত করার জন্য পাঁচটি ভিন্ন খেলনা সমস্যার জন্য প্রশিক্ষণ দিয়েছে এবং তাদের MLP-এর সাথে তুলনা করেছে। তুলনা থেকে মূল টেকওয়ে হল:
প্রথম পয়েন্টটি 5টি খেলনা সমস্যার জন্য উপরের প্লটে পাঁচটি প্লটে ঘন নীল রেখা দ্বারা চিত্রিত করা হয়েছে। শেষ দুটি পয়েন্ট নিচের প্লট দ্বারা চিত্রিত করা হয়েছে ক্ষতির বক্ররেখা দেখায় এবং যে কোনো সমস্যা সমাধানের জন্য পরামিতি গণনা করা হয়।
পরবর্তী টেকঅওয়ে হ'ল বিপর্যয়কর ভুলে যাওয়ার সমস্যায় KANগুলি MLPs থেকে অনেক ভাল। যদি আমরা ক্রমাগত শেখার জন্য সিকোয়েন্স ডেটা ফিড করি, তাহলে KANs অতীতের ডেটা MLP-এর তুলনায় অনেক ভালো মনে রাখে। এটি নীচের চিত্রে দেখানো হয়েছে, যেখানে KAN ডেটাতে 5টি পর্যায় পুনরুত্পাদন করে, কিন্তু MLP সংগ্রাম করে।
আংশিক ডিফারেনশিয়াল এবং পদার্থবিদ্যার সমীকরণ জড়িত সমস্যাগুলির জন্য KAN ব্যবহার করা যেতে পারে তা দেখানোর জন্য তারা ব্যাপক পরীক্ষা-নিরীক্ষাও করেছে। সেই বিবরণগুলিতে না গিয়ে, আসুন দেখে নেওয়া যাক কখন KANs বনাম MLP বেছে নেবেন।
কখন এমএলপি-তে KAN বেছে নিতে হবে সে বিষয়ে আমাদের গাইড করার জন্য তারা নীচের চিত্রটি দিয়েছে। সুতরাং, KAN নির্বাচন করুন যদি,
অন্যথায়, এমএলপিরা এখনও জিতবে।
আপনি যদি এই নিবন্ধটি পছন্দ করেন তবে কেন আমাকে অনুসরণ করবেন না
এছাড়াও আমার সাবস্ক্রাইব করুন
আমার মতে, KANs এখানে MLP গুলিকে প্রতিস্থাপন করার জন্য নয় যে কিভাবে ট্রান্সফরমারগুলি NLP ল্যান্ডস্কেপ পরিষ্কারভাবে সুইপ করে। বরং, KANs গণিত এবং পদার্থবিদ্যার বিশেষ সমস্যাগুলির জন্য কার্যকর প্রমাণিত হবে। তারপরও, আমি মনে করি আমাদের আরও অনেক উন্নতি দরকার। কিন্তু ফাউন্ডেশন মডেলের সাহায্যে সমাধান করা বিগ-ডেটা সমস্যাগুলির জন্য, KAN-কে অন্তত তাদের বর্তমান অবস্থার সাথে অনেক দূর যেতে হবে।
তদ্ব্যতীত, প্রশিক্ষণ পদ্ধতি এবং ডিজাইনিং KAN আর্কিটেকচার আধুনিক দিনের নিউরাল নেটওয়ার্ক ডিজাইন এবং প্রশিক্ষণের আদর্শ উপায় থেকে বিচ্যুত হয়। তবুও, গিটহাব পৃষ্ঠায় ইতিমধ্যেই 13k তারা এবং 1.2k ফর্ক রয়েছে, যা ইঙ্গিত করে যে এটি কিছুর জন্য প্রস্তুত। আসুন অপেক্ষা করি এবং এই স্থানটি দেখি।