شبکههای عصبی گراف (GNN) نوعی شبکه عصبی هستند که برای کار مستقیم روی گرافها طراحی شدهاند، ساختار دادهای متشکل از گرهها (راس) و یالهایی که آنها را به هم متصل میکنند. GNNها نحوه تجزیه و تحلیل و استفاده از دادههای ساختار یافته در قالب یک گراف را متحول کردهاند. هر زمان که در مورد اکتشافات پیشگامانه در زمینههایی مانند توسعه دارو، تجزیه و تحلیل رسانههای اجتماعی یا کشف تقلب میشنوید، احتمال زیادی وجود دارد که GNNها در پشت صحنه نقش داشته باشند.
در این مقاله، ما با مقدمهای ملایم بر شبکههای عصبی گراف شروع میکنیم و با یک غواصی عمیق فنی جامع دنبال میکنیم.
درباره ما: Viso Suite یک پلت فرم بینایی کامپیوتری است. با Viso Suite، این امکان برای شرکتها فراهم میشود که بدون یک خط کد، از یادگیری ماشینی استفاده کنند. برای کسب اطلاعات بیشتر یک نسخه نمایشی با ما رزرو کنید.
وظایف پیش بینی انجام شده توسط GNNها
هدف اصلی GNNها یادگیری بازنمایی (تعبیه) ساختار گراف است. GNN هم ویژگیهای گرهها (آنچه گره حاوی آن است) و هم توپولوژی گراف (نحوه اتصال این گرهها) را ثبت میکند.
این بازنماییها برای کارهای مختلفی مانند دستهبندی گره (تعیین برچسب یک گره)، پیشبینی پیوند (پیشبینی وجود یک یال بین دو گره) و دستهبندی گراف (دستهبندی کل گرافها) مفید هستند.
به عنوان مثال، برنامههای شبکههای اجتماعی (فیس بوک) به طور گسترده از GNN استفاده میکنند. در اینجا GNNها میتوانند رفتار کاربر را نه تنها بر اساس نمایه، بلکه بر اساس فعالیتهای دوستان و حلقههای اجتماعی پیشبینی کنند. در اینجا چیزی است که GNN انجام میدهد:
۱) پیشبینی سطح گره: پیشبینی دستهبندی یک گره (مثلاً آیا این شخص برگر میخورد (پیشبینی بر اساس نوع دوستانی که فرد دارد یا فعالیتهایی که فرد انجام میدهد).
۲) پیشبینی سطح لبه: پیشبینی احتمال ارتباط بین دو گره (مثلاً پیشنهاد دوستان جدید در یک شبکه اجتماعی یا ویدیوی بعدی Netflix برای پخش).
۳) پیشبینی سطح گراف: دستهبندی کل گراف بر اساس ساختار و ویژگیهای گره آن (به عنوان مثال، تصمیمگیری در مورد اینکه آیا یک مولکول جدید داروی مناسبی است یا پیشبینی اینکه عطر مولکول جدید چه خواهد بود).
GNNها در شبکههای اجتماعی برای شناسایی جوامع کاربران بر اساس تعاملات، علایق یا وابستگیهایشان مفید هستند.
آشنایی با مبانی گرافها
برای درک شبکه عصبی گراف (GNN)، باید اساسیترین عنصر آن را که یک گراف است، یاد بگیریم. ساختار داده گراف نه تنها نقاط داده را نشان میدهد و سازماندهی میکند، بلکه بر روابط بین نقاط داده نیز تأکید میکند.
رئوس و لبهها
گراف مجموعهای از نقاط (گرهها) است که با خطوط (لبهها) به هم متصل شدهاند. رئوس بیانگر موجودات، اشیا یا مفاهیم هستند، در حالی که یالها نشان دهنده روابط یا اتصالات بین آنها هستند.
در زمینه شبکه اجتماعی، گرهها میتوانند یک شخص باشند و لبهها میتوانند نوع رابطه باشند (فرد دنبال میکند و غیره)
گرافهای جهتدار در مقابل گرافهای بدون جهت
در یک گراف جهتدار، یالها جهتی دارند که جریان رابطه را نشان میدهد. جهت میتواند این باشد که چه کسی چه کسی را دنبال میکند (شما ممکن است شخص A را دنبال کنید، اما شخص A شما را دنبال نمیکند)، در زمینه یک شبکه اجتماعی.
در یک گراف بدون جهت، یالها جهتی ندارند و فقط ارتباط بین دو راس را نشان میدهند. به عنوان مثال در فیسبوک، اگر درخواست دوستی را بپذیرید، میتوانید پستهای آنها را ببینید و آنها میتوانند پست شما را ببینند. رابطه در اینجا متقابل است.
گراف وزنی
لبهها دارای وزن مرتبط با آنها هستند.
بازنمایی گراف چیست؟
بازنمایی گراف راهی برای رمزگذاری ساختار و ویژگیهای گراف برای پردازش توسط شبکههای عصبی است. گرافها دادههای گره و همچنین رابطه بین نقاط داده را تعبیه میکنند. برای نشان دادن این ارتباطات بین گرهها، بازنمایی گراف مورد نیاز است.
ماتریس مجاورت
این ماتریسی است که تمام رئوس متصل به آن راس (همه گرههای متصل به یک گره) را فهرست میکند. به عنوان مثال در اینجا، گره A دارای گرههای B و C است که به آن متصل هستند، در آنجا در آرایه، مقدار مربوطه 1 است. وقتی اتصالی وجود ندارد، 0 در آرایه دارد.
ماتریس بروز[1]
ماتریسی به اندازه N×M که در آن N تعداد گرهها و M لبههای گراف هستند. به زبان ساده، برای بازنمایی گراف به صورت ماتریسی استفاده میشود. اگر گره دارای یک یال خاص باشد، مقدار 1 و اگر ندارد، 0 است. به عنوان مثال، A دارای لبه E1 است، بنابراین در ماتریس بروز، 1 است. در حالی که گره A لبه E4 به آن متصل نیست، بنابراین در ماتریس با 0 نشان داده میشود.
ماتریس درجه
یک ماتریس مورب که شامل تعداد لبههای متصل به هر گره است.
ویژگیهای منحصر به فرد دادههای گراف
ساختار دادههای گراف به دلیل ویژگیهای خاص، دادههای دنیای واقعی را به طور کارآمد مدل میکند. این همان چیزی است که آنها را از ماتریسهای مورد استفاده در شبکههای عصبی کانولوشنال (CNN) متمایز میکند.
برای اینکه بتوان بر روی ساختار داده گراف کار کرد، GNNها توسعه یافتند. قبل از ورود به GNNها، بیایید ببینیم که آن ویژگیهای منحصر به فرد گرافها چیست:
· اتصالات[2]: برخلاف دادههای جدولی که موجودیتها به صورت مجزا وجود دارند، دادههای گراف حول اتصالات بین موجودیتها (گرهها) میچرخد. این اتصالات که به گرهها میپیوندند، که توسط لبهها نشان داده میشوند، اطلاعات مهمی را نگه میدارند که دادهها را ارزشمند میکند و برای درک سیستم مرکزی است.
· بدون ساختار[3]: دادههای سنتی در شبکهها یا جداول مرتب شده قرار دارند. با این حال، گرافها نظم ذاتی ندارند و ساختار آنها پویا است (گرهها به طور تصادفی پخش میشوند و موقعیت خود را تغییر میدهند). این همان چیزی است که آن را برای مدلسازی دادههای دنیای واقعی پویا مفید میکند.
· ناهمگونی[4]: در یک گراف، نقاط (گرهها) و اتصالات (لبهها) میتوانند نشانههای مختلفی مانند افراد، پروتئینها یا تراکنشها باشند که هر کدام ویژگیهای خاص خود را دارند.
· مقیاسپذیری[5]: گرافها میتوانند بسیار بزرگ شوند، از جمله شبکههای پیچیده با میلیونها اتصال و نقطه، که ذخیره و تجزیه و تحلیل آنها را دشوار میکند.
گراف شبکههای عصبی در مقابل شبکههای عصبی
برای درک بهتر شبکههای عصبی گراف (GNN)، ضروری است ابتدا بدانیم که چگونه با شبکههای عصبی سنتی (NN) تفاوت دارند. با شروع با NN به عنوان یک پایه، میتوانیم بررسی کنیم که چگونه GNNها بر این اساس برای مدیریت دادههای ساختاریافته گراف ساخته میشوند و مفهوم را واضحتر و قابل دسترستر میکنند.
در اینجا برخی از تفاوت های بین NN و GNN آورده شده است:
ساختار داده[6]
· شبکههای عصبی (NN): شبکههای عصبی سنتی، از جمله انواع آنها مانند شبکههای عصبی کانولوشن (CNN) و شبکههای عصبی تکراری (RNN)، عمدتاً برای ساختارهای دادهای شبکهمانند طراحی شدهاند. این شامل تصاویر (شبکههای دوبعدی پیکسلها) برای CNN و دادههای متوالی (سریهای زمانی یا متن) برای RNN است.
· شبکههای عصبی گراف (GNN): GNNها به طور خاص برای مدیریت دادههای گراف طراحی شدهاند. گرافها نه تنها نقاط داده را ذخیره میکنند، بلکه روابط و ارتباطات پیچیده بین نقاط داده را نیز ذخیره میکنند.
بازنمایی دادهها[7]
· NN: ورودی داده به شبکههای عصبی سنتی باید ساختاری داشته باشد، مانند بردارها برای لایههای کاملاً متصل، آرایههای چند بعدی برای CNN (مثلاً تصاویر)، یا توالیها برای RNN.
· GNNها: دادههای ورودی برای GNNها به صورت گراف است، که در آن هر گره میتواند ویژگیهای خود را داشته باشد (بردارهای ویژگی)، و یالها نیز میتوانند ویژگیهایی داشته باشند که نشان دهنده رابطه بین گرهها هستند.
عملیات[8]
· NNها: عملیات در شبکههای عصبی شامل ضرب ماتریس، عملیات کانولوشن و عملیات بر حسب عنصر است که به صورت ساختاریافته در سراسر لایه ها اعمال می شود.
· GNNها: GNNها با تجمیع ویژگیهای همسایگان گره از طریق فرآیندی به نام ارسال پیام عمل میکنند. این شامل تجمیع ویژگیهای گره فعلی با ویژگیهای گره همسایه است (در مورد این عملیات در زیر بیشتر بخوانید).
سیستمهای حملونقل شهری، از جمله جادهها، راهآهنها و مسیرهای پروازی را میتوان با استفاده از گرافها - منبع مدلسازی کرد.
https://www.sciencedirect.com/science/article/abs/pii/S0957417422011654
وظیفه یادگیری[9]
· شبکههای عصبی سنتی: شبکههای عصبی سنتی برای کارهایی مانند دستهبندی تصویر، تشخیص اشیا (CNN) و پیشبینی توالی یا مدلسازی زبان (RNN) مناسب هستند.
· GNNها: GNNها در کارهایی که نیاز به درک روابط و وابستگیهای متقابل بین نقاط داده مانند دستهبندی گرهها، پیشبینی پیوندها و دستهبندی گراف دارند، برتری مییابند.
تفسیرپذیری[10]
توانایی درک عملکرد درونی و چگونگی تصمیمگیری یا پیشبینی مدلها.
· شبکههای عصبی (NN): در حالی که NNها میتوانند الگوهای پیچیده در دادهها را یاد بگیرند، تفسیر این الگوها و نحوه ارتباط آنها با ساختار دادهها میتواند چالش برانگیز باشد.
· شبکههای عصبی گراف (GNN): GNNها با عملکرد مستقیم بر روی گرافها، بینشهایی را در مورد اینکه چگونه روابط و ساختار دادهها به کار یادگیری کمک میکنند، ارائه میدهند. این در حوزههایی مانند کشف دارو یا تجزیه و تحلیل شبکههای اجتماعی بسیار ارزشمند است.
انواع GNNS
شبکههای عصبی گراف (GNN) به معماریهای مختلفی برای رسیدگی به چالشها و برنامههای کاربردی مختلف تکامل یافتهاند. در اینجا به تعدادی از آنها اشاره میکنیم.
Graph Convolutional Network (GCN)
محبوبترین و همچنین یک نوع پایه GNN. ایده کلیدی پشت GCNها، به روز رسانی بازنمایی یک گره با تجمیع و تبدیل ویژگیهای گرههای همسایه و خود آن (الهام گرفته از CNN) است. این مکانیسم تجمع GCNها را قادر میسازد تا ساختار گراف محلی را در اطراف هر گره ثبت کنند. GCNها به طور گسترده برای دستهبندی گرهها، دستهبندی گرافها و سایر کارهایی که درک ساختار محلی بسیار مهم است استفاده میشود.
Deep Graph Convolutional Neural Network II (DGCNNII)
این معماری از معماری شبکه عصبی کانولوشن گراف عمیق برای دستهبندی گراف استفاده میکند. این بر اساس GCN بهبود یافته است. این معماری جدید بر اساس یک چارچوب غیر محلی ارسال پیام و یک لایه پیچیدگی گراف فضایی است. نشان داده شده است که از بسیاری از روشهای دیگر شبکه عصبی گراف در وظایف دستهبندی گراف بهتر عمل میکند.
Deep Graph Convolutional Network (DGCNNII)
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0279604#pone-0279604-g002
شبکههای توجه گراف (GAT)
مکانیسمهای توجه را به مرحله تجمع در GNNها معرفی کنید (افزودن وزن به مرحله تجمع).
شبکه توجه گراف (GAT)
https://arxiv.org/pdf/1812.04202
در GATها، اهمیت ویژگیهای هر همسایه به صورت پویا (رنگهای مختلف فلشها در تصویر) در طول فرآیند تجمیع وزن میشود و به مدل اجازه میدهد تا روی همسایگان مربوطه برای هر گره تمرکز بیشتری داشته باشد. این رویکرد در گرافهایی که همه اتصالات به یک اندازه مهم نیستند یا برخی از گرهها بر بقیه گرهها غلبه دارند (مثلاً تأثیر میلیونها فالوور) سودمند است و میتواند به بازنمایی گرههای گویاتر منجر شود. GATها به ویژه برای کارهایی مفید هستند که از تمایز اهمیت لبههای مختلف سود میبرند، مانند سیستمهای توصیه یا تجزیه و تحلیل شبکههای اجتماعی.
شبکههای بازگشتی گراف (GRN)
اصول شبکههای عصبی بازگشتی (RNN) را با شبکههای عصبی گراف ترکیب کنید. در GRNها، ویژگیهای گره از طریق مکانیسمهای مکرر بهروزرسانی میشوند و به مدل اجازه میدهند تا تغییرات دینامیکی در دادههای ساختار یافته گراف را در طول زمان ثبت کند. نمونههایی از کاربردها شامل پیشبینی ترافیک در شبکههای جادهای و تحلیل شبکههای اجتماعی در حال تکامل در زمان است.
GRNها برای گرافهای پویا و دادههای گراف زمانی (گرافهایی که تکامل مییابند) به خوبی مناسب هستند
https://arxiv.org/pdf/2108.03548
رمزگذارهای خودکار گراف[11] (GAE)
برای کارهای یادگیری بدون نظارت بر روی گرافها طراحی شده است. یک GAE یاد میگیرد که گراف (یا زیرگرافها/گرهها) را در فضایی با ابعاد پایینتر (تعبیه) رمزگذاری کند و سپس ساختار گراف را از این تعبیهها بازسازی میکند. هدف یادگیری بازنماییهایی است که اطلاعات ساختاری و ویژگیهای اساسی گراف را به تصویر میکشد. GAEها به ویژه برای کارهایی مانند پیشبینی پیوند، خوشهبندی، و تشخیص ناهنجاری در گرافها، که برچسبهای صریح در دسترس نیستند، مفید هستند.
ساختار رمزگذار خودکار گراف (GAE)
https://arxiv.org/pdf/2304.04779v1.pdf
شبکههای مولد گراف[12]
هدف ایجاد ساختارهای گراف جدید یا تقویت ساختارهای موجود است. این مدلها توزیع دادههای گراف مشاهدهشده را یاد میگیرند و میتوانند گرافهای جدیدی شبیه دادههای آموزشی تولید کنند. این قابلیت برای کشف دارو، جایی که تولید ساختارهای مولکولی جدید مورد توجه است، ارزشمند است. همچنین در تجزیه و تحلیل شبکههای اجتماعی، که در آن شبیهسازی ساختارهای شبکه واقعی میتواند به درک پویایی شبکه کمک کند.
GNNها چگونه کار میکنند
GNNها با استفاده از ساختار دادههای گراف، که از گرهها (راسها) و یالها (اتصال بین گرهها) تشکیل شدهاند، برای یادگیری بازنمایی گرهها، لبهها یا کل گرافها کار میکنند. آنها این ویژگیها را در یک ماتریس ویژگی جدید (گرههای فعلی و گرههای مجاور) ترکیب میکنند.
این ماتریس ویژگی جدید در گره فعلی به روز میشود. هنگامی که این فرآیند چندین بار انجام میشود، با تمام گرههای موجود در گراف، در نتیجه، هر گره چیزی در مورد هر گره دیگر یاد میگیرد.
مراحل یادگیری GNN
GNN: پیچیدگی دوبعدی در مقابل پیچیدگی گراف
https://arxiv.org/pdf/1901.00596.pdf
۱) ارسال پیام: در هر لایه، اطلاعات بین گرههای گراف منتقل میشود. وضعیت فعلی یک گره بر اساس اطلاعات همسایگانش به روز میشود. این کار با جمعآوری اطلاعات از همسایگان و سپس ترکیب آن با وضعیت فعلی گره انجام میشود. به این پیچیدگی گراف نیز میگویند (الهام گرفته از CNN). در CNNها، اطلاعات پیکسلهای همسایه در پیکسل مرکزی ادغام میشود، به طور مشابه در GNNها، گره مرکزی با اطلاعات جمعآوری شده در مورد همسایگان خود به روز میشود.
۲) Aggregate: روشهای مختلفی برای جمعآوری اطلاعات از همسایگان گره وجود دارد. برخی از روشهای رایج عبارتند از میانگینگیری، حداکثر کردن، یا استفاده از یک تابع پیچیدهتر مانند شبکه عصبی بازگشتی.
۳) به روزرسانی: پس از تجمیع اطلاعات همسایگان، با وضعیت فعلی گره ترکیب میشود و حالت جدیدی را تشکیل میدهد. این حالت گره جدید حاوی اطلاعاتی در مورد گرههای همسایه است. تجمیع و به روز رسانی مهمترین مراحل در GNNها هستند. در اینجا تعریف رسمی GNNها را جمعآوری و به روز کنید:
۴) خروجی: بازنمایی گره، لبه یا گراف نهایی برای کارهایی مانند دستهبندی، رگرسیون یا پیشبینی پیوند مفید است.
۵) چند لایه: فرآیند ارسال پیام را میتوان برای چندین لایه تکرار کرد. این به گرهها اجازه میدهد تا اطلاعاتی در مورد همسایگان همسایگان خود و غیره بیاموزند. تعداد لایههایی که به طور رسمی hops نامیده میشود یک هایپرپارامتر است.
هاپ چیست؟
در GNNها، هاپ به تعداد مراحلی که یک پیام میتواند از یک گره به گره دیگر طی کند، اشاره دارد. به عنوان مثال، در اینجا GNN دارای 2 لایه است و هر گره اطلاعاتی از همسایگان مستقیم خود و همسایگان همسایه خود را در بر میگیرد.
روشهای تجمع همسایگی برای رمزگذاری.
https://arxiv.org/pdf/1709.05584
با این حال، باید در انتخاب تعداد لایهها یا هاپها دقت کرد، زیرا لایههای بیش از حد میتواند منجر به این شود که همه گرهها تقریباً مقادیر یکسانی داشته باشند (بیش از حد صاف شدن).
Oversmoothing چیست؟
هموارسازی بیش از حد چالشی است که زمانی ایجاد میشود که لایههای زیادی از ارسال و تجمیع پیام در یک GNN استفاده میشود.
با افزایش عمق شبکه، بازنمایی گرهها در قسمتهای مختلف گراف ممکن است غیر قابل تشخیص شوند. در موارد شدید، همه ویژگیهای گره به یک حالت مشابه همگرا میشوند و اطلاعات متمایز خود را از دست میدهند.
این به این دلیل اتفاق میافتد که پس از تکرارهای زیاد هموارسازی، ویژگیهای گره اطلاعات زیادی را از همسایگیهای خود جمعآوری کردهاند که ویژگیهای منحصربهفرد گرهها از بین میرود.
هموارسازی در GNNها
هموارسازی در GNNها به فرآیندی اشاره دارد که از طریق آن ویژگیهای گره بیشتر به یکدیگر شبیه میشوند. این نتیجه از اعمال مکرر مراحل ارسال پیام و تجمیع در لایههای شبکه است.
همانطور که این فرآیند از طریق چندین لایه اعمال میشود، اطلاعات از همسایگی گستردهتر و وسیعتر یک گره در بازنمایی آن یکپارچه میشود.
پرداختن به هموارسازی بیش از حد
· اتصالات پرش (اتصالات باقیمانده): مشابه استفاده از آنها در CNN، اتصالات پرش در GNN میتواند با دور زدن برخی از لایهها به حفظ ویژگیهای گره اولیه کمک کند و به طور موثر به مدل اجازه میدهد تا از ساختارهای گراف محلی و جهانی بدون هموارسازی بیش از حد یاد بگیرد.
· مکانیسمهای توجه: با وزن دادن به اهمیت ویژگیهای همسایهها به صورت پویا، مکانیسمهای توجه میتوانند از ترکیب یکنواخت ویژگیها که منجر به هموار شدن بیش از حد میشود جلوگیری کنند.
· کنترل عمق: عمق شبکه را با توجه به ویژگیهای ساختاری گراف به دقت طراحی کنید.
· تکنیکهای عادیسازی[13]: تکنیکهایی مانند عادیسازی دستهای[14] یا عادیسازی لایهها[15] میتوانند به حفظ توزیع ویژگیها در لایههای GNN کمک کنند.
کاربردهای GNN
GNNها به پتانسیل نظری خود عمل کردهاند و اکنون به طور فعال بر حوزههای مختلف دنیای واقعی تأثیر میگذارند. بنابراین، شبکههای عصبی گراف چقدر قدرتمند هستند؟ در اینجا نگاهی اجمالی به کاربردهای آن آورده شده است:
شبکههای اجتماعی
· تشخیص انجمن: شناسایی جوامع کاربران بر اساس تعاملات، علایق یا وابستگیهای آنها. این برای تبلیغات هدفمند، توصیه محتوا یا تشخیص ناهنجاری مفید است.
· پیشبینی پیوند: پیشبینی ارتباطات جدید بین کاربران بر اساس روابط موجود و ساختار شبکه. این میتواند برای توصیههای دوستان یا شناسایی تأثیرگذاران بالقوه ارزشمند باشد.
· تجزیه و تحلیل احساسات: تجزیه و تحلیل احساسات پستها یا مکالمات کاربران با در نظر گرفتن زمینه و روابط درون شبکه. این میتواند به درک افکار عمومی یا درک برند کمک کند.
شبکههای اجتماعی از GNN برای پیشنهاد افرادی که باید دنبال شوند یا توصیههای دوستان استفاده میکنند.
https://www.nature.com/articles/s41598-019-57304-y
سیستمهای توصیه
· فیلتر مشارکتی با GNN: فراتر از تعاملات سنتی کاربر-مورد[16]، GNNها از روابط کاربر برای شخصیسازی توصیهها با ترکیب نفوذ اجتماعی و تشابه محتوا در بین کاربران استفاده میکنند.
· مدلسازی تعاملات کاربر و آیتم: دریافت ماهیت پویا ترجیحات کاربر با در نظر گرفتن تکامل روابط کاربر و محبوبیت آیتم در یک شبکه.
· توصیههای قابل توضیح: با تجزیه و تحلیل نحوه انتشار اطلاعات از طریق شبکه، GNNها میتوانند بینشی در مورد اینکه چرا برخی موارد توصیه میشوند، افزایش شفافیت و اعتماد به سیستم ارائه دهند.
سیستم توصیه GNN
https://fuzhenzhuang.github.io/recsys.html
بیوانفورماتیک
· شبکههای تعامل پروتئین-پروتئین: پیشبینی برهمکنشهای پروتئین-پروتئین بر اساس شباهتهای ساختاری و عملکردی آنها، کمک به کشف دارو و درک مکانیسمهای بیماری.
· شبکههای تنظیم کننده ژن: تجزیه و تحلیل دادههای بیان ژن و ساختار شبکه برای شناسایی ژنهای دخیل در فرآیندهای بیولوژیکی خاص یا توسعه بیماری.
· کشف دارو: استفاده از GNNها برای پیشبینی اثربخشی نامزدهای دارو با در نظر گرفتن تعامل آنها با پروتئینهای هدف و مسیرهای درون یک شبکه.
شبکه های تعامل پروتئین-پروتئین با GNN
https://jacobsschool.ucsd.edu/news/release/3313
تشخیص تقلب
گرافها میتوانند شبکههای مالی را نشان دهند، جایی که گرهها ممکن است موجودیتها (مانند افراد، شرکتها یا بانکها) باشند و یالها میتوانند معاملات مالی یا روابط وام دهی را نشان دهند. این برای تشخیص تقلب، مدیریت ریسک و تحلیل بازار مفید است.
شناسایی تراکنشها یا فعالیتهای متقلبانه با تحلیل شبکههای تراکنش مالی و الگوهای رفتار کاربر
https://neo4j.com/blog/financial-services-neo4j-fraud-detection/
پیشبینی جریان ترافیک
پیشبینی تراکم ترافیک و بهینهسازی زمانبندی چراغهای راهنمایی برای شهرهای هوشمند با مدلسازی شبکه جادهای و دینامیک جریان وسایل نقلیه
جریان ترافیک در اطراف شهر لسآنجلس با GNNها ترسیم شده است
https://www.mn.uio.no/ifi/studier/masteroppgaver/nd/traffic-flow-prediction-with-deep-learning.html
https://viso.ai/applications/computer-vision-in-smart-city-applications/
امنیت سایبری
شناسایی فعالیتهای مخرب و شناسایی آسیبپذیریها در شبکههای کامپیوتری با تجزیه و تحلیل ترافیک شبکه و الگوهای حمله.
چالشهای GNNها
علیرغم پیشرفت چشمگیر و پتانسیل GNNها، چندین چالش و محدودیت در تحقیق و پیادهسازی باقی مانده است. در اینجا برخی از زمینههای کلیدی وجود دارد.
مقیاسپذیری
بسیاری از مدلهای GNN به دلیل نیازهای محاسباتی و حافظهای برای تجمیع ویژگیهای همسایگان گره، برای پردازش کارآمد گرافهای بزرگ تلاش میکنند. این امر به ویژه برای گرافهایی با میلیونها گره و لبه چالش برانگیز میشود که در برنامههای کاربردی دنیای واقعی مانند شبکههای اجتماعی یا گرافهای دانش بزرگ رایج است.
هموارسازی بیش از حد
نکتهای در مورد هموارسازی بیش از حد برای شبکههای عصبی گراف، همانطور که قبلاً ذکر شد، عمق یک GNN افزایش مییابد و ویژگیهای گرهها در قسمتهای مختلف گراف میتواند غیر قابل تشخیص باشد. این مسئله هموارسازی بیش از حد، حفظ ساختارهای گراف محلی را برای مدل دشوار میکند و منجر به از دست دادن عملکرد در دستهبندی گرهها و سایر وظایف میشود.
گرافهای پویا
بسیاری از گرافهای دنیای واقعی پویا هستند و گرهها و یالها در طول زمان اضافه یا حذف میشوند. بیشتر معماریهای GNN برای گرافهای استاتیک طراحی شدهاند و برای مدلسازی مؤثر این پویاییهای زمانی تلاش میکنند.
گرافهای ناهمگن
گرافها اغلب شامل انواع مختلفی از گرهها و یالها (گرافهای ناهمگن) هستند که هر کدام ویژگیها و الگوهای تعامل خود را دارند. طراحی معماریهای GNN که میتوانند به طور موثر از دادههای گراف ناهمگن یاد بگیرند، یک کار چالش برانگیز است. این نیاز به گرفتن روابط پیچیده بین انواع مختلف موجودیت دارد.
تعمیم در گرافها
بسیاری از مدلهای GNN بر روی یک گراف یا گرافهایی با ساختارهای مشابه آموزش و آزمایش میشوند. با این حال، مدلها اغلب برای تعمیم به گرافهای کاملاً جدید با ساختارهای مختلف تلاش میکنند که کاربرد آنها را محدود میکند.
ساختار یک کریستال نگاشت شده با GNN
https://arxiv.org/pdf/1710.10324.pdf
کار آینده در شبکههای عصبی گراف (GNN)
تفسیرپذیری و توضیحپذیری
قابل فهمتر کردن مدلهای GNN یک حوزه کلیدی است زیرا برای بخشهایی مانند مراقبتهای بهداشتی و مالی بسیار مهم است. تنها با درک چگونگی پیشبینی مدلها میتوان اعتماد ایجاد کرد و پذیرش آنها را تسهیل کرد.
مدلسازی گراف پویا و زمانی
افزایش توانایی GNNها برای مدلسازی و پیشبینی تغییرات در گرافهای پویا در طول زمان یک حوزه کلیدی تحقیق است. این نه تنها شامل ثبت تکامل ساختارهای گراف، بلکه پیشبینی وضعیتهای آینده گراف نیز میشود.
یادگیری گراف ناهمگن
تکنیکهای پیشرفته برای یادگیری از گرافهای ناهمگن، که شامل انواع مختلفی از گرهها و روابط هستند، یک حوزه کلیدی از تحقیقات در حال انجام است. این شامل ایجاد مدلهایی است که میتواند به طور موثر از اطلاعات معنایی غنی در این شبکههای پیچیده استفاده کند.
[1] Incidence Matrix
[2] Connections
[3] No Structure
[4] Heterogeneity
[5] Scalability
[6] Data Structure
[7] Data Representation
[8] Operation
[9] Learning Task
[10] Interpretability
[11] Graph Autoencoders
[12] Graph Generative Networks
[13] Normalization
[14] Batch Normalization
[15] Layer Normalization
[16] User-item