트렌드 한눈에 보기/학계 트렌드 (114) 썸네일형 리스트형 PyTorch를 활용한 Soft Actor Critic - 1탄 Soft Actor Critic은 2018년 발표된 알고리즘인데, Actor Critic 계에서는 아직도 최정상급 최적화를 자랑하고 있다. 그래서 이 알고리즘을 마지막으로 OpenAI Cartpole 예제를 마무리하려고 했는데, 그것이 화근이었다. 기존의 DDPG(지난 포스팅) 알고리즘은 Deterministic Policy Gradient를 사용하고 있으며 이는 주어진 상황에 행동을 매치시킬 때, 확률로 표현되지 않는다는 것을 의미한다. 예를 들어 A라는 상황에는 왼쪽, B라는 상황에는 오른쪽이 매칭되고 A 상황에 적합한 행동이 왼쪽일 확률이 80%, 오른쪽일 확률이 20% 같은 방식으로는 작동하지 않는 것이다. 하지만 실생활의 많은 부분에서는 그렇게 상황과 행동이 딱 들어맞는 경우가 없기에 초기 파라.. PyTorch를 활용한 Actor-Critic Tutorial 3탄 2016년 발표된 논문을 따라 읽던 중, 해당 논문의 알고리즘이 DDPG라는 이름을 가지고 있다는 것을 알게 되었고 더 나아가, colab의 코드가 해당 논문에 기반하고 있다는 확신을 얻게 되었다. 그래서 본격적으로 논문을 정리해 보았다. 1. DDPG Deep Deterministic Policy Gradient의 줄임말로서, DPG라는 알고리즘을 개선한 것이다. 구체적으로는, DQN와 DPG를 섞었다는 게 포인트인데, DQN은 discreet한 상황이 주어졌을 때에만 적용 가능하다는 한계점이 있다. 매 상황마다 최적의 Q를 찾아야 하는데, 연속된 상황(continuous states)이 주어졌을 경우에는 처리해야 하는 계산량이 기하급수적으로 늘어나기 때문이다. 반면에 DPG는 Actor Critic .. PyTorch를 활용한 Actor-Critic Tutorial 2탄 Actor Critic의 역사가 생각보다 오래되어서 내가 적용한 알고리즘에 대체 어느 논문에 기반해있는지 알아보기가 어려웠다. OpenAI의 한 연구원이 정리해놓은 내용에 따르면 2016년부터 현재까지 활발히 사용되는 알고리즘만 7개는 넘는 것 같다. Actor Critic 자체는 1998년 머신러닝 교과서에도 수록되어있는 터라, PyTorch로 구현한 내용은 이와는 분명히 다를 텐데... 하며 검색하다가 2016년에 발표된 논문을 찾을 수 있었다. 하지만 생각보다 논문이 너무 무섭게(어렵게) 쓰여있는 바람에 읽어볼 엄두는 못내고, 일단 코드를 분석하면서 의미를 파악해보기로 했다. 기본적인 Actor Critic의 내용은 지난 CS234 수업에서 배웠듯이, Policy와 Value 네트워크를 따로따로 학.. PyTorch를 활용한 Actor-Critic Tutorial 1탄 DQN의 형편없는 performance에 굴하지 않고, actor-critic을 활용해서 cartpole 문제를 풀어보기로 했다. 마찬가지로, 오늘은 실행해보는데 의의를 뒀으며 정확히 어떤 알고리즘인지 파악하지는 못했다. colab.research.google.com/drive/1od7-cpNDHKUBdn8A-zL8da7tgVL3DYrf?usp=sharing Google Colaboratory colab.research.google.com 그럼에도 불구하고 코드는 상당히 간결하고 결과물은 상당히 좋았다. 오히려 DQN보다도 코드가 짧았던 것 같다. 에피소드가 1000번이 넘도록 풀리지 않던 문제가 꼴랑 400회 만에 너끈히 풀린 것이다. 또한 최대 reward가 200에 묶여있다는 사실도 알게 되었다. .. PyTorch를 활용한 DQN tutorial - 2탄 지난 번에는 DQN tutorial을 적당히 수정해서 완벽히 실행시켜보는 것에 의의를 뒀다면 이번에는 실제 논문을 읽어보고 코드를 분석해봤다. 놀라웠던 점은 8 페이지 남짓한 짧은 논문에 강화학습의 기본 원리부터 이번에 만들어낸 알고리즘의 특성까지 세세하게 적혀 있었다는 것이다. DQN의 핵심 내용 역시 위의 알고리즘에 거의 모두 담겨있다고 해도 과언이 아니다. 때문에, 튜토리얼의 설명이 아무리 잘 되어 있더라도, 또는 여기서 내가 아무리 설명을 기똥차게 하더라도, 논문을 한 번 읽어보는 것만 못하다. 코드가 어떤식으로 논문 내용을 반영할 수 있었는지를 분석하면서 내용을 나름대로 정리하는 수준이라도 되었으면 좋겠다. colab.research.google.com/drive/1SVVKAAeuI-LATWyb.. PyTorch를 활용한 DQN Tutorial - Pytorch vs Tensorflow 이제 막 강화학습을 시작하는 단계에서 PyTorch와 Tensorflow 중에서 어떤 툴을 사용해야 하는지 고민이 된다. 이런 걸로 고민하고 있다는 것은 사실 강화학습에 대한 근본적인 이해가 부족하다는 것이다. "기본이 따악 잡혀있으면, 그런 툴 정도는 도구로 활용할 수 있는거야!" 하면서 일갈하는 사람도 있겠다만, 나로서는 마땅히 대꾸할 방법이 없다. 그래도 PyTorch vs Tensorflow로 검색해보면 많은 사람들이 같은 고민을 하는 중이라고 생각된다. 그런 글들도 역시 마땅한 결론은 없다. Tensorflow가 딥마인드(구글)의 힘을 얻어 사용되는 중인 반면에 PyTorch는 마땅히 비빌 언덕도 없을텐데 최근 들어 더 많이 쓰이기 시작한 툴은 PyTorch라는 것이다. 보면 대단하기도 하고, .. 탐조 입문자를 위한 딥러닝 활용기 - 1편 마산에서 저어새를 찍음으로써, 한 가지 취미가 확실해졌다. 새를 관찰하는 일이 즐겁기 그지 없구나! 그렇다면 투자를 조금 더 해서 탐조용 카메라를 맞춰볼까? 바로 "탐조 입문용 카메라 추천"을 검색해보았다. 카메라 사는 것은 바로 포기했다. 아니 21세기의 20%가 지난 2021년에, 100배 줌이다 뭐다 "카메라 휴대폰으로도 이렇게 찍을 수 있구나" 난리법석 왁자지껄한데 새 좀 찍는 카메라에 100만은 택도 없다는 게 현실인가? 믿기지 않는다. 그래서 과학의 힘을 빌려보기로 했다. 2018년 9월에 발표된 ESRGAN이라는 논문이 Tensorflow 블로그에 잘 설명되어 있어서 "이거다" 싶었다. 살짝 오래되었다는 점이 흠이지만, 일단 시험삼아서 해본 뒤에 차차 발전시켜 나가면 될 일이다. 내가 찍은 .. 한국 정부에서 1600억을 들여 개발 중인 아이언맨 슈트 알키미스트 프로젝트라는 것이 있다. 금을 만들겠다는 허황된 꿈을 향해 정진했던 연금술사들처럼 산업의 초고난도 문제를 해결하기 위해 대규모의 예산을 지원해주는 국가 사업이다. "뭐 얼마나 어려운 문제이길래 국가에서 나서서 풀라 그래?" 하고 생각할 수 있다. 예시 문제는 아래와 같다. 1분간 충전해서 600km를 가는 전기차나, 100m를 7초에 돌파하는 로봇 슈트 같은 개념은 아무래도 공무원들이 마블 영화를 너무 재밌게 봤나보다- 싶은 주제들이다. 하지만 진짜로 이런 주제들로 연구팀을 선정해서는 열심히 준비 중인 것이다. 위 목록은 19년도 지원 대상이니, 올해로 2년차 연구에 접어들었을 것이다. 나로서는 강건너 불구경하듯 말하고는 있지만, 오늘만 해도 하루 종일 참고문헌 논문들만 읽다가 집으로 돌아온 .. PyTorch 튜토리얼, 60분 내로 끝낼 수 있을까? 강화학습을 pytorch로 구현하는 게 좋다는 말을 들었다. 사실 tensorflow든, pytorch든 기본적인 구조는 동일하기에 사투리 정도로 치부하는 사람이 있다. 하지만 일본어 자체를 모르면 오사카 사투리든, 도쿄 표준어든 외국어인 것은 마찬가지이므로 pytorch 튜토리얼을 차근차근 진행해보았다. 해당 튜토리얼은 pytorch 공식 사이트에서 제작해서는 60분짜리 튜토리얼이라고 대놓고 강조하고 있는데 실제로 해보니 정말 그렇다. 네 개의 미니 세션으로 이뤄져 있으며 각 세션은 구글 코랩과 연동되어 있어서 바로 바로 코드를 돌리며 확인할 수 있다. 코랩을 이용하면 GPU가 미약한 내 컴퓨터에서도 당당히 pytorch GPU 버전을 사용할 수 있다. 블로그를 주욱 읽어 내려가면 자연스럽게 이해할 수.. [CS234] Lecture 16: Monte Carlo Tree Search 정리 CS234 대망의 마지막 강의를 장식하는 주제는 Monte Carlo Tree Search[MCTS]이다. 몬테카를로는 익히 배웠던 비효율적인 방식인데다가 Tree Search라고 하면 가지치기로 결정을 내리는 이미지가 있어서 그런지 그동안 배웠던 멋진 Policy Gradient 따위의 알고리즘을 제치고 마지막 강의로 쓸 법한 내용이 맞긴 한가 하는 의문이 든다. 하지만 MCTS는 생각보다 굉장히 중요한 알고리즘이라고 한다. 알파고에 적용되어 있을 뿐만 아니라, 모델이 주어진 경우의 강화학습에 대한 이해를 높여준다나. 일단 알파고가 나온지도 5년이 지났는데(군대에 있었다), 아직도 알파고 하면 멋져보인다는 것은 나름대로 문제가 있다. 또한 모델이 주어진 경우의 강화학습은 왜 이렇게 많이 나오는 건지 모.. 이전 1 ··· 6 7 8 9 10 11 12 다음