간단한 동아리 프로젝트를 하면서 pull request merge받기 전 작동을 하는지 간단하게 테스트 하고 싶어서 만들어 봤습니다.간단하게 하나씩 보겠습니다.dev branch에서 작업을 진행했기 때문에 dev에 pull request 이벤트가 들어오면 실행되도록 했
Reinforce 알고리즘 이제 policy gradient를 이용해 어떻게 학습할 수 있는지 알아보겠습니다. reinforce알고리즘은 policy gradient에 속하는 간단한 알고리즘입니다. 이론적 배경 학습에 사용되는 수식입니다. policy gradient
가치 기반 에이전트는 가치 함수만 가지고 액션을 선택하기 때문에 명시적인 정책 함수가 존재하지 않았습니다. 이번에는 정책 함수를 가지고 액션을 선택하는 정책 기반 에이전트에 대해서 알아보겠습니다. Policy Gradient
책에서 딥러닝 파트도 간결하게 정리가 정말 잘 되어있습니다. 딥러닝 관련 내용이므로 넘어가고 가치 기반 에이전트에 대해 알아보겠습니다. 여전히 model free상황이고 상태 공간과 액션 공간이 너무 커서 밸류를 일일이 테이블에 담지 못하는 상황에서의 해결책을 다룹니
저가 못 찾은 건지 모르겠지만 pytorch lightning으로 cam을 만드는 코드를 찾을 수 없었니다. 물론 pytorch로 쉽게 구현할 수 있지만 pl로 만든 모델이라 pytorch로 포팅하는 것 보다 predict step이나 test step에 넣어서 보는게
MC 컨트롤에 이어 TD를 사용하는 방법에 대해 알아볼 차례입니다.TD를 이용해 $q(s, a)$를 구하는 방법은 SRASA라는 이름으로 불립니다.상태 s에서 액션 a를 하고 보상 r를 받고 상태 s'에 도착해 다음액션 a'을 합니다. 이 알파벳을 연결해 SRASA가
이전까지 MDP를 모를 때 value를 평가하는 방법(MC, TD)을 봤습니다(Prediction). 이제 정책을 찾는 방법을 알아볼 차례입니다.(Control) 몬테카를로 컨트롤 MDP를 알고있을 때에는 정책 이터레이션을 사용해 밸류를 계산하고 그 값에서 그리디하게
앞서 배운 MC, TD중 어떤 것이 더 좋다라고 말하기는 어렵습니다. 각 방법에 대해 장점이 존재하기 때문에 여러 측면에서 살펴보겠습니다. MC는 에피소드가 끝나고 리턴이 정해져야 되돌아가면서 학습을 진행하고 TD는 한 스텝마다 바로바로 값을 업데이트 합니다.
Model Free(1)에서는 MC(Monte Carlo)학습을 알아보았는데 이번엔 TD(Temporal Difference)학습에 대해서 알아보겠습니다.MC의 경우에는 업데이트를 하기위해 에피소드가 끝나야 한다는 문제가 있습니다. 다시말해 반드시 종료하는 MDP이어야
이제 MDP를 모르는 상황에서의 강화학습을 배워볼 차례입니다. 보상함수$r^{a}{s}$와 전이 확률 $P^{a}{ss'}$을 모르는 상황을 model-free라고 부릅니다.간단하게 하나만 보고 넘어가겠습니다. model은 강화학습에서 환경의 모델(model of en
이번 장에서는 value를 구하는 방법에 대해 나옵니다. 벨만 기대 방정식 수식을 차근차근 살펴보겠습니다. $$ v{\pi}(s{t})=\mathbb{E{\pi}}[G{t}] $$ $$ =\mathbb{E{\pi}}[r{t+1}+\gamma r{t+2}+\gamma
MDP(Markov Decision Process) 이제 필요한 내용은 모두 봤으니 MDP를 설명할 차례입니다. MP나 MRP로는 순차적 의사결정 문제를 모델링할 수 없지만 MDP에서 의사를 가지고 행동하는 주체인 Agent가 등장하면서 가능해집니다. 에피소드 sa
강화학습? 보상을 최대화 하기위한 행동을 시도하면서 보상을 최대로하는 행동을 찾는 과정이라고 생각할 수 있습니다. 책에서는 아래와 같이 소개하네요 > 순차적 의사결정 문제에서 누적 보상을 최대화 하기 위해 시행착오를 통해 행동을 교정하는 학습 과정 순차적 의사결정 간
리뷰할 논문은 2019년 ICLR에 게재된 IMAGENET-TRAINED CNNS ARE BIASED TOWARDS TEXTURE입니다. Introduction 기본적으로 2014년에 나온 Visualizing and Understanding Convolutiona
Dacon대회 중 multi-label관련 sota에서 Q2L을 보고 읽게 되었습니다.대부분 내용을 요약했고 실제 논문과 다르게 해석했을 수 있습니다.multi-label classification task는 보통 label imbalance와 roi(region of
일일이 손으로 구성하던 소프트웨어 아키텍쳐 혹은 그래프들을 간단하게 만드는 언어가 나왔습니다.D2 공식문서프로젝트에 쓰일 아키텍쳐를 아래처럼 만들어봤습니다. 보고 만드는데 30분도 안걸린것같네요script로 설치하는 방법과 source를 통해 설치하는 방법이있는데 저는
클래스 불균형을 해결하기 위해 클래스 난이도에 따라 동적으로 loss 가중치를 할당하는 방법인 Class-wise Difficulty-Balanced Loss에 대해 논문을 알아보겠습니다. Introduce 사람들이 학습을 하기 위해 만든 데이터 셋은 클래스의 분포가
classmethod를 사용하다가 재밌는걸 발견했습니다. python 클래스를 생성후 할당하지 않으면 그 클래스를 재사용합니다.