40 0 1MB
Một autoencoder là một mạng neural được train để cố gắng copy đầu vào thành đầu ra của nó. Bên trong , nó có một hidden layer h dung để mô tả một code được dung để đại diện cho đầu vào. Mạng được xem như bao gồm hai phần một là encoder function: h = f(x) và một là decoder taọ ra một bản tái cấu trúc đầu vào r = g(h). Nếu một autoencoder thành công chỉ đơn giản là học cách thiết lập: g(f(x)) = x. Thay vào đó, autoencoder được thiết kế để không học cách copy hoàn hảo. Thông thường việc học bị hạn chế, nó cho phép họ copy gần đúng và chỉ copy đàu vào giống training data. Bởi vì mô hình buộc phải ưu tiên những khía cạnh của đàu vào nên copy, nó thường học các thuộc tính hữu ích của data. Autoencoder đã khái quát hóa(generalized) ys tuowngr cuả encoder và decoder vượt quá các hàm xác định để ánh xạ ngẫu nhiên Pencoder(h|x) và Pdecoder(x|h). Ý tưởng về autoencoder đã là một phần của bối cảnh lịch sử của mạng neural trong các thập kỷ (LeCun, 1987; Bourlard và Kamp, 1988; Hinton và Zemel,1994) . Theo truyền thống, autoencoder được sử dụng để giảm kích thước hoặc học các feature. Gần đây, các lý thuyết kết nối giữa autoencoder và latent variable đã đưa autoencoder lên hàng đầu của thế hệ mô hình hóa. Autoencoder có thể coi là trường hợp đặc biệt của feedforward network và có thể được train với tất cả các kỹ thuật giống nhau. Điển hình là độ dốc giảm dần bằng cách nhân giống ngược. Không giống như các mạng feedforward chung, autoencoder có thể được đào tọa sử dụng tuần hoàn. Thuật toán dựa trên việc so sánh các kích hoạt của mạng trên đầu vào ban đầu.
1 Undercomplete Autoencoder Sao chép đầu vào thành đầu ra nghe có vẻ vô dụng , nhưng chúng ta thường không quan tâm output của decoder. Thay vào đó, chúng ta hy vọng rằng train autoencoder để thực hiện nhiệm vụ copy input sẽ dẫn đến h có các thuộc tính hữu ích. Một cách để có được các feature hữu ích từ autoencoder là hạn chế h để có kích thước nhỏ hơn x. Autoencoder có kích thước code ít hơn kích thước đầu vào được gọi là undercomplete. Học một đại diện undercompete của autoencoder nắm bắt các feature nổi bật nhất của training data. Qúa trình học tập được mô tả đơn giản là giảm thiểu loss function L(x,g(f(x)) L là một loss function, x và g(f(x)) không giống nhau, như là lỗi bình phương trung bình. Khi decoder là tuyến tính và L là lỗi bình phương trung bình, một undercomplete autoencoder học cách mở rộng không gian giống như PCA. Trong trường hợp này, autoencoder được train để thực hiện nhiệm vụ copy dựa trên những gì đã học được của training data. PCA:
Cách đơn giản nhất để giảm chiều dữ liệu từ D về K0, tồn tại neural network g(x) với 1 hidden layer (với sự lựa chọn hợp lý sigmod) sao cho ∀x,∣f(x)−g(x)∣