Có sự khác biệt nào giữa việc đào tạo một bộ mã hóa tự động xếp chồng và mạng lưới thần kinh 2 lớp không?


14

Giả sử tôi đang viết một thuật toán để xây dựng bộ mã hóa tự động xếp chồng 2 lớp và mạng nơ ron 2 lớp. Chúng là những thứ giống nhau hay khác biệt?

Điều tôi hiểu là khi tôi xây dựng một bộ mã hóa tự động xếp chồng, tôi sẽ xây dựng từng lớp. Đối với mạng nơ-ron, tôi sẽ khởi tạo tất cả các tham số trong netowork, và sau đó với mỗi điểm dữ liệu, tôi chuyển qua mạng và tính toán tổn thất (ví dụ: khoảng cách euclean) và thực hiện backpropagation.

Câu trả lời:


16

Autoencoder xếp chồng và mạng nơ ron nhiều lớp là khác nhau. Trong thực tế, bạn sẽ có hai mạng chia sẻ trọng lượng và có thể chia sẻ bộ đệm. Vì vậy, trong việc thực hiện của bạn, hai mạng trở nên gắn kết.

Thông thường, autoencoder được đào tạo theo kiểu không giám sát, tham lam, khôn ngoan. (Không có nhãn, bắt đầu đào tạo chỉ với lớp đầu tiên của mạng và sau đó thêm các lớp mới khi bạn đi.) Các trọng số có thể được học bằng nhiều kỹ thuật khác nhau, từ độ dốc "lô" (vui lòng không làm điều đó), đến phương pháp giảm độ dốc ngẫu nhiên theo lô nhỏ (SGD), đến các phương pháp gần như Newton như L-BFGS.

Ý tưởng là các trọng số đã học theo cách không giám sát để giảm thiểu lỗi tái cấu trúc cho nhiệm vụ học tập đại diện cung cấp một điểm khởi đầu tốt để khởi tạo một mạng cho một nhiệm vụ phân biệt được giám sát như phân loại hoặc tương tự. Tức là, mạng học được điều gì đó về phân phối cơ bản bằng cách xem xét dữ liệu chưa được gắn nhãn, cho phép nó phân biệt giữa các dữ liệu được gắn nhãn. Tuy nhiên, các trọng số vẫn cần phải được "điều chỉnh" cho nhiệm vụ mới này. Vì vậy, thêm một lớp hồi quy logistic trên đầu mạng và sau đó học có giám sát với một tập dữ liệu được dán nhãn. Bước tinh chỉnh sẽ thực hiện giảm độ dốc và điều chỉnh trọng số cho tất cả các lớp trong mạng.

Những lợi ích của cách đào tạo mạng lưới thần kinh này là:

  1. Đào tạo không giám sát cho phép bạn hiển thị mạng nhiều dữ liệu hơn vì việc lấy các bộ dữ liệu lớn không giám sát sẽ dễ dàng hơn nhiều so với việc lấy nhãn dữ liệu.
  2. Bạn có thể sử dụng mạng được đào tạo trước như một "điểm xuất phát" để đào tạo các trình phân loại mới để bạn không phải bắt đầu lại từ đầu mỗi lần.

Đối với bài báo, hãy xem Bộ tự động khử nhiễu xếp chồng: Tìm hiểu các biểu diễn hữu ích trong một mạng lưới sâu với tiêu chí khử nhiễu cục bộ .


Tôi bối rối về bước thứ hai nơi bạn huấn luyện lớp mã hóa với lớp phân loại (ví dụ lớp softmax) cho một nhiệm vụ phân loại. Bạn có sử dụng lại tập dữ liệu huấn luyện cho phần này để tìm hiểu các nhãn không? Tôi thấy điều này kỳ lạ bởi vì tập huấn luyện chỉ được sử dụng để tìm hiểu một xấp xỉ của chính nó.
anh chàng

Sẽ không có ý nghĩa gì nếu bạn có tất cả các dữ liệu được dán nhãn. Đó là nhiều hơn cho các tình huống mà bạn có nhiều dữ liệu chưa được gắn nhãn hơn để xử lý trước và sau đó sử dụng dữ liệu "đào tạo" được gắn nhãn để tinh chỉnh.
meo
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.