강화 학습으로 신경망 훈련
피드 포워드 신경망의 기본 사항과 역 전파 알고리즘을 사용하여 훈련하는 방법을 알고 있지만 강화 학습을 통해 ANN 온라인 훈련에 사용할 수있는 알고리즘을 찾고 있습니다.
예를 들어, 카트 폴 스윙 업 문제는 ANN으로 해결하고 싶은 문제입니다. 이 경우 진자를 제어하기 위해 무엇을해야할지 모르겠지만 이상적인 위치에 얼마나 가까이 있는지 알뿐입니다. 나는 ANN이 보상과 처벌을 기반으로 학습하도록해야합니다. 따라서지도 학습은 선택 사항이 아닙니다.
또 다른 상황은 피드백이 지연되고 보상이 아닌 목표와 반 목표로 제한되는 뱀 게임 과 같은 것입니다.
언덕 오르기 또는 유전 알고리즘과 같은 첫 번째 상황에 대한 알고리즘을 생각할 수 있지만 둘 다 느릴 것이라고 생각합니다. 두 번째 시나리오에서도 적용 가능할 수 있지만 엄청나게 느리고 온라인 학습에 도움이되지 않습니다.
제 질문은 간단합니다. 강화 학습으로 인공 신경망을 훈련하는 간단한 알고리즘이 있습니까? 저는 주로 실시간 보상 상황에 관심이 있지만 목표 기반 상황에 대한 알고리즘을 사용할 수 있다면 더 좋습니다.
주제에 대한 몇 가지 연구 논문이 있습니다.
- 진화하는 신경망 토폴로지를 통한 효율적인 강화 학습 (2002)
- 운동 제어를위한 애플리케이션과 함께 신경망을 사용한 강화 학습
- 자율 이동 로봇 장애물 회피 문제에 대한 강화 학습 신경망
그리고 일부 코드 :
- 신경망 강화 학습을위한 코드 예제 .
이들은 주제에 대한 상위 Google 검색 결과 중 일부에 불과합니다. 처음 몇 개의 논문은 개인적으로 읽지 않았지만 꽤 괜찮은 것 같습니다. Google 학술 검색에서 빠른 검색을하면 강화 학습 기능이있는 신경망에 대한 더 많은 정보를 찾을 수있을 것입니다.
보상으로 이어지는 출력이 r
네트워크 r
시간 으로 역 전파 되면 보상에 비례하여 네트워크를 강화합니다. 이것은 부정적인 보상에 직접 적용되지는 않지만, 다른 효과를내는 두 가지 해결책을 생각할 수 있습니다.
1) rmin-rmax 범위에 일련의 보상이있는 0-(rmax-rmin)
경우 모두 음수가 아니도록 크기를 조정하십시오 . 보상이 클수록 생성되는 강화가 더 강해집니다.
2) 부정적인 보상 의 경우 부정적인 보상으로 이어지는 것과 다른 -r
한 무작위 출력 r
시간을 역 전파합니다 . 이것은 바람직한 산출물을 강화할뿐만 아니라 나쁜 산출물을 확산 시키거나 피할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/10722064/training-a-neural-network-with-reinforcement-learning
'code' 카테고리의 다른 글
사용자가 로그인 한 후 Laravel 5 세션이 지속되지 않음 (0) | 2020.12.02 |
---|---|
모든 Android 기기를 지원하려면 14 가지 레이아웃이 필요합니까? (0) | 2020.12.02 |
jQuery Mobile 및 PhoneGap에서 템플릿 / 지속적 머리글 / 바닥 글 템플릿 만들기 (0) | 2020.12.02 |
UIWindow endDisablingInterfaceAutorotationAnimated 오류는 키보드가 iOS9에서만 collectionView에서 대화식으로 해제 될 때 콘솔에 나타납니다. (0) | 2020.12.02 |
Google Vis로 염소 순간 이동 데이터를 그래프로 표시합니다. (0) | 2020.12.02 |