도움말 Kaggle에 TensorFlow과 그레이트 배리어 리프 (Great Barrier Reef)를 보호하기 도전에 참여

강화 학습

강화 학습을 사용하여 훈련되고 TensorFlow Lite로 배포된 에이전트와 보드 게임을 하세요.

시작하다

TensorFlow Lite를 처음 사용하고 Android로 작업하는 경우 시작하는 데 도움이 될 수 있는 다음 예제 애플리케이션을 탐색하는 것이 좋습니다.

안드로이드 예시

당신은 안드로이드 이외의 플랫폼을 사용하고, 또는 이미 잘 알고 있다면 TensorFlow 라이트 API를 , 당신은 우리의 교육 모델을 다운로드 할 수 있습니다.

모델 다운로드

작동 방식

이 모델은 게임 에이전트가 '플레인 스트라이크'라는 작은 보드 게임을 할 수 있도록 제작되었습니다. 이 게임의 규칙의 빠른 도입의 경우,이 참조하시기 바랍니다 README .

앱의 UI 아래에 인간 플레이어와 대결하는 에이전트를 만들었습니다. 에이전트는 보드 상태를 입력으로 사용하고 64개의 가능한 보드 셀 각각에 대한 예측 점수를 출력하는 3계층 MLP입니다. 이 모델은 정책 그라데이션 (강화)를 사용하여 훈련 당신은 훈련 코드를 찾을 수 있습니다 여기에 . 에이전트를 교육한 후 모델을 TFLite로 변환하고 Android 앱에 배포합니다.

Android 앱에서 실제 게임을 플레이하는 동안 에이전트가 조치를 취할 차례가 되면 에이전트는 인간 플레이어의 보드 상태(하단 보드)를 확인합니다. 여기에는 이전의 성공 및 실패한 공격(적중 및 실패)에 대한 정보가 포함됩니다. , 그리고 훈련된 모델을 사용하여 다음에 공격할 위치를 예측하여 인간 플레이어보다 먼저 게임을 완료할 수 있습니다.

성능 벤치마크

성능 벤치 마크 번호는 설명 된 도구를 사용하여 생성됩니다 여기에 .

모델명 모델 사이즈 장치 CPU
정책 기울기 84KB 픽셀 3(안드로이드 10) 0.01ms*
픽셀 4(안드로이드 10) 0.01ms*

* 1개의 스레드가 사용되었습니다.

입력

모델은 3-D 받아 float32 널 상태 (1, 8, 8)의 텐서.

출력

모델은 2-D 반환 float32 64 개 스트라이크 가능한 위치마다 예측 점수로 형상 텐서 (1,64)를.

나만의 모델 훈련

당신은 변화에 더 큰 / 작은 보드에 대한 자신의 모델을 학습 할 수 BOARD_SIZE 에서 매개 변수 훈련 코드를 .