Bộ biến đổi tự động biến đổi là gì và chúng được sử dụng cho các nhiệm vụ học tập nào?


24

Theo nàynày câu trả lời, autoencoders dường như là một kỹ thuật mà sử dụng mạng thần kinh để giảm kích thước. Ngoài ra, tôi cũng muốn biết bộ giải mã tự động biến đổi là gì (sự khác biệt / lợi ích chính của nó so với bộ tự động "truyền thống") và các nhiệm vụ học tập chính mà các thuật toán này sử dụng là gì.

Câu trả lời:


37

Mặc dù bộ điều khiển tự động biến đổi (VAE) rất dễ thực hiện và huấn luyện, nhưng việc giải thích chúng không hề đơn giản, bởi vì chúng pha trộn các khái niệm từ Deep Learning và Variational Bayes, và cộng đồng Deep Learning và Xác suất mô hình sử dụng các thuật ngữ khác nhau cho cùng một khái niệm. Do đó, khi giải thích VAE, bạn có nguy cơ tập trung vào phần mô hình thống kê, khiến người đọc không biết gì về cách thực hiện nó hoặc ngược lại tập trung vào kiến ​​trúc mạng và chức năng mất, trong đó thuật ngữ Kullback-Leibler dường như kéo ra khỏi không khí mỏng. Tôi sẽ cố gắng tạo ra một nền tảng ở đây, bắt đầu từ mô hình nhưng cung cấp đủ chi tiết để thực sự triển khai nó trong thực tế hoặc hiểu cách thực hiện của người khác.

VAE là mô hình thế hệ

Không giống như các bộ tự động cổ điển (thưa thớt, khử nhiễu, v.v.), VAE là mô hình thế hệ , giống như GAN. Với mô hình tổng quát, ý tôi là một mô hình học phân phối xác suất trên không gian đầu vào . Điều này có nghĩa là sau khi chúng tôi đã đào tạo một mô hình như vậy, sau đó chúng tôi có thể lấy mẫu từ (xấp xỉ của chúng tôi) . Nếu tập huấn luyện của chúng tôi được làm bằng các chữ số viết tay (MNIST), thì sau khi đào tạo, mô hình thế hệ có thể tạo ra các hình ảnh trông giống như các chữ số viết tay, mặc dù chúng không phải là "bản sao" của các hình ảnh trong tập huấn luyện.p(x)xp(x)

Học cách phân phối hình ảnh trong tập huấn luyện ngụ ý rằng hình ảnh trông giống chữ số viết tay nên có xác suất cao được tạo ra, trong khi hình ảnh trông giống Jolly Roger hoặc nhiễu ngẫu nhiên nên có xác suất thấp. Nói cách khác, điều đó có nghĩa là tìm hiểu về sự phụ thuộc giữa các pixel: nếu hình ảnh của chúng tôi là một hình ảnh thang độ xám pixel từ MNIST, mô hình nên biết rằng nếu một pixel rất sáng, thì có một xác suất đáng kể là một số lân cận các pixel cũng sáng, rằng nếu chúng ta có một pixel dài, nghiêng, chúng ta có thể có một pixel pixel nhỏ hơn, nằm ngang phía trên pixel này (a 7), v.v.28×28=784

VAE là mô hình biến tiềm ẩn

VAE là một mô hình biến tiềm ẩn : điều này có nghĩa là x , vectơ ngẫu nhiên của cường độ 784 pixel (các biến quan sát ), được mô hình hóa như một hàm (có thể rất phức tạp) của vectơ ngẫu nhiên zZ có chiều thấp hơn, có thành phần là các biến không quan sát được ( tiềm ẩn ). Khi một mô hình như vậy có ý nghĩa? Ví dụ: trong trường hợp MNIST, chúng tôi nghĩ rằng các chữ số viết tay thuộc về một đa chiều có kích thước nhỏ hơn nhiều so với kích thước của x, bởi vì phần lớn các sắp xếp ngẫu nhiên của cường độ 784 pixel, không nhìn giống như chữ số viết tay. Theo trực giác, chúng tôi mong muốn kích thước tối thiểu là 10 (số chữ số), nhưng rất có thể nó lớn hơn vì mỗi chữ số có thể được viết theo những cách khác nhau. Một số khác biệt là không quan trọng đối với chất lượng của hình ảnh cuối cùng (ví dụ, xoay và dịch toàn cầu), nhưng những cái khác là quan trọng. Vì vậy, trong trường hợp này mô hình tiềm ẩn có ý nghĩa. Thêm về điều này sau. Lưu ý rằng, thật đáng ngạc nhiên, ngay cả khi trực giác của chúng tôi cho chúng ta biết rằng kích thước khoảng 10, chúng tôi chắc chắn có thể sử dụng chỉ 2 biến tiềm ẩn để mã hóa tập dữ liệu MNIST bằng VAE (mặc dù kết quả sẽ không đẹp). Lý do là ngay cả một biến thực duy nhất cũng có thể mã hóa vô số lớp, bởi vì nó có thể giả sử tất cả các giá trị nguyên có thể và hơn thế nữa. Tất nhiên, nếu các lớp có sự chồng chéo đáng kể giữa chúng (chẳng hạn như 9 và 8 hoặc 7 và I trong MNIST), thì ngay cả hàm phức tạp nhất chỉ có hai biến tiềm ẩn sẽ làm rất tốt việc tạo các mẫu rõ ràng cho mỗi lớp. Thêm về điều này sau.

VAE giả định phân phối tham số đa biến (trong đó là các tham số của ) và họ tìm hiểu các tham số của phân phối đa biến. Việc sử dụng pdf tham số cho , giúp ngăn chặn số lượng tham số của VAE tăng lên không giới hạn với sự tăng trưởng của tập huấn luyện, được gọi là khấu hao trong biệt ngữ VAE (vâng, tôi biết ...).q(z|x,λ)λqz

Mạng giải mã

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

Chúng tôi bắt đầu từ mạng bộ giải mã vì VAE là mô hình tổng quát và phần duy nhất của VAE thực sự được sử dụng để tạo hình ảnh mới là bộ giải mã. Mạng bộ mã hóa chỉ được sử dụng tại thời điểm suy luận (đào tạo).

Mục tiêu của mạng giải mã là tạo ra các vectơ ngẫu nhiên mới thuộc về không gian đầu vào , tức là các hình ảnh mới, bắt đầu từ việc hiện thực hóa vectơ tiềm ẩn . Điều này có nghĩa rõ ràng là nó phải học phân phối có điều kiện . Đối với VAE, phân phối này thường được coi là một Gaussian đa biến 1 :xXzp(x|z)

pφ(x|z)= =N(x|μ(z;φ),σ(z;φ)2tôi)

φ là vectơ trọng số (và độ lệch) của mạng bộ mã hóa. Các vectơ và là các hàm phi tuyến phức tạp, không xác định, được mô hình hóa bởi mạng giải mã: mạng nơ ron là các hàm xấp xỉ hàm phi tuyến mạnh mẽ.μ(z;φ)σ(z;φ)


Như @amoeba đã lưu ý trong các bình luận, có một sự tương đồng đáng chú ý giữa bộ giải mã và mô hình biến tiềm ẩn cổ điển: Phân tích nhân tố. Trong phân tích nhân tố, bạn giả sử mô hình:

x|z~N(Wz+μ,σ2tôi), z~N(0,tôi)

Cả hai mô hình (FA & bộ giải mã) đều cho rằng phân phối có điều kiện của các biến quan sát trên các biến tiềm ẩn là Gaussian và bản thân là Gaussian chuẩn. Sự khác biệt là bộ giải mã không cho rằng giá trị trung bình của là tuyến tính trong , cũng không cho rằng độ lệch chuẩn là một vectơ không đổi. Ngược lại, nó mô hình hóa chúng như các hàm phi tuyến phức tạp của . Về mặt này, nó có thể được coi là Phân tích nhân tố phi tuyến. Xem tại đâyxzzp(x|z)zzcho một cuộc thảo luận sâu sắc về mối liên hệ này giữa FA và VAE. Do FA với ma trận hiệp phương sai đẳng hướng chỉ là PPCA, nên điều này cũng liên quan đến kết quả nổi tiếng là bộ tự động tuyến tính giảm xuống PCA.


Chúng ta hãy quay trở lại bộ giải mã: làm thế nào để chúng ta học ? Theo trực giác, chúng tôi muốn các biến tiềm ẩn giúp tối đa hóa khả năng tạo trong tập huấn luyện . Nói cách khác, chúng tôi muốn tính toán phân phối xác suất sau của , được cung cấp dữ liệu:φzxtôiDnz

p(z|x)= =pφ(x|z)p(z)p(x)

Chúng tôi giả sử trước và chúng tôi gặp phải vấn đề thông thường trong suy luận Bayes rằng tính toán ( bằng chứng ) là khó ( một tích phân đa chiều). Hơn nữa, vì ở đây không xác định, dù sao chúng ta không thể tính toán được. Nhập suy luận biến thể, công cụ cung cấp tên biến thể tự động biến đổi tên của chúng.N(0,tôi)zp(x)μ ( z ; φ )μ(z;φ)

Suy luận biến đổi cho mô hình VAE

Biến thể biến đổi là một công cụ để thực hiện suy luận Bayes gần đúng cho các mô hình rất phức tạp. Nó không phải là một công cụ quá phức tạp, nhưng câu trả lời của tôi đã quá dài và tôi sẽ không đi vào một lời giải thích chi tiết về VI. Bạn có thể xem câu trả lời này và các tài liệu tham khảo trong đó nếu bạn tò mò:

/stats//a/270569/58675

Nó đủ để nói rằng VI tìm kiếm một xấp xỉ với trong một họ phân phối tham số , trong đó, như đã lưu ý ở trên, là các tham số của gia đình. Chúng tôi tìm kiếm các tham số giảm thiểu phân kỳ Kullback-Leibler giữa phân phối mục tiêu và :p(z|x)q(z|x,λ)λp(z|x)q(z|x,λ)

tối thiểuλD[p(z|x)||q(z|x,λ)]

Một lần nữa, chúng ta không thể giảm thiểu điều này một cách trực tiếp vì định nghĩa về phân kỳ Kullback-Leibler bao gồm bằng chứng. Giới thiệu ELBO (Evidence Lower BOund) và sau một số thao tác đại số, cuối cùng chúng tôi cũng nhận được tại:

ELBÔi(λ)= =Eq(z|x,λ)[đăng nhậpp(x|z)]-D[(q(z|x,λ)||p(z)]

Vì ELBO là một bằng chứng ràng buộc thấp hơn (xem liên kết ở trên), tối đa hóa ELBO không chính xác tương đương với tối đa hóa khả năng của dữ liệu được cung cấp (xét cho cùng, VI là một công cụ để suy luận gần đúng Bayesian), nhưng nó đi đúng hướngλ

Để suy luận, chúng ta cần chỉ định họ tham số . Trong hầu hết các VAE, chúng tôi chọn phân phối Gaussian đa biến, không tương thíchq(z|x,λ)

q(z|x,λ)= =N(z|μ(x),σ2(x)tôi)

Đây là cùng một lựa chọn chúng tôi đã thực hiện cho , mặc dù chúng tôi có thể đã chọn một họ tham số khác. Như trước đây, chúng ta có thể ước tính các hàm phi tuyến phức tạp này bằng cách giới thiệu một mô hình mạng thần kinh. Vì mô hình này chấp nhận hình ảnh đầu vào và trả về các tham số phân phối các biến tiềm ẩn, chúng tôi gọi nó là mạng bộ mã hóa . Như trước đây, chúng ta có thể ước tính các hàm phi tuyến phức tạp này bằng cách giới thiệu một mô hình mạng thần kinh. Vì mô hình này chấp nhận hình ảnh đầu vào và trả về các tham số phân phối các biến tiềm ẩn, chúng tôi gọi nó là mạng bộ mã hóa .p(x|z)

Mạng bộ mã hóa

Còn được gọi là mạng suy luận , điều này chỉ được sử dụng tại thời điểm đào tạo.

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

Như đã lưu ý ở trên, bộ mã hóa phải xấp xỉ và , do đó, nếu chúng ta có, 24 biến tiềm ẩn, đầu ra của bộ mã hóa là một vectơ . Bộ mã hóa có trọng số (và độ lệch) . Để tìm hiểu , cuối cùng chúng ta cũng có thể viết ELBO theo các tham số và của mạng bộ mã hóa và giải mã, cũng như các điểm tập huấn luyện:μ(x)σ(x)d=48θθθϕ

ELBO(θ,ϕ)=iEqθ(z|xi,λ)[logpϕ(xi|z)]D[(qθ(z|xi,λ)||p(z)]

Cuối cùng chúng ta có thể kết luận. Ngược lại với ELBO, là một chức năng của và , được sử dụng làm chức năng mất của VAE. Chúng tôi sử dụng SGD để giảm thiểu tổn thất này, tức là tối đa hóa ELBO. Vì ELBO bị ràng buộc thấp hơn về bằng chứng, điều này đi theo hướng tối đa hóa bằng chứng, và do đó tạo ra hình ảnh mới tương tự tối ưu với hình ảnh trong tập huấn luyện. Thuật ngữ đầu tiên trong ELBO là khả năng đăng nhập tiêu cực dự kiến ​​của các điểm tập huấn, do đó nó khuyến khích người giải mã tạo ra các hình ảnh tương tự như các tập huấn luyện. Thuật ngữ thứ hai có thể được hiểu là một công cụ chính quy: nó khuyến khích bộ mã hóa tạo phân phối cho các biến tiềm ẩn tương tự nhưθϕp(z)= =N(0,tôi). Nhưng bằng cách giới thiệu mô hình xác suất trước tiên, chúng tôi đã hiểu toàn bộ biểu thức xuất phát từ đâu: sự giảm thiểu của phân kỳ Kullabck-Leibler giữa phần sau gần đúng và mô hình sau . 2qθ(z|x,λ)p(z|x,λ)

Khi chúng ta đã học được và bằng cách tối đa hóa , chúng ta có thể loại bỏ bộ mã hóa. Từ giờ trở đi, để tạo hình ảnh mới, chỉ cần lấy mẫu và truyền nó qua bộ giải mã. Đầu ra bộ giải mã sẽ là hình ảnh tương tự như trong tập huấn luyện.θφELBÔi(θ,φ)z~N(0,tôi)

Tài liệu tham khảo và đọc thêm


1 Giả định này không thực sự cần thiết, mặc dù nó đơn giản hóa mô tả của chúng tôi về VAEs. Tuy nhiên, tùy thuộc vào các ứng dụng, bạn có thể giả sử một phân phối khác cho . Ví dụ: nếu là một vectơ của các biến nhị phân, một Gaussian không có nghĩa gì và Bernoulli đa biến có thể được giả sử.pϕ(x|z)xp

2 Biểu thức ELBO, với sự tao nhã toán học, che giấu hai nguồn đau đớn chính cho các học viên VAE. Một là thuật ngữ trung bình . Điều này thực sự đòi hỏi tính toán một kỳ vọng, đòi hỏi phải lấy nhiều mẫu từEqθ(z|xi,λ)[logpϕ(xi|z)]qθ(z|xi,λ). Với kích thước của các mạng thần kinh liên quan và tốc độ hội tụ thấp của thuật toán SGD, việc phải vẽ nhiều mẫu ngẫu nhiên ở mỗi lần lặp (thực tế, đối với mỗi xe buýt nhỏ, thậm chí còn tệ hơn) rất tốn thời gian. Người dùng VAE giải quyết vấn đề này rất thực tế bằng cách tính toán kỳ vọng đó với một mẫu ngẫu nhiên (!). Vấn đề khác là để đào tạo hai mạng nơ ron (bộ mã hóa & giải mã) với thuật toán backpropagation, tôi cần có khả năng phân biệt tất cả các bước liên quan đến việc truyền từ bộ mã hóa sang bộ giải mã. Vì bộ giải mã không có tính xác định (việc đánh giá đầu ra của nó đòi hỏi phải vẽ từ một Gaussian đa biến), nên thậm chí không có ý nghĩa gì để hỏi liệu đó có phải là một kiến ​​trúc khác biệt hay không. Giải pháp cho vấn đề này là thủ thuật lặp lại .


1
Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
gung - Phục hồi Monica

2
+6. Tôi đặt một tiền thưởng ở đây, vì vậy hy vọng bạn sẽ nhận được một số upvote bổ sung. Nếu bạn muốn cải thiện một cái gì đó trong bài đăng này (ngay cả khi chỉ định dạng), bây giờ là thời điểm tốt: mọi chỉnh sửa sẽ đưa chủ đề này lên trang nhất và khiến nhiều người chú ý đến tiền thưởng. Ngoài ra, tôi đã suy nghĩ thêm một chút về mối quan hệ khái niệm giữa ước lượng EM của mô hình FA và đào tạo VAE. Bạn liên kết đến các slide bài giảng rất dài về cách đào tạo VAE tương tự như EM, nhưng thật tuyệt vời khi chắt lọc một số trực giác đó vào câu trả lời này.
amip nói rằng Phục hồi Monica

(Tôi đã đọc một số về điều đó và tôi đang nghĩ đến việc viết một câu trả lời "trực quan / khái niệm" ở đây tập trung vào sự tương ứng của FA / PPCA <-> VAE về đào tạo EM <-> VAE, nhưng tôi không nghĩ Tôi biết đủ cho một câu trả lời có thẩm quyền ... Vì vậy, tôi muốn thay vào đó là một người khác đã viết nó :-)
amip nói rằng Rebstate Monica

Cảm ơn tiền thưởng! Một số chỉnh sửa chính được thực hiện. Mặc dù vậy, tôi sẽ không giải quyết vấn đề EM, vì tôi không biết đủ về EM và vì tôi có đủ thời gian (bạn biết tôi mất bao lâu để thực hiện các chỉnh sửa lớn ... ;-)
DeltaIV
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.