Bạn nói đúng. Đối với , phép nhân các đạo hàm không nhất thiết phải về 0, vì mỗi đạo hàm có thể có tiềm năng lớn hơn một (tối đa ).n>1n
Tuy nhiên, vì mục đích thực tế, chúng ta nên tự hỏi làm thế nào dễ dàng để duy trì tình trạng này (giữ cho phép nhân các dẫn xuất từ số không)? Điều này hóa ra khá khó so với ReLU, điều này mang lại đạo hàm = 1, đặc biệt là bây giờ, khi đó cũng có khả năng nổ gradient .
Giới thiệu
Giả sử chúng ta có các đạo hàm (đứng cho độ sâu ) được nhân với nhau như sau
mỗi đánh giá ở các giá trị khác nhau đến . Trong mạng nơ-ron, mỗi là tổng đầu ra có trọng số từ lớp trước, ví dụ .KKg=∂f(x)∂x∣∣∣x=x1⋯∂f(x)∂x∣∣∣x=xK
x1xKxihx=wth
Khi tăng, chúng tôi muốn biết những gì cần thiết để ngăn chặn sự biến mất của . Ví dụ: đối với trường hợp chúng ta không thể ngăn chặn điều đó bởi vì mỗi đạo hàm nhỏ hơn một, ngoại trừ , tức là
Tuy nhiên, có một hy vọng mới dựa trên đề xuất của bạn. Đối với , đạo hàm có thể tăng lên , tức là
Kgf(x)=tanh(x)
x=0∂f(x)∂x=∂tanh(x)∂x=1−tanh2(x)<1 for x≠0
f(x)=tanh(nx)n>1∂f(x)∂x=∂tanh(nx)∂x=n(1−tanh2(nx))<n for x≠0.
Khi nào lực cân bằng?
Bây giờ, đây là cốt lõi của phân tích của tôi:
Cần bao xa để di chuyển từ để có đạo hàm nhỏ hơn
để hủy bỏ đó là đạo hàm tối đa có thể?x01nn
Các xa nhu cầu di chuyển ra khỏi , thì càng khó để tạo ra một dẫn xuất dưới đây , do đó, càng dễ dàng để ngăn chặn sự nhân từ biến mất. Câu hỏi này cố gắng phân tích sự căng thẳng giữa tốt của gần với 0 và xấu xa 0. Ví dụ: khi cân bằng tốt và xấu , chúng sẽ tạo ra một tình huống như
Hiện tại, tôi cố gắng lạc quan bằng cách không xem xét các lớn tùy ý , vì thậm chí một trong số họ có thể đưa gần tùy ý về 0.x01n x xxg=n×n×1n×n×1n×1n=1.
xig
Đối với trường hợp đặc biệt của , bất kỳ kết quả dẫn xuất , do đó, gần như không thể giữ cân bằng (ngăn khỏi biến mất) khi độ sâu tăng, ví dụ
n=1|x|>0<1/1=1gKg=0.99×0.9×0.1×0.995⋯→0.
Đối với trường hợp chung của , chúng tôi tiến hành như sau
Vậy với , đạo hàm sẽ nhỏ hơn . Do đó, về mặt nhỏ hơn một, nhân hai dẫn xuất tại vàn>1∂tanh(nx)∂x<1n⇒n(1−tanh2(nx))<1n⇒1−1n2<tanh2(nx)⇒1−1n2−−−−−−√<|tanh(nx)|⇒x>t1(n):=1ntanh−1(1−1n2−−−−−−√)or x<t2(n):=−t1(n)=1ntanh−1(−1−1n2−−−−−−√)
|x|>t1(n)1nx1∈R|x2|>t1(n)n>1tương đương với một đạo hàm tùy ý cho , tức là
Nói cách khác,n=1(∂tanh(nx)∂x∣∣∣x=x1∈R×∂tanh(nx)∂x∣∣∣x=x2,|x2|>t1(n))≡∂tanh(x)∂x∣∣∣x=z,z∈R∖{0}.
K cặp dẫn xuất được đề cập cho cũng có vấn đề như
các dẫn xuất cho .n>1Kn=1
Bây giờ, để xem cách dễ dàng (hoặc khó) để có , hãy vẽ biểu đồ và (ngưỡng được vẽ cho liên tục ).|x|>t1(n)t1(n)t2(n)n
Như bạn có thể thấy, để có đạo hàm , khoảng lớn nhất đạt được là , vẫn còn hẹp! Khoảng này là , nghĩa là , đạo hàm sẽ nhỏ hơn . Lưu ý: khoảng cách lớn hơn một chút là có thể đạt được nếu được phép liên tục.≥1/nn=2[−0.658,0.658]|x|>0.6581/2n
Dựa trên phân tích này, bây giờ chúng ta có thể đi đến kết luận:
Để ngăn chặn từ biến mất, khoảng một nửa hoặc hơn của 's cần phải được bên trong một khoảng thời gian nhưgxi[−0.658,0.658]
do đó, khi các dẫn xuất của chúng được ghép với nửa kia, phép nhân của mỗi cặp sẽ cao hơn một ( tốt nhất là không có nào ở xa các giá trị lớn), tức là
Tuy nhiên, trên thực tế, có khả năng có hơn một nửa số bên ngoài hoặc một vài có giá trị lớn, gây ra biến mất về không. Ngoài ra, có một vấn đề với quá nhiều gần bằng 0x(∂f(x)∂x∣∣∣x=x1∈R×∂f(x)∂x∣∣∣x=x2∈[−0.658,0.658])>1
x[−0.658,0.658]xgx
Đối với , quá nhiều gần bằng 0 có thể dẫn đến một gradient lớn (có khả năng lên đến ) để di chuyển (nổ) các trọng số thành các giá trị lớn hơn ( ), tiếp tục di chuyển các thành các giá trị lớn hơn ( ) chuyển đổi các tốt thành (rất) xấu.n>1xg≫1nKwt+1=wt+λgxxt+1=wtt+1ht+1x
Làm thế nào lớn là quá lớn?
Ở đây, tôi thực hiện một phân tích tương tự để xem
Cần bao xa để di chuyển từ để có đạo hàm nhỏ hơn
để hủy bỏ các giả sử chúng rất gần với 0 và thu được độ dốc tối đa có thể?x01nK−1K−1 x
Để trả lời câu hỏi này, chúng tôi rút ra bất đẳng thức dưới đây
∂tanh(nx)∂x<1nK−1⇒|x|>1ntanh−1(1−1nK−−−−−−√)
cho thấy, ví dụ, đối với độ sâu và , một giá trị bên ngoài tạo ra đạo hàm . Kết quả này mang đến một trực giác về việc một vài khoảng 5-10 dễ dàng loại bỏ phần lớn các tốt như thế nào.K=50n=2[−9.0,9.0]<1/249xx
Tương tự đường một chiều
Dựa trên các phân tích trước đây, tôi có thể cung cấp một sự tương tự định tính bằng cách sử dụng Chuỗi Markov gồm hai trạng thái và mô hình hóa hành vi động của gradient như sau[g≫0][g∼0]g
Khi hệ thống chuyển sang trạng thái , sẽ không có nhiều độ dốc để đưa (thay đổi) các giá trị trở lại trạng thái . Điều này tương tự như đường một chiều cuối cùng sẽ được thông qua nếu chúng ta dành đủ thời gian (thời gian đủ lớn) cho sự hội tụ đào tạo không xảy ra (nếu không, chúng tôi đã tìm ra giải pháp trước khi trải qua một độ dốc biến mất).[g∼0][g≫0]
Có thể phân tích nâng cao hơn về hành vi động của gradient bằng cách thực hiện mô phỏng trên các mạng thần kinh thực tế (có thể phụ thuộc vào nhiều tham số như hàm mất, độ rộng và độ sâu của mạng và phân phối dữ liệu) và đưa ra
- Một mô hình xác suất cho biết mức độ biến mất thường xuyên xảy ra dựa trên phân phối gradient hoặc phân phối chung ( , ) hoặc ( , ) hoặcgxgwg
- Một mô hình xác định (bản đồ) cho biết điểm ban đầu nào (giá trị ban đầu của trọng số) dẫn đến biến mất độ dốc; có thể đi kèm với quỹ đạo từ giá trị ban đầu đến giá trị cuối cùng.
Vấn đề độ dốc nổ
Chúng tôi đã đề cập đến khía cạnh "độ dốc biến mất" của . Ngược lại, đối với khía cạnh " độ dốc phát nổ ", chúng ta nên lo lắng về việc có quá nhiều gần bằng 0, có khả năng tạo ra độ dốc quanh , gây mất ổn định số. Trong trường hợp này, một phân tích tương tự dựa trên bất đẳng thức
cho thấy với , khoảng một nửa hoặc nhiều hơn nên nằm ngoàitanh(nx)xnK∂tanh(nx)∂x>1⇒|x|<1ntanh−1(1−1n−−−−−√)
n=2xi[−0.441,0.441]gO(1)O(nK) . Điều này để lại một vùng thậm chí nhỏ hơn trên trong đó các hàm sẽ hoạt động tốt với nhau (không biến mất, cũng không phát nổ); nhắc nhở rằng không có vấn đề độ dốc phát nổ.RKK tanh(nx)tanh(x)