GraphSAGE چارچوبی برای یادگیری بازنمایی استقرایی بر روی گرافهای بزرگ است. GraphSAGE برای تولید بازنماییهای برداری با ابعاد پایین برای گرهها استفاده میشود و به ویژه برای گرافهایی که اطلاعات ویژگی گره غنی دارند مفید است.
تعبیههای برداری با ابعاد پایین گرهها در گرافهای بزرگ کاربردهای متعددی در یادگیری ماشین دارند (به عنوان مثال، دستهبندی گره، خوشهبندی، پیشبینی پیوند). با این حال، اکثر چارچوبهای تعبیه ذاتاً انتقالدهنده هستند و فقط میتوانند تعبیههایی را برای یک گراف ثابت ایجاد کنند. این رویکردهای انتقالی به طور مؤثر به گرههای دیده نشده تعمیم نمییابند (مثلاً در گرافهای در حال تکامل)، و این رویکردها نمیتوانند تعمیم در گرافهای مختلف را یاد بگیرند. در مقابل، GraphSAGE یک چارچوب استقرایی است که از اطلاعات ویژگی گره برای تولید کارآمد بازنمایی روی دادههای دیده نشده استفاده میکند.
برای اجرای GraphSAGE، باید روی یک گراف نمونه یا مجموعهای از گرافها آموزش ببیند. پس از آموزش، GraphSAGE را میتوان برای ایجاد تعبیه گرهها برای گرههای قبلا دیده نشده یا گرافهای ورودی کاملاً جدید استفاده کرد، تا زمانی که این گرافها دارای طرح ویژگیهای مشابه با دادههای آموزشی باشند.
کد
GraphSAGE در TensorFlow پیادهسازی شده است و میتواند به راحتی در خطوط لوله یادگیری ماشین دیگر ادغام شود. کد و جزئیات پیادهسازی را میتوان در GitHub یافت.
https://github.com/williamleif/GraphSAGE
مجموعه دادهها
پیوندها به مجموعه دادههای مورد استفاده در مقاله:
تعاملات پروتئین و پروتئین [منبع] [پیش پردازش]
http://thebiogrid.org/download.php
https://snap.stanford.edu/graphsage/ppi.zip
Reddit [منبع] [پیش پردازش شده]
https://snap.stanford.edu/graphsage/reddit.zip
مراجع
Inductive Representation Learning on Large Graphs. W.L. Hamilton, R. Ying, and J. Leskovec arXiv:1706.02216 [cs.SI], 2017.