AGI & Research

یادگیری تقویتی آفلاین برای هوش مصنوعی عمومی ایمن: کاهش جابه‌جایی توزیع

مقدمه

ساخت هوش مصنوعی عمومی (AGI) به ایمنی و پایداری بی‌سابقه نیاز دارد. یادگیری تقویتی سنتی (RL) به عاملان اجازه می‌دهد محیط خود را کشف کنند و اقدامات پاداش‌آور را بیابند، اما هم‌زمان خطر شکست فاجعه‌بار را نیز به همراه دارد. در بافت‌های AGI، ما نمی‌توانیم ریسک آزمون و خطا را در دنیای واقعی بپذیریم. یادگیری تقویتی آفلاین (Offline RL) این مشکل را با یادگیری از مجموعه‌های داده ایستا و از پیش جمع‌آوری شده حل می‌کند. با این حال، یک چالش بزرگ باقی می‌ماند: جابه‌جایی توزیع. زمانی که عامل اقداماتی را خارج از دامنه مجموعه داده انتخاب می‌کند، تخمین‌های ارزش سیاست ناپایدار می‌شوند و ممکن است منجر به رفتارهای ناایمن شوند. این پست تکنیک‌هایی برای کاهش این ریسک در مجموعه‌های داده ایستا را بررسی می‌کند.

مسئله جابه‌جایی توزیع

در تنظیمات آفلاین، عامل نمی‌تواند برای دریافت پاداش‌های جدید از محیط سوال بپرسد. اگر عامل اقدامی $a$ را پیشنهاد دهد که به ندرت یا هرگز در مجموعه داده $D$ برای یک حالت $s$ خاص دیده نشده باشد، تابع Q $Q(s, a)$ در واقع در حال خارج‌یابی (Extrapolation) است. این خارج‌یابی می‌تواند خوش‌بینانه باشد و مقادیر بالایی را به اقدامات مشاهده‌نشده اختصاص دهد. برای ایمنی AGI، این خوش‌بینی خطرناک است؛ زیرا ممکن است عامل را به انتخاب اقداماتی سوق دهد که از نظر نظری پاداش بالایی دارند، اما در عمل فاجعه‌بار هستند. ما به الگوریتم‌هایی نیاز داریم که «بدبینانه» باشند و اقداماتی را که از دامنه داده فاصله دارند، تنبیه کنند.

CQL: یادگیری Q محافظه‌کارانه

یادگیری Q محافظه‌کارانه (CQL) یک رویکرد پیشرو برای حل این مسئله است. CQL به‌روزرسانی استاندارد بلمن را با افزودن یک جمله منظم‌ساز (Regularization) اصلاح می‌کند که تشویق می‌کند مقادیر Q برای اقدامات موجود در مجموعه داده بالا بمانند، در حالی که مقادیر Q برای اقدامات خارج از توزیع پایین نگه داشته می‌شوند. به طور خلاصه، این روش یک کران پایین برای تابع Q را یاد می‌گیرد. در اینجا یک پیاده‌سازی مفهومی ساده‌شده از تابع هزینه CQL در PyTorch آورده شده است:

import torch
import torch.nn.functional as F

def cql_loss(q_values, q_values_min, q_values_data, alpha_cql):
    """
    q_values: Q(s, a) برای تمام اقدامات ممکن
    q_values_min: حداقل Q(s, a) روی اقدامات
    q_values_data: Q(s, a_data) برای اقدامات از مجموعه داده
    alpha_cql: وزن منظم‌ساز
    """
    # جمله استاندارد هزینه بلمن در جای دیگری در حلقه آموزش مدیریت می‌شود
    # این جمله منظم‌ساز اختصاصی CQL است
    
    # تشویق به Q بالا برای اقدامات داده
    q_data_loss = -q_values_data.mean()
    
    # تشویق به Q پایین برای سایر اقدامات (از طریق نرمال‌سازی min-max)
    # حداکثر روی اقدامات - حداقل روی اقدامات
    q_all_loss = q_values.max(dim=1).values.mean() - q_values_min.mean()
    
    # ترکیب
    loss_cql = alpha_cql * (q_all_loss - q_data_loss)
    return loss_cql

# استفاده در حلقه آموزش (ساده‌شده)
# total_loss = td_loss + cql_loss(...)
با به حداقل رساندن این هزینه، عامل محافظه‌کارانه می‌شود. آن اقداماتی را ترجیح می‌دهد که مشابه اقدامات موجود در مجموعه داده هستند، حتی اگر یک اقدام کمی متفاوت ممکن است از نظر نظری پاداش بالاتری به همراه داشته باشد. این معامله (Trade-off) برای ایمنی حیاتی است: ما یک سیاست بهینه‌نشدنی را می‌پذیریم تا از استحکام و پیش‌بینی‌پذاری اطمینان حاصل کنیم.

یادگیری Q ضمنی (IQL)

روش قدرتمند دیگر، یادگیری Q ضمنی (IQL) است. IQL با استفاده از یک فرآیند دو مرحله‌ای، از ارزیابی مقادیر Q برای اقدامات خارج از توزیع به طور کامل اجتناب می‌کند. ابتدا، یک تابع ارزش $V(s)$ را یاد می‌گیرد که یک کران بالا برای بازده مورد انتظار تحت سیاست رفتار است. سپس، یک تابع Q را یاد می‌گیرد که به این تابع ارزش هدف‌گیری می‌کند، اما فقط برای اقداماتی که از مجموعه داده نمونه‌برداری شده‌اند. این بدان معناست که تابع Q هرگز مجبور نمی‌شود مقادیر را برای اقداماتی تخمین بزند که احتمال انتخاب توسط سیاست مشتق شده از داده کم است. مزیت کلیدی IQL نسبت به CQL این است که نیاز به تنظیم ضریب منظم‌ساز (مانند $\alpha_{CQL}$) ندارد که می‌تواند حساس باشد. IQL به طور طبیعی تعادلی بین عملکرد و ایمنی ایجاد می‌کند با ماندن درون «محدوده ایمن» داده‌های مشاهده شده.

نکات پیاده‌سازی عملی

هنگام پیاده‌سازی این روش‌ها برای آموزش AGI: 1. **کیفیت مجموعه داده پادشاه است:** اطمینان حاصل کنید که مجموعه داده ایستای شما فضای حالت را به طور کافی پوشش می‌دهد. شکاف‌ها در داده منجر به شکاف‌ها در ایمنی می‌شوند. 2. **حساسیت به پارامترهای فرا:** حتی با IQL، پارامترهای فرا مانند دما (Temperature) برای وزن‌دهی انتظاری (Expectation) می‌تواند بر میزان محافظه‌کاری عامل تأثیر بگذارد. با پیش‌فرض‌ها شروع کنید و با دقت تنظیم کنید. 3. **شاخص‌های ارزیابی:** فقط بازده را اندازه‌گیری نکنید. «پوشش دامنه» سیاست را اندازه‌گیری کنید. از شاخص‌هایی مانند واگرایی کولباک-لایبلر بین سیاست آموخته شده و سیاست رفتار استفاده کنید. یک واگرایی بزرگ نشان‌دهنده ریسک‌های ایمنی بالقوه است.

نتیجه‌گیری

یادگیری تقویتی آفلاین با حذف نیاز به کشف زنده، مسیری برای آموزش ایمن‌تر AGI فراهم می‌کند. با این حال، چالش جابه‌جایی توزیع را معرفی می‌کند. با به کارگیری روش‌های محافظه‌کارانه مانند CQL یا IQL، می‌توانیم عاملانی را آموزش دهیم که هم عملکرد بالایی دارند و هم ایمن هستند، و در محدوده داده‌های شناخته شده و اعتبارسنجی شده می‌مانند. در حالی که به سمت AGI پیش می‌رویم، اولویت دادن به این مکانیزم‌های ایمنی فقط یک جزئیات فنی نیست—بلکه یک الزام بنیادین است. کارهای آینده باید بر تکنیک‌های منظم‌سازی تطبیقی تمرکزز کنند که بتوانند محافظه‌کاری را بر اساس تخمین‌های عدم قطعیت به طور پویا تنظیم کنند و شکاف بین عملکرد و ایمنی را بیشتر پر کنند. <<<
Share: