কোড বিকাশে মেশিন লার্নিং প্রয়োগ করা হয়েছে


17

আমার ব্যাকগ্রাউন্ডটি যান্ত্রিক ইঞ্জিনিয়ারিংয়ে রয়েছে, সুতরাং দয়া করে এই ক্ষেত্রটি সম্পর্কে আমার অজ্ঞতা ক্ষমা করুন।

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

আমি এই অধ্যাপককে বলতে শুনেছি যে এমএল কখনই প্রভাব ফেলবে না এমন অঞ্চলগুলি খুঁজে পাওয়া শক্ত।

প্রশ্ন

সুতরাং আমার প্রশ্ন হ'ল কোড বিকাশে মেশিন লার্নিং প্রয়োগের ক্ষেত্রে এখন পর্যন্ত কী গবেষণা হয়েছে? ডিবাগিং সম্পর্কে কীভাবে?

সম্ভব হলে সংস্থান / উত্স / বৈজ্ঞানিক কাগজপত্র অন্তর্ভুক্ত করুন।

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


আপনার প্রশ্নটি কোড লেখার কোড সম্পর্কে, বা আপনি মেশিন লার্নিং বাস্তবায়নের কোডিং কৌশল সম্পর্কে জিজ্ঞাসা করছেন?
রবার্ট হার্ভে

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

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

এই প্রশ্নটি কৃত্রিম গোয়েন্দা সাইটে স্থানান্তরিত হওয়ার কথা রয়েছে। যারা আপ-ভোট দিয়েছেন তারা কেন আমাদের বলতে পারবেন ??
কুইন্টুনমিয়া

এটি আসলেই একটি দুর্দান্ত প্রশ্ন!
রাইস জনস

উত্তর:


6

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


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

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

4

হ্যাঁ. এই অঞ্চলটি এখনই উত্তপ্ত। এটিকে "বিগ কোড" বলা হয় এবং ডিআরপিএ এতে 40 মিলিয়ন ডলার রাখে: http://www.darpa.mil/program/mining-and- বোঝা- সফ্টওয়্যার-enclaves । এই অনুদান থেকে কিছু চিত্তাকর্ষক ফলাফল এসেছে, যেমন ফ্যান লংয়ের নবী এবং জেনেসিস সিস্টেমগুলি, যা সঠিক প্যাচগুলির জ্ঞাত মডেল ব্যবহার করে প্রোগ্রামগুলিতে স্বয়ংক্রিয়ভাবে বাগগুলি ঠিক করতে পারে। মার্টিন ভেচেভ এবং তার ছাত্র ভাসেলিন রায়চেভও এই অঞ্চলে অগ্রগামী হয়েছিলেন। সম্ভবত তাদের সবচেয়ে চিত্তাকর্ষক ফলাফল হ'ল জেএসনাইস ( http://jsnice.org/ ), যা "জাভাস্ক্রিপ্ট কোডটি কমাতে পারে"।

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

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


3

মাইক্রোসফ্ট একটি প্রদত্ত ইনপুট এবং আউটপুট থেকে একটি মেথড বডি অনুমান করতে গভীর শেখার ব্যবহার করতে ডিপকোডার বিকাশ করছে । আমি একমাত্র উদাহরণ এটি অফহ্যান্ড জানি।

আমি আপনাকে বলতে পারি মেটা-জেনেটিক প্রোগ্রামিং সমান উচ্চাকাঙ্ক্ষা নিয়ে অধ্যয়নের একটি ক্ষেত্র, তবে আমি এটি বলতে পারি না যে এটি সম্পর্কে জ্ঞানবান হওয়ার জন্য আমি যথেষ্ট জানি।

জেনেটিক প্রোগ্রামিং 2015 সালে খবরে ছিল যখন মিউস্কেপেল একটি প্রোগ্রাম থেকে অন্য প্রোগ্রামে কোনও বৈশিষ্ট্য প্রতিস্থাপনের জন্য সমাধান সমাধান করেছিলেন, উভয়র জন্য ইউনিট টেস্টকে এক ধরণের প্রশিক্ষণের সেট হিসাবে ব্যবহার করে।


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

নিশ্চিত যে আপনি ঠিক বলেছেন, আমি ভুলভাবে পড়েছি, এমএল করতে এমএল ব্যবহার করার বিষয়ে আমি খুব বেশি পুনরাবৃত্তভাবে ভাবছিলাম :) # সম্পাদিত
আরজেবি

2

সুতরাং আমার প্রশ্ন হ'ল কোড বিকাশে মেশিন লার্নিং প্রয়োগের ক্ষেত্রে এখন পর্যন্ত কী গবেষণা হয়েছে? ডিবাগিং সম্পর্কে কীভাবে?

একজন সংশ্লিষ্ট প্রশ্ন কোড প্রজন্মের এবং সংকলন জন্য মেশিন লার্নিং কৌশল সম্পর্কে (যেহেতু আপনি কল্পনা করতে পারে transpilers এবং কম্পাইলার স্বয়ংক্রিয়ভাবে -actually কিছু উচ্চ স্তরের ভাষা থেকে code- লেখা "কোড বিকাশ করুন" একটি উপায় হিসাবে)।

সে সম্পর্কে বেশ কয়েকটি কাগজপত্র রয়েছে, উদাহরণস্বরূপ মাইলপোস্ট জিসিসি

আপনি ডিবাগিংয়ের জন্য মেশিন লার্নিং কৌশলগুলি সম্পর্কে বা স্ট্যাটিক সোর্স কোড বিশ্লেষণের জন্য (বা কোনও ধরণের স্ট্যাটিক প্রোগ্রাম বিশ্লেষণ ) গুগল করতে পারেন ।

আপনার প্রশ্নের সাথে জড়িত কৃত্রিম বুদ্ধিমত্তার বুটস্ট্র্যাপিংয়ের বিষয়ে জে.পাইট্রাটের ব্লগটিও দেখুন ।


1

গণিত ব্যবহার করে অর্থোপার্জন সম্পর্কে এসিএমের যোগাযোগের সাম্প্রতিক একটি নিবন্ধে এরিক মেইজার গুগলের সিনিয়র ফেলো, সিস্টেমস এবং অবকাঠামো গ্রুপ জেফ ডিনকে উদ্ধৃত করেছেন:

গুগল আজ যদি স্ক্র্যাচ থেকে তৈরি করা হত তবে এর বেশিরভাগটি শিখতে হবে, কোডড নয়।

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

উদাহরণ হিসাবে নিবন্ধটি ওয়েবপিপিএলকে বোঝায়, ওয়েবের জন্য সম্ভাব্য প্রোগ্রামিং


0

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


0

কোডিং-সম্পর্কিত সমস্ত মেশিন শেখার বিষয়ে আমি বেশ বিস্তৃত পাঠের তালিকা পেয়েছি ।

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


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

কোড বিকাশে মেশিন লার্নিং প্রয়োগের ক্ষেত্রে এখন পর্যন্ত কোন গবেষণা হয়েছে? ডিবাগিং সম্পর্কে কীভাবে?

এখানে সমস্যাটি এটি অসম্ভব নয়, বরং এটি একটি অবিশ্বাস্যভাবে জটিল বিষয়।

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

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

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

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

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

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.