Lập trình AI

Nhật ký tự học AI bài 2.3 – Hàm phi tuyến (Activation Function)

Mục đích bài này thì cần hiểu qua Nơ-ron là gì, mạng Neural Network. Nắm được kiến thức tổng quát về hàm phi tuyến tính.

Nơ-ron nhân tạo (Artificial Neuron) là gì?

Nơ-ron = 1 bộ xử lý quyết định cực nhỏ, các nhà khoa học đã bắt trước bộ não, mô phỏng lại cách các tế bào thần kinh sinh học hoạt động để tạo ra đơn vị xử lý nhỏ nhất trong mạng thần kinh nhân tạo.

Công thức tổng quát:

y=f(w1x1+w2x2+...+b)y=f(w1​x1​+w2​x2​+…+b)

Một nơ-ron nhân tạo làm 4 việc:

Nhận input
→ số liệu: điểm thi, pixel ảnh, chiều cao, cân nặng, vector…

Nhân trọng số (weight)
→ cái nào quan trọng thì nhân to
→ cái nào không quan trọng thì nhân nhỏ

Cộng bias
→ dịch ngưỡng quyết định sang trái / phải
→ giống như “ưu tiên ngầm”

Qua activation function
→ quyết định:

  • cho đi tiếp bao nhiêu
  • hay chặn lại

Ví dụ thực tế: Hãy tưởng tượng bạn đang cân nhắc xem “Có nên đi xem phim tối nay không?” (Đầu ra $y$).

Các yếu tố đầu vào (x) có thể là:

  1. Phim có hay không? (Trọng số lớn, vì đây là lý do chính).
  2. Bạn thân có đi cùng không? (Trọng số vừa phải).
  3. Trời có mưa không, trời lạnh/nóng? (Trọng số âm, vì thời tiết không tốt làm giảm khả năng bạn muốn đi).

Nơ-ron sẽ nhân các yếu tố này với mức độ quan trọng bạn đặt ra, cộng thêm “độ lười” của bạn (bias), rồi đưa qua hàm kích hoạt. Nếu tổng điểm vượt qua một ngưỡng nhất định, nơ-ron sẽ cho kết quả: “Đi xem phim!”.

Mạng thần kinh nhân tạo (Neural Network)

Ta đã có các Nơ-ron, giờ hãy coi là 1 viên gạch, bây giờ, hãy tưởng tượng chúng ta xếp hàng nghìn, hàng triệu viên gạch đó lại với nhau để xây dựng nên một tòa lâu đài – đó chính là Mạng thần kinh nhân tạo (Neural Network).

Vậy nó hoạt động thế nào? Giả sử tôi có bức ảnh 1 chú mèo, giờ cho AI đọc xem nó đoán đây là con mèo thế nào:

Bước 1: biến ảnh thành ma trận số qua các điểm ảnh

Bước 2: dữ liệu sẽ đi qua nhiều các tầng khác nhau trong lâu đài vừa xây bên trên:

  • Tầng 1: nó sẽ nhìn các nét vẽ, tìm ra bản đồ cạnh ngoài của con mèo thông qua sự thay đổi ánh sáng màu sắc.
Tầng 1: nó sẽ tìm ra bản đồ cạnh ngoài của con mèo thông qua sự thay đổi ánh sáng màu sắc
  • Tầng 2: Các nơ-ron ở tầng này sẽ kết hợp kết quả từ tầng một. Nếu thấy vài đường cong chụm lại, nó nhận ra: “À, đây là một cái vòm”. Nếu thấy hai hình tam giác nhỏ, nó đoán: “Có vẻ là cái tai”
  • Tầng 3: Ở tầng cao hơn, các nơ-ron bắt đầu nhận diện được các đặc điểm lớn hơn như: đôi mắt tròn, bộ ria dài, hay cái mũi nhỏ.

Bước 3: Sau khi đi qua hết các tầng ẩn, thông tin cuối cùng được tổng hợp lại ở tầng đầu ra. Giả sử tầng này có 3 nơ-ron đại diện cho: Mèo, Chó, và Gấu.

  • Mèo: 94%
  • Chó: 40%
  • Gấu 10%

Hàm phi tuyến tính

Trong hình học phổ thông ta nhớ rằng hàm tuyến tính y = ax + b là 1 đường thẳng trên hệ tọa độ Oxy, nhưng dữ liệu trong thực tế rất đa dạng, không có chuyện là đường thẳng như vậy, lúc này ta cần những hàm phức tạp hơn, và nó là hàm phi tuyến tính.

Hàm phi tuyến là các hàm số có đồ thị không phải là đường thẳng, thể hiện mối quan hệ phức tạp, thay đổi không đều giữa biến đầu vào và đầu ra, chúng có thể là đường cong, lượn sóng, parabol … ví dụ:

  • y=x2y = x^2y=x2
  • y=sinxy = \sin xy=sinx
  • y=max(0,x)y = \max(0, x)y=max(0,x) (ReLU)
  • Sigmoid, tanh, logarit, lượng giác …

Trong AI thì tuyến tính và phi tuyến tính phối hợp chặt chẽ với nhau như đường và sữa, không thiếu cái nào. Ví dụ tôi có danh sách điểm học sinh lớp 11 các môn Toán, Lý, Hóa, Sinh, Sử, Địa, Đạo Đức. Giờ người dùng sẽ hỏi AI: “Đánh giá học sinh A”:

Bước 1: sử dụng tuyến tính để tổng hợp thông tin:

z=0.3Toaˊn+0.2Lyˊ+0.2Hoˊa+0.1Va˘n+0.05S+0.05Đa+0.1Đođc+bz=0.3⋅To a ˊ n+0.2⋅L y ˊ ​ +0.2⋅H o ˊ a+0.1⋅V a ˘ n+0.05⋅Sử+0.05⋅Địa+0.1⋅Đạo_đức+b

Trong đó

  • Trọng số Weight (0.3, 0.2, 0.1 …) = môn nào quan trọng hơn
  • Toán/Lý/Hóa → weight cao
  • Sử/Địa → weight thấp
  • Đạo đức → có trọng số riêng
  • Bias = tiêu chuẩn chung của hệ thống (khắt khe hay dễ)

=> có thể coi nó là bộ quy tắc đánh giá, số liệu tùy theo cách đánh giá hoặc các thày cô giáo hoặc nhà trường.

Học sinh A:

  • Toán = 9
  • Lý = 8
  • Hóa = 8
  • Văn = 5
  • Sử = 5
  • Địa = 5
  • Đạo đức = 8

Ta tính được tại 1 neuron:

z=0.3×9+0.2×8+0.2×8+0.1×5+0.05×5+0.05×5+0.1×8=7.7z = 0.3×9 + 0.2×8 + 0.2×8 + 0.1×5 + 0.05×5 + 0.05×5 + 0.1×8 = 7.7

Ta thu được z = 7.7, nhưng lúc này ta chưa biết 7.7 là giỏi hay khá hay dốt.

Bước 2: Phi tuyến tính – ra quyết định

Từ số Z thu được ở tuyến tính, giờ ta có bộ quy tắc:

  • Nếu z8z ≥ 8 → Giỏi
  • Nếu 6.5z<86.5 ≤ z < 8 → Khá
  • Nếu 5z<6.55 ≤ z < 6.5 → Trung bình
  • Nếu z<5z < 5 → Yếu

Với z = 7.7 => loại khá.

Đây là phi tuyến vì:

  • không tăng đều (ví dụ bạn được 3 điểm, tăng 0.1 bạn vẫn là yếu, tăng 5 điểm bạn thành giỏi. Ngược lại bạn 7.9 thì chỉ cần 0.1 điểm đã thành giỏi, và tăng 3 điểm nữa thì vẫn là giỏi).
  • có ngưỡng: yếu, trung bình, giỏi khá.
  • có bước nhảy quyết định(kiểu bạn được 7.9 điểm thì bạn vẫn là khá, nhưng người khác hơn bạn có 0.1 đã là giỏi)

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 *