27 คะแนน โดย xguru 2024-05-31 | 3 ความคิดเห็น | แชร์ทาง WhatsApp

ประเภทของเวกเตอร์เอ็มเบดดิง

  • Word Embeddings: ใช้แทนคำในงาน NLP และจับความสัมพันธ์เชิงความหมายระหว่างคำ ใช้ในงานอย่างการแปลภาษา ความคล้ายคลึงของคำ และการวิเคราะห์อารมณ์
  • Sentence Embeddings: จับความหมายและบริบทของประโยค ใช้ในงานอย่างการค้นคืนข้อมูล การจัดประเภทข้อความ และการวิเคราะห์อารมณ์
  • Document Embeddings: จับเนื้อหาของเอกสาร เช่น รายงานหรือบทความ ใช้ในระบบแนะนำ การค้นคืนข้อมูล ความคล้ายคลึงของเอกสาร และการจัดประเภท
  • Graph Embeddings: แทนโหนดและเอดจ์ของกราฟในปริภูมิเวกเตอร์ ใช้ในการจัดประเภทโหนด การตรวจจับชุมชน และการทำนายลิงก์
  • Image Embeddings: แทนแง่มุมต่าง ๆ ของภาพ ใช้ในระบบแนะนำตามเนื้อหา การรู้จำภาพและวัตถุ และระบบค้นหารูปภาพ
  • Product Embeddings: ใช้แทนผลิตภัณฑ์ดิจิทัลหรือผลิตภัณฑ์ทางกายภาพ ใช้ในระบบแนะนำและจัดประเภทสินค้า รวมถึงการค้นหาสินค้า
  • Audio Embeddings: แทนจังหวะ โทนเสียง ระดับเสียงสูงต่ำ และองค์ประกอบอื่น ๆ ของสัญญาณเสียง ใช้ในการตรวจจับอารมณ์ การรู้จำเสียงพูด และการแนะนำเพลง

วิธีที่โครงข่ายประสาทเทียมสร้างเอ็มเบดดิง

  • Representation Learning: โครงข่ายประสาทเทียมแมปข้อมูลมิติสูงไปยังปริภูมิมิติต่ำโดยยังคงรักษาคุณลักษณะสำคัญไว้
  • กระบวนการฝึก: โครงข่ายประสาทเทียมเรียนรู้ที่จะแปลงข้อมูลให้เป็นเอ็มเบดดิงที่มีความหมาย กระบวนการนี้เกิดขึ้นระหว่างการปรับน้ำหนักและไบแอสของนิวรอน
  • ตัวอย่าง: ในโครงข่ายประสาทเทียมสำหรับจำแนกรีวิวภาพยนตร์ว่าเป็นเชิงบวกหรือเชิงลบ จะมีการเรียนรู้ word embeddings โดยคำอย่าง "good" และ "excellent" จะมีเอ็มเบดดิงที่คล้ายกัน

หลักการทำงานของเวกเตอร์เอ็มเบดดิง

  • ปริภูมิเวกเตอร์: แทนวัตถุหรือคุณลักษณะเป็นจุดในปริภูมิเวกเตอร์หลายมิติ โดยรายการที่คล้ายกันจะอยู่ใกล้กัน
  • การวัดระยะ: ใช้ Euclidean distance, cosine similarity เป็นต้น เพื่อหาความสัมพันธ์ระหว่างเวกเตอร์ในเชิงปริมาณ
  • ตัวอย่าง: เวกเตอร์ของ "cat" และ "dog" จะอยู่ใกล้กันมากกว่าเวกเตอร์ของ "cat" และ "car"

การพัฒนาโดยใช้เวกเตอร์เอ็มเบดดิง

  • แชตบอต: ตอบคำถามของผู้ใช้ได้ดีขึ้น สร้างคำตอบที่เกี่ยวข้องกับบริบท และรักษาความต่อเนื่องของบทสนทนา
  • Semantic Search Engine: ให้ผลการค้นหาตามความคล้ายคลึงเชิงความหมายแทนการจับคู่คีย์เวิร์ด
  • ระบบจัดประเภทข้อความ: จัดประเภทเอกสารตามโครงสร้างประโยคและคำ
  • ระบบแนะนำ: แนะนำคอนเทนต์ตามความคล้ายคลึงของคีย์เวิร์ดและคำอธิบาย

วิธีสร้างเวกเตอร์เอ็มเบดดิงสำหรับข้อมูล

  • การเก็บรวบรวมข้อมูล: รวบรวมข้อมูลหลากหลายประเภท เช่น ข้อความ เสียง ภาพ และข้อมูลอนุกรมเวลา
  • การเตรียมข้อมูลล่วงหน้า: ประมวลผลข้อมูลให้เหมาะกับการวิเคราะห์ เช่น tokenization การลบนอยส์ การปรับขนาดภาพ และการทำ normalization
  • การแบ่งข้อมูล: แบ่งข้อความเป็นประโยคหรือคำ แบ่งภาพเป็นเซกเมนต์ และแบ่งข้อมูลอนุกรมเวลาเป็นช่วง
  • การแปลงเป็นเวกเตอร์: แปลงแต่ละส่วนของข้อมูลให้เป็นเวกเตอร์ โดยข้อมูลข้อความอาจใช้โมเดล text embeddings ของ OpenAI ข้อมูลภาพใช้โมเดล CNN และข้อมูลเสียงใช้ spectrogram เป็นต้น

วิธีจัดเก็บเวกเตอร์เอ็มเบดดิง

  • ฐานข้อมูลเวกเตอร์: ใช้ฐานข้อมูลที่สามารถจัดเก็บและค้นหาเวกเตอร์ได้อย่างมีประสิทธิภาพ
  • PostgreSQL: สามารถจัดเก็บข้อมูลเวกเตอร์ร่วมกับข้อมูลเชิงสัมพันธ์อื่น ๆ ได้ โดยใช้ส่วนขยาย pgvector เพื่อจัดเก็บและคิวรีเวกเตอร์

3 ความคิดเห็น

 
gcback 2024-05-31

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

 
soon0698 2024-06-03

เป็นความเห็นที่ทำให้นึกถึงงานวิจัยที่เพิ่งอ่านมาไม่นานนี้นะครับ/ค่ะ บางครั้งขึ้นอยู่กับโมเดลแล้ว cosine similarity เองก็อาจไม่มีความหมายเช่นกัน "Is Cosine-Similarity of Embeddings Really About Similarity?" (2024)