Skip to content

translate: intermediate_source/dqn_with_rnn_tutorial.py 번역#1130

Open
testofschool wants to merge 6 commits into
PyTorchKorea:masterfrom
testofschool:translate/dqn_with_rnn_tutorial
Open

translate: intermediate_source/dqn_with_rnn_tutorial.py 번역#1130
testofschool wants to merge 6 commits into
PyTorchKorea:masterfrom
testofschool:translate/dqn_with_rnn_tutorial

Conversation

@testofschool
Copy link
Copy Markdown
Contributor

라이선스 동의

변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다.

더 자세한 내용은 기여하기 문서를 참고해주세요.

동의하시면 아래 [ ][x]로 만들어주세요.

  • 기여하기 문서를 확인하였으며, 본 PR 내용에 BSD 3항 라이선스가 적용됨에 동의합니다.

관련 이슈 번호

이 Pull Request와 관련있는 이슈 번호를 적어주세요.

이슈 또는 PR 번호 앞에 #을 붙이시면 제목을 바로 확인하실 수 있습니다. (예. #999 )

PR 종류

이 PR에 해당되는 종류 앞의 [ ][x]로 변경해주세요.

  • 오탈자를 수정하거나 번역을 개선하는 기여
  • 번역되지 않은 튜토리얼을 번역하는 기여
  • 공식 튜토리얼 내용을 반영하는 기여
  • 위 종류에 포함되지 않는 기여

PR 설명

이 PR로 무엇이 달라지는지 대략적으로 알려주세요.
intermediate_source/dqn_with_rnn_tutorial.py (순환 DQN: 순환 정책 학습하기) 문서를 한국어로 번역하였습니다.

@NamsanMan
Copy link
Copy Markdown
Contributor

NamsanMan commented May 20, 2026

번역하시느라 고생 많으셨습니다.
읽는 사람 입장에서 보았을 때, 전반에 걸쳐 이해가 되기 쉽게 잘 번역하신 것 같습니다!

아래는 제가 수정을 제안드리고 싶은 내용을 정리해 보았습니다. 읽어보시고 참고하시면 좋을 것 같습니다.

line 79 "fork는 Google Colaboratory에서도 기본 spawn 메소드입니다."를 읽어보면 "spawn"이라는 단어를 사용하는 것보다 "fork는 Google Colaboratory에서도 기본 시작 방식입니다."와 같이 번역을 진행하는것이 더 이해하기 쉬울 것이라고 생각합니다. 원문의 의미를 살펴보면 원문이 전달하고자 하는 말은 "fork가 Colab의 기본 start 메소드"라는 의미에 가깝습니다. "spawn 메소드"라고 하면 "spawn"이라는 방식 자체와 혼동이 될 수 있다고 느껴집니다.

line 121 "single pixel-based instance"를 "단일 픽셀 기반 인스턴스"라고 번역한 것은 직역의 느낌이 강해서 의미가 혼동될 수 있을 것 같습니다. 여기서 말하는 "single pixel-based instance"는 "픽셀 관측을 사용하는 단일 환경 인스턴스"와 같은 의미인데, 현재의 표현은 "한개의 픽셀 기반 인스턴스"처럼 살짝 부자연스럽다는 느낌이 들었습니다.

line 329도 마찬가지로 원문의 직역 느낌이 강하다는 생각이 들었습니다. "입력 데이터가 순차적임을 가정하는 새 인스턴스"보다는 문맥을 고려하여 "입력 데이터를 순차 데이터로 처리하는 새 인스턴스"와 같은 의역으로 생각해보시는것은 어떤지 제안 드립니다. 원문에서 loss 계산 시 cuDNN 최적화를 위해 LSTM을 sequence 처리 모드로 사용한다는 맥락을 고려해 볼 때, "가정"이라는 단어 보다는 "처리"라는 단어를 이용하는게 핵심이라고 생각하기 때문입니다.

아래는 자잘한 제안 사항입니다.
line 123에서 "인스턴스 를 사용하여" -> "인스턴스를 사용하여" : 조사 앞 불필요한 띄어쓰기
line 181에서 "출력 을 크기" -> "출력을 크기": 조사 앞 불필요한 띄어쓰기
line 354에서 "인스턴스 를 사용하여" -> "인스턴스를 사용하여" : 조사 앞 불필요한 띄어쓰기

@testofschool
Copy link
Copy Markdown
Contributor Author

testofschool commented May 20, 2026

번역하시느라 고생 많으셨습니다. 읽는 사람 입장에서 보았을 때, 전반에 걸쳐 이해가 되기 쉽게 잘 번역하신 것 같습니다!

아래는 제가 수정을 제안드리고 싶은 내용을 정리해 보았습니다. 읽어보시고 참고하시면 좋을 것 같습니다.

line 79 "fork는 Google Colaboratory에서도 기본 spawn 메소드입니다."를 읽어보면 "spawn"이라는 단어를 사용하는 것보다 "fork는 Google Colaboratory에서도 기본 시작 방식입니다."와 같이 번역을 진행하는것이 더 이해하기 쉬울 것이라고 생각합니다. 원문의 의미를 살펴보면 원문이 전달하고자 하는 말은 "fork가 Colab의 기본 start 메소드"라는 의미에 가깝습니다. "spawn 메소드"라고 하면 "spawn"이라는 방식 자체와 혼동이 될 수 있다고 느껴집니다.

line 121 "single pixel-based instance"를 "단일 픽셀 기반 인스턴스"라고 번역한 것은 직역의 느낌이 강해서 의미가 혼동될 수 있을 것 같습니다. 여기서 말하는 "single pixel-based instance"는 "픽셀 관측을 사용하는 단일 환경 인스턴스"와 같은 의미인데, 현재의 표현은 "한개의 픽셀 기반 인스턴스"처럼 살짝 부자연스럽다는 느낌이 들었습니다.

line 329도 마찬가지로 원문의 직역 느낌이 강하다는 생각이 들었습니다. "입력 데이터가 순차적임을 가정하는 새 인스턴스"보다는 문맥을 고려하여 "입력 데이터를 순차 데이터로 처리하는 새 인스턴스"와 같은 의역으로 생각해보시는것은 어떤지 제안 드립니다. 원문에서 loss 계산 시 cuDNN 최적화를 위해 LSTM을 sequence 처리 모드로 사용한다는 맥락을 고려해 볼 때, "가정"이라는 단어 보다는 "처리"라는 단어를 이용하는게 핵심이라고 생각하기 때문입니다.

아래는 자잘한 제안 사항입니다. line 123에서 "인스턴스 를 사용하여" -> "인스턴스를 사용하여" : 조사 앞 불필요한 띄어쓰기 line 181에서 "출력 을 크기" -> "출력을 크기": 조사 앞 불필요한 띄어쓰기 line 354에서 "인스턴스 를 사용하여" -> "인스턴스를 사용하여" : 조사 앞 불필요한 띄어쓰기

예리하시군요... 피드백 감사합니다 ㅠㅠ

@testofschool testofschool reopened this May 20, 2026
@ehdtjr
Copy link
Copy Markdown

ehdtjr commented May 20, 2026

전반적으로 굉장히 잘 번역하신게 느껴집니다!
원문에도 영문이 다르게 작성되어있긴한데, 사용자의 가독성을 위해 같은 값을 한 문서 안에서 통일해서 표현하면 좋을듯하여 아래 간단한 수정사항을 제안드려봅니다. 참고만하셔도 좋을듯합니다.

365 row : 백만 -> 100만 (375 row와 의미상 동일)

@ptesogno
Copy link
Copy Markdown

Tensor는 번역하지 않는다는 용어 규칙이 있습니다(https://github.com/PyTorchKorea/tutorials-kr/blob/master/TRANSLATION_GUIDE.md). line 140에 '텐서(Tensor)' 로 번역하신 부분 수정 제안드립니다.

이외에는 이해하기 쉽게 잘 번역되었다고 느꼈습니다. 고생 많으셨습니다!

PyTorchKorea#365 `백만` -> `100만` 수정 완료
@testofschool
Copy link
Copy Markdown
Contributor Author

전반적으로 굉장히 잘 번역하신게 느껴집니다! 원문에도 영문이 다르게 작성되어있긴한데, 사용자의 가독성을 위해 같은 값을 한 문서 안에서 통일해서 표현하면 좋을듯하여 아래 간단한 수정사항을 제안드려봅니다. 참고만하셔도 좋을듯합니다.

365 row : 백만 -> 100만 (375 row와 의미상 동일)

수정 완료 했습니다. 감사합니다 ㅎㅎ

@testofschool
Copy link
Copy Markdown
Contributor Author

Tensor는 번역하지 않는다는 용어 규칙이 있습니다(https://github.com/PyTorchKorea/tutorials-kr/blob/master/TRANSLATION_GUIDE.md). line 140에 '텐서(Tensor)' 로 번역하신 부분 수정 제안드립니다.

이외에는 이해하기 쉽게 잘 번역되었다고 느꼈습니다. 고생 많으셨습니다!

예리하시군요.. 감사합니다!

Copy link
Copy Markdown
Member

@hyoyoung hyoyoung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

긴 문서 번역하느라 수고하셨습니다.
몇가지 간단한 수정 사항을 요청드리니 확인부탁드립니다

==========================================

**Author**: `Vincent Moens <https://github.com/vmoens>`_
**저자**: `Vincent Moens <https://github.com/vmoens>`_
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저자 아래에 역자 항목 추가 부탁드립니다

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다. **저자** 아래에 **번역** 항목을 추가했습니다.


"""
Recurrent DQN: Training recurrent policies
순환 DQN: 순환 정책 학습하기
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

순환 정책이라고 하니 처음에는 어색할수도 있을거 같습니다
순환 DQN(Recurrent DQN) 정도로, 첫번째 표현에서는 병기해도 좋을거 같습니다

Copy link
Copy Markdown
Contributor Author

@testofschool testofschool May 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다. 순환 DQN(Recurrent DQN)으로 첫 등장 시 병기했습니다.

# TorchRL prefers spawn method, that restricts creation of ``~torchrl.envs.ParallelEnv`` inside
# `__main__` method call, but for the easy of reading the code switch to fork
# which is also a default spawn method in Google's Colaboratory
# TorchRL은 spawn 메소드를 선호하며, ``~torchrl.envs.ParallelEnv`` 생성을
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기서 method는 시작할때 spawn방식을 지칭하는것으로 보입니다
TorchRL은 spawn 시작 방식을 선호하며 정도로 의역해보는것은 어떨까요

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다. spawn 메소드spawn 시작 방식으로 수정했습니다. Python 공식 문서에서도 start method를 "시작 방법"으로 표기하고 있어 더 명확해진 것 같습니다.

# environment with some custom transforms: turning to grayscale, resizing to
# 84x84, scaling down the rewards and normalizing the observations.
# 먼저 환경을 구성합니다. 이를 통해 문제를 정의하고 그에 맞는 정책 네트워크를
# 구성할 수 있습니다. 이 튜토리얼에서는 CartPole gym 환경의 픽셀 관측을 사용하는 단일 환경
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

픽셀 관측 기반의 단일 CartPole 환경 정도로 바꿔보는것은 어떨까요

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다. 픽셀 관측 기반의 단일 CartPole 환경으로 수정했습니다.

# Fortunately, the :class:`~torchrl.modules.LSTMModule` we propose is
# equipped with a helper method to build just that transform for us, so
# we can wait until we build it!
# :class:`~torchrl.envs.transforms.StepCounter` 변환은 보조적입니다. CartPole
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

보조적도 문맥으로는 맞긴하나,
선택사항입이다 라고 의역해도 좋을거 같습니다

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다. 보조적선택사항으로 수정했습니다.

# 프라이머에 지정된 항목이 0으로 초기화된 Tensor로 채워집니다. 이 텐서가
# 정책에 필요하다는 것을 알고 있으므로 수집기는 수집 과정에서 이를 전달합니다.
# 결국 은닉 상태를 리플레이 버퍼에 저장하게 되며, 이는 손실 모듈에서
# RNN 연산의 부트스트랩 계산에 도움이 됩니다(그렇지 않으면 0으로 초기화됩니다).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

부트스트랩도 조금 의역하여
RNN 계산의 초기 상태 라고 해도 좋을거 같습니다

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다. RNN 계산의 초기 상태를 잡는 데 도움이 됩니다로 의역했습니다. 통계 용어 부트스트랩과의 혼동도 피할 수 있을 것 같습니다.

# Also, the LSTM cannot have a ``bidirectional`` attribute set to ``True`` as
# this wouldn't be usable in online settings. In this case, the default value
# is the correct one.
# 또한 LSTM의 ``bidirectional`` 속성이 ``True`` 로 설정되면 온라인 환경에서
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

온라인 환경도 좋지만 조금 더 명확하게
온라인 추론 환경에서는 사용할 수 없으므로 정도로 바꿔도 좋을거 같습니다

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다. 온라인 추론 환경에서는으로 수정했습니다.

@testofschool
Copy link
Copy Markdown
Contributor Author

testofschool commented May 29, 2026

세심한 리뷰 감사합니다! 요청해주신 7가지 사항 모두 반영했습니다.

추가로 직접 확인하며 두 가지를 함께 수정했습니다.

  • line 141의 텐서 표기를 Tensor로 통일했습니다. (바로 윗 문장이 Tensor로 표기되어 있어 문서 내 일관성을 맞췄습니다.)
  • 제목에 병기를 추가하면서 밑줄(===) 길이가 짧아져 발생하던 Title underline too short 경고도 함께 수정했습니다.

재리뷰 부탁드립니다. 감사합니다!

@testofschool testofschool requested a review from hyoyoung May 29, 2026 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants