콘텐츠로 바로가기

now0930 일지

이런저런 생각

  • 홈
  • 비공개
  • 강좌
  • 잔여 작업 조회
  • 위치

A3C 샘플 테스트 결과(2/2)

기존 실험 환경에 문제 있음을 알고, 큰 결심으로 환경을 다시 설정했다.

  • 총 Action은 getX1, getX2, getX3, putX1, putX2, putX3, getX3Y3(순환) 7개 였다.
  • putX1, putX2, putX3는 2열로만 갈 수 있어, 깊게 들어가 있는 1열을 사용할 수 없었다.
  • 인공지능이 삽질로 getX1, getX3, getX3, getX3Y3 으로만 모든 문제를 해결한다!!(나는 몰랐던 사실. 이 사실로 환경이 잘못 디자인되었다고 알았다.)

수정한 환경.

  • get(call)은 그대로 유지. 2열 대차를 6번 셀로 call하고, 1열 대차를 2열로 이동. 2열 대차는 공대차로 채워줌.
  • put은 1열이 비어 있으면 2열로 왔다 1열로 이동하도록 수정.
  • put은 기존에 6번 셀까지 끌어 당겼으나(6번이 A, 7번이 B 표시부, put 동작시 6번은 A->V, 7번은 B->A로 변경되었음), 문제를 쉽게 풀기 위해서 7번 셀만 수정(put 실행시 7번만 B->V로 수정, 7번에 있던 B 대차는 화살표 표시까지 깊게 들어감).
  • shiftX1, X2, X3 조건 추가.(전체 행동은 기존 get 3개, put 3개, shift X1/X2/X3 3개, getX3Y3 1개 총 10개로 증가)

성공하면 총 점 0점 이상을 획득한다. 100회 샘플 성공, 실패를 세어보면 아래와 같다.

episode: 0   score: 220
episode: 1   score: -100
episode: 2   score: 220
episode: 3   score: 200
episode: 4   score: 200
episode: 5   score: 220
episode: 6   score: 190
episode: 7   score: -100
episode: 8   score: 170
episode: 9   score: 200
episode: 10   score: 200
episode: 11   score: -100
episode: 12   score: 170
episode: 13   score: 200
episode: 14   score: 170
episode: 15   score: 190
episode: 16   score: 200
episode: 17   score: 190
episode: 18   score: 200
episode: 19   score: 200
episode: 20   score: 170
episode: 21   score: 160
episode: 22   score: 200
episode: 23   score: 170
episode: 24   score: 200
episode: 25   score: 200
episode: 26   score: 200
episode: 27   score: 200
episode: 28   score: 200
episode: 29   score: -100
episode: 30   score: 200
episode: 31   score: 170
episode: 32   score: 190
episode: 33   score: 190
episode: 34   score: 200
episode: 35   score: 190
episode: 36   score: 200
episode: 37   score: 200
episode: 38   score: 200
episode: 39   score: 200
episode: 40   score: 170
episode: 41   score: 170
episode: 42   score: 140
episode: 43   score: 170
episode: 44   score: 160
episode: 45   score: 220
episode: 46   score: 200
episode: 47   score: 200
episode: 48   score: -100
episode: 49   score: 200
episode: 50   score: 200
episode: 51   score: 170
episode: 52   score: 170
episode: 53   score: 170
episode: 54   score: -100
episode: 55   score: 200
episode: 56   score: 200
episode: 57   score: -100
episode: 58   score: 170
episode: 59   score: 200
episode: 60   score: 200
episode: 61   score: 190
episode: 62   score: 200
episode: 63   score: 200
episode: 64   score: 200
episode: 65   score: 200
episode: 66   score: 200
episode: 67   score: 190
episode: 68   score: 200
episode: 69   score: 200
episode: 70   score: 200
episode: 71   score: 200
episode: 72   score: 170
episode: 73   score: 190
episode: 74   score: 170
episode: 75   score: 200
episode: 76   score: 200
episode: 77   score: 190
episode: 78   score: 200
episode: 79   score: 220
episode: 80   score: 200
episode: 81   score: 200
episode: 82   score: 170
episode: 83   score: 200
episode: 84   score: 200
episode: 85   score: -100
episode: 86   score: 200
episode: 87   score: 200
episode: 88   score: 200
episode: 89   score: 200
episode: 90   score: -100
episode: 91   score: 170
episode: 92   score: 170
episode: 93   score: 170
episode: 94   score: -100
episode: 95   score: 200
episode: 96   score: 200
episode: 97   score: 170
episode: 98   score: 190
episode: 99   score: 170

총 100회 중 10번 실패 했는데, 각 경우를 보면.

episode: 1   score: -100
episode: 7   score: -100
episode: 11   score: -100
episode: 29   score: -100
episode: 48   score: -100
episode: 54   score: -100
episode: 57   score: -100
episode: 85   score: -100
episode: 90   score: -100
episode: 94   score: -100

초기화 했을 경우 적어도 대차가 이동할 한 개 공간이 있도록 환경을 설정했는데, 왜인지 잘 안되었다. 이 에피소드는 절대 성공할 수 없다. 에피소드 57, 90, 94는 빈 공간이 있는데도 삽질했다. 이 부분을 어떻게 학습시켜야 할지 모르겠다.

성공한 경우를 보면 에피소드 6은 A 대차가 뒤쪽에 숨겨져 있지만, call, shift 로 순환시켰다. 마지막에 put으로 X2, Y1 위치로 A 대차를 집어 넣었다.

총 10시간, 10만회 * 12 thread 학습 시켰다. 뒤쪽으로 갈 수록 학습 효율이 떨어지는데, 마지막 학습에서 의미없이 연속으로 공대차 call 행동을 안하게 된 듯 하다. GTX 1060 6GB도 나름 쓸만하다.

여기에서 마무리 해야겠다.

이 글 공유하기:

  • Tweet
발행일 2020-12-22글쓴이 이대원
카테고리 tensorflow, 생활코딩 태그 a3c, keras, reinforcementLearning, tensorflow, 대차 스토리지

댓글 남기기응답 취소

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

글 내비게이션

이전 글

미셸보의 자본주의 역사

다음 글

통일, 기업에 기회인가 위기인가

2025 5월
일 월 화 수 목 금 토
 123
45678910
11121314151617
18192021222324
25262728293031
4월    

최신 글

  • common mode, differential mode 2025-05-11
  • signal conditioner, 신호 처리기 2025-05-10
  • strain gage 2025-05-09
  • 칼만 필터 2025-05-01
  • positioner(I/P) 2025-04-26

카테고리

  • 산업계측제어기술사
  • 삶 자국
    • 책과 영화
    • 투자
  • 생활코딩
    • LEGO
    • ROS
    • tensorflow
  • 전기기사
  • 피아노 악보

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org

페이지

  • 소개
  • 잔여 작업 조회
    • 작업 추가
    • 작업의 사진 조회
    • 작업 수정 페이지
  • 사진
    • GPS 입력된 사진
    • 사진 조회
  • 위치
    • 하기 휴가 방문지
    • 해외 출장

태그

android bash c docker driver FSM gps java kernel LEGO linux mysql network program opcua open62541 plc programmers python raspberry reinforcementLearning ros state space system program tensorflow transfer function 경제 미국 민수 삼국지 세계사 실기 에너지 역사 유전자 일본 임베디드 리눅스 전기기사 조선 중국 채윤 코딩 테스트 통계 한국사 한국어

팔로우하세요

  • Facebook
now0930 일지
WordPress로 제작.
 

댓글 로드중...