2015-01-08 9 views
0

이것은 현재 진행중인 벤처이며 일부 세부 사항은 의도적으로 난독 화되어 있습니다.backpropagation 이외의 신경망을 훈련 할 방법이 필요합니다.

여러 개의 입력과 하나의 출력이있는 상자가 있습니다. 출력 전압은 입력 전압이 변화함에 따라 변합니다. 출력 시퀀스의 바람직 함은 많은 상태가 통과하고 룩 백 프로세스가 평가 될 때까지 평가 될 수 없다.

입력란에서 여러 출력을 가져 와서 최적의 다음 출력을 생성하기 위해 상자에 대한 올바른 입력 설정을 생성하는 신경망을 디자인하고 싶습니다.

backpropagation을 사용하여이 네트워크를 교육 할 수 없습니다. 이 네트워크를 어떻게 훈련시킬 수 있습니까?

답변

0

유전자 알고리즘은 여기에서 좋은 후보가 될 것입니다. 염색체는 신경망의 가중치를 부호화 할 수 있습니다. 평가 후에는 성능에 따라 염색체에 적합성 값을 지정합니다. 높은 적합도 값을 갖는 염색체는 재현 가능성이 높으며 차세대에서 더 나은 수행 염색체를 생성하도록 도와줍니다.

가중치 인코딩은 비교적 간단한 해결책이며, 더 복잡한 방법은 네트워크의 토폴로지를 정의 할 수도 있습니다.

당신은 여기에 몇 가지 유용한 추가 정보를 찾을 수 있습니다

http://en.wikipedia.org/wiki/Neuroevolution

+0

고마워요! 내가 뭘 찾고 있었는지. –

+0

@BingBang 도움이 되니 기쁩니다. 정말 귀하의 질문에 대답 해 주시면 답변을 "수락"으로 표시하십시오. – zsoltc

0

Hillclimbing 구현하는 가장 간단한 최적화 알고리즘이다. 무작위로 가중치를 수정하고 재설정하지 않을 경우 다시 확인하고 다시 시도하십시오. 또한 일반적으로 유전 알고리즘보다 빠릅니다. 그러나 지역 최적 조건에 걸리기 쉽기 때문에 여러 번 실행하고 최상의 결과를 선택하십시오.