Machine Learning không phải một ngành mới. Từ khi chiếc máy tính đầu tiên ra đời con người đã nghĩ đến việc tạo ra trí thông minh nhân tạo (AI). Quá trình phát triển AI đã có rất nhiều thăng trầm. Con người đã từng rất phấn khích rồi lại thất vọng. Có những năm tháng kéo dài hàng chục năm không có nhiều người còn nghĩ đến AI mà người ta gọi là “The winter of AI”. Nhưng nhờ vào những con người kiên trì theo đuổi AI, phát triển nền tảng lý thuyết Machine Learning, cho đến khi công nghệ tính toán có thể đáp ứng, AI hay ML bùng lên như một làn sóng mới. Những thành tựu đáng chú ý liên tục được phát minh, những thành tích liên tục bị xô đổ. Trong một vài tác vụ, các model ML đã vượt qua khả năng của con người. Dòng tiền đầu tư đổ vào AI/ML mạnh mẽ càng thúc đẩy làn sóng AI/ML vươn cao như một cơn sóng thần.

Một lý do khác trợ lực cho cơn sóng AI/ML đó là dữ liệu. Internet, nền tảng di động, mạng xã hội, thương mại điện tử,.. đã tạo ra một lượng dữ liệu khổng lồ đáp ứng nhu cầu của các thuật toán Deep Learning. Những ứng dụng Deep Learning luôn mang đến cảm giác bất ngờ đôi lúc giống như ảo thuật, ngay cả với những người tạo ra nó. Nó như một thứ gia vị thần bí càng tăng thêm sự thu hút đối với những người ngoài cuộc.

Mọi thứ đến quả thực quá nhanh kéo theo sự thiếu hụt nguồn lực về nhân sự. Các bài báo liên tục nhấn mạnh Data Science là nghề hot nhất thế kỷ 21, hay ngay bây giờ chính là thời điểm để học ML nếu bạn không muốn bị tụt hậu. Tôi không phản đối điều đó. Tôi chỉ muốn bạn đừng quá phấn khích. Đừng quên rằng đây không phải một công nghệ mới. Những thành quả ấn tượng đó dựa trên một nền tảng kiến thức thâm sâu bao hàm nhiều lĩnh vực hóc búa. Nếu bạn mới bắt đầu, hãy chuẩn bị tinh thần của một người sắp leo đỉnh Everest.

Tôi cũng đã từng bắt đầu, cũng đã từng trải qua nhiều khó khăn để biết còn nhiều khó khăn nữa trước mắt. Tôi chắc chắn là mình còn cách đỉnh núi rất xa, và tôi từ lâu đã từ bỏ việc nghĩ đến đỉnh núi làm động lực. Thay vào đó tôi tận hưởng thành quả của mỗi bước tiến lên, mỗi khi thấy mình tiến bộ. Đôi lúc tôi cũng tự mãn bằng một ly cafe ngẫm nghĩ về những gì mình đã vượt qua. Và ý tưởng của blog này đến vào những lúc đó. Tôi muốn đánh dấu lại những kinh nghiệm đã trải qua. Và nếu bạn cũng đi cùng con đường của tôi bạn sẽ có thêm một góc nhìn về ML. Có thể điều đó giúp bạn hiểu sâu hơn, hoặc đơn giản bạn có thêm một điểm tựa tinh thần rằng có người đã đi qua cột mốc này và bạn cũng sẽ làm được.

Blog này được tổ chức theo nhiều level gọi là các module, tạm bắt đầu bằng M00, các bài blog được đánh dấu bắt đầu từ B000. Tôi tạm chia những module đầu tiên như sau:

  • M00: dành cho tất cả mọi người, không yêu cầu background gì. Các bài viết ở module này mang tính đàm đạo về concept để có cái nhìn tổng quát.
  • M01: Programming, tổng hợp các bài viết về lập trình, cài đặt môi trường làm việc, luyện tư duy lập trình. Một chút về web để làm portfolio project.
  • M02: Database cơ bản, luyện SQL query.
  • M03: Data analysis, phân tích dữ liệu sử dụng các thư viện như Pandas, Seaborn, Numpy, Matplotlib, Scikit-learn,…
  • M04: Toán trong ML như Linear Algebra, Calculus, Statistic & Probability,..
  • M05: Machine Learning khởi động, nói về các thuật toán ML như Linear Regression, Logistic Regression, Decision Tree, Random Forest, SVM, Gradient Boosting,…
  • M06: Deep Neural Network, làm quen với Gradient Descdent, Forward & Backward Propagation, code lại mạng DNN bằng Python, các kỹ thuật train model, tuning hyper parameter, chống overfit,…
  • M07: TensorFlow 2.0, tổng hợp các bài về TF2.
  • M08: Computer Vision, OpenCV cơ bản, thuật toán CNN, build các ứng dụng bằng CNN: Image Classification, Segmentation, Object Detection,..
  • M09: NLP & RNN, các bài toán về xử lý ngôn ngữ, text, build các ứng dụng dùng Sequence model như Sentiment Analysis, Handwritting Text Recognition, Text generation, Voice Recognition,..
  • M10: Deployment, nói về cách đưa ML model lên Cloud để add thêm một đường link vào CV của bạn để show portfolio project.
  • M11: To be continue…

Bạn có thể thấy đây là một lượng kiến thức khá lớn dù đó mới chỉ là nhập môn về ML thôi. Tuy nhiên nếu bạn nắm vững những chủ đề này tôi tin rằng bạn có thể pass qua vòng tuyển dụng để gia nhập một team làm về ML rồi từ đó học hỏi thêm từ các cao thủ trong ngành.

Chúc bạn kiên trì và thành công!