Perceptron trong Machine Learning

Perceptron là một loại nơ-ron nhân tạo. Nó là mạng nơ-ron đơn giản nhất có thể. Mạng nơ-ron là nền tảng của Machine Learning.

Frank Rosenblatt

Frank Rosenblatt (1928 – 1971) là một nhà tâm lý học người Mỹ nổi tiếng trong lĩnh vực trí tuệ nhân tạo. Năm 1957, ông đã khởi xướng một điều thực sự vĩ đại: "Phát minh" ra chương trình Perceptron trên máy tính IBM 704 tại Phòng thí nghiệm Hàng không Cornell.

Các nhà khoa học đã phát hiện ra rằng những tế bào não (nơ-ron) nhận đầu vào từ các giác quan của chúng ta bằng tín hiệu điện. Các nơ-ron, một lần nữa, sử dụng tín hiệu điện để lưu trữ thông tin và đưa ra quyết định dựa trên đầu vào trước đó.

Frank có ý tưởng rằng Perceptron có thể mô phỏng các nguyên tắc của não bộ, với khả năng học hỏi và đưa ra quyết định.

Perceptron

Perceptron ban đầu được thiết kế để nhận một số đầu vào nhị phân và tạo ra một đầu ra nhị phân (0 hoặc 1).

Ý tưởng là sử dụng các trọng số khác nhau để biểu thị tầm quan trọng của mỗi yếu tố đầu vào, và tổng những giá trị phải lớn hơn một giá trị ngưỡng trước khi đưa ra quyết định như có hay không (đúng hay sai) (0 hoặc 1).

Perceptron
Perceptron

Ví dụ về Perceptron

Hãy nghĩ về mạng nơ-ron (trong não bạn). Mạng nơ-ron cố gắng quyết định xem bạn có nên đi xem buổi hòa nhạc hay không.

Nghệ sĩ đó có giỏi không? Thời tiết có tốt không? Những yếu tố này nên có trọng số như thế nào?

Tiêu chíĐầu vàoTrọng số
Nghệ sĩ giỏix1 = 0 hoặc 1w1 = 0.7
Thời tiết tốtx2 = 0 hoặc 1w2 = 0.6
Có bạn đi cùngx3 = 0 hoặc 1w3 = 0.5
Có đồ ăn được phục vụx4 = 0 hoặc 1w4 = 0.3
Có phục vụ đồ uống có cồnx5 = 0 hoặc 1w5 = 0.4

Thuật toán Perceptron

Frank Rosenblatt đã đề xuất thuật toán này:

  • Đặt giá trị ngưỡng
  • Nhân tất cả các đầu vào với trọng số của chúng
  • Cộng tất cả các kết quả
  • Kích hoạt đầu ra

1. Đặt giá trị ngưỡng:

  • Threshold = 1.5

2. Nhân tất cả các đầu vào với trọng số của chúng:

  • x1 * w1 = 1 * 0.7 = 0.7
  • x2 * w2 = 0 * 0.6 = 0
  • x3 * w3 = 1 * 0.5 = 0.5
  • x4 * w4 = 0 * 0.3 = 0
  • x5 * w5 = 1 * 0.4 = 0.4

3. Cộng tất cả các kết quả:

  • 0.7 + 0 + 0.5 + 0 + 0.4 = 1.6 (Tổng có trọng số)

4. Kích hoạt đầu ra:

Trả về true nếu tổng > 1.5 ("Vâng, tôi sẽ đi xem hòa nhạc")

Lưu ý:

  • Trọng số thời tiết 0,6 có thể là giá trị lý tưởng với bạn, nhưng có thể khác với người khác. Giá trị cao hơn nghĩa là thời tiết quan trọng hơn đối với họ.
  • Giá trị ngưỡng là 1,5 với bạn, nhưng có thể khác với người khác. Ngưỡng thấp hơn có nghĩa là họ muốn đi xem hòa nhạc hơn.

Ví dụ

const threshold = 1.5;
const inputs = [1, 0, 1, 0, 1];
const weights = [0.7, 0.6, 0.5, 0.3, 0.4];

let sum = 0;
for (let i = 0; i < inputs.length; i++) {
  sum += inputs[i] * weights[i];
}

const activate = (sum > 1.5);

Perceptron trong Trí tuệ Nhân tạo (AI)

  • Perceptron là một nơ-ron nhân tạo.
  • Nó được lấy cảm hứng từ chức năng của một nơ-ron sinh học.
  • Nó đóng vai trò quan trọng trong Trí tuệ Nhân tạo.
  • Nó là một building block quan trọng trong mạng nơ-ron.

Để hiểu lý thuyết đằng sau, chúng ta có thể phân tích các thành phần của nó:

  • Đầu vào của Perceptron (các node)
  • Giá trị node (1, 0, 1, 0, 1)
  • Trọng số node (0.7, 0.6, 0.5, 0.3, 0.4)
  • Tổng
  • Giá trị ngưỡng
  • Hàm kích hoạt
  • Tổng (sum > treshold)

1. Đầu vào của Perceptron

  • Một perceptron nhận một hoặc nhiều đầu vào.
  • Đầu vào của perceptron được gọi là các node.
  • Các node có cả giá trị và trọng số.

2. Giá trị node (giá trị đầu vào)

  • Các node đầu vào có giá trị nhị phân là 1 hoặc 0.
  • Điều này có thể được hiểu là đúng hoặc sai / có hoặc không.
  • Các giá trị là: 1, 0, 1, 0, 1

3. Trọng số node

  • Trọng số là các giá trị được gán cho mỗi đầu vào.
  • Trọng số thể hiện sức mạnh của mỗi node.
  • Giá trị càng cao có nghĩa là đầu vào càng có ảnh hưởng mạnh hơn đến đầu ra.
  • Các trọng số là: 0.7, 0.6, 0.5, 0.3, 0.4

4. Tổng

  • Mạng perceptron tính toán tổng có trọng số của các đầu vào.
  • Nó nhân mỗi đầu vào với trọng số tương ứng và cộng tổng các kết quả.
  • Tổng là: 0.7*1 + 0.6*0 + 0.5*1 + 0.3*0 + 0.4*1 = 1.6

5. Ngưỡng

  • Ngưỡng là giá trị cần thiết để perceptron kích hoạt (xuất ra 1), nếu không nó sẽ không hoạt động (xuất ra 0).
  • Trong ví dụ này, giá trị ngưỡng là: 1.5

6. Hàm kích hoạt

  • Sau khi cộng, perceptron áp dụng hàm kích hoạt.
  • Mục đích là để đưa tính phi tuyến tính vào đầu ra. Nó xác định xem perceptron có nên kích hoạt hay không dựa trên đầu vào đã được tổng hợp.
  • Hàm kích hoạt rất đơn giản: (sum > treshold) == (1.6 > 1.5)

Đầu ra

Đầu ra cuối cùng của perceptron là kết quả của hàm kích hoạt.

Nó thể hiện quyết định hoặc dự đoán của perceptron dựa trên đầu vào và trọng số.

Hàm kích hoạt ánh xạ tổng có trọng số thành một giá trị nhị phân.

Giá trị nhị phân 1 hoặc 0 có thể được hiểu là đúng hoặc sai / có hoặc không.

Đầu ra là 1 vì: (sum > treshold) == true.

Học Perceptron

Perceptron có thể học từ các ví dụ thông qua một quá trình gọi là huấn luyện.

Trong quá trình huấn luyện, perceptron điều chỉnh trọng số của nó dựa trên các lỗi quan sát được. Điều này thường được thực hiện bằng cách sử dụng một thuật toán học hỏi như quy tắc học tập perceptron hoặc thuật toán lan truyền ngược.

Quá trình học tập cung cấp cho perceptron các ví dụ được gắn nhãn, trong đó đầu ra mong muốn đã được biết. Perceptron so sánh đầu ra của nó với đầu ra mong muốn và điều chỉnh trọng số của nó cho phù hợp, nhằm mục đích giảm thiểu lỗi giữa đầu ra dự đoán và đầu ra mong muốn.

Quá trình học tập cho phép perceptron học các trọng số cho phép nó đưa ra dự đoán chính xác cho những đầu vào mới, chưa biết.

Lưu ý

Rõ ràng là một quyết định KHÔNG thể được đưa ra chỉ bởi một nơ-ron duy nhất.

Các nơ-ron khác phải cung cấp thêm đầu vào:

  • Nghệ sĩ có giỏi không?
  • Thời tiết có tốt không?
  • ...

Perceptron đa lớp có thể được sử dụng để đưa ra quyết định phức tạp hơn.

Điều quan trọng cần lưu ý là mặc dù perceptron có ảnh hưởng lớn đến sự phát triển của mạng nơ-ron nhân tạo, nhưng chúng bị giới hạn trong việc học các mẫu có thể phân tách tuyến tính.

Tuy nhiên, bằng cách xếp chồng nhiều perceptron lại với nhau thành các lớp và kết hợp những hàm kích hoạt phi tuyến tính, mạng nơ-ron có thể khắc phục hạn chế này và học được các mẫu phức tạp hơn.

Mạng nơ-ron

Perceptron định nghĩa bước đầu tiên trong mạng nơ-ron:

Mạng nơ-ron
Mạng nơ-ron

Perceptron thường được sử dụng làm building block cho các mạng nơ-ron phức tạp hơn, chẳng hạn như perceptron đa lớp (MLP) hoặc mạng nơ-ron sâu (DNN).

Bằng cách kết hợp nhiều perceptron thành các lớp và kết nối chúng trong cấu trúc mạng, những mô hình này có thể học và biểu diễn các mẫu và mối quan hệ phức tạp trong dữ liệu, cho phép thực hiện những nhiệm vụ như nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên và ra quyết định.

Thứ Bảy, 28/02/2026 10:46
31 👨 63
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo