New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add "transposed convolution" #2336
Conversation
Tranpose là chuyển vị chứ không phải nghịch đảo. |
Dù
https://towardsdatascience.com/transposed-convolution-demystified-84ca81b4baba |
Deconvolution là một từ khoá không thể hiện đúng bản chất, vì sau phải sửa lại là convolution tranpose đó. |
Thế ạ, e đọc đâu đó thì cũng thấy có tranh cãi. Nhưng mới gần đây đọc vài bài CVPR20 thì thấy họ cũng dùng từ deconv. :D |
Deconvolution là tên gọi không chuẩn của tranposed convolution. Mục đích ban đầu là người ta muốn làm đảo ngược quá trình của convolution (convolution với giá trị stride lớn hơn một sẽ làm giảm chiều không gian, spatial resolution), thì làm ngược lại sẽ tăng chiều không gian đó lên. Nên nó sẽ làm tăng kích thước output hay có tác dụng như là interpoliation, nội suy, hay up-sampling. Như hình ví dụ trên. Đó là lý do tại sao họ dùng chữ “de” trước convolution. Và đây là cách đặt tên rất “lười”. Tuy nhiên thuật ngữ deconvolution này lại không chính xác với thuật ngữ deconvolution thường dùng trong signal processing (xử lý tín hiệu) dẫn đến gây hiểu nhầm. Trong xử lý tín hiệu, convolution là việc tính gộp của nhiều pixel lân cận dẫn tới hiệu ứng bị mờ. Điển hình như khi chụp ảnh bị mờ. Và deconvolution là bài toán làm đảo ngược hiệu ứng mờ đó, làm ảnh sắc nét hơn. Chứ không phải làm tăng kích thước của ảnh. Thuật ngữ convolution tranpose là hoàn toàn chính xác trong trường hợp này. Vì theo phép toán đơn giản y = W*x làm giảm chiều của x, thì W^T *y sẽ làm tăng chiều của y. Hơn nữa, tất cả các implementation, reference về sau đều gọi là tranposed convolution chứ không dùng thuật ngữ deconvolution nữa. Lý do vì, deconvolution chính xác là convolution với cái kernel của filter khác nhau. Link tham khảo 27 |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tích chập chuyển vị
là chuẩn nhất và đều thống nhất với các cách dịch transpose
khác như Ma trận chuyển vị
rồi mà.
Từ khóa mà em cần phải giải thích thêm như vậy là có nhiều khả năng hiểu nhầm rồi. Nên tiêu chí dịch ngược dùng từ "tích chập đảo" sẽ không suy ra được từ tiếng Anh mà sẽ là từ "inverse" hoặc "de" convolution. Còn nếu dùng từ chuyển vị thì sẽ suy ra chính xác là tranposed convolution. Vậy nên về ngữ nghĩa từ chuyển vị chuẩn hơn. |
Co-authored-by: Duc Pham <phamminhduc0711@gmail.com>
* Add "transposed convolution" * Update glossary.md Co-authored-by: Duc Pham <phamminhduc0711@gmail.com> Co-authored-by: Duc Pham <phamminhduc0711@gmail.com>
Từ
transposed convolution
em nghĩ có thể dịch thànhphép tích chập đảo
hoặctích chập đảo
.Theo em tìm hiểu thì nó ngược lại so với phép tích chập trong mạng tích chập bình thường là làm tăng kích thước đầu vào dựa vào kernel.
Em không học sâu về mảng này nên mong mọi người góp ý.