کتاب Hands-On Graph Neural Networks Using Python (شبکههای عصبی گراف با استفاده از پایتون در عمل: تکنیکها و معماریهای عملی برای ساختن گراف قدرتمند و برنامههای یادگیری عمیق با PyTorch) در 4 بخش به تشریح شبکههای عصبی گراف و پیادهسازی آنها با استفاده از زبان برنامهنویسی پایتون خواهد پرداخت.
در ادامه مقدمهای از کتاب Hands-On Graph Neural Networks Using Python را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Hands-On Graph Neural Networks Using Python:
تنها در ده سال، شبکههای عصبی گراف (GNN) به یک معماری یادگیری عمیق ضروری و محبوب تبدیل شدهاند. آنها قبلاً تأثیر قابل توجهی در صنایع مختلف داشته اند، مانند کشف دارو، جایی که GNN ها آنتیبیوتیک جدیدی به نام هالیسین را پیش بینی کردند و محاسبات تخمینی زمان رسیدن را در Google Maps بهبود بخشیدند.
شرکتهای فناوری و دانشگاهها در حال بررسی پتانسیل GNN در کاربردهای مختلف، از جمله سیستمهای توصیهکننده، تشخیص اخبار جعلی و طراحی تراشه هستند. GNN ها دارای پتانسیل بسیار زیاد و کاربردهای بسیاری هستند که هنوز کشف نشده اند و آنها را به ابزاری حیاتی برای حل مشکلات جهانی تبدیل میکند.
در کتاب Hands-On Graph Neural Networks Using Python قصد داریم یک نمای کلی و کاربردی از دنیای GNN ارائه کنیم. ما با کاوش در مفاهیم اساسی تئوری گراف و یادگیری گراف شروع خواهیم کرد و سپس به پرکاربردترین و شناختهشدهترین معماریهای GNN خواهیم پرداخت. همانطور که پیشرفت میکنیم، آخرین پیشرفتها در GNN ها را نیز پوشش خواهیم داد و معماریهای تخصصی را معرفی خواهیم کرد که برای مقابله با وظایف خاص طراحی شده اند، مانند تولید نمودار، پیش بینی پیوند و موارد دیگر.
علاوه بر این فصلهای تخصصی، ما تجربه عملی را از طریق سه پروژه عملی ارائه خواهیم داد. این پروژهها کاربردهای حیاتی دنیای واقعی GNN ها، از جمله پیش بینی ترافیک، تشخیص ناهنجاری و سیستمهای توصیه کننده را پوشش خواهند داد.
از طریق این پروژهها، درک عمیق تری از نحوه عملکرد GNN ها و همچنین مهارتهای پیادهسازی آنها در سناریوهای عملی را به دست خواهید آورد. در نهایت، این کتاب یک تجربه یادگیری عملی با کدهای قابل خواندن برای تکنیکهای هر فصل و برنامههای کاربردی مربوطه ارائه میکند، که به راحتی در GitHub و Google Colab قابل دسترسی هستند.
در پایان این کتاب، شما درک جامعی از زمینه یادگیری گراف و GNN ها خواهید داشت و برای طراحی و پیادهسازی این مدلها برای طیف وسیعی از کاربردها به خوبی مجهز خواهید شد.
کتاب Hands-On Graph Neural Networks Using Python برای چه کسی است؟
این کتاب برای افرادی در نظر گرفته شده است که علاقه مند به یادگیری در مورد GNN ها و نحوه استفاده از آنها در مسائل مختلف دنیای واقعی هستند. این کتاب برای دانشمندان داده، مهندسان یادگیری ماشین و متخصصان هوش مصنوعی (AI) که میخواهند تجربه عملی در طراحی و پیادهسازی GNN کسب کنند، ایدهآل است.
کتاب Hands-On Graph Neural Networks Using Python برای افرادی نوشته شده است که دانش قبلی در زمینه یادگیری عمیق و یادگیری ماشین دارند. با این حال، مقدمه ای جامع بر مفاهیم بنیادی نظریه گراف و یادگیری گراف برای کسانی که تازه وارد این رشته شده اند، فراهم میکند. همچنین برای محققان و دانشجویان علوم کامپیوتر، ریاضیات و مهندسی که می خواهند دانش خود را در این حوزه تحقیقاتی به سرعت در حال رشد گسترش دهند، مفید خواهد بود.
آنچه کتاب Hands-On Graph Neural Networks Using Python پوشش میدهد:
فصل 1، شروع به یادگیری نمودار، مقدمه ای جامع برای GNN ها، از جمله اهمیت آنها در تجزیه و تحلیل دادههای مدرن و یادگیری ماشین، ارائه میدهد. این فصل با بررسی ارتباط نمودارها به عنوان نمایش دادهها و استفاده گسترده از آنها در حوزه های مختلف شروع می شود. سپس به اهمیت یادگیری نمودار، از جمله کاربردها و تکنیک های مختلف می پردازد. در نهایت، این فصل بر روی معماری GNN تمرکز دارد و ویژگی ها و عملکرد منحصر به فرد آن را در مقایسه با روش های دیگر برجسته میکند.
فصل 2 کتاب Hands-On Graph Neural Networks Using Python، نظریه گراف برای شبکههای عصبی گراف، مبانی تئوری گراف را پوشش میدهد و انواع مختلف نمودارها از جمله خواص و کاربردهای آنها را معرفی میکند. این فصل همچنین مفاهیم اساسی نمودار، مانند ماتریس مجاورت، معیارهای گراف، مانند مرکزیت، و الگوریتمهای نمودار، جستجوی اول عرض (BFS) و جستجوی اول عمق (DFS) را پوشش میدهد.
فصل 3 کتاب Hands-On Graph Neural Networks Using Python، ایجاد نمایش گره ها با DeepWalk، بر DeepWalk، پیشگام در استفاده از یادگیری ماشین برای نمودار کردن دادهها تمرکز دارد. هدف اصلی معماری DeepWalk تولید نمایش گره هایی است که سایر مدل ها میتوانند برای کارهای پایین دستی مانند طبقه بندی گره ها استفاده کنند. این فصل دو جزء کلیدی DeepWalk – Word2Vec و پیاده روی تصادفی – را با تاکید ویژه بر مدل skip-gram Word2Vec پوشش میدهد.
فصل 4 کتاب Hands-On Graph Neural Networks Using Python، بهبود تعبیهها با پیادهرویهای تصادفی جانبدارانه در Node2Vec، بر معماری Node2Vec تمرکز دارد که بر اساس معماری DeepWalk است که در فصل قبل توضیح داده شد. این فصل تغییرات ایجاد شده در تولید پیاده روی تصادفی در Node2Vec و نحوه انتخاب بهترین پارامترها برای یک نمودار خاص را پوشش میدهد. اجرای Node2Vec با DeepWalk در Zachary’s Karate Club مقایسه می شود تا تفاوتهای بین این دو معماری برجسته شود. فصل با کاربرد عملی Node2Vec، ساخت یک سیستم توصیه فیلم به پایان می رسد.
فصل 5 کتاب Hands-On Graph Neural Networks Using Python، شامل ویژگیهای گره با شبکههای عصبی وانیلی، ادغام اطلاعات اضافی، مانند ویژگیهای گره و لبه، در جاسازیهای نمودار را بررسی میکند تا نتایج دقیقتری تولید کند. این فصل با مقایسه عملکرد شبکه های عصبی وانیلی فقط بر روی ویژگی های گره آغاز میشود که به عنوان مجموعه دادههای جدولی در نظر گرفته میشود. سپس، ما با افزودن اطلاعات توپولوژیکی به شبکه های عصبی آزمایش خواهیم کرد که منجر به ایجاد یک معماری ساده GNN وانیلی میشود.
فصل 6 کتاب Hands-On Graph Neural Networks Using Python، معرفی شبکه های کانولوشن گراف، بر معماری شبکه کانولوشن گراف (GCN) و اهمیت آن به عنوان طرحی برای GNN ها تمرکز دارد. این محدودیتهای لایههای GNN قبلی وانیلی را پوشش میدهد و انگیزه پشت GCNها را توضیح میدهد. این فصل نحوه عملکرد لایه GCN، بهبود عملکرد آن نسبت به لایه وانیلی GNN و پیاده سازی آن در مجموعه دادههای صفحه-صفحه Cora و Facebook با استفاده از PyTorch Geometric را شرح میدهد. این فصل همچنین به وظیفه رگرسیون گره و مزایای تبدیل دادههای جدولی به نمودار می پردازد.
فصل 7 کتاب Hands-On Graph Neural Networks Using Python، شبکههای توجه نمودار، بر روی شبکههای توجه نمودار (GAT) تمرکز میکند که نسبت به GCNها پیشرفت کردهاند. این فصل نحوه عملکرد GAT ها را با استفاده از مفهوم توجه به خود توضیح میدهد و درک گام به گام لایه توجه نمودار را ارائه میدهد. این فصل همچنین یک لایه توجه گراف را از ابتدا با استفاده از NumPy پیاده سازی میکند. بخش پایانی فصل استفاده از یک GAT را در دو مجموعه داده طبقهبندی گره، Cora و CiteSeer مورد بحث قرار میدهد و دقت را با یک GCN مقایسه میکند.
فصل 8 کتاب Hands-On Graph Neural Networks Using Python، بزرگسازی شبکههای عصبی نمودار با GraphSAGE، بر معماری GraphSAGE و توانایی آن در مدیریت موثر نمودارهای بزرگ تمرکز دارد. این فصل دو ایده اصلی پشت GraphSAGE، از جمله تکنیک نمونهبرداری همسایه و عملگرهای تجمیع را پوشش میدهد. در مورد انواع پیشنهادی شرکتهای فناوری مانند Uber Eats و Pinterest و همچنین مزایای رویکرد استقرایی GraphSAGE خواهید آموخت. فصل با پیاده سازی GraphSAGE برای طبقهبندی گرهها و وظایف طبقه بندی چند برچسبی به پایان میرسد.
فصل 9 کتاب Hands-On Graph Neural Networks Using Python، تعریف بیانگر برای طبقهبندی نمودار، مفهوم بیانپذیری در GNN و چگونگی استفاده از آن برای طراحی مدلهای بهتر را بررسی میکند. این تست Weisfeiler-Leman (WL) را معرفی میکند که چارچوبی را برای درک بیان در GNN ها فراهم میکند. این فصل از آزمون WL برای مقایسه لایههای مختلف GNN و تعیین رساترین لایه استفاده میکند. بر اساس این نتیجه، یک GNN قدرتمندتر با استفاده از PyTorch Geometric طراحی و پیاده سازی شده است. فصل با مقایسه روشهای مختلف برای طبقهبندی نمودار در مجموعه دادههای PROTEINS به پایان میرسد.
فصل 10 کتاب Hands-On Graph Neural Networks Using Python، پیشبینی پیوندها با شبکههای عصبی نمودار، بر پیشبینی پیوند در نمودارها تمرکز دارد. این تکنیکهای سنتی مانند فاکتورسازی ماتریسی و روشهای مبتنی بر GNN را پوشش میدهد. این فصل مفهوم پیشبینی لینک و اهمیت آن را در شبکههای اجتماعی و سیستمهای توصیهکننده توضیح میدهد.
با محدودیتهای تکنیکهای سنتی و مزایای استفاده از روشهای مبتنی بر GNN آشنا خواهید شد. ما سه تکنیک مبتنی بر GNN از دو خانواده مختلف، از جمله تعبیه گرهها و نمایش زیرگراف را بررسی خواهیم کرد. در نهایت، تکنیکهای مختلف پیشبینی لینک را در PyTorch Geometric پیادهسازی میکنید و بهترین روش را برای یک مشکل مشخص انتخاب میکنید.
فصل 11 کتاب Hands-On Graph Neural Networks Using Python، تولید نمودارها با استفاده از شبکههای عصبی نمودار، زمینه تولید گراف را بررسی میکند که شامل یافتن روشهایی برای ایجاد نمودارهای جدید است. این فصل ابتدا شما را با تکنیکهای سنتی مانند Erdős–Rényi و مدلهای دنیای کوچک آشنا میکند. سپس بر روی سه خانواده راه حل برای تولید گراف مبتنی بر GNN تمرکز خواهید کرد: مدلهای مبتنی بر VAE، اتورگرسیو و مبتنی بر GAN. این فصل با اجرای یک چارچوب مبتنی بر GAN با یادگیری تقویتی (RL) برای تولید ترکیبات شیمیایی جدید با استفاده از کتابخانه DeepChem با TensorFlow به پایان میرسد.
فصل 12 کتاب Hands-On Graph Neural Networks Using Python، یادگیری از نمودارهای ناهمگن، بر GNN های ناهمگن تمرکز دارد. گرافهای ناهمگن شامل انواع مختلفی از گرهها و یالها هستند، برخلاف گرافهای همگن که فقط شامل یک نوع گره و یک نوع یال هستند. این فصل با بررسی چارچوب شبکه عصبی ارسال پیام (MPNN) برای GNN های همگن آغاز می شود، سپس چارچوب را به شبکههای ناهمگن گسترش میدهد. در نهایت، ما تکنیکی را برای ایجاد یک مجموعه داده ناهمگن، تبدیل معماریهای همگن به معماریهای ناهمگن، و بحث در مورد معماری بهطور خاص برای پردازش شبکههای ناهمگن معرفی میکنیم.
فصل 13 کتاب Hands-On Graph Neural Networks Using Python، شبکههای عصبی نمودار زمانی، بر GNN های زمانی یا GNN های مکانی-زمانی تمرکز دارد که نوعی از GNN هستند که می توانند نمودارها را با لبهها و ویژگیهای در حال تغییر در طول زمان مدیریت کنند. این فصل ابتدا مفهوم نمودارهای پویا و کاربردهای GNN های زمانی را با تمرکز بر پیشبینی سریهای زمانی توضیح میدهد.
سپس این فصل به کاربرد GNN های موقت در پیش بینی ترافیک وب برای بهبود نتایج با استفاده از اطلاعات زمانی می پردازد. در نهایت، این فصل یکی دیگر از معماریهای موقتی GNN را که به طور خاص برای نمودارهای پویا طراحی شده است، توصیف میکند و آن را برای پیش بینی اپیدمی به کار می برد.
فصل 14 کتاب Hands-On Graph Neural Networks Using Python، توضیح شبکههای عصبی نمودار، تکنیکهای مختلفی برای درک بهتر پیشبینیها و رفتار یک مدل GNN را پوشش میدهد. این فصل دو روش رایج توضیح را برجسته میکند: GNNExplainer و گرادیانهای یکپارچه. سپس، کاربرد این تکنیکها را در یک کار طبقهبندی نمودار با استفاده از مجموعه داده MUTAG و یک کار طبقهبندی گره با استفاده از شبکه اجتماعی Twitch خواهید دید.
فصل 15 کتاب Hands-On Graph Neural Networks Using Python، پیش بینی ترافیک با استفاده از A3T-GCN، بر کاربرد شبکههای عصبی نمودار زمانی در زمینه پیش بینی ترافیک تمرکز دارد. اهمیت پیشبینی ترافیک دقیق در شهرهای هوشمند و چالشهای پیشبینی ترافیک به دلیل وابستگیهای مکانی و زمانی پیچیده را نشان میدهد. این فصل مراحل مربوط به پردازش یک مجموعه داده جدید برای ایجاد یک نمودار زمانی و اجرای یک نوع جدید از GNN موقت برای پیشبینی سرعت ترافیک آینده را پوشش میدهد. در نهایت، نتایج با یک راه حل پایه برای تأیید ارتباط معماری مقایسه میشوند.
فصل 16 کتاب Hands-On Graph Neural Networks Using Python، تشخیص ناهنجاری ها با استفاده از GNN های ناهمگن، بر کاربرد GNN ها در تشخیص ناهنجاری تمرکز دارد. GNN ها با توانایی خود در گرفتن روابط پیچیده، آن ها را برای تشخیص ناهنجاری ها مناسب میکنند و میتوانند حجم زیادی از دادهها را به طور موثر مدیریت کنند.
در این فصل، نحوه پیاده سازی GNN برای تشخیص نفوذ در شبکههای کامپیوتری با استفاده از مجموعه داده CIDDS-001 را یاد خواهید گرفت. این فصل پردازش مجموعه داده، ساخت ویژگیهای مرتبط، پیادهسازی یک GNN ناهمگن، و ارزیابی نتایج برای تعیین اثربخشی آن در تشخیص ناهنجاریها در ترافیک شبکه را پوشش میدهد.
فصل 17 کتاب Hands-On Graph Neural Networks Using Python، کتابهای پیشنهادی با استفاده از LightGCN، بر کاربرد GNN ها در سیستمهای توصیهگر تمرکز دارد. هدف سیستمهای توصیهگر ارائه توصیههای شخصی به کاربران بر اساس علایق و تعاملات گذشته آنهاست. GNN ها برای این کار مناسب هستند زیرا میتوانند به طور موثر روابط پیچیده ای را بین کاربران و آیتمها ترکیب کنند.
در این فصل، معماری LightGCN به عنوان یک GNN که به طور خاص برای سیستمهای توصیه گر طراحی شده است، معرفی میشود. با استفاده از مجموعه داده Book-Crossing، این فصل نحوه ایجاد یک سیستم توصیهکننده کتاب با فیلتر مشترک با استفاده از معماری LightGCN را نشان میدهد.
فصل 18، باز کردن پتانسیل شبکههای عصبی گراف برای کاربردهای واقعی کلمه، آنچه را که در طول کتاب آموختهایم خلاصه میکند و به آینده GNNها نگاه میکند.
سرفصلهای کتاب Hands-On Graph Neural Networks Using Python:
- Cover
- Title Page
- Copyright
- Contributors
- Table of Contents
- Preface
- Part 1: Introduction to Graph Learning
- Chapter 1: Getting Started with Graph Learning
- Chapter 2: Graph Theory for Graph Neural Networks
- Chapter 3: Creating Node Representations with DeepWalk
- Part 2: Fundamentals
- Chapter 4: Improving Embeddings with Biased Random Walks in Node2Vec
- Chapter 5: Including Node Features with Vanilla Neural Networks
- Chapter 6: Introducing Graph Convolutional Networks
- Chapter 7: Graph Attention Networks
- Part 3: Advanced Techniques
- Chapter 8: Scaling Up Graph Neural Networks with GraphSAGE
- Chapter 9: Defining Expressiveness for Graph Classification
- Chapter 10: Predicting Links with Graph Neural Networks
- Chapter 11: Generating Graphs Using Graph Neural Networks
- Chapter 12: Learning from Heterogeneous Graphs
- Chapter 13: Temporal Graph Neural Networks
- Chapter 14: Explaining Graph Neural Networks
- Part 4: Applications
- Chapter 15: Forecasting Traffic Using A3T-GCN
- Chapter 16: Detecting Anomalies Using Heterogeneous GNNs
- Chapter 17: Building a Recommender System Using LightGCN
- Chapter 18: Unlocking the Potential of Graph Neural Networks for Real-World Applications
- Index
- About Packt
- Other Books You May Enjoy
جهت دانلود کتاب Hands-On Graph Neural Networks Using Python میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.