강화학습

덤프버전 :

[ 펼치기 · 접기 ]
기반 학문
수학 (해석학 · 이산수학 · 수리논리학 · 선형대수학 · 미적분학 · 미분방정식 · 대수학 (환론 · 범주론) · 정수론) · 이론 컴퓨터 과학 · 암호학 · 전자공학 · 언어학 (형태론 · 통사론 · 의미론 · 화용론 · 음운론) · 인지과학
SoC · CPU · GPU(그래픽 카드 · GPGPU) · ROM · RAM · SSD · HDD · 참조: 틀:컴퓨터 부품
기술
기계어 · 어셈블리어 · C(C++ · C\#) · Java · Python · BIOS · 절차적 프로그래밍 · 객체 지향 프로그래밍(디자인 패턴) · 해킹 · ROT13 · OTP · IoT · 와이파이 · GPS · 임베디드 · 인공신경망 · OpenGL · EXIF · 마이크로아키텍처 · ACPI · UEFI · NERF · gRPC · 리버스 엔지니어링 · HCI · UI · UX · 대역폭 · DBMS · NoSQL · 해시(SHA · 브루트 포스 · 레인보우 테이블 · salt · 암호화폐) · RSA 암호화
연구및 기타 문서
논리 회로(보수기 · 가산기 · 논리 연산 · 불 대수 · 플립플롭) · 정보이론 · 임베디드 시스템 · 디자인 패턴 · 데이터베이스 · 프로그래밍 언어{컴파일러(어셈블러 · JIT) · 인터프리터 · 유형 이론} · 메타데이터 · 기계학습 · 빅데이터 · 폰노이만 구조 · 양자컴퓨터 · 행위자 모델 · 인코딩(유니코드 · MBCS) · 네트워크 · 컴퓨터 보안 · OCR · 슈퍼컴퓨터 · 튜링 머신 · FPGA · 딥러닝 · 컴퓨터 구조론 · 컴퓨터 비전 · 컴퓨터 그래픽스 · 인공지능 · 시간 복잡도(최적화) · 소프트웨어 개발 방법론 · 정보처리이론 · 재귀 이론 · 자연 언어 처리(기계 번역 · 음성인식)
}}}



학습
행동학습
인지학습
기계학습심층학습
비연합학습
연합학습
사회학습
잠재학습
통찰학습
지도학습
비지도학습
강화학습
습관화
민감화
고전적 조건형성
도구적 조건형성


사람이 강화학습 알고리즘으로 걸음을 익힌다면 이런 식이 될 거다(3D 애니메이션)

1. 개요
2. 종류
4. 관련 문서



1. 개요[편집]


強化學習|Reinforcement Learning

강화학습은 현재의 상태(State)에서 어떤 행동(Action)을 취하는 것이 최적인지를 학습하는 것이다. 행동을 취할 때마다 외부 환경에서 보상(Reward)이 주어지는데, 이러한 보상을 최대화 하는 방향으로 학습이 진행된다. 그리고 이러한 보상은 행동을 취한 즉시 주어지지 않을 수도 있다(지연된 보상). 이 때문에 문제의 난이도가 지도학습/비지도학습에 비해 대폭 상승하며, 시스템을 제대로 보상하는 것과 관련된 신뢰 할당 문제 라는 난제가 여전히 연구원들을 괴롭히고 있다. 대표적으로 게임 인공지능을 만드는 것을 생각해볼 수 있다. 체스에서 현재 나와 적의 말의 배치가 State가 되고 여기서 어떤 말을 어떻게 움직일지가 Action이 된다. 상대 말을 잡게 되면 보상이 주어지는데, 상대 말이 멀리 떨어져 이동할 때 까지의 시간이 필요할 수 있으므로, 상대 말을 잡는 보상은 당장 주어지지 않는 경우도 생길 수 있다. 심지어는 그 말을 잡은 것이 전술적으로는 이익이지만 판세로는 불이익이라 다 끝났을 때 게임을 질 수도 있다(지연된 보상). 따라서 강화학습에서는 당장의 보상값이 조금은 적더라도, 나중에 얻을 값을 포함한 보상값의 총 합이 최대화되도록 Action을 선택해야 하며, 게다가 행동하는 플레이어는 어떤 행동을 해야 저 보상값의 합이 최대화되는지 모르기 때문에, 미래를 고려하면서 가장 좋은 선택이 뭔지 Action을 여러 방식으로 수행하며 고민해야 한다. 좋은 선택이 뭔지 Action을 찾는 것을 탐색, 지금까지 나온 지식을 기반으로 가장 좋은 Action을 찾아 그것을 수행하는 것을 활용한다고 하여, 강화학습을 푸는 알고리즘은 이 둘 사이의 균형을 어떻게 잡아야 할지에 초점을 맞춘다.

오래전부터 움직이는 모터, 로봇, 드론, 자율이동체 등 이 원하는 성능을 갖도록 고전적인 제어공학이 발전되어 왔다. 점차 시스템이 복잡해지고, 원하는 성능도 높아지면서, 고전적인 제어공학으로 해결하기 힘든 현실적인 제어 문제가 많이 등장하였다. 최근 기존 제어와 비슷한 피드백 형식으로 시스템을 학습하고 원하는 성능을 얻어내는 강화학습은 이런 도전적인 제어 문제 해결에 큰 역할을 하고 있다.

2020년 국내에서 혈당만으로 필요한 인슐린양을 정확하게 계산하는 AI 알고리즘을 개발했는데 여기에 강화학습이 사용되었다. AI에게 주입한 인슐린양에 따른 혈당이 어떻게 변하는지 나타낸 데이터를 학습시켜 당뇨병 환자의 혈당 데이터를 입력했을 때 최적의 인슐린양을 찾도록 한 것. 논문 링크

강화학습을 배워보고 싶은 경우 참고할 수 있는 사이트들이다.
모두를 위한 RL강좌
CS234 강의
CS285 강의
팡요랩
OpenAI 블로그
OpenAI Spinning Up
혁펜하임

2. 종류[편집]


Value based Reinforcement Learning

Policy based Reinforcement Learning
  • DDPG 심층 결정론적 정책 경사법 알고리즘
  • A2C(Advantage Actor-Critic)
  • A3C(Asynchronous Advantage Actor-Critic) A2C가 한개의 에이전트로 학습을 한다면, A3C는 여러 에이전트들을 가동시켜 비동기적('A'synchronous)으로 모델을 업데이트 하는 알고리즘이다. arxiv
  • ACER(Actor-Critic with Experience Replay) arxiv
  • TRPO(Trust Region Policy Optimization) 2020년 2월 기준 SOTA에 속하는 알고리즘. arxiv
  • PPO(proximal policy optimization) 2017년 기준 SOTA에 속하는 알고리즘. on-policy 방식이며, discrete와 continuous한 환경 모두에서 사용 가능하다. TRPO 의 2차근사가 연산량과 구현 둘 다 힘들게 하기에, 1차 근사로도 TRPO의 근접하거나 그 이상의 성능을 내려 하는 것이 PPO의 특징으로, 'P'olicy 'O'ptimization을 'P'roximal하게 한다는 뜻으로 이름이 붙었다. 하지만 실제 PPO를 구현해보면 성능이 잘 나오지 않고, parameter의 fine-tuning을 통해 얻어낸 결괏값이 아니냐는 의심을 받고있다.arxiv


3. 관련 용어[편집]


파일:나무위키상세내용.png   자세한 내용은 강화학습/용어 문서를 참고하십시오.



4. 관련 문서[편집]




파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-10 13:19:17에 나무위키 강화학습 문서에서 가져왔습니다.