#1 개념
1-1. 인공신경망
인공신경망(Arificial Neural Network)는 생물학적 뉴런이 작동하는 방식에서 영감을 받은 수학적 모델이다. 이 모델은 입력 데이터를 받아 처리하여 출력값을 반환하는 것을 목적으로 한다. 인공 신경망은 여러 개의 계층으로 구성되며, 각 계층은 뉴런이라 불리는 단위로 구성 된다.
1-2. 다층 퍼셉트론
인공신경망의 가장 기본적인 형태는 입력 계층과 출력 계층으로 이루어진 단순 퍼셉트론이다. 여기서 (여러 개의) 은닉 계층이 추가되면 이를 다층 퍼셉트론(Multilayer perceptron, MLP)라 하며, 각 뉴런은 입력과 가중치를 곱하고 편향을 더한 후 활성화 함수를 적용하여 출력을 생성한다. 이런 식으로 입력에서 출력까지 데이터가 전달되며, 학습 알고리즘을 사용하여 신경망이 원하는 출력에 가깝게 학습된다. 우리가 흔히 말하는 딥러닝의 과정이 다층 퍼셉트론인 것이다.
#2 모델
2-1. 기본 형태
인공신경망은 주어진 입력값에 대해 원하는 출력을 생성하는 수학적 모델이다. 인공신경망의 가장 기본적이고 단순한 형태는 선형회귀로 볼 수 있다. 선형회귀는 하나의 계층으로 이루어져 선형 함수를 학습하는 모델으로 다음 입력값을 선형 모델을 통해 예측할 수 있다.
일반적인 모델의 학습은 활성화 함수 -> 손실 함수 -> 최적화 -> 정규화의 과정을 따르며 활성화 함수 단계를 제외 하면 앞서 설명했던 선형회귀와 같은 순서이다. 순서는 엄밀하게 고정되지 않고 유연하게 바뀔 수 있으며, 한 알고리즘이 다른 단계를 포함하기도 한다.
2-2. 활성화 함수
하지만 실제로 인공신경망이 학습하는 것은 단순히 점 사이의 선을 학습하는 것이 아닌 패턴이나 이미지, 음성, 텍스트 등 다양한 분야에서 학습을 시도한다. 하지만 단일 계층의 선형함수의 형태로는 이러한 학습이 어렵기 때문에 여러 계층으로 비선형 함수를 학습할 수 있어야 한다. 이를 위해 다층 퍼셉트론에서는 비선형 함수를 학습할 수 있도록 선형 함수로 변환하는 역할인 활성화 함수를 사용하고, 변환된 선형 함수들을 다층으로 학습하여 원하는 출력값을 생성하도록 한다.
다양한 활성화 함수의 예시는 다음과 같으며 각각의 원리를 통해 비선형 변환을 수행한다.
- Sigmoid: 입력값을 0과 1 범위로 압축, 입력 값이 매우 크거나 작을 때 경사가 급격하게 감소하여 그래디언트 손실 문제가 발생, 주로 이진 분류 문제에서 출력층의 활성화 함수로 사용
- Hyperbolic Tangent Function (tanh): 입력값을 -1과 1 범위로 압축, 입력 값이 매우 크거나 작을 때 경사가 급격하게 감소하여 그래디언트 손실 문제가 발생, 주로 RNN이나 은닉층의 활성화 함수로 사용
- Rectified Linear Unit (ReLU): 입력값이 0보다 크면 그대로 반환하고 0보다 작으면 0으로 변환, 학습 속도가 매우 빠르고 구현이 간단하여 일반적으로 은닉층의 활성화 함수로 많이 사용, 입력이 음수일 때 출력이 0이 되어 dying ReLU 문제 발생
- Leaky ReLU: 입력값이 0보다 크면 그대로 반환하고 0보다 작으면 작은 양수로 반환, 일반적으로 -0.01과 같은 기울기 사용, dying ReLU 문제 해결을 통해 ReLU보다 성능이 좋음
2-3. 정규화
모델은 학습 데이터를 통해 훈련을 하기 때문에 일반적인 상황과의 거리가 멀 수 있다. 따라서 정규화를 통해 모델에서 발생하는 training error가 아닌 generalization error를 감소시켜야 한다.
정규화는 아래의 과정을 거쳐 진행한다.
- Dropout: 신경망의 일부 유닛을 무작위로 선택하여 학습 과정에서 제외, 네트워크가 특정 뉴런에 의존하지 않도록 하여 일반화 성능을 향상시킴, 학습 할 때마다 무작위로 일부 뉴런을 선택하여 학습 참여에 제외하고 테스트 할 때는 모든 뉴런 사용
- Data Augmentation: 데이터 증강은 학습 데이터셋을 변형하여 모델이 다양한 상황에서 더 강건하게 학습되도록 하는 기법, 예를 들어 이미지의 경우 회전, 이동, 크기 조정, 반전 등의 변환
- Label Smoothing: 신경망의 출력값에 대한 부정확성을 강제하는 기법
3. 구현
귀찮다....
'컴퓨터 과학 > 인공지능' 카테고리의 다른 글
Transformer (0) | 2024.05.14 |
---|---|
선형 회귀 (Linear Regression) (1) | 2024.04.30 |