본문 바로가기

ReinforcementLearning

강화학습 사이클과 openAI Gym 구현하기

대부분의 최신 강화학습 알고리듬은 딥러닝과 관련 있으므로 책전반에 걸쳐 사용할 딥러닝 프레임 워크인 텐서플로우를 살펴봤다.

텐서플로우를 사용하면 역전파 backpropagation 같은 심층신경망의 복잡한 부분을 처리할 때 딥강화학습 알고리듬의 개발 속도를 높여 준다.

또한 tensorflow는 알고리듬 디버깅 과정을 모니터링하고 지원하는 tensorBoard를 제공한다.

 

 

  • Gym에서 step()함수의 출력은 무엇인가?
    • step() : 실행 // render() : 결과를 표시
  • OpenAI Gym 인터페이스를 이용한 액션을 어떻게 샘플링 할 수 있는가?
    • 에이전트에서 환경 : 액션
    • 환경에서 에이전트 : 관측, 보상, 종료여부, 정보
      • 관측: 환경에 대한 새로운 관측을 나타내는 객체
      • 보상 : 마지막 액션에서 얻은 값을 실수로 나타낸 값
      • 완료여부 : boolean값으로 에피소드 형태로 운영하는 작업에 사용
      • 정보 : 환경에 대한 추가 정보를 제공하는 딕셔너리 형태의 정보, 일반적으로 사용하지 않음
  • box와 Discrete 클래스 간 주요 차이점은 무엇인가?
    • 두 클래스는 서로 다른 공간을 나타냄
    • box는 n차원 배열을 나타내며 discrete는 고정된 범위의 양수를 허용하는 공간을 나타낸다.
  • 강화학습에서 딥 러닝 프레임 워크를 사용하는 이유는 무엇인가?
    • 텐서플로우는 방대한 양의 고품질 문서를 쉽게 구할 수 있고, 개발 환경에서 확장성 있는 모델 개발이 쉬우며 , GPU, TPU에 친국한 인터페이스를 제공해 인기가 좋음
    • 텐서플로우는 기계학습 모델 개발과 배포를 쉽게 하기 위해, keras, eager Execution, extimators를 포함한 많은 고급 api를 가지고 있다. 이러한 apiㅇ는 강화학습 알고리즘 개발에 매우 유용함.
    • 텐서플로우 : 고성능 수치 연산을 수행할 수 있는 기계학습 프레임 워크
  • 텐서란 무엇인가?
    • 텐서플로우의 변수는 여러 차원의 배열인 텐서로 표시
    • 텐서 2.0의 두가지 주요 유형은 tf.Variable, tf.constant
  • 텐서보드에 표시되는 항목은 무엇인가?
    • 텐서보드는 평가항목을 표시하고, 텐서플로우 그래프와 추가 정보를 표시하는데 사용하는 시각화 툴이다.
  • 자율주행차를 만들려면 2장에서 언급한 환경 중 무엇을 사용해야 하는가?

 

파이썬 기반 강화학습 알고리듬 책을 읽고, 그 책의 질문 부분에 대한 답변을 작성한것 입니다.

 

 

 

 

'ReinforcementLearning' 카테고리의 다른 글

확률 기반 PG최적화 학습  (0) 2023.04.02
Deep Q-Network  (0) 2023.04.02
Q-러닝과 SARSA 애플리케이션  (0) 2023.04.02
동적 프로그래밍으로 문제 해결하기  (0) 2023.04.02
강화학습  (0) 2023.04.02