본문 바로가기
인공지능(AI)

[딥러닝 입문] 1. 인공 신경망의 구조

by LIZ0904 2021. 4. 7.
반응형

케라스(Keras)는 텐서플로(Tensorflow) 2.0 기반의 고수준 API로, 딥러닝 모델을 간단한 함수 형태로 구현하여 배우기 쉽고 성능도 뛰어나다. 인공 신경망은 뇌 신경계의 정보 처리 구조를 모방하여 만든 컴퓨터 계산 알고리즘이다. 

 

1. 활성화 함수

인공 신경망은 입력값을 가중치와 곱하고, 그 결과를 전부 더한다. 이렇게 가중 합산한 값을 활성화(activation) 함수에 입력하여 최종 출력으로 변환한다. 즉, 입력값들의 수학적 선형 결합을 다양한 형태의 비선형 결합으로 변환하는 역할을 한다. 근데 뭔소린지 모르겠다!

 

문제 유형 목표 레이블 활성화 함수
회귀 예측 연속형(숫자형) 선형(Linear)
이진 분류 이산형(범주형) 시그모이드(Sigmoid)
다중 분류 이산형(범주형) 소프트맥스(Softmax)

활성화 함수를 이용한 비선형 변환은 중요한 역할을 한다. 실제로 어떤 활성화 함수를 사용하는지에 따라 딥러닝의 예측력에 큰 차이가 발생한다. 문제 유형에 따라 위와 같이 다른 종류의 활성화 함수를 적용한다.

 

2. 손실 함수

손실 함수(loss function): 인공 신경망이 출력하는 값과 실제 정답과의 차이로, 작을수록 좋다.

문제 손실 함수
회귀 예측 평균 제곱 오차
이진 분류 이진 교차 엔트로피
다중 분류 범주형 교차 엔트로피

딥러닝 학습을 통해 인공 신경망의 출력값과 실제값을 비교해, 그 차이를 최소화하는 가중치와 편향의 조합을 찾는다. 일반적으로 상황에 따라 위의 손실함수를 적용한다.

 

3. 옵티마이저(최적화 알고리즘)

이차함수 그래프

손실 함수가 2차 함수와 같이 볼록 함수의 형태라면 미분을 통해 손실이 가장 작은 가중치를 찾을 수 있다. 즉, 미분해서 0이 되는 지점에서 가중치의 최소값을 찾을 수 있다.

 

 

경사하강법

하지만 딥러닝에서는 손실함수의 형태가 복잡하므로, 계산량이 매우 커지고 미분해서 0이 되는 값이 여러 개가 존재한다. 때문에 경사하강법과 같은 최적화 방법을 이용한다.

경사하강법(Gradient Desent Method): 손실 함수의 현재 위치에서 조금씩 손실이 낮아지는 쪽으로 가중치를 이동하면서 최소값을 찾는 방법

 

옵티마이저(Optimizer)는 손실함수를 최소화하는 방향으로 가중치를 갱신하는 알고리즘을 의미한다. 경사하강법에 기반을 둔 옵티마이저로는 SGD, RMSProp, Adagrad, Adam 등이 있다.

 

4. 다층 신경망(MLP: Multi-Layer Perceptron)

다층 신경망(MLP) 아키텍처

인공 신경망은 일반적으로 여러 레이어를 쌓아서 만든다. 입력 레이어와 출력 레이어가 신경망의 앞/뒤에 위치하고, 그 사이에 여러 층의 은닉 레이어를 배치한다.

 

각 레이어는 여러 개의 유닛(Unit)으로 구성되고, 각 유닛은 하나의 퍼셉트론(Perceptron)으로 이루어 진다. 각 유닛은 이력값과 가중치(weight)를 갖고 활성화 함수를 거쳐 출력을 내보낸다.

인접한 두 레이어의 각 유닛은 서로 가중치를 갖는 연결선을 통해 이어지고 일대일 대응 관계를 갖는다.

 

이처럼 복잡한 아키텍처를 사용하여 데이터에 내재된 복잡한 관계를 파악할 수 있다. 

반응형

'인공지능(AI)' 카테고리의 다른 글

[딥러닝 입문] 1. 인공 신경망의 구조  (0) 2021.04.07

댓글