RNN คืออะไร

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

อ่านเกี่ยวกับนิวรัลเน็ตเวิร์ก

อ่านเกี่ยวกับดีปเลิร์นนิง

อ่านเกี่ยวกับหม้อแปลงไฟฟ้าในปัญญาประดิษฐ์

อ่านเกี่ยวกับโมเดลภาษาขนาดใหญ่

นิวรัลเน็ตเวิร์กแบบวนซ้ำทำงานอย่างไร

ภาพต่อไปนี้แสดงแผนภาพของ RNN

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

เลเยอร์ซ่อน

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

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

อ่านเกี่ยวกับการแปลภาษาด้วยเครื่อง

การฝึกอบรม

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

วิศวกร ML จะปรับน้ำหนักเพื่อปรับปรุงความแม่นยำในการคาดการณ์ พวกเขาใช้เทคนิคที่เรียกว่า Backpropagation Through Time (BPTT) เพื่อคำนวณข้อผิดพลาดของโมเดลและปรับน้ำหนักให้เหมาะสม BPTT จะย้อนกลับเอาต์พุตไปยังขั้นตอนเวลาก่อนหน้า และคำนวณอัตราข้อผิดพลาดใหม่ ด้วยวิธีนี้ จึงสามารถระบุสถานะที่ซ่อนอยู่ในลำดับที่ทำให้เกิดข้อผิดพลาดที่สำคัญ และปรับน้ำหนักใหม่เพื่อลดระยะขอบของข้อผิดพลาด

อ่านเกี่ยวกับแมชชีนเลิร์นนิง

นิวรัลเน็ตเวิร์กแบบวนซ้ำมีประเภทใดบ้าง

RNN มักมีลักษณะเฉพาะด้วยสถาปัตยกรรมแบบหนึ่งต่อหนึ่ง: ลำดับอินพุตหนึ่งลำดับเชื่อมโยงกับเอาต์พุตเดียว อย่างไรก็ตาม คุณสามารถปรับเปลี่ยนการกำหนดค่าต่างๆ ได้อย่างยืดหยุ่นเพื่อวัตถุประสงค์เฉพาะ ต่อไปนี้เป็นประเภท RNN ทั่วไปประเภทต่างๆ

One-to-many

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

Many-to-many

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

Many-to-one

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

นิวรัลเน็ตเวิร์กแบบวนซ้ำเทียบกับเครือข่ายดีปเลิร์นนิงอื่นๆ อย่างไร

RNN เป็นหนึ่งในสถาปัตยกรรมนิวรัลเน็ตเวิร์กที่แตกต่างกัน

นิวรัลเน็ตเวิร์กแบบวนซ้ำ เทียบกับนิวรัลเน็ตเวิร์กแบบป้อนไปข้างหน้า

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

นิวรัลเน็ตเวิร์กแบบวนซ้ำ เทียบกับนิวรัลเน็ตเวิร์กแบบสังวัตนาการ

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

ข้อจำกัดของนิวรัลเน็ตเวิร์กแบบวนซ้ำคืออะไร

นับตั้งแต่เปิดตัว RNN วิศวกร ML ก็มีความก้าวหน้าอย่างมากในแอปพลิเคชันการประมวลผลภาษาธรรมชาติ (NLP) ด้วย RNN และเวอร์ชันต่างๆ อย่างไรก็ตาม ตระกูลโมเดล RNN มีข้อจำกัดหลายประการ

อ่านเกี่ยวกับการประมวลผลภาษาธรรมชาติ

Exploding gradient

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

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

Vanishing gradient

ปัญหา Vanishing gradient คือเงื่อนไขที่ Gradient ของโมเดลเข้าใกล้ศูนย์ในการฝึก เมื่อ Gradient หายไป RNN ไม่สามารถเรียนรู้ได้อย่างมีประสิทธิภาพจากข้อมูลการฝึก และส่งผลให้เกิด Underfitting โมเดลที่ Underfit จะไม่สามารถทำงานได้ดีในการใช้งานในชีวิตจริง เนื่องจากน้ำหนักของโมเดลไม่ได้รับการปรับอย่างเหมาะสม RNN มีความเสี่ยงต่อปัญหา Vanishing gradient และ Exploding gradient เมื่อประมวลผลลำดับข้อมูลที่ยาว 

เวลาฝึกที่ช้า

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

สถาปัตยกรรมนิวรัลเน็ตเวิร์กแบบวนซ้ำมีรูปแบบใดบ้าง

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

นิวรัลเน็ตเวิร์กแบบวนซ้ำสองทิศทาง

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

Long short-term memory

Long short-term memory (LSTM) เป็นตัวแปร RNN ที่ช่วยให้โมเดลสามารถขยายความจุหน่วยความจำเพื่อรองรับไทม์ไลน์ที่ยาวขึ้น RNN สามารถจดจำได้เฉพาะอินพุตในอดีตเท่านั้น ไม่สามารถใช้อินพุตจากลำดับก่อนหน้าหลายๆ ลำดับเพื่อปรับปรุงการคาดการณ์ได้ 

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

Gated recurrent units

Gated recurrent unit (GRU) เป็น RNN ที่ช่วยให้สามารถเก็บรักษาหน่วยความจำแบบเลือกได้ โมเดลนี้จะเพิ่มการอัปเดตและลืมเกตไปยังเลเยอร์ที่ซ่อนอยู่ ซึ่งสามารถจัดเก็บหรือลบข้อมูลในหน่วยความจำได้ 

Transformers จะเอาชนะข้อจำกัดของนิวรัลเน็ตเวิร์กแบบวนซ้ำได้อย่างไร

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

การใส่ใจตนเอง

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

การทำงานแนวขนาน

Transformers แก้ปัญหา Gradient ที่ RNN เผชิญโดยการเปิดใช้งานการทำงานแบบขนานระหว่างการฝึก ด้วยการประมวลผลลำดับอินพุตทั้งหมดพร้อมกัน Transformers จึงไม่อยู่ภายใต้ข้อจำกัดในการแพร่กระจายกลับ เนื่องจาก Gradient สามารถไหลได้อย่างอิสระไปยังทุกน้ำหนัก นอกจากนี้ยังได้รับการปรับให้เหมาะสมสำหรับการประมวลผลแบบขนาน ซึ่งหน่วยประมวลผลกราฟิก (GPU) นำเสนอสำหรับการพัฒนา AI ช่วยสร้าง ความขนานช่วยให้ Transformers สามารถปรับขนาดได้มากและจัดการกับงาน NLP ที่ซับซ้อนโดยการสร้างโมเดลขนาดใหญ่ขึ้น 

AWS รองรับความต้องการ RNN ของคุณได้อย่างไร

AI ช่วยสร้างบน Amazon Web Services (AWS) ให้บริการ เครื่องมือ และทรัพยากรที่คุณสามารถใช้เพื่อสร้าง จัดการ และปรับขนาดแอปพลิเคชัน AI แบบดั้งเดิมด้วยเทคโนโลยีที่ใช้ตัวแปลงขั้นสูง ตัวอย่างเช่น

  • Amazon SageMaker เป็นบริการที่มีการจัดการเต็มรูปแบบเพื่อเตรียมข้อมูล ตลอดจนสร้าง ฝึก และนำโมเดล ML ไปใช้จริงสำหรับทุกกรณีการใช้งาน โดยมีโครงสร้างพื้นฐาน เครื่องมือ และเวิร์กโฟลว์ที่ได้รับการจัดการอย่างเต็มรูปแบบ
  • Amazon Bedrock ช่วยลดความซับซ้อนของการพัฒนา AI ช่วยสร้างโดยช่วยให้สามารถทำการปรับแต่งและการปรับใช้โมเดลพื้นฐาน (FM) ชั้นนำของอุตสาหกรรมได้อย่างปลอดภัยและมีประสิทธิภาพ
  • AWS Trainium คือตัวเร่งความเร็ว ML ที่คุณสามารถใช้เพื่อฝึกฝนและปรับขนาดโมเดลดีปเลิร์นนิงในระบบคลาวด์ได้ในราคาประหยัด 

เริ่มต้นใช้งาน AI ช่วยสร้างบน AWS โดยลงทะเบียนบัญชีได้แล้ววันนี้

ขั้นตอนถัดไปบน AWS

ดูแหล่งข้อมูลเพิ่มเติมเกี่ยวกับผลิตภัณฑ์
สร้างสรรค์นวัตกรรมได้เร็วขึ้นด้วยบริการ AI ช่วยสร้างของ AWS 
ลงชื่อสมัครใช้บัญชีฟรี

รับสิทธิ์การเข้าถึง AWS Free Tier ได้ทันที

ลงชื่อสมัครใช้งาน 
เริ่มต้นการสร้างในคอนโซล

เริ่มต้นสร้างในคอนโซลการจัดการของ AWS

ลงชื่อเข้าใช้