Lựa chọn chức năng kích hoạt ẩn mạng thần kinh


14

Tôi đã đọc ở nơi khác rằng lựa chọn chức năng kích hoạt lớp ẩn trong NN phải dựa trên nhu cầu của một người , tức là nếu bạn cần các giá trị trong phạm vi -1 đến 1, hãy sử dụng tanh và sử dụng sigmoid cho phạm vi 0 đến 1.

Câu hỏi của tôi là làm thế nào để biết người ta cần gì? Có phải nó dựa trên phạm vi của lớp đầu vào, ví dụ: sử dụng hàm có thể bao gồm toàn bộ phạm vi giá trị của lớp đầu vào hoặc bằng cách nào đó phản ánh phân phối của lớp đầu vào (hàm Gaussian)? Hoặc là vấn đề cần thiết / tên miền cụ thể và kinh nghiệm / phán đoán của một người là cần thiết để đưa ra lựa chọn này? Hoặc chỉ đơn giản là "sử dụng mà đưa ra lỗi đào tạo tối thiểu được xác thực chéo tốt nhất?"


3
Đối số này là bs vì (tanh + 1) / 2 cũng nằm trong 0-1, chưa kể rằng "sigmoid" là một thuật ngữ mơ hồ đến nỗi nó thường bao hàm tanh.

Có lẽ đáng để đề cập rằng bất kỳ tập dữ liệu nào cũng có thể được chuẩn hóa thành 0-> 1 và được thực hiện để sử dụng kích hoạt sigmoid 1 + (1 / exp(-sum)). Làm cho nhu cầu rất khó hiểu mà không cần thử cả hai trên mỗi bộ dữ liệu. Các nhu cầu như bạn mô tả nó ở đây được gắn với mối quan hệ thực tế được học, tức là một bộ dữ liệu nhị phân sẽ học nhanh hơn hay không ở tất cả các kích hoạt khác nhau nhất định.
Adrian Seeley

Câu trả lời:


12

LeCun thảo luận về vấn đề này trong Phần Backprop hiệu quả 4.4. Động lực này tương tự như động lực để bình thường hóa đầu vào thành không có nghĩa (Mục 4.3). Các đầu ra trung bình của chức năng kích hoạt tanh có nhiều khả năng gần bằng 0 hơn so với sigmoid, có đầu ra trung bình phải dương.


Một thông tin rất nhiều đọc!
babelproofreader

6

Sự cần thiết được đề cập trong đoạn đầu tiên của câu hỏi liên quan đến chức năng kích hoạt lớp đầu ra , chứ không phải là chức năng kích hoạt lớp ẩn. Có đầu ra nằm trong khoảng từ 0 đến 1 là thuận tiện vì điều đó có nghĩa là chúng có thể trực tiếp đại diện cho xác suất. Tuy nhiên, IIRC, một mạng có chức năng kích hoạt lớp đầu ra tanh có thể được chuyển đổi một cách tầm thường thành mạng có chức năng kích hoạt lớp đầu ra logistic, vì vậy thực tế nó không quan trọng lắm.

IIRC lý do sử dụng tanh thay vì chức năng kích hoạt logistic trong các đơn vị ẩn, đó là sự thay đổi được thực hiện theo trọng số bằng cách sử dụng backpropagation phụ thuộc vào cả đầu ra của nơ ron lớp ẩn và dẫn xuất của chức năng kích hoạt, do đó sử dụng kích hoạt logistic chức năng bạn có thể có cả hai về 0 cùng một lúc, có thể kết thúc với đơn vị lớp ẩn bị đóng băng.

Tóm lại, sử dụng tanh cho các hàm kích hoạt lớp ẩn, chọn hàm kích hoạt lớp đầu ra để thực thi các ràng buộc mong muốn trên đầu ra (các lựa chọn phổ biến: tuyến tính - không ràng buộc, logistic - đầu ra nằm giữa 0 và 1 và hàm mũ - đầu ra hoàn toàn dương).


Tôi không nhận được "... cả hai đều bằng không ...". Tôi thấy đầu ra có thể bằng 0 nhưng làm thế nào có thể có đạo hàm của hàm logistic bằng 0 như không.
erogol

Nó không chính xác đến không, đối với hàm logistic, nó chỉ trở nên rất nhỏ. Đối với hàm tanh, đạo hàm ở mức lớn nhất khi đầu ra bằng 0 và đầu ra lớn nhất khi đạo hàm nhỏ nhất. Bài báo gốc được viết vào cuối những năm 80, tôi sẽ xem liệu tôi có thể nhớ các chi tiết không.
Dikran Marsupial

2
Tôi không thể tìm thấy bài báo gốc, nhưng một số bài trong cuốn sách "Mạng lưới thần kinh - Thủ thuật của thương mại" đề xuất rằng tanh sẽ tốt hơn trong các lớp ẩn vì mạng hoạt động tốt hơn nếu kích hoạt lớp ẩn được định tâm (nghĩa là không có nghĩa là ).
Dikran Marsupial

2

1.7159×tanh(x×(2/3))1+1[1.5,+1.5]

Khái niệm chung để chọn sigmoid cho mục đích của bạn là chọn một theo quy tắc, các giá trị đầu ra của bạn nằm trong phạm vi điểm, làm cho đạo hàm thứ hai của hàm sigmoid tối đa.

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.