Lập trình AI

Giáo trình tự học AI cho người năng lực trung bình

Tôi là OnDebug.Net. Một ông hơn 30 tuổi, làm lập trình đã khá lâu, đủ để không còn quá hứng thú với framework mới mỗi năm, nhưng cũng chưa tới mức “nghỉ hưu sớm”.

AI, nói thật là trước đây tôi gần như không biết gì. Có nghe, có đọc lướt, có dùng ChatGPT cho vui hoặc hỏi code, nhưng nếu bảo tôi giải thích AI hoạt động thế nào, toán phía sau ra sao, model là cái gì thì… chịu. Gần sát con số 0.

Gần đây AI nổi lên quá mạnh. Một phần là tò mò công nghệ, một phần là cũng có chút lo lắng về công việc, kiểu: “Ừ thì chắc chưa chết ngay, nhưng không học thì sớm muộn cũng bị đào thải sớm hơn dự kiến.” Vậy là tôi quyết định bắt đầu học AI, nhưng theo cách khá… nghiệp dư.

Không đặt mục tiêu cao. Không nghĩ tới làm sản phẩm gì ghê gớm. Chỉ đơn giản là muốn hiểu bản chất, biết đằng sau mấy dòng magic kia là cái gì, và nếu có thể thì tự tay viết được một model AI đơn giản cho đỡ mơ hồ.


Xuất phát điểm của tôi

Tôi ghi lại cho rõ, để nếu ai đọc được cũng hiểu qua về tôi:

  • Tốt nghiệp Học viện Kỹ thuật Mật Mã, chuyên ngành là An Toàn Thông Tin, học lực trung bình – khá
  • Kinh nghiệm lập trình: khá, đủ dùng để kiếm sống
  • Học ngôn ngữ lập trình mới: không phải vấn đề
  • Toán học: gần như bằng 0

Chỗ “toán học bằng 0” nghe hơi nặng, nhưng thực ra không phải mất gốc hoàn toàn. Tôi vẫn có nền toán phổ thông, toán đại học, chỉ là lâu không động tới, giờ không nhớ gì, nếu bỏ công ra đọc lại thì tôi cũng hiểu được kha khá.


Cách tôi học

Tôi không học theo kiểu bài bản học thuật, cũng không có ý định “đu trend” hay chứng minh điều gì. Tôi học theo kiểu:

  • Đọc tới đâu, hiểu tới đó
  • Hiểu sai cũng ghi lại
  • Nhưng phải tự nhắc mình chỗ này có thể sai

Trong quá trình học, tôi quyết định ghi lại nhật ký học tập trên ondebug.net. Không phải tutorial, không phải khóa học hoàn chỉnh, mà đúng nghĩa là nhật ký: hôm nay học gì, vướng ở đâu, nghĩ ngớ ngẩn chỗ nào.

Viết ra để:

  • Xem mình có học nổi không
  • Sau này đọc lại xem đã ngu tới mức nào
  • Và để bản thân không “tự huyễn” rằng mình đã hiểu khi thực ra chưa

Mục đích của khóa tự học này

Mục tiêu của tôi khá đơn giản:

  1. Hiểu AI thực chất là gì, không chỉ ở mức dùng
  2. Nắm được toán học phía sau ở mức đủ hiểu, không quá sức
  3. Tự code được một model AI đơn giản
  4. Nếu sau đó còn đủ sức và hứng thú thì mới tính tiếp chuyện kế thừa, mở rộng từ các dự án AI mã nguồn mở

Tới đâu hay tới đó. Không ép, kpi max là 6 tháng.


Giáo trình tôi sẽ theo

Giáo trình này không phải tôi tự nghĩ ra. Nó được soạn thảo với sự hỗ trợ của ChatGPT, rồi tôi chọn lọc lại theo đúng khả năng của mình: từ không biết gì, tới khi làm được một thứ đơn giản.

Tôi sẽ học theo outline này, mỗi phần:

  • Tự đọc
  • Tự hiểu
  • Tự hỏi
  • Và tự ghi lại

Outline khóa tự học

GIÁO TRÌNH: TỪ KHÔNG BIẾT GÌ → CODE MODEL AI (CÓ TOÁN BẢN CHẤT)

Thời gian dự kiến: 8–10 tuần
Điểm dừng: Linear model / Neural Network nhỏ + hiểu vì sao nó học được


CHƯƠNG 0 – TÂM THẾ & KHUNG TƯ DUY (KHÔNG TOÁN)

Bài 0.1 – Ta đang học cái gì?

  • AI ≠ trí tuệ
  • Model = hàm toán
  • Learning = tối ưu

Ghi chú:

  • Đặt kỳ vọng đúng trước khi bước vào toán và code

Đã học tại đây: Tự học AI bài 0


CHƯƠNG 1 – TOÁN NỀN: KHÔNG GIAN & BIỂU DIỄN

Bài 1.1 – Số, vector, không gian

  • Scalar vs vector
  • Vector là gì trong AI
  • Mỗi feature = một chiều không gian

Ghi chú:

  • Dữ liệu = điểm trong không gian nhiều chiều

Đã học tại đây

Bài 1.2 – Tích vô hướng – dot product & ý nghĩa

  • Công thức dot product
  • Dot product = mức độ “ăn khớp”

Liên hệ với AI:

  • Similarity
  • Attention (ở các chương sau)

Đã học tại đây

Bài 1.3 – Ma trận(Matrix) là gì trong model?

  • Matrix = nhiều phép biến đổi tuyến tính
  • Linear layer = matrix multiplication

Đã học tại đây


CHƯƠNG 2 – HÀM SỐ & BIỂU DIỄN THẾ GIỚI

Bài 2.1 – Hàm số là gì trong Machine Learning?

  • Input → Output
  • Model = hàm xấp xỉ thế giới

Đã học tại đây

Bài 2.2 – Hàm tuyến tính – Linear function

  • y = wx + b
  • Vì sao linear model là không đủ

Đã học tại đây

Bài 2.3 – Hàm phi tuyến (activation function)

  • Nơ-ron nhân tạo
  • Neural Network là gì?
  • ReLU, Sigmoid (trực giác)
  • Vì sao phi tuyến là bắt buộc

Đã học tại đây


CHƯƠNG 3 – XÁC SUẤT & KHÔNG CHẮC CHẮN

Bài 3.1 – Xác suất không phải tuyệt đối

  • Probability ≠ certainty
  • Model luôn “đoán”

Bài 3.2 – Distribution & dữ liệu

  • Data distribution
  • Training data ≠ thế giới thật

Ghi chú:

  • Model học phân phối, không học bản chất

Bài 3.3 – Entropy (nhẹ nhàng)

  • Entropy = độ bất định
  • Loss giảm → entropy giảm

Ghi chú:

  • Không đi sâu công thức

CHƯƠNG 4 – LOSS FUNCTION: Ý MUỐN CỦA MODEL

Bài 4.1 – Loss function là gì?

  • Loss = “ta muốn model làm gì”
  • Không có loss → không có học

Bài 4.2 – Mean Squared Error (MSE)

  • Công thức
  • Vì sao dùng bình phương sai số

Bài 4.3 – Loss shape & hành vi model

  • Loss landscape
  • Vì sao model bị kẹt

Ghi chú:

  • Đổi loss = đổi “đạo đức” của AI

CHƯƠNG 5 – GIẢI TÍCH: GRADIENT & HỌC

(Chương quan trọng nhất)

Bài 5.1 – Đạo hàm là gì (trực giác)

  • Độ dốc
  • Hướng giảm nhanh nhất

Bài 5.2 – Gradient Descent

  • Vì sao đi ngược gradient
  • Learning rate là gì

Bài 5.3 – Chain rule & Backpropagation

  • Hàm hợp
  • Lan truyền sai số

Ghi chú sống còn:

  • AI học được vì ta truyền lỗi ngược lại

CHƯƠNG 6 – CODE MODEL TỪ ZERO (NUMPY)

Bài 6.1 – Code Linear Regression

  • Forward pass
  • Loss
  • Gradient
  • Update

Bài 6.2 – Training loop

  • Predict → Loss → Gradient → Update

Ghi chú:

  • Chạm tay vào lõi AI

Bài 6.3 – Quan sát model học

  • Loss giảm
  • Prediction thay đổi

Ghi chú:

  • Khoảnh khắc “AI không có phép màu”

CHƯƠNG 7 – NEURAL NETWORK NHỎ (TOÁN + CODE)

Bài 7.1 – Thêm hidden layer

  • Matrix + activation
  • Hàm hợp nhiều tầng

Bài 7.2 – Backprop trong Neural Network

  • Gradient qua nhiều layer
  • Vì sao deep network khó train

Bài 7.3 – Overfitting & giới hạn

  • Model nhớ dữ liệu
  • Model không hiểu thế giới

Ghi chú:

  • Thấy rõ giới hạn của AI

CHƯƠNG 8 – FRAMEWORK (GIẢI ẢO)

Bài 8.1 – Autograd là gì?

  • Máy tính đạo hàm thay con người
  • Không làm thay đổi bản chất

Bài 8.2 – Viết lại model bằng PyTorch

  • Ít code hơn
  • Cùng một toán phía sau

Ghi chú:

  • Framework ≠ trí tuệ

CHƯƠNG 9 – ĐIỂM DỪNG & KẾ THỪA

Bài 9.1 – Ta đã học được gì về AI?

  • Model = hàm
  • Learning = tối ưu
  • Data quyết định tất cả

Bài 9.2 – Từ đây tới LLM

  • Khác nhau ở quy mô
  • Không khác bản chất

Related Posts

Leave A Reply

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *