หัวข้อนี้จะเน้นที่เทคนิคทั่วไป 2 อย่างในการสร้างการฝัง ดังนี้
- การลดมิติข้อมูล
- การแยกการฝังจากโมเดลโครงข่ายประสาทที่มีขนาดใหญ่ขึ้น
เทคนิคการลดมิติข้อมูล
มีเทคนิคทางคณิตศาสตร์มากมายในการบันทึกผลการวัดที่สำคัญ โครงสร้างของพื้นที่ที่มีมิติสูงในพื้นที่ที่มีมิติน้อย ในทางทฤษฎี เทคนิคใดๆ เหล่านี้สามารถใช้ในการสร้างการฝังสำหรับเครื่องได้ ระบบการเรียนรู้
ตัวอย่างเช่น การวิเคราะห์องค์ประกอบหลัก (PCA) มีการใช้เพื่อสร้างการฝังคำ ได้ชุดอินสแตนซ์ เช่น หีบคำเวกเตอร์ พยายาม PCA เพื่อค้นหามิติข้อมูลที่สัมพันธ์กันสูง ซึ่งสามารถยุบลงใน
การฝึกการฝังเป็นส่วนหนึ่งของโครงข่ายประสาท
คุณสามารถสร้างการฝังขณะฝึก โครงข่ายระบบประสาทเทียมสำหรับ กับงานเป้าหมายของคุณ วิธีนี้ทำให้คุณสามารถฝัง การกำหนดค่าที่ดีสำหรับ ระบบเฉพาะ แต่อาจใช้เวลานานกว่าการฝึกการฝังแยกกัน
โดยทั่วไปแล้ว คุณจะสร้างชั้นที่ซ่อนอยู่ขนาด d ในระบบประสาทเทียมได้ เครือข่ายที่กำหนดเป็น เลเยอร์การฝัง โดยที่ d แสดงถึงทั้งจำนวนของโหนดในเลเยอร์ที่ซ่อนอยู่และจำนวน ในพื้นที่ที่ฝัง เลเยอร์ที่ฝังนี้สามารถรวมกับ ฟีเจอร์อื่นๆ และเลเยอร์ที่ซ่อนอยู่ เช่นเดียวกับในเครือข่ายประสาทเทียมระดับลึก ระบบจะเพิ่มประสิทธิภาพพารามิเตอร์ในระหว่างการฝึกเพื่อลดการสูญเสียค่าบนโหนดใน เลเยอร์เอาต์พุตของเครือข่าย
กลับมาที่ตัวอย่างคำแนะนำอาหาร เรามีเป้าหมาย เพื่อคาดการณ์เมนูใหม่ที่ผู้ใช้จะต้องชอบโดยอิงตามเมนูโปรดในปัจจุบัน มื้ออาหาร อย่างแรก เราสามารถรวบรวมข้อมูลเพิ่มเติมเกี่ยวกับ รายการโปรด 5 อันดับแรก อาหาร จากนั้นเราจะจำลองงานนี้ให้เป็นปัญหาการเรียนรู้ที่มีการควบคุมดูแลได้ เราตั้งค่าไว้ ของอาหารยอดนิยม 4 ใน 5 อย่างนี้ให้เป็นข้อมูลที่น่าสนใจ แล้วสุ่มเลือกข้อมูล รูปที่ 5 เป็นป้ายกำกับเชิงบวกที่โมเดลของเราตั้งเป้าไว้ ซึ่งจะช่วยเพิ่มประสิทธิภาพ การคาดการณ์ของโมเดลโดยใช้ softmax การสูญเสีย
ในระหว่างการฝึก โมเดลโครงข่ายระบบประสาทเทียมจะเรียนรู้การถ่วงน้ำหนักที่เหมาะที่สุดสำหรับ โหนดในเลเยอร์ที่ซ่อนชั้นแรก ซึ่งทำหน้าที่เป็นเลเยอร์ที่ฝัง ตัวอย่างเช่น ถ้าโมเดลมีโหนด 3 โหนดในเลเยอร์แรกที่ซ่อนอยู่ ก็อาจอาจระบุได้ว่ามิติข้อมูลของอาหาร 3 ด้านที่เกี่ยวข้องมากที่สุด ความแซนด์วิช ของหวาน และของเหลว รูปที่ 12 แสดงค่าหนึ่งความร้อนที่เข้ารหัส ค่าที่ป้อนสำหรับ "ฮอตดอก" เปลี่ยนเป็นเวกเตอร์ 3 มิติ
![รูปที่ 12 โครงข่ายระบบประสาทเทียมสำหรับการเข้ารหัสแบบฮอตดอก เลเยอร์แรกคือ
เลเยอร์อินพุตที่มี 5 โหนด โดยแต่ละโหนดจะมีไอคอนอาหาร
(บอร์ช ฮอตด็อก สลัด ... และชาวาร์มา) โหนดเหล่านี้มี
ค่า [0, 1, 0, ..., 0] ตามลำดับ แสดงถึงค่าเดียวฮอต
การเข้ารหัส "ฮอตดอก" เลเยอร์อินพุตเชื่อมต่ออยู่กับการฝัง 3 โหนด
ที่โหนดมีค่า 2.98, -0.75 และ 0 ตามลำดับ
เลเยอร์ที่ฝังไว้ จะเชื่อมต่อกับเลเยอร์ที่ซ่อนอยู่ 5 โหนด จากนั้น
เชื่อมต่อกับเลเยอร์เอาต์พุต 5 โหนดอยู่](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/one_hot_hot_dog_embedding.png?authuser=8&hl=th)
hot dog
ให้เป็นอินพุตของโครงข่ายประสาทแบบลึก เลเยอร์ที่ฝังจะแปล
การเข้ารหัสแบบหนึ่งร้อนลงในเวกเตอร์การฝังสามมิติ
[2.98, -0.75, 0]
ในระหว่างการฝึก ระบบจะเพิ่มประสิทธิภาพน้ำหนักของเลเยอร์ที่ฝัง เพื่อให้ เวกเตอร์การฝัง สำหรับตัวอย่างที่คล้ายกัน อื่นๆ มิติข้อมูลแต่ละรายการของเลเยอร์ที่ฝัง (สิ่งที่แต่ละโหนดใน เลเยอร์การฝังตัว) หรือ "สภาพคล่อง" บางครั้งคำว่า "หมายถึง" สามารถอนุมานได้ แต่อาจไม่เป็นเช่นนั้นเสมอไป กรณีที่ต้องการ
โดยปกติแล้ว การฝังจะมีความเฉพาะเจาะจงสำหรับแต่ละงานและแตกต่างกัน เมื่องานแตกต่างกัน ตัวอย่างเช่น การฝังวิดีโอที่สร้างโดยผู้ที่รับประทานอาหารมังสวิรัติ โมเดลการจัดประเภทเนื้อหาที่ไม่ใช่มังสวิรัติอาจมี 2 มิติ ได้แก่ เนื้อหาประเภทเนื้อ และเนื้อหาที่ทำจากนม ในขณะเดียวกัน ข้อมูลที่ฝังที่สร้างจากอาหารเช้าเทียบกับ ตัวแยกประเภทอาหารเย็นสำหรับอาหารอเมริกันอาจมีขนาดต่างกันเล็กน้อย ดังนี้ ปริมาณแคลอรี ปริมาณธัญพืช และเนื้อหาเนื้อสัตว์ "ซีเรียล" และ "แซนด์วิชไข่กับเบคอน" อาจอยู่ใกล้กันในพื้นที่ที่ฝังของ ชนิดอาหารเช้าเทียบกับอาหารค่ำ แต่อยู่ห่างกันในพื้นที่ที่ฝังของ ตัวแยกประเภทระหว่างมังสวิรัติกับไม่ใช่มังสวิรัติ
การฝึกการฝังคำ
ในส่วนก่อนหน้านี้ คุณได้สำรวจ ที่แสดงความสัมพันธ์ทางความหมายในส่วน พื้นที่ที่ฝัง word2vec
Word2vec เป็นหนึ่งในอัลกอริทึมมากมายที่ใช้สำหรับการฝึกการฝังคำ วิธีนี้อาศัยสมมติฐานด้านการกระจายเพื่อจับคู่ความหมายที่คล้ายกัน คำเพื่อปิดเวกเตอร์ที่ฝังในรูปทรงเรขาคณิต การกระจาย สมมติฐาน ระบุว่าคำที่มักจะมีคำใกล้เคียงเหมือนกันมักจะเป็น ในเชิงความหมาย ทั้ง "สุนัข" และ "แมว" มักปรากฏใกล้กับ คำว่า "สัตวแพทย์" และข้อเท็จจริงนี้สะท้อนให้เห็นถึง ความคล้ายคลึงกันทางอรรถศาสตร์ของคำเหล่านั้น ดังที่นักภาษาศาสตร์ จอห์น เฟิร์ธ ได้กล่าวไว้ในปี 1957 "คุณจะรู้จักคำๆ หนึ่งจากบริษัท ของมันอยู่เสมอ"
วิดีโอต่อไปนี้จะอธิบายวิธีการอื่นๆ ในการสร้างการฝังคำเป็น เป็นส่วนหนึ่งของกระบวนการฝึกโครงข่ายระบบประสาทเทียมโดยใช้โมเดลที่เข้าใจง่ายขึ้น
การฝังแบบคงที่กับบริบท
ข้อจำกัดอย่างหนึ่งของการฝังคำอย่างเช่นที่กล่าวถึงในวิดีโอด้านบนคือ เป็นแบบคงที่ แต่ละคำแสดงด้วยจุดเดียวในเวกเตอร์ วรรคแม้ว่าจะมีหลายความหมาย ซึ่งขึ้นอยู่กับว่า ใช้ในประโยค ในแบบฝึกหัดล่าสุด คุณค้นพบความยากในการจับคู่ความคล้ายคลึงกันทางอรรถศาสตร์ของคำดังกล่าว ส้ม ซึ่งอาจหมายถึงสีหรือประเภทของผลไม้
การฝังตามบริบทได้รับการพัฒนาขึ้นเพื่อแก้ไขข้อบกพร่องเหล่านี้ การฝังตามบริบททำให้สามารถ การแทนคำเดียวกัน โดยแต่ละคำจะรวมข้อมูลเกี่ยวกับ บริบทที่มีการใช้คำดังกล่าว ในการฝังตามบริบท คำว่า สีส้มอาจมีการนำเสนอ 2 แบบแยกกัน รูปแบบหนึ่งแสดง "สี" โดยใช้คำนี้ เช่นเดียวกับประโยคอย่างเช่น "เสื้อสเวตเตอร์ตัวโปรดของฉันมีสีส้ม ลายทาง" และอีกคนหนึ่งกำลังเก็บ "ผลไม้" การใช้คำดังกล่าว เช่นเดียวกับในประโยค เช่น "ส้มถูกดึงออกมาจากต้นก่อนจะสุกเต็มที่"