신경망을 구현할 때 행렬을 사용하여 구현할 수 있습니다.
출력층에서는 문제에 따라 다른 활성화 함수를 사용하는데,
회귀에는 항등 함수를, 분류에는 소프트맥수 함수를 사용합니다.
분류는 데이터가 어느 클래스에 속하는지 해결하는 문제입니다.
성별을 분류하거나, 어떤 동물인지 분류하는 것 등을 예로 들 수 있습니다.
분류에서는 출력층의 뉴런 수를 분류하려는 클래스 수와 같게 설정합니다.
예를 들면 숫자 분류를 하려면 클래스가 0~9까지 10개이니 출력층의 뉴런 수는 10개가 되어야합니다.
회귀는 입력한 데이터를 통해 연속적인 수치를 예측하는 문제입니다.
예를 들면 사진 속 인물의 몸무게, 키 같이 연속적인 데이터가 출력으로 나오는 문제를 예측하는 것이 회귀입니다.
항등 함수는 입력을 그대로 출력하는 함수입니다.
소프트맥수 함수는 출력을 0-1까지의 값으로 정규화하여 출력 값들의 합이 1이 되는 함수입니다.
전처리는 신경망에 넣을 입력 데이터에 특정한 변환을 하는 것입니다.
전처리에는 정규화와 데이터 백색화 등이 있습니다.
정규화는 데이터를 특정 범위로 변환하는 것을 말합니다.
예를 들어 데이터 값들을 모두 0에서 1까지의 값으로 변환하는 소프트 맥스가 있습니다.
데이터 백색화는 전체 데이터를 균일하게 분포시키는 것을 말합니다.
배치( batch )는 입력 데이터를 하나로 묶어 보내는 것입니다.
예를 들어 하나의 이미지 파일을 처리하는 것보다, 100개를 한 번에 묶어서 보내 처리하는 것입니다.
이러면 입출력(I/O) 장치의 병목 현상을 조금 더 피할 수 있고,
수치 계산 라이브러리들이 큰 배열의 계산에 특화되어 있어서 이미지당 처리 시간을 줄일 수 있습니다.
'Coding > DeepLearning' 카테고리의 다른 글
학습 관련 기술들 - 최적화 (0) | 2020.03.10 |
---|---|
오차역전파법 ( 내용 추가 중 ) (0) | 2020.03.10 |
신경망 학습 (0) | 2020.03.08 |
신경망 Neural network 이란? - 1 (0) | 2020.02.29 |
Perceptron 퍼셉트론이란? (0) | 2020.02.29 |