연구 노트: 딥 러닝(1) - 기본 개념 및 활성화 기능

공부시간 : 2022.04.08~2022.04.09

1. 신경망의 기본 개념

1.1 신경망이란?

인공 신경망(ANN)은 줄여서 신경망이라고도 하며 생물학적 신경망의 행동 특성을 모방하고 분산 병렬 정보 처리를 수행하는 수학적 모델입니다.

이러한 종류의 네트워크는 시스템의 복잡성에 따라 달라지며 많은 내부 노드 간의 상호 연결 관계를 조정하여 정보 처리 목적을 달성합니다.

생물학적 신경망에서 단일 뉴런의 구조:

여기에 이미지 설명 삽입

1.2 뉴런 모델에서 퍼셉트론 모델로

1.2.1 MP 뉴런 모델

1943년 심리학자 Warren McCulloch와 수학자 Walter Pitts는 생물학적 신경망(McCulloch-Pitts' 뉴런 모델)을 기반으로 하는 McCulloch-Pitts 뉴런 모델을 공동으로 제안했습니다. 기본 아이디어는 생물학적 뉴런의 특성 구성 요소를 추상화하고 단순화하는 것입니다.

  • 각 뉴런은 다중 입력 및 단일 출력을 갖는 정보 처리 장치입니다.
  • 뉴런 입력에는 흥분성 입력과 억제성 입력의 두 가지 유형이 있습니다.
  • 뉴런에는 공간 통합 특성과 역치 특성이 있습니다.
  • 주로 시냅스 지연에 의해 결정되는 뉴런 입력과 출력 사이에는 고정된 시간 지연이 있습니다.
  • 시간적 통합 및 불응 기간의 무시;
  • 뉴런 자체는 시간에 따라 변하지 않습니다. 즉, 뉴런의 시냅스 지연과 시냅스 강도는 일정합니다.

McCulloch-Pitts 模型公式如下:
O j ( t + 1 ) = f { [ ∑ i = 1n ω ij χ i ( t ) ] − T j } O_j(t+1) = f\{[\sum^n_ {i=1}ω_{ij}χ_i(t)]-T_j\}영형j( +1 )=f { [나는 = 1나는 j시간( ) ]-j}
오제이오제이영형j출력 신호입니다.

χ i χ_{i}시간는 입력 단자(synapse)에 인가되는 입력 신호, ( i = 1 , 2 , … , n ) (i = 1, 2, …, n)( i 1 ,2 ,,) ;

ωij ω_{ij}나는 j는 해당 시냅스 연결 가중치 계수로 시냅스 전달 강도를 시뮬레이션하기 위한 비례 계수입니다.

∑ i = 1n \sum^n_{i=1}나는 = 1시냅스 후 신호의 공간적 축적을 나타냅니다.

티제이티제이j뉴런의 임계값을 나타냅니다.

fff는 뉴런의 반응 함수를 나타냅니다. 기능: ① 입력의 활성화를 출력으로 제어 ② 입력과 출력의 기능을 변환 ③ 무한 도메인이 될 수 있는 입력을 변환

작동 규칙: 시간은 이산적, 시간 t ( t = 0 , 1 , 2 , … … ) t(t=0, 1, 2, …)( =0 ,1 ,2 ,... ) 흥분성 입력χ i χ_{i}를시간, 막 전위( ∑ i = 1n ω ij χ i (t ) \sum^n_{i=1}ω_{ij}χ_i(t)나는 = 1나는 j시간( t ) ) 임계값(T j T_jj) 억제 입력이 0이면 시간 t+1 t+1t 1 , 뉴런 세포 출력 (O j ( t + 1 ) O_j(t+1)영형j( +1 ) )은 1이고 그렇지 않으면 0입니다.

이미지

1.2.2 퍼셉트론 모델

그러나 MP 모델에는 인공 지능에 중요한 학습 메커니즘인 "Hebb의 법칙"(1949 - Donald Hebb - "Organization of Behavior")이 없습니다. 일반적으로 두 개의 신경 세포가 더 많이 통신할수록 연결 효율이 높아지고 그 반대도 마찬가지입니다.

Hebb의 기초 작업에 영감을 받아 Cornell University의 Astronautics Laboratory에서 근무하는 심리학자 Frank Rosenblatt는 1957년에 "Perceptron" 모델을 제안했습니다.

이미지

알고리즘을 사용하여 신경망을 정확하게 정의하는 최초의 모델입니다. 신경망 단위(PE, Processing Element).

Rosenblatt는 퍼셉트론에 대한 간단하고 직관적인 학습 체계를 제공했습니다. 입력 및 출력 인스턴스가 있는 훈련 세트가 주어지면 퍼셉트론은 함수를 "학습"합니다. 각 예제에 대해 퍼셉트론의 출력 값이 인스턴스에 비해 너무 낮은 경우 너무 많으면 가중치를 높이고 인스턴스보다 너무 높으면 가중치를 줄입니다. 알고리즘은 다음과 같습니다.

  1. 가중치 계수를 초기화합니다.

  2. 트레이닝 세트에 있는 인스턴스의 입력 값에 대해 퍼셉트론의 출력 값을 계산합니다.

  3. 퍼셉트론의 출력 값이 인스턴스의 올바른 기본 출력 값과 다른 경우:

    (1) 출력 값이 0이어야 하는데 실제로는 1이면 입력 값이 1인 예제의 가중치를 줄입니다.

    (2) 출력값이 1이어야 하는데 실제로는 0이면 입력값이 1인 예제의 가중치를 증가시킨다.

  4. 훈련 세트의 다음 예제에 대해 동일한 작업을 수행하고 퍼셉트론이 더 이상 실수하지 않을 때까지 2~3단계를 반복합니다.

  5. 계산 결과를 활성화 함수(또는 전달 함수)에 공급하면 계산 결과가 출력 신호로 변환됩니다.

    활성화 함수를 도입하는 목적은 모델에 비선형 요인을 도입하는 것입니다. 활성화 함수가 없는 각 계층은 행렬 곱셈과 같습니다. 여러 레이어를 겹쳐도 행렬 곱셈에 지나지 않습니다.

시사

퍼셉트론은 본질적으로 가중 계산 기능을 통해 결정을 내리는 도구입니다.

단층 퍼셉트론, 다층 퍼셉트론, 은닉층을 포함한 다층 퍼셉트론은 아래와 같습니다.

이미지이미지이미지

1.3 활성화 기능

1.3.1 활성화 함수의 정의

활성화 함수(Activation Function)는 신경망에서 신경망의 특정 부분을 작동 중에 활성화시키고 활성화 정보를 신경망의 다음 계층으로 전달합니다.

신경망의 각 뉴런 노드는 이전 레이어의 뉴런의 출력 값을 뉴런의 입력 값으로 받아들이고 입력 값을 다음 레이어로 전달합니다.입력 레이어의 뉴런 노드는 입력 속성 값을 직접 전달합니다. 다음 레이어로 한 레이어(숨겨진 레이어 또는 출력 레이어). 다층 신경망에서 상위 노드의 출력과 하위 노드의 입력 사이에는 기능적 관계가 있으며, 이 기능을 활성화 함수(활성화 함수/전달 함수라고도 함)라고 합니다.

이미지

1.3.2 활성화 기능을 사용하는 이유는 무엇입니까?

비선형 활성화 함수를 사용하면 입력에서 출력으로 비선형 매핑을 생성할 수 있습니다.

신경망의 각 레이어의 입력과 출력은 선형 합산 과정이기 때문에 다음 레이어의 출력은 이전 레이어의 입력 함수의 선형 변환일 뿐이므로 활성화 함수가 없으면 아무리 구성하는 신경망의 수 복잡도, 레이어 수, 최종 출력은 입력의 선형 조합이며 순수한 선형 조합으로는 더 복잡한 문제를 해결할 수 없습니다. 활성화 함수를 도입하고 나면 일반적인 활성화 함수가 비선형이므로 비선형 요소도 뉴런에 도입되어 신경망이 다른 비선형 함수에 접근할 수 있으므로 신경 네트워크는 비선형 모델에서 더 많이 적용될 수 있습니다.

1.3.3 활성화 함수의 역할

  • 모델의 비선형 세분화 기능을 높입니다.

  • 모델 견고성 향상: 다양한 상황에서 데이터를 맞출 수 있습니다.

  • Vanishing Gradients 문제를 완화합니다.

    뉴런 입력 Sigmoid의 값이 특히 크거나 작다고 가정하면 해당 기울기는 대략 0과 같으며, 이전 단계에서 전달된 기울기가 크더라도 뉴런 가중치(w)와 편향(bias)의 기울기는 0보다 작으면 매개변수를 효과적으로 업데이트할 수 없습니다.

    기울기 폭발(Gradient Explosion): 기울기 오류는 신경망 훈련 중에 계산된 방향과 기울기이며, 신경망은 올바른 방향과 값으로 신경망 가중치를 업데이트합니다. 심층 네트워크 또는 순환 신경망에서는 업데이트 중에 그래디언트 오류가 누적되어 그래디언트가 매우 커질 수 있습니다. 이로 인해 네트워크 가중치가 대규모로 업데이트되어 네트워크가 불안정해집니다. 극단적인 경우 가중치 값이 너무 커져서 오버플로되어 NaN 값이 기울기를 폭발시킬 수 있습니다.

  • 모델 수렴 속도 향상 등

    뉴런 사멸: ReLU 기능은 계산 효율성을 향상시킬 수 있지만 훈련 과정을 방해할 수도 있습니다. 보통 활성화 함수의 입력값에는 편향 항목(bias)이 있는데, 편향이 너무 작아져서 입력 활성화 함수의 값이 항상 음수라고 가정하면 이 곳을 통과하는 역전파 과정의 기울기는 항상 0, 해당 가중치 및 편향 매개변수는 현재 업데이트할 수 없습니다. 활성화 함수의 입력이 모든 샘플 입력에 대해 음수이면 뉴런은 더 이상 학습할 수 없으며, 이를 뉴런 "죽음" 문제라고 합니다.

1.3.4 활성화 함수의 분류

활성화 함수는 크게 포화 활성화 함수 (Saturated)와 비포화 함수 (One-sided/Non-Saturated)로 나뉩니다.

  • h ( x ) h ( x)h ( x ) 는 활성화 함수입니다.

    • nnn이 음의 무한대에 접근하면 활성화 함수의 도함수는 0에 접근합니다(limn → − ∞ h ′ ( x ) = 0 lim_{n→-∞} h'(x) = 0내가 _ _n 시간 (엑스)=0 ) 활성화 함수는 포화된 상태로 남습니다.n이 양의 무한대에 가까워지면 활성화 함수의 도함수는 0에 가까워집니다(limn → + ∞ h ′ ( x ) = 0 lim_{n→+∞} h'(x) = 0내가 _ _n +시간 (엑스)=0 )이면 활성화 함수가 오른쪽 포화됩니다. 함수가 왼쪽 채도와 오른쪽 채도를 모두 만족하면 포화 함수입니다.

    • 포화 함수의 조건을 만족하지 않는 함수를 불포화 활성화 함수라고 합니다.

이미지
포화활성화 함수
1. 시그모이드 함수

로지스틱(Logistic) 함수라고도 불리는 Sigmoid 함수는 널리 사용되었으나, 일부 자체 결함으로 인해 현재는 거의 사용되지 않고 있습니다.

함수의 식과 그래프는 다음과 같습니다.
f ( x ) = 1 1 + e − xf(x) = \frac{1}{1+e^{-x}}에프 ( 엑스 )=1+이자형엑스1
이미지

  • 이점:
    • 입력의 연속된 실수 값을 0과 1 사이의 출력으로 변환할 수 있습니다.
    • 최적화되고 안정적이며 출력 레이어로 사용할 수 있습니다.
    • 유도는 쉽습니다: f ′ ( x ) = x ( 1 − x ) f^′(x) = x(1−x)에프 (엑스)=x ( 1 x ) , 도함수는 0에서 0.25의 최대값을 얻습니다.
  • 결점:
    • 출력은 0을 중심으로 하지 않습니다.
    • 값이 크거나 작을 때 미분이 매우 작아서 매개변수의 업데이트 속도가 매우 느려집니다.
    • 분석 공식에는 지수 연산이 포함되어 있으며 컴퓨터로 해결하는 데 상대적으로 시간이 많이 걸립니다.
    • 심층 신경망에서 기울기가 반전되면 기울기 폭발 및 기울기 소멸이 발생하기 쉽고 기울기 폭발 확률은 매우 작고 기울기 소멸 확률은 상대적으로 높습니다.
2. TanH 기능

하이퍼볼릭 탄젠트 활성화 함수(hyperbolic tangent activation function)라고도 하는 TanH 활성화 함수(Hyperbolic Tangent라고 발음함)는 시그모이드 함수의 0이 아닌 중심 출력 문제를 해결하지만 기울기 소멸 및 전력 연산 문제를 해결합니다. 여전히 존재합니다.

함수의 식과 그래프는 다음과 같습니다.
tan H (x ) = ex − e − xex + e − x = 2 1 + e − 2 x − 1 tanH(x) = \frac{e^xe^{- x}} {e^x+e^{-x}} = \frac{2}{1+e^{-2x}} - 1t an H ( x ) _=이자형엑스+이자형엑스이자형엑스-이자형 엑스=1+이자형−2x _ _2-1
이미지

Tanh 함수는 확대되고 변환된 Sigmoid 함수(로지스틱 함수)로 간주될 수 있으며 그 값 범위는 (-1, 1)임을 알 수 있습니다. Tanh와 시그모이드의 관계는 다음과 같습니다.
f ( x ) = 2 시그모이드 ( 2 x ) − 1 f(x) = 2sigmoid(2x) - 1에프 ( 엑스 )=2 시그마 이드 ( 2 x ) _ _ _ _ _-1

  • 이점:
    • Sigmoid 함수보다 빠르게 수렴합니다.
    • 시그모이드 함수와 비교할 때 그 출력은 0을 중심으로 합니다.
    • 유도는 쉽습니다: f ′ ( x ) = 1 − ( f ( x ) ) 2 f^′(x) = 1-(f(x))^2에프 (엑스)=1-( 에프 ( 엑스 ) )2
  • 결점:
    • 활성화 함수에는 전력 계산을 포함하여 많은 양의 계산이 있습니다.
    • Sigmoid 함수의 가장 큰 문제인 채도 때문에 그래디언트가 사라집니다.
  • 참고: 일반적인 이진 분류 문제에서는 은닉층에 tanh 함수를 사용하고 출력층에 sigmoid 함수를 사용하지만 이는 고정된 것이 아니며 특정 문제에 맞게 조정해야 합니다.
3. 소프트맥스 기능

Softmax는 소프트(연화) 최대입니다. Softmax는 2개 이상의 클래스 레이블에 클래스 멤버십이 필요한 다중 클래스 분류 문제에 대한 활성화 함수입니다.

길이가 K인 모든 실수 벡터에 대해 Softmax는 길이가 K이고 값 범위가 (0, 1)이고 벡터 요소의 합이 1인 실수 벡터로 압축할 수 있습니다.

함수의 표현과 이미지는 다음과 같습니다.

그 중 i와 j는 각각 i와 j 노드의 출력 값입니까?

Si = ei ∑ j = 1 jej S_i = \frac{e^i}{\sum_{j=1}^je^j}에스=j = 1j이자형제이이자형

이미지
  • 이점:
    • Softmax 함수의 분모는 원래 출력 값의 모든 요소를 ​​결합한 것으로 Softmax 함수에서 얻은 다양한 확률이 서로 관련되어 있음을 의미합니다.
  • 결점:
    • 0에서 미분할 수 없음;
    • 음수 입력은 기울기가 0입니다. 즉, 이 영역의 활성화에 대해 역전파 중에 가중치가 업데이트되지 않으므로 절대 작동하지 않는 죽은 뉴런이 생성됩니다.
포화되지 않은 활성화 함수
1. ReLU 함수

Rectified Linear Unit이라고도 하는 ReLU 함수는 시그모이드 함수와 tanH 함수의 기울기 소실 문제를 보완한 조각별 선형 함수로 현재 심층 신경망에서 널리 사용되고 있습니다. 기본적으로 램프 기능입니다.

ReLU 함수는 실제로 최대값 함수입니다. 완전히 유도할 수는 없지만 하위 기울기를 취할 수 있습니다. ReLU는 간단하지만 최근 몇 년간 중요한 성과입니다.

함수의 식과 그래프는 다음과 같습니다.
f ( x ) = M ax ( 0 , x ) = { 0 x ≤ 0 xx > 0 f(x) = Max(0, x) = \begin{cases}0 & x≤ 0\\x & x>0\end{케이스}에프 ( 엑스 )=최대 x ( 0 , _x )={ 0엑스엑스0엑스>0
이미지

  • 이점:
    • Sigmoid 및 tanh와 비교하여 ReLU는 SGD에서 빠르게 수렴할 수 있습니다.
    • Sigmoid 및 tanh에는 많은 비용이 드는 작업(예: 인덱스)이 포함되며 ReLU는 더 간단하게 구현할 수 있습니다.
    • x>0일 때 그래디언트 값은 항상 1이므로 그래디언트 분산 및 그래디언트 폭발 문제가 효과적으로 완화됩니다.
    • 또한 감독되지 않은 사전 교육 없이 더 잘 수행할 수 있습니다.
    • 신경망의 희소 표현 능력을 제공합니다(Relu는 일부 뉴런의 출력을 0으로 만들어 네트워크의 희소성을 유발하고 매개변수의 상호 의존성을 줄이며 과적합 문제의 발생을 완화합니다).
    • 일방적 억제, 넓은 여기 경계(즉, 여기의 정도가 매우 높을 수 있음)와 같은 생물학적 타당성(Biological Plausibility)을 갖는 것으로 간주된다.
  • 결점:
    • ReLU의 출력은 0 중심이 아닙니다.
    • 훈련이 진행됨에 따라 뉴런이 죽고 가중치를 업데이트할 수 없습니다. 이런 일이 발생하면 뉴런을 통해 흐르는 기울기는 이 시점부터 항상 0이 됩니다. 즉, ReLU 뉴런은 훈련 중에 비가역적으로 죽습니다.
    • Dead ReLU 문제는 일부 뉴런이 활성화되지 않아 해당 매개변수가 업데이트되지 않을 수 있다는 사실을 나타냅니다.
2. LReLU 함수, PReLU 함수

Dead ReLU 문제와 그래디언트 소실 문제를 해결하기 위해 ReLU의 전반부(x<0일 때)를 γx γx 로 설정하는 것을 제안0 대신 γ x (일반적으로 γ = 0.01 γ = 0.01=0 . 0 1 ), 따라서 LReLU 함수(Leaky ReLU)를 제안합니다.

함수의 식은 다음과 같습니다.
f ( x ) = M ax ( α x , x ) = { γ xx ≤ 0 xx > 0 f(x) = Max(\alpha x, x) = \begin{cases} γx & x ≤0\\x & x>0\end{케이스}에프 ( 엑스 )=M a x ( α x ,x )={ γ 엑스엑스엑스0엑스>0
LReLU는 기존 문제에 대한 ReLU 기반 확장입니다. 이 외에도 x에 상수항을 곱하는 것이 아니라 x에 하이퍼파라미터를 곱하는 방식으로 다른 각도에서 확장할 수도 있는데 LReLU보다 나을 것 같습니다. , 파라메트릭 ReLU 함수입니다. 여기서 γ_ix는 γ_ix입니다.x 하이퍼파라미터는 x≤0일 때 함수의 기울기에 해당합니다.

여기에서 학습 및 역전파될 수 있는 임의의 하이퍼파라미터가 도입됩니다. 다른 뉴런은 다른 매개 변수를 가질 수 있으며 여기서 i는 i 번째 뉴런에 해당하므로 뉴런은 음수 영역에서 최상의 기울기를 선택할 수 있습니다. 이 기능을 사용하면 ReLU 또는 Leaky ReLU가 될 수 있습니다. γi=0 이면 γ_i=0=0 이면 PReLU는 ReLU로 퇴보합니다.γ i γ_i가 작은 상수이면 PReLU는 Leaky ReLU로 간주될 수 있습니다. PReLU는 서로 다른 뉴런이 서로 다른 매개변수를 갖도록 허용하거나 뉴런 그룹이 매개변수를 공유할 수 있습니다.

함수의 식은 다음과 같습니다.
f ( x ) = M ax ( γ ix , x ) = { γ ixx ≤ 0 xx > 0 f(x) = Max(γ_ix, x) = \begin{cases}γ_ix & x≤0 \\x & x>0\end{케이스}에프 ( 엑스 )=최대 x ( c _x ,x )={ 엑스엑스엑스0엑스>0
기능 이미지는 다음과 같습니다.

이미지
  • 이점:
    • Leaky는 ReLU 함수의 범위를 확장하는 데 도움이 됩니다.Leaky ReLU의 함수 범위는 (음의 무한대에서 양의 무한대로)입니다.
  • 결점:
    • Leaky ReLU는 ReLU 활성화 함수의 모든 특성(예: 효율적인 계산, 빠른 수렴, 양수 영역의 포화 없음)을 가지고 있지만 실제 작동에서 Leaky ReLU가 항상 ReLU보다 낫다는 것을 완전히 증명하지는 않습니다.
    • 대부분의 경우 ReLU를 사용하는 것이 더 좋지만 Leaky ReLU 또는 Parametric ReLU를 실험하여 문제에 더 적합한지 확인할 수 있습니다.
3. ELU 기능, SELU 기능

ELU(Exponential Linear Unit)의 제안 역시 ReLU의 음의 부분에 존재하는 문제를 해결하기 위한 것으로, Djork 등이 제안한 것으로 높은 노이즈 견고성을 가지는 것으로 입증되었다. ELU 활성화 기능 쌍 xxx 가 0보다 작은 경우는 지수 계산과 유사한 방식으로 출력됩니다. ReLU와 비교할 때 ELU는 음수 값을 가지므로 활성화의 평균 값이 0에 가깝습니다. 0에 가까운 평균 활성화는 기울기를 자연 기울기에 더 가깝게 만들기 때문에 학습 속도를 높일 수 있습니다.

함수의 표현과 이미지는 다음과 같습니다:
f ( x ) = { α ( ex − 1 ) x ≤ 0 xx > 0 f(x) = \begin{cases}α(e^x-1) & x≤ 0\\ x & x>0\end{케이스}에프 ( 엑스 )={ ( 전자 _엑스-1 )엑스엑스0엑스>0
이미지

SNN( Self-Normalizing Neural Networks ) 논문의 SNN은 스케일링 지수 선형 단위 "SELU"를 기반으로 하며, 이는 자체 표준화 속성(예: 분산 안정화)을 유도하여 그래디언트의 폭발 및 소멸을 방지할 수 있습니다. SELU 함수는 계수 λ λ를 ELU 함수에 곱하는 것입니다. .

함수의 수식과 그래프는 다음과 같습니다.
f ( x ) = λ ⋅ ELU ( X ) = λ { α ( ex − 1 ) x ≤ 0 xx > 0 f(x) = λ·ELU(X) = λ \begin{ 케이스}α(e^x-1) & x≤0\\ x & x>0\end{케이스}에프 ( 엑스 )=λ ·엘루 ( X ) _ _={ ( 전자 _엑스-1 )엑스엑스0엑스>0
여기에 이미지 설명 삽입

  • 이점:
    • ELU에는 Dead ReLU 문제가 없으며 출력의 평균값이 0에 가깝고 0을 중심으로 합니다.
    • ELU는 바이어스 오프셋의 영향을 줄임으로써 일반 기울기를 단위 자연 기울기에 더 가깝게 만들어 평균값이 0을 향한 학습을 ​​가속화합니다.
    • ELU는 작은 입력으로 음수 값으로 포화되어 포워드 패스의 변동 및 정보를 줄입니다.
  • 결점:
    • 계산 강도가 높고 계산량이 크며 현재 ELU가 항상 ReLU보다 우수하다는 충분한 증거가 없습니다.
4. 스위시 기능

Swish 활성화 함수는 self-gated 활성화 함수라고도 합니다. 베타베타β 는 학습 가능한 매개변수 또는 고정된 하이퍼 매개변수,f ( x ) ∈ ( 0 , 1 ) f(x) ∈ (0,1)에프 ( 엑스 )( 0 ,1 ) 소프트 게이팅 메커니즘으로 간주할 수 있습니다. 시그모이드( β x ) 시그모이드(βx)s igm o i d ( β x ) 1에 가까우면 게이트는 "열린" 상태이고 활성화 함수의 출력은 대략 x 그 자체 입니다 .s igm o i d ( β x ) 가 0에 가까울 때 게이트는 "닫힌" 상태이고 활성화 함수의 출력 은 0 에 가깝습니다.

β = 0 β=0=0 일 때 Swish 함수는 선형 함수x 2 \frac{x}{2}2엑스;当β = 1 β=1=1 일 때 Swish 함수는x > 0 x>0엑스>0 은 x < 0 x<0에서 거의 선형입니다.엑스<0 은 거의 포화 상태이며 특정 비단조성을 가집니다.β가 양의 무한대 경향이 있을 때sigmoid ( β x ) sigmoid(βx)sigmoid ( βx ) 함수 는 이산 0~1함수인 경향이 있고, Swish 함수 는 대략 ReLU 함수 에 가깝기 때문에 Swish함수는 선형 함수 ReLU 함수와 그 정도 매개변수β β베타 컨트롤.

함수의 식과 그래프는 다음과 같습니다.
f ( x ) = x ⋅ sigmoid ( β x ) = x 1 + e − β xf(x) = x sigmoid(βx) = \frac{x}{1+e ^{ -βx}}에프 ( 엑스 )=엑스 시그 오이 ( βx ) _ _ _ _=1+이자형βx _엑스
이미지

  • 이점:
    • ReLU는 상한과 하한이 없는 특성이 있고 Swish는 ReLU에 비해 ​​부드럽고 비단조적인 기능을 추가하여 ImageNet에서 더 좋습니다.
  • 결점:
    • 계산량을 늘리기 위해 지수 함수를 도입했습니다.
5. 미쉬 기능

Diganta Misra의 새 논문 "Mish: A Self Regularized Non-Monotonic Neural Activation Function"은 Swish(+.494%) 및 ReLU(+1.671%)를 능가하는 새로운 딥 러닝 활성화 함수인 Mish 활성화 함수를 소개합니다. 향상.

함수의 식과 그래프는 다음과 같습니다.
f ( x ) = x ⋅ tanh ( ln 1 + ex ) f(x) = x tanh(ln^{1+e^x})에프 ( 엑스 )=엑스 t an h ( ln _ _1 + 전자x )
이미지

  • 이점:
    • Unbounded above: 네트워크 포화, 즉 그라디언트가 사라지는 것을 방지할 수 있습니다.
    • 아래 경계: 네트워크의 정규화 효과를 개선합니다.
    • 매끄럽다(smooth): 첫째, ReLU와 비교하여 0 값 포인트에서 연속적으로 예측할 수 없는 문제를 줄일 수 있고, 둘째, 네트워크를 더 쉽게 최적화하고 일반화 성능을 향상시킬 수 있습니다.
    • 비단조적: 일부 작은 음의 입력은 음의 출력으로 유지되어 네트워크의 해석 가능성과 기울기 흐름을 개선할 수 있습니다.
  • 결점:
    • 계산량을 늘리기 위해 지수 함수를 도입했습니다.
6. 소프트플러스 기능

Softplus 함수는 Sigmoid 함수의 본래 함수, 즉 softplus 함수를 유도한 결과가 sigmoid 함수이다. Softplus는 ReLU 기능의 매끄러운 버전이라고 볼 수 있습니다.

함수의 식과 이미지는 다음과 같습니다.
f ( x ) = log 1 + exf ′ ( x ) = sigmoid ( x ) f(x) = log^{1+e^x}\\ f'(x) = 시그모이드(x)에프 ( 엑스 )=로그 _ _1 + 전자엑스에프 (엑스)=시그 모이 ( x ) _ _ _ _
시사

Softplus 기능은 1을 추가하여 음수가 아님을 보장합니다. Softplus는 음이 아닌 강제 보정 함수 max(0,x)의 부드러운 버전으로 볼 수 있습니다. 빨간색은 ReLU입니다.

Softplus 함수의 파생물은 바로 Logistic 함수입니다. Softplus 기능도 일방적 억제 및 넓은 여기 경계의 특성을 가지고 있지만 희박한 활성화는 없습니다.

7. MaxOut 기능

Maxout은 매개변수 k를 포함하여 딥러닝 네트워크에 활성화 함수 계층을 추가하는 것으로 볼 수 있습니다. ReLU, 시그모이드 등과 비교하여 이 레이어는 nn을 추가한다는 점에서 특별합니다.n개의 뉴런을 입력한 다음 활성화 값이 가장 큰 값을 출력합니다. ("맥스아웃 네트웍스", 굿펠로우, ICML2013)

네트워크의 특정 계층의 입력 특징 벡터가 다음과 같다고 가정합니다. X = ( x 1 , x 2 , … , xd ) X = ( x_1, x_2, …, x_d )엑스=( 엑스1,엑스2,,엑스) 즉, 입력은ddd 뉴런. Maxout 은닉층의 각 뉴런의 계산식은 다음과 같다
.시간( 엑스 )=최대 _ _j [ 1 , n ] 나는 j
위 공식은 Maxout hidden layer 뉴런 iii 의 계산 공식 . 그 중 k는 Maxout 레이어에 필요한 매개 변수의 수이며 크기를 수동으로 설정합니다. 드롭아웃과 마찬가지로 자체 매개변수 p(각 뉴런의 드롭아웃 확률)도 있으며 maxout의 매개변수는 k입니다. 수식에서 Z의 계산 공식은 다음과 같습니다.
zij = x TW … ij + bij z_{ij} = x^TW…_{ij} + b_{ij}나는 j=엑스나는 j+나는 j
무게 WWW 는 크기( d , m , k ) (d,m,k)( d ,,k ) 3차원 행렬,bbb 는 크기( m , k ) (m,k)( m ,k ) 2차원 행렬, 이 두 가지는 우리가 배워야 할 매개변수입니다. 매개변수 k = 1 k=1로 설정하면케이=1 , 이때 네트워크는 우리가 이전에 배운 일반적인 MLP 네트워크와 유사합니다.

공통 히든 레이어 노드 출력: hi ( x ) = sigmoid ( x TW … i + bi ) h_i(x) = sigmoid(x^TW…_i + b_i)시간( 엑스 )=시그 모이 ( x _ _ _ _+)

전통적인 MLP 알고리즘, 네트워크 섹션 iii 도상제i+1 i+1+1개의 레이어에 대해 하나의 매개변수 세트만 있습니다. ReLU나 sigmoid와 같은 활성화 함수가 대체되고 Maxout이 도입되면nn이그룹 n 의 WW ,bbb 매개변수를 선택한 다음 활성화 값이 가장 큰zz를z 는 다음 뉴런 층의 활성화 값으로 사용되며, 이Maxj ∈ [ 1 , n ] zij Max_{j∈[1,n]}\ z_{ij}최대 _ _j [ 1 , n ] 나는 j즉, 활성화 기능으로 작용합니다.

이미지
  • 이점:
    • Maxout은 피팅 능력이 매우 강하고 모든 볼록함수에 맞출 수 있습니다.
    • Maxout은 ReLU, 선형성, 불포화의 모든 장점을 가지고 있으며 ReLU의 몇 가지 단점이 없습니다. 예를 들면: 뉴런의 죽음;
    • 실험 결과는 Maxout과 Dropout의 조합이 더 나은 효과를 낼 수 있음을 보여줍니다.
  • 결점:
    • 위의 활성화 함수 공식에서 알 수 있듯이 각 뉴런에는 두 세트의 (w,b) 매개변수가 있고, 그러면 매개변수의 수가 두 배가 되어 전체 매개변수의 수가 급증하게 됩니다.
8. 기타 기능
  • 단계 단계 함수/단계 함수: f ( x ) = { 0 x ≤ 0 1 x > 0 f(x) = \begin{cases}0&x≤0\\1&x>0\end{cases}에프 ( 엑스 )={ 01엑스0엑스>0;
  • Sgn 부호 함수: f ( x ) = { − 1 x ≤ 0 1 x > 0 f(x) = \begin{cases}-1&x≤0\\1&x>0\end{cases}에프 ( 엑스 )={ 11엑스0엑스>0;
  • 선형 함수: f( x ) = xf(x) = x에프 ( 엑스 )=엑스 ;
  • 램프 포화 선형 함수: f ( x ) = { 0 x < 0 x 0 ≤ x ≤ 1 1 x > 1 f(x) = \begin{cases}0&x<0\\x&0≤x≤1\\1&x>1 \end{케이스}에프 ( 엑스 )=0엑스1엑스<00엑스1엑스>1
기능 요약
이미지

1.3.5 활성화 기능 선택 방법

  1. 딥러닝은 많은 양의 데이터를 처리하기 위해 많은 시간이 필요한 경우가 많으며, 특히 모델의 수렴 속도가 중요합니다. 따라서 일반적으로 학습 딥러닝 네트워크는 가능한 한 제로 중심 데이터(데이터 전처리를 통해 달성 가능)와 제로 중심 출력을 사용해야 합니다. 따라서 모델의 수렴 속도를 높이기 위해 제로 중심 특성을 가진 활성화 함수를 선택하십시오.

  2. 이진 분류 문제를 제외하고 시그모이드 함수를 사용할 때 주의하십시오.

  3. 입력 데이터 특성이 크게 다른 경우 tanh를 사용하는 효과가 매우 좋으며 루프 프로세스 중에 특성 효과가 지속적으로 확장되고 표시됩니다. 그러나 대부분의 경우 그 효과는 ReLU 및 Maxout보다 떨어집니다.

  4. 어떤 활성화 함수를 사용해야 할지 모르겠다면 먼저 ReLU를 선택하세요.

  5. ReLU를 사용한다면 Dead ReLU 문제에 주의를 기울여야 하는데, 이때 너무 많은 뉴런이 "죽음"으로 이어지는 큰 변화도를 피하기 위해 학습률을 신중하게 선택해야 합니다. Dead ReLU 문제가 발생하면 Leaky ReLU, PReLU, ELU, Maxout 등을 시도해 볼 수 있습니다. 아마도 좋은 효과가 있을 것입니다.

1.4 신경망 구조

신경망은 일반적으로 입력 레이어, 숨겨진 레이어(중간 레이어라고도 함) 및 출력 레이어로 구성되며 숨겨진 레이어에는 하나 이상의 레이어가 있습니다. 각 계층에는 여러 노드가 있을 수 있습니다. 레이어 간 노드의 연결 상태는 가중치로 반영됩니다.

  • 입력층: 정보의 입력 터미널;
  • 숨겨진 계층: 계산 프로세스를 시뮬레이션하는 데 사용되는 정보 처리 끝.
  • 출력 레이어: 우리가 원하는 결과인 정보의 출력 끝(둘 이상이 있을 수 있음).
이미지 은닉층은 하나뿐: 전통적인 얕은 신경망, 여러 개의 은닉층: 딥러닝 신경망.

추천

출처blog.csdn.net/Morganfs/article/details/124071564