주요 콘텐츠

softmax

(제거될 예정임) 소프트맥스 전달 함수

softmax 함수는 향후 릴리스에서 제거될 예정입니다. 자세한 내용은 Transition Legacy Neural Network Code to dlnetwork Workflows 항목을 참조하십시오.

코드 업데이트에 대한 자세한 지침은 버전 내역 항목을 참조하십시오.

설명

딥러닝을 위해 소프트맥스 활성화를 사용하려면 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 이전에 개발됨

모두 확장