Khi nào tôi nên sử dụng bộ mã hóa tự động thay đổi so với bộ mã hóa tự động?


19

Tôi hiểu cấu trúc cơ bản của bộ mã hóa tự động biến đổi và bộ mã hóa tự động (xác định) thông thường và toán học đằng sau chúng, nhưng khi nào và tại sao tôi lại thích một loại bộ mã hóa tự động hơn loại kia? Tất cả những gì tôi có thể nghĩ là phân phối trước các biến tiềm ẩn của bộ tự động biến đổi cho phép chúng tôi lấy mẫu các biến tiềm ẩn và sau đó xây dựng hình ảnh mới. Lợi thế nào của tính ngẫu nhiên của bộ tự động thay đổi so với bộ tự động xác định?

Câu trả lời:


13

VAE là một khung được đề xuất như một cách có thể mở rộng để thực hiện EM đa dạng (hay suy luận đa dạng nói chung) trên các bộ dữ liệu lớn. Mặc dù nó có cấu trúc giống như AE, nhưng nó phục vụ mục đích lớn hơn nhiều.

Tất nhiên, người ta có thể sử dụng VAE để tìm hiểu các biểu diễn tiềm ẩn. VAE được biết là đưa ra các đại diện với các yếu tố không đồng nhất [1] Điều này xảy ra do các linh mục Gaussian đẳng hướng trên các biến tiềm ẩn. Mô hình hóa chúng như Gaussian cho phép mỗi chiều trong biểu diễn tự đẩy mình càng xa càng tốt từ các yếu tố khác. Ngoài ra, [1] đã thêm một hệ số chính quy kiểm soát ảnh hưởng của trước đó.

Trong khi Gaussian đẳng hướng là đủ cho hầu hết các trường hợp, đối với các trường hợp cụ thể, người ta có thể muốn mô hình các linh mục khác nhau. Ví dụ, trong trường hợp trình tự, người ta có thể muốn xác định các linh mục là mô hình tuần tự [2].

Quay trở lại câu hỏi, như người ta có thể thấy, trước đây cho phép kiểm soát đáng kể đối với cách chúng ta muốn mô hình hóa phân phối tiềm ẩn của mình. Loại điều khiển này không tồn tại trong khung AE thông thường. Đây thực sự là sức mạnh của chính các mô hình Bayes, VAEs chỉ đơn giản là làm cho nó thực tế hơn và khả thi hơn cho các bộ dữ liệu quy mô lớn. Vì vậy, để kết luận, nếu bạn muốn kiểm soát chính xác các đại diện tiềm ẩn của mình và những gì bạn muốn chúng đại diện, thì hãy chọn VAE. Đôi khi, mô hình chính xác có thể thu được các biểu diễn tốt hơn như trong [2]. Tuy nhiên, nếu AE đủ cho công việc bạn làm, thì chỉ cần đi với AE, nó đủ đơn giản và không phức tạp. Xét cho cùng, với các AE, chúng ta chỉ đơn giản là thực hiện PCA phi tuyến tính.

[1] sớm Visual Concept Learning với có giám sát sâu Learning 2016
Irina Higgins, Loic Matthey, Xavier Glorot, Arka Pal, Benigno Uria, Charles Blundell, Shakir Mohamed, Alexander Lerchner
https://arxiv.org/abs/1606.05579

[2] Một mô hình biến đổi tiềm ẩn thường xuyên cho dữ liệu tuần tự, 2015
Junyoung Chung, Kyle Kastner, Laurent Dinh, Kratarth Goel, Aaron Courville, Yoshua Bengio
https://arxiv.org/abs/1506.02216


6

TenaliRaman có một số điểm tốt nhưng anh ấy cũng bỏ lỡ rất nhiều khái niệm cơ bản. Trước tiên, cần lưu ý rằng lý do chính để sử dụng khung giống như AE là không gian tiềm ẩn cho phép chúng tôi nén thông tin và hy vọng có được các yếu tố độc lập từ đó thể hiện các tính năng cấp cao của dữ liệu. Một điểm quan trọng là, trong khi các AE có thể được hiểu là phần mở rộng phi tuyến của PCA vì các đơn vị ẩn "X" sẽ có cùng không gian với số thành phần chính "X" đầu tiên, thì AE không nhất thiết phải tạo ra các thành phần trực giao trong thời gian tiềm ẩn không gian (sẽ tương đương với một dạng không tương xứng). Ngoài ra từ VAE, bạn có thể nhận được một giao dịch về khả năng dữ liệu (mặc dù gần đúng) và cũng lấy mẫu từ nó (có thể hữu ích cho các nhiệm vụ khác nhau). Tuy nhiên,

Phân phối trước được áp dụng cho các đơn vị tiềm ẩn trong VAE chỉ góp phần phù hợp với mô hình do thuật ngữ phân kỳ KL, mà tham chiếu [1] chỉ đơn giản là thêm một hệ số nhân siêu tham số vào thuật ngữ đó và đã lấy ra một bài báo đầy đủ (hầu hết là khá rõ ràng). Về cơ bản, một "không thông tin" trước là một cá nhân có phân kỳ KL gần bằng 0 và không đóng góp nhiều cho sự mất mát, có nghĩa là đơn vị cụ thể không được sử dụng để tái cấu trúc trong bộ giải mã. Sự không hài lòng xuất hiện trên VAE một cách tự nhiên bởi vì, trong trường hợp đơn giản nhất của dữ liệu đa phương thức, chi phí phân kỳ KL thấp hơn bằng cách có một Gaussian tiềm ẩn duy nhất cho mỗi chế độ so với khi mô hình cố gắng chụp nhiều chế độ với một Gaussian (sẽ phân kỳ xa hơn trước vì bị phạt rất nhiều bởi chi phí phân kỳ KL) - do đó dẫn đến để giải quyết trong các đơn vị tiềm ẩn. Do đó, VAE cũng tự cho vay một cách tự nhiên đối với hầu hết các nguồn dữ liệu vì những tác động thống kê liên quan đến nó.

Cũng có các khung áp đặt thưa thớt cho AE, nhưng thật không may, tôi không biết bất kỳ bài báo nào so sánh VAE và AE một cách nghiêm ngặt trên cơ sở đại diện không gian tiềm ẩn và sự không hài lòng. Tôi thực sự muốn thấy một cái gì đó trong đấu trường đó - vì các AE dễ huấn luyện hơn và nếu họ có thể đạt được sự bất đồng như VAE trong không gian tiềm ẩn thì rõ ràng họ sẽ được ưu tiên hơn. Về một lưu ý liên quan, tôi cũng đã thấy một số lời hứa bằng các phương pháp ICA (và ICA phi tuyến), nhưng các phương pháp mà tôi đã thấy buộc không gian tiềm ẩn có cùng chiều với dữ liệu, gần như không hữu ích như các AE để trích xuất các tính năng cấp cao.


3

Bộ mã hóa tự động tiêu chuẩn có thể được minh họa bằng biểu đồ sau: nhập mô tả hình ảnh ở đây

Như đã nêu trong các câu trả lời trước, nó có thể được xem như là một phần mở rộng phi tuyến của PCA.

Nhưng so với bộ mã hóa tự động biến đổi, bộ mã hóa tự động vanilla có nhược điểm sau:

Vấn đề cơ bản với bộ tạo tự động, trong thế hệ, là không gian tiềm ẩn mà chúng chuyển đổi đầu vào của chúng sang và nơi các vectơ được mã hóa của chúng nằm, có thể không liên tục hoặc cho phép nội suy dễ dàng.

Đó là, phần mã hóa trong biểu đồ trên không thể xử lý các đầu vào mà bộ mã hóa chưa từng thấy trước đây vì các lớp khác nhau được phân cụm một cách thẳng thắn và các đầu vào không nhìn thấy được mã hóa thành một thứ nằm ở đâu đó trong chỗ trống:

nhập mô tả hình ảnh ở đây

Để giải quyết vấn đề này, bộ mã hóa tự động biến đổi được tạo ra bằng cách thêm một lớp chứa giá trị trung bình và độ lệch chuẩn cho mỗi biến ẩn trong lớp giữa:

nhập mô tả hình ảnh ở đây

Sau đó, ngay cả đối với cùng một đầu vào, đầu ra được giải mã có thể khác nhau và các đầu vào được mã hóa và phân cụm trở nên trơn tru:

nhập mô tả hình ảnh ở đây

Vì vậy, để khử nhiễu hoặc phân loại dữ liệu (lọc ra dữ liệu không giống nhau), một bộ mã hóa tự động tiêu chuẩn là đủ, trong khi chúng tôi sử dụng bộ mã hóa tự động đa dạng để tạo ra.

Tham khảo:
Hiểu trực giác Bộ biến đổi tự động


1

Việc chọn phân phối mã trong VAE cho phép học tập đại diện không giám sát tốt hơn trong đó các mẫu của cùng một lớp kết thúc gần nhau trong không gian mã. Cũng theo cách này, việc tìm một ngữ nghĩa cho các vùng trong không gian mã trở nên dễ dàng hơn. Ví dụ, bạn sẽ biết từ mỗi khu vực lớp nào có thể được tạo.

Nếu bạn cần phân tích sâu hơn, hãy xem luận án của Durk Kingma . Đó là một nguồn tuyệt vời cho suy luận đa dạng.


Khi bạn đang nói về "chọn phân phối", bạn đang nói về phân phối nào? p (z), p (z | x), p (x | z) hay tất cả chúng? Tôi chỉ thấy sử dụng phân phối bình thường hoặc phân phối Bernoulli, bạn có biết về bất kỳ công việc nào so sánh hiệu suất sử dụng phân phối khác nhau không? Đối với điểm thứ hai của bạn, tôi không thể thấy lý do tại sao trình mã hóa tự động biến đổi sẽ làm việc tốt hơn so với trình mã hóa tự động bình thường, bạn có thể giải thích không? Cảm ơn.
DiveIntoML
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.