AI/ML 기본 개념

[ML 개념] 머신러닝의 핫한 용어 정리 (1)

zamezzz 2017. 7. 11. 00:40

 [용어정리] 머신러닝의 핫한 용어 정리 (1)


요즘 핫한 머신러닝의 몇 가지 용어를 정리해보고자 합니다.


첫 번째 포스팅에 몇 가지 정리 후 다음 정리할 내용이 쌓이면 그 때 또 하기로하죠


 확률적 경사 하강법 (Stochastic Gradient Descent. SGD)


최적의 매개변수 값을 찾기 위해 기울기(미분)을 활용합니다.

이 반복을 통해 점점 더 정확한 매개변수 값으로의 갱신합니다.

이렇게 단순하고도 어려운 방법을 확률적 경사 하강법이라고 합니다.

막연히 매개변수를 찾는 것보다 훨씬 더 정확하고 효율적인 방법이죠.


다만, 비등방성 함수와 같은 형태에서는 탐색경로가 비효율적입니다.


 가중치(weight)의 초기값 설정


가중치 w값은 다음 레이어로의 출력 값을 결정하는 중요한 요인입니다.

그렇기 때문에 어느정도의 w값을 주느냐에 따라 결과가 달라집니다.


즉, 우리가 원하는 결과 값을 얻기 위해서는 적절한 w값이 필요합니다.

그러므로 w의 초기값 설정이 매우 중요한 것이죠.


- 가중치를 0으로 설정한다면, 각 레이어를 지나쳐도 항상 같은 가중치를 가집니다.

  즉 가중치를 가지는 의미가 없죠

- 가중치를 표준편차가 1인 정규분포로 설정한다면, 기울기 소실이 일어납니다.

- 가중치를 표준편차가 0.01인 정규분포로 설정한다면, 기울기로 표현할 수 있는 

  형태가 제한됩니다. 즉 표현력이 제한된다는 문제가 발생하죠.


그러기에 보통 무작위로 초기값을 부여합니다. 

다만 요즈음에는 권장되는 가중치 값들이 연구되어 있어 이를 사용하면 효율적입니다.

보다 넓고 고르게 분포되어 있음을 확인할 수 있어요.


또한 각 활성화 함수에 맞는 적절한 초기값이 존재하기에 잘 살펴야 합니다.


 정규화 (Normalization)


위의 가중치에 대해 정리하면서... 고르게 분포됨이 얼마나 중요한지 보셨을겁니다.


그리고 활성화 값이 고르게 분포될 때 학습이 원할하게 잘 수행됩니다.


그렇다면 활성화 값을 일부러 고르게 분포시키면 어떨까? 라는 생각에서 출발한 것이


바로 배치 정규화 알고리즘입니다. 이 장점은 크게 3가지 인데요.


- 학습 속도가 빨라지고요

- 잘못된 초기값 설정으로 애를 먹는 일이 줄어듭니다.

- 그리고 이로 인한 오버피팅(overfitting)을 방지할 수 있어요


배치 정규화 알고리즘의 개념은 간단합니다. 각 레이어 사이에 이 알고리즘을 삽입합니다


그러면 다음 레이어로 가기 전 평균이 0, 분산이 1이 되도록 정규화된 데이터로 수정(?)


되기 때문에 보다 원하는 결과를 얻는데 한 발 더 가까워집니다.



오늘은 이 3가지 개념에 대해 간략히 정리하겠습니다.

반응형

'AI > ML 기본 개념' 카테고리의 다른 글

[ML 개념] 활성화 함수(Activation Function)란?  (1) 2018.06.06