ตัวเข้ารหัสอัตโนมัติ

ตัวเข้ารหัสอัตโนมัติ (autoencoder) เป็นขั้นตอนวิธีสำหรับการลดมิติโดยใช้โครงข่ายประสาทเทียมในการเรียนรู้ของเครื่อง วิธีนี้ถูกเสนอครั้งแรกโดยเจฟฟรีย์ ฮินตันในปี 2006
ภาพรวม.
ตัวเข้ารหัสอัตโนมัติเป็นโครงข่ายประสาทเทียมสามชั้นที่ทำการเรียนรู้แบบไม่มีผู้สอนโดยใช้ข้อมูลเดียวกันสำหรับชั้นป้อนเข้าและชั้นขาออก เมื่อข้อมูลการฝึกเป็นมูลค่าจริงและไม่มีการแบ่งเป็นช่วง ฟังก์ชันกระตุ้นของชั้นขาออกมักจะถูกเลือกเป็นฟังก์ชันเอกลักษณ์ (นั่นคือชั้นขาออกเป็นการแปลงเชิงเส้น) หากเราเลือกใช้ฟังก์ชันเอกลักษณะเป็นฟังก์ชันกระตุ้นของชั้นตรงกลาง ผลลัพธ์จะแทบไม่ต่างจากการวิเคราะห์องค์ประกอบหลัก ในทางปฏิบัติวิธีนี้สามารถใช้เพื่อทำการตรวจหาความผิดปกติโดยพิจารณาความแตกต่างระหว่างค่าข้อมูลป้อนเข้าและข้อมูลขาออก
ลักษณะเด่นและข้อจำกัด.
ตัวเข้ารหัสอัตโนมัติได้รับการออกแบบให้มีคุณสมบัติที่จำเป็นสำหรับการลดมิติ
โครงสร้างภายในตัวเข้ารหัสอัตโนมัติถูกออกแบบให้จำนวนขนาดของชั้นที่ซ่อนอยู่ <math>d_m</math> มีขนาดเล็กกว่าจำนวนของชั้นป้อนเข้าและชั้นขาออก <math>d_{i,o}</math> เนื่องจากว่าถ้าหาก <math>d_{i,o} \leqq d_m</math> แล้ว ตัวเข้ารหัสอัตโนมัติจะสามารถทำให้ผิดพลาดในการสร้างใหม่เป็นศูนย์ได้โดยใช้เพียงการแปลงเอกลักษณ์เท่านั้น
ตัวเข้ารหัสอัตโนมัติสามารถทำการลดมิติข้อมุลลง แต่ไม่ได้หมายความว่าจะสามารถใช้เป็นการเรียนรู้ต้วแทนที่ดีเสมอไป การลดค่า <math>d_m</math> ลงจะทำให้คงไว้แค่ค่าลักษณะที่มีปริมาณข้อมูลมากภายในค่าป้อนเข้า เรียกว่าเป็นการบีบอัดคงข้อมูลหลัก
ทฤษฎี.
ได้มีการวิเคราะห์ทางทฤษฎีถึงเหตุผลที่การเข้ารหัสอัตโนมัติสามารถเรียนรู้การสร้างใหม่พร้อมทั้งทำการลดมิติได้
= AE_{\phi,\theta}(x)
= NN_{\theta}(NN_{\phi}(x))
</math>
การตีความเชิงความน่าจะเป็น.
ตัวเข้ารหัสอัตโนมัติถือได้ว่าเป็นแบบจำลองตัวแปรแฝงเชิงลึกประเภทหนึ่งจากมุมมองของ แบบจำลองความน่าจะเป็น และสามารถเขียนเป็นสูตรได้ดังต่อไปนี้
 <math>\begin{align}
z_{|x} \sim p_\phi(Z|X)
& = p(Z|\lambda = NN_\phi(X))
= \delta(Z - NN_\phi(X)) \\
\hat{x}_{|z} \sim p_\theta(\hat{X}|Z)
& = p(\hat{X}|\mu = NN_\theta(Z))
</math>
นั่นคือสามารถอธิบายได้ว่า <math>NN_{\phi}(x), NN_{\theta}(x)</math> จะให้ค่าพารามิเตอร์การแจกแจง <math>\lambda, \mu
</math> โดยการแจกแจง เมื่อใช้ <math>NN_{\phi}(x), NN_{\theta}(x)</math> ร่วมกันภายในตัวเข้ารหัสอัตโนมัติสามารถแสดงได้ในรูปนิพจน์ความน่าจะเป็นดังต่อไปนี้:
 <math>\hat{x}_{|x} \sim
p(\hat{X} | \mu = AE_{\phi,\theta}(X))
</math>
ฟังก์ชันการสูญเสียต่าง ๆ รวมถึงค่าคลาดเคลื่อนกำลังสองเฉลี่ย (MSE, L2) ถูกนำมาใช้เชิงประจักษ์ (จากมุมมองที่กำหนด) สำหรับการเรียนรู้ของตัวเข้ารหัสอัตโนมัติ ผลที่ได้เป็นเพียงเชิงประจักษ์และไม่อาจรับประกันได้ว่าการเรียนรู้จะสิ้นสุดโดยลู่เข้าเสมอไป
แบบจำลองการแจกแจงแบบปรกติความแปรปรวนคงที่.
เมื่อพิจารณาการแจกแจงแบบปกติที่มีความแปรปรวนคงที่ <math>N(X|\mu_\theta, \sigma)</math> ค่าลบของลอการิทึมภาวะน่าจะเป็น <math>L_{n}(\theta)</math> จะได้เป็น:
 <math>L_n(\theta) 
= \frac{\| x - \mu_\theta \|^2}{2\sigma^2} - \log(\sqrt{2 \pi \sigma^2})
\propto \| x - \mu_\theta \|^2
</math>
ซึ่งสามารถตีความได้ว่าเป็นค่าคลาดเคลื่อนกำลังสองของ <math>x
</math> และ <math>\mu_\theta
</math> นั่นคือการทำให้ค่าลบของลอการิทึมภาวะน่าจะเป็นของ <math>N(X|\mu_\theta=AE_{\phi,\theta}(x), \sigma)</math> มีค่าต่ำสุด ถือได้ว่าเทียบเท่ากับการทำให้ค่าคลาดเคลื่อนกำลังสองของ <math>\hat{x} = AE_{\phi,\theta}(x)
</math> มีค่าต่ำสุด กล่าวอีกนัยหนึ่งคือ แบบจำลองการเข้ารหัสอัตโนมัติที่ได้รับการฝึกให้เรียนรู้โดยมีค่าคลาดเคลื่อนกำลังสองสามารถมองได้ว่าเป็น แบบจำลองสุ่มตัวอย่างค่าความถี่สูงสุดจากการแจกแจงแบบปรกติความแปรปรวนคงที่ซึ่งถูกประมาณว่าภาวะน่าจะเป็นสูงสุด <math>N(X|\mu_\theta=AE_{\phi,\theta}(x), \sigma)</math>