2016-06-21 2 views
2

신경 네트워크를 작성하는 데 sknn 패키지를 사용하고 있습니다. 데이터 집합에 대한 신경망의 매개 변수를 최적화하기 위해 나는 진화 알고리즘을 사용하고 있습니다. 패키지는 각 레이어마다 다른 정품 인증 기능이있는 신경망을 만들 수있게 해 주므로 실제 선택인지, 아니면 인터넷 당 하나의 정품 인증 기능 만 사용해야하는지 궁금합니다. 신경망에 여러 가지 활성화 기능이 있거나 손상이 없거나 신경 네트워크에 도움이됩니까?여러 활성화 함수로 구성된 신경망

또한 내가 갖고 있어야하는 레이어 당 최대 뉴런 수와 그물 당 최대 레이어 수는 얼마입니까?

답변

1

신경망은 단지 (큰) 수학적 기능입니다. 동일한 레이어의 여러 뉴런에 대해 서로 다른 활성화 함수를 사용할 수도 있습니다. 상이한 활성화 함수는 상이한 비선형 성을 허용하며, 이는 특정 함수를 푸는데 더 효과적 일 수있다. 탄 (tanh)과 반대로 시그 모이 드 (sigmoid)를 사용하면 한계가 있습니다. 더 중요한 것은 활성화에 훌륭한 파생물이 있다는 것입니다. tanh 및 sigmoid가 일반적으로 사용되는 이유는 0에 가까운 값의 경우 선형 함수처럼 작용하지만 큰 절대 값의 경우에는 부호 함수 ((-1 또는 0) 또는 1)와 더 비슷하게 작동하며 좋은 파생 값을가집니다. 상대적으로 새로 도입 된 것은 ReLU (max (x, 0))로, 파생 함수가 매우 간단하고 (x = 0 제외), 비선형이지만 계산 속도가 빠르기 때문에 훈련이 많은 깊은 네트워크에 좋습니다. 타임스.

글로벌 성능의 경우이 선택 사항은 그다지 중요하지 않으며 비선형 성 및 제한 범위는 중요합니다. 마지막 백분율 포인트를 짜내려면이 선택 사항이 중요하지만 대부분 특정 데이터에 의존합니다. 숨겨진 레이어의 수와이 레이어 내부의 뉴런 수와 같은 선택은 crossvalidation에 의해 발견되어야합니다. 그러나 이들을 포함하도록 유전 연산자를 적용 할 수 있습니다.

1

[각 계층마다 다른 활성화 기능이있는] 것이 실용적인 선택인지 또는 인터넷 당 하나의 활성화 함수 만 사용해야하는지 궁금합니다.

짧은 대답은 : 그것은

긴 대답을 따라 달라집니다 당신이 여러 활성 기능을 가지고 싶은 이유를 생각하려고 해요. 당신은 당신의 질문에서 말하지 않기 때문에 좀 더 이론적 인 수준으로 대답 할 것입니다.

일반 상담/안내

신경 네트워크는 수학 함수의 단지 근사하고, 올바른 디자인은 다음과 같은 질문에 대답을 기반으로합니다/

  • 응답 얼마나 가까이 근사 필요하지 네트워크 기능을 근사하게 훈련시킬 수있는 방법은 무엇입니까?
  • 네트워크가 훈련되지 않은 데이터 세트에 얼마나 잘 일반화되어 있습니까? 일반화하는 것이 얼마나 좋은가?

여기에 내가

  • 가 얼마나 빨리 네트워크가 수행 할 필요가 않습니다 질문에 관련이 생각 여분의 하나인가? 활성화 기능을 선택하면 성능이 저하됩니다.

이 질문에 답하면 특정 사례에 대해 더 잘 알 수 있습니다.

복수 정품 인증 기능 정말 물을 모호하게하고보다해야 더 복잡한 시스템을 만들고으로 신경 네트워크를 구축 내 의견

. 좋은 소프트웨어를 만드는 것을 생각할 때 가장 먼저 생각하는 것은 응집력있는 디자인입니다. 다시 말하면, 시스템이 전체적으로 이해가 되는가 아니면 너무 많이하는 것인가?

프로 팁 : 소프트웨어 Rube Goldburg Machines을 빌드하지 마십시오.

복수 활성화 기능 을 동일한 네트워크에 넣으려면 내 생각에 일관성이 없습니다. 문제가 실제로 어떤 이유로 든 요구된다면 문제를 다시 생각해보고 여러 개의 별도 신경 네트워크로 시스템을 설계하면 해당 네트워크가 각각의 아키텍처 (활성화 기능 선택 포함)로 각각의 목적을 달성하게됩니다.