داده های گرافی چیست ؟
داده های گرافی چیست ؟
چه داد هایی با گراف مدل سازی می شود؟
گرافها یکی از قویترین و انعطافپذیرترین روشها برای نمایش دادهها هستند. احتمالاً با گرافها در زمینههایی مثل شبکههای اجتماعی آشنا هستید، اما گرافها میتوانند دادههای مختلفی مثل تصاویر و متن را هم مدل کنند، حتی اگر در نگاه اول این موضوع عجیب به نظر برسد. در این مقاله، نشان میدهیم که چگونه دادههایی مثل تصاویر و متن میتوانند به شکل گراف نمایش داده شوند و چگونه این دیدگاه به درک بهتر ساختار و تقارنهای دادهها کمک میکند. این شهود برای فهم دادههای گرافی پیچیدهتر، مثل شبکههای اجتماعی یا مولکولها، که بعداً بحث میکنیم، مفید خواهد بود.
تصاویر بهعنوان گراف
معمولاً تصاویر را بهصورت شبکههای مستطیلی از پیکسلها میبینیم که هر پیکسل شامل اطلاعاتی مثل مقادیر RGB (قرمز، سبز، آبی) است. اما میتوان تصاویر را با پیش فرض های زیر، بهعنوان گرافهایی با ساختار منظم تصور کرد:
- گرهها: هر پیکسل یک گره است.
- یالها: هر پیکسل به پیکسلهای مجاورش (معمولاً 8 پیکسل اطراف) متصل است.
- ویژگیها: هر گره شامل یک بردار سهبعدی است که مقادیر RGB پیکسل را نشان میدهد.
برای نمایش اتصالات گراف، میتوان از ماتریس مجاورت استفاده کرد. برای مثال، در یک تصویر ساده ( 5×5 ) (مثل یک شکلک خندان)، ماتریس مجاورت نشان میدهد کدام پیکسلها به هم متصلاند.

نمایش گرافی برای تصاویر معمولاً اضافی است، چون ساختار تصاویر بسیار منظم است (پیکسلها همیشه به 8 همسایه متصلاند)، اما این دیدگاه به درک بهتر گرافهای پیچیدهتر کمک میکند.
متن بهعنوان گراف
متن را معمولاً بهصورت دنبالهای از کاراکترها، کلمات یا توکنها میبینیم، مثلاً با اختصاص یک شاخص (index) به هر کلمه. میتوان متن را بهعنوان یک گراف جهتدار ساده مدل کرد:
- گرهها: هر کلمه یا کاراکتر یک گره است.
- یالها: هر گره به گره بعدی در دنباله متصل است (جهتدار، مثل فلش از کلمه اول به دوم).
- ویژگیها: ویژگی گره میتواند یک شاخص یا embedding کلمه باشد.

نکته: این نمایش برای متن در مدلهای RNN (شبکههای عصبی بازگشتی) معمول است. اما مدلهای پیشرفتهتر مثل ترنسفورمرها متن را بهعنوان گرافی کاملاً متصل میبینند که روابط بین همه توکنها را یاد میگیرند (در بخش شبکههای توجه گرافی توضیح داده خواهد شد).
گرافها در دنیای واقعی
گرافها ابزارهای مفیدی برای نمایش دادههایی هستند که ساختار پیچیدهتری دارند و نمیتوان آنها را بهراحتی بهصورت شبکه یا دنباله نشان داد. در این دادهها، تعداد همسایگان هر گره متغیر است (برخلاف تصاویر و متن که ساختار منظمی دارند). چند مثال مهم:
مولکولها بهعنوان گراف
مولکولها ساختارهای سهبعدی از اتمها و پیوندها هستند. میتوان آنها را بهصورت گراف مدل کرد:
- گرهها: اتمها (مثل کربن، اکسیژن).
- یالها: پیوندهای شیمیایی (مثل پیوند تک یا دوگانه).
- ویژگیها: ویژگیهای گره میتواند نوع اتم یا خواص شیمیایی باشد.

شبکههای ارجاع ها بهعنوان گراف
در علم، مقالات با ارجاعات به یکدیگر شبکهای را تشکیل میدهند:
- گرهها: مقالات علمی.
- یالها: ارجاع ها (جهتدار، از مقالهای به مقاله دیگر).
- ویژگیها: میتواند شامل چکیده مقاله باشد.
برخلاف دادههای تصویری و متنی، شبکههای اجتماعی ماتریسهای مجاورت تقارن ندارند.
بازنشانی گراف چیست؟
در یادگیری ماشین معمولی، دادهها بهصورت جدول ویژگیها (feature vectors) هستند.
اما در گرافها، دادهها ساختار یافتهاند:
- گرهها (Nodes) → اشیا یا موجودیتها
- یالها (Edges) → ارتباط بین گرهها
پس باید این ساختار را بهصورت بردارهای قابل پردازش برای مدلهای یادگیری تبدیل کنیم به این فرآیند میگویند بازنمایی (Embedding / Representation) گراف می گویند.
انواع بازنشانی دادههای گرافی
ما چند نمونه از گرافهای واقعی را دیدیم، اما چه کارهایی میتوانیم با این دادهها انجام دهیم؟ سه نوع اصلی وظیفه پیشبینی در گرافها وجود دارد:
- سطح گراف (Graph-Level): پیشبینی یک ویژگی برای کل گراف (مثل سمی بودن یک مولکول).
- سطح گره (Node-Level): پیشبینی ویژگی برای هر گره (مثل علاقه یک فرد در شبکه اجتماعی).
- سطح یال (Edge-Level): پیشبینی وجود یا ویژگی یالها (مثل پیشبینی دوستی).
| سطح | هدف بازنشانی | مثال کاربرد |
|---|---|---|
| گره (Node-level) | نمایش هر گره بهصورت یک بردار ویژگی | طبقهبندی گره (node classification)، پیشبینی ویژگی گره |
| یال (Edge-level) | نمایش رابطه بین دو گره | پیشبینی لینک (link prediction)، وزندهی روابط |
| گراف (Graph-level) | نمایش کل گراف بهصورت یک بردار واحد | طبقهبندی گراف (graph classification)، رگرسیون گراف (مثل پیشبینی خواص مولکولی) |
این مسائل همگی میتوانند با یک نوع مدل، یعنی شبکههای عصبی گرافی (GNN)، حل شوند. در مقالات بعدی، جزئیات این وظایف را بررسی میکنیم.
وظایف سطح گراف
هدف در سطح گراف پیشبینی یک ویژگی برای کل گراف می باشد (مثلا پیشبینی اینکه آیا یک مولکول به گیرنده بیماری متصل میشود یا تعیین عملکرد یک پروتئین)
خروجی برای این سطح وظیفه یک مقدار واحد خواهد بود (مثل برچسب باینری یا عدد برای اهداف کلاس بندی و رگرسیون).

وظایف سطح گره
هدف وظایف سطح گره، پیشبینی ویژگی برای هر گره با توجه به همسایگانش می باشد(به عنوان مثال طبقهبندی افراد در شبکه اجتماعی، تعیین نقش اسیدهای آمینه در پروتئین)
خروجی در این حالت بردار ویژگیهای نهایی بهاندازه تعداد گرهها می باشد(مثلا در مسایل کلاس بندی، رگرسیون و خوشه بندی هر گره کاربرد دارد).

در سمت چپ شرایط اولیه مسئله و در سمت راست یک راهحل ممکن را داریم که در آن هر گره بر اساس همسایگی هایش طبقهبندی شده است. این مجموعه داده میتواند در سایر مسائل گراف مانند یادگیری بدون نظارت نیز مورد استفاده قرار گیرد.
وظایف سطح یال
هدف این سطح از وظایف پیشبینی وجود یا ویژگی یالها است (به عنوان مثال پیشبینی دوستی در شبکه اجتماعی، میزان اثر گذاری دو بین دو گره) .
در نهایت خروجی ماتریس (nxn) یا لیستی از یالها خواهد بود.
برای دک بهتر این نوع مساله ها در شکل زیر تصویر به پنج عنصر (سه مبارز، زمین و تماشاچی ها) دسته بندی شده است و برای رابطه بین هر مولفه عکس به صورت نگاه کردن، ایستادن و مبارزه کردن بر روی هر یال تعریف شده است.

که در نمایه سازی به صورت گراف شکل زیر را خواهیم داشت که با برچسب های احتمالی مناسب لیبل گذاری شده است.

جمع بندی مطالب
برای درک بهتر بازنشانی گراف می توان به جدول زیر اشاره کرد. پس از بازنشانی گراف با توجه به سطح وظیفه می توان وظیفه نهایی که کلاس بندی رگرسیون خوشه بندی و .. می باشد را با شبکه های عصبی گرافی انجام داد. در مقالات بعدی این نوع شبکه های عصبی به تفضیل شرح داده خواهد شد.
| سطح | نوع مسئله | مثال |
|---|---|---|
| گره | طبقهبندی گره (Node Classification) | تشخیص نوع کاربر در شبکه اجتماعی |
| گره | رگرسیون گره | پیشبینی مقدار ویژگی گره (مثلاً اعتبار کاربر) |
| یال | پیشبینی لینک (Link Prediction) | پیشبینی ارتباط جدید در شبکه اجتماعی |
| یال | رگرسیون یال | تخمین وزن یا هزینه بین دو نود (مثلاً فاصله یا احتمال) |
| گراف | طبقهبندی گراف (Graph Classification) | تشخیص نوع مولکول یا شبکه |
| گراف | رگرسیون گراف | پیشبینی عددی ویژگی گراف (مثلاً انرژی پیوند) |

دیدگاه (1)
Elia
چه ساده و روان ممنون از شما