Trong học máy, perceptron là một thuật toán học có giám sát dành cho các bộ phân loại nhị phân. Nó cũng thường được gọi là perceptron. Bộ phân loại nhị phân là một hàm có thể quyết định xem đầu vào, được biểu thị bằng một vectơ số, có thuộc một lớp cụ thể nào đó hay không. Đây là một loại trình phân loại tuyến tính, nghĩa là, một thuật toán phân loại đưa ra các dự đoán của nó dựa trên một hàm dự đoán tuyến tính kết hợp một tập hợp các trọng số với một vectơ đặc trưng.
Trong những năm gần đây, mạng nơ-ron nhân tạo đã được chú ý do những tiến bộ trong học sâu. Nhưng mạng nơ-ron nhân tạo là gì và nó bao gồm những gì?
Gặp Perceptron
Trong bài viết này, chúng ta sẽ xem xét nhanh các mạng nơ-ron nhân tạo nói chung, sau đó xem xét một nơ-ron đơn lẻ, và cuối cùng (đây là phần mã hóa), chúng tôi sẽ xem xét phiên bản cơ bản nhất của mạng nơ-ron nhân tạo nơron, tế bào cảm thụ và phân loại các điểm của nó thànhmáy bay.
Bạn đã bao giờ tự hỏi tại sao có những nhiệm vụ rất dễ đối với bất kỳ người nào, nhưng lại cực kỳ khó đối với máy tính? Mạng thần kinh nhân tạo (viết tắt là ANN) được lấy cảm hứng từ hệ thống thần kinh trung ương của con người. Giống như đối tác sinh học của chúng, ANN được xây dựng dựa trên các yếu tố xử lý tín hiệu đơn giản được kết hợp thành một mạng lưới lớn.
Mạng nơron phải học
Không giống như các thuật toán truyền thống, mạng nơ-ron không thể được "lập trình" hoặc "điều chỉnh" để hoạt động như dự định. Cũng giống như bộ não con người, chúng phải học để hoàn thành nhiệm vụ. Nói một cách đại khái, có ba chiến lược học tập.
Cách dễ nhất có thể được sử dụng nếu có một trường hợp thử nghiệm (đủ lớn) với kết quả đã biết. Sau đó, quá trình đào tạo diễn ra như thế này: xử lý một tập dữ liệu. So sánh kết quả với kết quả đã biết. Thiết lập mạng và thử lại. Đây là chiến lược học tập mà chúng tôi sẽ sử dụng ở đây.
Học không giám sát
Hữu ích nếu không có sẵn dữ liệu thử nghiệm và nếu có thể suy ra một số hàm chi phí từ hành vi mong muốn. Hàm chi phí cho mạng nơ-ron biết nó còn cách mục tiêu bao xa. Sau đó, mạng có thể điều chỉnh các thông số của nó một cách nhanh chóng, hoạt động với dữ liệu thực.
Học củng cố
Phương pháp "củ cà rốt và cây gậy". Có thể được sử dụng nếu mạng nơ-ron tạo ra một hành động liên tục. Theo thời gian, mạng học cách thích các hành động đúng và tránh những hành động sai.
Được rồi, bây giờ chúng ta biết một chút vềbản chất của mạng nơ-ron nhân tạo, nhưng chính xác thì chúng được làm bằng gì? Chúng ta sẽ thấy gì nếu mở nắp và nhìn vào bên trong?
Tế bào thần kinh là khối xây dựng của mạng lưới thần kinh. Thành phần chính của bất kỳ mạng nơron nhân tạo nào là một nơron nhân tạo. Chúng không chỉ được đặt tên theo các đối tác sinh học của chúng mà còn được mô phỏng theo hoạt động của các tế bào thần kinh trong não của chúng ta.
Sinh học vs Công nghệ
Cũng giống như một tế bào thần kinh sinh học có đuôi gai để nhận tín hiệu, một thân tế bào để xử lý chúng và một sợi trục để gửi tín hiệu đến các tế bào thần kinh khác, một tế bào thần kinh nhân tạo có nhiều kênh đầu vào, một giai đoạn xử lý và một đầu ra có thể phân nhánh cho nhiều người khác. nơ-ron nhân tạo.
Chúng ta có thể làm điều gì đó hữu ích với một perceptron không? Có một loại vấn đề mà một perceptron duy nhất có thể giải quyết. Coi vectơ đầu vào là tọa độ điểm. Đối với một vectơ có n phần tử, điểm này sẽ sống trong không gian n chiều. Để đơn giản hóa cuộc sống (và đoạn mã bên dưới), hãy giả sử đó là 2D. Như một tờ giấy.
Tiếp theo, hãy tưởng tượng chúng ta vẽ một số điểm ngẫu nhiên trên mặt phẳng này và chia chúng thành hai bộ bằng cách vẽ một đường thẳng trên mặt giấy. Dòng này chia các điểm thành hai tập hợp, một trên và một dưới dòng. Sau đó, hai tập hợp được gọi là có thể phân tách tuyến tính.
Một perceptron, bất kể nó có vẻ đơn giản đến mức nào, có thể biết dòng này nằm ở đâu và khi luyện xong, nó có thể xác định xem một điểm đã cho nằm trên hay dưới dòng này.
Lịch sửphát minh
Thuật toán cho phương pháp này được phát minh vào năm 1957 tại Phòng thí nghiệm Hàng không Cornell bởi Frank Rosenblatt (thường được đặt theo tên của ông), được tài trợ bởi Văn phòng Nghiên cứu Hải quân Hoa Kỳ. Perceptron được dự định là một cỗ máy chứ không phải một chương trình, và mặc dù lần triển khai đầu tiên của nó là trong phần mềm cho IBM 704, sau đó nó đã được triển khai trên phần cứng tùy chỉnh với tên gọi "Mark 1 Perceptron". Chiếc máy này được thiết kế để nhận dạng hình ảnh: nó có một mảng 400 tế bào quang được kết nối ngẫu nhiên với các tế bào thần kinh. Các trọng lượng được mã hóa trong chiết áp và việc cập nhật trọng lượng trong quá trình tập luyện được thực hiện bằng động cơ điện.
Tại một cuộc họp báo do Hải quân Hoa Kỳ tổ chức vào năm 1958, Rosenblatt đã đưa ra những tuyên bố về perceptron gây ra cuộc tranh luận sôi nổi trong cộng đồng AI trẻ; Dựa trên tuyên bố của Rosenblatt, New York Times đã báo cáo rằng perceptron là "máy tính điện tử phôi thai mà Hải quân mong đợi có thể đi lại, nói chuyện, nhìn, viết, tự tái tạo và nhận thức được sự tồn tại của nó".
Phát triển thêm
Mặc dù ban đầu perceptron có vẻ hứa hẹn, nhưng người ta nhanh chóng chứng minh rằng perceptron không thể được đào tạo để nhận ra nhiều lớp mẫu. Điều này dẫn đến sự đình trệ trong lĩnh vực nghiên cứu với mạng nơ-ron perceptron trong nhiều năm trước khi người ta công nhận rằng mạng nơ-ron truyền tới có hai hoặc nhiều lớp (còn được gọi làperceptron nhiều lớp) có sức mạnh xử lý cao hơn nhiều so với perceptron một lớp (còn gọi là perceptron một lớp). Perceptron một lớp chỉ có khả năng nghiên cứu các cấu trúc có thể phân tách tuyến tính. Năm 1969, cuốn sách nổi tiếng "Perceptrons" của Marvin Minsky và Seymour Papert đã chỉ ra rằng các lớp mạng này không thể học được hàm XOR. Tuy nhiên, điều này không áp dụng cho các hàm phân loại phi tuyến tính có thể được sử dụng trong perceptron một lớp.
Việc sử dụng các chức năng như vậy mở rộng khả năng của perceptron, bao gồm cả việc triển khai chức năng XOR. Người ta thường giả định (không chính xác) rằng họ cũng giả định rằng một kết quả tương tự sẽ phù hợp với mạng perceptron nhiều lớp. Tuy nhiên, đây không phải là trường hợp, vì cả Minsky và Papert đều đã biết rằng các perceptron nhiều lớp có khả năng tạo ra một hàm XOR. Ba năm sau, Steven Grossberg đã xuất bản một loạt bài báo trình bày các mạng có khả năng mô hình hóa các hàm vi phân, các hàm tăng cường độ tương phản và các hàm XOR.
Tác phẩm được xuất bản năm 1972 và 1973. Tuy nhiên, văn bản Minsky / Papert thường bị bỏ qua đã gây ra sự sụt giảm đáng kể về sự quan tâm và kinh phí nghiên cứu với mạng lưới thần kinh perceptron. Mười năm nữa trôi qua trước khi nghiên cứu mạng thần kinh được hồi sinh vào những năm 1980.
Tính năng
Thuật toán Perceptron Kernel được giới thiệu vào năm 1964 bởi Yzerman và cộng sự. Mori và Rostamizadeh (2013), những người mở rộng kết quả trước đó và đưa ra giới hạn mới L1.
Perceptron là một mô hình đơn giản của một tế bào thần kinh sinh học. Mặc dù sự phức tạp của các mô hình thần kinh sinh học thường được yêu cầu để hiểu đầy đủ hành vi thần kinh, nhưng nghiên cứu cho thấy rằng một mô hình tuyến tính giống perceptron có thể tạo ra một số hành vi được thấy ở các tế bào thần kinh thực.
Perceptron là một bộ phân loại tuyến tính, vì vậy nó sẽ không bao giờ đi vào trạng thái với tất cả các vectơ đầu vào được phân loại chính xác nếu tập huấn luyện D không phân tách được tuyến tính, tức là nếu các ví dụ tích cực không thể được phân tách khỏi các ví dụ tiêu cực bằng một siêu phẳng. Trong trường hợp này, không có giải pháp "gần đúng" nào sẽ từng bước thông qua thuật toán học tiêu chuẩn, thay vào đó việc học sẽ thất bại hoàn toàn. Do đó, nếu khả năng phân tách tuyến tính của tập huấn luyện không được biết trước, thì nên sử dụng một trong các tùy chọn huấn luyện bên dưới.
Thuật toán bỏ túi
Thuật toán bỏ túi bánh cóc giải quyết vấn đề về độ bền của việc học perceptron bằng cách giữ cho giải pháp tốt nhất cho đến nay được tìm thấy "trong túi". Sau đó, thuật toán bỏ túi trả về giải pháp trong túi chứ không phải là giải pháp cuối cùng. Nó cũng có thể được sử dụng cho các bộ dữ liệu không phân tách được, trong đó mục tiêu là tìm một perceptron có ít phân loại sai. Tuy nhiên, các giải pháp này trông ngẫu nhiên và do đó thuật toán bỏ túi không phù hợp với chúng.dần dần trong quá trình đào tạo và chúng không được đảm bảo sẽ bị phát hiện qua một số bước đào tạo nhất định.
Thuật toán Maxover
Thuật toán của Maxover là "mạnh mẽ" theo nghĩa là nó sẽ hội tụ bất kể kiến thức về khả năng phân tách tuyến tính của tập dữ liệu. Trong trường hợp phân chia theo tuyến tính, điều này sẽ giải quyết vấn đề học tập, tùy chọn ngay cả với sự ổn định tối ưu (biên độ tối đa giữa các lớp). Đối với các tập dữ liệu không thể phân tách, giải pháp có một số ít phân loại sai sẽ được trả về. Trong mọi trường hợp, thuật toán dần dần tiếp cận giải pháp trong quá trình học, không cần nhớ các trạng thái trước đó và không có bước nhảy ngẫu nhiên. Sự hội tụ nằm ở tính tối ưu toàn cầu cho các tập dữ liệu được chia sẻ và tính tối ưu cục bộ cho các tập dữ liệu không thể tách rời.
Perceptron đã bình chọn
Thuật toán Perceptron được bình chọn là một biến thể sử dụng nhiều perceptron có trọng số. Thuật toán bắt đầu một perceptron mới mỗi khi một ví dụ bị phân loại sai, khởi tạo vector trọng số với các trọng số cuối cùng của perceptron cuối cùng. Mỗi perceptron cũng sẽ được cung cấp một trọng số khác nhau tương ứng với số lượng ví dụ mà chúng phân loại chính xác trước khi phân loại sai và ở cuối đầu ra sẽ là một phiếu bầu có trọng số trên toàn bộ perceptron.
Đơn
Trong các bài toán phân tách, việc huấn luyện perceptron cũng có thể nhằm tìm ra ranh giới phân tách lớn nhất giữa các lớp. Cái gọi làPerceptron ổn định tối ưu có thể được xác định bằng cách sử dụng các lược đồ đào tạo và tối ưu hóa lặp đi lặp lại như thuật toán Min-Over hoặc AdaTron. AdaTron khai thác thực tế là bài toán tối ưu hóa bậc hai tương ứng là lồi. Perceptron ổn định tối ưu, cùng với thủ thuật hạt nhân, là cơ sở khái niệm của máy vector hỗ trợ.
Thay thế
Một cách khác để giải các bài toán phi tuyến tính mà không cần sử dụng nhiều lớp là sử dụng các mạng bậc cao (khối sigma-pi). Trong loại mạng này, mỗi phần tử của vectơ đầu vào được mở rộng bằng từng kết hợp từng cặp của các đầu vào được nhân (bậc hai). Điều này có thể được mở rộng cho một mạng bậc n. Perceptron là một thứ rất linh hoạt.
Tuy nhiên, hãy nhớ rằng bộ phân loại tốt nhất không nhất thiết phải là bộ phân loại chính xác tất cả dữ liệu đào tạo. Thật vậy, nếu chúng ta có ràng buộc trước đó rằng dữ liệu đến từ các phân phối Gaussian biến thể bằng nhau, thì sự phân chia tuyến tính trong không gian đầu vào là tối ưu và một giải pháp phi tuyến tính sẽ bị ghi đè.
Các thuật toán phân loại tuyến tính khác bao gồm Winnow, vector hỗ trợ và hồi quy logistic. Perceptron là một tập hợp các thuật toán phổ quát.
Phạm vi chính cho việc học có giám sát
Học có giám sát là một tác vụ học máy học một chức năng ánh xạ đầu vào đến đầu radựa trên các ví dụ về cặp I / O. Họ suy ra một tính năng từ dữ liệu đào tạo được gắn nhãn bao gồm một tập hợp các ví dụ. Trong học có giám sát, mỗi ví dụ là một cặp bao gồm đối tượng đầu vào (thường là vectơ) và giá trị đầu ra mong muốn (còn được gọi là tín hiệu điều khiển).
Thuật toán học có giám sát phân tích dữ liệu đào tạo và tạo ra một hàm ước tính có thể được sử dụng để hiển thị các ví dụ mới. Kịch bản tối ưu sẽ cho phép thuật toán xác định chính xác nhãn lớp cho các cá thể ẩn. Điều này yêu cầu thuật toán học tập để tổng quát hóa dữ liệu học tập cho các tình huống chưa thấy một cách "hợp lý".
Nhiệm vụ song song trong tâm lý người và động vật thường được gọi là học khái niệm.