활성화함수
말그대로, 입력 신호의 총합이 활성화를 일으키는지를 정하는 역할을 합니다. 즉, 입력된 데이터의 가중 합을 출력 신호로 변환하는 함수를 뜻합니다.
위는 활성화 함수의 처리과정을 나타내며, 가중치 신호를 조합한 결과가 a라는 노드가 되고, 활성화함수 h()를 통과하여 y라는 노드로 변환되는 과정입니다.
활성화함수의 종류
- 계단함수
- 계단함수는 입력신호가 0이하인 경우 전부 0으로 출력하며, 0을 초과할 때 1로 출력하는 함수를 말합니다.
- 시그모이드 함수
- h(x)식에 값을 대입했을 때, 아래와 같은 그래프가 나타납니다.
- 계단함수를 사용하지않고, 시그모이드를 사용하는 이유는 기계가 학습할 때 미분을 통해 학습을 하는데 계단함수의 경우 0을 제외하고 미분계수가 0이므로 신경망에서는 계단함수를 사용하지 않습니다.
- 렐루 함수
- 최근 많이 이용되는 활성화 함수로, 입력이 0을 넘으면 그 입력을 그대로 출력하고, 0이하면 0을 출력하는 함수입니다
인공 신경망의 계산과정
- 위의 사진들을 통해 인공신경망의 계산 과정을 볼 수 있습니다.
- 또한, 마지막 출력층에 소프트맥스함수를 통해 확률 벡터의 값을 얻을 수 있습니다.
- 벡터를, 지수함수를 적용하고 normalize하여 확률벡터로 변환합니다.
- 전체 벡터의 같은 수를 합치거나 뻬는 경우에도 동일한 확률 값이 나오므로, 이를 이용하여 너무 큰 수의 벡터에 대해 가장 큰 값을 동일하게 빼서, overflow를 방지할 수 있습니다.
MNIST를 통한 가볍게 해보는 인공신경망 실습
- MNIST는 손글씨로 된 이미지로 구성되어 있습니다.
- 각 이미지 별로 정답(라벨)이 있으며, 이미지는 28X28 해상도의 흑백 사진입니다.
- 컴퓨터는, 이미지를 이렇게 인식하고 있으며, 0~255로 픽셀의 밝기로 판단합니다
- 이를 신경망에 넣을 때는 한줄의 벡터의 형태로 만들어야합니다. 이를 Flatten이라고 합니다.
그래서 위와 같이 신경망이 학습을 합니다.
'딥러닝' 카테고리의 다른 글
밑바닥부터 시작하는 딥러닝(오차역전파법, affine층 역전파, simoid, Relu) (1) | 2021.11.11 |
---|---|
퍼셉트론과 인공신경망 (0) | 2021.09.23 |