Bắt đầu ngayBắt đầu miễn phí

Phần 1: Tham gia để trúng quà cực chất

Trong bài tập này, bạn sẽ tìm hiểu về tầng Dense. Hãy làm điều đó bằng một ví dụ thú vị: tưởng tượng có một gameshow mà phần thưởng được quyết định bởi một mạng nơ-ron. Thí sinh nhập vào

  • số anh/chị/em ruột,
  • số cốc cà phê đã uống hôm nay và
  • họ có thích cà chua hay không,

và mô hình sẽ dự đoán thí sinh sẽ nhận được phần thưởng gì.

Để triển khai, bạn sẽ dùng Keras. Bạn cần tạo một mô hình với một tầng đầu vào nhận ba đặc trưng (số anh/chị/em là số nguyên, số cốc cà phê là số nguyên và việc thích cà chua hay không là 0 hoặc 1). Sau đó đầu vào đi qua một tầng Dense xuất ra 3 xác suất (tức là xác suất trúng xe hơi, phiếu quà tặng hoặc không trúng gì).

Các tầng InputDense cũng như một đối tượng Model từ Keras đã được import sẵn. Bạn cũng được cung cấp một bộ khởi tạo trọng số tên là init để khởi tạo tầng Dense.

Bài tập này là một phần của khóa học

Machine Translation với Keras

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa một tầng đầu vào chỉ chấp nhận 3 thí sinh (batch size), trong đó mỗi thí sinh có 3 đầu vào: số anh/chị/em, số cốc cà phê và sở thích với cà chua (kích thước input).
  • Định nghĩa một tầng Dense có 3 đầu ra, kích hoạt softmax và dùng init làm bộ khởi tạo.
  • Tính dự đoán của mô hình cho x bằng mô hình đã định nghĩa.
  • Lấy phần thưởng có xác suất cao nhất (dưới dạng số nguyên) cho mỗi thí sinh.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)]))
Chỉnh sửa và Chạy Mã