ช่วยปกป้อง Great Barrier Reef กับ TensorFlow บน Kaggle เข้าร่วมท้าทาย

กรอบการเรียนรู้โครงสร้างประสาท

Neural Structured Learning (NSL) มุ่งเน้นไปที่การฝึกอบรมเครือข่ายประสาทเทียมระดับลึกโดยใช้ประโยชน์จากสัญญาณที่มีโครงสร้าง (ถ้ามี) พร้อมกับอินพุตคุณสมบัติ เป็นที่รู้จักโดย Bui et al, (WSDM'18) สัญญาณโครงสร้างเหล่านี้จะถูกนำมาใช้เพื่อการฝึกอบรมกฏหมายของเครือข่ายประสาทบังคับให้รูปแบบการเรียนรู้ที่คาดการณ์ถูกต้อง (โดยการลดการสูญเสียภายใต้การดูแล) ในขณะที่ในเวลาเดียวกันการรักษาความคล้ายคลึงกันป้อนข้อมูลโครงสร้าง (โดยการลดการสูญเสียเพื่อนบ้าน ดูรูปด้านล่าง) เทคนิคนี้เป็นเทคนิคทั่วไปและสามารถนำไปใช้กับสถาปัตยกรรมประสาทโดยพลการ (เช่น Feed-forward NNs, Convolutional NNs และ Recurrent NNs)

แนวคิด NSL

โปรดทราบว่าสมการการสูญเสียเพื่อนบ้านทั่วไปนั้นยืดหยุ่นและสามารถมีรูปแบบอื่นนอกเหนือจากที่แสดงด้านบน ตัวอย่างเช่นเรายังสามารถเลือก\(\sum_{x_j \in \mathcal{N}(x_i)}\mathcal{E}(y_i,g_\theta(x_j))\) ที่จะสูญเสียเพื่อนบ้านซึ่งจะคำนวณระยะห่างระหว่างความจริงพื้น \(y_i\)และการทำนายจากเพื่อนบ้าน \(g_\theta(x_j)\)นี้เป็นที่นิยมใช้ในการเรียนรู้ขัดแย้ง (Goodfellow et al., ICLR'15) ดังนั้น generalizes NSL เพื่อการเรียนรู้ประสาทกราฟถ้าเพื่อนบ้านจะแสดงอย่างชัดเจนโดยกราฟและขัดแย้งการเรียนรู้ถ้าเพื่อนบ้านจะเหนี่ยวนำให้เกิดการก่อกวนโดยปริยายขัดแย้ง

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

เวิร์กโฟลว์ NSL

ทำไมต้องใช้ NSL?

NSL นำข้อดีดังต่อไปนี้:

  • ความถูกต้องสูง: สัญญาณโครงสร้าง (s) ในหมู่ตัวอย่างสามารถให้ข้อมูลที่ไม่สามารถใช้ได้ในปัจจัยการผลิตคุณลักษณะเสมอ ดังนั้นวิธีการฝึกอบรมร่วมกัน (ที่มีทั้งสัญญาณที่มีโครงสร้างและคุณสมบัติ) ได้รับการแสดงที่ดีกว่าวิธีการที่มีอยู่จำนวนมาก (ที่ต้องพึ่งพาการฝึกอบรมที่มีคุณสมบัติเท่านั้น) เกี่ยวกับความหลากหลายของงานเช่นการจัดหมวดหมู่เอกสารและการจำแนกความตั้งใจความหมาย ( Bui et al, . WSDM'18 & Kipf et al., ICLR'17 )
  • ความทนทาน: โมเดลการฝึกอบรมที่มีตัวอย่างความขัดแย้งได้รับการแสดงที่จะมีประสิทธิภาพกับเยี่ยงอย่างขัดแย้งออกแบบมาสำหรับการทำให้เข้าใจผิดทำนายรูปแบบหรือการจัดหมวดหมู่ ( . Goodfellow, et al, ICLR'15 & . Miyato, et al, ICLR'16 ) เมื่อจำนวนของกลุ่มตัวอย่างการฝึกอบรมที่มีขนาดเล็ก, การฝึกอบรมที่มีตัวอย่างความขัดแย้งนอกจากนี้ยังช่วยเพิ่มความแม่นยำรุ่น ( Tsipras et al., ICLR'19 )
  • น้อยกว่าข้อมูลที่มีป้ายกำกับจำเป็นต้องใช้: NSL ช่วยให้เครือข่ายประสาทเทียมทั้งที่มีป้ายกำกับและไม่มีป้ายกำกับข้อมูลซึ่งทอดตัวกระบวนทัศน์การเรียนรู้เพื่อ การเรียนรู้กึ่งภายใต้การดูแล โดยเฉพาะอย่างยิ่ง NSL อนุญาตให้เครือข่ายฝึกอบรมโดยใช้ข้อมูลที่มีป้ายกำกับเช่นเดียวกับการตั้งค่าภายใต้การดูแล และในขณะเดียวกันก็ขับเคลื่อนเครือข่ายเพื่อเรียนรู้การเป็นตัวแทนที่ซ่อนอยู่ที่คล้ายกันสำหรับ "ตัวอย่างเพื่อนบ้าน" ที่อาจมีหรือไม่มีป้ายกำกับ เทคนิคนี้ได้แสดงให้เห็นสัญญาที่ดีสำหรับการปรับปรุงความถูกต้องของรูปแบบเมื่อจำนวนของข้อมูลที่ระบุว่ามีขนาดค่อนข้างเล็ก ( Bui et al., WSDM'18 & Miyato et al., ICLR'16 )

บทช่วยสอนทีละขั้นตอน

เพื่อให้ได้ประสบการณ์ตรงกับ Neural Structured Learning เรามีบทช่วยสอนที่ครอบคลุมสถานการณ์ต่างๆ ที่อาจให้ สร้าง หรือชักนำสัญญาณที่มีโครงสร้างอย่างชัดเจน นี่คือบางส่วน:

ตัวอย่างเพิ่มเติมและแบบฝึกหัดที่สามารถพบได้ใน ตัวอย่าง ไดเรกทอรีของพื้นที่เก็บข้อมูล GitHub ของเรา