다항 로지스틱 손실 대 (크로스 엔트로피 대 제곱 오류)


9

Caffe (딥 러닝 프레임 워크) 는 대부분의 모델 샘플 에서 출력 레이어 SoftmaxWithLossSoftmax Loss Layer 를 사용했습니다 .

내가 아는 한, Softmax Loss 레이어Multinomial Logistic Loss LayerSoftmax Layer 의 조합입니다 .

카페에서 그들은

Softmax Loss Layer 그래디언트 계산이 수치 적으로 더 안정적입니다

그러나이 설명은 내가 원하는 대답이 아닙니다. 설명은 레이어별로 다항식 로지스틱 손실 레이어Softmax 손실 레이어 의 조합을 비교하는 것입니다 . 그러나 다른 유형의 손실 함수와 비교하지 마십시오.

그러나 감독 학습 관점에서 다항 로지스틱 손실 , 교차 엔트로피 (CE) 및 제곱 오류 (SE) 인이 3 가지 오류 함수 의 차이점 / 장점 / 단점 은 무엇인지 더 알고 싶습니다 . 지지 기사가 있습니까?


1
힌트 : "caffe"태그를 질문에 추가하면 더 빠른 답변을 얻을 수있을 것 같습니다. 또한 stackexchange 대신 stackoverflow에 게시하면 더 많은 관심을 가질 수 있습니다).
mcExchange

1
이 조합을 통해 그래디언트를 쉽게 계산할 수 있습니다 y-t. willamette.edu/~gorr/classes/cs449/classify.html
Jingpeng Wu

답변:


11

제 생각에는 손실 함수는 신경망이 가중치를 최적화하기를 원하는 객관적인 함수입니다. 따라서 작업별로 다르며 경험적이기도합니다. 분명히 다항식 로지스틱 손실교차 엔트로피 손실 은 동일합니다 ( http://ufldl.stanford.edu/wiki/index.php/Softmax_Regression 참조 ). 다항 로지스틱 손실 의 비용 함수 는 다음과 같습니다. J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))].

일반적으로 분류 문제에 사용됩니다. 제곱 오차는 같은 식 갖는다 12Ni=1Nxi1xi222.

따라서 일반적으로 일부 구성 오류를 최소화하는 데 사용됩니다.

편집 : @MartinThoma 다항식 물류 손실의 위 공식은 이진 경우에만 해당되며 일반적인 경우 , 여기서 K는 카테고리 수입니다.J(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]


2
Caffe에서 MultinomialLogisticLoss 는 이므로 누가 잘못된 것입니까? 1Nn=1Nlog(pn,ln)
moi 2016

잘못된 것은 아닙니다. 는 이진 변수이므로 결국 공식으로 줄일 수 있습니다. yi
beahacker

multinomail 로지스틱 손실이 두 번째 소환 원이 없다고 생각했기 때문에J(θ)=1m[i=1my(i)loghθ(x(i))]
Martin Thoma

1
@MartinThoma 내 공식은 이진 경우에만 사용되며 일반적인 경우 이어야합니다.J(θ)=[i=1mk=1K1{y(i)=k}logP(y(i)=k|x(i);θ)]
beahacker

@beahacker Martin Thoma가 지적한 것처럼 두 번째 summand가 다항식 케이스에 포함되지 않은 이유를 알려주십시오. 왜 그런 짓을했는지 이해하려고합니다. 적어도 내가 살펴볼 자원을 알려줄 수 있습니까?
Nandeesh

2

지도 학습 관점에서 다항 로지스틱 손실, 교차 엔트로피 (CE) 및 제곱 오차 (SE) 인이 3 가지 오류 함수의 차이점 / 장점 / 단점이 무엇인지 더 알고 싶습니다.

다항 로지스틱 손실은 상호 엔트로피와 실질적으로 동일합니다. 이 함수 ( softmax 의 비용 함수 )를보십시오. 여기서 m은 샘플 번호이고 K는 클래스 번호입니다.

J(θ)=i=1mk=1K1{y(i)=k}logp(y(i)=kx(i);θ)

표시기 함수 ( )할지 여부를 결정 벨로 0 또는 1 인 크로스 엔트로피 정의 훈련 데이터 뜨거운 하나가 표시되고, 그리고 는 다음과 같이 softmax (q (x)의 조건부 가능성입니다.) 1{y(i)=k}p(x)p(y(i)=kx(i);θ)

xp(x)logq(x)

그리고 MSE는 링크 함수가 단일 함수 (응답 분포가 정규 분포를 따르는), 표준 선형 회귀 인 경우, 교차 엔트로피는 일반적으로 링크 함수가 로짓 함수 인 경우를위한 것입니다. 다음은 참조 할 수 있는 멋진 비교 입니다.

지지 기사가 있습니까?

링크에있는 링크를 제외하고 https://github.com/rasbt/python-machine-learning-book/blob/master/faq/softmax_regression.md를 참조하십시오.


1
이진 분류기에 적용되는 MSE를 브리 어 스코어라고합니다.
데이브

0

단기 답변 다른 답변에 따르면 다항 로지스틱 손실과 교차 엔트로피 손실은 동일합니다.

Cross Entropy Loss는 업데이트 방정식 에서 에 대한 의존성을 제거하기 위해 인공적으로 도입 된 시그 모이 드 활성화 기능을 가진 NN의 대체 비용 함수입니다 . 때때로이 용어는 학습 과정을 느리게합니다. 대체 방법은 정규화 된 비용 함수입니다.σ

이러한 유형의 네트워크에서는 출력으로 확률을 원하지만 다항식 네트워크의 시그 모이 드에서는 발생하지 않습니다. softmax 기능은 출력을 정규화하고 범위에서 강제로 출력합니다 . 이것은 예를 들어 MNIST 분류에서 유용 할 수 있습니다.[0,1]

몇 가지 통찰력을 가진 긴 대답

대답은 꽤 길지만 요약하려고합니다.

사용 된 최초의 현대 인공 뉴런은 그 기능이 다음과 같은 시그 모이 드입니다.

σ(x)=11+ex
는 다음과 같은 모양을 갖습니다. 여기에 이미지 설명을 입력하십시오

곡선은 출력이 범위에 있도록 보장하기 때문에 좋습니다 .[0,1]

비용 함수의 선택과 관련하여 자연 선택은 이차 비용 함수이며, 이의 파생 상품이 존재하며 최소값을 알고 있습니다.

이제 계층 과 함께 이차 비용 함수로 훈련 된 시그 모이 드가있는 NN을 고려하십시오 .L

입력 함수 에 대한 출력 레이어의 제곱 오차의 합으로 비용 함수를 정의합니다 .X

C=12NxNj=1K(yj(x)ajL(x))2

여기서 은 출력 레이어 의 j 번째 뉴런이고 , 는 원하는 출력이며, 은 트레이닝 예제의 수입니다.ajLLyjN

간단히하기 위해 단일 입력에 대한 오류를 고려해 봅시다 :

C=j=1K(yj(x)ajL(x))2

이제 레이어 의 뉴런에 대한 활성화 출력 은 다음과 같습니다.jaj

aj=kwjkaj1+bj=wjaj1+bj

대부분의 경우 (항상 그런 것은 아님) NN은 기본적으로 최소 방향으로 작은 단계로 가중치 및 바이어스 를 업데이트하는 그라디언트 디센트 기술 중 하나를 사용하여 학습됩니다. 목표는 비용 함수를 최소화하는 방향으로 무게와 바이어스에 약간의 변화를 적용하는 것입니다.wb

작은 단계의 경우 다음이 유지됩니다.

ΔCCviΔvi

우리의 는 가중치와 바이어스입니다. 비용 함수이기 때문에 우리는 최소화하고자합니다. 즉, 적절한 값 찾으십시오 . 우리가 선택한다고 가정 다음 : viΔvi

Δvi=ηCvi
ΔCη(Cvi)

즉, 매개 변수의 변경으로 인해 비용 함수가 감소했습니다 .ΔviΔC

번째 출력 뉴런을 고려하십시오 .j

C=12(y(x)ajL(x)2
ajL=σ=11+e(wjaj1+bj)

레이어 의 뉴런 에서 레이어의 번째 뉴런 까지의 가중치 인 가중치 을 업데이트한다고 가정 합니다 . 그리고 우리는 :wjkk1j

wjkwjkηCwjk
bjbjηCbj

연쇄 규칙을 사용하여 파생 상품을 가져옵니다.

Cwjk=(ajL(x)y(x))σak1
Cbj=(ajL(x)y(x))σ

S 자형의 미분에 대한 의존성을 볼 수 있습니다 (첫 번째는 두 번째 wrt 에서 wrt 이지만 둘 다 지수이기 때문에 많이 변경되지 않습니다).wb

이제 일반 단일 변수 시그 모이 드 대한 미분 은 다음과 같습니다. z

dσ(z)dz=σ(z)(1σ(z))

이제 단일 출력 뉴런을 고려하고 출력해야 당신이 신경을 가정 대신이에 값 가까운 출력됩니다 : 당신이 가까운 값의 시그 모이 것을 그래프에서 모두 볼 수 있습니다 평평하다, 즉 그 유도체에 가까운입니다 즉, 업데이트 방정식이 에 의존하기 때문에 매개 변수의 업데이트가 매우 느립니다 .0110σ

교차 엔트로피 기능의 동기

교차 엔트로피가 원래 유래 된 방법을보기 위해 라는 용어 가 학습 과정을 늦추고 있음을 발견했다고 가정 해 봅시다 . 라는 용어를 사라지게 하는 비용 함수를 선택할 수 있는지 궁금 할 것입니다 . 기본적으로 원하는 것 :σσ

Cw=x(ay)Cb=(ay)
우리가 연쇄 규칙 가입일은 : 연쇄 규칙 중 하나와 원하는 방정식을 비교하면 은폐 법 사용 :
Cb=Caab=Caσ(z)=Caσ(1σ)
Ca=aya(1a)
Ca=[ylna+(1y)ln(1a)]+const
전체 비용 함수를 얻으려면 모든 훈련 샘플 평균을 계산해야합니다. 여기서 상수는 각 훈련 예에 대한 개별 상수의 평균입니다.
Ca=1nx[ylna+(1y)ln(1a)]+const

정보 이론 분야에서 오는 교차 엔트로피를 해석하는 표준 방법이 있습니다. 대략적으로 말하면, 교차 엔트로피는 놀라움의 척도입니다. 출력 가 예상 한 것 ( )이면 놀라움이, 출력이 예상치 못한 경우 놀라움이 커집니다.ay

소프트 맥스

이진 분류의 경우 상호 엔트로피는 정보 이론의 정의와 유사하며 값은 여전히 ​​확률로 해석 될 수 있습니다.

다항식 분류를 사용하면 더 이상 유효하지 않습니다. 출력의 합은 최대 입니다.1

을 합산 하려면 softmax 함수를 사용하면 합이 이되도록 출력을 정규화합니다 .11

또한 출력 레이어가 softmax 함수로 구성되어 있으면 속도 저하 조건이 없습니다. softmax 출력 레이어와 함께 로그 우도 비용 함수를 사용하면 결과는 시그 모이 드 뉴런이있는 교차 엔트로피 함수에서 찾은 것과 유사한 부분 미분의 형태와 업데이트 방정식을 얻게됩니다.

하나

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.