10 Tiêu điểm

Dành cho dân nhiền A.I ML – nào thì anh em cũng chiến

CHIẾN THUẬT CHINH PHỤC CÁC CUỘC THI TRÊN KAGGLE
Tháng 7 vừa qua, chắc hẳn các bạn cũng nghe tin hai chàng trai 9X Việt giành giải quán quân cuộc thi AI uy tín nhất thế giới.
Vượt qua 1600 đội đến từ nhiều quốc gia trên thế giới, Nguyễn Quán Anh Minh (sinh năm 1997) và Nguyễn Tuấn Khôi (sinh năm 1994), hai kỹ sư trẻ Việt Nam vừa đoạt quán quân cuộc thi ‘Show US the Data’ do Coleridge Initiative (Đại học New York) tổ chức trên Kaggle, nền tảng thi đấu về trí tuệ nhân tạo (AI) uy tín nhất thế giới.
Show US the Data là cuộc thi được phát động trên phạm vi toàn cầu với tổng giá trị giải thưởng hấp dẫn 90.000 USD (hơn 2 tỷ đồng). Cuộc thi nhằm tìm kiếm giải pháp trong phân tích và xử lý dữ liệu để giải quyết các vấn đề “nóng” toàn cầu như đại dịch, biến đổi khí hậu, an ninh lương thực, đa dạng sinh học, đói nghèo, suy dinh dưỡng ở trẻ em… Điều này sẽ là cơ sở cho chính sách của các tổ chức chính phủ tại Hoa Kỳ, đồng thời giúp đánh giá hiệu quả của dữ liệu quốc gia để có sự đầu tư hợp lý.
Vậy KAGGLE LÀ GÌ?
Kaggle là một nền tảng trực tuyến cho cộng đồng Machine Learning (ML) và Khoa học dữ liệu. Kaggle cho phép người dùng chia sẻ, tìm kiếm các bộ dữ liệu; tìm hiểu và xây dựng models, tương tác với những nhà khoa học và kỹ sư ML trên toàn thế giới; tham gia các cuộc thi để có cơ hội chiến thắng những giải thưởng giá trị. Người dùng Kaggle sẽ được hỗ trợ Graphic Processing Unit (GPU) và gần đây có thêm Tensor Processing Unit (TPU) để tăng tốc độ tính toán trong quá trình training cũng như inference.
GPU:
NVIDIA K80 GPUs hỗ trợ tăng tốc độ training của mô hình deep learning lên đến 12.5 lần.
Quota: 30 giờ/tuần
TPU:
TPUs là sản phẩm của Google để tăng tốc độ làm việc của các mô hình machiine learning, được support ở Tensorflow 2.1 (cả Keras high-level API và models sử dụng training loop tuỳ chỉnh)
Quota: 30 giờ/tuần và tối đa 3h trong một lần chạy.
Competitions (Các cuộc thi)
Đây là nơi mà bạn có thể tham gia các cuộc thi hoặc tổ chức cuộc thi cho lớp học của bạn. Để xem các cuộc thi, bạn nhấn vào Thẻ Competitions. Ở đây, bạn sẽ thấy Những cuộc thi mà bạn đã/đang tham gia ở mục Your Work và Tât cả các cuộc thi ở mục All Competitions, bao gồm cả những cuộc thi đang diễn ra, đã hoàn thành,  Để tham gia một cuộc thi có giải thưởng hấp dẫn, click vào cuộc thi đó, đọc mô tả về cuộc thi và nhấn Join Competition ngay dưới cover (bên góc phải).
Data
Khi nhấn vào thẻ Datasets  trên Menu Sidebar, bạn sẽ thấy Public Dataset, Dataset mà bạn upload lên Kaggle, những bộ data mà bạn yêu thích.
Để tạo Dataset trên Kaggle, nhấn vào + New Dataset, một giao diện pop-up sẽ hiện lên. Bạn có thể thay chọn Upload Private hay Public bằng cách nhấn vào biểu thượng Setting ở góc trái dưới cùng của giao diện pop-up. Với mỗi chế độ, bạn có 20GB để upload dữ liệu để chia sẽ với team, sử dụng để làm input cho Notebook hoặc làm tài nguyên để tổ chức các cuộc thi cho lớp học. Ngoài ra, bạn cũng có thể tuỳ chọn Owner cho bộ dataset là bạn hay là các tổ chức mà bạn tham gia. 4 hình thức để tạo Dataset:
.Upload từ máy tính của bạn
.Chia sẻ qua đường link
.Chia sẻ từ Github repository
.Embed từ những kernel khác trên Kaggle.
Notebooks
Đây là tính năng đáng chú ý nhất của Kaggle và bạn có thể tận dụng được tài nguyên tính toán miễn phí được hỗ trợ (TPUs và GPUs) như được nhắc đến ở trên để huấn luyện mô hình.
LỘ TRÌNH GIẢI ĐỀ:
Bước 1- Xử lý dữ liệu:
 Dựa trên bộ dữ liệu đào tạo do BTC cung cấp, đội thi sẽ chia ra thành các tập dữ liệu con để xây dựng và đánh giá mô hình. Thông thường, tỉ lệ phân chia là 80% (training) và 20% (validation). Sau đó, thực hiện các phép biến đổi như xoay, lật, điều chỉnh độ sáng để làm tăng độ đa dạng của dữ liệu. 
Bước 2- Huấn luyện mô hình: 
Cần lựa chọn mô hình phù hợp nhất cho bài toán phát hiện đối tượng trong ảnh. Ví dụ, những mô hình được sử dụng phổ biến nhất hiện nay là YOLO (You Only Look Once), EfficientDet, FasterRCNN. Sau khi đã lựa chọn được các mô hình phù hợp, đội thi sẽ cho chạy đồng thời nhiều mô hình khác nhau để tiến hành việc huấn luyện.
Bước 3- Kết hợp mô hình:
 Với cùng một câu hỏi, tham khảo nhiều ý kiến khác nhau sẽ cho ra câu trả lời chính xác và toàn diện nhất. Tương tự như vậy, khi giải bài toán Object Detection, để lấy được thông tin của các mô hình khác nhau, cần thực hiện các phép biến đổi tọa độ của bounding box (trung bình tọa độ, xóa bounding box giao nhau…). Đối với các đội thi, mỗi thành viên có thể xử lý các mô hình độc lập, sau đó sử dụng thuật toán gom vùng tổn thương để kết hợp các mô hình với nhau. Do đó, đội thi tham gia giải đề càng sớm và càng đông thành viên thì sẽ có càng nhiều lợi thế về số lượng mô hình cũng như thời gian xây dựng, kết hợp và thử nghiệm mô hình.
Bước 4- Lọc nhiễu: 
Để tăng độ chính xác của mô hình, bước cuối cùng nhưng cũng không kém phần quan trọng là loại bỏ các dữ liệu nhiễu khỏi tập huấn luyện. Ở đây, các đội tiến hành kết hợp một số phương pháp lọc nhiễu, xử lý để dữ liệu sạch hơn.
CHIẾN THUẬT THÔNG MINH:
Bên cạnh những bước cơ bản, trong quá trình thi đấu, các Kagglers cũng bỏ túi những chiến thuật riêng để xây dựng được mô hình chính xác và tối ưu nhất. Từ bộ dữ liệu, tài liệu tham khảo, đến việc tìm đồng đội và lựa chọn máy tính, tất cả những yếu tố này đều ảnh hưởng ít nhiều đến kết quả chung cuộc của đội thi.
1-Nghiên cứu thử thách: 
 Đối với từng bộ dữ liệu sẽ có các bài báo đi kèm, cần đọc kĩ cách nhãn được gán, các đặc tính của đối tượng. 
2-“Dắt lưng tài liệu tham khảo”:
 Tham khảo mục thảo luận (Discussion) ngay tại cuộc thi trên Kaggle, đặc biệt chú ý phần chia sẻ của những Discussion Master để học hỏi thêm ý tưởng của các chuyên gia. Ngoài ra, để thuật toán tối ưu, đội thi cũng cần tìm tòi thêm những tài liệu bên ngoài, đọc về những mô hình mới và tiên tiến nhất để trau dồi thêm kiến thức.
3-“Chọn bạn mà chơi”: 
Đối với những cuộc thi theo nhóm, muốn giành được chiến thắng, phải tìm được đồng đội tốt. Khi giải đề, mỗi người trong đội sẽ xây dựng một mô hình độc lập, thử nhiều phương pháp khác nhau. Sau đó, cả đội sẽ kết hợp các mô hình để đảm bảo độ đa dạng và chính xác.
4-Ra trận phải có “vũ khí tốt”: 
 Phần cứng máy tính càng mạnh, tốc độ thử nghiệm thuật toán càng nhanh.
Back to top button