آشنایی با شبکه های عصبی گرافی
شبکههای عصبی گرافی (Graph Neural Networks) یا GNNs، یک نوع از شبکههای عصبی هستند که برای کار با دادههای گرافی طراحی شدهاند. در مقابل ساختار دادههای سنتی مانند دادههای جدولی یا توالی، دادههای گرافی شامل گرهها و یالها هستند که روابط و ارتباطات بین این عناصر را نشان میدهند.
داده های مرتبط با فضاهای غیراقلیدسی و داده هایی که ترتیب و رتبه در آنها موضوعیت ندارد در اینگونه ساختار قابل استفاده هستند.
در این نوع از شبکه های عصبی با استفاده از ساختار گراف و ویژگی های گره ها و یال ها، (h) representaion های جدیدی برای هر گره ایجاد می شود. برای مثال در شکل زیر representaion به گونه ای تعریف شده است که همسایگی ها به اندازه 1 را تجمیع می کند. در شکل زیر در GNN تک لایه صرفا Node Representation تغییر کرده است و Embedding رخ داده است. به ازای هر گره، فقط گره های با فاصله 1 دیده می شود. در لایه دوم، اطلاعات از همسایگی های با فاصله 2 به دست می آید. در GNN با k لایه گره ها با فاصله k پیام رد و بدل می کنند.
در نهایت می توان با یک Pooling (جمع ، میانگین گیری و... ) یک representation (h) روی گراف به دست آورد.
انواع شبکه های عصبی گرافی
روی Aggregate می توان کلاس های مختلفی از Neural Network را تعریف کرد. برای مثال می توان هر گره را به تابع (ψ(x_j)) مانند MLP وارد کرد و در وزن ثابتی (c_ij) ضرب کرد.(Graph Convolution Network) c_ij متناسب با درجه دو گره ای که با هم پیام رد و بدل می کنند؛ است.
در حالت دیگری می توان هر گره را به تابع (ψ(x_j)) مانند MLP وارد کرد و به جای وزن ثابت (c_ij) از a(x_i,x_j) یا Attention بین دو گره استفاده کرد. (Graph Attention Network (GAN))
در حالت دیگر می توان هر گره را به تابع (ψ(x_j)) مانند MLP وارد کرد و یک Message به عنوان خروجی دریافت کرد. (Graph Isomorphism Network (GIN))
کاربردها
با داشتن representation هر گره می توان این representation ها را به یک Classifierداد و Node Classification انجام داد. Graph Classification و Link Prediction از دیگر کاربردهای شبکه های عصبی گرافی است.