หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ตาข่าย TensorFlow (TFL)

TensorFlow Lattice เป็นไลบรารีที่ใช้โมเดลตาข่ายที่ยืดหยุ่นควบคุมและตีความได้ ไลบรารีช่วยให้คุณสามารถฉีดความรู้โดเมนเข้าไปในกระบวนการเรียนรู้ผ่านสามัญสำนึกหรือ ข้อ จำกัด ด้านรูปร่างที่ ขับเคลื่อนด้วยนโยบาย สิ่งนี้ทำได้โดยใช้คอลเลกชันของ เลเยอร์ Keras ที่สามารถตอบสนองข้อ จำกัด ต่างๆเช่นความน่าเบื่อความนูนและความไว้วางใจแบบคู่ นอกจากนี้ไลบรารียังมีเครื่องมือ ประมาณค่าสำเร็จรูปที่ ง่ายต่อการตั้ง ค่า

แนวคิด

ส่วนนี้เป็นคำอธิบายแบบง่ายใน Monotonic Calibrated Interpolated Look-Up Tables , JMLR 2016

โปรย

Lattice คือตารางการค้นหาแบบสอดแทรกที่สามารถประมาณความสัมพันธ์อินพุต - เอาต์พุตโดยพลการในข้อมูลของคุณ มันซ้อนทับเส้นตารางปกติบนพื้นที่ป้อนข้อมูลของคุณและเรียนรู้ค่าสำหรับผลลัพธ์ในจุดยอดของเส้นตาราง สำหรับจุดทดสอบ $ x $, $ f (x) $ จะถูกสอดแทรกเชิงเส้นจากค่า lattice โดยรอบ $ 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 ) เพื่อปรับเทียบและปรับคุณสมบัติอินพุตให้เป็นช่วงที่แลตทิซยอมรับ: 0.0 ถึง 1.0 ในตัวอย่างด้านบน ต่อไปนี้แสดงตัวอย่างฟังก์ชันการสอบเทียบที่มี 10 จุดสำคัญ:

มันมักจะเป็นความคิดที่ดีที่จะใช้ quantiles ของคุณสมบัติเป็นจุดเข้าสำคัญ TensorFlow Lattice ตัวประมาณค่ากระป๋อง สามารถตั้งค่าจุดป้อนข้อมูลให้กับคุณสมบัติเชิงปริมาณได้โดยอัตโนมัติ

สำหรับคุณสมบัติเด็ดขาด TensorFlow Lattice จัดเตรียมการสอบเทียบเด็ดขาด (พร้อมกับ tfl.layers.CategoricalCalibration ) ที่มีเอาต์พุตคล้ายกันเพื่อให้ฟีดเป็นขัดแตะ

ตระการตา

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

ห้องสมุดมีวงดนตรีเหล่านี้สองรูปแบบ:

  • Random Tiny Lattices (RTL): แต่ละรุ่นย่อยใช้ชุดย่อยของคุณลักษณะแบบสุ่ม (พร้อมการแทนที่)

  • Crystals : อัลกอริทึม Crystals แรกฝึกรูปแบบการ prefitting ที่ประเมินการโต้ตอบคุณสมบัติคู่ จากนั้นจัดเรียงชุดสุดท้ายซึ่งคุณลักษณะที่มีการโต้ตอบแบบไม่เป็นเชิงเส้นมากขึ้นจะอยู่ในโปรยเดียวกัน

ทำไมต้อง TensorFlow Lattice

คุณสามารถค้นหาคำแนะนำสั้น ๆ เกี่ยวกับ TensorFlow Lattice ได้ในบทความ บล็อก TF

interpretability

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

โมเดลที่แม่นยำและยืดหยุ่น

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

ข้อ จำกัด ของรูปร่างสามัญสำนึก

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

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

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

  • คำพูดเดียว : คุณสามารถระบุได้ว่าผลลัพธ์ควรเพิ่ม / ลดลงเฉพาะส่วนที่เกี่ยวข้องกับอินพุต ในตัวอย่างของเราคุณอาจต้องการระบุว่าระยะทางที่เพิ่มขึ้นไปยังร้านกาแฟควรลดความพึงพอใจของผู้ใช้ที่คาดการณ์ไว้เท่านั้น

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

  • Unimodality : คุณสามารถระบุได้ว่าฟังก์ชันควรมียอดเขาที่ไม่ซ้ำกันหรือหุบเขาที่ไม่เหมือนใคร สิ่งนี้ช่วยให้คุณแสดงฟังก์ชั่นที่มี จุดที่น่าสนใจ เกี่ยวกับคุณสมบัติ

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

ควบคุมความยืดหยุ่นด้วย Regularizers

นอกจากข้อ จำกัด ด้านรูปร่างแล้ว TensorFlow lattice ยังมีหมายเลขประจำเพื่อควบคุมความยืดหยุ่นและความนุ่มนวลของฟังก์ชั่นสำหรับแต่ละชั้น

  • Laplacian Regularizer : เอาต์พุตของจุดขัดแตะ / การสอบเทียบ / จุดสำคัญจะถูกกำหนดให้เป็นค่าของเพื่อนบ้านตามลำดับ ส่งผลให้มีฟังก์ชันที่ ประจบ

  • Hessian Regularizer : สิ่งนี้จะลงโทษอนุพันธ์แรกของเลเยอร์การสอบเทียบ PWL เพื่อทำให้ฟังก์ชันเป็น เชิงเส้นมากขึ้น

  • Wrinkle Regularizer : สิ่งนี้จะลงโทษอนุพันธ์อันดับสองของชั้นสอบเทียบ PWL เพื่อหลีกเลี่ยงการเปลี่ยนแปลงความโค้งอย่างกะทันหัน มันทำให้การทำงานราบรื่นขึ้น

  • Torsion Regularizer : เอาท์พุทของ lattice จะถูกทำให้เป็นมาตรฐานเพื่อป้องกันการบิดของคุณสมบัติ กล่าวอีกนัยหนึ่งโมเดลจะได้รับการปรับให้เป็นอิสระระหว่างการมีส่วนร่วมของคุณสมบัติ

ผสมและจับคู่กับเลเยอร์ Keras อื่น ๆ

คุณสามารถใช้เลเยอร์ TF Lattice ร่วมกับเลเยอร์ Keras อื่น ๆ เพื่อสร้างโมเดลที่มีข้อ จำกัด บางส่วนหรือเป็นประจำ ตัวอย่างเช่นเลเยอร์การสอบเทียบ lattice หรือ PWL สามารถใช้ที่เลเยอร์สุดท้ายของเครือข่ายที่ลึกกว่าซึ่งรวมถึงงานแต่งงานหรือเลเยอร์ Keras อื่น ๆ

เอกสาร

บทช่วยสอนและเอกสาร API

สำหรับสถาปัตยกรรมโมเดลทั่วไปคุณสามารถใช้ โมเดลสำเร็จรูปของ Keras หรือ เครื่องมือประมาณการสำเร็จรูป ได้ คุณยังสามารถสร้างโมเดลที่กำหนดเองโดยใช้ เลเยอร์ TF Lattice Keras หรือผสมและจับคู่กับเลเยอร์ Keras อื่น ๆ ตรวจสอบ เอกสาร API ฉบับเต็ม สำหรับรายละเอียด