Mục đích của autoencoders là gì?


10

Bộ tự động là các mạng thần kinh tìm hiểu biểu diễn nén của đầu vào để sau đó tái cấu trúc nó, do đó chúng có thể được sử dụng để giảm kích thước. Chúng bao gồm một bộ mã hóa và bộ giải mã (có thể là các mạng thần kinh riêng biệt). Giảm kích thước có thể hữu ích để giải quyết hoặc làm giảm các vấn đề liên quan đến lời nguyền của chiều, khi dữ liệu trở nên thưa thớt và khó có được "ý nghĩa thống kê" hơn. Vì vậy, bộ tự động (và các thuật toán như PCA) có thể được sử dụng để đối phó với lời nguyền của chiều.

Tại sao chúng ta quan tâm đến việc giảm kích thước cụ thể bằng cách sử dụng bộ tự động? Tại sao chúng ta không thể đơn giản sử dụng PCA, nếu mục đích là giảm kích thước?

Tại sao chúng ta cần giải nén biểu diễn tiềm ẩn của đầu vào nếu chúng ta chỉ muốn thực hiện giảm kích thước hoặc tại sao chúng ta cần phần giải mã trong bộ giải mã tự động? Các trường hợp sử dụng là gì? Nói chung, tại sao chúng ta cần phải nén đầu vào để giải nén nó sau này? Sẽ không tốt hơn nếu chỉ sử dụng đầu vào ban đầu (để bắt đầu)?


1
Xem thêm các số liệu thống kê câu hỏi sau.stackexchange.com / q / 82416/83535 trên CrossValidated SE.
nbro

Câu trả lời:


6

Điều quan trọng là phải suy nghĩ về loại mẫu trong dữ liệu đang được trình bày.

Giả sử rằng bạn có một bộ dữ liệu hình ảnh thang độ xám, sao cho mỗi hình ảnh là một cường độ đồng đều. Là một bộ não con người, bạn sẽ nhận ra rằng mọi yếu tố trong bộ dữ liệu này có thể được mô tả theo một tham số số duy nhất, đó là giá trị cường độ. Đây là điều mà PCA sẽ hoạt động tốt, bởi vì mỗi kích thước (chúng ta có thể nghĩ mỗi pixel là một chiều khác nhau) có mối tương quan tuyến tính hoàn hảo.

Giả sử thay vào đó bạn có một bộ dữ liệu hình ảnh bitmap đen trắng 128x128px của các vòng tròn ở giữa. Là một bộ não con người, bạn sẽ nhanh chóng nhận ra rằng mọi yếu tố trong bộ dữ liệu này có thể được mô tả đầy đủ bằng một tham số số duy nhất, đó là bán kính của vòng tròn. Đó là mức giảm rất ấn tượng từ 16384 kích thước nhị phân và có lẽ quan trọng hơn đó là thuộc tính có ý nghĩa về mặt ngữ nghĩa của dữ liệu. Tuy nhiên, PCA có thể sẽ không thể tìm thấy mô hình đó.

Câu hỏi của bạn là "Tại sao chúng ta không thể sử dụng PCA, nếu mục đích là giảm kích thước?" Câu trả lời đơn giản là PCA là công cụ đơn giản nhất để giảm kích thước, nhưng nó có thể bỏ lỡ rất nhiều mối quan hệ mà các kỹ thuật mạnh hơn như bộ tự động có thể tìm thấy.


3

Một trường hợp sử dụng bộ mã hóa tự động (đặc biệt là bộ giải mã hoặc mô hình tổng quát của bộ tự động mã hóa) là để khử nhiễu đầu vào. Loại bộ tự động này, được gọi là bộ khử tự động khử nhiễu , lấy đầu vào bị hỏng một phần và chúng cố gắng xây dựng lại đầu vào không tương ứng. Có một số ứng dụng của mô hình này. Ví dụ: nếu bạn có một hình ảnh bị hỏng, bạn có khả năng có thể khôi phục hình ảnh chưa được xử lý bằng cách sử dụng bộ mã hóa tự động khử nhiễu.

Autoencoder và PCA có liên quan:

một bộ mã hóa tự động với một lớp ẩn được kết nối đầy đủ, hàm kích hoạt tuyến tính và hàm chi phí lỗi bình phương đào tạo các trọng số trải qua cùng một không gian con như được kéo dài bởi các vectơ tải thành phần chính, nhưng chúng không giống với các vectơ tải.

Để biết thêm thông tin, hãy xem bài viết Từ Không gian chính cho đến Thành phần chính với Bộ tự động tuyến tính (2018), của Elad Plaut. Xem thêm câu trả lời này , cũng giải thích mối quan hệ giữa PCA và bộ tự động.


3

PCA là một phương pháp tuyến tính tạo ra một phép biến đổi có khả năng thay đổi các phép chiếu vectơ (thay đổi trục)

Vì PCA tìm kiếm hướng của phương sai tối đa, nó thường có tính phân biệt đối xử cao NHƯNG không đảm bảo rằng hướng của phương sai nhất là hướng của sự phân biệt đối xử.

LDA là một phương pháp tuyến tính tạo ra một phép biến đổi có khả năng tìm hướng phù hợp nhất để quyết định xem một vectơ thuộc về lớp A hay B.

PCA và LDA có các phiên bản Kernel phi tuyến tính có thể khắc phục các giới hạn tuyến tính của chúng.

Bộ tự động có thể thực hiện giảm kích thước với các loại chức năng mất khác, có thể không tuyến tính và có thể hoạt động tốt hơn PCA và LDA trong nhiều trường hợp.

Có lẽ không có thuật toán học máy tốt nhất để làm bất cứ điều gì, đôi khi Deep Learning và Neural Nets quá mức cần thiết cho các vấn đề đơn giản và PCA và LDA có thể được thử trước khi giảm các chiều khác, phức tạp hơn.


LDA phải làm gì với câu hỏi?
nbro

LDA có thể được sử dụng như giảm kích thước. Thuật toán ban đầu chỉ xuất phát một phép chiếu nhưng bạn có thể sử dụng nó để có được hướng phân biệt đối xử xếp hạng thấp hơn để mô hình hóa hiệu quả hơn
Pedro Henrique Monforte

PCA cũng không đảm bảo phương sai tối đa, vì nó là một thuật toán tham lam, nó chỉ xấp xỉ mức tối đa.
Mathieu Bouville

PCA có một giải pháp khép kín, trục chính sẽ luôn luôn là hướng của phương sai tối đa. Nó không phải là một thuật toán tham lam (nhưng nó có thể được thực hiện như một)
Pedro Henrique Monforte
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.