Cập nhật trạng thái ẩn của RNN
Một tầng hồi tiếp (RNN) mang theo một vector trạng thái ẩn h và làm mới nó ở mỗi bước
Tiến độ của tôi ở bài này
Điểm và code bạn nộp đượ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: python-basics, numpy-matrix-multiplication.
Nội dung đề bài
Mô tả bài toán
Một tầng hồi tiếp (RNN) mang theo một vector trạng thái ẩn h và làm mới nó ở mỗi bước thời gian bằng công thức h' = tanh(Wh h + Wx x + b). Đây là phép tính cốt lõi mà mọi mạng hồi tiếp, từ RNN đơn giản cho tới GRU/LSTM, đều dựa vào.
Yêu cầu
Viết hàm rnnhiddenstep(h, x, wh, wx, b) trả về trạng thái ẩn mới h' dưới dạng danh sách số thực.
Quy ước nộp bài
Nộp hàm rnn_hidden_step trong solution.py. Hệ thống gọi hàm trực tiếp và so giá trị với sai số 1e-6; không đọc stdin và không in ra stdout.
Input
- h: vector trạng thái ẩn cũ (danh sách số thực, độ dài bằng kích thước ẩn).
- x: vector đầu vào (danh sách số thực, độ dài bằng kích thước vào).
- wh: ma trận trọng số ẩn, kích thước (ẩn x ẩn).
- wx: ma trận trọng số vào, kích thước (ẩn x vào).
- b: vector độ lệch, độ dài bằng kích thước ẩn.
Output
Danh sách số thực h' với h'[k] = tanh( (Wh h)[k] + (Wx x)[k] + b[k] ).
Ràng buộc
- Các kích thước phải khớp nhau; nếu không thì hàm ném ValueError.
- Chỉ dùng NumPy cho tích ma trận và tanh, không viết vòng lặp nhân từng phần tử.
Ví dụ 1
Input
rnn_hidden_step(h=[1, 0], x=[0, 1], w_h=[[0, 1], [1, 0]], w_x=[[1, 1], [0, 1]], b=[0, 0])
Output
[0.7615941559557649, 0.9640275800758169]
Ví dụ 2
Input
rnn_hidden_step(h=[0, 0], x=[0, 0], w_h=[[0, 1], [1, 0]], w_x=[[1, 1], [0, 1]], b=[0, 0])
Output
[0.0, 0.0]
Giải thích
Với h = [1, 0], x = [0, 1], wh = [[0, 1], [1, 0]], wx = [[1, 1], [0, 1]] và b = [0, 0] thì Wh h = [0, 1], Wx x = [1, 1], tổng trước kích hoạt = [1, 2], nên h' = [tanh(1), tanh(2)] = [0.7615941559557649, 0.9640275800758169].
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.
