IOAI 2025 — Phát hiện giọng nói tổng hợp
Xem PDFMô tả bài toán
Giọng nói tổng hợp do AI tạo ra ngày càng trở nên giống thật, kéo theo nguy cơ bị lạm dụng (giả mạo giọng người nổi tiếng, lan truyền tin nhắn thoại sai sự thật...). Vì vậy, việc tự động phát hiện đâu là giọng người thật, đâu là giọng do máy tổng hợp là một bài toán quan trọng cho kiểm chứng nội dung và an ninh thông tin.
Trong bài này, bạn cần xây dựng một mô hình phân loại nhị phân:
- Nhãn
0(bonafide): bản ghi âm giọng người thật. - Nhãn
1(spoof): giọng nói do AI tổng hợp.
Mỗi mẫu âm thanh đã được chuyển sẵn thành Mel spectrogram — một biểu diễn 2D với trục hoành là thời gian, trục tung là tần số Mel — và lưu dưới dạng tensor PyTorch trong tệp .pt. Bạn không làm việc với âm thanh thô; chỉ cần đọc các tensor .pt và xử lý chúng như ảnh 2D. Nhờ đó, có thể coi đây là một bài toán Thị giác máy tính và áp dụng các kiến trúc CNN quen thuộc (ví dụ ResNet18) trực tiếp lên spectrogram.
Dữ liệu
Do toàn bộ tập huấn luyện rất lớn (~559 MB, khoảng 11 000 spectrogram) nên không thể đính kèm trực tiếp trên LQDOJ. Bạn tự tải tập huấn luyện từ trang chính thức:
- Tập huấn luyện đầy đủ: https://ioai.bohrium.com/competitions/5115013137?tab=datasets. Trong tập này, các tệp có tên chứa
bonafidelà giọng người thật (nhãn 0), thư mụcspoofchứa giọng tổng hợp (nhãn 1).
Các tệp dữ liệu đính kèm trên LQDOJ:
validation_set.zip— 1374 spectrogram.pt(subset A), dùng để bạn tự kiểm tra và tinh chỉnh mô hình tại máy.val_answer.csv— nhãn đúng của tập validation, mỗi dòng một nhãn, theo thứ tự tên tệp đã sắp xếp theo bảng chữ cái trongvalidation_set/.testing_set.zip— 1375 spectrogram.pt(subset B). Đây là tập bạn cần dự đoán để nộp. Không có nhãn công khai.ioai25speech_baseline.ipynb— notebook baseline của ban tổ chức. Bạn nên đọc và chạy thử trước, đặc biệt là lớpSpectrogramDataset(đừng sửa lớp này để tránh lỗi tải dữ liệu) cùng phần định nghĩaclass MyModel(nn.Module)vớiresnet18. Bản gốc của baseline: https://github.com/IOAI-official/IOAI-2025/blob/main/GAITE-Contest/Synthetic_Speech_Detector/IOAI2025%20GAITE%20Task%205%20Synthetic%20Speech%20Detector%20Baseline.ipynb
Bài nộp
Nộp một tệp .zip chứa đúng một tệp test_answer.csv với:
- 1375 dòng, mỗi dòng đúng một số:
0(bonafide) hoặc1(spoof). - Không có dòng tiêu đề (header).
- Thứ tự các dòng phải trùng với thứ tự đã được sắp xếp theo bảng chữ cái của tên tệp
.pttrong thư mụctesting_set/sau khi giải nén.
Nói cách khác, dòng thứ i của test_answer.csv là nhãn dự đoán cho tệp đứng thứ i khi liệt kê testing_set/ theo thứ tự alphabet.
Tiêu chí chấm
Điểm số là macro F1-score (trung bình F1 trên cả hai lớp bonafide và spoof), so sánh nhãn dự đoán của bạn với nhãn đúng của 1375 mẫu trong tập test (subset B).
Điểm tham chiếu của ban tổ chức trên Leaderboard B:
- Baseline: 0.70.
- Lời giải tốt nhất (Hội đồng Khoa học): 0.90.
Nguồn đề bài: https://github.com/IOAI-official/IOAI-2025/tree/main/GAITE-Contest/Synthetic_Speech_Detector.
Kỳ thi:
- IOAI 2025 — GAITE Contest (5 Tháng 8., 2025)
Bình luận