การฝัง: การรับการฝัง

การฝังมีหลายวิธี รวมถึงอัลกอริทึมที่ทันสมัยที่สร้างขึ้นที่ Google

เทคนิคการลดมิติข้อมูลมาตรฐาน

มีเทคนิคทางคณิตศาสตร์อยู่มากมายในการจับภาพโครงสร้างสําคัญของพื้นที่ทํางานในมิติขนาดใหญ่ในพื้นที่ขนาดเล็ก ในทางทฤษฎี อาจมีการใช้เทคนิคเหล่านี้เพื่อสร้างการฝังสําหรับระบบแมชชีนเลิร์นนิง

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

ข้อความ Word2vec

Word2vec เป็นอัลกอริทึมที่คิดค้นขึ้นโดย Google เพื่อฝึกฝนการฝังข้อความ Word2vec จะใช้สมมติฐานการกระจายเพื่อจับคู่คําที่คล้ายกันทางความหมายกับเวกเตอร์ปิดที่มีรูปทรงเรขาคณิต

สมมติฐานด้านการกระจายจะบอกว่าคําที่มักมีคําที่มีความหมายใกล้เคียงคําเดียวกันมักจะมีความหมายคล้ายกัน ทั้ง "dog" และ "cat" ส่วนใหญ่ก็มักอยู่ใกล้กับคําว่า "สัตวแพทย์" และข้อเท็จจริงนี้ก็แสดงถึงความคล้ายคลึงกันเชิงความหมาย นักภาษาวิทยาจอห์น ไฟร์ธ วางไว้ในปี 1957 &"คุณจะต้องรู้จักคํากล่าวของบริษัทที่บริษัทเก็บเอาไว้"

Word2Vec ใช้ประโยชน์จากข้อมูลเชิงบริบทในลักษณะนี้โดยการฝึกโครงข่ายระบบประสาทเทียมให้แยกกลุ่มคําที่เกิดจากกลุ่มคําแบบสุ่มแบบสุ่ม เลเยอร์อินพุตจะแสดงการนําเสนอข้อมูลของคําที่กําหนดเป้าหมายเพียงบางส่วน พร้อมกับคําที่เป็นบริบทอย่างน้อย 1 คํา อินพุตนี้มีผลกับเลเยอร์ที่ซ่อนอยู่ชั้นเดียว

ในอัลกอริทึมเวอร์ชันหนึ่ง ระบบจะสร้างตัวอย่างเชิงลบโดยการแทนที่คําแบบสุ่มสําหรับคําเป้าหมาย จากตัวอย่างที่ดี "เครื่องบินจะต้องบิน" ระบบอาจสลับ "จ็อกกิ้ง&โควต้า; เพื่อสร้างตัวอย่างเชิงลบ "จ็อกกิ้งการบิน"

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

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับ Word2vec ได้ที่บทแนะนําใน tensorflow.org

การฝึกการฝังภาพให้เป็นส่วนหนึ่งของแบบจําลองขนาดใหญ่

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

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

รูปที่ 5 ตัวอย่างสถาปัตยกรรม DNN สําหรับการเรียนรู้การฝังภาพยนตร์จากข้อมูลการกรองการทํางานร่วมกัน

อีกตัวอย่างหนึ่งหากคุณต้องการสร้างเลเยอร์แบบฝังสําหรับคําในโฆษณาอสังหาริมทรัพย์ โดยเป็นส่วนหนึ่งของ DNN เพื่อคาดการณ์ราคาที่พักอาศัย ให้คุณเพิ่มประสิทธิภาพ #L2 สูญเสียโดยใช้ราคาลดที่ทราบของบ้าน

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

ภาพแสดงความสัมพันธ์ระหว่างน้ําหนักชั้นการฝังและมุมมองเรขาคณิตของการฝังตัว

รูปที่ 6 มุมมองเรขาคณิตของน้ําหนักชั้นแบบฝัง