Matryoshka Representation Learning – Embedding Đa Độ Phân Giải
MRL học embeddings có thể truncate về kích thước nhỏ hơn mà vẫn giữ chất lượng:
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: contrastive-learning-simcse-nt-xent.
Nội dung đề bài
Mục tiêu kiến thức
MRL học embeddings có thể truncate về kích thước nhỏ hơn mà vẫn giữ chất lượng: LMRL = ∑m ∈ M 1|M| Lm
Trong đó Lm là NT-Xent loss tính trên d[:m] (chỉ m chiều đầu tiên).
Yêu cầu
def matryoshka_loss(
z1: torch.Tensor, # [N, d]
z2: torch.Tensor, # [N, d]
scales: list[int], # e.g. [16, 32, 64, 128, 256]
temperature: float = 0.05
) -> torch.Tensor:
# Returns weighted sum of NT-Xent losses at each scale
passInput
- Hàm
nt_xent_loss_internal(z1,z2,temperature): 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. - Hàm
matryoshka_loss(z1,z2,scales,temperature): 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
nt_xent_loss_internal: Trả về kết quả kiểuAnytheo đúng đặc tả kỹ thuật và kích thước quy định. - Hàm
matryoshka_loss: Trả về kết quả kiểuAnytheo đú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: 5000ms.
- 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
z1 = torch.randn(4, 64)
z2 = torch.randn(4, 64)
loss = matryoshka_loss(z1, z2, scales=[16, 32, 64])Output
4.0298Giả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
z1 = torch.randn(8, 64)
loss_single = matryoshka_loss(z1, z2, scales=[64]).item()
loss_multi = matryoshka_loss(z1, z2, scales=[16, 32, 64]).item()Output
0.000007Giả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.
