Perceptron
Perceptron là một nơ-ron nhân tạo
Đây là Mạng thần kinh đơn giản nhất có thể
Mạng nơ-ron là các khối xây dựng của Học máy .
Frank Rosenblatt
Frank Rosenblatt (1928 – 1971) là 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 bắt đầu một điều gì đó thực sự lớn lao. Ông đã “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 các tế bào não ( Tế bào thần kinh ) nhận đầu vào từ các giác quan của chúng ta bằng tín hiệu điện.
Mặt khác, các nơ-ron 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, 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 để thể hiện tầm quan trọng của từng đầu vào và tổng các giá trị phải lớn hơn giá trị ngưỡng trước khi đưa ra quyết định như có hoặc không (đúng hoặc sai) (0 hoặc 1).
Ví dụ về Perceptron
Hãy tưởng tượng một perceptron (trong não của bạn).
Perceptron cố gắng quyết định xem bạn có nên đi xem hòa nhạc hay không.
Nghệ sĩ có tốt không? Thời tiết có tốt không?
Những sự thật này nên có trọng lượng như thế nào?
Tiêu chuẩn | Đầu vào | Cân nặng |
---|---|---|
Nghệ sĩ là tốt | x1 = 0 hoặc 1 | w1 = 0,7 |
Thời tiết tốt | x2 = 0 hoặc 1 | w2 = 0,6 |
Người Bạn Sẽ Đến | x3 = 0 hoặc 1 | w3 = 0,5 |
Thức ăn được phục vụ | x4 = 0 hoặc 1 | w4 = 0,3 |
Rượu được phục vụ | x5 = 0 hoặc 1 | w5 = 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 nó
- Tổng hợp tất cả các kết quả
- Kích hoạt đầu ra
1. Đặt giá trị ngưỡng :
- Ngưỡng = 1,5
2. Nhân tất cả các đầu vào với trọng số của nó :
- 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. Tổng hợp tất cả các kết quả :
- 0,7 + 0 + 0,5 + 0 + 0,4 = 1,6 (Tổng trọng số)
4. Kích hoạt đầu ra :
- Trả về true nếu tổng > 1,5 ("Có, tôi sẽ đi xem hòa nhạc")
Ghi chú
Nếu trọng lượng thời tiết là 0,6 đối với bạn thì nó có thể khác đối với người khác. Trọng lượng cao hơn có nghĩa là thời tiết quan trọng hơn đối với họ.
Nếu giá trị ngưỡng là 1,5 đối với bạn thì nó có thể khác đối với người khác. Ngưỡng thấp hơn có nghĩa là họ muốn đi xem bất kỳ buổi hòa nhạc nào 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 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 tế bào thần kinh sinh học .
Nó đóng một vai trò quan trọng trong Trí tuệ nhân tạo .
Nó là một khối xây dựng quan trọng trong Mạng thần kinh .
Để hiểu lý thuyết đằng sau nó, chúng ta có thể chia nhỏ các thành phần của nó:
- Đầu vào Perceptron (nút)
- Giá trị nút (1, 0, 1, 0, 1)
- Trọng lượng nút (0,7, 0,6, 0,5, 0,3, 0,4)
- Chức năng kích hoạt
- Giá trị ngưỡng
- Tổng (tổng > ngưỡng)
Đầu vào Perceptron
Perceptron nhận được một hoặc nhiều đầu vào.
Đầu vào Perceptron được gọi là nút .
Các nút có cả giá trị và trọng lượng .
Giá trị nút (Giá trị đầu vào)
Các nút đầ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 .
Trong ví dụ trên, các giá trị nút là: 1, 0, 1, 0, 1
Trọng lượng nút
Trọng số là các giá trị được gán cho mỗi đầu vào.
Trọng lượng cho thấy sức mạnh của mỗi nút.
Giá trị cao hơn có nghĩa là đầu vào có ảnh hưởng mạnh hơn đến đầu ra.
Trong ví dụ trên, trọng số nút là: 0,7, 0,6, 0,5, 0,3, 0,4
Tổng hợp
Perceptron tính toán tổng trọng số của các đầu vào của nó.
Nó nhân mỗi đầu vào với trọng số tương ứng và tính tổng kết quả.
Trong ví dụ trên, tổng là: 0,7 + 0 + 0,5 + 0 + 0,4 = 1,6
Chức năng kích hoạt
Sau khi tính tổng, perceptron áp dụng hàm kích hoạt cho tổng.
Mục đích là đưa tính phi tuyến tính vào đầu ra. Nó xác định liệu perceptron có nên kích hoạt hay không dựa trên đầu vào tổng hợp.
Trong ví dụ trên, hàm kích hoạt rất đơn giản: (sum > 1.5)
Ngưỡng
Hàm kích hoạt thường đi kèm với Giá trị ngưỡng .
Nếu kết quả của hàm kích hoạt vượt quá ngưỡng, perceptron sẽ kích hoạt (đầu ra 1), nếu không thì nó sẽ không hoạt động (đầu ra 0).
Trong ví dụ trên, giá trị ngưỡng là: 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 giá trị nhị phân.
Số nhị phân 1 hoặc 0 có thể được hiểu là đúng hoặc sai / có hoặc không .
Trong ví dụ trên. đầu ra là 1 vì: (sum > 1.5) hoặc (1.6 > 1.5) .
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 thuật toán học như quy tắc học perceptron hoặc thuật toán lan truyền ngược.
Quá trình học trình bày perceptron với các ví dụ được gắn nhãn, trong đó biết được đầu ra mong muốn. 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 sai số giữa đầu ra dự đoán và đầu ra mong muốn.
Quá trình học cho phép perceptron tìm hiểu các trọng số cho phép nó đưa ra dự đoán chính xác cho các đầu vào mới, chưa biết.
Ghi chú
Rõ ràng là quyết định KHÔNG thể được đưa ra bởi một mình One Neuron .
Các nơ-ron khác phải cung cấp thêm đầu vào:
- Nghệ sĩ có tốt không?
- Thời tiết có tốt không?
- ...
Perceptron nhiều 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 đến sự phát triển của mạng lưới thần kinh 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 thành các lớp và kết hợp các 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à tìm hiểu các mẫu phức tạp hơn.
Mạng lưới thần kinh
Perceptron xác định bước đầu tiên trong Mạng nơ-ron :
Perceptron thường được sử dụng làm khối xây dựng cho các mạng thần kinh phức tạp hơn, chẳng hạn như perceptron nhiều lớp (MLP) hoặc mạng thần kinh sâu (DNN).
Bằng cách kết hợp nhiều tri giác trong các lớp và kết nối chúng trong cấu trúc mạng, các mô hình này có thể tìm hiểu 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 các tác vụ như nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên và ra quyết định.