Mạng lưới thần kinh bất biến


14

Cho một mạng nơ ron f lấy n điểm dữ liệu đầu vào : x1,,xn . Ta nói fhoán vị bất biến nếu

f(x1...xn)=f(pi(x1...xn))

cho bất kỳ hoán vị pi .

Ai đó có thể đề nghị một điểm bắt đầu (bài viết, ví dụ hoặc bài báo khác) cho các mạng nơ ron bất biến hoán vị?


Câu hỏi thú vị. Bạn muốn coi bạn là đầu vào như một tập hợp chứ không phải là một vectơ. Giả sử đầu vào của bạn là vô hướng hoặc có thể so sánh được, bạn đã xem xét việc sắp xếp đầu vào của mình để tạo ra một biểu diễn chính tắc bất biến hoán vị và cung cấp cho mạng thông thường chưa?
mjul

@mjul Đầu vào của tôi là một loạt các cược của khách hàng (mỗi lần đặt cược được biểu thị bằng một vectơ của một số biến số chính và liên tục). Tôi có thể sắp xếp chúng theo thứ tự thời gian chẳng hạn, nhưng vì khoảng cách thời gian giữa các lần đặt cược cho mỗi khách hàng là rất khác nhau, điều này sẽ không có ý nghĩa nhiều. Điều này có thể được giải quyết bằng cách sử dụng một số chức năng (cố định hoặc đã học) về thời gian sẽ phân rã các hệ số cho mỗi lần đặt cược. Nhưng tôi nghĩ rằng việc đặt hàng thực sự không thành vấn đề trong trường hợp này vì vậy tôi muốn thử dữ liệu không được sắp xếp trước, điều này rõ ràng đòi hỏi phải xử lý các cược cho từng khách hàng một cách đối xứng.
Josef Ondrej

Đầu ra mạng là gì? Nếu mạng là bất biến hoán vị, đầu ra sẽ giống nhau cho bất kỳ thứ tự đầu vào nào. Đây có phải là những gì bạn muốn?
BlueMoon93

@ BlueMoon93 Vâng, đó chính xác là những gì tôi muốn. Đầu ra có thể là bất cứ thứ gì (số, vectơ) miễn là nó không phụ thuộc vào thứ tự của đầu vào.
Josef Ondrej

Tại sao bạn muốn có một mạng nơ ron hoán vị bất biến?
kc sayz 'kc sayz'

Câu trả lời:


2

Theo tôi biết, không ai đã thử điều này, do cách cấu trúc mạng. Mỗi đầu vào có một tập các trọng số, được kết nối với nhiều đầu vào hơn. Nếu đầu vào chuyển đổi, đầu ra cũng sẽ .

Tuy nhiên, bạn có thể xây dựng một mạng tiếp cận hành vi này. Trong tập huấn luyện của bạn, hãy sử dụng học tập theo đợt và cho từng mẫu đào tạo, đưa ra tất cả các hoán vị có thể có cho mạng để nó học được bất biến hoán vị. Điều này sẽ không bao giờ chính xác là bất biến, nó chỉ có thể là gần gũi .

Một cách khác để làm điều này là có trọng số được nhân rộng cho tất cả các đầu vào. Ví dụ: giả sử bạn có 3 đầu vào (i0, i1, i2) và lớp ẩn tiếp theo có 2 nút (hl0, hl1) và chức năng kích hoạt F. Giả sử một lớp được kết nối đầy đủ, bạn có 2 trọng số w0 và w1. Các nút của lớp ẩn hl0 và hl1 được đưa ra, tương ứng, bởi

  • hl0 = F (i0w0 + i1w0 + i2w0)

  • hl1 = F (i0w1 + i1w1 + i2w1)

Do đó cung cấp cho bạn một lớp ẩn có giá trị là bất biến hoán vị từ đầu vào. Từ bây giờ, bạn có thể tìm hiểu và xây dựng phần còn lại của mạng khi bạn thấy phù hợp. Đây là một cách tiếp cận bắt nguồn từ các lớp chập.


Off-topic, đây có vẻ như là một dự án tuyệt vời. Nếu bạn muốn hợp tác trong một số dự án nghiên cứu, liên hệ với tôi (kiểm tra hồ sơ của tôi)


Cách tiếp cận đầu tiên được đề xuất sẽ không khả thi trong trường hợp của tôi do tính phức tạp tính toán. Mặt khác, thứ hai có vẻ quá hạn chế. Nhưng nó chắc chắn là một khởi đầu tốt. Những gì tôi đã đưa ra cho đến nay là cách tiếp cận tương tự như cách tôi tìm thấy trong bài viết này: arxiv.org/pdf/1612.04530.pdf . Đầu tiên tôi xem xét tất cả các cặp (nói chung là tất cả các k-tup) của các đầu vào x_i, x_j, i, j trong 0 ... n và áp dụng một số mạng thần kinh trên tất cả chúng (cùng nn trên mỗi cặp). Điều này mang lại cho tôi n ** 2 kết quả đầu ra f (x_i, x_j) và sau đó tôi lấy trung bình chúng (hoặc lấy tối đa) và áp dụng anoter nn trên kết quả.
Josef Ondrej

Đây là những gì tôi đã nghĩ ra cho đến nay: github.com/josefondrej/Symmetric-Layers
Josef Ondrej


3

Tôi đã triển khai Lớp Permutational tại đây bằng cách sử dụng Keras: https://github.com/off99555/superkeras/blob/master/permutational_layer.py

Bạn có thể gọi PermutationalModulehàm để sử dụng nó.

Thực hiện theo bài viết này: https://arxiv.org/pdf/1612.04530.pdf

Ý tưởng là so sánh tất cả các cặp N ^ 2 cặp từ N đầu vào, sử dụng mô hình với các trọng số được chia sẻ, sau đó sử dụng hàm gộp N lần trên N đầu vào. Đầu ra bạn có thể sử dụng gộp lại nhưng trong bài báo, họ không đề cập đến việc gộp khá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.