# 딥 강화학습: 초보자에서 전문가로의 도약

> Clean Markdown view of GeekNews topic #14673. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=14673](https://news.hada.io/topic?id=14673)
- GeekNews Markdown: [https://news.hada.io/topic/14673.md](https://news.hada.io/topic/14673.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-05-06T16:35:08+09:00
- Updated: 2024-05-06T16:35:08+09:00
- Original source: [github.com/alessiodm](https://github.com/alessiodm/drl-zh)
- Points: 4
- Comments: 1

## Topic Body

### Deep Reinforcement Learning 입문 과정

- 이 과정은 기초적이고 고전적인 Deep Reinforcement Learning 알고리즘에 대한 실용적인 입문 과정임
- 과정을 마치면 DQN, SAC, PPO 등의 알고리즘을 직접 구현할 수 있게 되고, 알고리즘의 이론적 배경도 높은 수준에서 이해하게 됨 
- Atari 게임을 하거나 달에 착륙하는 AI를 학습시킬 수 있게 됨

#### 환경 설정

- 학습에 집중할 수 있도록 환경 설정 방법을 제시함
  - Miniconda 설치 (Python 버전 선택 가능한 환경 관리자)
  - 이 Git 저장소 체크아웃 후 해당 폴더로 이동
  - `drlzh` 가상환경 생성 및 활성화
    ```
    conda create --name drlzh python=3.11
    conda activate drlzh  
    ```
  - Poetry 설치 및 종속성 설치 (Atari용 `gymnasium[accept-rom-license]` 포함)
    ```  
    pip install poetry
    poetry install
    ```
  - Visual Studio Code 설치

#### 시작 방법

- Visual Studio Code에서 이 저장소 폴더 열기 (`.vscode` 폴더 유지)
- 첫번째 `00_Intro.ipynb` 노트북 열고 따라하기
- 계속해서 다음 노트북으로 이동
- 막히면 `/solution` 폴더 참조
- 단계별 코딩에 대한 자세한 설명은 YouTube 영상 확인

### GN⁺의 의견

- Reinforcement Learning은 게임이나 로보틱스 분야에서 큰 성과를 내고 있는 AI 기술 중 하나로, 실제 문제에 적용하기에는 아직 어려움이 있음. 예를 들어 학습 과정에서 시간이 오래 걸리고, 안전이 중요한 상황에서는 시행착오를 겪기 어려움 
- 이 과정은 Atari 게임이나 달착륙 시뮬레이션 같은 간단한 문제를 다루고 있어서 입문자가 배우기에는 좋지만, 실제 현장에서 활용하려면 추가적인 학습이 필요할 것으로 보임
- 이런 오픈소스 교육 자료들이 늘어나면서 더 많은 개발자들이 AI 기술을 배우고 활용할 수 있게 되었음. 특히 강화학습은 robotics나 자율주행 분야의 엔지니어에게 필수적인 기술이 될 것으로 전망됨
- 실습 환경 구축을 위해 Conda, Poetry 등 다양한 도구를 사용하고 있는데, 초보자에게는 환경 설정 과정이 부담스러울 수 있음. 클라우드 기반 실습 환경을 제공하면 진입장벽을 낮출 수 있을 것 같음

## Comments



### Comment 24992

- Author: neo
- Created: 2024-05-06T16:35:08+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=40269489) 
요약해보겠음:

- Deep Reinforcement Learning(심층 강화학습)을 배우려고 노력하면서, 많은 훌륭한 리소스들을 활용할 수 있었으나, 이론과 실습의 적절한 균형을 제공하는 자료는 부족했음
- 그래서 직접 만들어 오픈 소스로 공유하기로 결정함. 처음부터 파이썬 노트북에 알고리즘을 재작성하여 "교육적 접근법"으로 작성함
- QLearning, DQN, SAC, PPO 등 가장 많이 사용되는 알고리즘에 대한 이론과 코딩 연습을 안내하는 실습 중심의 단계별 튜토리얼임

##### 피드백
- 실제로 동작하는 간단한 예제는 많지만, 문제가 발생했을 때 어떻게 해야 할지에 대한 실용적인 리소스가 부족함. 예를 들어 액션이 최대값에 걸려 있거나, 탐색이 제대로 되지 않는 등의 문제 상황에 대한 조언이 있으면 좋겠음
- 최신 RL 기술도 테트리스에서는 간단한 휴리스틱에 비해 성능이 좋지 않은 문제가 있음
- Gym과 유사한 음악 생성용 DRL 프레임워크 RaveForce를 공유함. 이를 활용해 알고리즘을 테스트해볼 수 있음
- 통계/ML 배경 지식이 부족한 사람도 에이전트가 어떻게 학습하는지 이해하는데 도움이 될 것 같음  
- 유튜브 영상 링크를 추가하면 좋겠음
- 제목에서 Andrej Karpathy의 "Neural Network: Zero To Hero"를 차용했다고 밝힘. 개인 브랜드 혼동 가능성에 대한 지적도 있음
