در شبکههای پیامرسان گرافی، ویژگیِ گره میتواند از ویژگیِ همسایههای مشخصشده با یالها اثر بگیرد. «همسایه» را ساختار گراف تعیین میکند، نه صرفِ نزدیکبودن دو ردیف در فایل. این تمرین فقط یک قاعدهٔ سادهٔ انتشار پیام را اجرا میکند؛ وزن آموختهشده، آموزش شبکه یا اجرای PyTorch Geometric ندارد.
جهت یال و ویژگیِ آغاز
چهار گرهٔ ساختگی A=۱،B=۲،C=۴وD=۸داریم. یالها A→B،C→BوB→Cهستند؛ Dمنزوی است. هر یال، پیامِ ویژگیِ قبلیِ مبدأ را به مقصد میرساند. برای هر مقصد، میانگینِ پیامهای ورودی را با ویژگیِ قبلیِ خودش جمع میکنیم. یال self-loop اضافه نکردهایم؛ سهم خودِ گره در فرمول update جدا آمده است.
اگر ورودیِ گره خالی باشد، میانگینِ قراردادیِ پیام را صفر میگذاریم. این انتخابِ تمرین است و به معنی میانگین ریاضیِ یک مجموعهٔ خالی یا رفتار همسانِ همهٔ لایههای GNN نیست.
یک گام برای همه، با نسخهٔ قبلی
| گره | پیامهای ورودی | میانگین | ویژگیِ تازه |
|---|---|---|---|
| A | ندارد | ۰، طبق قرارداد | ۱ |
| B | ۱و۴ | ۲٫۵ | ۴٫۵ |
| C | ۲ | ۲ | ۶ |
| D | ندارد | ۰، طبق قرارداد | ۸ |
در همین گام، Cباید مقدارِ قدیمِ Bیعنی۲را ببیند. اگر ابتدا Bرا در همان dictionary به۴٫۵تغییر دهیم و بعد Cاز آن بخواند، Cبه۸٫۵میرسد؛ این اجرای همزمانِ قرارداد ما نیست. کد نسخهٔ قبلیِ تمام گرهها را ثابت میگیرد و خروجی تازه میسازد.
در گام دوم، استفاده از B=۴٫۵مجاز است چون مربوط به پایان گام اول است؛ بنابراین Cاز۶به۱۰٫۵میرسد. تفاوت «دو گام درست» با «یک گامِ وابسته به ترتیبِ ویرایش» را در فایل واقعاً کنترل کردهایم.
کدام تغییر باید اثر بگذارد؟
برعکسکردنِ ترتیبِ فهرست همان سه یال، نتیجه را عوض نمیکند؛ میانگین به ترتیبِ جمع این دادههای دقیق وابسته نیست. تغییرِ نام گرهها، با تغییرِ همزمانِ همهٔ شناسههای یال، فقط نام خروجی را جابهجا میکند. ولی معکوسکردنِ جهت A→BبهB→Aساختار پیام را عوض میکند و نتیجه متفاوت میشود. هر سه حالت در Python آزموده شدهاند.
این کنترلها دربارهٔ Fraction و قاعدهٔ این نمونهاند؛ همارزی بیتیِ همهٔ جمعهای شناورِ موازی یا رفتارِ همهٔ کتابخانهها را ثابت نمیکنند. در گراف واقعی باید جهت، تکرارِ یال، وزن یال و سیاست گره منزوی مشخص باشند.
چرا این مثال، GCN کامل نیست؟
این گام پارامتری برای آموزش، تابع زیان یا ماتریس تبدیل ندارد. فقط بخشِ پیام، تجمیع و بهروزرسانی را برای فهم سازوکار جدا کردهایم. مدلهای واقعی میتوانند تبدیلهای آموختهشده و نرمالسازیِ درجه داشته باشند؛ نامِ meanرا بهتنهایی معادل GCNآموزشدیده نگیرید. شبکهٔ کوچک با عبور جلو قرارداد متفاوتی دارد.
Attention نیز ترکیب اطلاعات میسازد، اما مثالِ اینجا همسایگی را از یال صریح میگیرد و وزن Q/K/Vمحاسبه نمیکند. از این حساب، برتریِ کیفیت یک معماری یا کاربرد داخلی آن در اپرا نتیجه نمیگیریم.
فایل و قدم بعد
JSONورودی و قاعده را ثبت میکند؛ Pythonدو گام و آزمونِ جهت، ترتیب و نامگذاری را بازتولید میکند. برای یادگیری بیشتر به مسیر مبانی هوش مصنوعی بروید. در پروژهٔ واقعی، ابتدا معنی گره و یال، مجوز رابطه و خروجی مورد نیاز را روشن کنید؛ رسم یک گراف، شاهد درستی رابطههای جهان واقعی نیست.
فایل تمرین و منبع
گام پیام همزمان و آزمون جهت، ترتیب یال و تغییر نام گره · چهار گره، سه یال جهتدار و قاعدهٔ مشخصِ همزمان
منابع در ۳ نوامبر ۲۰۲۶ خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.