ระบบเข้ารหัสอัตโนมัติแบบแปรปรวนคืออะไรและใช้งานการเรียนรู้อะไรบ้าง


24

ตามนี้และนี้คำตอบ autoencoders ดูเหมือนจะเป็นเทคนิคที่ใช้โครงข่ายประสาทเทียมสำหรับการลดมิติ ฉันต้องการทราบเพิ่มเติมว่าautoencoder แบบแปรผันคืออะไร(ความแตกต่าง / ประโยชน์หลัก ๆ ของมันมากกว่า autoencoders แบบดั้งเดิม) และสิ่งที่เป็นหน้าที่การเรียนรู้หลักที่อัลกอริทึมเหล่านี้ใช้

คำตอบ:


37

แม้ว่าระบบตรวจสอบอัตโนมัติแบบผันแปร (VAE) นั้นง่ายต่อการติดตั้งและฝึกอบรมการอธิบายพวกเขานั้นไม่ง่ายเลยเพราะพวกเขาผสมผสานแนวคิดจาก Deep Learning และ Variational Bayes และชุมชน Deep Learning และ Probabilistic Model ใช้คำศัพท์ที่แตกต่างกันสำหรับแนวคิดเดียวกัน ดังนั้นเมื่ออธิบาย VAE คุณมีความเสี่ยงที่จะมุ่งเน้นไปที่ส่วนของแบบจำลองทางสถิติปล่อยให้ผู้อ่านไม่ทราบว่าจะนำมันไปใช้อย่างไรหรือในทางกลับกันก็ให้ความสนใจกับสถาปัตยกรรมเครือข่ายและฟังก์ชั่นการสูญเสีย ดึงออกมาจากอากาศบาง ๆ ฉันจะพยายามหาจุดกึ่งกลางที่นี่เริ่มจากตัวแบบ แต่ให้รายละเอียดมากพอที่จะนำไปใช้จริงในทางปฏิบัติหรือเข้าใจการใช้งานของคนอื่น

VAE เป็นรูปแบบกำเนิด

ซึ่งแตกต่างจาก autoencoders (กระจัดกระจาย denoising ฯลฯ ), VAEs เป็นรูปแบบการกำเนิดเช่น GANs ด้วยรูปแบบการกำเนิดที่ผมหมายถึงรูปแบบการเรียนรู้ซึ่งการกระจายความน่าจะเป็นp(x)มากกว่าการป้อนข้อมูลพื้นที่xxซึ่งหมายความว่าหลังจากที่เราได้รับการฝึกอบรมรูปแบบดังกล่าวเราสามารถแล้วตัวอย่างจาก (ประมาณของเรา) p(x) ) หากชุดการฝึกอบรมของเราทำจากตัวเลขที่เขียนด้วยลายมือ (MNIST) หลังจากการฝึกอบรมแบบจำลองทั่วไปสามารถสร้างภาพที่ดูเหมือนตัวเลขที่เขียนด้วยลายมือแม้ว่าพวกเขาจะไม่ใช่ "คัดลอก" ของภาพในชุดฝึกอบรมก็ตาม

การเรียนรู้การกระจายภาพในชุดฝึกหมายความว่าภาพที่ดูเหมือนตัวเลขที่เขียนด้วยลายมือควรมีความน่าจะเป็นสูงในขณะที่ภาพที่ดูเหมือน Jolly Roger หรือเสียงรบกวนแบบสุ่มควรมีความน่าจะเป็นต่ำ กล่าวอีกนัยหนึ่งก็คือการเรียนรู้เกี่ยวกับการพึ่งพาระหว่างพิกเซล: ถ้าภาพของเราเป็น28×28=784พิกเซลภาพระดับสีเทาจาก MNIST แบบจำลองควรเรียนรู้ว่าถ้าพิกเซลสว่างมาก มีความสว่างเช่นกันว่าถ้าเรามีพิกเซลที่ยาวและเอียงเราอาจมีพิกเซลที่เล็กกว่าและเส้นแนวนอนด้านบนอันนี้ (a 7) เป็นต้น

VAE เป็นแบบจำลองตัวแปรแฝง

VAE เป็นแบบจำลองตัวแปรแฝง : นี่หมายความว่าx , เวกเตอร์แบบสุ่มของความเข้มของพิกเซล 784 ( ตัวแปรที่สังเกตได้ ) ถูกสร้างแบบจำลองเป็นฟังก์ชั่น (อาจซับซ้อนมาก) ของเวกเตอร์สุ่มzZมีมิติต่ำกว่า เป็นตัวแปรที่ไม่ได้ตรวจสอบ ( แฝง ) แบบจำลองนี้เหมาะสมเมื่อใด ตัวอย่างเช่นในกรณี MNIST เราคิดว่าตัวเลขที่เขียนด้วยลายมือนั้นเป็นของมิติที่เล็กกว่ามิติของxเนื่องจากส่วนใหญ่ของการจัดเรียงแบบสุ่มที่ความเข้มของพิกเซล 784 ไม่ดูเหมือนลายมือที่เขียนด้วยลายมือ เราคาดหวังว่าขนาดอย่างน้อย 10 (จำนวนหลัก) โดยสังเขป แต่ก็มีแนวโน้มที่ใหญ่กว่าเพราะแต่ละหลักสามารถเขียนได้หลายวิธี ความแตกต่างบางอย่างนั้นไม่สำคัญกับคุณภาพของภาพสุดท้าย (ตัวอย่างเช่นการหมุนทั่วโลกและการแปล) แต่สิ่งอื่นนั้นมีความสำคัญ ดังนั้นในกรณีนี้แบบจำลองแฝงจึงสมเหตุสมผล เพิ่มเติมเกี่ยวกับเรื่องนี้ในภายหลัง โปรดทราบว่าน่าแปลกใจแม้ว่าสัญชาตญาณของเราบอกเราว่าขนาดควรประมาณ 10 เราสามารถใช้ตัวแปรแฝง 2 ตัวเพื่อเข้ารหัสชุดข้อมูล MNIST ด้วย VAE (แม้ว่าผลลัพธ์จะไม่สวย) เหตุผลก็คือแม้แต่ตัวแปรจริงเพียงตัวเดียวสามารถเข้ารหัสคลาสจำนวนมากได้อย่างไม่ จำกัด เพราะมันสามารถสันนิษฐานได้ว่าเป็นจำนวนเต็มและเป็นไปได้ทั้งหมด แน่นอนถ้าชั้นเรียนมีการทับซ้อนกันอย่างมีนัยสำคัญในหมู่พวกเขา (เช่น 9 และ 8 หรือ 7 และฉันใน MNIST) แม้ฟังก์ชั่นที่ซับซ้อนที่สุดของตัวแปรแฝงเพียงสองตัวจะทำงานที่ไม่ดีในการสร้างตัวอย่างที่มองเห็นได้ชัดเจน เพิ่มเติมเกี่ยวกับเรื่องนี้ในภายหลัง

VAEs ถือว่าการแจกแจงตัวแปรแบบหลายตัวแปร (โดยที่เป็นพารามิเตอร์ของ ) และพวกเขาเรียนรู้พารามิเตอร์ของ การกระจายหลายตัวแปร การใช้พารามิเตอร์รูปแบบไฟล์ PDF สำหรับซึ่งป้องกันจำนวนพารามิเตอร์ของ VAE ที่จะเติบโตโดยไม่มีขอบเขตกับการเติบโตของชุดฝึกอบรมเรียกว่าค่าตัดจำหน่ายในภาษาศาสตร์ของ VAE (ใช่ฉันรู้ ... )q(z|x,λ)λqz

เครือข่ายถอดรหัส

ป้อนคำอธิบายรูปภาพที่นี่

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

เป้าหมายของเครือข่ายถอดรหัสคือการสร้างแบบสุ่มเวกเตอร์ใหม่ที่อยู่ในพื้นที่การป้อนข้อมูลคือภาพใหม่เริ่มต้นจากความเข้าใจของแฝงเวกเตอร์{Z} วิธีการนี้อย่างชัดเจนว่ามันจะต้องเรียนรู้การกระจายเงื่อนไข{Z}) สำหรับ VAEs การกระจายนี้มักจะถือว่าเป็นหลายตัวแปรเกาส์1 :xXzp(x|z)

pϕ(x|z)=N(x|μ(z;ϕ),σ(z;ϕ)2I)

ϕเป็นเวกเตอร์ของน้ำหนัก (และอคติ) ของเครือข่ายตัวเข้ารหัส The vectorsและมีความซับซ้อนไม่ทราบหน้าที่ แบบจำลองโดยถอดรหัสเครือข่าย: โครงข่ายประสาทเทียมเป็นฟังก์ชันที่ไม่เชิงเส้นที่มีประสิทธิภาพμ(z;ϕ)σ(z;ϕ)


ตามที่ระบุไว้โดย @amoeba ในความคิดเห็นมีความคล้ายคลึงกันระหว่างตัวถอดรหัสและรูปแบบตัวแปรแฝงคลาสสิกที่โดดเด่น : การวิเคราะห์ปัจจัย ในการวิเคราะห์ปัจจัยคุณถือว่ารูปแบบ:

x|zN(Wz+μ,σ2I), zN(0,I)

ทั้งสองรุ่น (FA & ตัวถอดรหัส) สันนิษฐานว่าการแจกแจงแบบมีเงื่อนไขของตัวแปรที่สังเกตได้บนตัวแปรแฝงคือ Gaussian และนั้นเป็น Gaussians มาตรฐาน ความแตกต่างคือตัวถอดรหัสไม่คิดว่าค่าเฉลี่ยของเป็นเส้นตรงในและไม่ถือว่าการเบี่ยงเบนมาตรฐานเป็นเวกเตอร์คงที่ ในทางตรงกันข้ามมันรุ่นพวกเขาเป็นฟังก์ชั่นแบบไม่เชิงเส้นที่ซับซ้อนของ{Z} ในแง่นี้มันสามารถถูกมองว่าเป็นการวิเคราะห์ปัจจัยแบบไม่เชิงเส้น ดูที่นี่xzzp(x|z)zzสำหรับการสนทนาอย่างลึกซึ้งเกี่ยวกับการเชื่อมต่อระหว่าง FA และ VAE เนื่องจาก FA ที่มีเมทริกซ์ความแปรปรวนร่วม isotropic เป็นเพียงแค่ PPCA สิ่งนี้ยังเชื่อมโยงกับผลลัพธ์ที่เป็นที่รู้จักกันดีว่าตัวเข้ารหัสเชิงเส้นอัตโนมัติลดลงเป็น PCA


กลับไปที่ตัวถอดรหัส: เราจะเรียนรู้อย่างไร สังหรณ์ใจเราต้องการตัวแปรแฝงซึ่งเพิ่มโอกาสในการสร้างที่ในการฝึกอบรมชุดD_nกล่าวอีกนัยหนึ่งเราต้องการคำนวณการแจกแจงความน่าจะเป็นหลังของจากข้อมูลที่ได้รับ:ϕzxiDnz

p(z|x)=pϕ(x|z)p(z)p(x)

เราสมมติว่าก่อนหน้านี้และเราเหลือประเด็นปกติในการอนุมานแบบเบย์ที่คำนวณ ( หลักฐาน ) นั้นยาก ( อินทิกรัลหลายมิติ) มีอะไรเพิ่มเติมเนื่องจากที่นี่ไม่เป็นที่รู้จักเราจึงไม่สามารถคำนวณได้ ป้อนการอนุมานแบบแปรผันซึ่งเป็นเครื่องมือที่ให้รหัสตัวแปรปรวนอัตโนมัติN(0,I)zp(x)μ ( z ; ϕ )μ(z;ϕ)

การอนุมานแบบแปรผันสำหรับแบบจำลอง VAE

การอนุมานแบบแปรผันเป็นเครื่องมือในการดำเนินการอนุมานแบบเบย์โดยประมาณสำหรับรุ่นที่ซับซ้อนมาก มันไม่ใช่เครื่องมือที่ซับซ้อนเกินไป แต่คำตอบของฉันยาวเกินไปและฉันจะไม่อธิบายคำอธิบายโดยละเอียดของ VI คุณสามารถดูคำตอบนี้และการอ้างอิงในนั้นหากคุณอยากรู้:

/stats//a/270569/58675

มันพอเพียงที่จะบอกว่า VI มองหาการประมาณของในการแจกแจงแบบพารามิเตอร์เชิงครอบครัวซึ่งตามที่ระบุไว้ข้างต้นเป็นพารามิเตอร์ของตระกูล เรามองหาพารามิเตอร์ที่ลดการเบี่ยงเบน Kullback-Leibler ระหว่างการกระจายเป้าหมายของเราและ :p(z|x)q(z|x,λ)λp(z|x)q(z|x,λ)

minλD[p(z|x)||q(z|x,λ)]

อีกครั้งเราไม่สามารถลดสิ่งนี้ได้โดยตรงเนื่องจากคำจำกัดความของการเบี่ยงเบน Kullback-Leibler รวมถึงหลักฐาน แนะนำ ELBO (Evidence Lower BOund) และหลังจากการเปลี่ยนแปลงพีชคณิตบางครั้งเราก็ได้:

ELBO(λ)=Eq(z|x,λ)[logp(x|z)]D[(q(z|x,λ)||p(z)]

เนื่องจาก ELBO เป็นขอบเขตล่างของหลักฐาน (ดูลิงค์ด้านบน) การเพิ่ม ELBO ไม่เท่ากับการเพิ่มความเป็นไปได้สูงสุดของข้อมูลที่ได้รับ (หลังจากทั้งหมด VI เป็นเครื่องมือสำหรับการอนุมานแบบเบย์โดยประมาณ ) แต่มันไปในทิศทางที่ถูกต้องλ

เพื่อที่จะทำให้การอนุมานเราจำเป็นต้องระบุครอบครัวพาราแลมบ์ดา}) ใน VAE ส่วนใหญ่เราเลือกการกระจายแบบเกาส์หลายตัวแปรที่ไม่สัมพันธ์กันq(z|x,λ)

q(z|x,λ)=N(z|μ(x),σ2(x)I)

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

เครือข่ายตัวเข้ารหัส

เรียกอีกอย่างว่าเครือข่ายการอนุมานซึ่งจะใช้ในเวลาฝึกอบรมเท่านั้น

ป้อนคำอธิบายรูปภาพที่นี่

ตัวเข้ารหัสต้องประมาณและ ดังนั้นถ้าเราพูด 24 ตัวแปรแฝงผลลัพธ์ของ ตัวเข้ารหัสเป็นเวกเตอร์ เข้ารหัสมีน้ำหนัก (และอคติ)theta} เพื่อเรียนรู้ในที่สุดเราสามารถเขียน ELBO ในแง่ของพารามิเตอร์และของเครือข่ายเครื่องเข้ารหัสและถอดรหัสรวมถึงจุดชุดฝึกอบรม:μ(x)σ(x)d=48θθθϕ

ELBO(θ,ϕ)=iEqθ(z|xi,λ)[logpϕ(xi|z)]D[(qθ(z|xi,λ)||p(z)]

ในที่สุดเราก็สามารถสรุปได้ ตรงกันข้ามกับ ELBO ในฐานะที่เป็นฟังก์ชั่นของและใช้เป็นฟังก์ชั่นการสูญเสียของ VAE เราใช้ SGD เพื่อลดการสูญเสียนี้เช่นเพิ่ม ELBO ให้ได้มากที่สุด เนื่องจาก ELBO มีขอบเขตที่ต่ำกว่าของหลักฐานสิ่งนี้จะดำเนินไปในทิศทางของการเพิ่มพูนหลักฐานและทำให้เกิดภาพใหม่ที่เหมาะสมกับภาพในชุดฝึกอบรม เทอมแรกใน ELBO คือความน่าจะเป็นบันทึกเชิงลบของคะแนนชุดการฝึกอบรมดังนั้นจึงสนับสนุนให้ตัวถอดรหัสสร้างภาพที่คล้ายกับภาพฝึกอบรม คำที่สองสามารถตีความได้ว่าเป็น regularizer: มันสนับสนุนให้ตัวเข้ารหัสเพื่อสร้างการแจกแจงสำหรับตัวแปรแฝงซึ่งคล้ายกับθϕp(z)=N(0,I). แต่ด้วยการแนะนำตัวแบบความน่าจะเป็นอันดับแรกเราเข้าใจว่าการแสดงออกทั้งหมดมาจากไหน: การลดความแตกต่างของ Kullabck-Leibler ระหว่างการมองหลังโดยประมาณและรุ่นหลังแลมบ์ดา}) 2qθ(z|x,λ)p(z|x,λ)

เมื่อเราได้เรียนรู้และโดยการเพิ่มสูงสุดเราสามารถทิ้งตัวเข้ารหัส จากนี้ไปหากต้องการสร้างภาพใหม่เพียงตัวอย่างและเผยแพร่ผ่านตัวถอดรหัส เอาท์พุทตัวถอดรหัสจะเป็นภาพคล้ายกับที่อยู่ในชุดฝึกอบรมθϕELBO(θ,ϕ)zN(0,I)

การอ้างอิงและการอ่านเพิ่มเติม


1ข้อสมมติฐานนี้ไม่จำเป็นอย่างเคร่งครัดแม้ว่าจะทำให้คำอธิบาย VAE ของเราง่ายขึ้น แต่ขึ้นอยู่กับการใช้งานที่คุณอาจคิดการกระจายแตกต่างกันสำหรับ{Z}) ยกตัวอย่างเช่นถ้าเป็นเวกเตอร์ของตัวแปรไบนารีตัว Gaussianไม่สมเหตุสมผลและหลายตัวแปร Bernoulli สามารถสันนิษฐานได้pϕ(x|z)xp

2การแสดงออกของ ELBO ด้วยความสง่างามทางคณิตศาสตร์ปกปิดสองแหล่งสำคัญของความเจ็บปวดสำหรับผู้ฝึก VAE หนึ่งคือเทอมเฉลี่ย{Z})] สิ่งนี้ต้องการการคำนวณอย่างมีประสิทธิภาพซึ่งต้องใช้หลายตัวอย่างจากEqθ(z|xi,λ)[logpϕ(xi|z)]qθ(z|xi,λ). เมื่อพิจารณาถึงขนาดของโครงข่ายประสาทที่เกี่ยวข้องและอัตราการบรรจบกันต่ำของอัลกอริทึม SGD ต้องสุ่มตัวอย่างหลายครั้งในแต่ละรอบ (จริง ๆ แล้วสำหรับแต่ละรถตู้ซึ่งแย่ยิ่งกว่า) ใช้เวลานานมาก ผู้ใช้ VAE แก้ปัญหานี้ได้ในทางปฏิบัติโดยการคำนวณความคาดหวังด้วยตัวอย่างสุ่ม (!) อีกประเด็นคือการฝึกอบรมเครือข่ายประสาทสองตัว (ตัวเข้ารหัส & ตัวถอดรหัส) ด้วยอัลกอริทึมการขยายพื้นที่กลับคืนฉันต้องแยกความแตกต่างของขั้นตอนทั้งหมดที่เกี่ยวข้องในการแพร่กระจายไปข้างหน้าจากตัวเข้ารหัสไปยังตัวถอดรหัส เนื่องจากตัวถอดรหัสไม่ได้ถูกกำหนด (การประเมินเอาท์พุทของมันจำเป็นต้องใช้การวาดจากหลายตัวแปรแบบเกาส์เซียน) มันจึงไม่มีเหตุผลที่จะถามว่ามันเป็นสถาปัตยกรรมที่แตกต่างกันหรือไม่ วิธีการนี้เป็นเคล็ดลับ reparametrization


1
ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
gung - Reinstate Monica

2
6 ฉันวางรางวัลไว้ที่นี่ดังนั้นหวังว่าคุณจะได้ upvotes เพิ่มเติม หากคุณต้องการที่จะปรับปรุงบางสิ่งในโพสต์นี้ (แม้ว่าการจัดรูปแบบเท่านั้น) ตอนนี้เป็นเวลาที่ดี: การแก้ไขทุกครั้งจะกระแทกเธรดนี้ไปที่หน้าแรกและทำให้ผู้คนจำนวนมากให้ความสนใจกับความโปรดปราน นอกเหนือจากนั้นฉันคิดอีกเล็กน้อยเกี่ยวกับความสัมพันธ์เชิงแนวคิดระหว่างการประเมิน EM ของแบบจำลอง FA และการฝึกอบรม VAE คุณเชื่อมโยงไปยังสไลด์บรรยายที่ยาวมากเกี่ยวกับวิธีการฝึกอบรม VAE คล้ายกับ EM แต่อาจเป็นการดีที่จะกลั่นกรองสัญชาตญาณบางส่วนให้เป็นคำตอบนี้
อะมีบาพูดว่า Reinstate Monica

(ฉันได้อ่านบางเรื่องและฉันกำลังคิดว่าจะเขียนคำตอบ "สัญชาตญาณ / แนวคิด" ที่นี่โดยเน้นที่ FA / PPCA <--> การติดต่อ VAE ในแง่ของ EM <--> การฝึกอบรม VAE แต่ฉันไม่คิดว่า ฉันรู้ว่าเพียงพอสำหรับคำตอบที่มีสิทธิ์ ... ดังนั้นฉันค่อนข้างจะมีคนอื่นเขียน :-)
อะมีบาพูดว่า Reinstate Monica

ขอบคุณสำหรับความโปรดปราน! มีการแก้ไขที่สำคัญบางอย่าง ฉันจะไม่พูดถึงเรื่อง EM เพราะฉันไม่รู้เรื่อง EM เพียงพอและเพราะฉันมีเวลาเพียงพอ (คุณรู้ว่าต้องใช้เวลานานแค่ไหนในการแก้ไขครั้งใหญ่ ... ;-)
DeltaIV
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.