1. مقدمه:
این مقاله ادامه سلسله وبلاگهای من در زمینه گرافها است. از این مقاله به بعد، تمرکز این مجموعه بر روی گرافهای ناهمگن و تعبیه گراف دانش خواهد بود. ما با جزئیات کافی در مورد مفاهیم مربوط به "تکمیل گراف دانش" بحث خواهیم کرد - که جزئیات آن با حرکت بیشتر در این وبلاگ و مجموعه مشخص خواهد شد.
تا کنون در سری وبلاگهای گراف از قسمت 1 تا 10، من در مورد گرافها تنها با یک نوع گره و یک نوع رابطه بحث کرده بودم. اکنون قصد داریم مفاهیم مربوط به شبکههای کانولوشن گراف ساده را به شبکههای کانولوشن گراف رابطهای که چندین نوع گره یا لبه دارند، گسترش دهیم، یعنی: چندین نوع اتصال.
گرافهای ناهمگن به این دلیل نامیده میشوند که دارای نوع ناهمگنی از موجودیتها هستند - انواع گره و یال. از طریق این مقاله در مورد موارد زیر بحث خواهیم کرد:
در ابتدا، ما در مورد شبکههای کانولوشن گراف رابطهای (RGCNs) صحبت خواهیم کرد که از انواع گرهها و انواع رابطه مراقبت میکنند.
سپس در مورد گرافهای دانش صحبت خواهیم کرد که یک کلاس از گرافهای ناهمگن هستند. ما در مورد تعبیه گراف دانش و نحوه ایجاد تعبیه گراف دانش و همچنین تکمیل گراف دانش که یک کار بسیار رایج در زندگی یک تحلیلگر گراف / مهندس هوش مصنوعی است صحبت خواهیم کرد. این بحث بخشی از مقاله دوازدهم / سیزدهم این مجموعه خواهد بود.
این مقاله به شرح زیر تنظیم شده است:
· ابتدا در بخش 2 این مقاله با چند مثال به تعریف گرافهای ناهمگن میپردازیم.
· در بخش 3، مفاهیم زیربنایی شبکههای عصبی کانولوشنال گراف ساده (GCNs)، مفاهیمی که شامل: گراف محاسباتی یک گره، فرمولبندی یک لایه واحد از GCN - عملیات مربوط به ارسال پیام و تجمیع را مرور میکنیم. ·
· پس از بررسی مفاهیم مربوط به GCNها، تفاوت اساسی بین GCN و RGCNS - شبکههای عصبی کانولوشن گراف رابطهای در بخش 4 را درک میکنیم.
· ریاضی پشت تعریف ارسال پیام و تجمیع در RGCNها در بخش 5 توضیح داده شده است.
· بخش 6 به RGCNها عمیقتر میشود - درک مسائل موجود در RGCNها و روشهای حل این مسائل.
· بخشهای 7 تا 10 عمدتاً در مورد آموزش و فرآیند ارزیابی در RGCNها برای دستهبندی گرهها و مسائل پیشبینی پیوند است. تاکید بیشتری بر مسائل پیشبینی لبه شده است، زیرا در یک مسئله پیشبینی لبه در گرافها باید با مسائل متفاوت از یک مسئله ML معمولی برخورد کرد.
2. گرافهای ناهمگن و گرافهای رابطهای شبکههای عصبی کانولوشن (RGCN):
گرافهای ناهمگن چیست؟
یک گراف ناهمگن با مجموعهای از گرههای “V” تعریف میشود، گرهها میتوانند انواع مختلفی داشته باشند، مجموعهای از یالها که گرههای مختلف را به هم متصل میکنند، و هر یال ممکن است نوع رابطه متفاوتی داشته باشد همانطور که در شکل 1 و شکل 2 نشان داده شده است.
بنابراین، این وضعیت ممکن است به صورت نمادین به صورت زیر نمایش داده شود:
· یک گراف ناهمگن به صورت زیر تعریف میشود:
معادله: بازنمایی نمادین یک گراف.
· گرههایی با نوع “i” به صورت:
معادله: بازنمایی نمادین یک گره از نوع i
· مجموعهای از یالها که گرههای مختلف را به هم متصل میکنند و هر یال ممکن است نوع رابطه متفاوتی داشته باشد که به صورت زیر نمایش داده میشود:
معادله: بازنمایی نمادین مجموعهای از یالها از انواع رابطه بین گرههای vi و vj
· هر گره از انواع مختلفی است – “T” مجموعهای از گرهها است:
معادله: بازنمایی نمادین یک نوع گره
نمونههایی از گرافهای ناهمگن:
مثال 1: یکی از نمونههای رایج گراف ناهمگن در زمینه زیست پزشکی است که در آن میتوانید موجودیتهای مختلف زیست پزشکی و رابطه بین آنها را بگیرید و آن را به عنوان یک گراف ناهمگن نشان دهید. به عنوان مثال در حوزه زیست پزشکی میتوان موجودیتهای مختلفی داشت، مانند: دارو، بیماری، عارضه جانبی، پروتئینها، مسیرها و انواع مختلفی از رابطه بین انواع مختلف موجودات داریم.
این در شکل 1 زیر نشان داده شده است. ما یک نوع گره متفاوت برای بیماری مانند میگرن داریم و یک نوع گره متفاوت مانند Fluvestrant داریم که از طریق رابطه "درمان" که در زیر نشان داده شده است به بیماری مانند نئوپلاسم پستان متصل است (یا بیماری را درمان میکند):
شکل 1: گراف دانش زیست پزشکی
در مثال بالا از گراف دانش زیست پزشکی، ما داریم:
· گره مثال: میگرن
· رابطه مثال: (فولوسترانت، درمان، نئوپلاسم پستان)
· نوع گره نمونه: پروتئین
· نوع لبه مثال: علل
همانطور که در شکل بالا نشان داده شده است، میتوانیم انواع مختلفی از رابطه بین دارو و عوارض جانبی که ممکن است ایجاد کند داشته باشیم.
این نمونهای از گراف ناهمگن با انواع مختلف موجودیتها و انواع مختلف روابط بین آنها است.
مثال 2: مثال دیگری از گراف ناهمگن یک گراف رویداد است که در شکل 2 زیر نشان داده شده است:
شکل 2: گرافهای رویداد
در اینجا دوباره، میتوانیم گرهها/موجودات مختلف داشته باشیم: یک نوع گره میتواند یک پرواز یا یک فرودگاه باشد، میتوانیم مقصد یک پرواز را به عنوان نوع لبه یا نوع رابطه "لغو شده توسط[1]" داشته باشیم، همانطور که در شکل بالا نشان داده شده است.
3. بازبینی شبکههای عصبی کانولوشنال گراف ساده (GCN):
اکنون، با توجه به یک گراف ناهمگن و انواع مختلف روابط، میخواهیم شبکههای پیچیده گراف ساده را برای مدیریت این نوع ناهمگنی گسترش دهیم. برای گسترش GCNهای ساده به RGCN، باید بتوانیم انواع گرههای مختلف را مدیریت کنیم، لبههایی با انواع روابط متفاوت. تا کنون، ما شبکههای کانولوشن گراف را بر روی گرافهای ساده تعریف کردهایم که عبارتند از: یک نوع گره و یک نوع رابطه باید گسترش یابد تا گرافهای ناهمگن پیچیدهتر ایجاد شود.
اجازه دهید ابتدا کار GCNهای ساده را به یاد بیاوریم - یعنی - گراف یک نوع گره و یک نوع رابطه همانطور که در مقالههای قبلی این مجموعه مورد بحث قرار گرفت:
· مقدمهای بر شبکههای عصبی گراف: قسمت 8 از سری گراف
· یادگیری عمیق با گرافها: قسمت 9 از سری وبلاگ های گراف
کار شبکههای عصبی کانولوشنال گراف ساده (GCN):
من در مورد مفاهیم مربوط به گراف محاسباتی و ارسال پیام در قسمت 9 از این سری که در بالا به آن اشاره شد بحث کرده بودم. گرافی که در شکل زیر نشان داده شده است:
شکل 3: یک گراف با مجموعهای از گره های V
و با در نظر گرفتن گره A به عنوان گره هدف، گراف محاسباتی مربوطه آن به شکل زیر خواهد بود:
شکل 4: گراف محاسباتی گره A
شکل 5: گراف محاسباتی گره A - جعبهها شبکههای عصبی را نشان میدهند که در آن تبدیل خطی و غیرخطیها اعمال میشود.
معماری فوق را میتوان به صورت زیر توجیه کرد:
· گره A همانطور که در شکل 4/5 در بالا نشان داده شده است، قرار است اطلاعاتی را از همسایگان شبکه بگیرد. همسایگان A هستند B، C و D. این اطلاعات یک پرش است. این را میتوان به چندین پرش از اطلاعات باز کرد.
· اگر بخواهیم هاپ دیگری را در نظر بگیریم، گره D اطلاعات را از همسایگان خود A و گره C از A، B، E و F (یعنی همسایههای C) و گره B نیز اطلاعات را از همسایگان خود A و C میگیرد.
۱. در مرحله بعد، اگر شکل بالا (شکل 4/5) ساختار شبکه باشد: پیامها (تعبیهها) از گره A و C به گره B، از گرههای A، B، E و F به گره C و از گره A. به گره C و پیامهای A به گره D باید تجمیع و تبدیل شوند.
۲. به طور مشابه، پیام B باید قبل از ارسال آن به A جمعآوری و تبدیل شود و در سایر گرهها نیز همینطور است. تبدیل پارامتری خواهد شد و پارامترها باید یاد بگیرند.
سپس غیرخطی بودن را برای تبدیل ویژگی اضافه کردیم. غیرخطیها میتوانند ReLu یا سیگموئید باشند. بنابراین، از نظر ریاضی به عنوان یک لایه GCN میتواند به صورت زیر نمایش داده شود:
معادله - ریاضیات در GCN ساده - معادله یک لایه
معادله بالا نشان میدهد که یک گره v روی همسایههای خود میرود u نمایش لایه قبلی را نرمال میکند، جمع میکند و تبدیل میکند و آن را از طریق یک غیر خطی به پایان میرساند.
نکته اصلی در مورد تفاوت بین شبکههای عصبی گراف و شبکههای عصبی وانیلی این است که در شبکههای عصبی گراف، هر گره دارای معماری شبکه عصبی خاص خود است. همانطور که در شکل زیر نشان داده شده است، هر گره در شبکه گراف میتواند گراف محاسباتی خود را بر اساس شبکه اطراف همسایگی خود تعریف کند:
شکل 6: هر گره از گراف دارای معماری شبکه عصبی خاص خود است - گراف محاسباتی خود.
4. گراف عملیات کانولوشن در GCNهای رابطهای:
پس از درک GCNهای رابطهای (بخشهای 1 و 2) و یادآوری عملیات کانولوشن گراف در یک GCN ساده (بخش 3)، اکنون سعی میکنیم بفهمیم که وقتی انواع گرههای متعدد و انواع روابط داریم، عملیات کانولوشن چیست.
گراف زیر را در نظر بگیرید که چندین نوع رابطه دارد:
شکل 7: گراف ناهمگن - گراف با انواع روابط چندگانه
لبههایی که هر رابطه را نشان میدهند با یک رنگ منحصر به فرد نشان داده شدهاند. روشی که میتوانیم GCNها را به گرافهای ناهمگن تعمیم دهیم، با استفاده از وزنهای شبکه عصبی مختلف یا پارامترهای شبکه عصبی مختلف برای انواع روابط مختلف است که در شکل زیر نشان داده شده است:
شکل 8: تعمیم GCNها به گرافهای ناهمگن - با استفاده از وزنهای منحصر به فرد برای هر نوع رابطه
این بدان معناست که وقتی ما در حال تبدیل پیام هستیم، ماتریس یکسان “W” را برای هر یال ورودی اعمال نمیکنیم، اما بسته به نوع رابطه، ماتریس “W” متفاوتی را اعمال میکنیم. بنابراین، برای سه نوع رابطه، از سه ماتریس وزنی مختلف همانطور که در شکل بالا نشان داده شده است استفاده خواهیم کرد.
حال، اگر به گراف محاسباتی گره A نگاه کنیم، مانند شکل زیر خواهد بود:
شکل 9: گراف ورودی و گراف محاسباتی برای گره A
همانطور که ممکن است از شکل بالا متوجه شویم، پیامی که از B و D به سمت گره A میآید با استفاده از همان عملگر “W” تبدیل میشود زیرا پیام در امتداد نوع رابطه "r1" حرکت میکند در حالی که پیام از گره C به سمت گره A با استفاده از عملگر متفاوتی که در امتداد لبه رابطهای "r2" حرکت میکند، تبدیل میشود.
5. بازنمایی ریاضی GCNهای رابطهای:
ماتریس تبدیل “W” بر اساس نوع رابطه نمایه خواهد شد. بنابراین، در یک GCN رابطهای، محاسبه پیام در سطح (l + 1) به صورت زیر نوشته میشود:
معادله: ریاضیات در یک لایه RGCN
طبق معادله بالا، انواع روابط را جمعبندی میکنیم. برای هر نوع رابطه، ما به همسایهها نگاه میکنیم، تبدیل مخصوص رابطه “r” را میگیریم و همسایهها را میگیریم و پیامهای متصل به گره “v”را بر اساس رابطه “r”میگیریم و تعبیه از گره “v” از لایه قبلی و تبدیل آن میگیریم.
بنابراین، همانطور که در معادله بالا مشاهده میشود، برای هر لایه و هر رابطه “w” داریم. Cv,r پارامتر نرمالسازی است - که درجه گره است. من در مورد درجه گره در بخش 5 از قسمت 1 مجموعه خود در گرافها بحث کردهام. در گرافهای غیرجهتدار، Node Degree تعداد یالهای مجاور یک گره معین را نشان میدهد. به عنوان مثال، گره A در شکل زیر دارای درجه 4 است زیرا 4 لبه به آن متصل است.
شکل 10: درجه گره در گرافهای بدون جهت
چگونه میتوان این را به عنوان پیام به اضافه انبوه نوشت؟
پیام:
برای هر همسایه یک رابطه معین:
معادله: پیام - تعبیههای تبدیل شده از همسایه گرهها بر روی درجه گره عادی شده است.
حلقه خود (گرهها دارای تبدیل تعبیه شده خود هستند):
معادله: حلقه خود پیام - تغییر شکل بر روی تعبیه خود
تجمیع:
این شامل جمعبندی پیامهای همسایهها و حلقه خود و سپس اعمال تجمیع میشود:
معادله: تجمیع پیامهای تبدیل شده همسایگان یک گره و self-loop
به این شبکههای عصبی کانولوشنال گراف رابطهای گفته میشود که در آن ما اپراتورهای مختلف تبدیل پیام را بر اساس تعبیه لایه قبلی/نوع رابطه بین یک جفت گره داریم.
6. مسائل در GCNهای رابطهای:
با GCNهای رابطهای، برای هر رابطه “r”، ما به ماتریسهای “L” نیاز داریم - یعنی: برای هر لایه، ماتریسهای تبدیل متفاوت هستند و برای هر رابطه متفاوت هستند.
بیان: ماتریسهای L برای هر رابطه – “L” تعداد لایهها را نشان میدهد
اندازه ماتریس Wr بعد تعبیه لایه بالایی x بعد تعبیه لایه پایینی است: dl+1 × d(l). بنابراین، ما برای هر لایه و هر نوع رابطه یک چنین ماتریسی داریم. از آنجا که گرافهای ناهمگن و به ویژه گرافهای دانش میتوانند چندین نوع رابطه داشته باشند، ما میتوانیم هزاران ماتریس از این قبیل را بدست آوریم. پارامترهای مدل با انواع رابطه رشد میکنند. از این رو مدل برای آموزش بیش از حد بزرگ میشود و به دلیل تعداد زیاد پارامترها، برازش بیش از حد به یک مسئله رایج تبدیل میشود.
دو رویکرد برای کاهش تعداد پارامترها در طول آموزش RGCN وجود دارد:
· با استفاده از ماتریس Block Diagonal
· پایه / یادگیری فرهنگ لغت
بلوک کردن رویکرد مورب برای کاهش پارامترهای مدلهای RGCN:
اجازه دهید ابتدا در مورد استفاده از ماتریسهای Block Diagonal برای کاهش پارامترها در حین آموزش صحبت کنیم - ایده اصلی آنها در اینجا این است که ماتریس های تبدیل Wr را پراکنده کنیم و یکی از راههای پراکنده کردن این ماتریسها این است که یک ساختار مورب بلوک را به گونه ای غیر صفر اعمال کنیم. عناصر ماتریس فقط بر روی بلوکهای خاص ماتریسهای تبدیل/وزن “Wr” قرار دارند که در شکل زیر نشان داده شده است:
شکل 11: ماتریس مورب بلوک عناصر غیرصفر را فقط بر روی بلوکهای خاص سازه نشان میدهد.
این تعداد عناصر غیر صفر را کاهش میدهد، به این معنی که در طول محاسبات شما فقط باید پارامترها را در امتداد عناصر غیر صفر تخمین بزنید. بنابراین، اگر فرض کنیم که Wr از ماتریسهای بلوک بُعد پایینتر “B” تشکیل شده باشد، تعداد پارامترها با یک عامل “B” کاهش مییابد. بنابراین، اگر از ماتریسهای بلوک با ابعاد پایین B استفاده کنید، تعداد پارامترها از d(l+1) × d(l) به B × d(l) / B × d(l+1)/B کاهش مییابد.
بیان: کاهش در پارامترها در نتیجه قطر بلوکی بودن ماتریسهای وزن
با استفاده از ماتریسهای Block Diagonal چه چیزی را از دست میدهید؟
ما برخی از اطلاعات را با استفاده از ماتریسهای مورب بلوک از دست میدهیم - بعد تعبیه دور از یکدیگر قادر به تعامل با یکدیگر نیستند - فقط بعد تعبیه در امتداد موجودیتهای غیر صفر قادر به تعامل با یکدیگر خواهند بود. یعنی: فقط نورونهایی که در امتداد عناصر غیر صفر قرار دارند - نورونهایی که در امتداد همان بلوک قرار دارند - قادر به تبادل اطلاعات با یکدیگر خواهند بود.
یادگیری پایه برای کاهش پارامترهای مدلهای RGCN:
ایده دوم برای مقیاسپذیرتر کردن RGCNها، به اشتراک گذاشتن وزنها بین روابط است. یعنی ما نمیخواهیم روابط مستقل از یکدیگر باشند، بلکه میخواهیم این روابط اطلاعاتی را به اشتراک بگذارند. این را میتوان با نمایش ماتریس تبدیل Wr به عنوان یک ترکیب خطی از ماتریسهای “Basis” به زیبایی به دست آورد. به این ماتریسهای پایه «دیکشنری» نیز گفته میشود. یعنی - ماتریس wight "Wr" به عنوان یک ترکیب خطی نشان داده میشود - که یک مجموع وزنی از ماتریسهای دیکشنری Vb است. Vb در تمام روابط مشترک است. این معمولاً به عنوان "آموزش پایه" یا "یادگیری دیکشنری" شناخته میشود.
این ممکن است به صورت زیر نمایش داده شود:
معادله - ماتریس وزن برای رابطه “r” به صورت ترکیب خطی ماتریسهای پایه B نشان داده شده است
در اینجا، arb وزن اهمیت مربوط به رابطه برای ماتریس دیکشنری “b” است.
بنابراین، هر رابطهای باید یاد بگیرد که arb وزنی برای هر پایه ماتریس یک عدد اسکالر است. این به طور قابل توجهی تعداد پارامترها را کاهش میدهد. “B” ممکن است کوچک باشد - مثلاً 10 و شما ممکن است هزاران رابطه داشته باشید که برای آنها arb است: 1000 اسکالر باید یاد بگیرید. این از طریق عبارت زیر مشخص میشود:
بیان - هر رابطه باید عوامل اهمیت “B” را بیاموزد که در آن “B” تعداد ماتریسهای پایه است
پس از صحبت در مورد مقیاسپذیری GCNها با استفاده از Block Diagonal و Basis Learning، اجازه دهید در مورد اینکه چگونه میتوان پیشبینیهای مختلف را بر روی گرافهای ناهمگن تعریف کرد، صحبت کنیم.
7. دستهبندی موجودیت / گره با استفاده از RGCs
در مورد کار پیشبینی شامل دستهبندی گره/دستهبندی موجودیت، همه چیز متفاوت نیست. RGCN بازنمایی یا تعبیه را برای هر گره محاسبه میکند و بر اساس آن تعبیه یک پیشبینی راس ایجاد میشود.
به عنوان مثال، اگر بخواهیم گرهها را به کلاسهای مختلف “k” دستهبندی کنیم، آنگاه پیشبینی راس نهایی شامل تبدیل خطی یک بردار تعبیهکننده خواهد بود - یعنی گرفتن بردار تعبیه لایه نهایی و ضرب در یک ماتریس وزن و سپس آن را از طریق یک تابع غیرخطی/فعالسازی عبور دهید و سپس یک Softmax داشته باشید تا احتمال یک کلاس مشخص را پیشبینی کنید. خروجی شامل یک خروجی راس “k” برای کلاسهای مختلف “k” است.
شکل 12: وظیفه دستهبندی گره - هر پیشبینی راس شامل تبدیل تعبیه با استفاده از ماتریس وزن و استفاده از غیر خطی بودن است.
8. پیشبینی نهاد / پیوند
دستهبندی - تقسیم لبهها به انواع مختلف برای آموزش / اعتبارسنجی و آزمایش
برای پیشبینی پیوند، ما به مسائل کمی متفاوت برخورد میکنیم. پیوندها/لبه ها ممکن است انواع مختلفی داشته باشند - یعنی انواع مختلف رابطه - و از بین انواع مختلف رابطه، برخی ممکن است رایج و برخی غیر معمول باشند. برای هر نوع رابطه، آنها را به موارد زیر تقسیم میکنیم:
· لبههای پیام آموزشی
· لبههای نظارت آموزشی
· لبههای اعتبارسنجی
· لبههای تست
ما این کار را برای همه انواع رابطه انجام میدهیم و سپس همه یالها را ادغام میکنیم - یعنی به طور مستقل انواع لبهها را تقسیم میکنیم و سپس آنها را ادغام میکنیم. این بدان معنی است که حتی برای انواع روابط نادر[2]، برخی از نمونهها در آموزش، برخی در اعتبارسنجی و برخی در مجموعه آزمایشی خواهند بود. این تقسیم مستقل لبههای هر نوع رابطه، دستهبندی نامیده میشود.
در شکل زیر، گراف اصلی نشان داده شده در سمت چپ را داریم و لبهها به لبههای پیام آموزشی، لبههای نظارت آموزشی، لبههای اعتبارسنجی و لبههای آزمایشی که در سمت راست با رنگهای منحصربهفرد نشان داده شده است، تقسیم شدهاند. تقسیم باید برای هر نوع رابطه انجام شود زیرا فرکانس یالهای یک نوع رابطه خاص در کل گراف ممکن است بیشتر/کمتر باشد. هنگامی که تقسیم انجام شد، لبههای پیام آموزشی، لبههای نظارت آموزشی، اعتبارسنجی و لبههای آزمایشی همانطور که در شکل 14 نشان داده شده است، ادغام میشوند.
شکل 13: گراف اصلی و یالها به پیام آموزشی، نظارت آموزشی، اعتبارسنجی و لبههای آزمایش تقسیم میشوند.
شکل 14: تقسیم پیشبینی پیوند
رسمی کردن پیشبینی پیوند در گرافهای ناهمگن:
اکنون ببینیم چگونه میتوانیم پیشبینی پیوند را در گرافهای ناهمگن رسمی کنیم. گراف زیر را در نظر بگیرید:
شکل 15: گراف ورودی نمونه
تصور کنید که میخواهیم احتمال وجود Edge را بین گرههای E و A پیشبینی کنیم و آن یال از نوع رابطه 3 است که در شکل بالا نشان داده شده است. اجازه دهید فرض کنیم که لبه یک لبه نظارت آموزشی است و تمام یال های دیگر لبه های پیام آموزشی هستند.
روشی که ما میخواهیم RGCN به یالها امتیاز دهد این است که: ما جاسازی لایه نهایی گره E و سپس تعبیه لایه نهایی گره A را میگیریم و سپس یک تابع امتیازدهی خاص رابطهای “f” خواهیم داشت که این تعبیهها را میگیرد و تبدیل به یک ارزش واقعی مینماید.
معادله: تابع امتیازدهی خاص رابطه برای پیوند از E به A
یعنی - ما تعبیه گره E را میگیریم، یک تبدیل خطی را با ضرب آن در ماتریس وزن انجام میدهیم و سپس حاصل ضرب نقطهای را با تعبیه A میگیریم و آن را از یک تابع فعالسازی و به دنبال آن یک Softmax عبور میدهیم.
احتمال به دست آمده نشان میدهد که آیا پیوندی بین گره E و A وجود دارد یا خیر. این یکی از راههای فرموله کردن مسئله است. اکنون روند آموزش را ببینیم.
9. RGCN برای نهاد/پیشبینی پیوند: خلاصه فرآیند آموزش
گراف را مانند شکل زیر در نظر بگیرید:
شکل 16: گراف ورودی نمونه
الف) فرض کنیم که لبه E تا A لبه نظارت است
ب) فرض کنیم تمام یالهای دیگر که با خطوط ثابت در شکل 16 در بالا نشان داده شدهاند، لبههای پیام آموزشی هستند.
ج) از یالهای پیام آموزشی برای پیشبینی احتمال وجود یال نظارت آموزشی استفاده میکنیم: این یال از E تا A در این مثال است.
د) کار دیگری که باید به عنوان بخشی از پیشبینی پیوند انجام دهیم، ایجاد نمونههای منفی است. یعنی باید لبههای منفی ایجاد کنیم.
ه) یکی از راههای ایجاد لبه منفی، برهم زدن لبه نظارت است.
به عنوان مثال، در گراف شکل 16، اگر لبه نظارتی را از E تا A داشته باشیم، یکی از راههای ایجاد لبه منفی، خراب کردن دم لبه نظارت است. سپس، در این گراف مثال، اگر یال نظارتی را از E تا A داشته باشیم، یکی از راههای ایجاد یال منفی این است که دم یال او را خراب کنیم. بنابراین، ما راس را در E نگه میداریم اما دم را خراب میکنیم به طوری که لبه اکنون از E به C (یا E به B) نسبت به E به A اشاره میکند.
و) باید توجه داشت که لبه منفی به لبه پیام آموزشی یا لبه نظارت آموزشی تعلق ندارد - برای مثال، لبه گره E تا C یک لبه نظارت آموزشی است نه یک لبه منفی. بنابراین باید در نمونهبرداری از لبههای منفی دقت کنیم. RGCN برای امتیاز دادن به لبههای مثبت و منفی استفاده میشود.
ی) تابع ضرری که میخواهیم بهینهسازی کنیم، افت آنتروپی متقاطع استاندارد است که میخواهیم امتیاز لبه نظارت تمرین (لبه مثبت) را به حداکثر برسانیم و امتیاز یال منفی را به حداقل برسانیم. بنابراین جریمه را به صورت زیر مینویسیم:
معادله - تابع از دست دادن آنتروپی متقاطع - به حداکثر رساندن امتیاز لبههای نظارت تمرین و به حداقل رساندن امتیاز یالهای منفی
و سپس یک بهینهساز مانند نزول گرادیان تصادفی برای بهینهسازی پارامترهای GCN خواهیم داشت که امتیاز احتمال بالایی را به لبه نظارت تمرین و امتیاز پایین را به لبههای منفی اختصاص میدهد.
10. RGCN برای نهاد/پیشبینی پیوند: فرآیند ارزیابی
با آموزش مدل، به سمت اعتبار سنجی حرکت میکنیم - تا عملکرد مدل را تأیید کنیم.
اجازه دهید فرض کنیم که یال اعتبارسنجی مورد نظر ما بین گره E و گره D مطابق شکل زیر است. ما علاقهمندیم بدانیم که آیا لبه از نوع r3 است یا خیر
شکل 17: فرآیند ارزیابی در RGCN - لبه اعتبارسنجی نوع رابطه "r3" از E تا D
ما علاقهمندیم بدانیم که آیا این از نوع r3 است یا خیر. اکنون لبههای پیام آموزشی و یالهای نظارت آموزشی برای انتشار پیام استفاده میشوند و باید لبه را از E به D مانند شکل 17 در بالا امتیاز دهیم. امتیاز این یال از E تا D باید بیشتر از امتیاز تمام یال های منفی باشد.
مراحل ارزیابی به شرح زیر خواهد بود:
· از RGCN برای محاسبه امتیاز از E تا D (E, r3, D) استفاده کنید.
· امتیاز تمام یالهای منفی (E تا B و E تا F) را محاسبه کنید.
· امتیاز تمام یالها را به دست آورید، یعنی آنها را رتبهبندی کنید. رتبه E تا D بالاتر از امتیاز خروجی E تا F و E تا B خواهد بود.
· معیارها را محاسبه کنید: Hits@k Rk < = k. بالاتر بهتر است نشان دهد که هر چند وقت یکبار یال مثبت بهتر از سایر یالهای منفی رتبهبندی شده است.
11. خلاصه این مقاله:
این مقاله جنبههای زیر از RGCNها را پوشش میدهد:
· گرافهای ناهمگن چیست؟
· گرافهای دانش و گرافهای ناهمگن
· شبکههای عصبی گراف ساده (GCN) در مقابل شبکههای عصبی گراف رابطهای (RGCN)
· مسئله اضافه برازش در RGCNها
· رویکرد قطری بلوک و ماتریسهای پایه برای رسیدگی به اضافه برازش در RGCNها
· حل مسئله دستهبندی گره در گرافهای ناهمگن با RGCN
· حل مسائل پیشبینی پیوند در گرافهای ناهمگن با RGCN