Main Content

softmax

소프트맥스 전달 함수

설명

딥러닝을 위해 소프트맥스 활성화를 사용하려면 softmaxLayer 메서드 소프트맥스 또는 dlarray 메서드 소프트맥스를 사용하십시오.

A = softmax(N)은 순 입력 벡터(열 벡터)로 구성된 S×Q 행렬 N을 받아 N의 각 열에 적용되는 소프트맥스 경쟁 함수로 구성된 S×Q 행렬 A를 반환합니다.

Diagram showing the softmax function applied to a vector of four inputs. The function maps the input vector 0, 1, -0.5, 0.5 to the output vector 0.17, 0.46, 0.1, 0.28.

softmax는 신경 전달 함수입니다. 전달 함수는 계층의 순 입력값으로부터 계층의 출력값을 계산합니다.

예제

info = softmax(code)는 이 함수에 대한 정보를 반환합니다. 자세한 내용은 code 인수 설명을 참조하십시오.

예제

모두 축소

이 예제에서는 입력 행렬의 소프트맥스 전달 함수를 계산하고 플로팅하는 방법을 보여줍니다.

입력 행렬 n을 만듭니다. 그런 다음 softmax 함수를 호출하고 결과를 플로팅합니다.

n = [0; 1; -0.5; 0.5];
a = softmax(n);
subplot(2,1,1), bar(n), ylabel('n')
subplot(2,1,2), bar(a), ylabel('a')

이 전달 함수를 신경망의 계층 i에 할당합니다.

net.layers{i}.transferFcn = 'softmax';

입력 인수

모두 축소

순 입력 열 벡터로, S×Q 행렬로 지정됩니다.

함수에서 가져오려는 정보로, 다음 중 하나로 지정됩니다.

  • 'name'은 이 함수의 이름을 반환합니다.

  • 'output'은 출력 범위 [min max]를 반환합니다.

  • 'active'는 활성 입력 범위 [min max]를 반환합니다.

  • 'fullderiv'dA_dNS×S×Q인지 아니면 S×Q인지에 따라 1 또는 0을 반환합니다.

  • 'fpnames'는 함수 파라미터의 이름을 반환합니다.

  • 'fpdefaults'는 디폴트 함수 파라미터를 반환합니다.

출력 인수

모두 축소

출력 행렬로, N의 각 열에 적용되는 소프트맥스 경쟁 함수로 구성된 S×Q 행렬로 반환됩니다.

code 인수에 지정된 옵션에 따른 함수에 대한 특정 정보로, 문자열, 벡터 또는 스칼라로 반환됩니다.

알고리즘

a = softmax(n) = exp(n)/sum(exp(n))

버전 내역

R2006a 이전에 개발됨

참고 항목

|