คุณอาจลดข้อมูลฟีเจอร์ให้แสดงถึงการฝัง แล้วเปรียบเทียบข้อมูลที่ฝังได้ แทนที่จะเปรียบเทียบข้อมูลฟีเจอร์ที่รวมด้วยตนเอง การฝังจะสร้างขึ้นด้วยการฝึกอบรมเครือข่ายประสาทเทียมระดับลึก (DNN) ที่อยู่กับข้อมูลฟีเจอร์ การฝังจะแมปข้อมูลฟีเจอร์กับเวกเตอร์ในพื้นที่ฝัง โดยปกติ พื้นที่แบบฝังจะมีขนาดน้อยกว่าข้อมูล ฟีเจอร์ในลักษณะที่จับภาพโครงสร้างที่แฝงมาของชุดข้อมูลฟีเจอร์ เวกเตอร์การฝังสําหรับตัวอย่างที่คล้ายกัน เช่น วิดีโอ YouTube ที่ผู้ใช้เดียวกันดู จะอยู่ในระยะใกล้กันในพื้นที่ทํางานที่ฝัง เราจะดูว่าการวัดความคล้ายคลึงกันนี้ใช้ "ความใกล้เคียง" นี้ในการวัดความคล้ายคลึงของคู่ตัวอย่างอย่างไร
ในที่นี้เราจะพูดถึงการเรียนรู้ภายใต้การควบคุมดูแลเท่านั้นเพื่อสร้างมาตรฐานที่คล้ายกัน อัลกอริทึมจะใช้ความคล้ายคลึงกันทั้งโดยเจ้าหน้าที่หรือการควบคุมดูแล และจะทําคลัสเตอร์ที่ไม่มีการควบคุมดูแล
การเปรียบเทียบมาตรการควบคุมด้วยตนเองและที่มีการควบคุมดูแล
ตารางนี้อธิบายว่าควรใช้การวัดความคล้ายคลึงกันด้วยตนเองหรือที่มีการควบคุมดูแลเมื่อใด ทั้งนี้ขึ้นอยู่กับข้อกําหนดของคุณ
ข้อกำหนด | กำหนดเอง | มีการควบคุมดูแล |
---|---|---|
ขจัดข้อมูลซ้ําซ้อนในฟีเจอร์ที่เกี่ยวข้อง | ไม่ได้ คุณต้องตรวจสอบความสัมพันธ์ระหว่างฟีเจอร์แยกกัน | ใช่ DNN จะลบข้อมูลที่ซ้ําซ้อน |
ให้ข้อมูลเชิงลึกเกี่ยวกับความคล้ายคลึงกันที่คํานวณแล้ว | ใช่ | ไม่ได้ ฝังการฝังไม่ได้ |
เหมาะสําหรับชุดข้อมูลขนาดเล็กที่มีฟีเจอร์น้อย | ได้ การออกแบบการวัดผลด้วยตนเองโดยใช้ฟีเจอร์เพียงไม่กี่อย่างนั้นเป็นเรื่องง่าย | ไม่ได้ ชุดข้อมูลขนาดเล็กจะให้ข้อมูลการฝึก DNN ไม่เพียงพอ |
เหมาะสําหรับชุดข้อมูลขนาดใหญ่ซึ่งมีลักษณะมากมาย | ไม่ การกําจัดข้อมูลซ้ําออกจากฟีเจอร์หลายรายการด้วยตนเองแล้วรวมข้อมูลนั้นเป็นเรื่องยากมาก | ใช่ DNN จะกําจัดข้อมูลซ้ําและรวมฟีเจอร์เข้าด้วยกันโดยอัตโนมัติ |
กระบวนการสําหรับมาตรวัดความคล้ายคลึงภายใต้การควบคุมดูแล
รูปต่อไปนี้แสดงวิธีสร้างมาตรวัดความคล้ายคลึงภายใต้การควบคุมดูแล
คุณเรียนรู้ขั้นตอนแรกแล้ว หน้านี้จะอธิบายถึงขั้นตอนถัดไป และหน้าถัดไปจะพูดถึงขั้นตอนที่เหลือ
เลือก DNN ตามป้ายกํากับการฝึกอบรม
ลดข้อมูลฟีเจอร์ลงในการฝังโดยการฝึก DNN ที่ใช้ข้อมูลฟีเจอร์เดียวกันทั้งอินพุตและป้ายกํากับ ตัวอย่างเช่น ในกรณีของข้อมูลบ้าน DNN จะใช้ฟีเจอร์ต่างๆ เช่น ราคา ขนาด และรหัสไปรษณีย์ เพื่อคาดการณ์ฟีเจอร์เหล่านั้นด้วยตนเอง ในการใช้ข้อมูลฟีเจอร์เพื่อคาดการณ์ข้อมูลฟีเจอร์เดียวกัน DNN จะถูกบังคับให้ลดข้อมูลฟีเจอร์อินพุตเพื่อฝังข้อมูล คุณใช้การฝังเหล่านี้เพื่อคํานวณความคล้ายคลึงกัน
DNN ที่เรียนรู้การฝังข้อมูลอินพุตโดยการคาดการณ์ข้อมูลอินพุตด้วยตนเองจะเรียกว่าตัวเข้ารหัสอัตโนมัติ เนื่องจากชั้นที่ซ่อนอยู่ของตัวเข้ารหัสอัตโนมัติมีขนาดเล็กกว่าชั้นอินพุตและเอาต์พุต ระบบเข้ารหัสอัตโนมัติจึงต้องเรียนรู้วิธีแสดงข้อมูลแหล่งที่มาของอินพุตแบบบีบอัด เมื่อฝึก DNN แล้ว คุณจะดึงการฝังจากเลเยอร์ที่ซ่อนอยู่ชั้นสุดท้ายเพื่อคํานวณความคล้ายคลึงกัน
โปรแกรมเปลี่ยนไฟล์อัตโนมัติเป็นตัวเลือกที่ง่ายที่สุดเพื่อสร้างการฝัง อย่างไรก็ตาม โปรแกรมเปลี่ยนไฟล์อัตโนมัติไม่ใช่ตัวเลือกที่ดีที่สุดเมื่อฟีเจอร์บางอย่างอาจมีความสําคัญมากกว่าฟีเจอร์อื่นๆ ในการกําหนดความคล้ายคลึงกัน เช่น สมมติว่าเป็นข้อมูลบ้าน สมมติว่า "ราคา" สําคัญกว่า "รหัสไปรษณีย์" ในกรณีเช่นนี้ ให้ใช้เฉพาะฟีเจอร์สําคัญเป็นป้ายกํากับการฝึกอบรม DNN เนื่องจาก DNN นี้คาดการณ์ฟีเจอร์อินพุตที่เจาะจงแทนการคาดการณ์ฟีเจอร์อินพุตทั้งหมด จึงเรียกว่า DNN ตัวคาดการณ์ ใช้หลักเกณฑ์ต่อไปนี้เพื่อเลือกฟีเจอร์เป็นป้ายกํากับ
แนะนําให้ใช้ฟีเจอร์ตัวเลขกับฟีเจอร์ตามหมวดหมู่เป็นป้ายกํากับ เนื่องจากการสูญเสีย จะทําให้คํานวณและตีความฟีเจอร์ตัวเลขได้ง่ายขึ้น
อย่าใช้ฟีเจอร์เชิงหมวดหมู่ที่มีจํานวนสมาชิกในเซ็ต \(\lesssim\) 100 เป็นป้ายกํากับ เมื่อทําเช่นนี้ DNN จะไม่บังคับให้ลดข้อมูลที่ป้อนลงในการฝัง เนื่องจาก DNN สามารถคาดการณ์ป้ายกํากับเชิงหมวดหมู่ที่มีจํานวนสมาชิกน้อยได้ง่าย
นําฟีเจอร์ที่คุณใช้เป็นป้ายกํากับออกจากอินพุตไปยัง DNN มิฉะนั้น DNN จะคาดการณ์เอาต์พุตได้อย่างไม่มีที่ติ
DNN ที่ได้จะเป็น DNN ของตัวเข้ารหัสอัตโนมัติ หรือ DNN ตัวคาดการณ์ ทั้งนี้ขึ้นอยู่กับป้ายกํากับที่คุณเลือก
ฟังก์ชันการสูญเสียสําหรับ DNN
หากต้องการฝึก DNN คุณต้องสร้างฟังก์ชันการสูญเสียโดยทําตามขั้นตอนต่อไปนี้
- คํานวณการสูญเสียสําหรับเอาต์พุตทั้งหมดของ DNN สําหรับเอาต์พุตที่มีลักษณะดังนี้
- ตัวเลข ให้ใช้ข้อผิดพลาดสี่เหลี่ยมจัตุรัสหมายถึง (MSE)
- หมวดหมู่ที่ไม่เป็นมาตรฐาน ใช้การสูญเสียบันทึก โปรดทราบว่าคุณไม่จําเป็นต้องดําเนินการสูญเสียบันทึกด้วยตนเอง เนื่องจากสามารถใช้ฟังก์ชันไลบรารีเพื่อคํานวณได้
- เชิงหมวดหมู่ที่หลากหลาย ใช้ softmax เอนโทรปีเต็ม โปรดทราบว่าคุณไม่จําเป็นต้องใช้การสูญเสียเอนโทรปีแบบ Softmax ด้วยตนเอง เพราะสามารถใช้ฟังก์ชันไลบรารีเพื่อคํานวณได้
- คํานวณการสูญเสียทั้งหมดโดยการสรุปส่วนแบ่งการแสดงผลที่เสียไปสําหรับทุกผลลัพธ์
เมื่อสรุปข้อมูลการสูญเสีย โปรดตรวจสอบว่าฟีเจอร์แต่ละรายการมีส่วนในการสูญเสียตามสัดส่วน เช่น หากแปลงข้อมูลสีเป็นค่า RGB คุณจะมีเอาต์พุต 3 รายการ แต่การสรุปการสูญเสียเอาต์พุต 3 รายการจะทําให้น้ําหนักของสีลดลง 3 เท่าเมื่อเทียบกับฟีเจอร์อื่นๆ แต่ให้คูณแต่ละเอาต์พุตด้วย 1/3 แทน
การใช้ DNN ในระบบออนไลน์
ระบบแมชชีนเลิร์นนิงออนไลน์มีการสตรีมข้อมูลอินพุตใหม่อย่างต่อเนื่อง คุณต้องฝึก DNN กับข้อมูลใหม่ อย่างไรก็ตาม หากคุณฝึก DNN ใหม่ตั้งแต่ต้น การฝังจะแตกต่างออกไป เนื่องจาก DNN จะเริ่มต้นโดยให้น้ําหนักแบบสุ่ม แต่ให้เริ่ม DNN อย่างอบอุ่นด้วยน้ําหนักที่มีอยู่แทน แล้วอัปเดต DNN ด้วยข้อมูลใหม่