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 แบบดั้งเดิมด้วยเทคโนโลยีที่ใช้ Transformer ขั้นสูง ตัวอย่างเช่น

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

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

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

ลงชื่อสมัครใช้บัญชีฟรี

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

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

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

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