Tại sao chức năng sigmoid thay vì bất cứ điều gì khác?


40

Tại sao hàm sigmoid tiêu chuẩn thực tế, , rất phổ biến trong mạng lưới thần kinh (không sâu) và hồi quy logistic?11+ex

Tại sao chúng ta không sử dụng nhiều hàm có thể tạo được khác, với thời gian tính toán nhanh hơn hoặc phân rã chậm hơn (do đó độ dốc biến mất xảy ra ít hơn). Một vài ví dụ trên Wikipedia về các hàm sigmoid . Một trong những mục yêu thích của tôi với sự phân rã chậm và tính toán nhanh là .x1+|x|

CHỈNH SỬA

Câu hỏi khác với danh sách toàn diện các chức năng kích hoạt trong các mạng thần kinh với ưu / nhược điểm vì tôi chỉ quan tâm đến 'tại sao' và chỉ dành cho sigmoid.


6
Lưu ý sigmoid logistic là trường hợp đặc biệt của hàm softmax và xem câu trả lời của tôi cho câu hỏi này: stats.stackexchange.com/questions/145272/ Lỗi
Neil G

10
những chức năng khác như probit hay cloglog được sử dụng phổ biến, xem: stats.stackexchange.com/questions/20523/...
Tim

4
@ user777 Tôi không chắc nó có trùng lặp hay không vì chủ đề bạn đề cập không thực sự trả lời câu hỏi tại sao .
Tim

@KarelMacek, bạn có chắc rằng đạo hàm của nó không có giới hạn trái / phải ở 0 không? Thực tế có vẻ như nó có một tiếp tuyến tốt đẹp trên hình ảnh được liên kết từ Wikipedia.
Mark Horvath

5
Tôi ghét không đồng ý với rất nhiều thành viên cộng đồng nổi tiếng đã bỏ phiếu để đóng cái này là một bản sao, nhưng tôi thuyết phục rằng bản sao rõ ràng không giải quyết "tại sao" và vì vậy tôi đã bỏ phiếu để mở lại câu hỏi này.
whuber

Câu trả lời:


24

Trích dẫn bản thân từ câu trả lời này cho một câu hỏi khác:

Trong phần 4.2 của Nhận dạng mẫu và Học máy (Springer 2006), Giám mục cho thấy rằng logit phát sinh một cách tự nhiên như là hình thức phân phối xác suất sau trong cách xử lý Bayes của phân loại hai lớp. Sau đó, ông tiếp tục chỉ ra rằng các đặc điểm tương tự cho các tính năng được phân phối riêng biệt, cũng như một tập hợp con của các phân phối theo cấp số nhân. Đối với phân loại nhiều lớp, logit tổng quát hóa theo hàm mũ lũy thừa hoặc hàm mềm.

Điều này giải thích tại sao sigmoid này được sử dụng trong hồi quy logistic.

Về các mạng thần kinh, bài đăng trên blog này giải thích các phi tuyến khác nhau bao gồm logit / softmax và probit được sử dụng trong các mạng thần kinh có thể được đưa ra một giải thích thống kê và do đó là một động lực. Ý tưởng cơ bản là một mạng lưới thần kinh nhiều lớp có thể được coi là một hệ thống phân cấp của các mô hình tuyến tính tổng quát; theo đó, các hàm kích hoạt là các hàm liên kết, lần lượt tương ứng với các giả định phân phối khác nhau.


1
Tuyệt quá! Vì vậy, khi chúng tôi đang sử dụng sigmoids trong một mạng, chúng tôi có thể nói rằng chúng tôi mặc nhiên cho rằng xác suất "mô hình" của mạng của các sự kiện khác nhau (trong các lớp bên trong hoặc ở đầu ra). Đây có thể là một mô hình hợp lý bên trong một mạng ngay cả đối với lỗi bình phương (cho phép nơ ron đầu ra có chức năng kích hoạt khác). Chưa bao giờ nghĩ đến trực giác này trước đây, cảm ơn!
Đánh dấu Horvath

@MarkHorvath Vui mừng tôi có thể giúp. :-)
A. Donda

Trong lịch sử, không phải như vậy. Tóm tắt tốt nhất của tôi về lịch sử lộn xộn là logit vào khoa học thống kê phần lớn là do các dạng chức năng được sử dụng để dự đoán sự thay đổi theo thời gian (dân số dự kiến ​​sẽ theo các đường cong logistic) nhìn đúng khi được điều chỉnh và sử dụng làm chức năng liên kết [sử dụng lỗi thời!] ; và chúng dễ dàng thao tác với phép tính đơn giản, biểu thức trong các giá trị tuyệt đối không. Nhưng tự nhiên sự biện minh logic đơn giản nhất cho các chức năng như vậy là thú vị và quan trọng, và câu trả lời của bạn giải quyết điều đó.
Nick Cox

1
Tôi đã đọc qua các phần trong cả hai cuốn sách của Giám mục (2006 và 1995) và tôi vẫn không tin rằng sigmoid là điều cần thiết ở đây, mặc dù tôi chắc chắn có được động lực với logit. Điều gì sẽ xảy ra nếu tôi viết ra cùng một hàm mất entropy chéo dựa trên giả định Poisson 2 lớp, nhưng sau đó sử dụng một hàm kích hoạt khác thay vì sigmoid? Chẳng hạn, điều này tương tự nhưng không hoàn hảo như một piecewise được xác định: g (x) = 1 / (2-2x) nếu x <0, 1 - 1 / (2 + 2x) cho x> 0, g (0) = 0,5. Bây giờ phương trình khả năng tối đa trông khác nhau, nhưng nếu chúng ta giảm thiểu nó, chúng ta vẫn nhận được xác suất là đầu ra?
kỷ nguyên

nếu Bischop đã lấy , chức năng "phát sinh tự nhiên" sẽ là , phải không? aa=p(x,C1)(1+p(x,C1))p(x,C2)a1+a2
Ông Tsjolder

18

Một lý do chức năng này có vẻ "tự nhiên" hơn các lý do khác là nó xảy ra là nghịch đảo của tham số chính tắc của phân phối Bernoulli: (Hàm của trong số mũ được gọi là tham số chính tắc.)p

f(y)=py(1p)1y=(1p)exp{ylog(p1p)}.
p

Có thể một lời biện minh hấp dẫn hơn đến từ lý thuyết thông tin, trong đó hàm sigmoid có thể được suy ra như một mô hình entropy tối đa . Nói một cách đơn giản, hàm sigmoid giả định cấu trúc tối thiểu và phản ánh trạng thái thiếu hiểu biết chung của chúng ta về mô hình cơ bản.


Tốt biện minh cho hồi quy logistic. Điều thú vị là chúng tôi vẫn tiếp tục sử dụng lỗi này cho bình phương ...
Mark Horvath

11

Tôi đã tự hỏi mình câu hỏi này trong nhiều tháng. Các câu trả lời trên CrossValidated và Quora đều liệt kê các thuộc tính đẹp của hàm sigmoid logistic, nhưng tất cả có vẻ như chúng ta đã đoán được hàm này một cách khéo léo. Những gì tôi đã bỏ lỡ là sự biện minh cho việc lựa chọn nó. Cuối cùng tôi đã tìm thấy một phần trong mục 6.2.2.2 của cuốn sách "Deep Learning" của Bengio (2016) . Theo cách riêng của tôi:

Nói tóm lại, chúng tôi muốn logarit của đầu ra của mô hình phù hợp để tối ưu hóa dựa trên độ dốc của khả năng ghi nhật ký của dữ liệu huấn luyện.

Động lực

  • Chúng tôi muốn một mô hình tuyến tính, nhưng chúng tôi không thể sử dụng trực tiếp dưới dạng .z=wTx+bz(,+)
  • Để phân loại, sẽ hợp lý khi giả định phân phối Bernoulli và mô hình hóa tham số của nó trong .θP(Y=1)=θ
  • Vì vậy, chúng ta cần ánh xạ từ sang để thực hiện phân loại.z(,+)[0,1]

Tại sao chức năng sigmoid logistic?

Cắt bằng mang lại độ dốc bằng không cho bên ngoài . Chúng ta cần một độ dốc mạnh bất cứ khi nào dự đoán của mô hình sai, bởi vì chúng ta giải quyết hồi quy logistic với độ dốc giảm dần. Đối với hồi quy logistic, không có giải pháp dạng đóng.zP(Y=1|z)=max{0,min{1,z}}z[0,1]

Hàm logistic có đặc tính tốt là không điều chỉnh độ dốc không đổi khi dự đoán của mô hình sai, do chúng tôi sử dụng Ước tính khả năng tối đa để phù hợp với mô hình. Điều này được hiển thị dưới đây:

Đối với lợi ích bằng số, Ước tính khả năng tối đa có thể được thực hiện bằng cách giảm thiểu khả năng log âm của dữ liệu đào tạo. Vì vậy, chức năng chi phí của chúng tôi là:

J(w,b)=1mi=1mlogP(Y=yi|xi;w,b)=1mi=1m(yilogP(Y=1|z)+(yi1)logP(Y=0|z))

Vì , chúng ta có thể tập trung vào trường hợp . Vì vậy, câu hỏi là làm thế nào để mô hình cho rằng chúng ta có .P(Y=0|z)=1P(Y=1|z)Y=1P(Y=1|z)z=wTx+b

Các yêu cầu rõ ràng cho hàm ánh xạ đến là:fzP(Y=1|z)

  • zR:f(z)[0,1]
  • f(0)=0.5
  • f nên là wrt đối xứng xoay , tức là , do đó việc lật các dấu hiệu của các lớp không ảnh hưởng đến hàm chi phí.(0,0.5)f(x)=1f(x)
  • f nên không giảm, liên tục và khác biệt.

Những yêu cầu này được đáp ứng bằng cách thay đổi kích thước các hàm sigmoid . Cả và đáp ứng chúng. Tuy nhiên, các hàm sigmoid khác nhau về hành vi của chúng trong quá trình tối ưu hóa dựa trên độ dốc của khả năng ghi nhật ký. Chúng ta có thể thấy sự khác biệt bằng cách cắm hàm logistic vào hàm chi phí của chúng tôi.f(z)=11+ezf(z)=0.5+0.5z1+|z|f(z)=11+ez

Độ bão hòa choY=1

Với và , chi phí của một mẫu phân loại sai (ví dụ ) là:P(Y=1|z)=11+ezY=1m=1

J(z)=log(P(Y=1|z))=log(11+ez)=log(ez1+ez)=z+log(1+ez)

Chúng ta có thể thấy rằng có một thành phần tuyến tính . Bây giờ, chúng ta có thể xem xét hai trường hợp:z

  • Khi lớn, dự đoán của mô hình là chính xác, vì . Trong hàm chi phí, thuật ngữ xứng với đối với lớn . Do đó, nó gần như hủy bỏ dẫn đến chi phí gần như bằng không cho mẫu này và độ dốc yếu. Điều đó có ý nghĩa, vì mô hình đã dự đoán đúng lớp.zY=1log(1+ez)zzz
  • Khi nhỏ (nhưng lớn), dự đoán của mô hình không chính xác, vì . Trong hàm chi phí, thuật ngữ tiệm cận thành cho nhỏ . Do đó, chi phí tổng thể cho mẫu này là khoảng , có nghĩa là độ dốc wrt là khoảng . Điều này giúp cho mô hình dễ dàng sửa chữa dự đoán sai của nó dựa trên độ dốc không đổi mà nó nhận được. Ngay cả đối với rất nhỏ , không có bão hòa xảy ra, điều này sẽ gây ra độ dốc biến mất.z|z|Y=1log(1+ez)0zzz1z

Độ bão hòa choY=0

Ở trên, chúng tôi tập trung vào trường hợp . Với , hàm chi phí hoạt động tương tự, chỉ cung cấp độ dốc mạnh khi dự đoán của mô hình sai.Y=1Y=0

Đây là hàm chi phí cho :J(z)Y=1

nhập mô tả hình ảnh ở đây

Đây là chức năng softplus lật theo chiều ngang. Với , đó là hàm softplus.Y=0

Lựa chọn thay thế

Bạn đã đề cập đến các lựa chọn thay thế cho hàm sigmoid logistic, ví dụ . Được chuẩn hóa thành , điều này có nghĩa là chúng ta mô hình .z1+|z|[0,1]P(Y=1|z)=0.5+0.5z1+|z|

Trong MLE, hàm chi phí cho sau đó sẽ làY=1

J(z)=log(0.5+0.5z1+|z|) ,

trông như thế này:

nhập mô tả hình ảnh ở đây

Bạn có thể thấy, độ dốc của hàm chi phí ngày càng yếu hơn đối với .z


Ý bạn là gì khi bạn viết "khi mô hình sai"?
Gabriel Romon

@GabrielRomon Ý tôi là khi dự đoán của mô hình sai. Vì vậy, đối với một mẫu đào tạo , chúng tôi sẽ có ví dụ , tức là dự đoán của chúng tôi là lớp 1, nhưng . z = 5 y i = 0(xi,yi)z=5yi=0
Kilian Batzner

6

Vì câu hỏi ban đầu đề cập đến vấn đề độ dốc phân rã, tôi chỉ muốn thêm rằng, đối với các lớp trung gian (nơi bạn không cần diễn giải kích hoạt là xác suất lớp hoặc đầu ra hồi quy), các phi tuyến khác thường được ưa thích hơn các hàm sigmoidal. Nổi bật nhất là các hàm chỉnh lưu (như trong ReLUs ), là các tuyến tính trên miền dương và 0 trên âm. Một trong những lợi thế của chúng là chúng ít chịu sự cố phân rã, vì đạo hàm không đổi trên miền dương. ReLUs đã trở nên phổ biến đến mức sigmoids có thể không thể được gọi là tiêu chuẩn thực tế nữa.

Glorot et al. (2011) . Mạng lưới thần kinh chỉnh lưu thưa thớt


2
Vâng. Tôi nghĩ lý do tại sao chức năng logistic rất phổ biến là do nhập khẩu từ số liệu thống kê. Relu là phổ biến nhất trong rất nhiều lĩnh vực hiện nay.
Ricardo Cruz
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.