Doing AI with less Data

October 2, 2018

Bài viết được chia sẻ với mục đích xây dựng cộng đồng kĩ sư nghiên cứu AI, trong khuôn khổ Cinnamon AI Marathon - cuộc thi AI đường dài đầu tiên tại Châu Á.

 

Chi tiết cuộc thi: https://www.cinnamonailabs.com/cinnamon-ai-marathon

 

1. Dữ liệu là vàng, là tiền, là máu

 

Sau khi nhận thử thách số 1: “Nhận dạng chữ viết tay địa chỉ tiếng Việt - Handwriting OCR for Vietnamese Address”, phản ứng đầu tiên của anh T, hiện đang theo học tiến sĩ tại Đại học Hồng Kông, chuyên ngành Thị giác máy tính là “Mấy bài toán không đơn giản tí nào, yêu cầu người làm nắm vững về Deep Learning, có máy cấu hình cao (GPU) để chạy model, và tốn thời gian để code nữa.”  

 

Sự trỗi dậy và có phần được “ưu ái” của Deep Learning những năm gần đây đã tạo ra một làn sóng tiếp cận các bài toán từ góc độ “con nhà giàu”: dữ liệu dồi dào, cấu hình máy khủng, v..v

Bên cạnh 2 cường quốc về số hóa dữ liệu là Mỹ và Trung Quốc, thực tế thì ngay cả một nước phát triển, dẫn đầu về tự động hóa và cởi mở với việc ứng dụng AI như Nhật Bản, nhưng đồng thời lại là “thánh địa” của nhập liệu giấy tờ (paperwork), cũng chưa có cơ sở dữ liệu hoàn chỉnh. Nếu nhìn ở góc độ dữ liệu lớn, AI không chỉ là sân chơi độc quyền của những gã khổng lồ như Google, Facebook, mà còn là một cuộc cạnh tranh cấp quốc gia mà ưu thế hiển nhiên lại thuộc về những...con nhà giàu.   

 

2.Cơ hội nào với dữ liệu hạn chế?

 

Dữ liệu hạn chế là cơ hội để các kĩ sư/nghiên cứu viên đào sâu khai thác các đặc trưng của dữ liệu cũng như thể hiện khả năng vận dụng và tối ưu các kiến trúc mô hình.

Dựa trên kinh nghiệm cá nhân, chúng tôi đề xuất hai cách tiếp cận vấn đề dữ liệu cơ bản:

 

3.1 Tăng chất lượng dữ liệu

 

Một trong những điểm hạn chế của dữ liệu ít là không đủ cung cấp kiến thức tổng quan và đầy đủ cho các giải thuật/mô hình học máy để có thể đưa ra các dự báo chính xác. Trong trường hợp này, người xây dựng thuật toán có thể trực tiếp tạo thêm các đặc trưng (features) khác dựa trên những thông tin có sẵn và cung cấp nó cho mô hình (model). Ví dụ: sử dụng gradient, directMap để extract features trong việc nhận dạng chữ viết tay… Công việc này rõ ràng yêu cầu người xây dựng cần có kiến thức chuyên biệt (domain knowledge) về vấn đề đang đặt ra. Tuy nhiên trong một thế giới mà thông tin khá là mở hiện nay, mọi người đều có thể tham khảo và ứng dụng các ý tưởng (ideas) từ cộng đồng (literature).

 

Một điểm quan trọng khi làm việc với dữ liệu hạn chế (và kể cả khi làm việc với dữ liệu lớn), đó là đảm bảo chất lượng tập test, bằng cách phân chia tập train, validation và test hợp lý. Đặc điểm của dữ liệu hạn chế đó là rất dễ xảy ra tình trạng overfit và sẽ biến cỗ máy của chúng ta thành những chú vẹt không hơn không kém (chỉ biết lặp lại những gì đã học mà không có tri thức để giải quyết vấn đề).

Một gợi ý là khi chia tập train, validation và test, người xây dựng cần phải tuân theo cách mà model sẽ được evaluate trong thực tế. Ví dụ, model nhận diện chữ viết tay nhiều khả năng sẽ được evaluated trên chữ viết của những người hoàn toàn khác, với nét chữ, nội dung chữ, màu bút, màu giấy, ánh sáng... không nằm trong bộ dữ liệu mà ta có. Do đó, để đánh giá model của bản thân tốt hơn, người làm cần xây dựng dữ liệu test có chứa những đặc điểm chữ viết không có trong tập train (hoặc có một phần rất ít).

 

3.2 Tăng số lượng dữ liệu

 

Ngoài việc tăng chất lượng dữ liệu, ta có thể đối phó với việc dữ liệu ít bằng cách trực tiếp tăng số lượng dữ liệu, thông qua một vài phương pháp (trong rất nhiều phương pháp) dưới đây:

 

3.2.1 Tạo thêm dữ liệu thật

 

Người làm có thể trực tiếp thu thập dữ liệu bằng tay, hoặc crawl trên mạng Internet. Đây là phương pháp trực diện nhất, nhưng cũng yêu cầu khá nhiều thời gian và công sức, bởi nhiều khả năng người làm sẽ phải thu thập và đánh nhãn một cách thủ công. Điểm mạnh của phương pháp này đó là những dữ liệu thu thập được thường là dữ liệu có chất lượng tốt cho thuật toán/model học một cách hiệu quả.

 

Một cách thu thập data thật khác đó là kết nạp thêm những bộ datasets gần giống với bộ dataset hiện tại để train. Ví dụ, trong thử thách nhận dạng chữ viết tay Tiếng Việt, chúng ta có thể ứng dụng phần lớn bộ dataset Tiếng Anh do Tiếng Anh và Tiếng Việt cùng sử dụng chung hệ chữ latin. Ngoài ra, người tham gia còn có thể gián tiếp sử dụng bộ data khác bằng cách sử dụng các pre-trained model, và sau đó sử dụng transfer learning để áp dụng model đó vào bộ dataset Tiếng Việt.

 

3.2.2 Tạo dữ liệu giả giống thật

 

Nếu hiểu một chút về data và condition của data trong thực thế, người làm có thể dùng các thủ thuật (augmentation techniques) để làm phong phú thêm tập dữ liệu. Ví dụ, đối với ảnh, chúng ta có thể tạo thêm mờ, tạo thêm nhiễu, thay đổi góc nhìn... tùy vào data và đích đến của bài toán. Khi sử dụng phương pháp này, lưu ý phải dựa vào bài toán để chọn ra phương pháp augmentation, và model có thể học và overfit trên những augmentation techniques.

 

Gần đây, đi cùng với sự trỗi dậy của deep learning là sự đi lên của các model tạo ra data (generative models). Ứng dụng những công nghệ mới trong mảng này cũng là một cách hay để tạo thêm dữ liệu phục vụ mục đích training. Ví dụ, trong thử thách nhận dạng chữ viết tay Tiếng Việt, ta có thể tạo thêm các nét chữ viết tay sử dụng CycleGan, mặc dù những phương pháp này có độ khó và đòi hỏi công sức lớn ở giai đoạn ban đầu. Tuy nhiên, một khi đã có phương pháp, ta có thể tự sinh ra một lượng dữ liệu rất lớn. Một lưu ý cho hướng tiếp cận này, giống như phương pháp augmentation, người làm cần lưu ý là model có thể học và fit trên generative model.

 

4. Con người là tài sản vô giá

 

Lịch sử đã chứng minh, những phát kiến hoặc tiến bộ thực sự thường đến từ sự kiên định làm những điều khác biệt, thay vì lựa chọn những con đường hiển nhiên. Mặt khác, trong bối cảnh bản chất của cuộc sống là luôn bị hạn chế bởi tài nguyên và nguồn lực, sự “dư dả” về dữ liệu cũng như tài nguyên tính toán có thể trở thành yếu tố cản trở năng lực sáng tạo.

 

Hiện nay, các kĩ sư và nghiên cứu viên có xu hướng rơi vào bẫy “tài nguyên” thay vì tin tưởng vào năng lực triển khai thí nghiệm và tối ưu mô hình của mình. Đây là một điều rất đáng tiếc bởi tiềm năng của các bạn trẻ là vô hạn, không chỉ bởi tài sản lớn nhất của họ là nhiệt huyết và sự bền bỉ, mà bởi vì chính những hoàn cảnh “ngặt nghèo” là môi trường lý tưởng nhất cho sự tỏa sáng và đột phá của con người.

 

Cuối cùng, sự bền bỉ, khả năng “chịu đòn” nằm trong DNA của những dân tộc có lịch sử chính trị/chiến tranh và điều kiện sống khắc nghiệt như Nhật Bản, Việt Nam, Đài Loan, v..v. Con người trở thành tài sản duy nhất và vô giá, chiếm vị trí trung tâm trong một thế giới luôn biến đổi.

 

 

 

 

Author: Lily & John

Editor: Tommy

 

 

 

 

 

 

 

 

 

 

Please reload

Our Recent Posts

Please reload

Archive

Please reload

Tags

Please reload

©2018 by Cinnamon AI Labs