Lập trình AI

Nhật ký tự học AI bài 1.2 – Tích vô hướng (dot product)

Bài này thì lúc đầu cũng bỡ ngỡ nhưng cứ gỡ rối dần bằng cách hỏi AI tôi cũng hiểu ra được. Mục tiêu bài này thì đơn giản: tích vô hướng là cái gì, nó có tác dụng gì trong AI, cách tính toán thế nào.

Tích vô hướng

Đầu tiên tôi sẽ hỏi Tích vô hướng là cái gì?

Tích vô hướng là một phép toán đại số lấy hai chuỗi số có độ dài bằng nhau và cho kết quả là một số. Trong hình học Euclid, tích vô hướng với tọa độ Descartes của hai vectơ thường được sử dụng.

Ứng dụng của chúng trong toán là gì?

Dùng để đo đạc và tính toán hình học, giúp chuyển các khái niệm trừu tượng thành những con số cụ thể, ví dụ đo góc, kiểm tra tính vuông góc, tính độ dài và khoảng cách.

Cách tính toán

Giả sử ta có hai vector trong không gian n chiều:

a=(a1,a2,...,an),b=(b1,b2,...,bn)\vec{a} = (a_1, a_2, …, a_n), \quad \vec{b} = (b_1, b_2, …, b_n)

Tích vô hướng sẽ là:

ab=a1b1+a2b2++anbn\vec{a} \cdot \vec{b} = a_1 b_1 + a_2 b_2 + \dots + a_n b_n

Điều kiện để tích vô hướng được 2 vector này là chúng phải cùng chiều không gian, ví dụ cùng là 2 chiều, cùng là 3 chiều ..v..v. khác thì không tính được.

Tích vô hướng trong AI

Rồi, ôn lại toán thế thôi, giờ ta tiếp tục phân tích xem trong AI tích vô hướng được áp dụng thế nào:

Ví dụ: Model AI của tôi lưu 3 data Trái đất – Toán – Lý – Hóa

Khi người dùng hỏi: “Trái đất”, trái đất nó sẽ có cả data về toán lý hóa, thì AI nó sẽ coi:

  • Trái đất là 1 vector
  • Toán là 1 vector
  • Lý là 1 vector
  • Hóa là 1 vector

Lấy vector trái đất tích vô hướng 3 lần với: vector toán, lý, hóa. Và ra kết quả là 3 con số, ví dụ:

  • Trái đất & Toán = 5
  • Trái đất & Toán = 7
  • Trái đất & Lý = 9

Ba con số này trả lời cho ba câu hỏi:

  • “Trái đất liên quan tới Toán học bao nhiêu?”
  • “Liên quan tới Vật lý bao nhiêu?”
  • “Liên quan tới Hóa học bao nhiêu?”

Hiểu hiểu rồi, nhưng mà data về Toán Lý Hóa, và trái đất có cùng không gian đâu mà tích vô hướng được nhỉ? Lại hỏi tiếp AI, lấy mỡ nó rán nó thì được câu trả lời là mỗi model sẽ được quy định trước số chiều không gian, nên data cũng được lưu đúng số chiều đó. Tất cả dữ liệu (data) khi nạp vào một lớp (layer) cụ thể của mạng thần kinh đều phải được quy định về cùng một số chiều nhất định.

Và để làm được điều này, Encoder (Bộ mã hóa) đảm nhận nhiệm vụ “nhào nặn” dữ liệu thô thành các vectơ có cùng số chiều để AI có thể tính toán được. Tuy nhiên bài này không tìm hiểu cái Encoder này, sau này tìm hiểu sau, giờ mà tìm hiểu cái này là tôi loạn kiến thức luôn 😒.

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 *