신경망 안정성을 개선하려면 어떻게합니까?


11

R의 신경망을 사용하여 14 개의 입력과 하나의 출력으로 NN을 구축하고 있습니다. 동일한 입력 교육 데이터와 동일한 네트워크 아키텍처 / 설정을 사용하여 네트워크를 여러 번 빌드 / 트레이닝합니다.

각 네트워크가 생성 된 후 독립 테스트 데이터 세트에서이를 사용하여 일부 예측 값을 계산합니다. 네트워크를 구축 할 때마다 모든 입력 (훈련 데이터 및 테스트 데이터)이 동일하게 유지되지만 예측 된 데이터의 각 반복에 큰 차이가 있음을 발견했습니다.

나는 매번 NN 내에서 생성 된 가중치에 차이가 있고 두 개의 신경망이 동일하지 않다는 것을 이해하지만, 동일한 데이터가 주어지면 각 열차에서 더 일관된 네트워크를 만들려면 어떻게해야합니까?


귀하 (또는 R 패키지)가 사용한 학습 알고리즘 및 아키텍처에 대해 좀 더 자세히 설명해 주시겠습니까? NN에는 몇 개의 레이어가 있습니까?
Lucas

안녕 루카스, 나는 R 패키지 neuralnet를 사용하고 링크를 여기에 좋은 설명 기사가 링크를 . 8 개 뉴런의 숨겨진 레이어를 사용하고 있습니다. 학습 알고리즘은 가중치 역 추적을 통한 탄력적 인 역 전파입니다.
tfb

답변:


8

일반적으로 숨겨진 노드 수를 늘리고 적절한 무게 감소 (일명 리지 페널티)를 사용하면 안정성이 향상됩니다.

특히, caret패키지를 사용 하여 정확도 (정확도의 불확실성)를 더 잘 이해하는 것이 좋습니다 . 또한 avNNet초기 시드의 영향을 줄이기 위해 앙상블 학습자를 여러 신경망에서 배제하는 것이 중요합니다. 나는 개인적으로 큰 개선을 보지 못했지만 avNNet원래 질문을 해결할 수 있습니다.

또한 입력이 모두 올바르게 조정되어 있는지 확인합니다. 직교 화 한 다음 크기를 다시 조정 했습니까? 캐럿은 기능을 통해이 전처리를 수행 할 수도 pcaNNet있습니다.

마지막으로 일부 스킵 레이어 연결에서 던지기를 고려할 수 있습니다. 이러한 연결을 왜곡하려면 데이터에 특이 치 / 레버리지 지점이 없어야합니다.


흥미롭게도 나는 net의 훈련을 'nnet'함수 (같은 이름의 패키지에서 사용 가능)로 바꾸었고 테스트 데이터 세트의 결과가 훨씬 안정적이되었습니다-아마도 무게가 다른 방식과 관련이 있습니다. 두 패키지 사이에서 초기화 되었습니까?
tfb

에서 nnet내가 올바르게 기억 초기 가중치 모두 균일 한 임의의 숫자를 사이에 -0.7과 0.7 초기화됩니다. 그리고 매개 변수의 크기를 제어 할 수 있습니다. 나는 솔직히 nnet패키지와 함께 운이 좋았으며 다른 옵션을 시도하지 않았습니다. 행운을 빌어 요!
시어 파크

1

나는 R과 함께 일하지 않았으므로 더 일반적인 팁 만 줄 수 있습니다.

알고리즘이 수렴되었는지 확인 했습니까? 가능한 한 가지 설명은 서로 다른 매개 변수 세트가 모두 같은 최적의 반쯤에 있다는 것입니다.

알고리즘이 항상 수렴하지만 다른 로컬 최적으로 수렴하면 이러한 방법을 피하려고 시도 할 수있는 많은 휴리스틱이 있습니다. SGD ( stochastic gradient descent )를 사용할 때 간단한 전략 중 하나 는 더 작은 배치와 더 큰 운동량 을 사용하는 것 입니다. 배치 크기가 작을수록 교육에 약간의 소음이 발생하여 일부 로컬 최적화를 벗어날 수 있습니다. 훨씬 더 복잡한 전략은 자동 인코더를 사용하여 가중치를 초기화하는 것 입니다.


은 참고하시기 바랍니다만큼 그가를 사용하고만큼 nnet기본 R에서, 그것은 R의에서 BFGS의 최적화 방법을 사용합니다 optim. 실제로 표면의 그림을 얻기 위해 그라디언트를 계산합니다. 구현에는 배치 처리 및 고정 모멘텀 매개 변수가 없습니다. 모든 것을 말하면 쉽게 수렴하지 못할 수 있습니다. 특히 쓰레기가 들어갑니다.
Shea Parkes

의견과 답변 Shea에 @SheaParkes 감사합니다. 실제로 신경망 패키지를 사용하고 있습니다-위의 주석을 참조하십시오. 가중치 역 추적 기능이있는 복원성 역 전파 알고리즘을 사용합니다
tfb

그 다음 내 사과 루카스, 나는 그 골칫거리를 놓쳤다. 나는 그것이 당신이 tfb를 해결하게되어 기쁘다.
시어 파크
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.