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