Action Chunking
تعرف على كيفية تحسين تجميع الإجراءات (Action Chunking) لدقة الروبوتات والتعلم بالتقليد. اكتشف كيفية استخدام Ultralytics YOLO26 لتقليل الأخطاء التراكمية في وكلاء الذكاء الاصطناعي.
تقسيم الإجراءات (Action chunking) هو تقنية متقدمة في deep learning تُستخدم بشكل مكثف في الروبوتات والتعلم بالمحاكاة، حيث يتنبأ النموذج بتسلسل (أو "قطعة") من الإجراءات المستقبلية بدلاً من إجراء واحد في كل خطوة زمنية. من خلال التنبؤ بمسار متعدد الخطوات، يتيح تقسيم الإجراءات لـ AI agents تنفيذ مهام معقدة وطويلة المدى بسلاسة وموثوقية أكبر. لقد اكتسب هذا النهج زخماً كبيراً بعد تقديم Action Chunking with Transformers (ACT)، وهي بنية نموذجية تجمع بين التنبؤ الزمني و مدخلات computer vision عالية الأبعاد.
تخفيف الأخطاء التراكمية#
في الاستنساخ السلوكي التقليدي، يتنبأ النموذج بالخطوة الفورية التالية بناءً على الحالة الحالية. ومع ذلك، أثناء real-time inference، فإن عدم الدقة الطفيف في التنبؤ يحول النظام إلى حالات غير ملاحظة. تتضاعف هذه الأخطاء بسرعة، مما يؤدي إلى فشل المهمة - وهي ظاهرة تُعرف بالأخطاء المتراكمة.
يعالج تقسيم الإجراءات هذا القيد بشكل مباشر. من خلال التنبؤ بإجراءات متعددة في وقت واحد (على سبيل المثال، 50 حركة مفصلية تغطي ثانية واحدة من الحركة)، يتم تقليل أفق التحكم الفعلي. يلتزم النظام بخطة قصيرة المدى متماسكة بناءً على ملاحظة بصرية واحدة موثوقة، مما يقلل بشكل كبير من تكرار أخطاء رد الفعل. عند دمج الأجزاء الخلفية للرؤية مثل Ultralytics YOLO26 للوعي المكاني وتوطين bounding box، تصبح التنبؤات الناتجة مستقرة بشكل لا يصدق ضد ضوضاء العمليات.
تطبيقات العالم الحقيقي#
لقد فتح تقسيم الإجراءات قدرات جديدة في الأتمتة الفيزيائية، لا سيما عند نشرها على الأجهزة edge AI المحسنة بواسطة أطر العمل مثل Intel Edge:
- التحكم الروبوتي الدقيق: في الأتمتة الصناعية، تستخدم الروبوتات التنبؤات المجزأة لتنفيذ المهام الغنية بالتلامس والتي تتطلب دقة عالية، مثل ربط الكابلات، أو تركيب البطاريات، أو التعامل مع العناصر التي يتم تتبعها بواسطة package segmentation datasets. يؤدي توليد تسلسلات إجراءات متماسكة إلى منع الحركات المتقطعة وغير المتسقة النموذجية لـ imitation learning أحادي الخطوة.
- التنقل الذاتي: في القيادة الذاتية وطيران الطائرات بدون طيار، فإن التنبؤ بكتلة من أوامر التحكم (مثل التوجيه والتسارع) يتيح تخطيط مسار أكثر سلاسة، وهو مفهوم تم استكشافه بشكل مكثف في أوراق IEEE robotics papers الحديثة. مقترنة بـ object tracking المستمر و depth estimation، يمكن للمרکبات التنقل بأمان في البيئات الديناميكية المعقدة.
التمييز بين المفاهيم ذات الصلة#
فهم كيفية ملاءمة هذه التقنية للنظام البيئي الأوسع لـ artificial intelligence بشكل أفضل، من المفيد تمييزها عن المصطلحات المشابهة:
- تقسيم الإجراءات مقابل التعرف على الإجراءات: بينما يقوم تقسيم الإجراءات بتوليد تسلسل من الأوامر المستقبلية لكي تنفذها الآلة، فإن action recognition هو العملية التحليلية المتمثلة في تحديد الأنشطة التي تجري داخل بث الفيديو.
- تقسيم الإجراءات مقابل نماذج التسلسل إلى تسلسل: تُعيّن بنيات التسلسل إلى تسلسل تسلسلاً للإدخال إلى تسلسل للإخراج وتُستخدم على نطاق واسع في machine translation. يستخدم تقسيم الإجراءات هذه البنيات بشكل مكثف - وتحديداً Transformers - ولكنه يتقيد المخرجات تماماً بضوابط المحركات منخفضة المستوى والسرعة الحركية بدلاً من النص.
- تقسيم الإجراءات مقابل التعلم التعزيزي: يعتمد Reinforcement learning على إشارات المكافأة لتعليم الوكيل من خلال التجربة والخطأ. وعلى العكس من ذلك، يتم نشر تقسيم الإجراءات في المقام الأول في الاستنساخ السلوكي الخاضع للإشراف، حيث يتعلم النموذج مباشرة من العروض البشرية دون زيادة صريحة في المكافأة.
تنفيذ تجميع الإجراءات#
من الناحية العملية، يُقيّم نظام الرؤية البيئة، ويقوم فك تشفير التسلسل بتوليد المسار المجزأ. يوضح اقتباس Python التالي وحدة PyTorch مفاهيمية (كبديل لـ TensorFlow) تقبل حالة البيئة - مثل تلك المشتقة من تمريرة object detection - وتخرج تسلسلاً للأجراءات المستقبلية.
import torch
import torch.nn as nn
class ActionChunker(nn.Module):
def __init__(self, state_dim, action_dim, chunk_size):
super().__init__()
# Maps the current state to a sequence of future actions
self.decoder = nn.Linear(state_dim, chunk_size * action_dim)
self.chunk_size = chunk_size
self.action_dim = action_dim
def forward(self, state):
# Predict the entire action chunk at once
chunk = self.decoder(state)
return chunk.view(-1, self.chunk_size, self.action_dim)
# Example: 128-dim state, 6 degrees of freedom, 50-step chunk
model = ActionChunker(state_dim=128, action_dim=6, chunk_size=50)
# Generate a 50-step action trajectory from a single observation
current_state = torch.randn(1, 128)
action_trajectory = model(current_state)
print(f"Action Chunk Shape: {action_trajectory.shape}")إدارة مجموعات البيانات الضخمة المطلوبة لتدريب سياسات الروبوتات هذه تستهلك موارد مكثفة. يقود قادة الصناعة مثل OpenAI و Anthropic النماذج واسعة النطاق، لكن المطورين اليوميين يعتمدون على الأدوات القابلة للوصول. تعمل منصة Ultralytics Platform على تبسيط دورة حياة البيانات للمدخلات المرئية، حيث توفر قدرات data annotation التلقائية وإمكانيات model training السلسة. مع تطور النماذج نحو بنيات رؤية-لغة-حركة (VLA) الموحدة، سيستمر الجمع بين أنظمة الرؤية الفعالة وتقسيم الإجراءات القوي في تحديد الجيل القادم من الأتمتة الذكية.






