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

เพิ่ม Batch Normalization ให้กับโมเดลที่คุ้นเคย

จำ ชุดข้อมูล digits ที่ฝึกในแบบฝึกหัดแรกของบทนี้ได้ไหม?

นั่นคือปัญหาการจำแนกประเภทแบบหลายคลาส ซึ่งแก้ไขโดยใช้ softmax และ 10 นิวรอนในเลเยอร์เอาต์พุต

คราวนี้จะสร้างโมเดลที่ลึกขึ้น ประกอบด้วย hidden layer 3 ชั้น แต่ละชั้นมี 50 นิวรอน โดยเพิ่ม batch normalization คั่นระหว่างเลเยอร์ และใช้พารามิเตอร์ kernel_initializer สำหรับการกำหนดค่าเริ่มต้นของน้ำหนัก

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

Deep Learning เบื้องต้นด้วย Keras

ดูคอร์ส

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

  • นำเข้า BatchNormalization จากเลเยอร์ใน tensorflow.keras
  • สร้างโมเดลแบบ deep network โดยใช้ 50 นิวรอนสำหรับแต่ละ hidden layer และเพิ่ม batch normalization คั่นระหว่างเลเยอร์
  • คอมไพล์โมเดลโดยใช้ stochastic gradient descent (sgd) เป็น optimizer

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

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

# Import batch normalization from keras layers
from tensorflow.____.____ import ____

# Build your deep network
batchnorm_model = ____
batchnorm_model.add(Dense(____, input_shape=(64,), activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(10, activation='softmax', kernel_initializer='normal'))

# Compile your model with sgd
batchnorm_model.compile(optimizer=____, loss='categorical_crossentropy', metrics=['accuracy'])
แก้ไขและรันโค้ด