परिचय
- यह प्रोजेक्ट machine learning और TensorFlow के ज्ञान को बेहतर बनाने के लिए एक learning experience के रूप में शुरू हुआ।
- लक्ष्य ऐसा machine learning model बनाना था जो browser में 4Chan CAPTCHA को 80% से अधिक accuracy के साथ हल कर सके।
शब्दावली
- CAPTCHA: यह जांचने के लिए एक टेस्ट कि कंप्यूटर या वेबसाइट उपयोगकर्ता इंसान है या नहीं।
- 4Chan: एक anonymous imageboard वेबसाइट जो विभिन्न विषयों पर discussion board उपलब्ध कराती है।
- सामान्य CAPTCHA: 4Chan CAPTCHA जो 5~6 alphanumeric characters से बना होता है।
- Slider CAPTCHA: CAPTCHA का एक जटिल रूप जिसमें background image और foreground image एक-दूसरे पर ओवरलैप होती हैं।
डेटा संग्रह
- machine learning समस्याओं में सबसे कठिन हिस्सा डेटा इकट्ठा करना होता है।
- 4Chan से CAPTCHA scrape करना और उनके solution प्राप्त करना मुख्य चुनौती थी।
4Chan से CAPTCHA scrape करना
- HTTP requests का विश्लेषण करके CAPTCHA डेटा को JSON format में निकालने का तरीका मिला।
- CAPTCHA की कठिनाई को मैनेज करने के लिए requests के बीच अंतराल को नियंत्रित करना पड़ता था।
solution प्राप्त करना
- commercial CAPTCHA-solving services का उपयोग किया गया, लेकिन accuracy कम थी।
- खुद हल करने या किसी भरोसेमंद व्यक्ति से हल करवाने के तरीके भी आज़माए गए, लेकिन वे सीमित थे।
synthetic data बनाना
- 4Chan CAPTCHA की नकल करके synthetic data बनाया गया।
- background और characters को अलग करके synthetic CAPTCHA बनाने वाला एक algorithm विकसित किया गया।
model बनाना
- model बनाने के लिए LSTM CNN architecture का उपयोग किया गया।
- model को Keras और TensorFlow का उपयोग करके implement किया गया।
डेटा प्रोसेसिंग
- सभी CAPTCHA images को 300x80 pixels में समायोजित करके model में input किया गया।
- documentation के महत्व पर ज़ोर दिया गया और इस बात का ध्यान रखना पड़ा कि उसके details छूट न जाएँ।
model training
- लगभग 500 manually created images और 50,000 synthetic images का उपयोग करके model को train किया गया।
- training NVIDIA RTX A4000 GPU पर की गई।
TensorFlow.js में model का उपयोग
- model को TensorFlow.js में convert किया गया ताकि उसे browser में चलाया जा सके।
- Python 3.12 में conversion script काम नहीं करती।
- Keras 3 models को TensorFlow.js में support नहीं मिलता।
वास्तविक प्रदर्शन
- वास्तविक 4Chan CAPTCHA पर 90% से अधिक success rate दिखा।
- 4-character CAPTCHA पर भी वही प्रदर्शन दिखा।
निष्कर्ष
- इस प्रोजेक्ट के माध्यम से machine learning और computer vision के बारे में बहुत कुछ सीखा गया।
- लक्ष्य हासिल हुआ और संतोषजनक परिणाम मिले।
1 टिप्पणियां
Hacker News राय