Kẹp gradient theo chuẩn L2
Kẹp gradient chặn hiện tượng gradient bùng nổ trong mạng sâu và RNN. Nếu chuẩn của gradient vượt ngưỡng, ta co cả vector theo cùng một tỉ lệ, nên hướng cập nhật không đổi mà chỉ độ…
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: l2-norm, scaling.
Nội dung đề bài
Mô tả bài toán
Kẹp gradient chặn hiện tượng gradient bùng nổ trong mạng sâu và RNN. Nếu chuẩn của gradient vượt ngưỡng, ta co cả vector theo cùng một tỉ lệ, nên hướng cập nhật không đổi mà chỉ độ lớn bị giới hạn.
Yêu cầu
Đọc từ stdin: dòng 1 gồm N và ngưỡng max_norm; dòng 2 gồm N thành phần gradient. Nếu chuẩn L2 của gradient lớn hơn max_norm, in gradient đã nhân với max_normlVert g rVert2; ngược lại in nguyên giá trị. Mỗi giá trị Kết quả in với đúng 4 chữ số thập phân., cách nhau bởi dấu cách.
Quy ước nộp bài
- Chỉ cần viết một chương trình đọc
stdinvà in rastdout. Bài này không yêu cầu viết hàm. - Không truyền lời nhắc vào
input(). Lời nhắc sẽ bị in vàostdoutvà làm bài sai. - Chỉ in đúng nội dung ở mục Output. Không in thêm nhãn, dòng trống hay ký tự thừa.
- Output được so khớp từng ký tự, phân biệt chữ hoa/thường và dấu câu.
Input
Hai dòng: N và ngưỡng; N thành phần gradient.
Output
N số thực với 4 chữ số thập phân.
Ràng buộc
- 1 ≤ N ≤ 104; 0 < max_norm ≤ 106; |gi| ≤ 106.
Ví dụ 1
Input
2 1.0
3 4Output
0.6000 0.8000
Chuẩn bằng 5, vượt ngưỡng 1 nên nhân với $1/5$.Ví dụ 2
Input
2 10
3 4Output
3.0000 4.0000
Chuẩn bằng 5, không vượt ngưỡng 10 nên giữ nguyên.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.
