วัตถุประสงค์ของการเข้ารหัสอัตโนมัติคืออะไร?


10

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

ทำไมเราถึงต้องใส่ใจกับการลดขนาดโดยเฉพาะการใช้ระบบเข้ารหัสอัตโนมัติ? เหตุใดเราไม่ใช้ PCA เพียงอย่างเดียวหากจุดประสงค์คือลดขนาด

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


1
ดูคำถามต่อไปนี้stats.stackexchange.com/q/82416/82135ใน CrossValidated SE
nbro

คำตอบ:


6

เป็นสิ่งสำคัญที่จะต้องพิจารณาว่ารูปแบบใดในข้อมูลที่ถูกนำเสนอ

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

สมมติว่าคุณมีชุดข้อมูลของรูปภาพบิตแมปบิตแมป 128x128px ของวงกลมกึ่งกลางแทน ในฐานะที่เป็นสมองของมนุษย์คุณจะรู้ได้อย่างรวดเร็วว่าองค์ประกอบทั้งหมดในชุดข้อมูลนี้สามารถอธิบายได้อย่างสมบูรณ์ด้วยพารามิเตอร์ตัวเลขเดียวซึ่งเป็นรัศมีของวงกลม นั่นคือการลดระดับที่น่าประทับใจมากจาก 16,384 มิติและที่สำคัญกว่านั้นคือมันเป็นคุณสมบัติที่มีความหมายของข้อมูล อย่างไรก็ตาม PCA อาจไม่พบรูปแบบดังกล่าว

คำถามของคุณคือ "ทำไมเราไม่ใช้ PCA เพียงอย่างเดียวถ้าจุดประสงค์คือการลดขนาด?" คำตอบง่ายๆคือ PCA เป็นเครื่องมือที่ง่ายที่สุดสำหรับการลดขนาด แต่ก็สามารถพลาดความสัมพันธ์มากมายที่อาจมีเทคนิคที่ทรงพลังกว่าเช่นระบบเข้ารหัสอัตโนมัติ


3

กรณีการใช้งานของ autoencoders (โดยเฉพาะอย่างยิ่งของตัวถอดรหัสหรือรุ่นทั่วไปของ autoencoder) คือการ denoise อินพุต autoencoders ประเภทนี้เรียกว่าdenoising autoencodersรับอินพุตที่เสียหายบางส่วนและพวกเขาพยายามที่จะสร้างอินพุทที่ไม่เสียหายขึ้นมาใหม่ มีแอพพลิเคชั่นหลายตัวของรุ่นนี้ ตัวอย่างเช่นหากคุณมีภาพที่เสียหายคุณอาจกู้คืนภาพที่ไม่เสียหายโดยใช้ตัวเข้ารหัสอัตโนมัติ denoising

Autoencoders และ PCA เกี่ยวข้อง:

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

สำหรับข้อมูลเพิ่มเติมให้ดูที่กระดาษจาก Subspaces หลักไปจนถึงส่วนประกอบหลักพร้อมตัวเข้ารหัสเชิงเส้นอัตโนมัติ (2018) โดย Elad Plaut ดูคำตอบนี้ซึ่งอธิบายความสัมพันธ์ระหว่าง PCA และระบบเข้ารหัสอัตโนมัติ


3

PCA เป็นวิธีการเชิงเส้นที่สร้างการเปลี่ยนแปลงที่มีความสามารถในการเปลี่ยนประมาณการเวกเตอร์ (แกนเปลี่ยน)

เนื่องจาก PCA มองหาทิศทางของความแปรปรวนสูงสุดจึงมักจะมีการเลือกปฏิบัติสูงแต่ก็ไม่รับประกันว่าทิศทางของความแปรปรวนส่วนใหญ่จะเป็นทิศทางของการเลือกปฏิบัติส่วนใหญ่

LDA เป็นวิธีการเชิงเส้นที่สร้างการเปลี่ยนแปลงที่สามารถค้นหาทิศทางที่เกี่ยวข้องมากที่สุดในการตัดสินใจว่าเวกเตอร์เป็นของคลาส A หรือ B

PCA และ LDA มีเคอร์เนลเวอร์ชันที่ไม่ใช่เชิงเส้นซึ่งอาจเอาชนะข้อ จำกัด เชิงเส้นได้

ตัวเข้ารหัสอัตโนมัติสามารถทำการลดขนาดได้ด้วยฟังก์ชั่นการสูญเสียชนิดอื่นซึ่งไม่ใช่แบบเส้นตรงและอาจทำงานได้ดีกว่า PCA และ LDA ในหลายกรณี

อาจไม่มีขั้นตอนวิธีการเรียนรู้ของเครื่องที่ดีที่สุดที่จะทำอะไรบางครั้งการเรียนรู้อย่างลึกและโครงข่ายประสาทเป็นปัญหามากเกินไปสำหรับปัญหาที่ง่ายและ PCA และ LDA อาจลองก่อนอื่นลดขนาดที่ซับซ้อนมากขึ้น


1
LDA เกี่ยวข้องกับคำถามอะไร
nbro

LDA สามารถใช้เป็นการลดขนาด อัลกอริทึมดั้งเดิมนั้นได้มาจากการฉายเพียงครั้งเดียว แต่คุณสามารถใช้มันเพื่อลดทิศทางการเลือกปฏิบัติที่ต่ำกว่าสำหรับการสร้างแบบจำลอง acurate มากขึ้น
Pedro Henrique Monforte

PCA ไม่รับประกันความแปรปรวนสูงสุดเช่นกันเนื่องจากเป็นอัลกอริธึมโลภมันจะประมาณค่าสูงสุดเท่านั้น
Mathieu Bouville

PCA มีทางออกที่ปิดแกนหลักจะเป็นไปตามทิศทางของความแปรปรวนสูงสุด มันไม่ใช่อัลกอริทึมโลภ (แต่สามารถนำมาใช้เป็นหนึ่งได้)
Pedro Henrique Monforte

1
  1. จำเป็นต้องใช้ตัวถอดรหัสครึ่งหนึ่งเพื่อคำนวณฟังก์ชันการสูญเสียสำหรับการฝึกอบรมเครือข่าย คล้ายกับวิธี 'ปฏิปักษ์' ที่ยังคงมีความจำเป็นใน GAN แม้ว่าคุณจะสนใจในองค์ประกอบกำเนิดเท่านั้น
  2. Autoencoders สามารถเรียนรู้การฝังข้อมูลที่ไม่เป็นเชิงเส้นได้ดังนั้นจึงมีประสิทธิภาพมากกว่าวานิลลา PCA
  3. ระบบเข้ารหัสอัตโนมัติมีแอปพลิเคชั่นเกินกว่าการลดขนาด:
    • การสร้างจุดข้อมูลใหม่หรือทำการแก้ไข (ดู VAE)
    • สร้างตัวกรอง denoising (เช่นในการประมวลผลภาพ)
    • บีบอัด / คลายข้อมูล
    • การคาดการณ์ลิงก์ (เช่นในการค้นพบยา)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.