พื้นฐาน AI
ออโต้เอนโค더คืออะไร
หากคุณเคยอ่านเกี่ยวกับเทคนิคการเรียนรู้ที่ไม่มีการกำกับก่อนหน้านี้ คุณอาจเคยพบคำว่า “ออโต้เอนโคเดอร์” ออโต้เอนโคเดอร์เป็นวิธีการพัฒนามอเดลการเรียนรู้ที่ไม่มีการกำกับหลักๆ วิธีหนึ่ง แต่สิ่งใดคือออโต้เอนโคเดอร์โดยเฉพาะ?
โดยย่อ ออโต้เอนโคเดอร์ทำงานโดยการรับข้อมูล การบีบอัดและการเข้ารหัสข้อมูล และจากนั้นสร้างข้อมูลขึ้นมาใหม่จากตัวแทนการเข้ารหัส มอเดลจะถูกฝึกจนกว่าความสูญเสียจะถูกย่อให้เล็กสุดและข้อมูลจะถูกสร้างขึ้นใหม่ให้ใกล้เคียงกับข้อมูลเดิมมากที่สุด ผ่านกระบวนการนี้ ออโต้เอนโคเดอร์สามารถเรียนรู้คุณลักษณะที่สำคัญของข้อมูลได้ ในขณะที่นี่คือคำจำกัดความที่รวดเร็วของออโต้เอนโคเดอร์ จะมีประโยชน์หากเราจะมองใกล้ๆ ออโต้เอนโคเดอร์และเข้าใจวิธีการทำงานของพวกมันมากขึ้น บทความนี้จะพยายามทำให้ออโต้เอนโคเดอร์ไม่น่ากลัว โดยอธิบายโครงสร้างของออโต้เอนโคเดอร์และการประยุกต์ใช้ของพวกมัน
อะไรคือออโต้เอนโคเดอร์?
ออโต้เอนโคเดอร์ คือเครือข่ายประสาทเทียม เครือข่ายประสาทเทียมประกอบด้วยหลายชั้น และคุณลักษณะที่กำหนดของออโต้เอนโคเดอร์คือชั้นการเข้าไม่มีข้อมูลมากเท่ากับชั้นการออกผลลัพธ์ สาเหตุที่ชั้นการเข้าและชั้นการออกผลลัพธ์มีหน่วยมากเท่ากันคือว่าออโต้เอนโคเดอร์มีจุดมุ่งหมายเพื่อสร้างข้อมูลที่เข้ามาใหม่ ออโต้เอนโคเดอร์จะสร้างข้อมูลที่เข้ามาใหม่หลังจากวิเคราะห์และสร้างข้อมูลขึ้นมาใหม่ด้วยวิธีการที่ไม่มีการกำกับ
ข้อมูลที่ผ่านเข้าไปในออโต้เอนโคเดอร์ไม่ได้ถูกส่งตรงจากชั้นการเข้าไปยังชั้นการออกผลลัพธ์ โดยเครือข่ายไม่ได้แค่คัดลอกข้อมูลที่เข้ามา มีส่วนประกอบสามส่วนในออโต้เอนโคเดอร์ ได้แก่ ส่วนการเข้ารหัส (การเข้า) ที่บีบอัดข้อมูล ส่วนจัดการข้อมูลที่บีบอัด (หรือจุดขวด) และส่วนการถอดรหัส (การออกผลลัพธ์) เมื่อข้อมูลถูกส่งเข้าไปในออโต้เอนโคเดอร์ ข้อมูลจะถูกเข้ารหัสและบีบอัดให้เล็กลง เครือข่ายจะถูกฝึกอบรมบนข้อมูลที่เข้ารหัส/บีบอัด และจะสร้างข้อมูลขึ้นมาใหม่
ทำไมเราต้องการฝึกเครือข่ายให้สร้างข้อมูลที่เข้ามาใหม่โดยไม่มีการเปลี่ยนแปลง? สาเหตุก็คือเครือข่ายเรียนรู้ “แก่นแท้” หรือคุณลักษณะที่สำคัญที่สุดของข้อมูลที่เข้ามา หลังจากที่เครือข่ายถูกฝึกอบรมแล้ว โมเดลสามารถสร้างข้อมูลที่คล้ายกันได้ โดยการเพิ่มหรือลบคุณลักษณะที่ต้องการได้ ตัวอย่างเช่น คุณสามารถฝึกออโต้เอนโคเดอร์บนภาพที่มีเสียงรบกวน และใช้โมเดลที่ฝึกอบรมแล้วเพื่อลบเสียงรบกวนออกจากภาพ
โครงสร้างของออโต้เอนโคเดอร์
มาดูกันโครงสร้างของออโต้เอนโคเดอร์กัน เราจะพูดถึงโครงสร้างหลักของออโต้เอนโคเดอร์ มีการเปลี่ยนแปลงโครงสร้างนี้ที่เราจะพูดถึงในหัวข้อต่อไป

ภาพ: Michela Massi via Wikimedia Commons,(https://commons.wikimedia.org/wiki/File:Autoencoder_schema.png)
ตามที่กล่าวไว้ก่อนหน้านี้ ออโต้เอนโคเดอร์สามารถแบ่งออกเป็นสามส่วนได้ ได้แก่ ส่วนการเข้ารหัส จุดขวด และส่วนการถอดรหัส
ส่วนการเข้ารหัสของออโต้เอนโคเดอร์เป็นเครือข่ายที่เชื่อมต่อกันแบบฟีดฟอร์เวิร์ด โดยมีจุดมุ่งหมายเพื่อสร้างตัวแทนข้อมูลที่มีขนาดเล็กลง ส่วนการเข้ารหัสจะรับข้อมูลที่เข้ามาและบีบอัดให้เล็กลง
ส่วนจุดขวดหรือส่วนจัดการข้อมูลที่บีบอัด จะจัดการกับตัวแทนข้อมูลที่บีบอัด ส่วนจุดขวดจะพิจารณาว่าคุณลักษณะใดของข้อมูลที่สำคัญที่สุด และควรเก็บหรือทิ้งไป ส่วนจุดขวดทำการกระตุ้นแบบอีเลเมนต์ไวส์บนหน่วยและความลำเอียงของเครือข่าย ส่วนจุดขวดเรียกอีกชื่อว่าส่วนการแสดงตัวแปรแบบ 잠재หรือตัวแปรแบบ 잠재
ส่วนการถอดรหัสเป็นส่วนที่รับผิดชอบในการสร้างข้อมูลที่บีบอัดให้กลายเป็นตัวแทนข้อมูลที่มีขนาดเดียวกับข้อมูลที่เข้ามา ส่วนการถอดรหัสจะทำการแปลงข้อมูลที่บีบอัดกลับเป็นข้อมูลที่มีขนาดเดิมโดยใช้ตัวแทนข้อมูลที่สร้างโดยส่วนการเข้ารหัส
โครงสร้างพื้นฐานของออโต้เอนโคเดอร์คือโครงสร้างแบบฟีดฟอร์เวิร์ด โดยมีโครงสร้างคล้ายกับเพอร์เซปตรอนแบบซิงเกิลเลเยอร์ที่ใช้ในเครือข่ายประสาทเทียมแบบหลายเลเยอร์ เช่นเดียวกับเครือข่ายประสาทเทียมแบบฟีดฟอร์เวิร์ดทั่วไป ออโต้เอนโคเดอร์จะถูกฝึกอบรมโดยใช้การถอยหลัง
คุณลักษณะของออโต้เอนโคเดอร์
มีออโต้เอนโคเดอร์หลายประเภท แต่ทั้งหมดมีคุณลักษณะที่เหมือนกัน
ออโต้เอนโคเดอร์เรียนรู้โดยอัตโนมัติ ไม่ต้องการป้ายกำกับ และหากได้รับข้อมูลเพียงพอ ก็สามารถทำให้ออโต้เอนโคเดอร์ทำงานได้ดีบนข้อมูลที่เข้ามา
ออโต้เอนโคเดอร์ขึ้นอยู่กับข้อมูล ซึ่งหมายความว่าสามารถบีบอัดข้อมูลที่คล้ายกับข้อมูลที่ออโต้เอนโคเดอร์เคยฝึกอบรมมาก่อน ออโต้เอนโคเดอร์ยังขาดความสมบูรณ์ ซึ่งหมายความว่าผลลัพธ์ของโมเดลจะเสื่อมลงเมื่อเทียบกับข้อมูลที่เข้ามา
เมื่อออกแบบออโต้เอนโคเดอร์ วิศวกรเครื่องมือจะพิจารณาไฮเปอร์พารามิเตอร์ของโมเดลสี่ตัว ได้แก่ ขนาดโค้ด จำนวนเลเยอร์ จำนวนโหนดต่อเลเยอร์ และฟังก์ชันความสูญเสีย
ขนาดโค้ดตัดสินว่าจะมีโหนดกี่ตัวที่เริ่มต้นส่วนกลางของเครือข่าย และโหนดที่น้อยกว่าจะบีบอัดข้อมูลมากขึ้น ในออโต้เอนโคเดอร์ที่ลึก โหนดในเลเยอร์ควรลดลงเมื่อเลเยอร์เข้ารหัสดำเนินไป ในทางกลับกัน จำนวนโหนดต่อเลเยอร์ควรเพิ่มขึ้นเมื่อเลเยอร์ถอดรหัสเข้าใกล้เลเยอร์สุดท้าย สุดท้าย ฟังก์ชันความสูญเสียของออโต้เอนโคเดอร์โดยทั่วไปจะเป็นเอนโทรปี้ครอสหรือความผิดพลาดเฉลี่ยของสี่เหลี่ยม
ประเภทของออโต้เอนโคเดอร์
ตามที่กล่าวไว้ก่อนหน้านี้ มีการเปลี่ยนแปลงโครงสร้างของออโต้เอนโคเดอร์แบบคลาสสิก มาดูกันประเภทต่างๆ ของออโต้เอนโคเดอร์กัน
แบบกระจาย

ภาพ: Michela Massi via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Autoencoder_sparso.png)
ในขณะที่ออโต้เอนโคเดอร์โดยทั่วไปจะมีจุดขวดที่บีบอัดข้อมูลโดยการลดจำนวนโหนด ออโต้เอนโคเดอร์แบบกระจาย เป็นทางเลือกหนึ่งสำหรับการทำงานแบบปกติ ในเครือข่ายแบบกระจาย เลเยอร์แบบซ่อนเร้นจะคงขนาดเท่ากับเลเยอร์เข้ารหัสและเลเยอร์ถอดรหัส แทนที่จะบีบอัดข้อมูลโดยการลดจำนวนโหนด การกระตุ้นภายในเลเยอร์จะถูกปรับโทษ โดยตั้งค่าให้การกระตุ้นที่มีประสิทธิภาพมากที่สุดจะถูกเก็บไว้ และอื่นๆ จะถูกเพิกเฉย การจำกัดนี้ช่วยให้เครือข่ายกำหนดคุณลักษณะที่สำคัญที่สุดของข้อมูลที่เข้ามา
แบบหดตัว
ออโต้เอนโคเดอร์แบบหดตัว ได้รับการออกแบบมาเพื่อความทนทานต่อการเปลี่ยนแปลงเล็กๆ น้อยๆ ของข้อมูล โดยการบังคับให้การแสดงตัวแปรแบบจำลองมีความสม่ำเสมอ สิ่งนี้ทำได้โดยการบวกโทษให้กับฟังก์ชันความสูญเสีย เทคนิคการปรับให้เหมาะสมนี้ขึ้นอยู่กับบรรทัดฐานของ Frobenius ของเมทริกซ์ Jacobian สำหรับการกระตุ้นการเข้ารหัสของอินพุต ผลของเทคนิคการปรับให้เหมาะสมนี้คือโมเดลถูกบังคับให้สร้างการเข้ารหัสที่มีลักษณะคล้ายกันสำหรับอินพุตที่คล้ายกัน
แบบโคนโวลูชัน
ออโต้เอนโคเดอร์แบบโคนโวลูชันเข้ารหัสข้อมูลที่เข้ามาโดยการแบ่งข้อมูลออกเป็นชิ้นเล็กๆ แล้วแปลงชิ้นเหล่านั้นเป็นสัญญาณที่เรียบง่ายซึ่งถูกบวกเข้าด้วยกันเพื่อสร้างการแสดงตัวแปรแบบจำลองใหม่ เช่นเดียวกับเครือข่ายโคนโวลูชันแบบニューラล์ ออโต้เอนโคเดอร์แบบโคนโวลูชันเชี่ยวชาญในการเรียนรู้ข้อมูลภาพ และใช้ฟิลเตอร์ที่ถูกเลื่อนข้ามภาพทั้งหมดทีละส่วน ฟิลเตอร์ที่สร้างโดยเลเยอร์การเข้ารหัสสามารถใช้เพื่อสร้างภาพขึ้นมาใหม่ สะท้อนภาพ หรือปรับเปลี่ยนเรขาคณิตของภาพ เมื่อฟิลเตอร์เหล่านี้ถูกเรียนรู้โดยเครือข่ายแล้ว สามารถใช้กับอินพุตที่คล้ายกันได้เพื่อแยกคุณลักษณะของภาพ
แบบลดเสียงรบกวน

ภาพ: MAL via Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:ROF_Denoising_Example.png)
ออโต้เอนโคเดอร์แบบลดเสียงรบกวนจะใส่เสียงรบกวนลงในข้อมูลที่เข้ามา ทำให้การเข้ารหัสเป็นตัวแทนของข้อมูลที่เข้ามาแบบบดบัง ซึ่งใช้ในการฝึกอบรมโมเดล แต่ฟังก์ชันความสูญเสียจะเทียบค่าผลลัพธ์กับข้อมูลที่เข้ามาแบบไม่บดบัง ไม่ใช่ข้อมูลที่บดบัง จุดมุ่งหมายคือเครือข่ายจะสามารถสร้างตัวแทนของข้อมูลที่ไม่บดบังแบบดั้งเดิมได้ โดยการเปรียบเทียบข้อมูลที่บดบangan กับข้อมูลที่เข้ามาแบบไม่บดบัง เครือข่ายจะเรียนรู้คุณลักษณะที่สำคัญที่สุดของข้อมูล และคุณลักษณะที่ไม่สำคัญ/เสียงรบกวน
แบบแปรผัน
ออโต้เอนโคเดอร์แบบแปรผัน ทำงานโดยการสร้างสมมติฐานเกี่ยวกับการกระจายตัวของตัวแปรแบบจำลองของข้อมูล ออโต้เอนโคเดอร์แบบแปรผันสร้างการกระจายความน่าจะเป็นสำหรับคุณลักษณะต่างๆ ของภาพที่ใช้ในการฝึกอบรม เมื่อฝึกอบรม เอนโคเดอร์จะสร้างการกระจายตัวแบบจำลองสำหรับคุณลักษณะต่างๆ ของภาพที่เข้ามา

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












