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

ส่วนที่ 1: ลุ้นรับรางวัลสุดพิเศษ

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

  • จำนวนพี่น้อง
  • จำนวนแก้วกาแฟที่ดื่มในวันนั้น
  • ชอบมะเขือเทศหรือไม่

จากนั้นโมเดลจะพยากรณ์ว่าผู้เข้าแข่งขันจะได้รับรางวัลอะไร

ในการสร้างโมเดลนี้ คุณจะใช้ Keras โดยต้องสร้างโมเดลที่มี input layer รับข้อมูล 3 ฟีเจอร์ (จำนวนพี่น้องเป็นจำนวนเต็ม จำนวนแก้วกาแฟเป็นจำนวนเต็ม และความชอบมะเขือเทศเป็น 0 หรือ 1) จากนั้นข้อมูลจะผ่าน Dense layer ที่ให้ผลลัพธ์เป็นความน่าจะเป็น 3 ค่า (ได้แก่ ความน่าจะเป็นของการได้รถยนต์ บัตรของขวัญ หรือไม่ได้รับรางวัล)

Input และ Dense layer รวมถึงออบเจกต์ Model จาก Keras ถูกนำเข้าไว้แล้ว และมีตัวกำหนดค่าเริ่มต้นชื่อ init สำหรับ Dense layer ให้พร้อมใช้งาน

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

Machine Translation ด้วย Keras

ดูคอร์ส

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

  • กำหนด input layer ที่รับผู้เข้าแข่งขันได้ เพียง 3 คน (batch size) โดยแต่ละคนมีข้อมูล 3 ค่า ได้แก่ จำนวนพี่น้อง จำนวนแก้วกาแฟ และความชอบมะเขือเทศ (input size)
  • กำหนด Dense layer ที่มี 3 outputs ใช้ activation แบบ softmax และ init เป็น initializer
  • คำนวณผลการพยากรณ์ของโมเดลสำหรับ x โดยใช้โมเดลที่กำหนดไว้
  • ดึงรางวัลที่มีความน่าจะเป็นสูงสุด (เป็นจำนวนเต็ม) สำหรับผู้เข้าแข่งขันแต่ละคน

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

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

# Define an input layer with batch size 3 and input size 3
inp = Input(____=(____,____))
# Get the output of the 3 node Dense layer
pred = ____(____, ____=____, kernel_initializer=init, bias_initializer=init)(inp)
model = Model(inputs=inp, outputs=pred)

names = ["Mark", "John", "Kelly"]
prizes = ["Gift voucher", "Car", "Nothing"]
x = np.array([[5, 0, 1], [0, 3, 1], [2, 2, 1]])
# Compute the model prediction for x
y = ____.____(____)
# Get the most probable class for each sample
classes = np.____(____, ____)
print("\n".join(["{} has probabilities {} and wins {}".format(n,p,prizes[c]) \
                 for n,p,c in zip(names, y, classes)]))
แก้ไขและรันโค้ด