เพิ่ม Batch Normalization ให้กับโครงข่ายของคุณ
Batch normalization เป็นอีกรูปแบบหนึ่งของการ regularization ที่ปรับสเกลค่า output ของเลเยอร์ใหม่ เพื่อให้มีค่าเฉลี่ยเป็น 0 และส่วนเบี่ยงเบนมาตรฐานเป็น 1 ในแบบฝึกหัดนี้ เราจะเพิ่ม batch normalization เข้าไปในโครงข่ายประสาทเทียมแบบ convolutional ที่ใช้ในแบบฝึกหัดก่อนหน้า ดังนี้
- Convolution (15 units, kernel size 2, activation 'relu')
- Batch normalization
- Convolution (5 units, kernel size 2, activation 'relu')
- Flatten
- Dense (3 units, activation 'softmax')
ออบเจกต์ Sequential model พร้อมกับ Dense, Conv2D, Flatten และ Dropout พร้อมใช้งานใน workspace ของคุณแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างโมเดลภาพด้วย Keras
คำแนะนำการฝึกหัด
- เพิ่ม convolutional layer แรก โดยใช้ออบเจกต์
img_rowsและimg_colsที่มีอยู่ใน workspace เพื่อกำหนดinput_shapeของเลเยอร์นี้ - เพิ่ม batch normalization ที่นำไปใช้กับค่า output ของเลเยอร์แรก
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Add a convolutional layer
____
# Add batch normalization layer
____
# Add another convolutional layer
model.add(Conv2D(5, kernel_size=2, activation='relu'))
# Flatten and feed to output layer
model.add(Flatten())
model.add(Dense(3, activation='softmax'))