Posted by
Gyeongmin Kim
on November 06, 2019 ·
3 mins read
Document
신경망 학습
학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것
이미지에서 특징(feature)를 추출하고 그 특징의 패턴을 학습시킨다.
Deep Learning에서는 현재의 상태를 '하나의 지표'로 표현합니다. 그 지표를 가장 좋게 만들어주는 매개변수의 값을 탐색하는 것입니다.
그 지표를 손실함수라고 합니다. 가장 많이 쓰이는 손실 함수는 평균 제곱 오차입니다.
용어 정리
Perceptron
퍼셉트론은 여러 개의 입력된 정보에 대해 가중치 합을 계산해 출력 정보를 생성한다. 가중치는 훈련 과정에서 결정되며 훈련 데이터를 기반으로 한다.
활성화 함수
활성화 함수는 신경망을 비선형으로 만들고 퍼셉트론 신호 출력 여부를 결정한다. 이 과정에서 함수는 gradient를 조정하는데 중요한 역할을 한다.
Sigmoid
매끈해진 계단 함수라 할 수 있으며 미분 가능하다. 모든 값을 확률로 변환하는데 유용하며 이진 분류에 사용할 수 있다.
tanh
Sigmoid와 같이 매끈하며 미분 가능하다. gradient는 sigmoid에 비해 안정적이므로 gradient 소실 문제가 발생할 가능성이 적다.
ReLU
ReLU는 큰 숫자를 통과시킬 수 있다. 일부 뉴런을 무효화하며, 해당 뉴런들은 신호를 출력하지 않는다. 항상 신호를 출력하지 않기 때문에 더 빠르게 훈련가능하다.
인공 신경망(ANN)
ANN은 Perceptron과 활성화 함수의 집합이다. 연결된 Perceptron은 은닉층 또는 은닉 유닛을 형성한다. 은닉 유닛은 입력층을 저차원 공간의 출력층에 매핑하는 비선형 구조를 형성하며 인공 신경망이라고도 불린다. ANN은 편향과 함께 입력 신호의 가중치 합을 계산한다. 가중치와 편향 값, 구조까지 모두 통틀어서 모델이라고 한다. 훈련 과정은 이러한 가중치와 편향 값을 결정한다. 여러 input은 Perceptron의 은닉층을 통해 전달돼 output으로 합산된다.
One-hot Encoding
대상 클래스의 인덱스 위치만 1이고 나머지는 모두 0으로 채워진 벡터이다.
Softmax
Softmax는 신경망 출력의 총합이 1이 되도록 하는 활성화 함수이다. 그러므로 Softmax의 output을 확률 분포의 일부로 해석 가능하다.
교차 엔트로피
Softmax와 One-hot Encoding 사이의 출력 간 거리를 비교한다. 손실 함수로 오류를 최소화해야 한다.
드롭 아웃
ANN의 오버피팅을 방지하기 위해 신경망을 정규화하는 효과적인 방법이다. 은닛 유닛을 임의적으로 삭제하면서 신경망을 손상시킨다. 이를 반복하며 매번 다른 모델 구조를 얻게 된다.
배치 정규화
신경망 훈련의 안정성과 성능을 향상시킨다. 레이어의 출력은 평균 0과 표준 편차 1로 정규화한다. 오버피팅을 억제하고 훈련 속도를 향상시킨다.
L1 및 L2 정규화
L1은 가중치의 절댓값에 대해 페널티를 부과하고 가중치를 0으로 만든다. L2는 가중치의 제곱 값에 페널티를 부과하고 훈련을 진행하는 중에 가중치의 크기를 작게 만든다. 정규화 방법 모두 가중치 크기가 작을수록 더 좋은 모델이라 여긴다.
신경망 학습
오차역전파법
오차역전파법은 가중치는 계산된 오차를 기반으로 역방향으로 갱신되거나 수정된다.
경사하강법
경사하강법은 다차원 최적화를 수행한다. 목표는 전역 최댓값에 도달하는 것이다. 모델 예측을 개선하거나 최적화하는데 사용된다.
Convolutional Neural Network
일반 신경망은 입력 신호와 뉴런이 전부 다음 레이어에 완전하게 연결된다. 동일한 레이어의 뉴런은 어떤 연결도 공유하지 않는다. 그러므로 이미지를 일반 신경망으로 사용할 경우 오버피팅이 발생하고 모델 크기가 커진다. 컨볼루션 신경망(CNN) 필터는 변환으로 인코딩한다. 학습된 필터는 이미지의 특징 또는 패턴을 검출한다.
Pooling
Pooling Layer는 샘플링을 통해 레이어의 이미지 크기를 줄인다. 영역 내 최댓값을 선택해 샘플링한다.