인간의 신경망 구조
- 인간의 뇌는 약 1000억개의 뉴런으로 구성됨
- 뉴런은 시냅스라는 구조를 통해 전기, 화학적 신호를 주고받음으로써 다양한 정보를 받아들이고 저장한다.
- 하나의 뉴런은 가지돌기, 신경세포체, 축삭돌기로 구성된다.
인공신경망
인간의 신경망 구조를 모방해 만든 알고리즘이다.
인공신경망의 각 노드는 사람의 신경망에서 뉴런을 모방한 것이다.
입력층은 하나 또는 다수의 노드로 구성되어있다.
입력층의 각 노드에 입력데이터가 들어온다.
w0, w1 ... 각 입력값을 다음 노드에 전달하는 과정에 사용되는 가중치이다.
이 데이터는 가중치를 곱해 합산이 된 후 출력층으로 전달된다.
합산된 값은 활성화함수 f(x)를 통해 연산 결과가 출력된다.
인공신경망 종류
단일계층신경망, 다층신경망, 심층신경망
단일계층신경망과 다층신경망의 차이
단층신경망은 입력층과 출력층만으로 구성된 신경망이다.
반면 다층신경망은 입력층과 출력층 외에도 한 개 이상의 은닉층으로 구성된 신경망이다.
단일계층신경망
은닉층없이 입력층과 출력층으로만 구성된 신경망이다.
활성화 함수
출력값을 내보낼 때 사용하는 함수이며, f(x)로 나타낸다.
어떤 활성화 함수를 선택하느냐에 따라 출력값이 달라질 수 있다.
가중치
입력값은 가중치의 크기에 따라 값이 크기가 바뀌게된다.
단일계층신경망은 OR, AND, NOT연산은 가능하지만 XOR 연산은 불가능하다.
XOR인 경우는 선형 분리가 불가능하다.
다층계층신경망
다층신경망은 입력층과 출력층 외에도 한 개 이상의 은닉층으로 구성된 신경망이다.
입력층에서 데이터를 받아들여 이 신호를 은닉층의 모든 뉴런으로 재분배한다.
입력층 데이터를 받은 은닉층 뉴런은 데이터의 특성을 파악한다.
출력층은 은닉층의 신호를 전달받아 전체 신경망의 출력 패턴을 정한다.
다층신경망은 은닉층을 추가로 사용하여 XOR 문제를 해결하였다.
다층신경망에서 활성화함수
단일계층신경망에서는 계단함수를 사용했지만, 다층신경망에서는 다양한 비선형함수를 사용한다.
활성화함수에서 선형 함수 사용 X : 단순하지만 연산력에 제한을 받기 때문이다.
여러 개의 선형함수를 결합해도 1개의 선형함수와 같게되어 다층신경망의 가중치가 업데이트가 되지 않는다.
Squashing 개념 도입
변수 값에 상관없이 상하한값을 못 넘게 압축하는 함수이다.
Sigmoid 함수
[0, 1] 범위의 출력값을 갖는 부드러운 함수이다. 미분이 가능하다.
하지만 함수에 지수함수가 포함되어 연산비용이 증가하고
양수만 출력하여 학습경로가 진동하며
Gradient Vanishing 문제가 발생한다.
양쪽 끝에서 함수값이 0과 1로 포화하기 때문에 미분값도 0으로 포화한다. (가중치 업데이트 X)
Hyperbolic Tamgent 함수
[1, -1] 범위의 출력값을 갖는 미분가능한 함수이다.
양수만 출력하는 Sigmoid함수의 단점을 해결하였다.
Gradient Vanishing 문제는 해결하지 못하였다.
ReLU 함수
0보다 큰 입력이 들어오면 그대로 통과시키고 0보다 작은 입력이 들어오면 0을 출력하는 함수이다.
다층신경망의 순전파
'전공 지식 정리 > 인공지능' 카테고리의 다른 글
#7 머신러닝2 (0) | 2022.06.20 |
---|---|
#6,7 은닉 마르코프 모델, 머신러닝 (0) | 2022.06.20 |
#4,5 불확실성 및 확률 / 베이지안 네트워크 (0) | 2022.06.19 |
#3 지식 표현과 추론 (0) | 2022.04.23 |
#2 문제해결 및 탐색 전략 (0) | 2022.04.23 |