맨위로가기 타임라인 바로가기

활성화 함수

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
타임라인 바로가기

1. 개요

활성화 함수는 인공 신경망에서 입력 신호의 총합을 처리하여 출력 신호를 생성하는 함수로, 초기에는 계단 함수가 사용되었으나, 역전파 알고리즘의 등장과 함께 시그모이드 함수가 널리 사용되었다. 이후 기울기 소실 문제를 해결하기 위해 ReLU 함수가 제안되었으며, Leaky ReLU, Swish 등 다양한 활성화 함수가 개발되었다. 활성화 함수는 릿지 함수, 방사형 함수, 폴딩 함수 등으로 분류되며, 비선형성, 범위, 연속 미분 가능성, 포화 등의 수학적 속성을 갖는다. 출력층의 활성화 함수와 오차 함수는 문제의 종류에 따라 다르게 설계되며, 회귀, 이진 분류, 다중 클래스 분류 문제에 각각 적합한 함수가 사용된다.

더 읽어볼만한 페이지

  • 인공신경망 - 인공 뉴런
    인공 뉴런은 인공신경망의 기본 요소로서, 입력 신호에 가중치를 곱하고 합산하여 활성화 함수를 거쳐 출력을 생성하며, 생물학적 뉴런을 모방하여 설계되었다.
  • 인공신경망 - 퍼셉트론
    퍼셉트론은 프랭크 로젠블랫이 고안한 인공신경망 모델로, 입력 벡터에 가중치를 곱하고 편향을 더한 값을 활성화 함수에 통과시켜 이진 분류를 수행하는 선형 분류기 학습 알고리즘이며, 초기 신경망 연구의 중요한 모델로서 역사적 의미를 가진다.
활성화 함수
개요
정의인공 신경망의 노드에서 출력값을 결정하는 함수
다른 이름전달 함수 (transfer function)
유형 및 특징
선형 함수계산이 단순하지만 복잡한 패턴 학습에 제한적임
시그모이드 함수출력 범위가 (0, 1) 또는 (-1, 1) 사이로 제한되어 기울기 소실 문제 발생 가능
ReLU 함수경사 소실 문제를 완화하고 학습 속도를 향상시키지만, dying ReLU 문제 발생 가능
tanh 함수시그모이드 함수와 유사하지만 출력 범위가 (-1, 1)로 중심화되어 학습 효율이 높음
소프트맥스 함수다중 클래스 분류 문제에서 각 클래스에 대한 확률을 출력하는 데 사용됨
GELU 함수정규 분포의 누적 분포 함수를 사용하여 입력에 따라 가중치를 부여하는 함수
추가 정보
역할신경망의 비선형성을 추가하여 복잡한 패턴 학습을 가능하게 함
선택신경망의 성능에 큰 영향을 미치므로 문제 유형과 신경망 구조에 따라 적절한 함수를 선택해야 함

2. 역사적 배경

활성화 함수는 인공신경망의 역사와 함께 발전해왔다. 인공 신경망 모델에서 인공 뉴런은 하나 이상의 입력을 받아들여 이들의 가중 합에 활성화 함수를 적용하여 출력을 생성한다. 수식으로 표현하면 다음과 같다.

:y = \varphi \left( \sum_{i=1}^m w_{i} x_i + b \right)

여기서 \varphi가 활성화 함수이다.

고전적으로는 계단 함수가 제안되었으나, 1986년 데이비드 러멜하트, 제프리 힌튼 등이 역전파 알고리즘을 발표한 이후 시그모이드 함수가 널리 사용되기 시작했다.[26] 현재는 ReLU (램프 함수)가 더 좋은 성능을 보이는 것으로 알려져 있다.[26]

2. 1. 초기 모델

인공 신경망의 초기 모델에서는 활성화 함수로 다음 함수들이 제안되었다.

  • 계단 함수: 1943년 워렌 맥컬록과 월터 피츠가 제안한 최초의 인공신경망 모델인 매컬록-피츠 모델에서 사용되었다.[26]
  • 선형 함수: 1958년 프랭크 로젠블랫이 제안한 퍼셉트론 모델에서 사용되었다. 입력값에 바이어스 ''b''를 더한 값을 출력한다.

:y = u + b

:\varphi(x) = x

:일반적으로 이러한 선형 함수는 회귀 분석에서 사용되며, 이진 분류에서는 출력값의 부호를 통해 0 또는 1로 구분한다.

2. 2. 역전파 알고리즘과 시그모이드 함수

데이비드 러멜하트, 제프리 힌튼 등이 역전파 알고리즘을 발표한 1986년 이후, 시그모이드 함수가 활성화 함수로 널리 사용되기 시작했다.[26] 시그모이드 함수는 비교적 단순한 비선형 함수이며 미분 계산이 용이하여 역전파를 동반하는 신경망에서 사용된다. 시뮬레이션 계산 부하를 줄이고 싶었던 초기 연구자들은 네트워크를 수학적으로 다루기 용이한 시그모이드 함수를 앞다투어 채택했다.

:\varphi(x) = \varsigma_1 (x) = \frac{1}{1+e^{-x}} = \frac{ \tanh(x / 2) + 1 }{ 2 }

2. 3. ReLU와 현대적 활성화 함수

2011년, 자비에 글로로(Xavier Glorot) 등은 은닉층의 활성화 함수로 max(0, x)를 사용하는 것이 tanh나 소프트플러스보다 개선된다는 것을 발표했다.[29] 이는 일반적으로 램프 함수라고 불리지만, 신경망 세계에서는 '''ReLU''' (Rectified Linear Unit, Rectifier|정류 선형 유닛영어)라고 불린다. 얀 르쿤이나 제프리 힌튼 등이 잡지 네이처에 쓴 논문에서는 2015년 5월 현재 이것이 최선이라고 하고 있다.[30] 발상으로는 구간 선형 함수를 사용한 1차 스플라인 보간법이며, 선형 보간을 참조하면 관련 내용을 확인할 수 있다. ReLU 함수의 수식은 다음과 같다.

: \varphi(x) = x_+ = \max(0, x)

2013년에는 max(0.01x, x) 가 LReL (leaky rectified linear)로 명명되었으나, 명명자는 이 활성화 함수를 사용할 의미는 없었다고 보고하고 있다.[31]

2018년에는 x*sigmoid(x) 가 Swish (혹은 SiLU, sigmoid weighted linear)로 명명되었다. 이 함수는 ReLU보다 높은 분류 정확도를 얻을 수 있다고 제시되었다.[32]

3. 활성화 함수의 종류

활성화 함수는 크게 릿지 함수, 방사형 함수, 폴드 함수의 세 가지 범주로 나눌 수 있다.[8]

활성화 함수 f\lim_{|v|\to \infty} |\nabla f(v)| = 0이면 '''포화''' 상태라고 하고, \lim_

3. 1. 릿지 함수 (Ridge Function)

릿지 함수는 입력 변수들의 선형 결합에 작용하는 다변수 함수이다.[8]

  • 선형 활성화 함수: \phi (\mathbf v)=a +\mathbf v'\mathbf b
  • ReLU 활성화 함수: \phi (\mathbf v)=\max(0,a +\mathbf v'\mathbf b)
  • 헤비사이드 활성화 함수: \phi (\mathbf v)=1_{a +\mathbf v'\mathbf b>0}
  • 로지스틱 활성화 함수: \phi(\mathbf v) = (1+\exp(-a-\mathbf v'\mathbf b))^{-1}

3. 2. 방사형 함수 (Radial Basis Function)

방사 기저 함수(RBF)는 RBF 네트워크에서 사용되는 특별한 종류의 활성화 함수이다.[8] 이러한 함수는 중심 벡터와의 거리에 따라 값을 출력하며, 다양한 형태를 취할 수 있지만 일반적으로 다음 함수 중 하나로 나타난다.[8]

  • 가우시안: \,\phi(\mathbf v)=\exp\left(-\frac{\|\mathbf v - \mathbf c\|^2}{2\sigma^2}\right)
  • 다중 이차 함수: \,\phi(\mathbf v) = \sqrt{\|\mathbf v - \mathbf c\|^2 + a^2}
  • 역 다중 이차 함수: \,\phi(\mathbf v) = \left(\|\mathbf v-\mathbf c\|^2 + a^2\right)^{-\frac{1}{2}}


여기서 \mathbf c는 함수의 ''중심''을 나타내는 벡터이고 a\sigma는 반경의 확산에 영향을 미치는 매개변수이다.[8]

1988년 데이비드 S. 브룸헤드 등은 활성화 함수로 방사 기저 함수를 사용하는 것을 방사 기저 함수 네트워크(RBF 네트워크)라고 명명했다.[36]

3. 3. 폴딩 함수 (Folding Function)

폴딩 활성화 함수는 풀링 계층 및 다중 클래스 분류 네트워크의 출력 계층에서 광범위하게 사용된다. 이러한 활성화는 입력을 집계하며, 예를 들어 평균, 최소 또는 최대를 취한다. 다중 클래스 분류에서는 소프트맥스 활성화가 자주 사용된다.

Maxout은 2013년에 이안 J. 굿펠로우(Ian J. Goodfellow) 등이 발표한 활성화 함수이다.[38] 일반적인 활성화 함수는 실수에서 실수로 사상(mapping)하지만, Maxout 활성화 함수는 (선형 변환 후의) 복수의 실수 값에 대한 최댓값을 출력한다. 발표자는 드롭아웃(dropout, 층 내를 완전 연결로 만들지 않는 기법)과의 병용으로 논문을 작성했다.

3. 4. 기타 활성화 함수

ς형 함수의 비교

  • '''하이퍼볼릭 탄젠트 (Hyperbolic Tangent영어, tanh):''' 시그모이드 함수를 선형 변환한 형태로, 원점을 지나도록 되어 있다. 1990년대에는 표준 시그모이드 함수보다 tanh가 더 좋다고 제안되었다.[27][28]

:\varphi(x) = \tanh(x)

  • '''Softsign:''' 2010년 자비에 글로로(Xavier Glorot) 등의 연구에서 하이퍼볼릭 탄젠트(tanh)와 비슷한 성능을 보였다.[28]

:\varphi(x) = \frac{x}{1 + |x|}

  • '''Softplus (소프트플러스):'''

:\varphi(x) = \log(1 + e^x)

  • '''ReLU (램프 함수, 정규화 선형 함수, Rectified Linear Unit, Rectifier영어):''' 2011년 자비에 글로로(Xavier Glorot) 등은 은닉층의 활성화 함수로 max(0, x)를 사용하는 것이 tanh나 소프트플러스보다 개선된다는 것을 발표했다.[29] 얀 르쿤이나 제프리 힌튼 등이 잡지 네이처에 쓴 논문에서는 2015년 5월 현재 이것이 최선이라고 하고 있다.[30]

:\varphi(x) = x_+ = \max(0, x)

  • '''LReL (leaky rectified linear영어):''' 2013년에 max(0.01x, x) 가 LReL로 명명되었다. 단, 명명자는 이 활성화 함수를 사용할 의미는 없었다고 보고하고 있다.[31]

  • '''Swish (혹은 SiLU, sigmoid weighted linear영어):''' 2018년에 x*sigmoid(x) 가 Swish로 명명되었다. 이 함수는 ReLU보다 높은 분류 정확도를 얻을 수 있다고 제시되었다.[32]

  • '''Snake:''' 2020년에 류쯔인 등이 제안한 함수는 사인 함수를 사용한 단조 증가 함수이며, ReLU 등에 비해 주기적인 입력에 대해 보다 견고해질 것으로 기대된다.[34]

:\varphi(x) = x + \sin^2 x

  • '''SIREN (Sinusoidal representation networks영어):''' 2020년에 빈센트 시츠만(Vincent Sitzmann) 등이 활성화 함수로 삼각 함수를 사용하는 것을 SIREN이라고 명명했다. 이미지나 음성 등의 정보를 신경망에 부호화하는 과제에서 다른 활성화 함수보다 더 높은 정밀도를 얻을 수 있음을 확인했다.[35]

:\varphi(x) = \sin x

4. 활성화 함수의 수학적 속성

활성화 함수는 경험적 성능 외에도 다음과 같은 다양한 수학적 속성을 갖는다.


  • 비선형성: 활성화 함수가 비선형인 경우, 2층 신경망은 만능 함수 근사기임을 증명할 수 있다.[6] 이는 만능 근사 정리라고 알려져 있다. 항등 활성화 함수는 이 속성을 만족하지 않는다. 여러 층에서 항등 활성화 함수를 사용하는 경우, 전체 네트워크는 단일 층 모델과 동일하다.

  • 범위: 활성화 함수의 범위가 유한할 경우, 기울기 기반 훈련 방법은 패턴 제시가 제한된 가중치에만 유의미한 영향을 미치기 때문에 더 안정적인 경향이 있다. 범위가 무한대일 경우, 패턴 제시가 대부분의 가중치에 유의미한 영향을 미치기 때문에 일반적으로 훈련 효율이 더 높다. 후자의 경우, 일반적으로 더 작은 학습률이 필요하다.

  • 연속 미분 가능성: 이 속성은 기울기 기반 최적화 방법을 가능하게 하므로 바람직하다. (ReLU는 연속 미분 가능하지 않으며 기울기 기반 최적화에 일부 문제가 있지만, 여전히 가능하다.) 이진 스텝 활성화 함수는 0에서 미분 가능하지 않으며, 다른 모든 값에 대해 0으로 미분되므로 기울기 기반 방법으로는 진행할 수 없다.[7]

  • 포화: 활성화 함수 f\lim_{|v|\to \infty} |\nabla f(v)| = 0이면 '''포화''' 상태라고 한다. \lim_

5. 출력층의 활성화 함수와 오차 함수

출력층은 은닉층과 구분하여 설계하며, 활성화 함수와 오차 함수는 세트로 설계해야 한다. 문제 종류에 따라 그것들은 다르다. 여기서 제시된 기법은 오차 함수의 편미분이 모두 출력과 목표값의 차이가 되어 다루기 쉽다.[1]

변수 사용법은 다음과 같다.


  • N: 훈련 데이터의 개수
  • d_n: n번째 훈련 데이터의 목표값
  • y_n: n번째 훈련 데이터의 출력

5. 1. 회귀 (Regression)

회귀 분석에서 사용되는 활성화 함수와 오차 함수는 다음과 같다.

  • 활성화 함수: 항등 함수 \varphi(u) = u
  • 오차 함수: 평균 제곱 오차 E(w) = \frac{1}{2} \sum_{n=1}^N \| y_n - d_n \|^2
  • 오차 함수의 편미분: \frac{ \partial E_n(w) }{ \partial u } = y_n - d_n

5. 2. 이진 분류 (Binary Classification)

활성화 함수는 시그모이드 함수 (S(x) = \frac{1}{1 + e^{-(ax+b)}} = \frac{e^{ax+b}}{e^{ax+b} + 1})를 사용하며, 출력은 1개로 확률로 해석한다. 여기서 d_n은 0 또는 1이거나 확률이다. 오차 함수는 최대 우도 추정으로 유도할 수 있다.

  • 활성화 함수: \varphi(u) = \varsigma_1 (u) = \frac{1}{1+e^{-u}}
  • 오차 함수: E(w) = - \sum_{n=1}^N (d_n \log y_n + (1 - d_n) \log (1 - y_n))
  • 오차 함수의 편미분: \frac{ \partial E_n(w) }{ \partial u } = y_n - d_n

5. 3. 다중 클래스 분류 (Multi-class Classification)

K개의 클래스로 분류한다. 출력은 K개이며, 총합은 1이고, 해당 클래스에 속할 확률로 해석한다. d_{n,k}는 0 또는 1, 혹은 확률이며, n번째 훈련 데이터가 클래스 k에 속할 때 1이다. \sum_k d_{n,k} = 1. 교차 엔트로피를 사용한다. 이 활성화 함수는 소프트맥스 함수라고 불린다. 이대로 계산하면 부동 소수점 숫자에 들어가지 않아 오버플로가 자주 발생하지만, u_k에서 모두 같은 수를 빼면 결과가 같아지는 점을 이용하여, \max_k u_k를 모두에서 빼서 활성화 함수를 계산하는 것이 좋다.

  • 활성화 함수: \varphi(u_k) = \frac{e^{u_k}}{\sum_{i=1}^K e^{u_i}}
  • 오차 함수: E(w) = - \sum_{n=1}^N \sum_{k=1}^K d_{n,k} \log y_{n,k}
  • 오차 함수의 편미분: \frac{ \partial E_n(w) }{ \partial u_k } = y_{n,k} - d_{n,k}

참조

[1] 웹사이트 Neural Networks, p. 7 http://didattica.cs.[...] 2018-10-06
[2] arXiv Gaussian Error Linear Units (GELUs)
[3] 간행물 Deep Neural Networks for Acoustic Modeling in Speech Recognition
[4] 간행물 ImageNet classification with deep convolutional neural networks https://dl.acm.org/d[...] 2017-05-24
[5] 간행물 Dorsal Hand Vein Recognition by Convolutional Neural Networks: Feature Learning and Transfer Learning Approaches http://www.inass.org[...] 2019-06-30
[6] 간행물 Approximation by superpositions of a sigmoidal function https://hal.archives[...] 1989-12
[7] 서적 Practical Mathematical Optimization: An Introduction to Basic Optimization Theory and Classical and New Gradient-Based Algorithms https://books.google[...] Springer Science & Business Media 2005-03-03
[8] 간행물 ImageNet classification with deep convolutional neural networks 2017-05-24
[9] 간행물 A quantitative description of membrane current and its application to conduction and excitation in nerve 1952-08-28
[10] 간행물 Implicit Neural Representations with Periodic Activation Functions https://proceedings.[...] Curran Associates, Inc. 2020
[11] 문서 Square Unit Augmented Radially Extended Multilayer Perceptrons https://link.springe[...] Springer 2024-10-05
[12] 간행물 On the Power of Over-parametrization in Neural Networks with Quadratic Activation https://proceedings.[...] PMLR 2018-07-03
[13] 문서 27th International Conference on International Conference on Machine Learning Omnipress 2010
[14] 웹사이트 Deep sparse rectifier neural networks http://proceedings.m[...] 2011
[15] arXiv Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs) 2015-11-23
[16] 간행물 Self-Normalizing Neural Networks 2017-06-08
[17] 간행물 Rectifier nonlinearities improve neural network acoustic models 2013-06
[18] arXiv Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification 2015-02-06
[19] 문서 Elsevier Pattern Recognition 2023
[20] 문서 "[[2008 IEEE International Conference on Acoustics, Speech and Signal Processing]]" 2008
[21] 간행물 Sigmoid-Weighted Linear Units for Neural Network Function Approximation in Reinforcement Learning
[22] arXiv Searching for Activation Functions
[23] 문서 The Quest for the Golden Activation Function 2018-08-02
[24] 간행물 Maxout Networks
[25] 간행물 Quantum activation functions for quantum neural networks
[26] 간행물 Deep learning 2015-05-28
[27] 간행물 Efficient BackProp http://yann.lecun.co[...]
[28] 간행물 Understanding the difficulty of training deep feedforward neural networks http://jmlr.org/proc[...]
[29] 간행물 Deep Sparse Rectifier Neural Networks http://jmlr.csail.mi[...]
[30] 간행물 Deep learning 2015-05-28
[31] 간행물 Rectifier Nonlinearities Improve Neural Network Acoustic Models http://web.stanford.[...]
[32] 간행물 Searching for Activation Functions https://arxiv.org/ab[...] 2017-10-27
[33] 간행물 Kernel Methods for Deep Learning http://papers.nips.c[...]
[34] 간행물 Neural Networks Fail to Learn Periodic Functions and How to Fix It https://arxiv.org/ab[...] 2020-10-24
[35] 간행물 Implicit Neural Representations with Periodic Activation Functions https://arxiv.org/ab[...] 2020-06-17
[36] 간행물 Radial basis functions, multi-variable functional interpolation and adaptive networks http://www.dtic.mil/[...]
[37] 저널 Wavelet networks http://people.rennes[...]
[38] 저널 Maxout Networks https://arxiv.org/ab[...]
[39] 웹인용 Neural Networks, p. 7 http://didattica.cs.[...] 2018-10-06
[40] ArXiv Gaussian Error Linear Units (GELUs)
[41] 저널 Deep Neural Networks for Acoustic Modeling in Speech Recognition
[42] 저널 ImageNet classification with deep convolutional neural networks https://dl.acm.org/d[...] 2017-05-24
[43] 저널 Dorsal Hand Vein Recognition by Convolutional Neural Networks: Feature Learning and Transfer Learning Approaches http://www.inass.org[...] 2019-06-30

관련 사건 타임라인

( 최근 20개의 뉴스만 표기 됩니다. )



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com