แบบจำลองก่อกำเนิด

วิธีการจำแนกเชิงสถิตินั้น โดยหลักแล้วแบ่งเป็น 2 แบบได้แก่ วิธีการเชิงก่อกำเนิด (generative) และวิธีการเชิงจำแนก (discriminative) วิธีการเหล่านี้ใช้มาตรฐานในการสร้างแบบจำลองเชิงสถิติที่แตกต่างกัน อย่างไรก็ตาม วิธีการแบ่งอาจมีความแตกต่างกันไปตามแต่ละงานวิจัย เช่น ได้แบ่งออกได้เป็น 3 ประเภทดังนี้
สองประเภทหลังนี้อาจไม่ได้ถูกแบ่งแยกต่างกันเสมอไป ใน เรียกแยกว่าเป็น "generative learning", "conditional learning" และ "discriminative learning" แต่ใน ไม่ได้แยกความแตกต่างระหว่าง 2 ประเภทหลัง แต่เรียกรวมว่าเป็น "generative classifier" และ "discriminative classifier" ในทำนองเดียวกันบางครั้งก็มีการเรียกแยกโดยเรียกตัวจำแนกโดยยืนพื้นแบบจำลองก่อกำเนิดว่า "generative classifier" และเรียกตัวจำแนกที่ใช้แบบจำลองจำแนกเรียกว่า "discriminative classifier" แต่อย่างหลังยังหมายถึงตัวแยกประเภทที่ไม่ได้ขึ้นอยู่กับแบบจำลองด้วย
ตัวอย่างมาตรฐานของทั้ง 2 แบบได้แก่
เมื่อนำไปใช้กับการจำแนกประเภท เป้าหมายคือการกำหนดฉลากกำกับ "y" (หรือการแจกแจงความน่าจะเป็นของฉลากกำกับ) จากการสังเกต "x" มี 3 วิธี
โดยวิธีแรกคือ ตัวจำแนกแบบไม่ใช้การแจกแจง (distribution-free classifier) คือทำคำนวณโดยตรงโดยไม่ต้องใช้การแจกแจงความน่าจะเป็น
วิธีที่สองคือแบบจำลองจำแนก (discriminative model) ซึ่งทำการคำนวณความน่าจะเป็นของป้ายกำกับจากค่าที่สังเกตได้ <math>P(Y|X=x)</math>
ส่วนวิธีที่สามคือแบบจำลองก่อกำเนิด (generative model) ซึ่งหาการแจกแจงร่วม <math>P(X, Y)</math> แล้วจึงคำนวณความน่าจะเป็นมีเงื่อนไข <math>P(Y|X=x)</math>
เทคนิคเหล่านีมีความน่าจะเป็นมากขึ้น แม้ว่าจะเป็นทางอ้อมมากขึ้นก็ตาม และสามารถใช้ความรู้โดเมนและทฤษฎีความน่าจะเป็นได้มากขึ้น ในทางปฏิบัติ มีทางเลือกวิธีการต่าง ๆ มากมายขึ้นอยู่กับปัญหาที่พิจารณาในการใช้งานจริง และก็สามารถใช้วิธีการแบบผสมผสานที่รวมข้อดีของหลายวิธีเข้าด้วยกันได้เช่นกัน
คำนิยาม.
อีกวิธีในการจำแนกแบบจำลองคือคำจำกัดความแบบสมมาตรดังต่อไปนี้
แบบจำลองก่อกำเนิดใช้ค่าที่สังเกตได้และค่าวัตถุประสงค์ <math>(x, y)</math> หรือเป็นไปได้ที่จะสร้างตัวอย่างแบบสุ่มของค่าที่สังเกตได้ "x" โดยให้ค่าเป้าหมาย "y" ในทางกลับกัน แบบจำลองจำแนก หรือตัวจำแนกแบบไม่ใช้การแจกแจง (ไม่ใช้แบบจำลอง) สามารถ ระบุค่าของตัวแปรเป้าหมาย "Y" เมื่อให้ค่าที่สังเกตได้ "x"
ความแตกต่างระหว่างคำว่า classification และ discrimination นั้นละเอียดอ่อน ทั้งคู่สามารถแปลเป็น "การจำแนก" มักใช้สลับแทนกันได้ ดังนั้น การเรียกว่า discriminative classification นั้นจึงเป็นคำซ้ำซ้อน
คำว่า "แบบจำลองก่อกำเนิด" ยังหมายถึงแบบจำลองที่สร้างอินสแตนซ์ของตัวแปรขาออกในลักษณะที่ไม่เกี่ยวข้องโดยตรงกับการแจกแจงความน่าจะเป็นของตัวอย่างที่เป็นไปได้ของตัวแปรป้อนเข้า โครงข่ายปฏิปักษ์ก่อกำเนิด เป็นตัวอย่างหนึ่งของแบบจำลองก่อกำเนิดประเภทนี้ ซึ่งพิจารณาจากความคล้ายคลึงกันของค่าขาออกหนึ่ง ๆ กับค่าป้อนเข้าที่เป็นไปได้เป็นหลัก อย่างไรก็ตาม แบบจำลองดังกล่าวนี้ไม่ใช่ตัวแยกประเภท
ความสัมพันธ์ระหว่างแบบจำลอง.
ในปัญหาการจำแนกประเภท ตัวแปรที่สังเกตได้ "X" มักจะเป็นค่าต่อเนื่อง ตัวแปรเป้าหมาย "Y" โดยทั่วไปจะเป็นค่าแบบไม่ต่อเนื่อง ที่ประกอบด้วยชุดของฉลากที่มีขอบเขตจำกัด และความน่าจะเป็นมีเงื่อนไข <math>P(Y\mid X)</math> อาจตีความได้ว่าเป็นฟังก์ชันเป้าหมาย <math>f\colon X \to Y</math> สำหรับค่าป้อนเข้า "X" และค่าขาออก "Y" 
คำจำกัดความทั้งสองของแบบจำลองก่อกำเนิดมีความสัมพันธ์กันอย่างใกล้ชิดเมื่อมีชุดป้ายกำกับที่มีขอบเขตจำกัด แบบจำลองการแจกแจงแบบมีเงื่อนไข <math>P(X\mid Y = y)</math> แสดงถึงการแจกแจงของแต่ละฉลาก และแบบจำลองของการแจกแจงร่วมจะแสดงถึงการแจกแจงของค่าฉลาก <math>P(Y)</math> และการแจกแจงค่าสังเกตการณ์สำหรับค่าฉลาก <math>P(X\mid Y)</math> เขียนแสดงได้เป็น <math>P(X, Y) = P(X\mid Y)P(Y)</math> ดังนั้นแล้ว แม้ว่าแบบจำลองของการแจกแจงความน่าจะเป็นร่วมจะมีข้อมูลมากกว่าแบบจำลองของการแจกแจงฉลากกำกับ (ซึ่งไม่รวมความถี่สัมพัทธ์ของฉลากกำกับ) ความแตกต่างนั้นค่อนข้างน้อยและก็ไม่ได้แยกความแตกต่างของทั้งสองเสมอไป
ถ้ามีการแจกแจงความน่าจะเป็นร่วม <math>P(X, Y)</math> สามารถคำนวณได้ในรูปของการแจกแจงตามขอบของตัวแปรแต่ละตัว <math>P(X) = \sum_y P(X, Y = y)</math> และ <math>P(Y) = \int_x P(Y, X = x)</math> (โดยที่ "X" มีความต่อเนื่อง ดังนั้นจึงใช้ปริพันธ์ ในขณะที่ "Y" ไม่ต่อเนื่อง จึงใช้เป็นผลรวมสะสม) การแจกแจงแบบมีเงื่อนไขทั้งสองแบบสามารถพบได้โดยใช้คำจำกัดความของความน่าจะเป็นมีเงื่อนไข: <math>P(X\mid Y)=P(X, Y)/P(Y)</math> และ <math>P(Y\mid X)=P(X, Y)/P(X)</math>
ถ้ามีแบบจำลองที่มีความน่าจะเป็นมีเงื่อนไขอันหนึ่ง และการแจกแจงความน่าจะเป็น <math>P(X)</math> และ <math>P(Y)</math> ของการประมาณตัวแปร "X" และ "Y" แล้ว เราสามารถใช้ทฤษฎีบทของเบส์เพื่อประมาณค่าความน่าจะเป็นแบบมีเงื่อนไขที่ตรงกันข้ามได้: <math>P(X\mid Y)P(Y) = P(Y\mid X)P(X)</math>
ตัวอย่างเช่นถ้าเรามีแบบจำลองก่อกำเนิด <math>P(X\mid Y)</math> สามารถประมาณได้ว่า
 <math>P(Y\mid X) = P(X\mid Y)P(Y)/P(X)</math>
ในขณะที่ถ้ามีแบบจำลองจำแนก <math>P(Y\mid X)</math> จะสามารถประมาณได้เป็น
 <math>P(X\mid Y) = P(Y\mid X)P(X)/P(Y)</math>
อย่างไรก็ตาม คำจำกัดความของทฤษฎีบทของเบส์ (การคำนวณความน่าจะเป็นมีเงื่อนไขหนึ่ง ๆ โดยใช้ความน่าจะเป็นมีเงื่อนไขอื่น) และความน่าจะเป็นมีเงื่อนไข (การคำนวณความน่าจะเป็นแบบมีเงื่อนไขโดยใช้การแจกแจงร่วม) มักจะเป็นที่สับสนกัน
เปรียบเทียบกับแบบจำลองจำแนก.
ขั้นตอนวิธีเชิงก่อกำเนิดสร้างแบบจำลองเพื่อจำแนกสัญญาณโดยดูว่าข้อมูลนั้นเกิดขึ้นมาอย่างไร ข้อพิจารณาหลักคือดูว่าหมวดหมู่ใดมีแนวโน้มที่จะสร้างสัญญาณนี้มากที่สุด เมื่อพิจารณาจากสมมติฐานในส่วนการก่อกำเนิด ในทางกลับกัน ขั้นตอนวิธีแบบจำแนกเพียงแค่จำแนกสัญญาณที่พิจารณาโดยไม่ต้องสนใจว่าข้อมูลเกิดขึ้นมาอย่างไร กล่าวอีกนัยหนึ่ง ขั้นตอนวิธีการเชิงจำแนกสามารถนำมาใช้จำแนกหมวดหมู่ได้โดยตรงหลังจากทำการเรียนรู้ข้อมูล <math>p(y|x)</math> ในทางกลับกัน ขั้นตอนวิธีก่อกำเนิด จะทำการเรียนรู้ <math>p(x,y)</math> และทำการแปลงเป็น <math>p(y|x)</math> แล้วจึงนำมาใช้จำแนกประเภทข้อมูล ข้อดีอย่างหนึ่งของขั้นตอนวิธีเชิงกำเนิดก็คือ <math>p(x,y)</math> สามารถใช้เพื่อสร้างข้อมูลใหม่ที่คล้ายกับข้อมูลที่มีอยู่ อย่างไรก็ตาม ขั้นตอนวิธีเชิงจำแนกบางแบบก็ได้แสดงให้เห็นว่าทำงานได้ดีกว่าขั้นตอนวิธีก่อกำเนิดบางแบบในงานการจำแนกประเภท
แบบจำลองจำแนกไม่จำเป็นต้องสร้างแบบจำลองการแจกแจงของตัวแปรที่สังเกตได้ แต่ก็ไม่สามารถแสดงความสัมพันธ์ที่ซับซ้อนระหว่างตัวแปรที่สังเกตการณ์และตัวแปรเป้าหมายได้ อย่างไรก็ตาม โดยทั่วไปแล้ว แบบจำลองเหล่านี้ไม่จำเป็นต้องดีกว่าแบบจำลองทั่วไปสำหรับการจำแนกประเภทข้อมูล และ การวิเคราะห์การถดถอย โดยรวมแล้ว เทคนิคทั้งสองประเภทถูกมองว่าเป็นตัวช่วยเสริมกัน หรืออเป็นมุมมองที่แตกต่างกันของกระบวนการเดียวกัน
แบบจำลองก่อกำเนิดเชิงลึก.
เนื่องจากการที่เทคนิคการเรียนรู้เชิงลึกได้รับความนิยมมากขึ้น จึงได้มีการพัฒนาวิธีการใหม่ที่เรียกว่า แบบจำลองก่อกำเนิดเชิงลึก (deep generative model, DGM) ขึ้นมา ซึ่งได้รวมแบบจำลองก่อกำเนิดและโครงข่ายประสาทเทียมเชิงลึก โดยทั่วไปแล้ว ประสิทธิภาพของแบบจำลองเหล่านี้จะได้รับการปรับปรุงโดยการเพิ่มทั้งขนาดของโครงข่ายประสาทเทียมและขนาดของข้อมูลสำหรับฝึก
แบบจำลองก่อกำเนิดเชิงลึกที่เป็นที่รู้จักทั่วไป เช่น ตัวเข้ารหัสอัตโนมัติแบบแปรผัน (VAE) โครงข่ายปฏิปักษ์ก่อกำเนิด (GAN) และแบบจำลองการถดถอยอัตโนมัติ ในยุคหลัง ๆ นี้ ยิ่งมีแนวโน้มไปสู่การสร้างแบบจำลองเชิงลึกขนาดใหญ่มากขึ้น ตัวอย่างเช่น GPT-3 และ GPT-2 รุ่นก่อนหน้านั้นเป็นแบบจำลองภาษาประสาทถดถอยอัตโนมัติที่มีพารามิเตอร์นับพันล้านตัว ในขณะที่ BigGAN และ VQ-VAE ซึ่งใช้สำหรับการสร้างภาพนั้นมีพารามิเตอร์มากถึงหลายร้อยล้านตัว Jukebox เป็นแบบจำลองก่อกำเนิดขนาดใหญ่มากสำหรับสร้างเสียงเพลง มีพารามิเตอร์นับพันล้านตัว