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