สร้าง Generator และ Discriminator
ที่ PyBooks คุณได้รับมอบหมายให้พัฒนาระบบสร้างข้อความอัตโนมัติ เพื่อช่วยให้นักเขียนผ่านพ้นช่วงที่ไม่มีแรงบันดาลใจในการเขียน โดยใช้ GAN หรือ Generative Adversarial Networks เพื่อสร้างระบบที่ประกอบด้วยโครงข่ายสองส่วน ได้แก่ generator ที่สร้างข้อความใหม่ และ discriminator ที่ประเมินความน่าเชื่อถือของข้อความนั้น ขั้นแรกต้องกำหนดค่าเริ่มต้นให้ทั้ง generator และ discriminator จากนั้นโครงข่ายทั้งสองจะถูกฝึกสอนแข่งขันกัน เพื่อสร้างข้อความใหม่ที่ดูสมจริง
มีการนำเข้าสิ่งต่อไปนี้ให้แล้ว: torch, torch.nn as nn.
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning สำหรับข้อความด้วย PyTorch
คำแนะนำการฝึกหัด
- กำหนดคลาส
Generatorโดยใช้ linear layer สำหรับข้อมูลแบบลำดับต่อเนื่อง และฟังก์ชัน activation แบบ sigmoid - ส่ง input ผ่านโมเดลที่กำหนดไว้ในเมธอด
forward()ของคลาสGenerator - กำหนดคลาส
Discriminatorโดยใช้เลเยอร์และฟังก์ชัน activation แบบเดียวกัน โดยให้ความสำคัญกับการกำหนดขนาดมิติให้ถูกต้อง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define the generator class
class Generator(nn.Module):
def __init__(self):
super().__init__()
self.model = nn.____(nn.____(____), nn.____())
def forward(self, x):
return self.____(x)
# Define the discriminator networks
class Discriminator(nn.Module):
def __init__(self):
super().__init__()
self.model = nn.____(nn.____(____), nn.____())
def forward(self, x):
return self.model(x)