Neurons in Deep Learning

­김성우·2022년 7월 1일
0

3. 딥러닝

목록 보기
1/5
post-thumbnail

딥러닝의 기초라 할 수 있는 뉴럴 네트워크와 back propagation, 함 봅시다.


  • Q. 무어의 법칙이란?
    A. 무어의 법칙이란 매년 컴퓨팅 속도가 대략 2배씩 빨라지고 있는 현상을 말한다.

  • Q. 딥러닝에서 back propagation 이란?
    A. 원래의 forward propagation 의 문제인 천문학적인 연산량을 해결하기 위해 나타난 알고리즘입니다. chain rule 과 편미분을 바탕으로 어마어마했던 연산을 하나의 곱셈으로 해결할 수 있게 해줬습니다.

  • Q. 딥러닝에서 활성화 함수는 왜 사용되나요?
    A. 활성화 함수가 사용되는 이유는 비선형적인 성질도 가지게 하기 위함입니다. 만약 뉴럴 네트워크에 활성화 함수가 없었다면 multi linear regression 과 다를 것이 없는 것입니다.

  • Q. 딥러닝에서 활성화 함수에 어떤 것들이 있나요?
    A. 제일 많이 사용되는 것은 시그모이드 함수입니다. 그 이유는 연산이 편리하고 미분이 가능하며 범위가 0-1까지이기 때문입니다. 또한 Tangent hyperbolic 도 사용되는데 이는 시그모이드와 유사하지만 범위가 -1부터 1까지입니다. ReLU 와 leaky ReLU 도 사용되는데 이들은 활성화 안 되면 각각 0 또는 매우 작은 값을 출력합니다. 그리고 시그모이드들의 집합체인 소프트맥스 함수도 사용됩니다.


Neural Networks

원래 딥러닝은 1980-1990 년대에 많이 떴다. 하지만 당시에는 컴퓨팅이 충분하지 않아서 이를 현실로 옮기지를 못했다.
하지만 계속되는 발전과 매년 대략 2배씩 빨라지는 컴퓨터들(무어의 법칙)과 GPU 의 발전으로 인해 이제는 딥러닝과 뉴럴네트워크가 현실적으로 가능해졌다.

뉴럴네트워크는 다음과 같다.
Neuron : 하나의 뉴런
Layer : 한 층의 뉴런들.
Input layer : 시작할때 layer
Hidden layer(s) : 중간중간의 layer 들
Output layer : 출력 레이어

활성화 함수 Activation Functions

이때 하나하나의 뉴런에 logistic regression 이 사용된다고 해도 되고 다양한 활성화 함수들이 있다. 이 활성화 함수들을 알아두면 좋다.

No function :
사실 뭔가 그럴싸 할 것 같다. 괜히 활성화 함수 하나 추가해서 연산만 늘리면 뭔가 비효율적으로 보인다. 하지만 이러면 뉴럴 네트워크는 그냥 linear regression 에 불과하다. 활성화 함수를 사용하는 이유 자체가 비선형성을 추구하기 위함이다. 당연히 써야한다.

Sigmoid function :
제일 자주 쓰이는 활성화 함수이다. 그 이유는 미분이 가능하고 연산도 편리하며 범위가 0-1 까지 보장이 되기 때문이다. 하지만 단점으로 0-1 까지만 나오기 때문에 gradient diminish 또는 gradient vanish 가 일어날 수 있다.

Tangent hyperbolic function :
시그모이드와 매우 유사한 활성화 함수이다. 범위는 -1 부터 1 까지 가능하다.

ReLU function :
일정 값보다 작으면 0을 출력하는 특징이 있다. 이 때문에 필요없는 뉴럴들은 금세 사라지며 연산이 단순해진다.

leaky ReLU function :
ReLU 와 비슷하지만 일정 값보다 작아져도 0이 아니라 매우 작은 값을 출력한다. 이 때문에 뉴런이 아예 사라지지는 않고 더 다양한 출력이 가능해진다.

Softmax function :
시그모이드들을 합친거라고 봐도 된다. multiclass classification 에 자주 사용된다.

Back Propagation

이전의 뉴럴 네트워크들은 forward propagation 으로 연산을 하려고 했다. 하지만 이는 천문학적인 연산량을 요구했고 네트워크가 커지면 그냥 불가능했다.
그래서 나타난 것이 back propagation 이다. back propagation 은 chain rule 과 편미분을 이용해 그 많던 연산을 하나의 곱셈을 통해 구할 수 있게 해줬습니다. 덕분에 딥러닝이 가능해지고 지금도 사용되고 있습니다.

profile
Dreaming of Algorithm & AI Expert...

0개의 댓글