신경망에서“자유도”란 무엇을 의미합니까?


17

주교의 책 "패턴 분류 및 기계 학습"에서 신경망의 맥락에서 정규화하는 기술을 설명합니다. 그러나 훈련 과정에서 모델의 복잡성과 함께 자유도가 증가한다는 단락을 이해하지 못합니다. 관련 인용문은 다음과 같습니다.

네트워크의 효과적인 복잡성을 제어하는 ​​방법으로 정규화의 대안은 조기 중지 절차입니다. 비선형 네트워크 모델의 학습은 일련의 학습 데이터와 관련하여 정의 된 오류 함수의 반복 감소에 해당합니다. 켤레 그라디언트와 같은 네트워크 교육에 사용되는 많은 최적화 알고리즘의 경우 오류는 반복 인덱스의 비 증가 함수입니다. 그러나 일반적으로 유효성 검사 세트라고하는 독립 데이터와 관련하여 측정 된 오류는 종종 처음에는 감소한 다음 네트워크가 과적 합되기 시작하면 증가합니다. 따라서 일반화 성능이 좋은 네트워크를 얻기 위해 그림 5.12에 표시된대로 유효성 검사 데이터 세트와 관련하여 가장 작은 오류 지점에서 교육을 중단 할 수 있습니다.이 경우 네트워크의 동작은 때로는 네트워크의 유효 자유도 측면에서 질적으로 설명됩니다.이 숫자는 작게 시작한 다음 훈련 과정에서 꾸준히 증가하여 효과가 꾸준히 증가합니다. 모델의 복잡성.

또한 훈련 과정에서 매개 변수의 수가 증가한다고 말합니다. 나는 "매개 변수"에 의해 네트워크의 숨겨진 단위에 의해 제어되는 가중치의 수를 의미한다고 가정했습니다. 정규화 프로세스에 의해 가중치가 커지는 것을 방지하기 때문에 잘못되었을 수도 있지만 숫자는 변하지 않습니다. 적절한 수의 숨겨진 유닛을 찾는 과정을 언급하고 있습니까?

신경망에서 자유도는 얼마입니까? 훈련 중에 어떤 매개 변수가 증가합니까?


1
명명법. 매개 변수는 단일 가중치입니다. 증가하는 매개 변수의 수는 "뉴런"또는 "뉴런 간의 연결"수가 증가 함을 의미합니다. 이는 토폴로지가 일정하지 않음을 의미합니다.
EngrStudent-복직 모니카

감사! 그런데 왜 훈련이 웨이트 수를 증가 시키는가?
Robert Smith

실제로 훈련 중에 신경망의 구조를 조작하는 훈련 알고리즘이 있습니다 (Cascade Correlation, NEAT 등). 그들은 보통 지속적으로 무게의 수를 증가시킵니다. 그러나 나는 주교가 그의 책에서 그것을 언급하지 않는다고 생각합니다.
alfa

@alfa 흥미있는. 나는 전체 책을 아직 읽지 않았으므로 그런 종류의 알고리즘을 언급하는지 모르겠습니다. 나는 그것이 책의이 부분에서 그것들을 언급한다고 생각하지 않습니다.
Robert Smith

답변:


12

이것이 주교가 의미하는 바라고 생각합니다.

신경망을 입력을 출력에 매핑하는 함수로 생각하면 작은 임의 가중치로 신경망을 처음 초기화하면 신경망은 선형 함수처럼 보입니다. S 자형 활성화 함수는 0에 대해 선형에 가깝고 (Taylor 확장 만 수행), 작은 들어오는 가중치는 각 숨겨진 단위의 유효 도메인이 0에 대한 작은 간격을 보장하므로 전체 신경망 수에 관계없이 당신이 가진 레이어는 선형 함수와 매우 유사합니다. 따라서 신경망을 적은 자유도 (입력의 차원과 동일)를 갖는 것으로 경험적으로 설명 할 수 있습니다. 신경망을 훈련함에 따라 가중치는 임의로 커질 수 있으며 신경망은 임의의 비선형 함수에 더 가깝습니다. 훈련이 진행됨에 따라


답변 주셔서 감사합니다. 이 책의 관련 부분을 인용문으로 추가하여 컨텍스트를 볼 수 있습니다. 그래도 귀하의 제안을 확인하는지 확실하지 않습니다.
Robert Smith

그렇습니다. 비숍이 생각한 것을 확인시켜줍니다.
Marc Shivers

답을 몇 번 읽은 결과, 훈련이 진행되고 모델이 과적 합되기 시작함에 따라 모델이 대략적으로 잘 훈련 할 수있는 기능의 수는 훈련 데이터의 점과 거의 일치하지만 예측은 예측할 수 있기 때문에 실제로 추정 할 수있는 기능의 수가 줄어든 것 같습니다. ' 다른 점이나 유사한 데이터 세트에 적합하도록 일반화 할 수 없으므로 좋지 않습니다.
Robert Smith

4

"때때로 질적으로 설명했다"는 문구는 단순히 단순한 선형 회귀와 유사하다는 것을 암시합니다. 선형 회귀 모형에 항을 추가 할 때마다 모형에 자유도를 추가하고 오차항과 관련된 자유도를 뺍니다. 충분히 독립적 인 항을 모형에 넣으면 임의의 숫자로 이력을 완벽하게 "예측"할 수 있지만 미래를 완전히 예측할 수는 없습니다.


3

복잡한 통계 학습 모델에 대한 자유도 문제는 Ye 1998 JASA 에서 논의되었습니다 . 기본적으로 아이디어는 신경망과 같은 복잡한 모델의 출력이 입력의 단위 변경에 얼마나 반응 하는지를 보는 것입니다. 복잡성의 모델 자유도되도록 선형 모델의 관계는 unsurpisingly 일대일 인 (회귀 수)이고 , p는pp. 더 복잡한 모델 (예 : 회귀 트리로 간주)의 경우, 추가 노드를 추가하면 CART 모델이 분할하기에 좋은 변수와 분할 점을 찾을 수 있으므로 유연성이 향상됩니다. 그것은 선형 모델에 회귀자를 추가하는 것보다 더 많은 방법이며, 회귀 트리는 노드 당 약 3.5-4 dfs를 소비하는 것으로 나타났습니다. 신경망은 그 사이 어딘가에있을 수 있지만 자유도는 반드시 단위 수보다 훨씬 크며 가중치 수보다 클 수 있습니다.

HTF Sec 이 비슷한 것을 제공했다고 생각합니다 . 비록 놀랍게도 Ye (1998)를 언급하지는 않았지만 7.6 . 그러나 그들은 주교를 특별한 경우라고 부릅니다.


1
감사. 그것은 옳은 것처럼 보이지만 신경망 훈련과의 관계는 어떻습니까? 96 페이지의 "통계학 학습 요소"( docs.google.com/… )에서 자유 도와 공분산 정도와 관련된 표현을 찾았으며 더 많은 훈련이 오류 함수를 줄이고 결과적으로 공분산을 증가시키는 이유를 알 수 있습니다. 자유도. 그러나 왜 그 방정식 (이 책의 3.60)이 유지되는지 이해하지 못합니다.
Robert Smith

그건 그렇고, 그것은 또한 Ye의 논문에서 이야기 한 (일반화 된) 자유도의 정의와 약간 다르게 보입니다.
Robert Smith

1
그 공분산을 대략적인 미분 버전으로 생각할 수 있다고 생각합니다. 아니면 다른 방법 일 수도 있습니다. 단계의 크기가 0으로 제한되는 한계로 정의 된 미분은 외란의 분산으로서의 공분산은 0이됩니다. 방정식 (3.60)은 유지할 필요가 없으며 정의 이므로 유지할 것이 없습니다. 무엇 합니까 보류 그들이 다음 페이지에 간략하게 언급 선형 모델 DFS의 표준 정의와 등가이며, 그것은 단순히 선형 모델의 선형 대수학입니다. Ye (1998)도 이에 대해 이야기해야합니다.
StasK

3

그는 "네트워크의 효과적인 복잡성"이라고 말합니다. 그는 실제로 네트워크 가중치의 크기를 말합니다. 이것은 최소 설명 길이 원칙 으로 이해 될 수 있습니다 . 그러나 그것에 들어가기 전에, 직감은 가중치가 클수록 네트워크에 맞는 다른 종류의 기능이 가능하므로 자유도 (및 효과적인 복잡성)가 높아진다는 것입니다.

이 장에서 그는 가중치를 가능한 한 작게 요구함으로써 과적 합의 위험을 효과적으로 줄이는 기술인 정규화에 대해 이야기하고 있습니다. 일반적으로

p(D|w)=np(tn|xn,w)=nexp(β2[tny(xn,w)]2)/ZD(β)
wZD(β)

p(w)=exp(α||w||22)/ZW(α)
argmaxwp(w|D)

(|)=(|)()

인수β2[와이(엑스,)]2+α2나는나는2

보다 일반적으로 MAP 추정치는 다음과 같습니다.

미디엄=아르 민영형2(|)영형2()

표현식의 오른쪽은 분류자를 설명하는 데 필요한 비트 수로 해석 될 수 있습니다. 첫 번째 용어는 네트워크가 교육 데이터에서 수행하는 오류를 코딩하는 데 필요한 비트 수를 나타냅니다. 두 번째는 가중치를 코딩하는 데 필요한 비트 수를 나타냅니다.

MAP 추정값은 가능한 가장 컴팩트 한 표현을 선택하는 것과 같습니다. 다시 말해, 가장 적은 수의 비트로 표현할 수있는 훈련 데이터를 가능한 한 충실하게 설명하는 가중치 집합을 찾습니다.

이것은 편향 / 분산 문제의 또 다른 형태입니다. 네트워크가 훈련 데이터에 더 잘 맞을 수 있기 때문에 가중치가 클수록 첫 번째 용어는 낮아집니다. 그러나 동시에 가중치의 복잡성이 높아집니다. 가중치가 작을수록 네트워크의 복잡성은 작아 지지만 오류 항 (바이어스)은 높아집니다. 네트워크 오류를 코딩하는 데 필요한 비트 수가 더 높습니다.

이것이 그가 당신이 말하는 것에 대한 충분한 아이디어를 제공하기를 바랍니다.

추신 : 진행중인 토론에 더 긴 논쟁 추가 마지막으로 설명해 드리겠습니다.

가중치에 대한 선행은 적합하고자하는 기능에 대한 가정을 나타냅니다. 이전 (즉, 가중치)이 클수록 가우시안이 넓어집니다. 즉, 네트워크에 맞추기 위해 더 많은 구성을 고려합니다.

회귀 사건을 고려해 봅시다 (내가 언급 한 논문에서와 같이). 낮은 일반화 오류는 네트워크가 보이지 않는 샘플을 실제 값에 매우 가깝게 매핑 할 수 있음을 의미합니다. 직선을 피팅하는 경우 1 차 다항식이면 충분합니다 (낮은 복잡도). 이제 고차 다항식으로 데이터를 맞출 수 있습니다 (고차 계수가 0과 다름). 더 복잡한 곡선을 위해 진동을 허용하기 때문에 네트워크의 복잡성이 더 높습니다. 그럼에도 불구하고, 고차 항에 해당하는 계수가 충분히 낮 으면 네트워크가 직선에 매우 근접 할 수 있으므로 일반화가 양호합니다.

따라서 일반화 오류를 최소화 할 수있는 한 MDL의 요점은 가능한 한 가중을 작게 만드는 것입니다.

마지막으로 다음과 같이 인용합니다. "여전히 모델이 과적 합하기 시작하면 다른 기능을 모델링하는 기능이 증가한다는 주장이 번거 롭습니다. 과적 합 모델은 새로운 것에 적용 할 수 없기 때문에 그 반대라고 생각합니다. 정보.". 예, 더 복잡한 다른 함수를 모델링 할 수 있지만 해당 함수를 올바르게 모델링하지 못합니다. 책의 그림 5.12에서 무게의 크기가 증가함에 따라 (편차 감소) 오류가 먼저 감소합니다. 다시 증가하기 시작할 때 지정된 시점까지 (일반화 감소, 과잉 적합).


1
감사. 이것은 Marc의 아이디어와 비슷하지만 모델이 과적 합되기 시작하면 다른 기능을 모델링하는 기능이 증가한다는 주장에 여전히 문제가 있습니다. 과적 합 모델이 일반화되어 새로운 정보에 적용 할 수 없기 때문에 이는 정반대라고 생각합니다.
Robert Smith

1
Robert, 저는 일반화 오류의 의미 대 네트워크의 복잡성, 즉 더 복잡한 기능을 모델링하는 기능에 대한 오해라고 생각합니다. cbcl.mit.edu/projects/cbcl/publications/ps/… 와 같이 다른 용어를 설명하는 많은 논문이 있습니다 .
jpmuc

"복잡성"이라는 용어가 사용될 때 혼란스러워하지 않는다고 생각합니다. 미친 값을 가진 많은 가중치가 있으면 모델이 매우 복잡해지고 결과 플롯으로 즉시 알 수 있기 때문입니다. 반면에 광범위한 기능을 관리 할 수 ​​있으려면 과적 합을 피함으로써 얻을 수있는 데이터에서 일반화 할 수있는 모델이 필요합니다.
Robert Smith
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.