ต้นขั้ว RNN และ LSTM ใน Deep Learning คืออะไร - Unite.AI
เชื่อมต่อกับเรา
มาสเตอร์คลาส AI:

AI 101

RNN และ LSTM ใน Deep Learning คืออะไร

mm
วันที่อัพเดท on

ความก้าวหน้าที่น่าประทับใจที่สุดหลายประการในการประมวลผลภาษาธรรมชาติและแชทบอท AI ได้รับการขับเคลื่อนโดย Recurrent Neural Networks (RNN) และเครือข่ายหน่วยความจำระยะสั้นระยะยาว (LSTM) RNN และ LSTM เป็นสถาปัตยกรรมโครงข่ายประสาทเทียมแบบพิเศษที่สามารถประมวลผลข้อมูลตามลำดับ ข้อมูลที่ลำดับเวลามีความสำคัญ LSTM คือ RNN รุ่นที่ได้รับการปรับปรุงเป็นหลักสามารถตีความลำดับข้อมูลที่ยาวขึ้นได้ มาดูกันว่า RNN และ LSTMS มีโครงสร้างอย่างไร และช่วยให้สร้างระบบประมวลผลภาษาธรรมชาติที่ซับซ้อนได้อย่างไร

Feed-Forward Neural Networks คืออะไร?

ดังนั้น ก่อนที่เราจะพูดถึงวิธีการทำงานของ Long Short-Term Memory (LSTM) และ Convolutional Neural Networks (CNN) เราควรพูดถึงรูปแบบของโครงข่ายประสาทเทียมโดยทั่วไป

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

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

โครงข่ายประสาทเทียมแบบฟีดฟอร์เวิร์ดแบบปกติ เช่น โครงข่ายประสาทเทียมที่อธิบายไว้ข้างต้นมักเรียกว่า "โครงข่ายประสาทเทียมแบบหนาแน่น" โครงข่ายประสาทเทียมที่หนาแน่นเหล่านี้รวมกับสถาปัตยกรรมเครือข่ายที่แตกต่างกันซึ่งเชี่ยวชาญในการตีความข้อมูลประเภทต่างๆ

RNN คืออะไร (โครงข่ายประสาทเทียมที่เกิดซ้ำ)

Recurrent Neural Networks ใช้หลักการทั่วไปของโครงข่ายประสาทเทียมแบบฟีดฟอร์เวิร์ดและช่วยให้สามารถจัดการข้อมูลตามลำดับโดย ทำให้โมเดลมีหน่วยความจำภายใน. ส่วน "เกิดซ้ำ" ของชื่อ RNN มาจากข้อเท็จจริงที่ว่าอินพุตและเอาต์พุตวนซ้ำ เมื่อเอาต์พุตของเครือข่ายถูกสร้างขึ้น เอาต์พุตจะถูกคัดลอกและส่งกลับไปยังเครือข่ายเป็นอินพุต เมื่อทำการตัดสินใจ ไม่เพียงแต่วิเคราะห์อินพุตและเอาต์พุตปัจจุบันเท่านั้น แต่ยังพิจารณาอินพุตก่อนหน้าด้วย กล่าวอีกนัยหนึ่ง หากอินพุตเริ่มต้นสำหรับเครือข่ายคือ X และเอาต์พุตคือ H ทั้ง H และ X1 (อินพุตถัดไปในลำดับข้อมูล) จะถูกป้อนเข้าสู่เครือข่ายสำหรับการเรียนรู้รอบถัดไป ด้วยวิธีนี้ บริบทของข้อมูล (อินพุตก่อนหน้า) จะถูกรักษาไว้ในขณะที่เครือข่ายฝึก

ผลลัพธ์ของสถาปัตยกรรมนี้คือ RNN สามารถจัดการข้อมูลตามลำดับได้ อย่างไรก็ตาม RNN ประสบปัญหาสองสามประการ RNNs ประสบจาก ปัญหาการไล่ระดับสีที่หายไปและการระเบิดของการไล่ระดับสี

ความยาวของลำดับที่ RNN สามารถตีความได้ค่อนข้างจำกัด โดยเฉพาะอย่างยิ่งเมื่อเปรียบเทียบกับ LSTM

LSTM คืออะไร (Long Short-Term Memory Networks)

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

โมเดล LSTM ประกอบด้วย สามองค์ประกอบที่แตกต่างกันหรือประตู. มี ประตูอินพุต ประตูออก และประตูลืม. เช่นเดียวกับ RNNs LSTM จะนำอินพุตจากขั้นตอนเวลาก่อนหน้ามาพิจารณาเมื่อแก้ไขหน่วยความจำของโมเดลและน้ำหนักอินพุต ประตูอินพุตจะตัดสินใจว่าค่าใดมีความสำคัญและควรปล่อยให้ผ่านโมเดล ฟังก์ชัน sigmoid ใช้ในอินพุตเกต ซึ่งทำหน้าที่กำหนดว่าค่าใดที่จะส่งต่อผ่านเครือข่ายที่เกิดซ้ำ ศูนย์จะลดค่าลง ในขณะที่ 1 จะคงค่าไว้ มีการใช้ฟังก์ชัน TanH ที่นี่เช่นกัน ซึ่งจะตัดสินว่าค่าอินพุตมีความสำคัญต่อโมเดลมากน้อยเพียงใด ตั้งแต่ -1 ถึง 1

หลังจากพิจารณาอินพุตปัจจุบันและสถานะหน่วยความจำแล้ว ประตูเอาต์พุตจะตัดสินใจว่าค่าใดที่จะพุชไปยังขั้นตอนถัดไป ในเกตเอาต์พุต ค่าต่างๆ จะถูกวิเคราะห์และกำหนดความสำคัญตั้งแต่ -1 ถึง 1 ซึ่งจะควบคุมข้อมูลก่อนที่จะถูกนำไปคำนวณในขั้นเวลาถัดไป สุดท้าย หน้าที่ของ forget gate คือการปล่อยข้อมูลที่แบบจำลองเห็นว่าไม่จำเป็นในการตัดสินใจเกี่ยวกับลักษณะของค่าอินพุต เกตลืมใช้ฟังก์ชันซิกมอยด์กับค่า โดยแสดงตัวเลขระหว่าง 0 (ลืมสิ่งนี้) และ 1 (เก็บสิ่งนี้ไว้)

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

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