Tại sao một máy Boltzman bị hạn chế (RBM) có xu hướng học các trọng số rất giống nhau?


8

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

Đây là 4 ma trận trọng lượng khác nhau mà tôi có được sau khi huấn luyện một máy Boltzman (RBM) bị hạn chế với ~ 4k đơn vị có thể nhìn thấy và chỉ 96 vectơ đơn vị / trọng lượng ẩn. Như bạn có thể thấy, các trọng số cực kỳ giống nhau - ngay cả các pixel đen trên khuôn mặt cũng được sao chép. 92 vectơ khác cũng rất giống nhau, mặc dù không có trọng số nào hoàn toàn giống nhau.

Tôi có thể khắc phục điều này bằng cách tăng số lượng vectơ trọng lượng lên 512 hoặc nhiều hơn. Nhưng tôi đã gặp vấn đề này vài lần trước đó với các loại RBM khác nhau (nhị phân, Gaussian, thậm chí tích chập), số lượng đơn vị ẩn khác nhau (bao gồm khá lớn), các tham số siêu khác nhau, v.v.

Câu hỏi của tôi là: lý do rất có thể khiến trọng lượng có được các giá trị rất giống nhau là gì? Có phải tất cả họ chỉ đạt được một số tối thiểu địa phương? Hay đó là một dấu hiệu của quá mức?

Tôi hiện đang sử dụng một loại Gaussian-Bernoulli RBM, mã có thể được tìm thấy ở đây .

CẬP NHẬT. Tập dữ liệu của tôi dựa trên CK + , chứa> 10k hình ảnh của 327 cá nhân. Tuy nhiên tôi làm tiền xử lý khá nặng. Đầu tiên, tôi chỉ cắt các pixel bên trong đường viền ngoài của khuôn mặt. Thứ hai, tôi biến đổi từng khuôn mặt (sử dụng gói affine piecewise) thành cùng một lưới (ví dụ: lông mày, mũi, môi, v.v ... ở cùng một vị trí (x, y) trên tất cả các hình ảnh). Sau khi tiền xử lý hình ảnh trông như thế này:

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

Khi đào tạo RBM, tôi chỉ lấy các pixel khác không, vì vậy vùng đen bên ngoài bị bỏ qua.


Vui lòng chia sẻ một số thông tin về dữ liệu bạn đang xem.
bayer

@bayer: vui lòng kiểm tra cập nhật của tôi.

Điều này trông giống như một quy trình đào tạo kém. Bạn có thể thêm thông tin về số bước CD, tốc độ học / động lượng, cỡ lô, v.v. không?
bayer

@bayer: tại thời điểm thử nghiệm này, tôi đã sử dụng CD-1, kích thước lô 10 hình ảnh, tốc độ học tập là 0,01 (0,1 / đợt_size) và không có động lượng nào cả. Tôi cũng nhận thấy rằng khởi tạo trọng lượng có một số tác động: với trọng số được khởi tạo từ N (0, 0,01) Tôi hầu như chưa bao giờ thấy vấn đề được mô tả, nhưng với trọng số từ N (0, 0,001) tôi gặp vấn đề gần như mỗi lần.

1
Nếu tỷ lệ học tập của bạn quá cao, mẫu đầu tiên (hoặc giá trị trung bình của đợt) sẽ là những gì trang phục RBM mang lại. Nếu các "nơ-ron" (tức là p (h | v)) thì bão hòa, các quầy học tập - độ dốc của các nơ-ron này sẽ gần bằng không. Đây là một cách để điều này xảy ra.
bayer

Câu trả lời:


1

Một máy Boltzmann bị hạn chế (RBM) học cách nén mất mát các đầu vào ban đầu hay nói cách khác là phân phối xác suất.

Đó là 4 ma trận trọng lượng khác nhau đều là biểu diễn kích thước giảm của các đầu vào mặt ban đầu. Nếu bạn hình dung các trọng số là phân phối xác suất, giá trị phân phối sẽ khác nhau nhưng chúng sẽ có cùng mức tổn thất so với tái tạo hình ảnh gốc.

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.