Kiến trúc của một bộ tự động tích chập xếp chồng lên nhau là gì?


23

Vì vậy, tôi đang cố gắng thực hiện sơ bộ về hình ảnh của con người bằng cách sử dụng lưới chập. Tôi đọc các giấy tờ ( Paper1Paper2 ) và liên kết stackoverflow này , nhưng tôi không chắc là tôi hiểu cấu trúc của lưới (nó không được xác định rõ trong các giấy tờ).

Câu hỏi:

  • Tôi có thể có đầu vào của mình theo sau là một lớp nhiễu theo sau là một lớp đối lưu, tiếp theo là một lớp gộp - sau đó - tôi có khử trước khi tôi đưa ra đầu ra của mình (giống với hình ảnh đầu vào của tôi) không?

    Nói rằng tôi có một số (135.240) hình ảnh. Nếu tôi sử dụng hạt nhân 32, (12,21), tiếp theo là (2,2) gộp, tôi sẽ kết thúc với bản đồ tính năng 32 (62, 110). Bây giờ tôi có hủy nhóm để lấy 32 (124, 220) bản đồ tính năng và sau đó làm phẳng chúng không? trước khi cho lớp đầu ra (135.240) của tôi?

  • Nếu tôi có nhiều lớp đối lưu như vậy, tôi có nên huấn luyện từng lớp một - như trong các bộ tự động khử nhiễu được xếp chồng lên nhau không? Hoặc - tôi có thể có một cái gì đó như input-conv-pool-conv-pool-conv-pool-output (đầu ra giống như đầu vào) không? Trong trường hợp đó, việc gộp chung, khử trùng được cho là như thế nào? Tôi chỉ nên khử pool trong lớp pool cuối cùng trước khi xuất? Và một lần nữa - yếu tố thay đổi kích thước của sự hủy bỏ đó là gì? Là ý định đưa các bản đồ tính năng trở lại hình dạng của đầu vào?

  • Tôi có nên giới thiệu các lớp tiếng ồn sau mỗi lớp dep-pool-depool không?

  • Và sau đó khi tinh chỉnh - tôi có nên loại bỏ các lớp khử và giữ phần còn lại như cũ. Hoặc tôi nên loại bỏ cả lớp tiếng ồn và lớp khử

  • Có ai có thể chỉ cho tôi một url / tờ giấy có chi tiết kiến ​​trúc của một bộ mã hóa tự động tích chập xếp chồng như vậy để thực hiện đào tạo trước về hình ảnh không?

Câu trả lời:


12

Tôi hiện đang khám phá các autoencoder xếp chồng lên nhau.

Tôi sẽ cố gắng và trả lời một số câu hỏi của bạn theo sự hiểu biết tốt nhất của tôi. Tâm trí bạn, tôi có thể sai vì vậy hãy mang nó với một hạt muối.

  1. Có, bạn phải "đảo ngược" nhóm và sau đó kết hợp với một bộ các bộ lọc để khôi phục hình ảnh đầu ra của bạn. Mạng thần kinh tiêu chuẩn (coi dữ liệu MNIST là đầu vào, tức là kích thước đầu vào 28x28) sẽ là:

        28x28(input) -- convolve with 5 filters, each filter 5x5 -->  5 @ 28 x 28 maps -- maxPooling --> 5 @ 14 x 14 (Hidden layer) -- reverse-maxPool --> 5 @ 28 x 28 -- convolve with 5 filters, each filter 5x5 --> 28x28 (output)
    
  2. Sự hiểu biết của tôi là thông thường đó là những gì người ta nên làm, tức là đào tạo từng lớp riêng biệt. Sau đó, bạn xếp chồng các lớp và huấn luyện toàn bộ mạng một lần nữa bằng cách sử dụng các trọng số được đào tạo trước. Tuy nhiên, Yohsua Bengio có một số nghiên cứu (tài liệu tham khảo thoát khỏi bộ nhớ của tôi) cho thấy rằng người ta có thể xây dựng một mạng xếp chồng hoàn toàn và đào tạo từ đầu.

  3. Hiểu biết của tôi là "lớp tiếng ồn" ở đó để giới thiệu độ mạnh / độ biến thiên trong đầu vào để việc đào tạo không quá phù hợp.

  4. Chừng nào bạn vẫn còn "đào tạo" trước khi đào tạo hoặc tinh chỉnh, tôi nghĩ rằng phần tái cấu trúc (ví dụ như ReversePooling, khử tích hợp, v.v.) là cần thiết. Mặt khác, làm thế nào một người nên thực hiện truyền ngược lỗi để điều chỉnh trọng số?

  5. Tôi đã thử duyệt qua nhiều bài báo, nhưng kiến ​​trúc không bao giờ được giải thích đầy đủ. Nếu bạn tìm thấy bất kỳ xin vui lòng cho tôi biết.


Nếu bạn đã hoàn thành việc đào tạo trước, bạn không còn cần phần giải mã nữa và tinh chỉnh vẫn sẽ điều chỉnh bộ mã hóa, lần này để phân loại tốt hơn.
jwalker

2
Làm thế nào là "đảo ngược tối đa" có thể? Bạn không bao giờ có thể xây dựng lại một tập hợp các số chỉ được cung cấp tối đa ...?
Fequish

1
@Fequish, một maxpool đảo ngược gần đúng của nó, ví dụ: if pool = 2x2, tôi giữ vị trí của max và chèn max vào vị trí cụ thể đó trong 2x2, phần còn lại là 0
user2979010 7/10/2015

1
@jwalker, mục tiêu cuối cùng của tôi không phải là phân loại do đó điều chỉnh tốt với một mạng không được
kiểm soát

@Fequish, với mục đích giải mã ngược lại chỉ là một hàng xóm cao cấp gần nhất.
jwalker

2

Tôi cũng đã tìm kiếm mô hình giải thích đầy đủ của Bộ tự động chuyển đổi xếp chồng.

Tôi đã đi qua ba kiến ​​trúc khác nhau. Tôi vẫn đang nghiên cứu chúng và tôi nghĩ những thứ này có thể giúp những người khác cũng đang bắt đầu khám phá CAE. Bất kỳ tài liệu tham khảo thêm cho các bài báo hoặc thực hiện sẽ giúp rất nhiều.

  1. Một trong những đề cập của bạn bằng cách sử dụng pooling - unpooling.
  2. Các lớp của (chập) __ x_times -> (deconvolve) __ x_times,

    và có cùng kích thước với đầu vào.

  3. (tích lũy -> nhóm) __ x_times -> (giải mã được sải bước) __ y_times
    • phần đệm và sải chân được chọn sao cho kích thước hình ảnh cuối cùng giống với hình ảnh gốc.
    • Tài liệu tham khảo

2
Chào mừng đến với trang web. Đây có phải là một câu trả lời cho câu hỏi của OP, một bình luận yêu cầu làm rõ từ OP hoặc một trong những người trả lời, hoặc một câu hỏi mới của riêng bạn? Vui lòng chỉ sử dụng trường "Câu trả lời của bạn" để cung cấp câu trả lời cho câu hỏi ban đầu. Bạn sẽ có thể nhận xét bất cứ nơi nào khi danh tiếng của bạn> 50. Nếu bạn có một câu hỏi mới, nhấp vào màu xám ASK QUESTION ở đầu trang và hỏi nó ở đó, sau đó chúng tôi có thể giúp bạn đúng cách. Vì bạn là người mới ở đây, bạn có thể muốn tham quan chúng tôi , nơi có thông tin cho người dùng mới.
gung - Phục hồi Monica

1
Nó được dự định là một câu trả lời cho câu hỏi của OP mặc dù nó có thể không đủ điều kiện để trở thành một câu trả lời hoàn chỉnh. Tôi đã trả lời phần cuối 'Tôi đã thử duyệt qua nhiều bài báo, nhưng kiến ​​trúc không bao giờ được giải thích đầy đủ. Nếu bạn tìm thấy bất kỳ xin vui lòng cho tôi biết. '
Ankitp 8/12/2015

Được rồi cảm ơn. Cách nó đi ra là mơ hồ. Ví dụ: "Tôi cũng đã tìm kiếm ..." & "Bất kỳ tài liệu tham khảo nào khác về các bài viết hoặc triển khai sẽ giúp ích rất nhiều". Xin lưu ý rằng CV là một trang web Hỏi & Đáp thuần túy, không phải là một diễn đàn thảo luận. Tại sao không tham gia tour của chúng tôi và tìm hiểu thêm về trang web?
gung - Phục hồi Monica

-1

Tôi không nghĩ rằng phương pháp đào tạo theo lớp là chính xác. Ví dụ, kiến ​​trúc của bộ mã hóa tự động tích chập là:

đầu vào-> conv-> max_poo-> de_max_pool-> de_conv-> đầu ra.

Đây là một bộ mã hóa tự động, và cần được đào tạo với toàn bộ kiến ​​trúc. Hơn nữa, không có tiêu chí nghiêm ngặt nào cho dù một bộ mã hóa tự động tích chập có cần pool và un_pool hay không. thông thường, một hồ bơi nhưng không có un_pool. Dưới đây là một so sánh thử nghiệm với sự vắng mặt của pool và un_pool.

https://arxiv.org/pdf/1701.04949.pdf

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.