Sự khác biệt giữa mã hóa thưa thớt và bộ mã hóa tự động là gì?


35

Mã hóa thưa thớt được định nghĩa là học một tập các vectơ cơ sở quá hoàn chỉnh để biểu diễn các vectơ đầu vào (<- tại sao chúng ta muốn điều này). Sự khác biệt giữa mã hóa thưa thớt và bộ mã hóa tự động là gì? Khi nào chúng ta sẽ sử dụng mã hóa và bộ mã hóa tự động thưa thớt?


1
Mã hóa thưa thớt thực sự cấu thành một loại trình mã hóa tự động cụ thể được gọi là mã hóa tự động thưa thớt . Vì vậy, bạn có thể coi mã hóa thưa thớt như một tập hợp con của bộ tự động nếu bạn muốn.
HelloGoodbye

Câu trả lời:


34

Tìm sự khác biệt có thể được thực hiện bằng cách nhìn vào các mô hình. Trước tiên hãy xem mã hóa thưa thớt.

Mã hóa thưa thớt

Mã hóa thưa thớt giảm thiểu mục tiêu trong đó là ma trận cơ sở, H là ma trận mã và là ma trận dữ liệu chúng ta muốn biểu diễn. thực hiện một giao dịch giữa thưa thớt và tái thiết. Lưu ý rằng nếu chúng ta được cung cấp , việc ước tính là dễ dàng thông qua các bình phương tối thiểu.

Lsc=||WHX||22reconstruction term+λ||H||1sparsity term
WXλHW

Ban đầu, chúng tôi không có tuy nhiên. Tuy nhiên, nhiều thuật toán tồn tại mà có thể giải quyết được mục tiêu trên đối với với . Trên thực tế, đây là cách chúng ta suy luận: chúng ta cần giải quyết một vấn đề tối ưu hóa nếu chúng ta muốn biết thuộc về một không nhìn thấy .HHxhx

Bộ mã hóa tự động

Bộ mã hóa tự động là một họ của các mạng thần kinh không được giám sát. Có khá nhiều trong số họ, ví dụ như bộ mã hóa tự động sâu hoặc những người có các thủ thuật chính quy hóa khác nhau được đính kèm - ví dụ như khử nhiễu, hợp đồng, thưa thớt. Thậm chí còn tồn tại những mạng xác suất, chẳng hạn như mạng ngẫu nhiên thế hệ hoặc bộ mã hóa tự động đa dạng. Hình thức trừu tượng nhất của họ là nhưng chúng tôi sẽ đi cùng với một đơn giản hơn nhiều một cho bây giờ: L ae = | | W σ ( W T X )

D(d(e(x;θr);θd),x)
nơi σ là một hàm phi tuyến như sigmoid logistic σ ( x ) = 1
Lae=||Wσ(WTX)X||2
σ .σ(x)=11+exp(x)

Điểm tương đồng

Lưu ý rằng ngoại hình gần giống như L một e khi chúng tôi thiết H = σ ( W T X ) . Sự khác biệt của cả hai là i) bộ mã hóa tự động không khuyến khích sự thưa thớt ở dạng chung ii) bộ mã hóa tự động sử dụng mô hình để tìm mã, trong khi mã hóa thưa thớt làm như vậy bằng phương pháp tối ưu hóa.LscLaeH=σ(WTX)

Đối với dữ liệu hình ảnh tự nhiên, bộ mã hóa tự động thường xuyên và mã hóa thưa thớt có xu hướng mang lại rất giống nhau . Tuy nhiên, bộ mã hóa tự động hiệu quả hơn nhiều và dễ dàng khái quát hóa cho các mô hình phức tạp hơn nhiều. Ví dụ, bộ giải mã có thể rất phi tuyến, ví dụ như một mạng nơ ron sâu. Hơn nữa, người ta không bị ràng buộc với tổn thất bình phương (theo đó ước tính của W cho L s cWWLsc .)

Ngoài ra, các phương pháp khác nhau của biểu diễn năng suất chính quy với đặc tính khác nhau. Bộ mã hóa tự động khử nhiễu cũng đã được chứng minh là tương đương với một dạng RBM nhất định, v.v.

Nhưng tại sao?

Nếu bạn muốn giải quyết vấn đề dự đoán, bạn sẽ không cần bộ mã hóa tự động trừ khi bạn chỉ có ít dữ liệu được dán nhãn và nhiều dữ liệu không được gắn nhãn. Sau đó, bạn thường sẽ tốt hơn để đào tạo một bộ mã hóa tự động sâu và đặt một SVM tuyến tính lên trên thay vì đào tạo một mạng lưới thần kinh sâu.

Tuy nhiên, chúng là những mô hình rất mạnh để nắm bắt đặc điểm phân phối. Điều này là mơ hồ, nhưng nghiên cứu biến điều này thành sự thật thống kê cứng hiện đang được tiến hành. Các mô hình Gaussian tiềm ẩn sâu hay còn gọi là Bộ mã hóa tự động biến đổi hoặc mạng ngẫu nhiên chung là những cách khá thú vị để có được bộ mã hóa tự động có thể ước tính phân phối dữ liệu cơ bản.


Cảm ơn câu trả lời của bạn! Vì vậy, điều đó có nghĩa là mã hóa thưa thớt không nên được sử dụng trong mọi trường hợp, nhưng tự động mã hóa? Ngoài ra, cần có một thuật ngữ phụ trong mã hóa thưa thớt mà thường xuyên hóa W?
RockTheStar

Không có quy tắc chung như thế. SC có một lợi ích so với AE: mã hóa thông qua tối ưu hóa có thể rất mạnh mẽ.
bayerj

Xin lỗi, bạn có thể giải thích về điều này?
RockTheStar

Có một bản đồ cố định đã được ước tính để tuân theo một số ràng buộc (ở đây: kết quả thưa thớt) ít mạnh hơn so với việc có một trình tối ưu hóa cố gắng tìm một giải pháp như vậy qua nhiều lần lặp lại.
bayerj

1
Xin lỗi để đưa câu hỏi này lên một lần nữa. Tôi nghĩ Autoencoder cũng có thể khuyến khích độ thưa thớt, tức là autoencoder thưa thớt.
RockTheStar

11

Trong khoa học thần kinh, thuật ngữ Mã hóa thần kinh được sử dụng để chỉ các mô hình hoạt động điện của các tế bào thần kinh gây ra bởi một kích thích. Mã hóa thưa thớt theo lượt của nó là một loại mô hình. Một mã được cho là thưa thớt khi một kích thích (như hình ảnh) kích thích sự kích hoạt chỉ một số lượng tế bào thần kinh tương đối nhỏ, kết hợp lại thể hiện nó một cách thưa thớt. Trong học máy, các ràng buộc tối ưu hóa tương tự được sử dụng để tạo ra một mô hình mã thưa thớt có thể được sử dụng để triển khai Bộ điều khiển tự động thưa thớt, là các bộ tự động thường xuyên được đào tạo với một ràng buộc thưa thớt. Dưới đây giải thích chi tiết hơn cho mỗi câu hỏi của bạn được đưa ra.

Mã hóa thưa thớt được định nghĩa là học một tập các vectơ cơ sở quá hoàn chỉnh để biểu diễn các vectơ đầu vào (<- tại sao chúng ta muốn điều này)

Đầu tiên, ít nhất là từ (Hubel & W Diesel, 1968), người ta biết rằng trong khu vực V1 có các tế bào cụ thể đáp ứng tối đa với kích thích giống như cạnh (bên cạnh các đặc tính "hữu ích" khác). Mã hóa thưa thớt là một mô hình giải thích tốt nhiều đặc điểm quan sát được của hệ thống này. Xem (Olshausen & Field, 1996) để biết thêm chi tiết.

Thứ hai, người ta đã chứng minh rằng mô hình mô tả mã hóa thưa thớt là một kỹ thuật hữu ích để trích xuất tính năng trong Machine Learning và mang lại kết quả tốt trong các nhiệm vụ học chuyển. Raina và cộng sự. (2007) đã chỉ ra rằng một tập hợp các "vectơ cơ sở" (tính năng, như nét bút và cạnh) đã học với một tập huấn gồm các ký tự viết tay giúp cải thiện việc phân loại trong một nhiệm vụ nhận dạng chữ số viết tay. Các mô hình dựa trên Mã hóa thưa thớt sau này đã được sử dụng để đào tạo các mạng "sâu", xếp chồng các lớp máy dò tính năng thưa thớt để tạo ra một "mạng lưới niềm tin sâu thẳm" (Lee et al., 2007). Gần đây, kết quả đáng kinh ngạc về nhận dạng hình ảnh đã đạt được bằng cách sử dụng các mô hình dựa trên mã hóa thưa thớt để xây dựng một mạng có nhiều lớp ("Google Brain" nổi tiếng), có khả năng phân biệt hình ảnh của một con mèo theo cách hoàn toàn không bị giám sát (Le et al. , 2013) .

Thứ ba, có thể sử dụng cơ sở đã học để thực hiện nén. Không ai thấy ai thực sự làm điều đó mặc dù.

Sự khác biệt giữa mã hóa thưa thớt và bộ mã hóa tự động là gì?

Bộ mã hóa tự động là một mô hình cố gắng xây dựng lại đầu vào của nó, thường sử dụng một số loại ràng buộc. Theo Wikipedia, "đây là một mạng lưới thần kinh nhân tạo được sử dụng để học mã hóa hiệu quả". Không có gì trong định nghĩa của autoencoder yêu cầu sự thưa thớt. Mâu thuẫn dựa trên mã hóa thưa thớt là một trong những kỹ thuật có sẵn, nhưng có những kỹ thuật khác, ví dụ như Denoising Autoencoder, Tương phản Autoencoder và RBMs. Tất cả làm cho mạng tìm hiểu các đại diện tốt của đầu vào (cũng thường là "thưa thớt").

Khi nào chúng ta sẽ sử dụng mã hóa và bộ mã hóa tự động thưa thớt?

Bạn có thể quan tâm đến việc sử dụng bộ mã hóa tự động để trích xuất tính năng và / hoặc đào tạo trước các mạng sâu. Nếu bạn triển khai bộ mã hóa tự động với ràng buộc về độ thưa thớt, bạn sẽ sử dụng cả hai.


Câu trả lời này có nhiều điểm thú vị và tài liệu tham khảo quan trọng. Tuy nhiên, đoạn đầu tiên là sai . Mã hóa thưa thớt và bộ mã hóa tự động thưa thớt là những con thú khác nhau.
bayerj

Trường hợp được tuyên bố rằng họ là những điều tương tự? Xin vui lòng, cho tôi biết và tôi sẽ sửa câu trả lời.
Saul Berardo

Trong câu đầu tiên.
bayerj

"Mã hóa thưa thớt chỉ là một trong những kỹ thuật có sẵn để đào tạo bộ tự động mã hóa". Câu này không định nghĩa "Mã hóa thưa thớt" giống như "quái thú" như trình mã hóa tự động. Nó nói rằng, giữa tất cả các kỹ thuật có sẵn để đào tạo bộ tự động, một trong số đó là "Mã hóa thưa thớt". Tôi đồng ý rằng câu thực sự có một chút mơ hồ, mà tôi tin rằng được làm rõ bởi phần còn lại của câu trả lời.
Saul Berardo

Bạn nói rằng mã hóa thưa thớt là một phương pháp để đào tạo các bộ mã hóa tự động. Đó rõ ràng không phải là trường hợp, vì bộ mã hóa tự động có bộ giải mã rõ ràng không được thực hiện với thuật toán tối ưu hóa. Đưa ra một bộ mã hóa tự động tùy ý, bạn không thể đào tạo nó với mã hóa thưa thớt.
bayerj

1

Một bộ mã hóa thưa thớt giống như một nửa bộ mã hóa tự động. Một bộ mã hóa tự động hoạt động như:

input  =>  neural net layer  =>  hidden outputs => neural net layer => output

Đối với lan truyền ngược, tín hiệu lỗi, mất, là: đầu vào - đầu ra

Nếu chúng ta áp dụng một ràng buộc về độ thưa thớt trên các đầu ra bị ẩn, thì hầu hết sẽ là các số 0 và một số ít sẽ là 1 giây. Sau đó, lớp thứ hai về cơ bản là một tập hợp các hàm cơ sở tuyến tính, được thêm vào với nhau, theo đó các đầu ra ẩn là 1s.

Trong mã hóa thưa thớt, chúng ta chỉ có nửa sau này:

                                codes => neural net layer => output

'Mã' là một nhóm các số thực, chọn các hàm cơ bản được biểu thị bằng các trọng số trong lớp mạng thần kinh. Vì trong bài báo của Olshausen, họ đang áp dụng một ràng buộc về độ thưa thớt cho các mã, các mã này, giống như trong bộ mã hóa tự động thưa thớt, thưa thớt: chủ yếu là số không với một vài mã.

Sự khác biệt chúng ta có thể thấy rõ bây giờ: đối với mã hóa thưa thớt, không có nửa đầu của mạng thần kinh: các mã không được cung cấp cho chúng ta một cách tự động bởi một mạng lưới thần kinh.

Làm thế nào để chúng ta có được các mã trong mã hóa thưa thớt? Chúng ta phải tự tối ưu hóa, điều chúng ta làm bằng cách sử dụng độ dốc gốc hoặc tương tự, để tìm bộ mã cung cấp đầu ra phù hợp nhất với hình ảnh đầu vào. Chúng tôi phải làm điều này cho mọi hình ảnh, bao gồm mọi hình ảnh thử nghiệm, mỗi lần.


0

Bạn có thể muốn đọc bài báo gần đây này, https://arxiv.org/abs/1708.03735v2 về chính xác cùng chủ đề này. Trong bài báo này, các tác giả cho thấy rằng thực sự người ta có thể thiết lập một bộ mã hóa tự động sao cho từ điển sự thật mặt đất là một điểm quan trọng của chức năng mất bình phương của trình tự động đó.

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.