6

Có thể ai đó vui lòng cho tôi giải thích đúng về toán học tại sao một Perceptron đa lớp có thể giải quyết vấn đề XOR?Mạng thần kinh: Giải quyết XOR

giải thích của tôi về Perceptron là như sau:

Một perceptron với hai đầu vào enter image description hereenter image description here đã sau hàm tuyến tính và do đó có thể giải quyết vấn đề separateable tuyến tính như AND và OR.

enter image description here

enter image description here là hàm bước cơ bản.

Cách tôi nghĩ về nó là tôi thay thế hai phần trong enter image description here cách nhau bằng dấu + là enter image description hereenter image description here và tôi nhận được enter image description here là một dòng. Bằng cách áp dụng chức năng bước, tôi nhận được một trong các cụm liên quan đến đầu vào. Điều tôi giải thích là một trong những khoảng cách được phân cách bởi dòng đó.

Vì chức năng của MLP vẫn là tuyến tính, làm cách nào để diễn giải điều này một cách toán học và quan trọng hơn: Tại sao nó có thể giải quyết vấn đề XOR khi nó vẫn tuyến tính? Có phải vì nó nội suy một đa thức?

Trả lời

5

Bạn đang tìm kiếm một lời giải thích toán học, vì vậy hãy đầu tiên có một cái nhìn về cách một Perceptron hoạt động:

Simple perceptron with two-dim input

Các đầu vào được trọng và tóm tắt. Nếu nó vượt quá ngưỡng theta, 1 được trả về, nếu không 0. Trong trường hợp XOR x1x2 có thể là 1 hoặc 0 và bạn đang tìm kiếm trọng W1W2 cũng như một theta ngưỡng như vậy trong trường hợp x1 XOR x2:

W1 * x1 + w2 * x2> = theta

HOẶC

W1 * x1 + W2 * x2 - theta> = 0

Trước tiên, bạn có thể thấy rằng các chức năng là tuyến tính. Điều này có nghĩa là nó định nghĩa một dòng. Nhưng khi bạn nhìn vào không gian mẫu, không có dòng nào có thể phân biệt tích cực với các trường hợp âm.

Thứ hai, bạn có thể dùng thử. Lấy theta tùy ý, giả sử 0,5.

Trường hợp 1: x1 = 1, x2 = 0 =>W1 cần phải được> 0,5

Trường hợp 2: x1 = 0, x2 = 1 =>W2 cần phải được> 0,5

Trường hợp 3: x1 = 1, x2 = 1 =>W1 + W2 cần phải được < 0,5 => không thể do hai trường hợp trước

Nói chung, với một Perceptron bạn chỉ có thể xác định các chức năng đó là tuyến tính tách, tức là đường thẳng, mặt phẳng, siêu phẳng, vv

nhưng đối với trường hợp XOR bạn cần hai dòng:

enter image description here

đối với mỗi dòng, bạn cần một nút ẩn và sau đó kết hợp việc cùng nhau trong khi lấy phủ định vào tài khoản.

Bạn có thể thấy một giải pháp ở đây:

How to solve XOR problem with MLP neural network?

Vì vậy, thủ đoạn này được không để có được phi tuyến tính nhưng viết lại XOR vào một cái gì đó như:

x1 XOR x2 == KHÔNG (x1x2) VÀ (x1 HOẶC x2)

+0

Vâng, tôi biết điều này. Nhưng làm thế nào mà bằng cách thêm một lớp ẩn và một chức năng squashing nó có khả năng giải quyết vấn đề XOR? Cách tôi nghĩ về nó là nó trở thành có thể nội suy đa thức vì nó có thể tạo ra nhiều dòng được kết nối với nhau tại một số điểm vì hàm của MLP vẫn tuyến tính. Không có số mũ nào cả, ngoại trừ chức năng hậu cần ... mà chỉ đổ các giá trị vào một không gian phụ. –

+0

Điều này thực sự đã giúp tôi rất nhiều trong việc hiểu một Perceptron và các vấn đề/khả năng để đối phó với vấn đề XOR, cảm ơn! Điều gì sẽ giúp ích hơn nữa, là bao gồm một biểu đồ như là một cho perceptron lớp đơn, nhưng đối với một perceptron đa lớp có thể giải quyết vấn đề XOR. –

3

Perceptron thực sự đang làm là chia không gian đầu vào (trong trường hợp XOR - mặt phẳng thực) thành hai phần được phân cách bằng không gian con afin có kích thước thấp hơn (trong trường hợp XOR - một dòng) và gán các lớp khác nhau các bộ phận. Không có đường nào phân chia một mặt phẳng theo cách mà điểm (0,0), (1,1) được tách ra từ (1,0), (0,1).

Perceptron đa lớp cũng chia không gian đầu vào thành hai phần nhưng bộ phận này không bị hạn chế chỉ để tách biệt giới tính để có thể tách các lớp XOR.

5

Hãy thử vẽ không gian mẫu của một hàm XOR của hai biến x x . Ranh giới quyết định chia tích cực ( y = 1) và các ví dụ tiêu cực ( y = 0) rõ ràng không phải là một đường thẳng nhưng một ranh giới quyết định phi tuyến tính như sau:

enter image description here

Kể từ khi, mô hình hóa một ranh giới quyết định phi tuyến tính không thể được thực hiện bởi một mạng nơron đơn giản chỉ bao gồm các lớp đầu vào và đầu ra. Do đó, cần có một lớp ẩn để mô hình ranh giới quyết định phi tuyến tính được yêu cầu. Mặt khác, các chức năng như AND, OR, KHÔNG có ranh giới quyết định tuyến tính và do đó có thể được mô hình hóa bằng các mạng thần kinh đầu vào đơn giản.

Các vấn đề liên quan