หัวข้อนี้จะเน้นที่เทคนิคทั่วไป 2 อย่างในการสร้างการฝัง ดังนี้
- การลดมิติข้อมูล
- การแยกการฝังจากโมเดลโครงข่ายประสาทที่มีขนาดใหญ่ขึ้น
เทคนิคการลดมิติข้อมูล
มีเทคนิคทางคณิตศาสตร์มากมายสำหรับการบันทึกโครงสร้างที่สำคัญของพื้นที่ที่มีมิติสูงในพื้นที่ที่มีมิติน้อย ในทางทฤษฎีแล้ว เทคนิคใดก็ได้เหล่านี้สามารถใช้ในการสร้างการฝังสําหรับระบบแมชชีนเลิร์นนิง
เช่น มีการใช้การวิเคราะห์องค์ประกอบหลัก (PCA) เพื่อสร้างการฝังคํา เมื่อพิจารณาชุดอินสแตนซ์ เช่น เวกเตอร์ถุงคำ PCA จะพยายามค้นหามิติข้อมูลที่มีค่าสัมพัทธ์กันสูงซึ่งสามารถยุบให้เป็นมิติข้อมูลเดียว
การฝึกการฝังเป็นส่วนหนึ่งของโครงข่ายประสาท
คุณสามารถสร้างการฝังขณะฝึกเครือข่ายประสาทเทียมสําหรับงานเป้าหมายได้ วิธีการนี้ช่วยให้คุณฝังข้อมูลที่กำหนดเองได้ดีสำหรับระบบหนึ่งๆ แต่อาจใช้เวลานานกว่าการฝึกฝังข้อมูลแยกต่างหาก
โดยทั่วไป คุณสามารถสร้างเลเยอร์ที่ซ่อนขนาด d ในเครือข่ายประสาทที่กำหนดให้เป็นเลเยอร์การฝัง โดยที่ d แสดงถึงทั้งจำนวนโหนดในเลเยอร์ที่ซ่อนและจำนวนมิติข้อมูลในพื้นที่การฝัง เลเยอร์การฝังนี้สามารถรวมเข้ากับฟีเจอร์อื่นๆ และเลเยอร์ที่ซ่อนอยู่ได้ เช่นเดียวกับเครือข่ายประสาทเทียมลึกอื่นๆ พารามิเตอร์จะได้รับการเพิ่มประสิทธิภาพระหว่างการฝึกเพื่อลดการสูญเสียในโหนดของชั้นเอาต์พุตของเครือข่าย
กลับไปที่ตัวอย่างคำแนะนำอาหาร เรามีเป้าหมายที่จะคาดการณ์อาหารใหม่ๆ ที่ผู้ใช้ชอบโดยอิงจากมื้ออาหารโปรดในปัจจุบัน ก่อนอื่น เราสามารถรวบรวมข้อมูลเพิ่มเติมเกี่ยวกับอาหารโปรด 5 อันดับแรกของผู้ใช้ จากนั้นเราจะจําลองงานนี้เป็นปัญหาการเรียนรู้ที่มีการควบคุมได้ เรากำหนดอาหาร 4 ใน 5 อันดับแรกเหล่านี้ให้เป็นข้อมูลฟีเจอร์ จากนั้นสุ่มแยกอาหารรายการที่ 5 ไว้เป็นป้ายกำกับเชิงบวกที่โมเดลของเรามีเป้าหมายจะคาดการณ์ โดยเพิ่มประสิทธิภาพการคาดการณ์ของโมเดลโดยใช้การสูญเสีย softmax
ในระหว่างการฝึก โมเดลเครือข่ายประสาทจะเรียนรู้น้ำหนักที่เหมาะสมสําหรับโหนดในเลเยอร์ที่ซ่อนอยู่เลเยอร์แรก ซึ่งทำหน้าที่เป็นเลเยอร์การฝัง เช่น หากโมเดลมีโหนด 3 โหนดในชั้นซ่อนแรก โมเดลอาจพิจารณาว่ามิติข้อมูล 3 รายการที่เกี่ยวข้องกับรายการอาหารมากที่สุดคือ "เป็นอาหารที่มีแซนวิช" "เป็นอาหารที่มีของหวาน" และ "เป็นอาหารที่มีของเหลว" รูปที่ 12 แสดงค่าอินพุตที่เข้ารหัสแบบฮอตฮ็อตสําหรับ "ฮอทดอก" ซึ่งเปลี่ยนรูปแบบเป็นเวกเตอร์ 3 มิติ
ในระหว่างการฝึก ระบบจะเพิ่มประสิทธิภาพน้ำหนักของเลเยอร์ที่ฝังเพื่อให้เวกเตอร์การฝังของตัวอย่างที่คล้ายกันอยู่ใกล้กันมากขึ้น มิติข้อมูลเฉพาะของเลเยอร์ที่ฝัง (สิ่งที่แต่ละโหนดในเลเยอร์ที่ฝังแสดงถึง) แทบจะไม่เข้าใจได้ง่ายเท่ากับ "ของหวาน" หรือ "ของเหลว" บางครั้งเราอาจอนุมานได้ว่า "ความหมาย" ของคำเหล่านั้นคืออะไร แต่ก็ไม่ได้เป็นเช่นนั้นเสมอไป
โดยปกติแล้วการฝังจะเจาะจงสำหรับงานแต่ละรายการและจะแตกต่างกันไปเมื่องานแตกต่างกัน ตัวอย่างเช่น ข้อมูลเชิงลึกที่สร้างขึ้นโดยโมเดลการจัดประเภทเป็นมังสวิรัติหรือไม่มังสวิรัติอาจมีมิติข้อมูล 2 รายการ ได้แก่ เนื้อหาเกี่ยวกับเนื้อสัตว์และเนื้อหาเกี่ยวกับนม ขณะเดียวกัน องค์ประกอบเชิงลึกที่ได้จากตัวแยกแยะอาหารเช้ากับอาหารเย็นสำหรับอาหารอเมริกันอาจมีมิติข้อมูลแตกต่างกันเล็กน้อย ได้แก่ ปริมาณแคลอรี่ ปริมาณธัญพืช และปริมาณเนื้อสัตว์ "ซีเรียล" และ "แซนด์วิชไข่และเบคอน" อาจอยู่ใกล้กันในพื้นที่การฝังของคลาสซิไฟเออร์อาหารเช้ากับอาหารเย็น แต่อยู่ห่างกันในพื้นที่การฝังของคลาสซิไฟเออร์อาหารมังสวิรัติกับอาหารไม่มังสวิรัติ
การฝึกการฝังคำ
ในส่วนก่อนหน้า คุณได้สำรวจการแสดงภาพความสัมพันธ์เชิงความหมายในพื้นที่การฝังของ word2vec
Word2vec เป็นหนึ่งในอัลกอริทึมหลายรายการที่ใช้ฝึกโมเดลคำเชิงลึก โดยอาศัยสมมติฐานการกระจายเพื่อจับคู่คำที่คล้ายกันตามความหมายกับเวกเตอร์การฝังที่ใกล้เคียงกันทางเรขาคณิต สมมติฐานการกระจายระบุว่าคําที่มักจะมีคำใกล้เคียงกันมักจะมีความหมายคล้ายกัน ทั้ง "สุนัข" และ "แมว" มักปรากฏอยู่ใกล้กับคำว่า "สัตว์แพทย์" และข้อเท็จจริงนี้แสดงถึงความหมายที่คล้ายกัน ดังที่นักภาษาศาสตร์ John Firth กล่าวไว้ในปี 1957 ว่า "คุณควรรู้จักคำจากบริบทที่คำนั้นใช้อยู่"
วิดีโอต่อไปนี้อธิบายวิธีอื่นในการสร้างการฝังคำซึ่งเป็นส่วนหนึ่งของกระบวนการฝึกอบรมเครือข่ายประสาทโดยใช้โมเดลที่ง่ายขึ้น
การฝังแบบคงที่กับตามบริบท
ข้อจํากัดอย่างหนึ่งของ Word Embedding เช่น รายการที่กล่าวถึงในวิดีโอด้านบนคือคงที่ คําแต่ละคําแสดงด้วยจุดเดียวในเวกเตอร์สเปซ แม้ว่าคํานั้นๆ จะมีความหมายที่หลากหลายแตกต่างกันไป โดยขึ้นอยู่กับวิธีใช้คําในประโยค ในแบบฝึกหัดที่แล้ว คุณได้เห็นความยากในการแมปความคล้ายคลึงเชิงความหมายของคําว่าสีส้ม ซึ่งอาจหมายถึงสีหรือผลไม้ประเภทหนึ่ง
การฝังตามบริบทได้รับการพัฒนาขึ้นเพื่อแก้ไขข้อบกพร่องเหล่านี้ การฝังตามบริบทช่วยให้สามารถแสดงคำเดียวกันซ้ำกันได้หลายครั้ง โดยแต่ละครั้งจะรวมข้อมูลเกี่ยวกับบริบทที่มีการใช้คำดังกล่าว ในการฝังตามบริบท คําว่า orange อาจมีการนําเสนอแยกกัน 2 แบบ ได้แก่ แบบหนึ่งจับการใช้คําว่า "สี" เช่น ในประโยค "เสื้อสเวตเตอร์ที่ฉันชอบมีแถบสีส้ม" และอีกแบบจับการใช้คําว่า "ผลไม้" เช่น ในประโยค "เราเก็บส้มจากต้นก่อนที่มันจะสุกเต็มที่"