Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

코코와 나

2.신경망과 퍼셉트론 본문

기계학습

2.신경망과 퍼셉트론

코코빵댕이 2021. 7. 7. 12:03

인간 두뇌의 뉴런 연결 구조는 구석기부터 비롯된 인간의 생존 능력을 강화 하는 방식으로 진화해 왔다. 

 

생존을 감각과 그에 비롯한 추론을 기반으로 하는 직관으로 양분 할 수 있다고 하면 인간을 훌륭하게 그 목적에 맞게 감각과 직관을 단련시켜 성장 할 수 있었다. 

 

인간의 뇌에 관해서 많은것이 밝혀진것은 아니지만 생물학적 구조에서 영감을 얻은 인공신경망 그중에서도 합성곱 신경망의 성공 사례가 다른 신경망에서도 나타날것이라는것은 우리 경험을 통해서 충분한 근거가 된다. 

 

전통적인 기계학습에 대비해 신경망의 장점은 데이터에 대한 의미론적 통찰을 "표현"하는 고수준의 추상이 가능해 진다는 점에 있다. 

또한 신경망 구조에 커스텀 하게 모형의 복잡도를 조정할 수 있다는 것에 있다. 

 

이에 신경망의 성공의 상당 부분은 데이터의 방대함과 컴퓨팅 리소스의 발전에 바탕을 두고 있다는 점으로 설명 가능하다. 

 

퍼셉트론

 

가장 단순한 형태의 신경망을 퍼셉트론이라고 한다. 입력층 하나와 출력노드 하나로 구성된 간단한 형태 이다. 

 

상기 그림에서 견본 데이터 x의 특징변수들이 n개 만큼 늘어서 있고 결과에는 관측 값 y가 존재 한다. 

관측 값이라는것은 그 값이 훈련 자료의 일부로서 참고 가능하다는 것을 의미 한다. 

 

x 입력의 n개의 특징을 분석해 y를 추론 하는 과정이라 생각하자. 

 

예를 들어 주가 예측을 예로 들면 오늘의 주가는 금리 환율 원자재 뉴스 , 영업이익 , 경쟁사 횡보 등과 같은 무수히 많은 요소들에 좌지우지되고 여러 변수들을 종합해 당일의 주가 상승을 예측 하는것과 마찬가지 이다. 

주식 하는 사람들은 차트를 보고 뉴스를 보고 여러가지 지표들을 보고 "직감"과 "논리"에 따라서 투자를 하게 되는데 

이를 모형화 했다고 생각하자. 

 

n개의 특징들은 입력되고 난 후 종합되기 전에 가중치 w를 만나게 된다. 

입력층 자체는 어떤 계산도 수행하지 안호는다. 

시그마를 계산하는 출력 선형 출력함수는 출력 노드에서 계산된다. 

신경망은 이 함수가 산출한 실숫 값의 부호를 이용해서 종속변수를 예측 한다. 

 

상기 계단 함수는 부호 함수 이다. 바운더리에 따라 다르겠지만 0,1 이던 1,-1이던 다를것은 없고 결과가 2개의 범주에 사상되므로 이진분류에 적합하다. 이러한 부호 함수를 활성화 함수라고 한다. 신경망에서의 역치와 비슷한 셈이다. 

이렇게 되면 예측의 오차는 관측값 - 예측값 이 되는데 상기 부호함수가 계단형 sign 이라 1,-1이라고 한다면 오차의 집합은 -2,0,2가 된다. 

 

오차가 0이 아닌경우에는 신경망의 가중치들을 오차 기울기 의 음의 방향으로 갱신할 필요가 있다. 

이과정은 여타 다른 기계 학습의 선형 모델들의 갱신과정과 유사함을 생각하자.

 

상기 활성화 함수를 어떻게 선택하느냐에 따라 목적에 맞는 여러가지 문제들을 해결 할 수 있다. 

예를 들면 최소제곱회귀나 서포트벡터머신, 로지스틱 회귀 등을 말이다. 

 

여기서 퍼셉트론은 입출력층을 제외한 하나의 층을 가지고 있기 때문에 단층 신경망에 해당한다. 

 

많은 경우에 예측에 변하지 않는 상수가 존재한다. 이렇게 변하지 않는 불변의 값을 치우침 항 이라고 한다. (bias)

예를들의 평균이 0.5인 정규 분포를 생각 할수 있다. 그 경우 0.5는 평균이 0인 정규 분포의 치우침 항이 된다. 

 

이렇게 편향을 간선에 도입하는 접근 방식은 편향 뉴런을 신경망에 추가 하는 식이다. 

 

 이런 종류의 최소 목적함수를 손실 함수라 부른다. 

식에서 알 수 있듯이 최소제곱 회귀는 연속값 목표 변수에 해당 하며 손실함수는 연속함수이다.

하지만 위에서 보았듯이 목적 함수의 부호 함수는 계단형이였다. 

 

앞뒤가 잘 안맞는듯 하지만 결과적으로 손실함수의 표면은 계단 형태 이며 경사 하강을 적용하기 곤란하다. 

따라서 퍼셉트론 알고리즘은 목적함수의 견본에 대한 기울기를 평활화 하는 방식으로 동작한다. 

 

https://psycnet.apa.org/record/1959-09865-001

 

기본적인 퍼셉트론 알고리즘은 확률적 경사 하강법에 해당한다.

SGD는 무작위로 선택된 훈련점들에 경사 하강법을 적용해서 예측값의 오차를 최소화 하는 방식이다. 

이는 신경망의 훈련 알고리즘이 반복 (epoch) 하면서 각점의 오차를 줄이는 것을 "목적"으로 하는 가중치 갱신을 전제로 한다. 

 

가중치 갱신은 관측과 예측의 차이가 0이 아닌 모든 경우에 일어나고 미니배치 SGD는 상기 갱신을 무작위로 선택한 훈련자료 부분집합 S에 대해 행하는 것을 의미 한다. 

 

퍼셉트론이 제시하는 모형은 선형 모형에 해당한다. 이에 좀더 복잡한 신경망 구조를 사용할 필요성이 제기 된다. 

원래의 퍼셉트론 알고리즘은 분류 오차를 최소화 하는 일종의 발견법적 알고리즘으로 제시괴었기 때문에 특수한 사례에 대해 알고리즘이 합당한 해들로 수렴암을 보이는것이 중요했다. 이와 관련해서 논문에서도 알수 있듯이 훈련 자료가 선형 분리 가능일때 퍼셉트론 알고리즘은 항상 훈련자료에 대해 오차0을 제공하는 지점으로 수렴한다. 

 

하지만 자료가 선형 분리가능이 아닌 경우에는 다른 알고리즘에 비해 굉장이 안좋은 결과를 도출하곤한다.

 

 

'기계학습' 카테고리의 다른 글

6. 고차원에서의 국소적 방법  (0) 2021.08.31
5. 확률 분포와 정보엔트로피  (0) 2021.07.27
4. 시그모이드 함수  (0) 2021.07.27
3. 이진 판단 문제  (0) 2021.07.27
1. 인공 신경망  (0) 2021.07.05
Comments