2016-11-23 26 views
18

Trong mạng LSTM (Understanding LSTMs), Tại sao cổng vào và cổng ra sử dụng tanh? trực giác đằng sau điều này là gì? nó chỉ là một sự chuyển đổi phi tuyến? nếu có, tôi có thể thay đổi cả hai sang một hàm kích hoạt khác (ví dụ: ReLU) không?Trực giác sử dụng tanh trong LSTM

+0

Không có cổng vào hoặc cổng đầu ra nào sử dụng chức năng tanh để kích hoạt. Tôi đoán rằng có một sự hiểu lầm. Cả hai cổng vào ('i_ {t}') và cổng đầu ra ('o_ {t}') đều sử dụng hàm sigmoid. Trong mạng LSTM, chức năng kích hoạt tanh được sử dụng để xác định các giá trị trạng thái ô (trạng thái nội bộ) của ứng cử viên ('\ tilde {C} _ {t}') và cập nhật trạng thái ẩn ('h_ {t}'). –

Trả lời

26

Sigmoid đặc biệt, được sử dụng như chức năng gating cho 3 cửa (trong, ngoài, quên) trong LSTM, vì nó sẽ tạo ra giá trị giữa 0 và 1, nó có thể hoặc là cho không dòng chảy hoặc dòng chảy toàn bộ thông tin trong suốt cổng. Mặt khác, để khắc phục vấn đề biến mất gradient, chúng ta cần một hàm có đạo hàm bậc 2 có thể duy trì trong một phạm vi dài trước khi đi tới 0. Tanh là một chức năng tốt với thuộc tính trên.

Một đơn vị thần kinh tốt nên được bao bọc, dễ dàng phân biệt, đơn điệu (tốt cho tối ưu lồi) và dễ xử lý. Nếu bạn xem xét những phẩm chất này, thì tôi tin rằng bạn có thể sử dụng ReLU thay cho chức năng tanh vì chúng là lựa chọn thay thế rất tốt cho nhau. Nhưng trước khi thực hiện một sự lựa chọn cho các chức năng kích hoạt, bạn phải biết những ưu điểm và nhược điểm của sự lựa chọn của bạn so với những gì khác. Tôi mô tả ngắn gọn một số chức năng kích hoạt và lợi thế của chúng.

sigmoid

Toán biểu: sigmoid(z) = 1/(1 + exp(-z))

1 trật tự phái sinh: sigmoid'(z) = -exp(-z)/1 + exp(-z)^2

Ưu điểm:

(1) Sigmoid function has all the fundamental properties of a good activation function. 

Tánh

Toán biểu: tanh(z) = [exp(z) - exp(-z)]/[exp(z) + exp(-z)]

1 trật tự phái sinh: tanh'(z) = 1 - ([exp(z) - exp(-z)]/[exp(z) + exp(-z)])^2 = 1 - tanh^2(z)

Ưu điểm:

(1) Often found to converge faster in practice 
(2) Gradient computation is less expensive 

cứng Tánh

Toán biểu: hardtanh(z) = -1 if z < -1; z if -1 <= z <= 1; 1 if z > 1

1 trật tự phái sinh: hardtanh'(z) = 1 if -1 <= z <= 1; 0 otherwise

Ưu điểm:

(1) Computationally cheaper than Tanh 
(2) Saturate for magnitudes of z greater than 1 

ReLU

biểu thức toán học: relu(z) = max(z, 0)

1 trật tự phái sinh: relu'(z) = 1 if z > 0; 0 otherwise

Ưu điểm:

(1) Does not saturate even for large values of z 
(2) Found much success in computer vision applications 

Leaky ReLU

biểu thức toán học: leaky(z) = max(z, k dot z) where 0 < k < 1

1 trật tự phái sinh: relu'(z) = 1 if z > 0; k otherwise

Ưu điểm:

(1) Allows propagation of error for non-positive z which ReLU doesn't 

paper này giải thích một số f un chức năng kích hoạt. Bạn có thể xem xét để đọc nó.

+0

vì vậy, nói rằng tôi muốn thay đổi kích hoạt để RelU, tôi phải thay đổi cả hai tanh trong kích hoạt cổng đầu vào và trong phép nhân đầu ra, đó là chính xác @ Wasi Ahmad? – DNK

+0

@DNK có, tôi sẽ nói để duy trì một loại nhất quán này là cần thiết. –

+0

vì vậy, nói cách khác, -apart từ sigmoid được sử dụng cho cổng- tôi có thể chọn chức năng kích hoạt như trong lớp mạng nơron chuẩn @WasiAhmad – DNK

4

LSTM quản lý một vector trạng thái nội bộ có giá trị sẽ có thể tăng hoặc giảm khi chúng tôi thêm đầu ra của một số chức năng. Sản lượng Sigmoid luôn không âm; giá trị trong tiểu bang sẽ chỉ tăng lên. Đầu ra từ tanh có thể dương hoặc âm, cho phép tăng và giảm trong trạng thái.

Đó là lý do tại sao tanh được sử dụng để xác định giá trị ứng cử viên để được thêm vào trạng thái nội bộ. Người anh em họ GRU của LSTM không có tánh thứ hai, vì vậy trong ý nghĩa thứ hai là không cần thiết. Hãy xem sơ đồ và giải thích trong số Understanding LSTM Networks của Chris Olah để biết thêm.

Câu hỏi liên quan, "Tại sao sigmoids được sử dụng trong LSTMs ở đâu?" cũng được trả lời dựa trên các kết quả đầu ra có thể có của hàm: "gating" được thực hiện bằng cách nhân với số từ 0 đến 1, và đó là đầu ra sigmoids.

Không có sự khác biệt thực sự có ý nghĩa giữa các dẫn xuất của sigmoid và tanh; tanh chỉ là một sigmoid thay đổi kích thước và thay đổi: xem số Neural Tips and Tricks của Richard Socher. Nếu các dẫn xuất thứ hai có liên quan, tôi muốn biết làm thế nào.

+1

Đây là câu trả lời đúng. – ahstat

+1

Câu trả lời hay. bro. – roachsinai

Các vấn đề liên quan