در این پست وبلاگ، اصول یادگیری ماشین گراف را پوشش میدهیم.
ما ابتدا مطالعه میکنیم که گراف چیست، چرا از آنها استفاده میشود و چگونه آنها را به بهترین شکل نشان دهیم. سپس به طور مختصر نحوه یادگیری بر روی گرافها، از روشهای Pre-Neural (کاوش در ویژگیهای گراف به طور همزمان) تا آنچه که معمولاً شبکههای عصبی گراف نامیده میشوند، پوشش میدهیم. در نهایت، ما به دنیای Transformers برای گرافها نگاه میکنیم.
گراف چیست؟
در اصل، یک گراف توصیفی از مواردی است که توسط روابط به هم مرتبط شدهاند.
نمونههایی از گرافها شامل شبکههای اجتماعی (توئیتر، ماستودون، هر شبکه استنادی که مقالات و نویسندگان را به هم پیوند میدهد)، مولکولها، گرافهای دانش(مانند گرافهای UML، دایرهالمعارفها، و هر وبسایتی با پیوند بین صفحات آن)، جملاتی که بهعنوان درخت نحوی آنها بیان میشوند، هر مش سه بعدی، و بیشتر! بنابراین، هذلولی نیست که بگوییم گرافها همه جا هستند.
آیتمهای یک گراف (یا شبکه) گرهها (یا رئوس) و اتصالات آنها لبهها (یا پیوندها) نامیده میشوند. به عنوان مثال، در یک شبکه اجتماعی، گرهها کاربران هستند و اتصالات آنها را لبه میکنند. در یک مولکول، گرهها اتم و لبههای پیوند مولکولی آنها هستند.
· یک گراف با گرههای تایپشده یا لبههای تایپشده ناهمگن نامیده میشود (مثال: شبکههای استنادی با مواردی که میتوانند مقاله باشند یا نویسندگان، گرههای تایپشده دارند، و گراف XML که در آن روابط تایپ میشود، دارای لبههای تایپشده است). نمیتوان آن را صرفاً از طریق توپولوژی آن نشان داد، به اطلاعات اضافی نیاز دارد. این پست بر روی گرافهای همگن تمرکز دارد.
· یک گراف همچنین میتواند جهتدار باشد (مانند یک شبکه پیرو، که در آن A به دنبال B است، به این معنی نیست که B به دنبال A است) یا غیر جهتدار (مانند یک مولکول، که در آن رابطه بین اتمها به هر دو سمت میرود). لبهها میتوانند گرههای مختلف یا یک گره را به خود متصل کنند (خود لبهها)، اما همه گرهها نیازی به اتصال ندارند.
اگر میخواهید از دادههای خود استفاده کنید، ابتدا باید بهترین خصوصیات آن را در نظر بگیرید (همگن/ناهمگن، جهتدار/غیر جهتدار و غیره).
گرافها برای چه مواردی استفاده میشوند؟
بیایید به کارهای احتمالی که میتوانیم روی گرافها انجام دهیم نگاه کنیم.
در سطح گراف، وظایف اصلی عبارتند از:
· تولید گراف، که در کشف دارو برای تولید مولکولهای قابل قبول جدید استفاده میشود،
· تکامل گراف (با توجه به یک گراف، پیشبینی چگونگی تکامل آن در طول زمان)، در فیزیک برای پیش بینی تکامل سیستمها استفاده میشود.
· پیشبینی سطح گراف (تکلیفهای دستهبندی یا رگرسیون از گرافها)، مانند پیشبینی سمیت مولکولها.
در سطح گره، معمولاً یک پیشبینی ویژگی گره است. به عنوان مثال، Alphafold از پیشبینی ویژگی گره برای پیشبینی مختصات سه بعدی اتمها با توجه به گراف کلی مولکول استفاده میکند، و بنابراین پیشبینی میکند که چگونه مولکولها در فضای سهبعدی تا، یک مسئله زیست شیمی سخت میشوند.
در سطح لبه، یا پیشبینی ویژگی لبه یا پیشبینی لبه گم شده است. پیشبینی ویژگی لبه به پیشبینی عوارض جانبی دارو کمک میکند تا با توجه به یک جفت دارو، عوارض جانبی نامطلوب را پیشبینی کند. پیشبینی لبه گمشده در سیستمهای پیشنهادی برای پیشبینی مرتبط بودن دو گره در یک گراف استفاده میشود.
همچنین می توان در سطح زیرگراف روی تشخیص انجمن یا پیشبینی ویژگی زیرگراف کار کرد. شبکههای اجتماعی از تشخیص انجمن برای تعیین نحوه ارتباط افراد استفاده میکنند. پیشبینی ویژگی زیرگراف را میتوان در سیستمهای سفر (مانند نقشههای گوگل) برای پیشبینی زمانهای تخمینی رسیدن پیدا کرد.
کار بر روی این وظایف به دو صورت انجام میشود:
وقتی میخواهید تکامل یک گراف خاص را پیشبینی کنید، در یک محیط انتقالی کار میکنید، جایی که همه چیز (آموزش، اعتبارسنجی و آزمایش) روی همان گراف واحد انجام میشود. اگر این تنظیمات شماست، مراقب باشید! ایجاد مجموعه داده های train/eval/test از یک نمودار بی اهمیت نیست. با این حال، بسیاری از کارها با استفاده از گرافهای مختلف انجام میشود (تقسیمهای جداگانه train/eval/test)، که به آن تنظیم استقرایی میگویند.
چگونه گرافها را نشان میدهیم؟
روشهای متداول برای بازنمایی یک گراف برای پردازش و عملکرد آن عبارتند از:
· به عنوان مجموعه تمام لبههای آن (احتمالاً با مجموعه تمام گرههای آن تکمیل شده است)
· یا به عنوان ماتریس مجاورت بین تمام گرههای آن. ماتریس مجاورت یک ماتریس مربعی (اندازه گره × اندازه گره) است که نشان میدهد کدام گرهها مستقیماً به کدام گرهها متصل هستند (که در آن (A_{ij} = 1) اگر (n_i) و (n_j) وصل شده باشند، در غیر این صورت 0). توجه: بیشتر گرافها به طور متراکم به هم متصل نیستند و بنابراین دارای ماتریسهای مجاورت پراکنده هستند که میتواند محاسبات را سختتر کند.
با این حال، اگرچه این بازنماییها آشنا به نظر میرسند، فریب نخورید!
گرافها با اشیاء معمولی مورد استفاده در ML بسیار متفاوت هستند، زیرا توپولوژی آنها پیچیدهتر از یک "توالی" (مانند متن و صدا) یا "یک شبکه مرتب شده" (مثلاً تصاویر و ویدئوها) است: حتی اگر بتوان آنها را بازنمایی آنها به صورت لیست یا ماتریس، نباید یک شی مرتب شده در نظر گرفته شود!
اما این به چه معناست؟ اگر جملهای داشته باشید و کلمات آن را به هم بزنید، یک جمله جدید ایجاد میکنید. اگر یک تصویر دارید و ستونهای آن را مجدداً مرتب میکنید، یک تصویر جدید ایجاد میکنید.
در سمت چپ، لوگوی Hugging Face - در سمت راست، یک لوگوی به هم ریخته Hugging Face، که یک تصویر جدید کاملا متفاوت است.
این مورد برای یک گراف صدق نمیکند: اگر لیست لبههای آن یا ستونهای ماتریس مجاورت آن را به هم بزنید، همچنان همان گراف است. (ما این را به صورت رسمیتر کمی پایینتر توضیح میدهیم، به دنبال تغییر ناپذیری جایگشت باشید).
در سمت چپ، یک گراف کوچک (گرهها به رنگ زرد، لبهها به رنگ نارنجی). در مرکز، ماتریس مجاورت آن، با ستونها و ردیفهایی که به ترتیب حروف الفبا مرتب شدهاند: در ردیف گره A(ردیف اول)، میتوانیم بخوانیم که به E و C متصل است. در سمت راست، یک ماتریس مجاورت به هم ریخته است. (ستونها دیگر بر اساس حروف الفبا مرتب نمیشوند)، که همچنین یک بازنمایی معتبر از گراف است: A هنوز به E و C متصل است.
بازنمایی گراف از طریق ML
فرآیند معمول کار بر روی گرافها با یادگیری ماشینی، ابتدا ایجاد یک بازنمایی معنادار برای موارد مورد علاقه شما (گرهها، لبهها یا گرافهای کامل بسته به وظیفه شما)، سپس استفاده از آنها برای آموزش یک پیش بینی برای کار هدف خود است. ما میخواهیم (مانند سایر روشها) بازنماییهای ریاضی اشیاء شما را به گونهای محدود کنیم که اشیاء مشابه از نظر ریاضی نزدیک باشند. با این حال، تعریف دقیق این شباهت در گراف ML دشوار است: به عنوان مثال، آیا دو گره زمانی که برچسبهای یکسانی دارند یا همسایههای مشابهی دارند شبیهتر هستند؟
توجه: در بخشهای بعدی، ما بر روی تولید بازنمایی گرهها تمرکز خواهیم کرد. هنگامی که بازنماییهای سطح گره را دارید، میتوانید اطلاعات مربوط به لبه یا گراف را بدست آورید. برای اطلاعات سطح لبه، میتوانید نمایشهای جفت گره را به هم متصل کنید یا یک محصول نقطهای انجام دهید. برای اطلاعات در سطح گراف، میتوان یک ادغام سراسری (میانگین، مجموع، و غیره) روی تانسور به هم پیوسته تمام بازنماییهای سطح گره انجام داد. با این حال، آن را هموار میکند و اطلاعات را روی گراف از دست میدهد - یک ادغام سلسله مراتبی بازگشتی میتواند منطقیتر باشد یا یک گره مجازی را اضافه کند که به تمام گرههای دیگر در گراف متصل است و از بازنمایی آن به عنوان بازنمایی کلی گراف استفاده کند.
رویکردهای Pre-neural
به سادگی با استفاده از ویژگیهای مهندسی شده
قبل از شبکههای عصبی، گرافها و آیتمهای مورد علاقه آنها را میتوان به صورت ترکیبی از ویژگیها، به روشی خاص، بازنمایی نمود. در حال حاضر، این ویژگیها هنوز برای تقویت دادهها و یادگیری نیمه نظارتی استفاده میشوند، اگرچه روشهای پیچیدهتری برای تولید ویژگی وجود دارد. پیدا کردن بهترین راه برای ارائه آنها به شبکه شما بسته به وظیفه شما میتواند ضروری باشد.
ویژگیهای سطح گره میتوانند اطلاعاتی در مورد اهمیت (این گره برای گراف چقدر مهم است؟) و/یا بر اساس ساختار (شکل گره اطراف گره چیست؟) ارائه دهد و میتواند ترکیب شود.
مرکزیت گره اهمیت گره را در گراف اندازهگیری میکند. میتوان آن را به صورت بازگشتی با جمع کردن مرکزیت همسایگان هر گره تا زمان همگرایی یا از طریق اندازهگیریهای کوتاهترین فاصله بین گرهها محاسبه کرد. درجه گره تعداد همسایگان مستقیمی است که دارد. ضریب خوشهبندی میزان اتصال همسایگان گره را اندازه میگیرد. بردارهای درجه گرافلت تعداد گرافلتهای مختلف را در یک گره مشخص میشمارند، که در آن گرافلتها تمام گرافهای کوچکی هستند که میتوانید با تعداد معینی از گرههای متصل ایجاد کنید (با سه گره متصل، میتوانید یک خط با دو یال یا یک مثلث با سه لبه داشته باشید).
گرافهای 2 تا 5 گره (Pržulj، 2007)
ویژگیهای سطح لبه، بازنمایی را با اطلاعات دقیقتر در مورد اتصال گرهها تکمیل میکنند و شامل کوتاهترین فاصله بین دو گره، همسایههای مشترک آنها و شاخص کاتز آنها (که تعداد راههای ممکن تا یک طول معین بین دو گره – میتوان آن را مستقیماً از ماتریس مجاورت محاسبه کرد).
ویژگیهای سطح گراف حاوی اطلاعات سطح بالا در مورد شباهت و ویژگیهای گراف است. تعداد کل گرافلتها، اگرچه از نظر محاسباتی گران است، اطلاعاتی در مورد شکل زیر گرافها ارائه میدهد. روشهای کرنل شباهت بین گرافها را از طریق روشهای مختلف «کیف گرهها» (مشابه با کیسه کلمات) اندازهگیری میکنند.
رویکردهای مبتنی بر پیادهروی
رویکردهای مبتنی بر پیادهروی از احتمال بازدید از گره j از گره i در پیادهروی تصادفی برای تعریف معیارهای شباهت استفاده میکنند. این رویکردها اطلاعات محلی و سراسری را با هم ترکیب میکنند. به عنوان مثال، Node2Vec، پیادهرویهای تصادفی را بین گرههای یک گراف شبیهسازی میکند، سپس این پیادهرویها را با یک skip-gram پردازش میکند، دقیقاً مانند کاری که با کلمات در جملات انجام میدهیم، تا تعبیهها را محاسبه کنیم. این رویکردها همچنین میتوانند برای سرعت بخشیدن به محاسبات روش رتبه صفحه استفاده شوند، که به هر گره یک امتیاز اهمیت اختصاص میدهد (برای مثال، بر اساس اتصال آن به گرههای دیگر، که به عنوان دفعات بازدید از طریق پیادهروی تصادفی ارزیابی میشود).
با این حال، این روشها محدودیتهایی دارند: نمیتوانند تعبیههایی را برای گرههای جدید به دست آورند، شباهت ساختاری بین گرهها را به خوبی دریافت نمیکنند، و نمیتوانند از ویژگیهای اضافه شده استفاده کنند.
شبکه های عصبی گراف
شبکههای عصبی میتوانند به دادههای دیده نشده تعمیم دهند. با توجه به محدودیتهای بازنماییی که قبلاً بیان کردیم، یک شبکه عصبی خوب برای کار بر روی گرافها چگونه باید باشد؟
باید:
· جایگشت ثابت باشد:
o معادله: f(P(G)) = f(G) با f شبکه، P تابع جایگشت، G گراف
o توضیح: بازنمایی یک گراف و جایگشت آن باید پس از عبور از شبکه یکسان باشد
· معادل جایگشت باشد
o معادله: P(f(G)) = f(P(G)) با f شبکه، P تابع جایگشت، G گراف
o توضیح: جایگشت گرهها قبل از ارسال آنها به شبکه باید معادل تغییر بازنمایی آنها باشد.
شبکههای عصبی معمولی، مانند RNN یا CNN، جایگشت ثابت نیستند. بنابراین یک معماری جدید، شبکه عصبی گراف، معرفی شد (در ابتدا به عنوان یک ماشین مبتنی بر حالت[1]).
یک GNN از لایههای متوالی ساخته شده است. یک لایه GNN یک گره را به عنوان ترکیب (تجمیع[2]) بازنمایی همسایگانش و خودش از لایه قبلی (ارسال پیام[3])، به علاوه معمولاً یک فعالسازی برای اضافه کردن مقداری غیرخطی نشان میدهد.
مقایسه با مدلهای دیگر: یک CNN را میتوان بهعنوان یک GNN با اندازههای همسایه ثابت (از طریق پنجره کشویی) و مرتب (معادل جایگشتی نیست) مشاهده کرد. یک ترانسفورمر بدون تعبیههای موقعیتی را میتوان به عنوان یک GNN در یک گراف ورودی کاملاً متصل مشاهده کرد.
تجمیع و ارسال پیام
راههای زیادی برای تجمیع پیامها از گرههای همسایه وجود دارد، مثلاً جمعآوری، میانگینگیری. برخی از آثار قابل توجه پیرو این ایده عبارتند از:
· Graph Convolutional Networks بازنمایی نرمال شده همسایگان را برای یک گره میانگین میدهد (اکثر GNNها در واقع GCN هستند).
· شبکههای توجه گراف یاد میگیرند که همسایههای مختلف را بر اساس اهمیت آنها (مانند ترانسفورمر) وزن کنند.
· GraphSAGE از همسایگان در پرشهای مختلف نمونهبرداری میکند قبل از اینکه اطلاعات آنها را در چندین مرحله با حداکثر ادغام جمع کند.
· شبکه ایزومورفیسم گراف، بازنمایی را با اعمال یک MLP در مجموع بازنمایی گرههای همسایه جمع میکند.
انتخاب تجمیع: برخی از تکنیکهای تجمیع (به ویژه ادغام میانگین/حداکثر) میتوانند هنگام ایجاد بازنماییهایی که گرهها را با همسایگیهای مختلف گرههای مشابه متمایز میکنند، با موارد شکست مواجه شوند (مثلاً: از طریق ادغام میانگین، همسایگی با 4 گره، که به صورت 1،1 نشان داده میشود، -1،-1 که میانگین آن 0 است، با گرهی که تنها 3 گره به صورت -1 نشان داده شده است، تفاوتی نخواهد داشت. 0، 1).
شکل GNN و مسئله هموارسازی بیش از حد[4]
در هر لایه جدید، بازنمایی گره شامل گرههای بیشتر و بیشتری میشود.
یک گره، از طریق لایه اول، تجمع همسایگان مستقیم خود است. از طریق لایه دوم، هنوز هم تجمع همسایگان مستقیم خود است، اما این بار، بازنمایی آنها شامل همسایگان خود (از لایه اول) است. پس از n لایه، بازنمایی همه گرهها به صورت تجمعی از همه همسایگان آنها در فاصله n تبدیل میشود، بنابراین، اگر قطر آن کوچکتر از n باشد، گراف کامل میشود!
اگر شبکه شما دارای لایههای بسیار زیادی باشد، این خطر وجود دارد که هر گره به انباشتگی از گراف کامل تبدیل شود (و بازنمایی گرهها برای همه گرهها به یک واحد همگرا شوند). به این مسئله هموارسازی بیش از حد میگویند.
این را میتوان با موارد زیر حل کرد:
· مقیاسبندی GNN به گونهای که تعداد لایه به اندازه کافی کوچک باشد که هر گره را به عنوان کل شبکه تقریب نکند (ابتدا با تجزیه و تحلیل قطر و شکل گراف)
· افزایش پیچیدگی لایهها
· افزودن لایههای غیر ارسال پیام برای پردازش پیامها (مانند MLPهای ساده)
· افزودن اتصالات پرش
مسئله هموارسازی بیش از حد یک حوزه مهم مطالعه در گراف ML است، زیرا از بزرگ شدن GNNها جلوگیری میکند، مانند ترانسفورمرها که در روشهای دیگر نشان داده شده است.
ترانسفورمرهای گراف
یک ترانسفورمر بدون لایه رمزگذاری موقعیتی آن تغییر ناپذیر است و ترانسفورمرها به خوبی مقیاس میشوند، بنابراین اخیراً مردم شروع به تطبیق ترانسفورمرها با گرافها کردهاند (Survey). اکثر روشها با جستجوی بهترین ویژگیها و بهترین روشها برای بازنمایی اطلاعات موقعیتی و تغییر توجه به تناسب این دادههای جدید، بر بهترین روشهای بازنمایی گرافها تمرکز میکنند.
در اینجا چند روش جالب وجود دارد که نتایج پیشرفتهای را به دست میآورد یا به یکی از سختترین معیارهای موجود در زمان نگارش، یعنی معیار گراف باز استنفورد بسته میشود:
· Graph Transformer for Graph-to-Sequence Learning (سای و لم, 2020) یک رمزگذار گراف را معرفی کرد که گرهها را به عنوان الحاقی از تعبیهها و تعبیههای موقعیتی آنها نشان میدهد، روابط گرهها را به عنوان کوتاهترین مسیرهای بین آنها، و هر دو را در یک رابطه افزایش توجه به خود ترکیب میکند.
· بازاندیشی ترانسفورمرهای گراف با توجه طیفی (کروزر و همکاران، 2021) شبکههای توجه طیفی[5] (SANs) را معرفی کردند. این ویژگیهای گره را با رمزگذاری موقعیتی آموختهشده (محاسبهشده از بردارها/مقدارهای ویژه لاپلاسی) ترکیب میکنند تا بهعنوان کلید و پرسوجو در توجه مورد استفاده قرار گیرند، با مقادیر توجه که ویژگیهای لبه هستند.
· GRPE: Relative Positional Encoding for Graph Transformer (پارک و همکاران، 2021) ترانسفورمر رمزگذاری موقعیت نسبی گراف را معرفی کرد. این یک گراف را با ترکیب یک رمزگذاری موقعیتی در سطح گراف با اطلاعات گره، رمزگذاری موقعیتی سطح لبه با اطلاعات گره، و ترکیب هر دو در توجه نشان میدهد.
· توجه سراسری به عنوان جایگزینی برای پیچیدگی گراف (حسین و همکاران, 2021) ترانسفورمر Edge Augmented را معرفی کرد. این معماری گرهها و لبهها را به طور جداگانه تعبیه میکند و آنها را در یک توجه اصلاح شده جمع میکند.
· آیا Transformers Really Perform Badly for Graph Representation (یینگ و همکاران، 2021) Graphormer مایکروسافت را معرفی میکند که در زمان انتشار رتبه اول را در OGB کسب کرد. این معماری از ویژگیهای گره به عنوان پرس و جو/کلید/مقدار در توجه استفاده میکند و بازنمایی آنها را با ترکیبی از رمزگذاری مرکزی، فضایی و لبه در مکانیسم توجه جمع میکند.
جدیدترین رویکرد Pure Transformers are Powerful Graph Learners هستند (کیم و همکاران, 2022) که TokenGT را معرفی کرد. این روش گرافهای ورودی را به عنوان دنبالهای از تعبیه گرهها و لبهها (افزوده شده با شناسه گرههای متعارف و شناسههای نوع قابل آموزش)، بدون تعبیه موقعیتی نشان میدهد و این دنباله را به عنوان ورودی به ترانسفورمرها ارائه میدهد. بسیار ساده و در عین حال هوشمند است!
کمی متفاوت، دستور العمل برای یک ترانسفورمر گراف عمومی، قدرتمند و مقیاسپذیر (رامپاسک و همکاران، 2022) نه یک مدل، بلکه یک چارچوب به نام GraphGPS را معرفی میکند. این اجازه میدهد تا شبکههای ارسال پیام را با ترانسفورمرهای خطی (Long Range) ترکیب کنید تا به راحتی شبکههای ترکیبی ایجاد کنید. این چارچوب همچنین شامل چندین ابزار برای محاسبه رمزگذاریهای موقعیتی و ساختاری (سطح گره، گراف، لبه)، افزایش ویژگیها، پیادهرویهای تصادفی و غیره است.
استفاده از ترانسفورمرها برای گرافها هنوز در مراحل ابتدایی خود بسیار یک زمینه است، اما امیدوارکننده به نظر میرسد، زیرا میتواند چندین محدودیت GNNها، مانند مقیاسبندی به گرافهای بزرگتر/ متراکمتر، یا افزایش اندازه مدل بدون هموارسازی بیش از حد را کاهش دهد.
منابع بیشتر
اگر میخواهید عمیقتر شوید، میتوانید به برخی از این دورهها نگاه کنید:
آموزش بازنمایی گراف مک گیل
فرمت ویدیویی
کتابها
نظرسنجیها
جهت تحقیق
· GraphML in 2023 summarizes plausible interesting directions for GraphML in 2023.
کتابخانههای خوب برای کار بر روی گرافها PyGeometric یا Deep Graph Library (برای گراف ML) و NetworkX (برای دستکاری گرافها به طور کلی) هستند.
اگر به معیارهای کیفی نیاز دارید، میتوانید بررسی کنید:
· OGB, the Open Graph Benchmark: مجموعه دادههای معیار گراف مرجع، برای وظایف و مقیاسهای دادههای مختلف.
· Benchmarking GNNs: کتابخانه و مجموعه دادهها برای مقایسه گراف شبکههای ML و بیان آنها. مقاله مرتبط به ویژه مطالعه میکند که کدام مجموعه دادهها از نقطه نظر آماری مرتبط هستند، چه ویژگیهای گراف امکان ارزیابی را دارند و کدام مجموعه دادهها دیگر نباید به عنوان معیار استفاده شوند.
· Long Range Graph Benchmark: معیار اخیر (نوامبر 2022) که به اطلاعات گرافهای دوربرد نگاه میکند.
· Taxonomy of Benchmarks in Graph Representation Learning: مقاله منتشر شده در کنفرانس یادگیری در گرافها در سال 2022، که مجموعه دادههای معیارهای موجود را تجزیه و تحلیل و مرتب میکند.
برای مجموعه دادههای بیشتر، نگاه کنید به:
Paper with code Graph tasks Leaderboards: تابلوی امتیازات برای مجموعه دادههای عمومی و معیارها - مراقب باشید، همه معیارهای این تابلوی امتیازات هنوز مرتبط نیستند
TU datasets: مجموعهای از مجموعه دادههای در دسترس عموم، که اکنون بر اساس دستهها و ویژگیها مرتب شدهاند. بیشتر این مجموعه دادهها را میتوان با PyG بارگیری کرد و تعدادی از آنها به Datasets منتقل شدهاند.