# Mục đích của một chức năng kích hoạt trong các mạng thần kinh là gì?

17

Người ta nói rằng các chức năng kích hoạt trong các mạng thần kinh giúp giới thiệu phi tuyến tính .

• Điều đó có nghĩa là gì?
• Không gì phi tuyến tính có nghĩa là trong bối cảnh này?
• Làm thế nào để giới thiệu phi tuyến tính này giúp đỡ?
• Có bất kỳ mục đích khác của chức năng kích hoạt ?

Câu trả lời:

13

Hầu như tất cả các chức năng được cung cấp bởi các chức năng kích hoạt phi tuyến tính được đưa ra bởi các câu trả lời khác. Hãy để tôi tổng hợp chúng:

• Đầu tiên, phi tuyến tính có nghĩa là gì? Nó có nghĩa là một cái gì đó (một hàm trong trường hợp này) không phải là tuyến tính đối với một biến / biến đã cho tức là $f\left(c1.x1+c2.x2...cn.xn+b\right)!=c1.f\left(x1\right)+c2.f\left(x2\right)...cn.f\left(xn\right)+b.$$f(c1.x1 + c2.x2...cn.xn + b) != c1.f(x1) + c2.f(x2) ... cn.f(xn) + b.$
• Phi tuyến tính có nghĩa là gì trong bối cảnh này? Nó có nghĩa là Mạng thần kinh có thể chức năng xấp xỉ thành công (up-to một lỗi nào đó bởi người sử dụng quyết định) mà không theo tuyến tính hoặc nó có thể dự đoán thành công lớp của một hàm mà được chia bởi một ranh giới quyết định mà không phải là tuyến tính.$e$$e$
• Tại sao nó giúp? Tôi hầu như không nghĩ rằng bạn có thể tìm thấy bất kỳ hiện tượng thế giới vật lý nào theo tuyến tính một cách đơn giản. Vì vậy, bạn cần một hàm phi tuyến tính có thể xấp xỉ hiện tượng phi tuyến tính. Ngoài ra, một trực giác tốt sẽ là bất kỳ ranh giới quyết định hoặc hàm nào là sự kết hợp tuyến tính của các kết hợp đa thức của các tính năng đầu vào (vì vậy cuối cùng là phi tuyến tính).
• Mục đích của chức năng kích hoạt? Ngoài việc giới thiệu phi tuyến tính, mọi chức năng kích hoạt đều có các tính năng riêng.

Sigmoid $\frac{1}{\left(1+{e}^{-\left(w1\ast x1...wn\ast xn+b\right)}\right)}$$\frac{1} {(1 + e ^ {-(w1*x1...wn*xn + b)})}$

Đây là một trong những chức năng kích hoạt phổ biến nhất và đang tăng đơn điệu ở mọi nơi. Điều này thường được sử dụng tại nút đầu ra cuối cùng vì nó nén các giá trị trong khoảng từ 0 đến 1 (nếu đầu ra là bắt buộc 0hoặc 1). Vì vậy, trên 0,5 được xem xét 1trong khi dưới 0,5 như 0, mặc dù 0.5có thể đặt ngưỡng khác (không ). Ưu điểm chính của nó là sự khác biệt của nó rất dễ dàng và sử dụng các giá trị đã được tính toán và các tế bào thần kinh cua được cho là có chức năng kích hoạt này trong các tế bào thần kinh của chúng.

Tanh $\frac{{e}^{\left(w1\ast x1...wn\ast xn+b\right)}-{e}^{-\left(w1\ast x1...wn\ast xn+b\right)}\right)}{\left({e}^{\left(w1\ast x1...wn\ast xn+b\right)}+{e}^{-\left(w1\ast x1...wn\ast xn+b\right)}}$$\frac{e ^ {(w1*x1...wn*xn + b)} - e ^ {-(w1*x1...wn*xn + b)})}{(e ^ { (w1*x1...wn*xn + b)} + e ^ {-(w1*x1...wn*xn + b)}}$

Điều này có lợi thế hơn chức năng kích hoạt sigmoid vì nó có xu hướng tập trung đầu ra thành 0, có tác dụng học tập tốt hơn trên các lớp tiếp theo (hoạt động như một trình chuẩn hóa tính năng). Một lời giải thích tốt đẹp ở đây . Giá trị đầu ra tiêu cực và tích cực có thể được coi là 01tương ứng. Được sử dụng chủ yếu trong RNN's.

Hàm kích hoạt Re-Lu - Đây là một hàm kích hoạt phi tuyến tính đơn giản (tuyến tính trong phạm vi dương và phạm vi phủ định khác nhau) có ưu điểm là loại bỏ vấn đề biến mất độ dốc đối mặt với hai độ dốc trên có nghĩa là0như x có xu hướng + vô cực hoặc vô cực. Dưới đây là câu trả lời về sức mạnh gần đúng của Re-Lu mặc dù tính tuyến tính rõ ràng của nó. ReLu có nhược điểm là có các nơ-ron chết, dẫn đến NN lớn hơn.

Ngoài ra, bạn có thể thiết kế các chức năng kích hoạt của riêng bạn tùy thuộc vào vấn đề chuyên ngành của bạn. Bạn có thể có một hàm kích hoạt bậc hai sẽ xấp xỉ các hàm bậc hai tốt hơn nhiều. Nhưng sau đó, bạn phải thiết kế một hàm chi phí có phần hơi lồi trong tự nhiên, để bạn có thể tối ưu hóa nó bằng cách sử dụng các khác biệt thứ tự đầu tiên và NN thực sự hội tụ đến một kết quả tốt. Đây là lý do chính tại sao các chức năng kích hoạt tiêu chuẩn được sử dụng. Nhưng tôi tin rằng với các công cụ toán học thích hợp, có một tiềm năng rất lớn cho các hàm kích hoạt mới và lập dị.

Ví dụ: giả sử bạn đang cố gắng xấp xỉ một hàm bậc hai biến duy nhất nói . Điều này sẽ được xấp xỉ tốt nhất bởi một kích hoạt bậc hai trong đó sẽ là các tham số có thể huấn luyện. Nhưng việc thiết kế một hàm mất theo phương pháp đạo hàm bậc nhất thông thường (giảm độ dốc) có thể khá khó khăn đối với hàm tăng không đơn điệu.$a.{x}^{2}+c$$a.x^2 + c$$w1.{x}^{2}+b$$w1.x^2 + b$$w1$$w1$$b$$b$

Đối với các nhà toán học: Trong hàm kích hoạt sigmoid chúng ta thấy rằng luôn luôn < . Bằng cách mở rộng nhị thức hoặc bằng phép tính ngược của chuỗi GP vô hạn, chúng ta có được $\left(1/\left(1+{e}^{-\left(w1\ast x1...wn\ast xn+b\right)}\right)$$(1 / (1 + e ^ {-(w1*x1...wn*xn + b)})$${e}^{-\left(w1\ast x1...wn\ast xn+b\right)}$$e ^ {-(w1*x1...wn*xn + b)}$ 1` =. Bây giờ trong một NN . Do đó, chúng ta có được tất cả các lũy thừa của bằng$sigmoid\left(y\right)$$sigmoid(y)$$1+y+{y}^{2}.....$$1 + y + y^2.....$$y={e}^{-\left(w1\ast x1...wn\ast xn+b\right)}$$y = e ^ {-(w1*x1...wn*xn + b)}$$y$$y$${e}^{-\left(w1\ast x1...wn\ast xn+b\right)}$$e ^ {-(w1*x1...wn*xn + b)}$do đó mỗi sức mạnh của có thể được coi như một phép nhân một số hàm mũ mục nát dựa trên một tính năng , cho eaxmple $y$$y$$x$$x$${y}^{2}={e}^{-2\left(w1x1\right)}\ast {e}^{-2\left(w2x2\right)}\ast {e}^{-2\left(w3x3\right)}\ast ......{e}^{-2\left(b\right)}$$y^2 = e^ {-2(w1x1)} * e^ {-2(w2x2)} * e^ {-2(w3x3)} *...... e^ {-2(b)}$. Do đó, mỗi tính năng có tiếng nói trong tỷ lệ của đồ thị .${y}^{2}$$y^2$

Một cách nghĩ khác sẽ là mở rộng số mũ theo Taylor Series: Vì vậy, chúng tôi nhận được một sự kết hợp rất phức tạp, với tất cả các kết hợp đa thức có thể có của các biến đầu vào hiện tại. Tôi tin rằng nếu Mạng thần kinh được cấu trúc chính xác, NN có thể tinh chỉnh các kết hợp đa thức này bằng cách sửa đổi các trọng số kết nối và chọn các thuật ngữ đa thức tối đa hữu ích và loại bỏ các thuật ngữ bằng cách trừ đi đầu ra của 2 nút có trọng số.

Kích hoạt có thể hoạt động theo cùng một cách kể từ đầu ra của . Tôi không chắc chắn cách thức hoạt động của Re-Lu, nhưng do cấu trúc khó hiểu và các tế bào thần kinh đã chết của nó đã hỏi các mạng lớn hơn với ReLu để có được sự gần đúng.$tanh$$tanh$$|tanh|<1$$|tanh| < 1$

Nhưng đối với một bằng chứng toán học chính thức, người ta phải xem Định lý xấp xỉ phổ quát.

Đối với những người không phải là nhà toán học, một số hiểu biết tốt hơn hãy truy cập các liên kết sau:

Chức năng kích hoạt của Andrew Ng - cho câu trả lời chính thức và khoa học hơn

Làm thế nào để phân loại mạng thần kinh phân loại từ chỉ vẽ một mặt phẳng quyết định?

3
Tôi sẽ lập luận rằng ReLU thực sự phổ biến hơn trong các NN ngày nay hơn là sigmoid :)
Andreas Storvik Strauman

@AndreasStorvikStrauman và bạn khá chính xác ... Nhưng sigmoid có một đứa trẻ tên là softmax :)
DuttaA

7

Nếu bạn chỉ có các lớp tuyến tính trong một mạng nơ-ron, thì tất cả các lớp về cơ bản sẽ sụp đổ thành một lớp tuyến tính, và do đó, kiến ​​trúc mạng nơ-ron "sâu" thực sự sẽ không còn sâu nữa mà chỉ là một phân loại tuyến tính.



$y=f\left({W}_{1}{W}_{2}{W}_{3}x\right)=f\left(Wx\right)$

Trong đó $$WWW$$ tương ứng với ma trận đại diện cho trọng số và độ lệch của mạng cho một lớp và $$f()f()f()$$ cho hàm kích hoạt.

Bây giờ, với sự ra đời của một đơn vị kích hoạt phi tuyến tính sau mỗi lần chuyển đổi tuyến tính, điều này sẽ không xảy ra nữa.



$y={f}_{1}\left({W}_{1}{f}_{2}\left({W}_{2}{f}_{3}\left({W}_{3}x\right)\right)\right)$

Bây giờ mỗi lớp có thể dựa trên kết quả của lớp phi tuyến trước đó, về cơ bản dẫn đến một hàm phi tuyến tính phức tạp, có thể xấp xỉ mọi hàm có thể với trọng số phù hợp và đủ độ sâu / chiều rộng.

5

Trước tiên hãy nói về tuyến tính . Tuyến tính có nghĩa là bản đồ (một hàm),$$f: V→ Wf:V→Wf: V \rightarrow W$$, được sử dụng là một bản đồ tuyến tính, nghĩa là nó thỏa mãn hai điều kiện sau

1. $$f( x + y) = f( x ) + f( y) ,x , y∈ Vf(x+y)= =f(x)+f(y),x,y∈Vf(x + y) = f(x) + f(y), \; x, y \in V$$
2. $$f( c x ) = c f( x ) ,c ∈ Rf(cx)= =cf(x),c∈Rf(c x) = cf(x), \; c \in \mathbb{R}$$

Bạn nên làm quen với định nghĩa này nếu bạn đã nghiên cứu đại số tuyến tính trong quá khứ.

Tuy nhiên, điều quan trọng hơn là phải nghĩ đến tính tuyến tính về khả năng phân tách tuyến tính của dữ liệu, có nghĩa là dữ liệu có thể được tách thành các lớp khác nhau bằng cách vẽ một đường (hoặc siêu phẳng, nếu nhiều hơn hai chiều), đại diện cho ranh giới quyết định tuyến tính, thông qua dữ liệu. Nếu chúng ta không thể làm điều đó, thì dữ liệu không thể phân tách tuyến tính. Thông thường, dữ liệu từ một thiết lập vấn đề phức tạp hơn (và do đó phù hợp hơn) không thể phân tách tuyến tính, do đó, chúng ta quan tâm đến việc mô hình hóa chúng.

Để mô hình hóa ranh giới quyết định phi tuyến của dữ liệu, chúng ta có thể sử dụng mạng thần kinh giới thiệu tính phi tuyến tính. Các mạng thần kinh phân loại dữ liệu không thể phân tách tuyến tính bằng cách chuyển đổi dữ liệu bằng cách sử dụng một số hàm phi tuyến (hoặc chức năng kích hoạt của chúng tôi), do đó các điểm được chuyển đổi kết quả trở nên tách rời tuyến tính.

Các chức năng kích hoạt khác nhau được sử dụng cho các bối cảnh thiết lập vấn đề khác nhau. Bạn có thể đọc thêm về điều đó trong cuốn sách Deep Learning (loạt tính toán thích ứng và học máy) .

Để biết ví dụ về dữ liệu không phân tách tuyến tính, hãy xem tập dữ liệu XOR. Bạn có thể vẽ một dòng duy nhất để tách hai lớp không?

4

Hãy xem xét một mạng lưới thần kinh rất đơn giản, chỉ có 2 lớp, trong đó lớp đầu tiên có 2 nơ-ron và 1 nơ-ron cuối cùng và kích thước đầu vào là 2. Các đầu vào là $$x1x1x_1$$$$x1x1x_1$$.

Trọng lượng của lớp đầu tiên là $$w11, w12, w21w11,w12,w21w_{11}, w_{12}, w_{21}$$$$w22w22w_{22}$$. Chúng tôi không có kích hoạt, vì vậy đầu ra của các tế bào thần kinh trong lớp đầu tiên là



$\begin{array}{r}{o}_{1}= ={w}_{11}{x}_{1}+{w}_{12}{x}_{2}\\ {o}_{2}= ={w}_{21}{x}_{1}+{w}_{22}{x}_{2}\end{array}$

Let's calculate the output of the last layer with weights $$z1z1z_1$$ and $$z2z2z_2$$



$out={z}_{1}{o}_{1}+{z}_{2}{o}_{2}$

Just substitute $$o1o1o_1$$ and $$o2o2o_2$$ and you will get:



$out={z}_{1}\left({w}_{11}{x}_{1}+{w}_{12}{x}_{2}\right)+{z}_{2}\left({w}_{21}{x}_{1}+{w}_{22}{x}_{2}\right)$

or



$out=\left({z}_{1}{w}_{11}+{z}_{2}{w}_{21}\right){x}_{1}+\left({z}_{2}{w}_{22}+{z}_{1}{w}_{12}\right){x}_{2}$

And look at this! If we create NN just with one layer with weights $$z1w11+z2w21z1w11+z2w21z_1w_{11} + z_2 w_{21}$$ and $$z2w22+z1w12z2w22+z1w12z_2w_{22} + z_1w_{12}$$ it will be equivalent to our 2 layers NN.

The conclusion: without nonlinearity, the computational power of a multilayer NN is equal to 1-layer NN.

Also, you can think of the sigmoid function as differentiable IF the statement that gives a probability. And adding new layers can create new, more complex combinations of IF statements. For example, the first layer combines features and gives probabilities that there are eyes, tail, and ears on the picture, the second combines new, more complex features from the last layer and gives probability that there is a cat.

3

First Degree Linear Polynomials

Non-linearity is not the correct mathematical term. Those that use it probably intend to refer to a first degree polynomial relationship between input and output, the kind of relationship that would be graphed as a straight line, a flat plane, or a higher degree surface with no curvature.

To model relations more complex than y = a1x1 + a2x2 + ... + b, more than just those two terms of a Taylor series approximation is needed.

Tune-able Functions with Non-zero Curvature

Artificial networks such as the multi-layer perceptron and its variants are matrices of functions with non-zero curvature that, when taken collectively as a circuit, can be tuned with attenuation grids to approximate more complex functions of non-zero curvature. These more complex functions generally have multiple inputs (independent variables).

The attenuation grids are simply matrix-vector products, the matrix being the parameters that are tuned to create a circuit that approximates the more complex curved, multivariate function with simpler curved functions.

Oriented with the multi-dimensional signal entering at the left and the result appearing on the right (left-to-right causality), as in the electrical engineering convention, the vertical columns are called layers of activations, mostly for historical reasons. They are actually arrays of simple curved functions. The most commonly used activations today are these.

• ReLU
• Leaky ReLU
• ELU
• Threshold (binary step)
• Logistic

The identity function is sometimes used to pass through signals untouched for various structural convenience reasons.

These are less used but were in vogue at one point or another. They are still used but have lost popularity because they place additional overhead on back propagation computations and tend to lose in contests for speed and accuracy.

• Softmax
• Sigmoid
• TanH
• ArcTan

The more complex of these can be parametrized and all of them can be perturbed with pseudo-random noise to improve reliability.

Why Bother With All of That?

Artificial networks are not necessary for tuning well developed classes of relationships between input and desired output. For instance, these are easily optimized using well developed optimization techniques.

• Higher degree polynomials — Often directly solvable using techniques derived directly from linear algebra
• Periodic functions — Can be treated with Fourier methods
• Curve fitting — converges well using the Levenberg–Marquardt algorithm, a damped least-squares approach

For these, approaches developed long before the advent of artificial networks can often arrive at an optimal solution with less computational overhead and more precision and reliability.

Where artificial networks excel is in the acquisition of functions about which the practitioner is largely ignorant or the tuning of the parameters of known functions for which specific convergence methods have not yet been devised.

Multi-layer perceptrons (ANNs) tune the parameters (attenuation matrix) during training. Tuning is directed by gradient descent or one of its variants to produce a digital approximation of an analog circuit that models the unknown functions. The gradient descent is driven by some criteria toward which circuit behavior is driven by comparing outputs with that criteria. The criteria can be any of these.

• Matching labels (the desired output values corresponding to the training example inputs)
• The need to pass information through narrow signal paths and reconstruct from that limited information
• Another criteria inherent in the network
• Another criteria arising from a signal source from outside the network

In Summary

In summary, activation functions provide the building blocks that can be used repeatedly in two dimensions of the network structure so that, combined with an attenuation matrix to vary the weight of signaling from layer to layer, is known to be able to approximate an arbitrary and complex function.

Deeper Network Excitement

The post-millenial excitement about deeper networks is because the patterns in two distinct classes of complex inputs have been successfully identified and put into use within larger business, consumer, and scientific markets.

1. Heterogeneous and semantically complex structures
2. Media files and streams (images, video, audio)

But the question was about the purpose of activation and not the use of ANN
DuttaA

@DuttaA, you're comment was accurate. Thank you. The answer had only one sentence that directly answered the question, and the tie into the rest of that answer wasn't very well communicated. I substantially edited it.
FauChristian

Activation functions do not help introduce non-linearity, they are the sole components in network forward propagation that do not fit a first degree polynomial form. If a thousand layers had an activation function $$axaxax$$, where $$aaa$$ is a constant, the parameters and activations of the thousand layers could be reduced to a single dot product and no function could be simulated by the deep network other than those that reduce to $$axaxax$$.