Dữ liệu là phần rất quan trọng trong các hệ thống và ứng dụng trí tuệ nhân tạo ngày nay. Trong lĩnh vực học máy nói chung hay cụ thể là học sâu hiện nay phải cần tới rất rất nhiều dữ liệu. Đơn cử như các tập dữ liệu phổ biến thường
dùng cho học sâu như FaceNet, ImageNet cũng có tới hàng triệu hay thậm chí hàng trăm triệu dữ liệu được dán nhãn. Và bởi vì học sâu là thuật toán dựa trên dữ liệu do vậy căng có nhiều dữ liệu thì chất lượng các mô hình học sâu càng được cải thiện.
Hình 2.18: Mối quan hệ giữa dữ liệu và hiệu quả mô hình trong học sâu (nguồn: [21]).
Vấn đề đặt ra là với bài toán có dữ liệu giới hạn thì phải làm sao? Không đủ dữ liệu sẽ dẫn tới vấn đề như:
1. Thiếu tính tổng quát: mạng dễ bị quá khớp, qua tốt trên tập đào tạo còn cho kết quả tệ trên tập kiểm thử.
2. Khó huấn luyện: mạng học sâu khó hội tụ.
3. Chất lượng dự đoán sẽ không ổn định: một số trường hợp ngoại lệ kết quả sai khác rất nhiều, nhiễu với đầu vào ảnh hưởng lớn tới chất lượng dự đoán. Để giải quyết vấn đền này, có các hướng tiếp cận chính như sau: Thay đổi kiến trúc mạng: dùng các mô hình đơn giản, tránh hiện tượng quá khớp, áp dụng học chuyển đổi: Lấy kiến thức từ các ứng dụng có nhiều dữ liệu đã được đào tạo trước, tập hợp thêm dữ liệu.
Riêng về phương án tập hợp thêm dữ liệu, có thể kể đến những phương pháp sau:
Thu thập thêm dữ liệu: tìm dữ liệu từ các nguồn như mua dữ liệu trả tiền, lấy dữ liệu trên mạng... Tốn thời gian, công sức và chi phí.
Tạo dữ liệu giả: đối với một số bài toán dữ liệu có thể được mô phỏng qua đồ họa máy tính như các ảnh hành vi của người, ảnh ở chiều góc nhìn khác nhau, được tạo bởi các mạng GAN, .v.v.
Dữ liệu tăng cường: là kỹ thuật đơn giản nhất bằng việc xử lý đơn giản dữ liệu sẵn có bằng các phép xử lý ảnh tuyến tính hay phi tuyến.
1. Thu thập thêm 2. Tạo dữ liệu giả 3. Tăng cường dữ liệu
- Chi phí cao
- Cần nhiều nhân công để gán nhãn
- Thực hiện phức tạp - Có thể không phản ánh đúng dữ liệu thật
- Thực hiện đơn giản. - Cần thử nghiệm nhiều để tìm được phương pháp tăng cường phù hợp với dữ liệu.
Hình 2.19: So sánh các phương pháp cải thiện dữ liệu.
Vì tăng cường dữ liệu là cách tiếp cận “dễ” và “rẻ” nhất. Hầu hết các ứng dụng học sâu, các chủ đề từ tín hiệu 1D, 2D, 3D tới ứng dụng bên thị giác máy, giọng nói, ngôn ngữ tự nhiên .v.v. đều sử dụng kỹ thuật tăng cường dữ liệu trong quá trình huấn luyện. Tùy thuộc vào dữ liệu (số lượng mẫu, tính cân bằng của mẫu, dữ liệu kiểu thử, v.v. và ứng dụng tương ứng chúng ta sẽ sử dụng các kỹ thuật tăng cường dữ liệu khác nhau, nghĩa là mỗi bộ dữ liệu sẽ có cách thức riêng để tăng cường dữ liệu sao cho ra kết quả tốt nhất. Điển hình là dữ liệu MNIST được cho là tốt với phương pháp biến dạng co dãn, thay đổi tỉ lệ, dịch chuyển, và xoay. Trong khi dữ liệu ảnh tự nhiên như CIFAR10 và ImageNet thì lại tốt với thuật toán cắt ngẫu nhiên, chuyển đổi qua gương, thay đổi màu, độ sáng. Không chỉ có vậy mà một số phương pháp tăng cường dữ liệu không tốt cho một số tập dữ liệu. Đơn cử là lật theo chiều dọc tốt cho tập CIFAR10 nhưng không tốt cho tập MNIST ( bởi vì ký tự khi lật theo chiều dọc có thể sẽ thành ký tự khác).
Hình 2.20: Phân biệt các phương pháp tăng cường dữ liệu.
Việc phụ thuộc vào dữ liệu và ứng dụng, kiến trúc mạng kể trên đồng nghĩa với việc không có cách thức tổng quát cho tất cả các tập dữ liệu và bài toán. Cần phải thử nghiệm rất nhiều, và chắc chắn sẽ tốn rất nhiều thời gian để có thể tìm ra cách tăng cường dữ liệu tốt nhất cho bài toán và tập dữ liệu cụ thể.