[AI] 인공신경망의 이해


l   인공지능의 역사





- 1958
퍼셉트론(Perceptron) 인공지능 등장
- 1969
년 인공지능에 반론 제기 - XOR 문제
- 1986
년 다층 퍼셉트론(Multy-Layer Perceptron) 개발
- 2000
년대 머신러닝과 딥러닝의 급격한 발전

 

l   퍼셉트론

인간의 뇌에 존재하는 뉴런을 모방한 인공신경망 모델

-
단층 퍼셉트론 : 입력층/출력층
-
다층 퍼셉트론 : 입력층/은닉층/출력층

구성요소

설명

입력층 (Input Layer)

초기 데이터 입력

은닉층 (Hidden Layer)

데이터 처리 (XOR문제해결 핵심)

출력층 (Output Layer)

은닉층 처리결과를 출력

 

    XOR 문제

단층 퍼셉트론은 AND, OR 연산은 선형 분리가 가능하지만
XOR
연산은 선형 분리를 할 수 없다. (=비선형적인 복잡한 문제는 풀 수 없다.)
















            Ex) 퍼셉트론의 예시


-
함수값이 1에 가까우면 바나나, 0에 가까우면 사과를 의미한다.
-
데이터값(길이 혹은 색상) x 와 가중치 w 의 곱을 모두 더해서 총합을 구한다.
-
총합을 활성화함수에 대입하여 바나나/사과 결과를 출력한다.
-
오답인 경우, 가중치 w를 조정한다.
-
가중치 조정(튜닝)을 반복하며 바나나와 사과 구분하는 법을 익힌다.



l   활성화 함수 (Activation Fuction)

활성화 함수는 인공신경망 모델에서 입력신호의 총합을 출력신호로 변환하는 역할





시그모이드 : 가장 쉽고 초기에 사용, 이진분류 문제에 적합
-
하이퍼볼릭 탄젠트 : 시그모이드 함수보다 출력범위가 넓어 더 빠르게 학습
- ReLu :
시그모이드 함수 대비 약10배 이상 빠르게 학습, 딥러닝 기반



l   오류 역전파 (Backpropagation)

인공신경망의 출력층에서 발생한 오차(Error)를 입력방향으로 거꾸로 전파하여 가중치 조정에 반영

1) 
순전파 : 입력값 X 가중치 => 결과를 활성화 함수 적용하여 출력
2)
오차 계산 : 출력값과 정답(Label) 차이를 비용함수(Cost Function)로 계산
3)
역전파 : 오차를 출력층에서 은닉층으로 거꾸로 전파하여 가중치 조정



l   비용 함수(Cost Function)

인공신경망이 예측한 결과와 실제 정답 간의 차이(오차)를 수치로 표현하기 위한 함수

※ 비용함수 종류

종류

비용함수

설명

회귀

평균제곱오차(MSE)

오차값 제곱의 평균 (작을수록 정확함)

분류

교차 엔트로피(Cross-Entropy)

예측된 확률 분포와 실제 정답 분포 간의 차이를 측정

이진분류

이진 크로스 엔트로피(Binary --)

이진 분류(정답이 0 또는 1) 에서 사용하는 크로스 엔트로피


l 경사하강법(Gradient Descent) → 가중치 조정

비용을 줄이기 위한 방향(기울기)을 계산하고 그 방향으로 가중치를 조금씩 조정하며 점점 더 정확한 신경망을 만들어가는 최적화 알고리즘