พื้นฐาน AI

Autoencoder คืออะไร?

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

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

การคัดลอกอินพุตอย่างสมบูรณ์ไม่จำเป็นต้องเป็นประโยชน์โดยอัตโนมัติ สถาปัตยกรรมหรือวัตถุประสงค์ต้องสร้างคอแคบ (bottleneck), เพิ่มสัญญาณรบกวน, กำหนดความแออัด (sparsity) หรือวิธีอื่นเพื่อป้องกันการแมปแบบอัตลักษณ์อย่างง่าย เพื่อให้รหัสซ่อนเก็บโครงสร้างที่มีประโยชน์

ประเด็นสำคัญ

  • ตัวเข้ารหัสทำการบีบอัดหรือแปลงอินพุต; ตัวถอดรหัสทำการสร้างสรรค์ใหม่จากรหัสซ่อน
  • คอแคบที่มีขนาดต่ำกว่า (undercomplete bottleneck), สัญญาณรบกวน หรือการทำให้เป็นระเบียบ (regularization) ส่งเสริมให้โมเดลเรียนรู้โครงสร้างแทนการคัดลอก
  • ความผิดพลาดในการสร้างสรรค์สามารถใช้สนับสนุนการตรวจจับความผิดปกติได้ แต่ความผิดปกติไม่ได้รับประกันว่าจะมีค่าความผิดพลาดสูง
  • Variational autoencoders (VAE) เรียนรู้โมเดลซ่อนแบบความน่าจะเป็นและแตกต่างจาก deterministic autoencoders
What is an Autoencoder? diagram showing input, encoder, latent code, decoder, reconstruction, loss
คอแคบและวัตถุประสงค์กำหนดว่าการแทนค่าจะรักษาข้อมูลอะไรไว้

ตัวเข้ารหัส, พื้นที่ซ่อนและตัวถอดรหัส

สำหรับอินพุต x ตัวเข้ารหัสจะสร้างรหัสซ่อน z = f(x) และตัวถอดรหัสจะสร้างการสร้างสรรค์ x̂ = g(z) ค่าการสูญเสียจะเปรียบเทียบ x กับ x̂ เช่นโดยใช้ค่าเฉลี่ยกำลังสอง (mean squared error) สำหรับค่าต่อเนื่องหรือความน่าจะเป็นที่เหมาะสมกับข้อมูล

มิติของรหัสซ่อนอาจเล็กกว่าขนาดอินพุต ทำให้เกิด undercomplete autoencoder เครือข่ายลึกยังสามารถเรียนรู้การแทนค่าที่ไม่เชิงเส้นต่อเนื่องจากแนวคิดของ dimensionality reduction

รูปแบบ autoencoder ที่พบบ่อย

Sparse autoencoder จะลงโทษการกระตุ้นที่กระจายกว้างขวาง. Denoising autoencoder รับอินพุตที่เสียหายและสร้างสรรค์เวอร์ชันที่สะอาด. Contractive autoencoder จะลงโทษความไวของรหัสต่อการเปลี่ยนแปลงเล็กน้อยของอินพุต.

Variational autoencoder (VAE) จะเข้ารหัสพารามิเตอร์ของการแจกแจงความน่าจะเป็น, สุ่มค่าซ่อนและทำสมดุลระหว่างการสร้างสรรค์กับเทอมการทำให้เป็นระเบียบที่กำหนดรูปแบบของพื้นที่ซ่อน สิ่งนี้สนับสนุนการสุ่มตัวอย่างแต่เปลี่ยนวัตถุประสงค์และการตีความ

การฝึกและการหลีกเลี่ยงวิธีแก้ไขแบบง่าย

Autoencoders ใช้ backpropagation เช่นเดียวกับ neural networks อื่น ๆ เครือข่ายที่มีความจุมากเกินไปอาจจำตัวอย่างการฝึกหรือเรียนรู้ฟังก์ชันใกล้เคียงกับอัตลักษณ์ ขนาดคอแคบ, การทำให้เสีย, การลงโทษและการตรวจสอบบนข้อมูลที่ไม่เคยเห็นจะจำกัดมัน

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

การใช้งานและข้อจำกัด

Autoencoders สามารถเรียนรู้คุณลักษณะ, กำจัดสัญญาณรบกวน, บีบอัดข้อมูล, เริ่มต้นโมเดลและสร้างตัวแปรซ่อนสำหรับการแสดงผล สำหรับการตรวจจับความผิดปกติ โมเดลที่ฝึกด้วยข้อมูลปกติอาจให้ค่าความผิดพลาดการสร้างสรรค์สูงกว่าสำหรับอินพุตที่ไม่ปกติ

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

Autoencoders กับโมเดลเชิงสร้างสรรค์อื่น ๆ

Deterministic autoencoder ไม่ได้หมายความว่าจะเป็นโมเดลเชิงสร้างสรรค์แบบความน่าจะเป็น VAEs กำหนดการแจกแจงซ่อนแบบมีโครงสร้าง; GANs ฝึกตัวสร้างเทียบกับตัวจำแนก; โมเดลการกระจาย (diffusion models) เรียนรู้กระบวนการกำจัดสัญญาณรบกวน

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

วัตถุประสงค์ของตัวเข้ารหัส–ตัวถอดรหัสและการแทนค่าซ่อน

Autoencoder เรียนรู้ตัวเข้ารหัสที่แมปอินพุต x ไปยังรหัสซ่อน z และตัวถอดรหัสที่สร้างสรรค์ x จาก z หากความจุไม่มีข้อจำกัด มันอาจเรียนรู้การแมปอัตลักษณ์โดยไม่มีโครงสร้างที่มีประโยชน์ คอแคบ, การทำให้เป็นระเบียบ, การทำให้เสีย, ความแออัด, หรือข้อจำกัดด้านสถาปัตยกรรมบังคับให้การแทนค่าที่รักษาข้อมูลที่เลือกไว้ ค่าการสูญเสียการสร้างสรรค์กำหนดว่าความคล้ายคลึงคืออะไร: mean squared error ให้ความสำคัญกับความแม่นยำของพิกเซลโดยเฉลี่ย, ในขณะที่การสูญเสียเชิงรับรู้หรือเฉพาะโหมดเน้นคุณลักษณะที่แตกต่าง ค่าการสูญเสียต่ำไม่ได้รับประกันความหมายเชิงความหมาย

Undercomplete autoencoders จำกัดมิติของรหัสซ่อน. Denoising autoencoders สร้างสรรค์ข้อมูลที่สะอาดจากอินพุตที่เสียหาย. รูปแบบ sparse ลงโทษการกระตุ้น; รูปแบบ contractive ลงโทษความไว. Variational autoencoders เรียนรู้การแจกแจงซ่อนแบบความน่าจะเป็นโดยรวมการสร้างสรรค์กับเทอมความเบี่ยงเบน ทำให้สามารถสุ่มตัวอย่างได้แต่เปลี่ยนวัตถุประสงค์. Autoencoders แบบ convolutional, sequence, graph, และ transformer เข้ารหัสโครงสร้างของโหมด. เลือกขนาดซ่อนและการทำให้เป็นระเบียบผ่านการตรวจสอบ downstream ไม่ใช่แค่กราฟสองมิติที่ดูดี

การตรวจจับความผิดปกติ, การบีบอัด, และการประเมินผล

สำหรับการตรวจจับความผิดปกติ ฝึกบนข้อมูลปกติที่เป็นตัวแทนและให้คะแนนความผิดพลาดการสร้างสรรค์หรือความน่าจะเป็นของซ่อน แต่ความผิดปกติบางครั้งอาจสร้างสรรค์ได้ดีและกรณีปกติที่หายากอาจสร้างสรรค์ได้แย่ เลือกเกณฑ์บนกรณีตรวจสอบที่มีการระบุหรือรีวิว รายงานการเรียกคืนระดับเหตุการณ์และการเตือนเท็จ และทดสอบการเปลี่ยนแปลงในสภาวะการทำงาน เปรียบเทียบกับสถิติพื้นฐานและโมเดลหนึ่งคลาส สำหรับการบีบอัด ให้คำนวณ codec ทั้งหมดรวมถึงขนาดโมเดล, การควอนไทซ์, เมตาดาต้า, และการคำนวณการถอดรหัส และเปรียบเทียบคุณภาพที่อัตราบิตเทียบเท่ากับ codec ที่เป็นมาตรฐาน

คุณภาพของการแทนค่าสามารถประเมินได้ผ่านการตรวจสอบเชิงเส้น, ความเสถียรของการจัดกลุ่ม, การเรียกคืน, การสร้างสรรค์, และงาน downstream ซึ่งแต่ละอย่างตอบคำถามที่แตกต่างกัน หลีกเลี่ยงการรั่วไหลเมื่อเรียนรู้ตัวเข้ารหัสและเลือกเกณฑ์ ตรวจสอบว่าคุณลักษณะใดที่ค่าการสูญเสียละเลยและว่าลักษณะที่ละเอียดอ่อนยังคงถูกเข้ารหัสหรือไม่ รหัสซ่อนที่บีบอัดไม่ได้หมายความว่าจะเป็นนิรนามโดยอัตโนมัติ การย้อนกลับและการสรุปลักษณะอาจกู้ข้อมูลส่วนตัวได้ การสร้างสรรค์ที่สร้างขึ้นอาจดูสมเหตุสมผลในขณะที่เปลี่ยนแปลงรายละเอียดสำคัญ

การปรับใช้และการตรวจสอบ

เวอร์ชันตัวเข้ารหัสและตัวถอดรหัสควรอัปเดตพร้อมกัน ตรวจสอบการเปลี่ยนแปลงเชิงตัวเลขหลังการส่งออกและรักษาการสเกลอินพุต ตรวจสอบการกระจายของการสร้างสรรค์, การเปลี่ยนแปลงของซ่อน (latent drift), การแจ้งเตือนเกณฑ์, และผลลัพธ์ที่ยืนยัน ในการตรวจสอบอุตสาหกรรม ให้กำหนดเงื่อนไขโมเดลตามโหมดการทำงานเพื่อให้การเปลี่ยนแปลงปกติไม่ถูกพิจารณาว่าเป็นข้อบกพร่อง สำหรับการสร้างสรรค์ทางการแพทย์หรือวิทยาศาสตร์ อย่าแสดงรายละเอียดที่สร้างขึ้นเป็นหลักฐานที่วัดได้โดยไม่มีการตรวจสอบและที่มาของข้อมูล Autoencoders เป็นผู้เรียนรู้การแทนค่าที่ยืดหยุ่น แต่ข้อจำกัดและค่าการสูญเสีย—not ชื่อสถาปัตยกรรม—กำหนดว่าข้อมูลใดจะถูกเก็บ, ทิ้ง หรือสร้างขึ้นใหม่

ตัวอย่างการทำงาน: autoencoder สำหรับการตรวจจับความผิดปกติของปั๊ม

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

โมเดลการผลิตกำหนดเงื่อนไขตามสถานะการทำงานและเปิดเผยรูปแบบส่วนเหลือให้วิศวกรเห็น ความผิดพลาดสูงเรียกร้องการตรวจสอบ; มันไม่วินิจฉัยส่วนหรือหยุดปั๊มโดยอัตโนมัติ การตัดการเชื่อมต่อของเซ็นเซอร์, การคลิป, และโหลดที่ไม่เคยเห็นทำให้เกิดสถานะที่ไม่ถูกต้องอย่างชัดเจน การตรวจสอบติดตามการกระจายของการสร้างสรรค์, การยืนยันการแจ้งเตือน, และสุขภาพของเซ็นเซอร์ เมื่อการบำรุงรักษาหรือฮาร์ดแวร์เปลี่ยนฐานข้อมูล โมเดลเก่ายังคงใช้งานได้ในขณะที่ผู้สมัครถูกฝึกบนข้อมูลที่ตรวจสอบและทำซ้ำกับเหตุการณ์ในอดีต

หลักฐานการนำไปใช้และความพร้อมในการดำเนินงาน

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

ก่อนเปิดใช้งาน ให้มอบอำนาจสำหรับการปล่อย, ข้อยกเว้น, การเปลี่ยนแปลง, การย้อนกลับ, และการยกเลิก ใช้การเปิดตัวแบบขั้นตอน, รักษาการสำรองที่ปลอดภัย, และตรวจสอบการตรวจสอบด้วยการฉีดข้อบกพร่องโดยเจตนา Telemetry การดำเนินงานควรเปิดเผยคุณภาพอินพุต, พฤติกรรมเอาต์พุต, เวอร์ชันโมเดลหรือกฎ, สถานะข้อพึ่งพา, การแทรกแซงของมนุษย์, และผลลัพธ์ที่ยืนยันโดยไม่เก็บข้อมูลที่ละเอียดอ่อนที่ไม่จำเป็น กำหนดเกณฑ์การแจ้งเตือนและเจ้าของการตอบสนอง, จากนั้นตรวจสอบหลักฐานจากโลกจริงหลังการปรับใช้แทนการสันนิษฐานว่าประสิทธิภาพออฟไลน์จะคงอยู่ ประเมินใหม่เมื่อแหล่งข้อมูล, ผู้ใช้, โมเดล, ผู้จำหน่าย, นโยบาย, ฮาร์ดแวร์, หรือวัตถุประสงค์เปลี่ยนแปลง ระบบที่ดูแลต้องมีเอกสารการกู้คืน, การเรียนรู้จากเหตุการณ์, ขั้นตอนการลบและการเก็บรักษา, และจุดชัดเจนที่ควรปิดหรือแทนที่

คำถามที่พบบ่อย

Autoencoder เป็นการบีบอัดแบบไม่มีการสูญเสียหรือไม่?

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

คอแคบทุกตัวสามารถอธิบายได้หรือไม่?

ไม่ การรหัสที่กะทัดรัดอาจมีประโยชน์โดยที่แต่ละมิติไม่ได้แมปกับแนวคิดที่มนุษย์อ่านได้

อ้างอิงหลัก

นักบล็อกและโปรแกรมเมอร์ที่มีความเชี่ยวชาญใน Machine Learning และ Deep Learning หัวข้อ Daniel หวังที่จะช่วยให้ผู้อื่นใช้พลังของ AI สำหรับสิ่งที่ดี