TensorFlow Lattice เป็นไลบรารีที่ใช้ในการสร้างโมเดลแบบแลตติสที่มีความยืดหยุ่น ควบคุมได้ และตีความได้ง่าย ไลบรารีนี้ช่วยให้คุณสามารถสอดแทรกความรู้เฉพาะด้านเข้าไปในกระบวนการเรียนรู้ได้ผ่าน ข้อจำกัดด้านรูปร่าง ตามสามัญสำนึกหรือตามนโยบาย โดยใช้ เลเยอร์ต่างๆ ของ Keras ที่สามารถตอบสนองข้อจำกัดต่างๆ เช่น ความเป็นเอกรูป ความนูน และความน่าเชื่อถือแบบคู่ นอกจากนี้ ไลบรารีนี้ยังมี โมเดลสำเร็จรูปที่ ตั้งค่าได้ง่ายอีกด้วย
แนวคิด
ส่วนนี้เป็นเวอร์ชันย่อของคำอธิบายใน Monotonic Calibrated Interpolated Look-Up Tables , JMLR 2016
โครงตาข่าย
แล ตทิซ (Lattice) คือตารางค้นหาแบบสอดแทรก (interpolated look-up table) ที่สามารถประมาณความสัมพันธ์ระหว่างอินพุตและเอาต์พุตในข้อมูลของคุณได้ โดยจะวางตารางปกติซ้อนทับลงบนพื้นที่อินพุตของคุณและเรียนรู้ค่าสำหรับเอาต์พุตที่จุดยอดของตารางนั้น สำหรับจุดทดสอบ \(x\), \(f(x)\) ได้มาจากการหาค่าประมาณเชิงเส้นจากค่าแลตติสโดยรอบ \(x\).

ตัวอย่างง่ายๆ ข้างต้นเป็นฟังก์ชันที่มีคุณลักษณะอินพุต 2 อย่างและพารามิเตอร์ 4 ตัว:\(\theta=[0, 0.2, 0.4, 1]\)ซึ่งเป็นค่าของฟังก์ชันที่มุมของพื้นที่อินพุต ส่วนที่เหลือของฟังก์ชันจะถูกประมาณค่าจากพารามิเตอร์เหล่านี้
ฟังก์ชัน \(f(x)\) สามารถจับภาพปฏิสัมพันธ์ที่ไม่เป็นเชิงเส้นระหว่างคุณลักษณะต่างๆ ได้ คุณสามารถนึกถึงพารามิเตอร์ของโครงตาข่ายว่าเป็นความสูงของเสาที่ปักลงบนพื้นในรูปแบบตารางปกติ และฟังก์ชันที่ได้นั้นเปรียบเสมือนผ้าที่ถูกดึงให้ตึงกับเสาทั้งสี่
กับ \(D\) โครงสร้างตาข่ายปกติจะมีจุดยอด 2 จุดตามแต่ละมิติ \(2^D\) พารามิเตอร์ เพื่อให้ได้ฟังก์ชันที่ยืดหยุ่นมากขึ้น คุณสามารถระบุโครงข่ายที่มีรายละเอียดมากขึ้นเหนือพื้นที่คุณลักษณะ โดยมีจุดยอดมากขึ้นตามแต่ละมิติ ฟังก์ชันการถดถอยแบบโครงข่ายมีความต่อเนื่องและสามารถหาอนุพันธ์ได้แบบอนันต์ในแต่ละส่วน
การสอบเทียบ
สมมติว่าโครงสร้างข้อมูลตัวอย่างข้างต้นแสดงถึง ความพึงพอใจของผู้ใช้ ที่เรียนรู้จากร้านกาแฟท้องถิ่นที่แนะนำ ซึ่งคำนวณโดยใช้คุณลักษณะต่างๆ:
- ราคาเมล็ดกาแฟ อยู่ในช่วง 0 ถึง 20 ดอลลาร์
- ระยะห่างจากผู้ใช้ อยู่ในช่วง 0 ถึง 30 กิโลเมตร
เราต้องการให้โมเดลของเราเรียนรู้ความพึงพอใจของผู้ใช้ต่อคำแนะนำร้านกาแฟในท้องถิ่น โมเดล TensorFlow Lattice สามารถใช้ ฟังก์ชันเชิงเส้นแบบแบ่งช่วง (ด้วย tfl.layers.PWLCalibration ) เพื่อปรับเทียบและทำให้คุณลักษณะอินพุตเป็นมาตรฐานให้อยู่ในช่วงที่ Lattice ยอมรับได้: 0.0 ถึง 1.0 ในตัวอย่าง Lattice ด้านบน ต่อไปนี้แสดงตัวอย่างฟังก์ชันการปรับเทียบดังกล่าวที่มีจุดสำคัญ 10 จุด:


โดยทั่วไปแล้ว การใช้ควอนไทล์ของคุณลักษณะเป็นจุดสำคัญในการป้อนข้อมูลถือเป็นแนวคิดที่ดี โมเดลสำเร็จรูป ของ TensorFlow Lattice สามารถตั้งค่าจุดสำคัญในการป้อนข้อมูลให้เป็นควอนไทล์ของคุณลักษณะได้โดยอัตโนมัติ
สำหรับฟีเจอร์เชิงหมวดหมู่ TensorFlow Lattice มีฟังก์ชันการปรับเทียบเชิงหมวดหมู่ (ด้วย tfl.layers.CategoricalCalibration ) ที่ให้ขอบเขตเอาต์พุตคล้ายกันเพื่อป้อนเข้าสู่แลตติส
วงดนตรี
จำนวนพารามิเตอร์ของเลเยอร์แลตติซจะเพิ่มขึ้นแบบทวีคูณตามจำนวนฟีเจอร์อินพุต ดังนั้นจึงไม่สามารถปรับขนาดได้ดีในมิติที่สูงมาก เพื่อเอาชนะข้อจำกัดนี้ TensorFlow Lattice จึงนำเสนอชุดของแลตติซที่รวม (เฉลี่ย) แลตติซ ขนาดเล็ก หลายๆ อันเข้าด้วยกัน ซึ่งช่วยให้โมเดลสามารถเติบโตแบบเชิงเส้นตามจำนวนฟีเจอร์ได้
ห้องสมุดมีชุดดนตรีเหล่านี้ให้เลือกสองแบบ:
โครงสร้างตาข่ายขนาดเล็กแบบสุ่ม (Random Tiny Lattices หรือ RTL): แต่ละโมเดลย่อยใช้ชุดย่อยของคุณลักษณะแบบสุ่ม (โดยมีการแทนที่)
Crystals : อัลกอริทึม Crystals เริ่มต้นด้วยการฝึก โมเดล เบื้องต้นเพื่อประเมินปฏิสัมพันธ์ระหว่างฟีเจอร์แบบคู่ จากนั้นจึงจัดเรียงโมเดลชุดสุดท้ายโดยให้ฟีเจอร์ที่มีปฏิสัมพันธ์แบบไม่เชิงเส้นมากกว่าอยู่ในโครงสร้างเดียวกัน
ทำไมต้องใช้ TensorFlow Lattice?
คุณสามารถอ่านข้อมูลเบื้องต้นเกี่ยวกับ TensorFlow Lattice ได้ใน บทความ TF Blog นี้
ความสามารถในการตีความ
เนื่องจากพารามิเตอร์ของแต่ละเลเยอร์เป็นผลลัพธ์ของเลเยอร์นั้น ๆ จึงทำให้วิเคราะห์ ทำความเข้าใจ และแก้ไขข้อผิดพลาดในแต่ละส่วนของโมเดลได้ง่าย
แบบจำลองที่แม่นยำและยืดหยุ่น
การใช้โครงข่ายละเอียดช่วยให้คุณสร้างฟังก์ชัน ที่ซับซ้อนได้ตามต้องการ ด้วยชั้นโครงข่ายเพียงชั้นเดียว การใช้ตัวปรับเทียบและโครงข่ายหลายชั้นมักได้ผลดีในทางปฏิบัติ และสามารถเทียบเท่าหรือเหนือกว่าโมเดล DNN ที่มีขนาดใกล้เคียงกันได้
ข้อจำกัดด้านรูปทรงตามสามัญสำนึก
ข้อมูลฝึกฝนจากโลกแห่งความเป็นจริงอาจไม่สามารถแสดงถึงข้อมูลขณะทำงานได้อย่างเพียงพอ โซลูชันแมชชีนเลิร์นนิงที่ยืดหยุ่น เช่น โครงข่ายประสาทเทียมแบบลึก (DNN) หรือโครงข่ายแบบฟอเรสต์ มักแสดงพฤติกรรมที่ไม่คาดคิดและอาจรุนแรงในส่วนของพื้นที่อินพุตที่ไม่ครอบคลุมโดยข้อมูลฝึกฝน พฤติกรรมนี้เป็นปัญหาอย่างยิ่งเมื่อข้อจำกัดด้านนโยบายหรือความเป็นธรรมอาจถูกละเมิด

แม้ว่ารูปแบบการปรับเสถียรภาพทั่วไปอาจส่งผลให้การคาดการณ์นอกช่วงมีความสมเหตุสมผลมากขึ้น แต่ตัวปรับเสถียรภาพมาตรฐานไม่สามารถรับประกันพฤติกรรมของแบบจำลองที่เหมาะสมได้ทั่วทั้งพื้นที่อินพุต โดยเฉพาะอย่างยิ่งกับอินพุตที่มีมิติสูง การเปลี่ยนไปใช้แบบจำลองที่ง่ายกว่าซึ่งมีพฤติกรรมที่ควบคุมได้และคาดการณ์ได้มากขึ้น อาจส่งผลเสียอย่างมากต่อความแม่นยำของแบบจำลอง
TF Lattice ช่วยให้สามารถใช้โมเดลที่ยืดหยุ่นได้ต่อไป แต่มีตัวเลือกหลายอย่างในการสอดแทรกความรู้เฉพาะด้านเข้าสู่กระบวนการเรียนรู้ผ่าน ข้อจำกัดด้านรูปร่าง ที่มีความหมายเชิงความหมายตามสามัญสำนึกหรือตามนโยบาย:
- ความสอดคล้อง (Monotonicity ): คุณสามารถระบุได้ว่าผลลัพธ์ควรเพิ่มขึ้น/ลดลงโดยสัมพันธ์กับอินพุตเท่านั้น ในตัวอย่างของเรา คุณอาจต้องการระบุว่าระยะทางที่เพิ่มขึ้นไปยังร้านกาแฟควรลดความชอบของผู้ใช้ที่คาดการณ์ไว้เท่านั้น




ความนูน/ความเว้า : คุณสามารถระบุได้ว่ารูปร่างของฟังก์ชันจะเป็นแบบนูนหรือแบบเว้า เมื่อผสมผสานกับความเป็นฟังก์ชันเพิ่มขึ้นอย่างต่อเนื่อง จะทำให้ฟังก์ชันแสดงถึงผลตอบแทนที่ลดลงเมื่อเทียบกับคุณลักษณะที่กำหนด
ความมีจุดสูงสุดเพียงจุดเดียว : คุณสามารถระบุได้ว่าฟังก์ชันควรมีจุดสูงสุดหรือจุดต่ำสุดเพียงจุดเดียว ซึ่งช่วยให้คุณสามารถแสดงฟังก์ชันที่มี จุดที่เหมาะสมที่สุด เมื่อเทียบกับคุณลักษณะหนึ่งๆ ได้
ความน่าเชื่อถือแบบคู่ (Pairwise trust ): ข้อจำกัดนี้ใช้กับคุณลักษณะสองอย่าง และบ่งชี้ว่าคุณลักษณะอินพุตหนึ่งสะท้อนถึงความน่าเชื่อถือในอีกคุณลักษณะหนึ่งในเชิงความหมาย ตัวอย่างเช่น จำนวนรีวิวที่สูงขึ้นทำให้คุณมั่นใจมากขึ้นในคะแนนเฉลี่ยของร้านอาหาร โมเดลจะมีความไวต่อคะแนนดาวมากขึ้น (กล่าวคือจะมีค่าความชันที่มากขึ้นเมื่อเทียบกับคะแนน) เมื่อจำนวนรีวิวสูงขึ้น
ความยืดหยุ่นที่ควบคุมได้ด้วยตัวปรับความเรียบ
นอกเหนือจากข้อจำกัดด้านรูปร่างแล้ว TensorFlow Lattice ยังมีตัวควบคุม (regularizer) จำนวนมากเพื่อควบคุมความยืดหยุ่นและความเรียบเนียนของฟังก์ชันสำหรับแต่ละเลเยอร์
ตัวปรับค่าแบบลาปลาเซียน : ค่าที่ได้จากจุดยอด/จุดสอบเทียบ/จุดสำคัญ จะถูกปรับให้มีค่าใกล้เคียงกับค่าของจุดข้างเคียง ส่งผลให้ฟังก์ชันมีลักษณะ แบนราบมากขึ้น
ตัวปรับค่าความสม่ำเสมอของเฮสเซียน (Hessian Regularizer ): ตัวนี้จะลงโทษอนุพันธ์อันดับแรกของเลเยอร์การปรับเทียบ PWL เพื่อทำให้ฟังก์ชัน มีความเป็นเชิงเส้นมากขึ้น
ตัวปรับลดริ้วรอย : ฟังก์ชันนี้จะลงโทษอนุพันธ์อันดับสองของเลเยอร์การปรับเทียบ PWL เพื่อหลีกเลี่ยงการเปลี่ยนแปลงความโค้งอย่างกะทันหัน ทำให้ฟังก์ชันทำงานได้อย่างราบรื่นยิ่งขึ้น
ตัวปรับความบิดเบี้ยว (Torsion Regularizer ): ผลลัพธ์ของโครงข่ายจะถูกปรับให้เรียบเพื่อป้องกันการบิดเบี้ยวระหว่างคุณลักษณะต่างๆ กล่าวอีกนัยหนึ่งคือ โมเดลจะถูกปรับให้มีความเป็นอิสระต่อกันระหว่างการมีส่วนร่วมของคุณลักษณะต่างๆ
ผสมผสานและจับคู่กับเลเยอร์อื่นๆ ของ Keras
คุณสามารถใช้เลเยอร์ TF Lattice ร่วมกับเลเยอร์อื่นๆ ของ Keras เพื่อสร้างแบบจำลองที่มีข้อจำกัดบางส่วนหรือมีการปรับค่าให้เป็นระเบียบได้ ตัวอย่างเช่น เลเยอร์ Lattice หรือ PWL calibration สามารถใช้เป็นเลเยอร์สุดท้ายของเครือข่ายที่ลึกกว่า ซึ่งรวมถึงการฝังข้อมูลหรือเลเยอร์อื่นๆ ของ Keras
เอกสาร
- จริยศาสตร์เชิงหน้าที่โดยใช้ข้อจำกัดเชิงรูปทรงแบบเอกภาค , เซเรน่า หวัง, มายา กุปตา, การประชุมวิชาการนานาชาติว่าด้วยปัญญาประดิษฐ์และสถิติ (AISTATS), 2020
- ข้อจำกัดด้านรูปร่างสำหรับฟังก์ชันเซต , Andrew Cotter, Maya Gupta, H. Jiang, Erez Louidor, Jim Muller, Taman Narayan, Serena Wang, Tao Zhu. การประชุมวิชาการนานาชาติว่าด้วยการเรียนรู้ของเครื่อง (ICML), 2019
- ผลตอบแทนที่ลดลงกำหนดข้อจำกัดด้านรูปร่างสำหรับการตีความและการควบคุมอย่างสม่ำเสมอ , มายา กุปตา, ดารา บาห์รี, แอนดรูว์ คอตเตอร์, เควิน คานินี, ความก้าวหน้าในระบบประมวลผลข้อมูลประสาท (NeurIPS), 2018
- เครือข่ายแลตติซเชิงลึกและฟังก์ชันโมโนโทนิกบางส่วน , ซึงอิล ยู, เควิน คานินี, เดวิด ดิง, แจน ไฟเฟอร์, มายา อาร์. กุปตา, ความก้าวหน้าในระบบประมวลผลข้อมูลประสาท (NeurIPS), 2017
- ฟังก์ชันโมโนโทนิกที่รวดเร็วและยืดหยุ่นด้วยกลุ่มของแลตทิซ , Mahdi Milani Fard, Kevin Canini, Andrew Cotter, Jan Pfeifer, Maya Gupta, ความก้าวหน้าในระบบประมวลผลข้อมูลประสาท (NeurIPS), 2016
- ตารางค้นหาแบบปรับเทียบเชิงโมโนโทนิก (Monotonic Calibrated Interpolated Look-Up Tables) , Maya Gupta, Andrew Cotter, Jan Pfeifer, Konstantin Voevodski, Kevin Canini, Alexander Mangylov, Wojciech Moczydlowski, Alexander van Esbroeck, วารสารวิจัยการเรียนรู้ของเครื่อง (Journal of Machine Learning Research - JMLR), 2016
- การถดถอยที่ได้รับการปรับให้เหมาะสมเพื่อการประเมินฟังก์ชันที่มีประสิทธิภาพ , Eric Garcia, Raman Arora, Maya R. Gupta, IEEE Transactions on Image Processing, 2012
- การถดถอยแบบแลตติส (Lattice Regression ), เอริค การ์เซีย, มายา กุปตา, ความก้าวหน้าในระบบประมวลผลข้อมูลประสาท (NeurIPS), 2009
บทแนะนำและเอกสาร API
สำหรับสถาปัตยกรรมโมเดลทั่วไป คุณสามารถใช้ โมเดลสำเร็จรูปของ Keras ได้ นอกจากนี้ คุณยังสามารถสร้างโมเดลแบบกำหนดเองโดยใช้ เลเยอร์ TF Lattice Keras หรือผสมผสานกับเลเยอร์ Keras อื่นๆ ได้ โปรดดู เอกสาร API ฉบับเต็ม สำหรับรายละเอียดเพิ่มเติม