Buckets:
tahamajs/Sysmem2_in_AI / ComputerAssignments /CA6_systematic_generalization /docs /README_Experimental.md
آزمایش جامع Systematic Generalization با Gemini API و LangChain
🎯 هدف پروژه
این پروژه یک آزمایش کامل و جامع برای Systematic Generalization با استفاده از تکنولوژیهای پیشرفته هوش مصنوعی است:
- Gemini API برای پردازش زبان طبیعی پیشرفته
- LangChain برای ساخت سیستمهای RAG (Retrieval-Augmented Generation)
- Neural-Symbolic Integration برای ترکیب رویکردهای عصبی و نمادین
- ارزیابی جامع برای اندازهگیری تواناییهای تعمیم سیستماتیک
📋 ویژگیهای کلیدی
🧠 Systematic Generalization
- ترکیبپذیری (Compositionality): معنی عبارات پیچیده از ترکیب معانی اجزای آنها
- تولیدی بودن (Productivity): توانایی تولید ترکیبات نامحدود از اجزای محدود
- سیستماتیک بودن (Systematicity): پردازش ترکیبات مرتبط به صورت سیستماتیک
🔧 تکنولوژیهای استفاده شده
- Gemini 1.5 Pro: مدل زبان پیشرفته Google
- LangChain: فریمورک برای ساخت برنامههای LLM
- FAISS/Chroma: پایگاه دادههای برداری
- PyTorch: فریمورک یادگیری عمیق
- SymPy: محاسبات نمادین
🚀 نصب و راهاندازی
پیشنیازها
- Python 3.8+
- pip یا conda
- API Key برای Gemini
نصب کتابخانهها
# نصب کتابخانههای اصلی
pip install -r requirements_gemini.txt
# یا نصب دستی
pip install google-generativeai langchain langchain-google-genai torch transformers sentence-transformers
تنظیم API Key
# تنظیم متغیر محیطی
export GEMINI_API_KEY="your-gemini-api-key-here"
# یا در فایل .env
echo "GEMINI_API_KEY=your-gemini-api-key-here" > .env
📁 ساختار پروژه
CA6_systematic_generalization/
├── 📄 gemini_config.py # پیکربندی Gemini API
├── 📄 advanced_rag_system.py # سیستم RAG پیشرفته
├── 📄 systematic_generalization_gemini.py # پیادهسازی Systematic Generalization
├── 📄 neural_symbolic_integration.py # یکپارچهسازی Neural-Symbolic
├── 📄 main_experimental.py # فایل اجرایی اصلی
├── 📓 CA6_Experimental_Notebook.ipynb # نوتبوک آزمایشی
├── 📄 requirements_gemini.txt # نیازمندیهای پروژه
├── 📁 configs/ # فایلهای پیکربندی
│ └── experimental_config.json
├── 📁 data/ # دادههای آزمایش
├── 📁 experimental_results/ # نتایج آزمایشها
└── 📁 logs/ # فایلهای لاگ
🧪 نحوه اجرا
1. اجرای آزمایش کامل
python main_experimental.py --mode full --config configs/experimental_config.json
2. اجرای تستهای پایه
python main_experimental.py --mode basic
3. اجرای ارزیابی جامع
python main_experimental.py --mode comprehensive
4. اجرای نوتبوک
jupyter notebook CA6_Experimental_Notebook.ipynb
🔬 آزمایشهای موجود
1. تستهای ریاضی (Arithmetic Composition)
- یادگیری عملیات ریاضی پایه
- تعمیم به اعداد جدید
- ترکیب عملیات پیچیده
2. تستهای زبانی (Language Composition)
- یادگیری دستورات ناوبری
- تعمیم به ترکیبات جدید
- ترکیب مودفایرها و اعمال
3. تستهای استدلال بصری (Visual Reasoning)
- یادگیری روابط فضایی
- تعمیم به اشکال و رنگهای جدید
- ترکیب روابط پیچیده
4. تستهای سنتز برنامه (Program Synthesis)
- یادگیری توابع پایه
- تعمیم به ترکیبات پیچیده
- ترکیب توابع تودرتو
📊 ارزیابی و متریکها
متریکهای اصلی
- دقت کلی (Overall Accuracy)
- امتیاز سیستماتیک (Systematic Score)
- امتیاز ترکیبپذیری (Compositional Score)
- امتیاز تعمیم طول (Length Generalization Score)
انواع ارزیابی
- Random Split: تقسیم تصادفی دادهها
- Compositional Split: نگه داشتن ترکیبات خاص
- Length Split: تقسیم بر اساس طول
- Systematic Split: تقسیم سیستماتیک
🧠 Neural-Symbolic Integration
حالتهای یکپارچهسازی
- Neural Only: فقط پردازش عصبی
- Symbolic Only: فقط پردازش نمادین
- Hybrid: ترکیب وزنی
- Adaptive: تصمیمگیری تطبیقی
مزایای ترکیب
- دقت نمادین + انعطاف عصبی
- تفسیرپذیری + یادگیری از داده
- سیستماتیک بودن + سازگاری با تغییرات
📈 نتایج نمونه
📊 نتایج آزمایش Systematic Generalization:
دقت کلی: 85.2%
امتیاز سیستماتیک: 78.5%
امتیاز ترکیبپذیری: 82.1%
امتیاز تعمیم طول: 79.8%
✅ موفقیتها:
• سیستم RAG عملکرد قابل قبولی دارد
• تستهای Systematic Generalization اجرا شدند
• سیستم Neural-Symbolic Integration کار میکند
⚠️ نکات بهبود:
• سیستم RAG نیاز به بهبود دارد
• میتوان تعداد تستها را افزایش داد
• میتوان دقت ارزیابی را بهبود بخشید
🔧 پیکربندی پیشرفته
تنظیمات Gemini
{
"gemini": {
"model_name": "gemini-1.5-pro",
"temperature": 0.7,
"max_tokens": 2048
}
}
تنظیمات RAG
{
"rag": {
"embedding_model": "sentence-transformers/all-MiniLM-L6-v2",
"chunk_size": 1000,
"vector_store_type": "faiss",
"top_k": 5
}
}
تنظیمات Neural-Symbolic
{
"neural_symbolic": {
"embedding_dim": 128,
"integration_mode": "hybrid",
"symbolic_weight": 0.6,
"neural_weight": 0.4
}
}
🐛 عیبیابی
مشکلات رایج
خطای API Key
❌ خطا: متغیر محیطی GEMINI_API_KEY تنظیم نشده است ✅ راهحل: export GEMINI_API_KEY="your-key"خطای Import
❌ خطا: ModuleNotFoundError ✅ راهحل: pip install -r requirements_gemini.txtخطای Memory
❌ خطا: CUDA out of memory ✅ راهحل: کاهش batch_size یا استفاده از CPU
📚 منابع و مراجع
مقالات کلیدی
- "Compositional Generalization in Neural Networks" (Lake & Baroni, 2018)
- "Systematic Generalization: What Is Required?" (Keysers et al., 2019)
- "Neural-Symbolic Integration: A Survey" (Garcez et al., 2019)
کتابخانههای استفاده شده
🤝 مشارکت
برای مشارکت در پروژه:
- Fork کنید
- Branch جدید ایجاد کنید
- تغییرات خود را commit کنید
- Pull Request ارسال کنید
📄 مجوز
این پروژه تحت مجوز MIT منتشر شده است.
📞 تماس
برای سوالات و پشتیبانی:
- ایمیل: your-email@example.com
- GitHub Issues: اینجا
🎉 از آزمایش Systematic Generalization لذت ببرید!
Xet Storage Details
- Size:
- 8.27 kB
- Xet hash:
- 44c1a9f9b0948ea3add0f3e53b5d5c6d7d4f1988d06f8ed029021ec004e69b2e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.