[AI] 인공신경망의 이해
l
인공지능의
역사
- 1958년 퍼셉트론(Perceptron) 인공지능 등장
- 1969년 인공지능에 반론 제기 - XOR 문제
- 1986년 다층 퍼셉트론(Multy-Layer Perceptron) 개발
- 2000년대 머신러닝과 딥러닝의 급격한 발전
l
퍼셉트론
인간의 뇌에 존재하는 뉴런을 모방한 인공신경망 모델
- 단층 퍼셉트론 : 입력층/출력층
- 다층 퍼셉트론 : 입력층/은닉층/출력층
구성요소 |
설명 |
입력층 (Input Layer) |
초기
데이터 입력 |
은닉층 (Hidden Layer) |
데이터
처리 (XOR문제해결 핵심) |
출력층 (Output Layer) |
은닉층
처리결과를 출력 |
※
XOR 문제
단층 퍼셉트론은 AND, OR 연산은 선형 분리가 가능하지만
XOR 연산은 선형 분리를 할 수 없다. (=비선형적인 복잡한 문제는 풀 수 없다.)
- 함수값이 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) 에서 사용하는 크로스 엔트로피 |
비용을 줄이기 위한 방향(기울기)을 계산하고 그 방향으로 가중치를 조금씩 조정하며 점점 더 정확한 신경망을 만들어가는 최적화 알고리즘