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

หัวข้อนี้จะเน้นที่เทคนิคทั่วไป 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 โหนด
รูปที่ 12 การเข้ารหัสแบบฮอตเดียวของ hot dog ที่ใช้เป็นอินพุตให้กับโครงข่ายประสาทแบบลึก เลเยอร์ที่ฝังจะแปลงการเข้ารหัสแบบ One Hot เป็นเวกเตอร์การฝัง 3 มิติ [2.98, -0.75, 0]

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

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

การฝึกการฝังคำ

ในส่วนก่อนหน้า คุณได้สำรวจการแสดงภาพความสัมพันธ์เชิงความหมายในพื้นที่การฝังของ word2vec

Word2vec เป็นหนึ่งในอัลกอริทึมหลายรายการที่ใช้ฝึกโมเดลคำเชิงลึก โดยอาศัยสมมติฐานการกระจายเพื่อจับคู่คำที่คล้ายกันตามความหมายกับเวกเตอร์การฝังที่ใกล้เคียงกันทางเรขาคณิต สมมติฐานการกระจายระบุว่าคําที่มักจะมีคำใกล้เคียงกันมักจะมีความหมายคล้ายกัน ทั้ง "สุนัข" และ "แมว" มักปรากฏอยู่ใกล้กับคำว่า "สัตว์แพทย์" และข้อเท็จจริงนี้แสดงถึงความหมายที่คล้ายกัน ดังที่นักภาษาศาสตร์ John Firth กล่าวไว้ในปี 1957 ว่า "คุณควรรู้จักคำจากบริบทที่คำนั้นใช้อยู่"

วิดีโอต่อไปนี้อธิบายวิธีอื่นในการสร้างการฝังคำซึ่งเป็นส่วนหนึ่งของกระบวนการฝึกอบรมเครือข่ายประสาทโดยใช้โมเดลที่ง่ายขึ้น

การฝังแบบคงที่กับตามบริบท

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

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