Quy tắc chuỗi hàm hợp đa tầng (Chain Rule on Composite Functions)
Cho hàm số hợp đa tầng dạng nơ-ron đơn giản:
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: activation-derivatives-sigmoid-tanh-relu.
Nội dung đề bài
Mô tả bài toán
Cho hàm số hợp đa tầng dạng nơ-ron đơn giản: y = f3(f2(f1(x))) với các bước biến đổi:
- z1 = f1(x) = w1 x + b1
- a1 = f2(z1) = tanh(z1)
- y = f3(a1) = w2 a1 + b2
- Hàm mất mát bình phương: L = 12(y - t)2 với t là nhãn thực tế.
Theo quy tắc chuỗi (Chain Rule): ∂ L∂ y = y - t ∂ L∂ a1 = ∂ L∂ y w2 ∂ L∂ z1 = ∂ L∂ a1 (1 - a12) ∂ L∂ w1 = ∂ L∂ z1 x, ∂ L∂ b1 = ∂ L∂ z1 ∂ L∂ w2 = ∂ L∂ y a1, ∂ L∂ b2 = ∂ L∂ y
Hãy viết hàm neural_scalar_forward_backward(x, w1, b1, w2, b2, t):
- Tính các giá trị forward: z1, a1, y, L.
- Tính các gradient backward: ∂ L∂ w1, ∂ L∂ b1, ∂ L∂ w2, ∂ L∂ b2, ∂ L∂ x.
- Trả về dictionary:
{"loss": float, "dw1": float, "db1": float, "dw2": float, "db2": float, "dx": float}.
Input
- Hàm
neural_scalar_forward_backward(x,w1,b1,w2,b2,t): Các tham số đầu vào chứa dữ liệu Tensor/mảng NumPy hoặc giá trị siêu tham số tương ứng.
Output
- Hàm
neural_scalar_forward_backward: Trả về kết quả kiểudicttheo đúng đặc tả kỹ thuật và kích thước quy định.
Ràng buộc
- Thời gian chạy tối đa: 6000ms.
- Giới hạn bộ nhớ: 512MB.
- Dữ liệu đầu vào hợp lệ theo đúng kiểu dữ liệu và miền giá trị được mô tả.
Ví dụ 1
Input
neural_scalar_forward_backward(x=1.0, w1=0.5, b1=0.0, w2=2.0, b2=0.0, t=0.0)Output
{
'loss': 0.427105,
'dw1': 1.453724,
'db1': 1.453724,
'dw2': 0.427105,
'db2': 0.924234,
'dx': 0.726862
}Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Ví dụ 2
Input
x, w1, b1, w2, b2, t = (1.5, 0.8, -0.2, 1.2, 0.5, 2.0)
res = neural_scalar_forward_backward(x, w1, b1, w2, b2, t)
h = 1e-06
res_plus = neural_scalar_forward_backward(x, w1 + h, b1, w2, b2, t)
res_minus = neural_scalar_forward_backward(x, w1 - h, b1, w2, b2, t)
num_dw1 = (res_plus['loss'] - res_minus['loss']) / (2 * h)Output
-0.443055Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
