1. 인공신경망의 작동 원리 : 기본 단위인 뉴런
인공신경망은 인간의 뇌의 작동 방식인 신경망 구조를 본따 알고리즘화 한 것이다. 뇌는 여러 신경세포(뉴런)의 네트워크로 구성된다. 이런 신경세포 구조를 인공으로 구현하기 위해서는 먼저, 단일 뉴런의 구조를 본따야 한다. AI에서는 이런 단일 뉴런을 '노드'라고 한다.
1) 입력은 가중치로
인공뉴런(노드)에 외부로부터 입력이 들어오면 '가중치'와 곱해져서 처리된다. 여러 노드가 연결된 인공 신경망에서는 한 노드의 출력이 곧 다른 노드의 입력이 되기 때문에, '가중치'란 노드(뉴런) 간의 연결 강도를 나타내며 신경망에서 더 중요한 정보(입력)를 표현하는 방법이다. 한 노드에 입력되는 입력값은 가중치 곱들의 합이라는 의미로 가중합(선형합)이라고 한다.
2) 출력은 활성화 함수로
노드에서 입력된 가중합은 그대로 출력되지 않는다. 작은 입력(자극)에도 모두 반응한다면 노이즈와 같은 무의미한 자극을 출력할 수 있다. 따라서 임계값(역치) 이상의 입력만 출력하도록 설계된다. 이때 임계값은 정보 노이즈를 거르는 필터 역할을 수행한다. 이렇게 입력은 임계값을 고려해 활성화 함수를 거쳐서 출력된다. 활성화 함수로 자주 사용되는 함수로는 시그모이드 함수 / ReLU 함수 / 선형 함수 / 하이퍼볼릭 탄젠트 함수 등이 있다.
2. 예시 살펴보기
인공뉴런(노드)의 입력과 출력 처리를 예시를 통해 살펴보자. 현재 인공뉴런에 2, 3의 값이 입력되고 순서대로 1, 0.8의 가중치를 부여 받은 상태이다. 또 활성화 함수로 선형함수(y=x)를 사용한다. 임계값은 ɵ(세타)로 표현한다.
1) 입력의 선형합(가중합) : S = 2*1 + 3*0.8 = 2 + 2.4 = 4.4
2) 출력값(활성화함수) : y=a(S-ɵ) / S - ɵ = 4.4 - 4 = 0.4 / y=a(0.4)=0.4
위의 과정을 거쳐, 위 노드의 최종 출력값은 0.4가 된다.
3. 인공신경망의 작동 원리 : 신경망 구축
단일 뉴런의 원리를 본따 인공뉴런(노드)를 만들었으면, 이젠 인공뉴런을 모아 인공신경망을 구축해야 한다.
왼쪽의 사진처럼 신경망은 여러 신경 세포들이 아주 복잡하고 촘촘하게 얽혀있다. 오른쪽의 사진은 이 복잡한 신경망을 구조화한 모습. 신경망에서는 한 뉴런의 출력은 곧 다른 뉴런의 입력이 된다. 시작과 끝이 연결되어 있는 셈이다.
이 신경망을 본따 인공신경망을 만들 때에는 복잡한 구조를 이해하기 쉽게 크게 3가지 층으로 구조화한다.
바로 입력층(Input layer) / 은닉층(중간층,Hidden layer) / 출력층(Output layer) 이다.
1)입력층
- 데이터 셋으로부터 입력을 받음.
- 어떤 계산도 수행하지 않고, 그냥 값들을 전달하기만 하는 특징을 갖음.
2)은닉층
- 은닉층에 있는 계산 결과를 사용자가 볼 수 없기 때문에 은닉(Hidden)층이라 불림
- 핵심적인 연산이 은닉층에서 일어남
- 은닉층을 여러층 쌓아서 심층(Deep) 신경망을 만듦. Deep learning은 두 개 이상의 은닉층을 쌓았다는 뜻.
3)출력층
- 신경망의 제일 마지막 층
- 출력층의 인공뉴런(노드)는 분류하고자 하는 수만큼 존재함.
4. 인공신경망의 작동 원리 : 가중치와 임계값을 정하는 과정.
인공신경망을 활용해 아주 간단한 이미지를 분류하는 예시를 보자. 4*3의 화소 이미지를 인공신경망으로 처리하기 위해 각 픽셀값을 수집하는 입력층이 12개가 필요하다. 위의 경우에 흰색 부분은 0, 검은색 부분은 1로 데이터를 수집할 것이다. 입력층의 노드들은 은닉층으로 0 또는 1의 데이터를 보낸다. 은닉층의 노드는 이 데이터를 가중치의 선형합으로 받아드린다. 이후 입력의 선형합(S)에서 임계값을 뺀 값(S-ɵ)을 활성화함수(f=a(S-ɵ))를 통해 출력층으로 보낸다. 출력층에선 은닉층에서 보낸 값을 다시 가중치의 선형합으로 최종 처리한 후 해당 데이터가 0인지 1인지를 분류하여 정답과 비교한다. 정답과 가까울수록 오차는 0, 정답과 멀수록 오차는 커진다. 그러면 인공신경망은 오차를 최소화(0에 최대한 가까워지게)하기 위해 스스로 가중치와 임계값을 조절한다. 이것이 인공신경망의 핵심 작동원리이다.
결국 인공신경망은 정답과의 오차를 최소화 하기 위해 가중치와 임계값을 조절하는 과정이다. 이 과정을 '최적화'라고 한다.
'교육은 한 사람의 인생을 바꾼다 > AI교육' 카테고리의 다른 글
인공신경망의 이해 : Deep Knowledge Tracing(DKT) (0) | 2023.01.28 |
---|---|
인공신경망의 이해 : RNN ( 순환 신경망) (0) | 2023.01.27 |
인공신경망의 이해 : 생존이라는 강화학습 (0) | 2023.01.25 |
오렌지(orange) 머신러닝 핵심 위젯 파악 (0) | 2023.01.24 |
확률과 통계 기반의 다양한 AI 알고리즘 (0) | 2023.01.23 |
댓글