Lộ trình học Machine Learning/ Deep Learning từ đầu cho các bạn Lập Trình Viên
1. Giới thiệu
Đây là kế hoạch dài hơi cho sự nghiệp học tập Machine Learning / Deep Learning của mình.
Mình hiện là Lập Trình Viên mobile (Android, iOS, Blackberry) với 6 năm kinh nghiệm và không có bằng cấp Thạc sĩ, Tiến sĩ gì về Computer Science.
Mục đích chính của mình là tìm 1 cách học Machine Learning / Deep Learning thật hiệu quả cho các bạn không có kinh nghiệm nghiên cứu khoa học. Cách học này sẽ tập trung vào việc thực hành các ứng dụng của ML/DL trước, sau đó mới đi dần dần vào lý thuyết, toán học sau .
2. Tại sao lại theo cách này?
Các bạn có thế tìm kiếm nhanh trên google về cách học Machine learning, và nhận thấy ngay việc phải học Toán: xác xuất thống kê, đại số tuyến tính, giải tích … đầu tiên.
Ngoài ra việc nghiên cứu khoa học ở mức độ Thạc sĩ, Tiến sĩ là điều cần thiết khi muốn tìm hiểu sâu.
Cũng như các bạn, mình gặp khá nhiều rắc rối trong việc này.
- Có nên bỏ làm để đi học Thạc sĩ, Tiến sĩ?
- Ở Viêt Nam có học được ngành này không?
Có 2 loại Machine learning:
-
Machine Learning thực hành: Liên quan truy vấn cơ sở dữ liệu, làm sạch dự liệu, viết script để chuyển đổi data và gắn kết thuật toán với các thư viện để giải quyết vấn đề.
-
Machine Learning lý thuyết: Liên quan tới toán học, lý thuyết, nghiên cứu khoa học.
Theo mình cách học tốt nhất dành cho các bạn chưa có căn bản về nghiên cứu là tập trung vào thực hành: “thực hành - tìm hiểu - thực hành”, có nghĩa là đầu tiên các bạn sẽ làm quen với 1 vài bài toán và thực hành các giải pháp của bài toán đó, để làm quen với hướng xử lý và 1 vài thuật ngữ về ML/DL. Sau đó mới có thể học lý thuyết trong sách. Cứ thế lặp lại thì các bạn có thể nắm dc rõ về bản chất của ML/DL. Như vậy sẽ dễ tiếp cận hơn việc đọc sách khô khan.
3. Cụ thể học như thế nào?
Mình đã tạo ra roadmap rất chi tiết trên Github và hiện tại đang có hơn 2 nghìn bạn đang cùng xây dựng và học cùng mình.
ZuzooVn/machine-learning-for-software-engineers
machine-learning-for-software-engineers - A complete daily plan for studying to become a machine learning engineer.
Các bạn có góp ý gì có thể comment trên Github hoặc ngay tại thread này.
Mong rằng con đường tiếp cận Machine Learning, Deep Learning, Artificial Intelligence đỡ chông gai hơn với tất cả mọi người.
thấy cũng hứng thứ với mảng này, nhưng thấy liên quan đến toán xác xuất, giải tích thì nản, xác xuất còn đỡ, chứ toán thì mù chữ luôn
So much cool, big thumb up (y) (y). Xin hỏi bạn đang làm việc ở đâu nhỉ? Nếu ở TP.HCM thì quá tốt, mình có thể trao đổi thêm.
Xin tự giới thiệu qua: hiện tại mình đang làm ở ANTS, với vai trò là Data Engineer, cũng không có bằng cấp gì nhiều, nhưng cũng may mắn có đủ năng lực, hiện tại đang điều hành một team nhỏ, xử lý dữ liệu đầu vào cho các tác vụ ETL, Intergrating, Realtime… cũng như chuẩn bị dữ liệu cho đội Data Mining. Dữ liệu hiện tại đang xử lý tầm 500tr~600tr/ngày.
Mong muốn của mình là đi theo con đường hybird giữa DE và Data Analytics, bởi vì việc này nó phù hợp hơn với mình do cũng nghiên cứu các ngành nghề khác nhau ngoài Software.
Lâu rồi mới thấy một bài post chất lượng, và sự đầu tư lẫn tinh thần ham học hỏi cao cỡ vậy.
Mình cũng ko có base về Toán, nên lúc đầu học theo cách của trường đại học khá nản
Mình đang ở Hà Nội bạn ạ. Có gì cần trao đổi cụ thể hơn, thì bạn có thể trao đổi tại đây, hoặc bạn có thể mail cho mình ở địa chỉ mail trên profile của Github nhé.
Cảm ơn bạn đã quan tâm.
Ồ, tiếc quá nhỉ.
Vậy bạn có thể cho biết hiện tại bên bạn đã áp dụng ML/DL này ở những vấn đề gì rồi ? Nếu được bạn có thể trình bày chi tiết vấn đề và cách giải quyết nó không?
Mình đang nghiên cứu và thực hành độc lập, ko liên quan đến bên nào cả gì cả.
Các vấn đề mình đã và đang nghiên cứu:
Mình chưa xem kỹ roadmap này nhưng cho mình hỏi tại sao không bắt đầu với khóa intro to machine learning của Udacity mà lại để ở cuối?
Mình cũng đang tự học và chưa biết bắt đầu từ đâu.
Udacity’s Intro to Machine Learning là khóa học đầu tiên ở MOOC mà mình recommend.
Ở roadmap cần kết hợp đọc cả web, xem video, học MOOC, đọc textbook…
Nên mình đang chưa sắp xếp dc roadmap cho việc lẫn lộn đó. Hiện mình đang chỉ sắp mức được độ ưu tiên theo từng chủ đề.
Có gì chưa hợp lý, các bạn comment thêm nhé
OK vậy mình sẽ thử học một số courses và gửi pull request về road map học cái nào trước
Cảm ơn anh đã tạo ra lộ trình này cho mọi người. Em nghĩ học theo kiểu top down này rất hợp lý tại em cũng có đọc thử ML thì toàn là Toán không, chưa hiểu gì đã cảm thấy nản rồi.
Không biết ML/DL có nặng về giải thuật không anh?
Vỉ nếu không nặng về toán thì mình nghĩ bạn không cần thiết học ML đâu . chỉ cần học cách xài thư viện à. Google, microsoft, ibm đều có khá nhiều api rất mạnh, và nó chắc chắn mạnh hơn rất nhiều so với việc bạn tự học, tự xây dựng và chỉ dừng lại ở bề nổi.
Nhưng muốn thực sự có một công việc ở trong ML/AI/DS, muốn làm “scientist” thì cần phải hiểu sâu về bản chất và cả toán nữa, nó rất nặng về toán, ML thiên về toán hơn thiên về tin. Hầu như không có việc “engineer” trong lĩnh vực AI .
Để nghiên cứu sâu về ML thì toán là 1 điều bắt buộc.
Tuy nhiên đấy là cho các bạn định hướng nghiên cứu, sáng tạo ra cái mới. Còn mới đầu nên học cách tìm hiểu việc sử dụng thư viện, rồi dần dần mày mò xem thư viện nó đang làm cái khỉ gì trong đó? Lúc đó thì giải thuật, toán học … là thứ bạn cần phải đối mặt.
anh cho em hoir là mấy cái này biểu diễn bằng ngôn ngữ gì đó ạ
Tuỳ theo library thì có các ngôn ngữ lập trình khác nhau. Tuy nhiên phổ biến nhất vẫn là Python và R
Em là sinh viên năm 3 và cũng là mobile dev tuy nhiên chỉ có 1 năm kinh nghiệm , em cũng đang tìm hiểu mảng này và lấy làm base để tiếp tục theo đuổi IoT , em đang học tại đại học bách khoa anh có thể cho e xin mail hoặc cách liên lạc không ạ ? Sau naỳ nếu a có thành lập nhóm hay có dự án nhỏ trainning sinh viên mong e có thể tham gia ạ ! Em cảm ơn .
anh cho em hỏi em đang định làm cái app nó như này nó sẽ chụp một cái ảnh để đối chiếu với kho ảnh của em sau đó sẽ in ra điều mà cái đó định nói lên thì có cần học về ml ko anh
Mình cũng đang tự training thôi bạn ơi, bạn có thể lấy mail của mình ở profile trên Github nhé.
Sử dụng Machine learning để phân tích data lấy được từ các thiết bị IoT cũng là 1 hướng phát triển khá hay. Hiện nay các thiết bị IoT mình đang có ko có đủ data để thành BigData, do đó cũng chưa áp dụng được cái gì cả.
Chuyên sâu về cái này thì khá phức tạp, bạn có thể tìm hiểu “Generating Sentences from Images” tại đây: https://research.googleblog.com/2014/11/a-picture-is-worth-thousand-coherent.html
Hiện tại đã có các bạn đóng góp bản dịch tiếng Bồ Đào Nha.
Có bạn nào giúp mình dịch lại sang tiếng Việt được ko
Bản hiện tại là Tiếng Anh mà anh , dịch thì Việt Trung Nhật Anh là đủ @@ . Chơi tới tiếng Bồ Đào Nha oải vậy trời .
Opensource mà bạn, cứ có contribitor thì tiếng gì cũng được dịch.
Ngoài việc lên Top trending của tháng trên Github, dự án “Machine Learning for Software Engineers” của mình đã được đăng lên trang Product Hunt danh giá Nhờ các bạn nào quan tâm góp ý tiếp nhé.
https://www.producthunt.com/posts/machine-learning-for-software-engineers