■ 소프트맥스 함수
마지막으로 소개할 소프트맥스 함수는 사실 활성화 함수는 아닙니다. 이 함수는 분류를 하는 인공 신경망의 마지막 부분, 즉 출력층에서 주로 사용되는 함수라서 언급하고 넘어가겠습니다.
앞에서 남자와 여자를 구분하는 인공 신경망을 만들려고 했습니다. 그렇다면 출력층의 노드는 몇 개일까요? 남자와 여자 이렇게 2개입니다.
그렇다면 인공지능은 최종 결과인 남자와 여자 중 어떤 값을 가리킬까요? 바로 남자 노드로 들어온 신호 세기와 여자 노드로 들어온 신호 세기 중 더 센 신호가 들어온 곳의 노드를 정답으로 말하게 됩니다.
이때 남자 쪽에는 60이라는 값이, 여자 쪽에는 90이라는 값이 들어온다면 인공지능이 ‘여자’라고 말하는 것이죠. 하지만 이렇게 판단하면 100점 만점에 60과 90인지, 혹은 어떤 기준으로 두 숫자를 비교하는지 정확하게 알기 어렵습니다. 그렇기 때문에 정확하게 비교하려면 정규화(nomalization)라는 과정이 필요합니다.
TIP
여기에서 정규화는 특정한 범위를 지정하고, 데이터를 그 범위 중 하나로 바꾸어 주는 것입니다. 가장 작은 데이터를 0으로, 가장 큰 데이터를 1로 바꾸고 그 사이의 값을 크기에 따라 0과 1 사이 값으로 바꾸는 것이죠.