Tại sao RNN thường có ít lớp ẩn hơn CNN?


8

CNN có thể có hàng trăm lớp ẩn và vì chúng thường được sử dụng với dữ liệu hình ảnh, nên có nhiều lớp thu được sự phức tạp hơn.

Tuy nhiên, theo như tôi thấy, RNN thường có vài lớp, ví dụ 2-4. Ví dụ: để phân loại điện tâm đồ (ECG), tôi đã thấy các bài báo sử dụng LSTM với 4 lớp và CNN với 10-15 lớp có kết quả tương tự.

Đây có phải là do RNNs / LSTM khó đào tạo hơn nếu chúng sâu hơn (do các vấn đề biến mất độ dốc) hoặc do RNNs / LSTM có xu hướng vượt quá dữ liệu tuần tự nhanh?

Câu trả lời:


3

Các phương pháp trích xuất tính năng CNN và RNNs:

CNNs có xu hướng trích xuất các tính năng không gian. Giả sử, chúng ta có tổng cộng 10 lớp chập xếp chồng lên nhau. Hạt nhân của lớp 1 sẽ trích xuất các tính năng từ đầu vào. Bản đồ tính năng này sau đó được sử dụng làm đầu vào cho lớp chập tiếp theo, sau đó một lần nữa tạo ra một bản đồ tính năng từ bản đồ tính năng đầu vào của nó.

Tương tự, các tính năng được trích xuất theo cấp độ từ hình ảnh đầu vào. Nếu đầu vào là một hình ảnh nhỏ 32 * 32 pixel, thì chúng tôi chắc chắn sẽ yêu cầu các lớp chập ít hơn. Một hình ảnh lớn hơn 256 * 256 sẽ có độ phức tạp tương đối cao hơn của các tính năng.

RNN là các trình trích xuất tính năng tạm thời khi chúng giữ một bộ nhớ về các kích hoạt lớp trong quá khứ. Họ trích xuất các tính năng như NN, nhưng RNN nhớ các tính năng được trích xuất qua các dấu thời gian. RNN cũng có thể nhớ các tính năng được trích xuất thông qua các lớp chập. Vì chúng giữ một loại bộ nhớ, chúng tồn tại trong các tính năng tạm thời / thời gian.


Trong trường hợp phân loại điện tâm đồ:

Trên cơ sở các giấy tờ bạn đọc, có vẻ như,

Dữ liệu ECG có thể được phân loại dễ dàng bằng các tính năng tạm thời với sự trợ giúp của RNNs. Các tính năng tạm thời đang giúp mô hình phân loại ECG chính xác. Do đó, việc sử dụng RNNs ít phức tạp hơn.

Các CNN phức tạp hơn bởi vì,

Các phương pháp trích xuất tính năng được sử dụng bởi CNNs dẫn đến các tính năng như vậy không đủ mạnh để nhận ra ECG duy nhất. Do đó, số lượng lớn hơn của các lớp chập là cần thiết để trích xuất các tính năng nhỏ đó để phân loại tốt hơn.

Cuối cùng,

Một tính năng mạnh cung cấp ít phức tạp hơn cho mô hình trong khi một tính năng yếu hơn cần được trích xuất với các lớp phức tạp.


Đây có phải là do RNNs / LSTM khó đào tạo hơn nếu chúng sâu hơn (do các vấn đề biến mất độ dốc) hoặc do RNNs / LSTM có xu hướng vượt quá dữ liệu tuần tự nhanh?

Điều này có thể được coi là một quan điểm tư duy. Các LSTM / RNN dễ bị quá mức trong đó một trong những lý do có thể làm biến mất vấn đề độ dốc như được đề cập bởi @Ismael EL ATify trong các bình luận.

Tôi cảm ơn @Ismael EL ATify đã sửa chữa.


4
"LSTM / RNNs có xu hướng bị quá mức vì vấn đề độ dốc biến mất." Tôi không đồng ý. Quá mức không thể được gây ra bởi sự biến mất độ dốc chỉ vì biến mất độ dốc ngăn các tham số của các lớp đầu được cập nhật chính xác và do đó để phù hợp hơn. "Các lớp kết hợp thường không quá phù hợp, chúng là các trình trích xuất tính năng." Các lớp kết hợp CÓ THỂ vượt quá giống như bất kỳ lớp có thể huấn luyện nào khác và bất kỳ CNN nào chắc chắn sẽ vượt quá mức phù hợp nếu nó có quá nhiều tham số so với số lượng và sự đa dạng của dữ liệu được đào tạo.
Ismael EL ATify

1

Về số lượng lớp

Lý do có thể được hiểu bằng cách xem xét kiến ​​trúc của CNN và LSTM và cách thức hoạt động của dữ liệu chuỗi thời gian. Nhưng tôi nên nói rằng số lượng lớp là một cái gì đó phụ thuộc rất nhiều vào vấn đề bạn đang cố gắng giải quyết. Bạn có thể giải quyết phân loại ECG bằng cách sử dụng một vài lớp LSTM, nhưng để nhận dạng hoạt động từ video, bạn sẽ cần nhiều lớp hơn.

Đặt điều đó sang một bên, đây là cách CNN và LSTM có thể xử lý tín hiệu chuỗi thời gian. Một tín hiệu rất đơn giản trong đó sau ba chu kỳ dương bạn sẽ có được một chu kỳ âm.

CNN vs LSTM

Để CNN thấy mẫu đơn giản này, phải mất 4 lớp trong ví dụ này. Khi CNN xử lý đầu vào chuỗi thời gian, đầu ra tích chập không biết về đầu ra trước đó (nghĩa là chúng không được kết nối). Tuy nhiên, một LSTM có thể làm điều đó chỉ bằng cách sử dụng một lớp duy nhất vì họ có thể nhớ các mẫu thời gian lên đến 100 bước thời gian. Bởi vì một đầu ra dựa trên đầu vào hiện tại cũng như các đầu vào trước đó mà mô hình đã thấy.

Tôi không nói đây là lý do duy nhất, nhưng có lẽ đây là một trong những yếu tố chính khiến CNN yêu cầu nhiều lớp hơn và các LSTM không cho dữ liệu chuỗi thời gian.

Về độ dốc biến mất và quá mức

Độ dốc biến mất có khả năng trở thành một vấn đề trong một lớp hơn là trên các lớp. Đó là khi xử lý nhiều bước liên tiếp, kiến ​​thức về một vài bước đầu tiên sẽ có khả năng biến mất. Và tôi không nghĩ các mô hình tuần tự có khả năng phù hợp với dữ liệu chuỗi thời gian nếu bạn thường xuyên sử dụng chúng một cách chính xác. Vì vậy, sự lựa chọn này có thể bị ảnh hưởng nhiều hơn bởi kiến ​​trúc / khả năng của các mô hình hơn là độ dốc biến mất hoặc quá mức.


0

Tôi thấy 2 lý do có thể giải thích tại sao một RNN có thể cần ít lớp hơn CNN để đạt được cùng hiệu suất:
- Các lớp RNN thường là các lớp được kết nối đầy đủ có nhiều tham số hơn một lớp chập.
- RNN có một số thành phần cho phép kết hợp đầu vào bằng cách nhân không giống như CNN, chỉ có thể kết hợp đầu vào bằng phép cộng có trọng số. Do đó, khả năng nhân của RNN mang lại cho anh ta nhiều "sức mạnh" hơn để tính toán các tính năng. CNN sẽ cần nhiều lớp để "bắt chước" khả năng nhân này.

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.