q러닝 예제

지정된 셀 상태 s의 경우 함수는 F 행렬을 사용하여 도달할 수 있는 상태를 결정하고 해당 상태를 목록으로 반환합니다. 예를 들어 s = 5인 경우 반환 목록은 [0, 6, 10]입니다. 이 자습서에서는 간단하지만 포괄적인 수치 예제를 통해 Q-학습의 개념을 소개합니다. 이 예제에서는 알려지지 않은 환경에 대해 알아보기 위해 감독되지 않은 교육을 사용하는 에이전트에 대해 설명합니다. 이 예제를 함께 제공되는 소스 코드 예제와 비교하는 것도 유용할 수 있습니다. 지정된 state s의 경우 가능한 모든 다음 상태가 결정된 다음 상태 중 하나가 임의로 선택됩니다. 예를 들어 s = 5인 경우 후보는 [0, 6, 10]입니다. np.randomint() 호출은 0에서 2까지임의의 값을 반환하며, 이 값은 후보 목록에 인덱스 역할을 합니다. αk를 사용하여 보상의 평균을 높이는 방법을 고려하는 것이 유익합니다. 다음 예제에서는 결정적 작업 시퀀스의 효과를 보여 주며, 작업이 결정적일 때 α=1을 사용할 수 있습니다. 테이블의 -1은 null 값(즉, 노드 간에 링크가 없는 경우)을 나타냅니다. 예를 들어 상태 0은 상태 1로 이동할 수 없습니다.

책 웹 사이트에서 사용할 수 있는 이 예제에 대해 애플릿을 실행할 수 있습니다. 다른 초기화를 시도하고 다양한 α를 시도하십시오. 많은 책과 다른 웹 사이트에서 읽을 수 있는 보강 이론을 배우는 대신(자세한 참조 자료 참조) 이 자습서에서는 간단하지만 포괄적인 수치 예제를 통해 개념을 소개합니다. 이 자습서의 전자 책을 구입 하면 도우미 워크 시트 및 matlab 파일도 받게 됩니다. 우리의 예제 게임은 우리가 실제로 Q 테이블보다 신경망으로 더 많은 메모리를 사용하는 등 단순합니다! 모든 실제 시나리오는 이보다 훨씬 복잡하므로 일반적인 추세가 아니라 예제를 단순하게 유지하려는 시도의 아티팩트일 뿐입니다. Q-러닝과 Sarsa의 차이점을 강조하기 위해 [1]의 예제가 사용됩니다. 예를 들어, 택시가 현재 위치에 승객을 포함하는 상태에 직면하는 경우, 하차 또는 북쪽과 같은 다른 작업에 비해 픽업의 Q 값이 더 높을 가능성이 높습니다. 예를 들어 초기 상태 2에서 에이전트는 행렬 Q를 가이드로 사용할 수 있습니다. 다음 상태는 4와 14입니다.

셀 14로 이동하면 +10.0의 보상이 있으므로 Q[4][9]의 값이 증가하여 셀 4에서 셀 3으로의 경로보다 해당 경로가 더 매력적입니다. 영리한! 더 일반적인 방법은 경험의 전부(또는 다)를 메모리 로그에 수집하는 것입니다. 그런 다음 로그에서 일괄 처리로 가져온 여러 임의의 경험에 대해 모델이 학습됩니다. 이를 일괄 학습 또는 미니 일괄 학습이라고 합니다. 그것은 더 효율적이고 종종 강화 학습에 전반적으로 더 안정적인 교육 결과를 제공합니다. 모델 입력 및 출력이 이미 이를 지원하기 위해 형성되어 있으므로 이 예제를 일괄 학습으로 변환하는 것은 매우 쉽습니다. 1부에서는 펜과 종이 예제를 통해 Q-learning을 개념으로 소개했습니다. 이 예제에서는 에이전트를 모든 방에 배치하고 해당 방에서 건물 외부로 이동합니다(대상 룸이 될 것입니다). 즉, 골룸은 숫자 5입니다. 이 룸을 목표로 설정하려면 보상 값을 각 문(예: 노드 간 링크)에 연결합니다. 목표에 즉시 이어지는 문은 100의 즉각적인 보상이 있습니다. 대상 룸에 직접 연결되지 않은 다른 문은 보상이 없습니다.

문은 양방향(0은 4로 리드되고 4는 0으로 다시 리드)이기 때문에 각 룸에 두 개의 화살표가 할당됩니다. 각 화살표에는 아래와 같이 즉각적인 보상 값이 포함되어 있습니다: 여기에 제시된 Q-learning 예제 를 래핑하면 관련된 일반적인 원칙에 대한 합리적으로 견고한 이해를 제공할 수 있습니다.