กราฟโครงข่ายประสาทเทียมคืออะไร? คำอธิบายและการใช้งาน [พร้อมไดอะแกรม]

เผยแพร่แล้ว: 2021-01-08

สารบัญ

บทนำ

ในช่วงไม่กี่ครั้งที่ผ่านมา Neural Networks ได้รับความนิยมอย่างมากจากการใช้งานและความง่ายในการใช้งานในด้าน Pattern Recognition และ Data Mining การประยุกต์ใช้ Deep Learning กับงานต่างๆ เช่น การตรวจจับวัตถุและการรู้จำคำพูดโดยใช้เทคนิคต่างๆ เช่น CNN, RNN และตัวเข้ารหัสอัตโนมัติ ได้นำงานจำนวนมากมาสู่การวิจัยและพัฒนา Neural Networks

การประยุกต์ใช้ Deep Learning กับข้อมูล เช่น รูปภาพ ข้อความ และวิดีโอ ทำได้ง่าย ๆ เนื่องจากอิงจากข้อมูลแบบยุคลิด แล้วแอปพลิเคชันที่แสดงข้อมูลเป็นกราฟ (ไม่ใช่แบบยุคลิด) ที่มีความสัมพันธ์ที่ซับซ้อนสูงระหว่างวัตถุล่ะ

นี่คือที่ที่เรานำแนวคิดของ Graph Neural Networks (GNN) ในบทความนี้ เราจะพูดถึงคำจำกัดความและพื้นฐานของกราฟและ GNN และดูการใช้งานล่าสุดของ Graph Neural Networks

กราฟคืออะไร?

จากชื่อ – Graph Neural Networks เราจะเห็นว่าส่วนพื้นฐานที่สุดของ GNN คือกราฟ

ในวิทยาการคอมพิวเตอร์ กราฟถูกกำหนดให้เป็นโครงสร้างข้อมูลที่มีสององค์ประกอบ จุดยอดและขอบ กราฟ G สามารถกำหนดเป็น G = VE โดยที่ V คือเซตของจุดยอด และ E คือขอบระหว่างจุดทั้งสอง คำว่าจุดยอดและโหนดมักใช้สลับกันได้ หากมีเครื่องหมายลูกศรบนขอบที่เรียกว่าการพึ่งพาทิศทาง แสดงว่ากราฟนั้นเป็นกราฟกำกับ หากไม่เป็นเช่นนั้น จะเป็นกราฟที่ไม่มีทิศทาง

แหล่งที่มา

กราฟสามารถแสดงได้หลายอย่าง – เครือข่ายโซเชียลมีเดีย เครือข่ายเมือง โมเลกุล ฯลฯ พิจารณากราฟต่อไปนี้ที่แสดงถึงเครือข่ายของเมือง เมืองจะแสดงเป็นโหนดและถนนที่เชื่อมต่อกันคือขอบ

แหล่งที่มา

เมื่อใช้เครือข่ายกราฟด้านบนนี้ เราสามารถแก้ปัญหาต่างๆ ที่เกี่ยวข้องกับเมืองเหล่านี้ได้ เช่น การค้นหาเมืองที่มีความเชื่อมโยงกันเป็นอย่างดี หรือการค้นหาระยะทางที่สั้นที่สุดระหว่างสองเมือง

กราฟโครงข่ายประสาทเทียมคืออะไร?

เนื่องจากกราฟมีพลังในการแสดงภาพที่ชัดเจนมาก จึงได้รับความสนใจอย่างกว้างขวางในด้านการเรียนรู้ของเครื่อง ทุกโหนดมีการฝังที่เกี่ยวข้อง การฝังนั้นกำหนดโหนดในพื้นที่ข้อมูล Graph Neural Networks หมายถึงสถาปัตยกรรมโครงข่ายประสาทเทียมที่ทำงานบนกราฟ

เป้าหมายหลักของสถาปัตยกรรม GNN คือการเรียนรู้การฝังซึ่งมีข้อมูลเกี่ยวกับพื้นที่ใกล้เคียง เมื่อใช้การฝังนี้ เราสามารถแก้ปัญหาต่างๆ ได้ เช่น การติดฉลากโหนด การทำนายโหนดและขอบ เป็นต้น

กล่าวอีกนัยหนึ่ง Graph Neural Networks เป็นคลาสเพิ่มเติมของวิธีการเรียนรู้เชิงลึกซึ่งออกแบบมาเพื่อทำการอนุมานข้อมูลที่ได้รับจากกราฟ ใช้กับกราฟและสามารถดำเนินการคาดการณ์ระดับโหนด ระดับขอบ และระดับกราฟได้อย่างง่ายดาย

ทำไมไม่ซีเอ็นเอ็น?

ข้อได้เปรียบหลักของ GNN คือสามารถทำงานที่ Convolutional Neural Networks (CNN) ไม่สามารถทำได้ CNN ใช้สำหรับทำงานต่างๆ เช่น การตรวจจับวัตถุ การจัดประเภทรูปภาพ และการจดจำ CNN ใช้เลเยอร์ convolutional ที่ซ่อนอยู่และเลเยอร์การรวมเข้าด้วยกัน

การคำนวณ CNN กับข้อมูลกราฟเป็นเรื่องยาก เนื่องจากโทโพโลยีที่ซับซ้อนและซับซ้อนตามอำเภอใจ ซึ่งหมายความว่าไม่มีพื้นที่เชิงพื้นที่ นอกจากนี้ยังมีการเรียงลำดับโหนดที่ไม่คงที่ซึ่งทำให้การใช้ CNN ยากขึ้น

กราฟโครงข่ายประสาท

ดังนั้นจึงเป็นที่เข้าใจกันว่า GNN เป็นโครงข่ายประสาทเทียมที่ใช้โดยตรงกับกราฟ ซึ่งเป็นวิธีที่สะดวกสำหรับงานคาดการณ์ระดับขอบ ระดับโหนด และระดับกราฟ Graph Neural Networks มีสามประเภทหลัก:

  1. โครงข่ายประสาทกราฟที่เกิดซ้ำ
  2. เครือข่าย Convolutional เชิงพื้นที่
  3. Spectral Convolutional Network

สัญชาตญาณอย่างหนึ่งของ GNN คือโหนดถูกกำหนดโดยเพื่อนบ้านและการเชื่อมต่อ เราเห็นภาพมันได้โดยจินตนาการว่าถ้าเพื่อนบ้านของโหนดทั้งหมดถูกลบออกไป โหนดจะสูญเสียข้อมูลทั้งหมด ดังนั้นแนวคิดของเพื่อนบ้านของโหนดและการเชื่อมต่อกับเพื่อนบ้านจึงกำหนดโหนด

เมื่อคำนึงถึงสิ่งนี้ ให้เราให้สถานะ (x) แก่โหนดทุกโหนดเพื่อแสดงแนวคิด เราสามารถใช้สถานะโหนด (x) เพื่อสร้างผลลัพธ์ (o) ซึ่งเป็นการตัดสินใจเกี่ยวกับแนวคิด สถานะสุดท้าย (x_n) ของโหนดเรียกว่า "การฝังโหนด" งานหลักของ Graph Neural Network ทั้งหมดคือการกำหนด "การฝังโหนด" ของแต่ละโหนด โดยดูที่ข้อมูลเกี่ยวกับโหนดที่อยู่ใกล้เคียง

ให้เราเริ่มต้นด้วย GNN, Recurrent Graph Neural Network หรือ RecGNN . เวอร์ชันที่ทรงพลังที่สุด

โครงข่ายประสาทกราฟที่เกิดซ้ำ

ดังที่กล่าวไว้ในบทความต้นฉบับ RecGNN สร้างขึ้นด้วยสมมติฐานของทฤษฎีบทจุดคงที่ของ Banach ซึ่งระบุว่า: ให้ (X,d) เป็นพื้นที่เมตริกที่สมบูรณ์ และให้ (T:X→X) เป็นแผนที่การหดตัว จากนั้น T จะมีจุดคงที่เฉพาะ (x∗) และสำหรับ x∈X ใดๆ ลำดับ T_n(x) สำหรับ n→∞ จะบรรจบกันเป็น (x∗) ซึ่งหมายความว่าหากฉันใช้การแมป T บน x เป็นเวลา k ครั้ง x^k ควรจะเกือบเท่ากับ x^(k-1)

เครือข่าย Convolutional เชิงพื้นที่

สัญชาตญาณของ Spatial Convolutional Network นั้นคล้ายคลึงกับของ CNN ดังที่เราทราบใน CNN แนวคิดคือทำการบิดโดยการรวมพิกเซลที่อยู่ใกล้เคียงรอบๆ พิกเซลตรงกลางด้วยตัวกรองและตุ้มน้ำหนักที่เรียนรู้ได้ Spatial Convolutional Networks นำแนวคิดที่คล้ายคลึงกันมาใช้โดยการรวมคุณสมบัติของโหนดที่อยู่ใกล้เคียงเข้ากับโหนดกลาง

แหล่งที่มา

Spectral Convolutional Network

GNN ประเภทนี้แตกต่างจาก Graph Neural Networks อื่นๆ โดยมีพื้นฐานทางคณิตศาสตร์ที่แข็งแกร่ง ได้รับการพัฒนาบนทฤษฎีการประมวลผลสัญญาณกราฟ ใช้การประมาณพหุนาม Chebyshev เพื่อทำให้เข้าใจง่าย

GNN สามารถทำอะไรได้บ้าง?

ปัญหาที่ GNN สามารถแก้ไขได้แบ่งออกเป็น 3 ประเภทใหญ่ๆ –

  1. การจำแนกโหนด
  2. ทำนายลิงค์
  3. การจำแนกกราฟ

การจำแนกโหนด

เกี่ยวข้องกับการทำนายการฝังโหนดสำหรับแต่ละโหนดในกราฟ ในกรณีเช่นนี้ กราฟเพียงส่วนเดียวเท่านั้นที่มีป้ายกำกับ และด้วยเหตุนี้จึงเรียกว่ากราฟกึ่งควบคุม แอปพลิเคชั่นบางตัว ได้แก่ วิดีโอ YouTube, คำแนะนำเพื่อน Facebook ฯลฯ

ทำนายลิงค์

งานหลักคือการระบุความสัมพันธ์ระหว่างสองเอนทิตีในกราฟและคาดการณ์ว่ามีความเชื่อมโยงระหว่างเอนทิตีทั้งสองหรือไม่ ตัวอย่างเช่น พิจารณาระบบผู้แนะนำซึ่งโมเดลได้รับการรีวิวโดยผู้ใช้ผลิตภัณฑ์ต่างๆ งานคือการคาดการณ์ความชอบของผู้ใช้และปรับแต่งระบบผู้แนะนำเพื่อส่งเสริมผลิตภัณฑ์ที่ตรงกับความสนใจของผู้ใช้

การจำแนกกราฟ

เกี่ยวข้องกับการจำแนกกราฟทั้งหมดออกเป็นหลายประเภท มันค่อนข้างคล้ายกับงานการจัดประเภทรูปภาพ แต่เป้าหมายที่นี่อยู่ในโดเมนกราฟ มีตัวอย่างมากมายของการจัดประเภทกราฟ เช่น ในวิชาเคมี ตัวแบบจะได้รับโครงสร้างโมเลกุลในรูปแบบของกราฟ และงานคือการจัดประเภทเป้าหมายเป็นหมวดหมู่เฉพาะ

แอปพลิเคชันตามเวลาจริงของ GNN

นับตั้งแต่เปิดตัวในปี 2561 GNN ได้พบแอปพลิเคชั่นแบบเรียลไทม์จำนวนหนึ่งซึ่งสรุปไว้ด้านล่าง

การประมวลผลภาษาธรรมชาติ

GNN พบแอปพลิเคชันในแอปพลิเคชัน NLP ที่หลากหลาย เช่น การจัดประเภทความรู้สึก การจัดประเภทข้อความ การติดฉลากลำดับ ใช้ใน NLP เนื่องจากง่ายต่อการใช้งาน นอกจากนี้ยังใช้ในการวิเคราะห์เครือข่ายสังคม เช่น การคาดคะเนโพสต์ที่คล้ายกันและแนะนำเนื้อหาเฉพาะแก่ผู้ใช้

วิสัยทัศน์คอมพิวเตอร์

Computer Vision เป็นสาขากว้างใหญ่ที่เติบโตอย่างรวดเร็วด้วยความช่วยเหลือของ Deep Learning ในด้านต่างๆ เช่น การจำแนกรูปภาพ การตรวจจับวัตถุ เป็นต้น แอปพลิเคชันที่ได้รับความนิยมมากที่สุดคือ Convolutional Neural Networks ช่วงหลังๆ GNN ก็ถูกนำไปใช้ในโดเมนนี้เช่นกัน แม้ว่าการประยุกต์ใช้ GNN ใน Computer Vision จะอยู่ในช่วงเริ่มต้น แต่ก็แสดงให้เห็นถึงศักยภาพมหาศาลในอีกไม่กี่ปีข้างหน้า

ศาสตร์

GNN ยังใช้กันอย่างแพร่หลายในวิทยาศาสตร์ เช่น ระบบฟิสิกส์ การทำนายผลข้างเคียงและการจำแนกโรค นักเคมียังใช้ GNN เพื่อศึกษาโครงสร้างกราฟของสารประกอบและโมเลกุล

โดเมนอื่นๆ

แอปพลิเคชันของ GNN ไม่ได้จำกัดอยู่เพียงงานข้างต้นเท่านั้น มีการพยายามหลายครั้งในการประยุกต์ใช้ GNN กับโดเมนต่างๆ เช่น ระบบผู้แนะนำ การวิเคราะห์เครือข่ายสังคม ฯลฯ

บทสรุป

ในช่วงไม่กี่ปีที่ผ่านมานับตั้งแต่มีการเปิดตัว GNN พวกเขาได้กลายเป็นเครื่องมือที่แข็งแกร่งและเชื่อถือได้ในการแก้ปัญหาที่สามารถสร้างแบบจำลองด้วยกราฟได้ ทั้งนี้เนื่องมาจากความยืดหยุ่น พลังในการแสดงออก และการมองเห็นที่ง่ายดาย ดังนั้น GNN จึงเป็นโซลูชันที่ใช้งานง่ายสำหรับข้อมูลที่ไม่มีโครงสร้างพร้อมแอปพลิเคชันในโลกแห่งความเป็นจริงที่หลากหลาย

หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับ GCN ตลอดจนคุณลักษณะและประโยชน์ของ GCN โปรดลงทะเบียนที่ upGrad Education Pvt. Ltd. และหลักสูตร Post Graduate and Diploma ของ IIITB ด้านการเรียนรู้ของเครื่องและปัญญาประดิษฐ์ หลักสูตรการเรียนรู้ของเครื่องและ AI นี้ออกแบบมาสำหรับนักเรียนและคนทำงาน

หลักสูตรนี้รวบรวมกรณีศึกษาและการมอบหมายงาน การให้คำปรึกษาในอุตสาหกรรม สถานะศิษย์เก่าของ IIIT Bangalore ความช่วยเหลือในการหางานกับบริษัทชั้นนำ และที่สำคัญที่สุดคือ ประสบการณ์การเรียนรู้ที่หลากหลาย

คุณหมายถึงอะไรโดย Neural Network?

โครงข่ายประสาทเทียมเป็นอัลกอริธึมเครือข่ายที่ช่วยระบุรูปแบบและค่อนข้างได้รับการออกแบบตามหลังสมองของมนุษย์ พวกเขาใช้การเรียนรู้ของเครื่องและปัญญาประดิษฐ์เพื่อทำความเข้าใจอินพุตทางประสาทสัมผัส จัดหมวดหมู่หรือจัดกลุ่มข้อมูลดิบ สถิติจริงทั้งหมด ไม่ว่าจะเป็นรูปภาพ เพลง ข้อความ หรืออนุกรมเวลา ควรแปลเป็นอักขระที่โครงข่ายประสาทรับรู้ ซึ่งเป็นตัวเลขและเข้ารหัสในเวกเตอร์ ช่วยในการจำแนกและจัดกลุ่มข้อมูล พวกเขาจัดประเภทข้อมูลเมื่อมีชุดข้อมูลที่ติดป้ายกำกับ และช่วยจัดกลุ่มข้อมูลที่ไม่มีป้ายกำกับตามความคล้ายคลึงกันระหว่างอินพุตตัวอย่าง พวกเขาเป็นส่วนหนึ่งของแอปพลิเคชันการเรียนรู้ด้วยเครื่องที่ครอบคลุมมากขึ้นซึ่งรวมถึงอัลกอริธึมสำหรับการเรียนรู้การเสริมแรง ความหลากหลาย และการถดถอย

Convolutional Neural Network คืออะไร?

Convolutional Neural Network หรือที่เรียกว่า CNN หรือ ConvNet เป็นเทคนิคที่สามารถถ่ายภาพอินพุตและให้ความสำคัญกับองค์ประกอบต่างๆ ในภาพ รวมทั้งแยกแยะความแตกต่างระหว่างภาพเหล่านั้น จำนวนการประมวลผลที่ CNN ต้องการนั้นน้อยกว่าอัลกอริทึมอื่นๆ อย่างมาก CNN ได้รับการออกแบบโดยใช้ Visual Cortex และมีรูปแบบคล้ายกับเซลล์ประสาทในสมองของเรา แม้แต่ใน CNN เซลล์ประสาทแต่ละเซลล์สามารถตอบสนองต่อแรงกระตุ้นในพื้นที่เล็กๆ ของช่องการมองเห็นที่เรียกว่า Receptive Field เท่านั้น

Neural Networks ต่างจาก Machine Learning อย่างไร?

แมชชีนเลิร์นนิงคือชุดของอัลกอริธึมที่ทรงพลังที่จะวิเคราะห์ข้อมูล ศึกษาจากข้อมูลนั้น และประยุกต์ใช้สิ่งที่พวกเขาศึกษาเพื่อค้นหารูปแบบที่น่าสนใจ ในทางกลับกัน Neural Network เป็นกลุ่มของเทคนิคที่ใช้ในการเรียนรู้ด้วยเครื่องเพื่อจำลองข้อมูลโดยใช้กราฟของเซลล์ประสาท โครงข่ายประสาทเทียมจัดเรียงอัลกอริธึมในลักษณะที่สามารถตัดสินได้อย่างน่าเชื่อถือในขณะที่โมเดลการเรียนรู้ของเครื่องจะทำการตัดสินใจตามสิ่งที่ได้เรียนรู้จากข้อมูล ด้วยเหตุนี้ แม้ว่าโมเดล Machine Learning อาจเรียนรู้จากข้อมูล แต่ก็อาจต้องการปฏิสัมพันธ์ของมนุษย์ในระยะแรก โครงข่ายประสาทเทียมไม่ต้องการปฏิสัมพันธ์ของมนุษย์ เนื่องจากชั้นที่ซ้อนกันภายในพวกมันถ่ายทอดข้อมูลเข้าผ่านลำดับชั้นของแนวคิดที่แตกต่างกัน ทำให้พวกเขาเรียนรู้จากความผิดพลาดของตนเองได้