05 February, 2025

Lộ trình học AI toàn diện từ A đến Z năm 2025

February 05, 2025 Posted by Tôi Hùng ✅ , , , , , , No comments
Xin chào các bạn.

Lộ trình học AI toàn diện từ A đến Z năm 2025

Đây là bài viết đầu tiên của mình trong năm mới 2025. Đầu tiên thì mình muốn gửi lời chúc sức khỏe đến tất cả các bạn. Chúc mọi người năm mới 2025 gặp nhiều may mắn và thành công trong học tập, trong công việc và luôn hạnh phúc trong cuộc sống.

Trong bài viết này mình xin chia sẻ với các bạn 1 lộ trình học AI toàn diện từ A-Z để giúp các bạn có thể theo đuổi lĩnh vực hấp dẫn nhưng cũng vô cùng thách thức này. Lộ trình này được mình đúc kết từ chính kinh nghiệm của bản thân mình - 1 kỹ sư AI đã học và làm trong lĩnh vực AI được 10 năm nay. Lộ trình này hướng đến đối tượng là các bạn đang có ý định học AI, hoặc những bạn đã bắt đầu học AI nhưng vẫn chưa tìm được cho mình 1 hướng đi, 1 lộ trình rõ ràng. Lộ trình này cũng phù hợp cho các bạn trái ngành muốn chuyển qua học và làm về AI

Step 0: IT cơ bản

Bước này dành riêng cho các bạn trái ngành, không phải là dân IT. AI là 1 nhánh con của CNTT, do đó để có thể học AI 1 cách suôn sẻ, tránh tình trạng vừa học vừa phải vá các kiến thức nền bị thiếu, các bạn trái ngành trước khi học AI nên tự trang bị cho mình 1 chút những kiến thức nền tảng của ngành CNTT. Các bạn tất nhiên không nhất thiết phải học toàn bộ các môn học cơ sở ngành giống như các sinh viên IT. Tuy nhiên có 3 môn học các bạn nên học, hoặc chí ít là nên tìm hiểu, để đảm bảo bản thân có những kiến thức cơ bản cần thiết:

Lập trình cơ bản (Kỹ thuật lập trình): Đây có thể coi là phiên bản nâng cao hơn 1 chút so với môn Tin học các bạn đã được học ở cấp 3. Các bạn sẽ được làm quen với các khái niệm cơ bản nhất trong lập trình, như là biến, toán tử, vòng lặp, biểu thức điều kiện. Đây là nền tảng quan trọng cho những ai theo đuổi bất kỳ ngành con nào của CNTT, chứ không riêng gì AI

Cấu trúc dữ liệu và giải thuật: Môn học mang tính biểu tượng của sinh viên CNTT. Trong môn học này, các bạn sẽ được làm quen với các cấu trúc dữ liệu phổ biến, được sử dụng rộng rãi trong lập trình cũng như thuật toán như là danh sách liên kết, ngăn xếp, hàng đợi, cây, đồ thị, … Các bạn cũng sẽ biết được cách đánh giá xem 1 thuật toán có tối ưu không, cả về thời gian xử lý cũng như tài nguyên tính toán, thông qua khái niệm độ phức tạp của thuật toán. Khái niệm này sẽ đi theo chúng ta trong suốt quá trình lập trình sau này

Cơ sở dữ liệu: AI nói chung, cũng như Machine Learning hay Deep Learning nói riêng hoạt động dựa trên dữ liệu. Mọi mô hình AI đều cần dữ liệu để huấn luyện (train), kiểm tra (test) và triển khai (deploy). Nếu không có kiến thức về cơ sở dữ liệu, bạn sẽ gặp khó khăn trong việc thu thập, lưu trữ dữ liệu một cách có tổ chức cũng như truy vấn và trích xuất dữ liệu một cách hiệu quả. Học cơ sở dữ liệu không chỉ giúp bạn quản lý dữ liệu tốt hơn mà còn giúp bạn làm việc với AI một cách hiệu quả và chuyên nghiệp hơn.
Nguồn học: Các bạn có thể tham khảo 1 trong số các nguồn sau:
Video khóa học CS50 của Harvard
Video khóa học Introduction to Programming and Computer Science
Cả 2 đều được chia sẻ trên kênh Youtube của freeCodeCamp

Step 1: Toán

Có 1 thực tế là nếu mục tiêu của bạn khi học AI là để trở thành 1 Data Scientist, Machine learning hay AI engineer làm việc trong các công ty chứ không phải để trở thành AI researcher hay là phD, thì bạn chỉ cần nắm được 1 vài các kiến thức Toán ở mức cơ bản là được rồi. Lý do là vì các thư viện ngày nay đã làm hết các công đoạn khó, bao gồm cả các phép toán phức tạp, và chúng ta khi sử dụng chỉ đơn giản là gọi các hàm đã được xây dựng sẵn từ các thư viện này là xong. Tuy nhiên, nếu nắm rõ và hiểu được bản chất của các kiến thức Toán này thì bạn sẽ nổi bật lên so với phần lớn những người khác, và giúp bạn có rất nhiều lợi thế trong cả quá trình đi xin việc cũng như làm việc sau này.
Nắm chắc các kiến thức Toán nền tảng sẽ giúp các bạn:
Tinh chỉnh các mô hình Machine Learning
Giải thích kết quả/dự đoán của các mô hình

Vô cùng quan trọng: Để pass phỏng vấn xin việc. Nói gì thì nói, phải vượt qua được các vòng phỏng vấn, có được 1 vị trí trong công ty thì lúc ấy các bạn mới có thể gọi hàm, xài thư viện có sẵn được
Thật ra bạn không cần phải học toàn bộ các thể loại toán giống như hồi còn học cấp 2 cấp 3. Bạn không cần phải học hình học không gian, không cần phải học số phức, không cần phải ngồi giải bất đẳng thức,... Chỉ có 1 vài mảng Toán quan trọng, có liên quan trực tiếp đến cách các mô hình Machine Learning, Deep Learning được xây dựng và huấn luyện mà các bạn cần phải nắm được, bao gồm:
Xác suất thống kê: Đây có lẽ là mảng Toán quan trọng nhất mà các Data Scientist tương lai cần phải nắm được. Những kiến thức về xác suất thống kê sẽ giúp chúng ta hiểu và xử lý dữ liệu 1 cách chính xác. Ví dụ, nếu bạn có một tập dữ liệu về thu nhập của người dân, nhưng có một số giá trị cực kỳ cao (người siêu giàu), bạn cần xác định xem có nên loại bỏ hay giữ lại những giá trị này để tránh làm sai lệch mô hình. Ngoài ra thì kiến thức về xác suất thống kê cũng giúp chúng ta đánh giá được độ tin cậy của mô hình. Ví dụ khi xây dựng mô hình dự đoán giá nhà, nếu giá trị R2 = 0.85, có nghĩa là mô hình giải thích được 85% sự biến động của giá nhà.

Đại số tuyến tính: Trong phần này chúng ta sẽ chủ yếu tập trung vào các phép toán với ma trận và vector. Các phép toán này chính là cách mà các mô hình Machine Learning tương tác với dữ liệu huấn luyện. Ngoài ra các kiến thức khác của đại số tuyến tính, mà cụ thể là kiến thức về trị riêng và vector riêng cũng rất quan trọng để các bạn có thể hiểu được các kỹ thuật giảm chiều dữ liệu.

Giải tích: So với xác suất thống kê hay đại số tuyến tính thì lượng kiến thức về giải tích mà các bạn cần nắm được khá ít. Chủ yếu các bạn chỉ cần nắm được khái niệm Gradient - phiên bản mở rộng của đạo hàm mà các bạn được học thời cấp 3 là đủ. Đây chính là tiền đề để các thuật toán tối ưu trong Deep Learning vận hành nhằm tối ưu hóa các mô hình

Lượng giác: Khối lượng kiến thức về lượng giác thời cấp 3 rất nặng, nhưng với riêng AI thì kiến thức liên quan cũng khá ít. Chủ yếu là kiến thức về cosine được áp dụng trong cosine similarity - tính toán sự tương đồng giữa 2 đối tượng thông qua vector của chúng. Ngoài ra thì kiến thức về lượng giác cũng được áp dụng trong 1 vài phép biến đổi ảnh, ví dụ như xoay ảnh

Nếu thời cấp 3, toán là môn học yêu thích của bạn, thì bước này sẽ cực kỳ nhẹ nhàng với bạn. Nếu năm đại cương, bạn đã được học các môn Toán cao cấp, và bạn ổn với các môn học này, thì bước này bạn gần như có thể bỏ qua luôn. Thời mình học Bách Khoa, 4 môn toán cao cấp trong năm đầu cộng với bộ đôi xác suất thống kê và Toán rời rạc năm 2 là quá đủ để giúp mình không cần phải ôn hay học lại toán khi học AI sau này
Nguồn học: Các bạn có thể tham khảo 1 trong số các nguồn sau:
Các khóa học về xác suất thống kê, đại số tuyến tính và giải tích trên Khan Academy
Các video về đại số và giải tích trên kênh Youtube 3Blue1Brown (Có minh họa vô cùng dễ hiểu)

Step 2: Python

Để xây dựng nền tảng vững chắc trong lĩnh vực AI, việc nắm vững ngôn ngữ lập trình Python là bước quan trọng tiếp theo sau khi đã trang bị kiến thức toán học cơ bản. Python được ưa chuộng trong cộng đồng AI và Data Science nhờ vào cú pháp rõ ràng, thư viện phong phú và cộng đồng hỗ trợ mạnh mẽ.
Nếu bạn đã từng tiếp xúc với lập trình, đã từng học lập trình 1 ngôn ngữ lập trình nào đó như C, C++, Java hay Javascript, hay đơn giản hơn là nếu hồi cấp 3 bạn không ngủ gật trong giờ Tin học, thì bước này bạn sẽ hoàn thành cực kì nhanh chóng. Tuy nhiên, nếu bạn là người chưa từng có kinh nghiệm lập trình thì bạn cũng không phải lo, vì Python là 1 ngôn ngữ vô cùng dễ học với cú pháp đơn giản. Giống như các ngôn ngữ lập trình phổ biến khác, các bạn có thể dễ dàng tìm thấy hàng tá các khóa học cũng như tài liệu miễn phí trên mạng về Python

Ở bước này có 1 điều các bạn cần chú ý: Nếu các bạn là những người chưa từng tiếp xúc với lập trình bao giờ, thì hãy bắt đầu học Python bằng việc học các kiến thức cơ bản để quen thuộc với cú pháp của Python. Đừng vội nhảy ngay vào xài các thư viện được xây dựng sẵn vì điều đó sẽ khiến cho các bạn sớm bị phụ thuộc vào các thư viện. Điều này sẽ không tốt cho quá trình các bạn đi làm sau này, vì nhiều khi sẽ có những task mà không có thư viện có sẵn nào làm cho các bạn, và các bạn sẽ buộc phải code thuần. Lúc này việc nắm chắc nền tảng của Python sẽ giúp các bạn rất nhiều

Thường những người mới học Python sẽ bắt đầu với việc sử dụng Jupyter Notebook. Đây là 1 ứng dụng mã nguồn mở giúp người dùng có thể code trực tiếp lên đó theo phong cách step-by-step rất dễ hiểu và chia sẻ code với người khác 1 cách vô cùng dễ dàng. Khi đã quen thuộc với cú pháp của Python, chúng ta có thể sử dụng các IDE chuyên nghiệp như Pycharm hay VS Code - những công cụ giúp chúng ta thực hiện những tác vụ phức tạp hơn, ví dụ như là tìm và sửa lỗi
Nguồn học: Các bạn có thể tham khảo 1 trong số các nguồn sau:
Video khóa học Introduction to Programming with Python trên kênh của freeCodeCamp
Các tutorial trên trang w3school

Step 3: Các thư viện AI/Data Science/Machine Learning

1 trong số những lý do khiến cho Python trở nên phổ biến trong cộng đồng học và nghiên cứu AI nói chung cũng như Data Science/Machine Learning nói riêng chính là nhờ hệ sinh thái vô cùng đa dạng với rất nhiều các thư viện hữu ích. Chúng ta có 1 vài những cái tên đáng chú ý sau:

Numpy: Thư viện toán học nền tảng, tập trung vào xử lý các mảng đa chiều cũng như các tính toán số học. Rất nhiều phép toán trong các thư viện về Machine Learning hay Deep Learning được xây dựng dựa trên các phép toán trong Numpy. Đây là thư viện BẮT BUỘC phải thành thạo cho bất kỳ ai học về AI

Pandas: Được thiết kế để thao tác và phân tích dữ liệu, đặc biệt là dữ liệu có cấu trúc (như dữ liệu dạng bảng hoặc chuỗi thời gian)

Các thư viện trực quan hóa dữ liệu: Matplotlib, Seaborn hay Plotly

Các thư viện mình vừa kể trên sẽ là những người bạn đồng hành trong học tập cũng như công việc sau này của các bạn

Nguồn học: Các bạn có thể tham khảo 1 trong số các nguồn sau:
Tutorial trên trang chủ của từng thư viện
Tutorial trên trang w3school

Step 4: Machine Learning

Giờ chúng ta bắt đầu vào phần trọng tâm trong toàn bộ roadmap này: Machine Learning
Sau khi đã trang bị cho bản thân những kiến thức nền tảng về Toán, về lập trình, về giải thuật, giờ chúng ta sẽ bắt đầu học và tìm hiểu về Machine Learning. Machine Learning là một tập hợp các thuật toán giúp máy tính học từ dữ liệu mà không cần lập trình rõ ràng từng quy tắc. Đây chính là trái tim của AI và được ứng dụng rộng rãi trong nhiều bài toán như dự báo tài chính, dự đoán bệnh hay phân loại sản phẩm. Học Machine Learning sẽ giúp chúng ta hiểu được cốt lõi của AI

Có 1 lỗi mà rất nhiều người mắc phải khi học đến bước này, đó là họ chỉ học cách sử dụng các thư viện, gọi các mô hình và huấn luyện chúng thông qua các hàm được xây dựng sẵn mà không tìm hiểu về thuật toán đứng sau các mô hình này. Điều này dẫn đến 1 hệ quả là chúng ta chỉ biết mô hình đưa ra dự đoán là gì, nhưng lại không biết được vì sao nó lại đưa ra dự đoán như vậy, hay là làm sao để có thể cải thiện mô hình, giúp cho ra các dự đoán tốt hơn

Khi học về Machine Learning, chúng ta sẽ chủ yếu tìm hiểu và phân tích các thuật toán trong Supervised Learning (học có giám sát) và Unsupervised Learning (học không có giám sát). Các thuật toán học có giám sát được huấn luyện với dữ liệu có đánh nhãn, trong khi các thuật toán học không có giám sát thì được huấn luyện với dữ liệu không được đánh nhãn. Đây là 2 nhóm thuật toán phổ biến nhất và có ứng dụng rộng rãi nhất trong Machine Learning

Khi học về Machine Learning, các bạn cũng sẽ cần đồng thời làm quen với các thư viện Machine Learning trong Python, để đảm bảo lý thuyết và thực hành đi đôi với nhau. Cái tên đầu tiên là Scikit-learn. Đây là thư viện số 1 về Machine Learning. Không 1 Data scientist hay ML/AI engineer nào không biết đến thư viện quốc dân này. Scikit-learn cung cấp các công cụ mạnh mẽ để xây dựng, huấn luyện, và đánh giá mô hình Machine Learning. Được xây dựng trên các thư viện cốt lõi như NumPy, SciPy, và matplotlib, Scikit-learn hỗ trợ cả các thuật toán học có giám sát và học không giám sát
Khi đã tự tin với Scikit-learn rồi thì các bạn có thể tiếp tục làm quen với XGBoost - một thư viện chuyên biệt, được tối ưu hóa cho thuật toán boosting trong Machine Learning. So với Scikit-learn, vốn là một thư viện tổng quát chứa nhiều thuật toán Machine Learning khác nhau, XGBoost có hiệu suất và tốc độ cao hơn, do tận dụng được sức mạnh của GPU cũng như khả năng tối ưu hóa các luồng song song. Ngoài ra khi làm việc với các dữ liệu lớn thì XGBoost cũng xử lý tốt hơn, trong khi các thuật toán trong Scikit-learn hoặc là dễ bị tràn bộ nhớ, hoặc có kết quả không tốt bằng
Tóm lại, sau bước số 4 này, các bạn sẽ cần:
Hiểu lý thuyết cốt lõi về các thuật toán.
Thực hành xây dựng và huấn luyện các mô hình ML trên nhiều bộ dữ liệu khác nhau.
Tối ưu mô hình để có hiệu suất cao nhất.
Nguồn học: Các bạn có thể tham khảo 1 trong số các nguồn sau:
Video khóa học Machine Learning for Everybody trên kênh của freeCodeCamp
Khóa Machine Learning specialization trên Coursera
Khóa CS229: Machine Learning của đại học Stanford
Nếu bạn hoàn thành bước này, bạn đã sẵn sàng tiến xa hơn trong hành trình AI của mình!

Step 5: Deep Learning

Sau khi đã nắm vững Machine Learning, bước tiếp theo trong hành trình AI là Deep Learning. Deep Learning là một nhánh của Machine Learning sử dụng Mạng nơ-ron nhân tạo (Artificial Neural Networks) để mô phỏng cách hoạt động của não bộ con người, giúp máy tính học từ dữ liệu phức tạp như hình ảnh, âm thanh, văn bản, và video. Deep Learning là cốt lõi của AI hiện đại, được ứng dụng rộng rãi trong:

Thị giác máy tính (Computer Vision): Nhận diện khuôn mặt, xe tự lái, y tế thông minh.

Xử lý ngôn ngữ tự nhiên (NLP): Chatbot, dịch ngôn ngữ, trợ lý ảo.

Khi học về Deep Learning, chúng ta sẽ bắt đầu tìm hiểu xem, 1 Neural Network được tạo thành như thế nào. Sau đó là các kiến trúc nâng cao hơn như Convolutional Neural Network (CNN) được ứng dụng rộng rãi trong các bài toán trong mảng Thị giác máy tính hay Recurrent Neural Network (RNN) thường được sử dụng để giải quyết các bài toán trong mảng Xử lý ngôn ngữ tự nhiên. Ngoài ra, chúng ta cũng cần nắm vững các kiến thức về Transformers - kiến trúc trong Deep Learning thu hút được rất nhiều sự chú ý trong những năm gần đây, được sử dụng rộng rãi trong các bài toán trong Xử lý ngôn ngữ tự nhiên Cũng giống như khi học về Machine Learning, khi học về Deep Learning chúng ta cũng cần kết hợp giữa lý thuyết và thực hành để đạt hiệu quả cao nhất. Nếu trong Machine Learning, Scikit-learn là ông vua thì trong Deep Learning, có 3 thư viện phổ biến nhất về Deep Learning, bao gồm Pytorch, Tensorflow và Keras. Tuy nhiên để có thể sử dụng thành thạo cả 3 thư viện thì sẽ mất rất nhiều thời gian. Mình khuyên các bạn nên tập trung vào cái tên đầu tiên - Pytorch - thư viện được phát triển bởi Facebook. Pytorch tổng hòa được sự đơn giản, dễ sử dụng - thứ mà Keras có, cùng với sự linh động và khả năng tùy chỉnh của Tensorflow. Bản thân mình trong quá trình học và làm trong lĩnh vực AI 10 năm nay, đây cùng là thư viện Deep Learning mình chủ yếu sử dụng
Nguồn học: Các bạn có thể tham khảo 1 trong số các nguồn sau:
Video khóa học Deep Learning Crash Course trên kênh của freeCodeCamp
Pytorch for Deep Learning & Machine Learning trên kênh của freeCodeCamp
Khóa Deep Learning specialization trên Coursera
Khóa CS239: Deep Learning của đại học Stanford
Sau khi hoàn thành bước này, chúng ta đã có đủ vốn kiến thức cũng như khả năng lập trình để bước vào bước cuối cùng trong toàn bộ quá trình học AI - Xây dựng các Project thực tế

Step 6: Real Projects

Trong các bước 4 và 5, các project chúng ta xây dựng thường là qua các bài tập trên trường, ở trung tâm hoặc qua các tutorial trên mạng. Hầu hết các project chúng ta làm đều làm với các toy dataset - các dataset thường đã qua quá trình chọn lựa và sàng lọc bởi giảng viên hoặc người hướng dẫn. Chúng rất tốt khi giúp chúng ta làm quen và thực hành với các khái niệm, các thuật toán, các mô hình, nhưng để có thể thực sự hệ thống hóa toàn bộ kiến thức, cũng như có được những hình dung ban đầu về công việc sau này các bạn sẽ làm, chúng ta cần những thứ “THẬT” hơn thế. Đó chính là những Real Project trên những Real Dataset. Khi làm việc với những bộ dữ liệu thực tế, không có bàn tay can thiệp của người hướng dẫn, và cũng không có ai chỉ tay hướng dẫn xem các bạn phải làm gì trước, làm gì sau, hay nói cách khác là làm mọi thứ từ A-Z, các bạn mới thực sự chuyển hóa được những gì viết trong sách vở, tài liệu thành kiến thức của chính các bạn. Khi đi xin việc, những project này cũng sẽ là những vũ khí hữu ích, giúp các bạn ghi điểm với nhà tuyển dụng

Có rất nhiều cách khác nhau để có thể có được các Real Dataset này. 1 trong số các cách phổ biến nhất là lên Kaggle - nền tảng về Data Science & Machine Learning lớn nhất thế giới - nơi bạn sẽ tìm được rất nhiều các bộ dữ liệu thực tế đến từ nhiều lĩnh vực khác nhau như y tế, giáo dục, tài chính, ngân hàng, …

Trong bước cuối cùng này, ngoài việc giải quyết các bài toán thực tế trên những bộ dữ liệu thực tế, hãy đồng thời tìm hiểu về Docker hay các nền tảng điện toán đám mây như AWS, Google Cloud hay Microsoft Azure. Đây là những công cụ không thể thiếu mà các Data Scientist, các kỹ sư AI phải biết sử dụng trong quá trình đi làm.

Cuối cùng, đừng quên chia sẻ thành quả của mình lên Github - bản CV thứ 2 dành riêng cho các lập trình viên. Nếu project của các bạn nhận được sự tương tác lớn đến từ cộng đồng, đó sẽ là 1 điểm cộng lớn trong mắt nhà tuyển dụng khi bạn đi xin việc

Mình hy vọng lộ trình trên sẽ hữu ích cho các bạn trên con đường chinh phục AI

Theo J2Team.

0 Comments:

Post a Comment

Top