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

**ตัวเข้ารหัสอัตโนมัติ** (autoencoder) เป็นขั้นตอนวิธีสำหรับการลดมิติโดยใช้โครงข่ายประสาทเทียมในการเรียนรู้ของเครื่อง วิธีนี้ถูกเสนอครั้งแรกโดยเจฟฟรีย์ ฮินตันในปี 2006

## ภาพรวม
right|250x250px
ตัวเข้ารหัสอัตโนมัติเป็นโครงข่ายประสาทเทียมสามชั้นที่ทำการเรียนรู้แบบไม่มีผู้สอนโดยใช้ข้อมูลเดียวกันสำหรับชั้นป้อนเข้าและชั้นขาออก เมื่อข้อมูลการฝึกเป็นมูลค่าจริงและไม่มีการแบ่งเป็นช่วง ฟังก์ชันกระตุ้นของชั้นขาออกมักจะถูกเลือกเป็นฟังก์ชันเอกลักษณ์ (นั่นคือชั้นขาออกเป็นการแปลงเชิงเส้น) หากเราเลือกใช้ฟังก์ชันเอกลักษณะเป็นฟังก์ชันกระตุ้นของชั้นตรงกลาง ผลลัพธ์จะแทบไม่ต่างจากการวิเคราะห์องค์ประกอบหลัก ในทางปฏิบัติวิธีนี้สามารถใช้เพื่อทำการตรวจหาความผิดปกติโดยพิจารณาความแตกต่างระหว่างค่าข้อมูลป้อนเข้าและข้อมูลขาออก

## ลักษณะเด่นและข้อจำกัด
ตัวเข้ารหัสอัตโนมัติได้รับการออกแบบให้มีคุณสมบัติที่จำเป็นสำหรับการลดมิติ

โครงสร้างภายในตัวเข้ารหัสอัตโนมัติถูกออกแบบให้จำนวนขนาดของชั้นที่ซ่อนอยู่ d_m มีขนาดเล็กกว่าจำนวนของชั้นป้อนเข้าและชั้นขาออก d_{i,o} เนื่องจากว่าถ้าหาก d_{i,o} \leqq d_m แล้ว ตัวเข้ารหัสอัตโนมัติจะสามารถทำให้ผิดพลาดในการสร้างใหม่เป็นศูนย์ได้โดยใช้เพียงการแปลงเอกลักษณ์เท่านั้น

ตัวเข้ารหัสอัตโนมัติสามารถทำการลดมิติข้อมุลลง แต่ไม่ได้หมายความว่าจะสามารถใช้เป็นการเรียนรู้ต้วแทนที่ดีเสมอไป การลดค่า d_m ลงจะทำให้คงไว้แค่ค่าลักษณะที่มีปริมาณข้อมูลมากภายในค่าป้อนเข้า เรียกว่าเป็นการบีบอัดคงข้อมูลหลัก

## ทฤษฎี
ได้มีการวิเคราะห์ทางทฤษฎีถึงเหตุผลที่การเข้ารหัสอัตโนมัติสามารถเรียนรู้การสร้างใหม่พร้อมทั้งทำการลดมิติได้

โครงข่ายตัวเข้ารหัสอัตโนมัติ AE_{\phi,\theta}(x) ประกอบขึ้นจากโครงข่ายตัวเข้ารหัส NN_{\phi}(x) และโครงข่ายตัวถอดรหัส NN_{\theta}(x) ในการตีความเชิงกำหนด AE จะให้ข้อมูลที่สร้างขึ้นใหม่จากข้อมูลขาเข้าที่ป้อนเข้าไปโดยตรง นั่นคือ \hat{x}
= AE_{\phi,\theta}(x)
= NN_{\theta}(NN_{\phi}(x))


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

: \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))
\end{align}



นั่นคือสามารถอธิบายได้ว่า NN_{\phi}(x), NN_{\theta}(x) จะให้ค่าพารามิเตอร์การแจกแจง \lambda, \mu
 และได้ค่า z, \hat{x}
 โดยการแจกแจง เมื่อใช้ NN_{\phi}(x), NN_{\theta}(x) ร่วมกันภายในตัวเข้ารหัสอัตโนมัติสามารถแสดงได้ในรูปนิพจน์ความน่าจะเป็นดังต่อไปนี้:

: \hat{x}_{|x} \sim
p(\hat{X} | \mu = AE_{\phi,\theta}(X))



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

#### แบบจำลองการแจกแจงแบบปรกติความแปรปรวนคงที่
เมื่อพิจารณาการแจกแจงแบบปกติที่มีความแปรปรวนคงที่ N(X|\mu_\theta, \sigma) ค่าลบของลอการิทึมภาวะน่าจะเป็น L_{n}(\theta) จะได้เป็น:

: L_n(\theta) 
= \frac{\| x - \mu_\theta \|^2}{2\sigma^2} - \log(\sqrt{2 \pi \sigma^2})
\propto \| x - \mu_\theta \|^2


ซึ่งสามารถตีความได้ว่าเป็นค่าคลาดเคลื่อนกำลังสองของ  x
 และ \mu_\theta
 นั่นคือการทำให้ค่าลบของลอการิทึมภาวะน่าจะเป็นของ N(X|\mu_\theta=AE_{\phi,\theta}(x), \sigma) มีค่าต่ำสุด ถือได้ว่าเทียบเท่ากับการทำให้ค่าคลาดเคลื่อนกำลังสองของ \hat{x} = AE_{\phi,\theta}(x)
 มีค่าต่ำสุด กล่าวอีกนัยหนึ่งคือ แบบจำลองการเข้ารหัสอัตโนมัติที่ได้รับการฝึกให้เรียนรู้โดยมีค่าคลาดเคลื่อนกำลังสองสามารถมองได้ว่าเป็น แบบจำลองสุ่มตัวอย่างค่าความถี่สูงสุดจากการแจกแจงแบบปรกติความแปรปรวนคงที่ซึ่งถูกประมาณว่าภาวะน่าจะเป็นสูงสุด N(X|\mu_\theta=AE_{\phi,\theta}(x), \sigma)

## อ้างอิง

หมวดหมู่:การเรียนรู้แบบไม่มีผู้สอน
หมวดหมู่:โครงข่ายประสาทเทียม