การฝึก Softmax

หน้าก่อนอธิบายวิธีรวมเลเยอร์ซอฟต์แม็กซ์เข้าไปใน โครงข่ายระบบประสาทเทียมสำหรับระบบการแนะนำ หน้านี้จะให้รายละเอียดของ ข้อมูลการฝึกอบรมสำหรับระบบนี้

ข้อมูลการฝึก

ข้อมูลการฝึกของ softmax ประกอบด้วยฟีเจอร์การค้นหา \(x\) และ เวกเตอร์ของรายการที่ผู้ใช้โต้ตอบด้วย (แสดงเป็น การกระจายความน่าจะเป็น \(p\)) รายการเหล่านี้จะถูกทำเครื่องหมายเป็นสีน้ำเงินใน รูปต่อไปนี้ ตัวแปรของโมเดลคือน้ำหนัก ในเลเยอร์ต่างๆ โดยจะทำเครื่องหมายเป็นสีส้มในส่วนต่อไปนี้ ตัวเลข ตามปกติโมเดลจะได้รับการฝึกโดยใช้ตัวแปรใดก็ตามของ การไล่ระดับสีแบบ stochastic

รูปภาพที่ไฮไลต์การฝึกโครงข่ายระบบประสาทเทียมระดับลึก Softmax

การสุ่มตัวอย่างเชิงลบ

เนื่องจากฟังก์ชันการสูญเสียจะเปรียบเทียบเวกเตอร์ความน่าจะเป็น 2 เวกเตอร์ \(p, \hat p(x) \in \mathbb R^n\) (ข้อมูลจากการสังเกตการณ์โดยตรงและ เอาต์พุตของโมเดลตามลำดับ) คำนวณฟิลด์ การไล่ระดับสีของการสูญเสีย (สำหรับข้อความค้นหาเดียว \(x\)) สามารถเป็นได้ มีราคาแพงมากหากขนาดคลังข้อมูล \(n\) ใหญ่เกินไป

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

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

โมเดลอาจเรียนรู้วิธีวางการค้นหา/รายการ สีต่างๆ ที่เกี่ยวข้องกัน (แสดงถึงความคล้ายคลึงกันในองค์ประกอบนี้อย่างถูกต้อง สี) แต่การฝังจากสีที่ต่างกันอาจไปอยู่ในภูมิภาคเดียวกัน ของพื้นที่ที่ฝัง โดยบังเอิญ ปรากฏการณ์นี้ ที่ทราบกันว่า การพับ อาจทำให้เกิดคำแนะนำปลอม: ในเวลาค้นหา โมเดลอาจคาดการณ์คะแนนสูงสุดที่ไม่ถูกต้องสำหรับรายการจาก กลุ่มอื่น

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

แทนที่จะใช้รายการทั้งหมดในการคำนวณการไล่ระดับสี (ซึ่งอาจ ราคาแพง) หรือใช้เฉพาะรายการเชิงบวก (ซึ่งทำให้โมเดลมีแนวโน้มที่จะ แบบพับ) คุณสามารถใช้การสุ่มตัวอย่างเชิงลบ และยิ่งไปกว่านั้น คุณจะคำนวณ การไล่ระดับสีโดยประมาณ โดยใช้รายการต่อไปนี้:

  • รายการที่เป็นบวกทั้งหมด (รายการที่ปรากฏในป้ายกำกับเป้าหมาย)
  • ตัวอย่างรายการเชิงลบ (\(j\) นิ้ว \({1, …, n}\))

การสุ่มตัวอย่างเชิงลบมีกลยุทธ์ที่แตกต่างกันดังนี้

  • คุณใช้ตัวอย่างในแบบเดียวกันได้
  • คุณสามารถให้ความน่าจะเป็นสูงขึ้นกับรายการ j ที่มีที่สูงกว่า คุณภาพ \(\psi(x) . V_j\)สิ่งเหล่านี้คือตัวอย่างโดยสัญชาตญาณ ที่มากที่สุดในการไล่ระดับสี) ตัวอย่างเหล่านี้มัก เรียกว่าการเป็นจำนวนจริงอย่างสิ้นเชิง

เกี่ยวกับการแยกตัวประกอบเมทริกซ์เทียบกับซอฟต์แม็กซ์

โมเดล DNN แก้ไขข้อจำกัดได้หลายอย่างของการแยกตัวเป็นเมตริกซ์ (Matrix Factorization) แต่โดยทั่วไปจะ จะมีราคาแพงกว่าสำหรับการฝึกและการค้นหา ตารางด้านล่างจะสรุป ความแตกต่างที่สำคัญระหว่าง 2 รูปแบบ

การแยกตัวประกอบเมทริกซ์ Softmax DNN
ฟีเจอร์การค้นหา รวมได้ยาก รวมได้
การเริ่มแอปแบบ Cold Start จัดการคำศัพท์เก่าได้ยาก คำค้นหาหรือรายการ วิทยาการศึกษาสำนึกบางอย่างสามารถใช้ (ตัวอย่างเช่น ข้อความค้นหาใหม่ การฝังเฉลี่ยของข้อความค้นหาที่คล้ายกัน) จัดการคำค้นหาใหม่ๆ ได้อย่างง่ายดาย
บริการพับ การพับลดลงได้ง่าย โดยการปรับน้ำหนักที่ตรวจไม่พบใน WALS มีแนวโน้มที่จะพับ จำเป็นต้องใช้ เช่น การสุ่มตัวอย่างเชิงลบหรือแรงโน้มถ่วง
ความสามารถในการปรับขนาดการฝึก ปรับขนาดให้มีขนาดใหญ่มากได้ง่ายๆ คอร์โปรา (อาจจะมีหลายร้อยล้านรายการขึ้นไป) แต่เฉพาะเมื่อ เมทริกซ์อินพุตมีบางส่วน ปรับขนาดยากไปจนถึงใหญ่มาก คอร์โปรา อาจใช้เทคนิคบางอย่าง เช่น การแฮช การสุ่มตัวอย่างเชิงลบ ฯลฯ
ความสามารถในการปรับขนาดการแสดงผล การฝัง U, V เป็นค่าคงที่ และชุดตัวเลือกก็สามารถนำมาคำนวณและจัดเก็บล่วงหน้าได้ การฝังรายการ V เป็นแบบคงที่ และเก็บข้อมูลได้

การฝังคำค้นหามักจะ จะต้องคำนวณในเวลาสืบค้น ทำให้โมเดลมีราคาแพงกว่า แสดง

โดยสรุปได้ดังนี้

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