Làm cách nào để CNN tránh được sự cố biến mất


15

Tôi đã đọc rất nhiều về các mạng thần kinh liên hợp và đang tự hỏi làm thế nào chúng tránh được vấn đề độ dốc biến mất. Tôi biết các mạng niềm tin sâu xếp chồng các bộ mã hóa tự động cấp đơn hoặc các mạng nông được đào tạo trước khác và do đó có thể tránh được vấn đề này nhưng tôi không biết làm thế nào để tránh được nó trong CNN.

Theo Wikipedia :

"bất chấp" vấn đề độ dốc biến mất đã đề cập ở trên ", khả năng xử lý vượt trội của GPU giúp cho việc truyền ngược trở lại khả thi đối với các mạng nơ ron tiến sâu với nhiều lớp."

Tôi không hiểu tại sao xử lý GPU sẽ loại bỏ vấn đề này?


2
Có phải bài viết trên wikipedia không biện minh được tại sao GPU giúp giải quyết vấn đề độ dốc biến mất? Có phải bởi vì mặc dù độ dốc nhỏ, vì GPU quá nhanh, chúng tôi vẫn quản lý để cải thiện các tham số bằng cách thực hiện nhiều bước nhờ vào GPU?
Charlie Parker

2
Chính xác. Vấn đề độ dốc biến mất là lý do tại sao trọng lượng lớp thấp hơn được cập nhật với tốc độ rất nhỏ, và do đó phải mất mãi mãi để đào tạo mạng. Nhưng, như với GPU, bạn có thể thực hiện nhiều tính toán hơn (tức là cập nhật nhiều hơn về trọng lượng) trong thời gian ngắn hơn, với việc xử lý GPU ngày càng nhiều, vấn đề độ dốc biến mất có phần biến mất ở một mức độ nào đó.
Sangram

@CharlieParker, bạn có thể giải thích rõ hơn không GPU's are fast correlated with vanishing gradients, tôi có thể hiểu logic nhanh với băng thông bộ nhớ lớn để xử lý nhiều phép nhân ma trận! nhưng bạn có thể giải thích những gì nó phải làm với các công cụ phái sinh không? Các vấn đề độ dốc biến mất dường như làm nhiều hơn với khởi tạo trọng lượng , chứ không phải là nó!
anu

Câu trả lời:


12

Vấn đề độ dốc biến mất đòi hỏi chúng ta phải sử dụng tốc độ học tập nhỏ với độ dốc giảm dần, sau đó cần nhiều bước nhỏ để hội tụ. Đây là một vấn đề nếu bạn có một máy tính chậm, mất nhiều thời gian cho mỗi bước. Nếu bạn có GPU nhanh có thể thực hiện nhiều bước hơn trong một ngày, thì điều này ít xảy ra.

Có một số cách để giải quyết vấn đề độ dốc biến mất. Tôi đoán rằng hiệu ứng lớn nhất đối với CNN là từ việc chuyển từ các đơn vị phi tuyến sigmoid sang các đơn vị tuyến tính được chỉnh lưu. Nếu bạn xem xét một mạng nơ ron đơn giản có lỗi phụ thuộc vào trọng lượng w i j chỉ qua y j , trong đóEwijyj

yj=f(iwijxi),

độ dốc của nó là

wijE=Eyjyjwij=Eyjf(iwijxi)xi.

Nếu là hàm sigmoid logistic, f sẽ gần bằng 0 đối với các đầu vào lớn cũng như các đầu vào nhỏ. Nếu f là một đơn vị tuyến tính chỉnh lưu,fff

đạo hàm bằng 0 chỉ cho đầu vào âm và 1 cho đầu vào dương. Một đóng góp quan trọng khác đến từ việc khởi tạo đúng trọng lượng. Bài viết này trông giống như một nguồn tốt để hiểu các thách thức chi tiết hơn (mặc dù tôi chưa đọc nó):

f(u)=max(0,u),

http://jmlr.org/proceedings/ con / v9 / glorot10a / glorot10a.pdf


2
Tôi hơi bối rối về các đơn vị tuyến tính được chỉnh lưu. Có, đối với sigmoids, v.v ... độ dốc thường rất nhỏ - nhưng đối với các đơn vị tuyến tính được chỉnh lưu, nó thường chính xác bằng không. Điều đó có tệ hơn không? Do đó, nếu trọng lượng của một đơn vị không may, chúng sẽ không bao giờ thay đổi.
Hans-Peter Störr

2
Suy nghĩ về điều này, các ReLU bị rò rỉ và / hoặc ồn ào có thể được sử dụng vì lý do đó.
trời

5
Tại sao câu đầu tiên của bạn là đúng? Tức là "Vấn đề độ dốc biến mất đòi hỏi chúng ta phải sử dụng tốc độ học tập nhỏ với độ dốc giảm dần, sau đó cần nhiều bước nhỏ để hội tụ." Tại sao chúng ta cần tỷ lệ học tập nhỏ để đối phó với vấn đề độ dốc biến mất? Nếu độ dốc đã nhỏ do độ dốc biến mất, tôi đã dự kiến ​​rằng làm cho chúng nhỏ chỉ làm cho mọi thứ tồi tệ hơn.
Charlie Parker

2
Câu hỏi hay, tôi nên giải thích câu nói đó tốt hơn. Vấn đề độ dốc biến mất không phải là tất cả các gradient đều nhỏ (mà chúng ta có thể dễ dàng khắc phục bằng cách sử dụng tỷ lệ học tập lớn), mà là các gradient biến mất khi bạn backpropagate qua mạng. Tức là, độ dốc nhỏ ở một số lớp nhưng lớn ở các lớp khác. Nếu bạn sử dụng tỷ lệ học tập lớn, toàn bộ điều sẽ bùng nổ (vì một số độ dốc lớn), vì vậy bạn phải sử dụng một tỷ lệ học tập nhỏ. Sử dụng nhiều tỷ lệ học tập là một cách tiếp cận khác để giải quyết vấn đề, với chi phí giới thiệu nhiều siêu âm hơn.
Lucas

2
Tôi sẽ lập luận rằng tỷ lệ học tập chủ yếu gắn liền với vấn đề độ dốc bùng nổ . Thu nhỏ độ dốc xuống với tốc độ học tập thấp quá mức hoàn toàn không ngăn được độ dốc biến mất, nó chỉ làm chậm hiệu ứng khi việc học chậm lại đáng kể. Hiệu ứng này được gây ra bởi việc áp dụng lặp lại các phi tuyến và nhân các giá trị nhỏ. Tất nhiên có xu hướng đi đến tỷ lệ học tập nhỏ hơn (do sức mạnh tính toán) nhưng điều đó không liên quan gì đến việc biến mất độ dốc vì nó chỉ kiểm soát mức độ không gian trạng thái được khám phá (trong điều kiện ổn định).
runDOSrun
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.