เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การกำหนด Encoder

ในแบบฝึกหัดนี้ คุณจะก้าวแรกสู่การสร้างโมเดลแปลภาษา นั่นคือการ implement encoder โดย encoder ที่จะสร้างนั้นเป็นโมเดลที่เรียบง่ายมากเมื่อเทียบกับโมเดลซับซ้อนที่ใช้งานจริงอย่าง Google Translate แต่ไม่ต้องกังวล แม้โมเดลจะเรียบง่าย แนวคิดพื้นฐานก็เหมือนกับโมเดลที่ซับซ้อนเหล่านั้น เราจะใช้คำนำหน้า en (เช่น en_gru) เพื่อระบุสิ่งที่เกี่ยวข้องกับ encoder และ de สำหรับสิ่งที่เกี่ยวข้องกับ decoder (เช่น de_gru)

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

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Translation ด้วย Keras

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนด layer Input สำหรับ input ที่มีขนาด vocabulary เท่ากับ en_vocab และความยาว sequence เท่ากับ en_len โดยใช้ argument shape
  • กำหนด layer keras.layers.GRU ที่มี hidden units จำนวน hsize และให้คืนค่า state ด้วย
  • รับ output จาก layer GRU โดยส่ง en_inputs เข้าไป แล้วกำหนด GRU state ให้กับ en_state และ output ให้กับ en_out
  • กำหนด keras.models.Model ที่รับ en_inputs เป็น input และส่งคืน en_state เป็น output จากนั้นแสดง model summary

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

import tensorflow.keras as keras

en_len = 15
en_vocab = 150
hsize = 48

# Define an input layer
en_inputs = keras.layers.____(____=____)
# Define a GRU layer which returns the state
en_gru = ____(____, ____=____)
# Get the output and state from the GRU
____, ____ = ____(____)
# Define and print the model summary
encoder = ____(inputs=____, ____=____)
print(encoder.____)
แก้ไขและรันโค้ด