Huy's Blog Theo dõi blog này

Deep Learning? Machine Learning? Học như thế nào?

Có một sự thật phũ phàng là cái ngành khoa học xuất hiện từ những năm 1959 không ai quan tâm giờ lại được bà con đổ xô đi học nhờ ơn của báo giới lúc nào cũng ra rả về Deep Learning này Deep Learning nọ...

Mình thấy nhiều bạn bây giờ cứ muốn học là đâm đầu vào học Deep Learning, hoặc tuyên bố là sẽ học Deep Learning, trong khi chắc kí hiệu này $\theta$ chưa chắc đã biết đọc tên như thế nào... mình cảm thấy quan ngại sâu sắc :v

Deep Learning chỉ là 1 mảng con của Machine Learning, và để tiếp cận được Deep Learning thì cần phải nắm được rất nhiều khái niệm cơ bản từ Machine Learning. Nếu không thì trong quá trình học các bạn sẽ rất dễ bỏ qua một vài keyword quan trọng, dẫn tới ko hiểu gì hết luôn.

Sau gần 1 năm theo đuổi việc tự học Machine Learning và thử nghiệm hết các thể loại course online, mình trích lược lại thành lộ trình học như sau, hy vọng sẽ giúp ích được cho nhiều bạn đang quan tâm và muốn bắt đầu tìm hiểu:

Học lý thuyết

Đầu tiên: Học course ML trên Coursera của Andrew Ng kết hợp đọc tài liệu course CS299 (đây là course chính của Andrew, cái course trên Coursera chỉ là trích lược từ course này)

Tiếp theo: Học tiếp course Deep Learning của Google, và nếu muốn đi sâu vào Neural Network thì đọc trước bài Neural Network And Deep Learning để nắm kiến thức cơ bản về Neural Network.

Để học được course này bạn cần có kiến thức về (trích nguyên văn trên udacity luôn nha):

- Basic machine learning knowledge (especially supervised learning)
- Basic statistics knowledge (mean, variance, standard deviation, etc.)
- Linear algebra (vectors, matrices, etc.)
- Calculus (differentiation, integration, partial derivatives, etc.)

Và 4 cái trên nó được cover trong course CS299.

Sau cùng: Học tiếp course CS231n, vì course này chỉ nói về CNN dùng cho nhận diện hình ảnh (tức là một ngách hẹp hơn nữa của Neural Network)

Học thực hành

Tất nhiên các khóa trên đều thuộc phạm trù Machine Learning Lý Thuyết (theo như phân loại trên lộ trình học Machine Learning của a @ZuzooVn), trong thời gian ôn luyện lý thuyết, bạn có thể order vài cuốn sách thiên về Machine Learning thực hành để làm quen ví dụ như cuốn:

Và học thêm Sci-Kit hoặc TensorFlow qua loạt bài ví dụ này để tự implement thử vài thứ cho dễ hiểu thêm. Hoặc máu thì có thể tự implement thủ công hoàn toàn, trong trường hợp này mình khuyên nên dùng Swift hoặc Ruby vì cả 2 ngôn ngữ này đều có sẵn một vài cấu trúc dữ liệu cũng như hàm tính toán có thể vận dụng ngay, tránh tốn thời gian implement những cái vặt vãnh, để focus vào cái thuật toán toàn cục.

Hai bước thực hành và lý thuyết bạn có thể tiến hành song song, nhưng tuyệt đối ko đc bỏ phần lý thuyết nếu bạn muốn học ML một cách nghiêm túc :D

Gõ xong nhấn Ctrl + Enter để gửi.