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

Transfer learning

จากที่เห็นไปแล้วว่า การฝึก embedding layer ต้องเรียนรู้ parameters จำนวนมาก

ในแบบฝึกหัดนี้ จะได้เห็นว่า Transfer learning ช่วยให้ใช้ weights ที่ผ่านการฝึกมาแล้วได้โดยไม่ต้องอัปเดต ซึ่งหมายความว่า parameters ทั้งหมดของ embedding layer จะถูกตรึงไว้ และโมเดลจะเรียนรู้เฉพาะ parameters จาก layer อื่น ๆ เท่านั้น

ฟังก์ชัน load_glove ถูกโหลดไว้ในสภาพแวดล้อมแล้ว และใช้สำหรับดึง glove matrix ในรูปแบบ numpy.ndarray โดยใช้ฟังก์ชันที่กล่าวถึงในสไลด์บทเรียน เพื่อดึง glove vectors ที่มี 200 มิติสำหรับ vocabulary ที่ใช้ในแบบฝึกหัดนี้

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

Recurrent Neural Networks (RNNs) สำหรับ Language Modeling ด้วย Keras

ดูคอร์ส

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

  • ใช้ฟังก์ชันที่กำหนดไว้ล่วงหน้าเพื่อโหลด glove vectors
  • ใช้ Constant initializer กับ pre-trained vectors
  • เพิ่ม output layer เป็น Dense ที่มีหนึ่ง unit
  • แสดง summary และตรวจสอบจำนวน trainable parameters

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

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

# Load the glove pre-trained vectors
glove_matrix = ____('glove_200d.zip')

# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=vocabulary_size + 1, output_dim=wordvec_dim, 
                    embeddings_initializer=____(glove_matrix), 
                    input_length=sentence_len, trainable=False))
model.add(GRU(128))
model.add(____)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Print the summaries of the model with embeddings
model.____
แก้ไขและรันโค้ด