본문 바로가기

AI142

Pytorch + RTX3080 print(torch.cuda.is_available()) # False CUDA : 11.2 cuDNN : 미리 깔았었음 pytorch : 1.8.1 계속해도 안되서 아래의 페이지를 참고해서 pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html 위의 command로 torch를 한단계 downgrade했더니 정상작동함. goodtogreate.tistory.com/entry/2004-%EC%9A%B0%EB%B6%84%ED%88%AC%EA%B8%B0%EB%B0%98-NVIDIA-GeForce-RTX-3090%EC%97%90-CUD.. 2021. 3. 8.
RTX 3080 병렬로 tensorflow 위에 올려보기 GPU 연결하기 1. GPU tensorflow와 연동하기 전반적인 Setting은 이 사이트를 보고 했다. 하지만, 이 사이트는 RTX 3080에는 적합하지 않은 Setting 환경이었다. 지금 RTX 3080이 나온지 얼마 되지 않았고, Tensorflow 에서 정식적으로 호완하기에는 아직은 이른 상황인가보다. (역시...새로운게 다 좋은건 아닌 것 같다.) 그래서 이 글을 보고 헤매지 말자... 나 진짜 반나절은 이거 하나로 날려먹은듯. 처음에는 CUDA 11.2 버젼 // cuDNN 11.1 버젼으로 다운받았다가, CUDA 11.1 버젼 // cuDNN 11.1 버젼, 마지막으로 해본게 CUDA 11.0 버젼 // cuDNN 11.0 버젼 이었다. (하지만, 이게 CUDA, cuDNN 이 아니라,.. 2020. 12. 23.
DQN (Deep Q-Networks) 지금까지 우리가 배웠던 내용을 간단하게 정리해보자! 우리는 지금까지 Model을 알고 있는 경우를 Dynamic Planning으로 해결했으며, Model을 모르는 경우는 한 episode가 끝난 이후에 Return Function을 계산하는 Monte Carlo Method 나 일정한 Term을 주고 한 episode에 대해서 Return Function을 계산하는 TD Method 방법이 존재했다. 또한 우리는 어떤 특정 state일 때, 가지는 누적 reward, Return들의 기댓값을 말하는 Value function을 찾는 것이 목적이다. 이 Value Function은 어떤 특정 state일 때, 특정 action 을 선택할 확률인 Policy, $\pi$와 특정 state에서 action을.. 2020. 10. 3.
Off-Policy Control 1. 1/n 이 왜 있을까 --> 평균이라 2. 솔직히 뮤랑 파이랑 뭐가 다른지 모르겠다 3. 보통 optimal policy라고 하면 현재 policy보다 더 나은 value function을 가지는 policy를 말하는데, 이 때문에 주어진 policy에 대한 Q-value를 전부 더하는 것 대신에 Q-value 중에서 가장 큰 값을 얻을 수 있는 것을 취하는 것을 Q-learning 동작원리이다. model based 상태에서 policy가 존재하는 것을 monte carlo method라고 한다. model free 하다는 부분을 조금 헷갈렸는데, 이 부분은 셋다 모델을 모르는 건 동일한데, MCTS는 model의 전체적인 부분까지 다 보기 때문에, 나중에 value function을 값을 메기는.. 2020. 9. 24.
RL : RL 용어정리 Enviroment agent 가 속한 환경. state와 reward를 내릴 수 있는 기준의 참고문헌. 게임규칙, $(S,A,R)$ 모든 것이 Enviroment 의 요소다. Agent state에 따라 어떤 action을 내릴지 판단을 내리는 주체 State $S$. 현재 시점에서 상황이 어떤지 나타내는 값의 집합 Action $A$. Agent가 선택하는 선택지를 말한다. Reward를 얻기 위해 하는 선택지다. Reward $R$. 어떤 action을 취했을 때, 그 action 에 대한 보상이다. 이는 한 action에만 해당한다. initial state Agent가 Enviroment와 처음 상호작용할 때의 상태를 뜻한다. terminal state 더이상의 action이 불가능한 상태를 뜻.. 2020. 9. 8.
RL : TD Method TD Method Monte-Carlo방법에 이어 두 번째 방법은 Temporal Difference, 또는 TD다. TD Method 목적 Monte-Carlo에서는 실제로 얻어진 return값들을 사용하는데, Agent가 이 return을 얻는데까지는 많은 시간이 필요한 경우도 있다. 그리고 return은 오랜 기간동안 얻은 reward들을 사용하기 때문에 평균을 내야하는 각각의 return값들이 매우 다를 수 있다. 게임이나 현실의 문제는 episode의 끝이 무한대에 가깝도록 길기 때문에 episode가 반드시 끝나야 학습을 하는 MC의 방법으로는 한계가 존재한다. TD Method 정의 MC Method의 단점들을 보완해 Agent가 return을 얻기까지 기다리지 않고, 매 time-step마.. 2020. 9. 6.
RL : Monte Carlo Method Introduction 앞서서 우리는 Model을 아는 경우, Dynamic Planning 을 통해서 True Value Function을 예측한다고 배웠다. 이 때 우리는 full-width backup, 즉, 모든 state들을 업데이트 할 수 있다. 왜냐하면 우리는 이미 model을 알고 있기 때문이다. 하지만 강화학습은 Model 을 모르는 경우이기 때문에 sample backup을 진행한다. 따라서 모든 state들을 고려하지 않고, 그 중에서 sampling을 통해서 한 길만 선택해서 가보는 것이다. 이처럼 sample backup을 하는 것은 Monte Carlo Method 와 TD Method 방법 두 가지가 있다. 그래서 실제로 알파고에도 쓰였던, 모든 step을 training 하는.. 2020. 9. 6.
RL : Empirical Learning [Model 모를 때] Empirical Learning : Model을 모를 때 우리가 앞서서 표현한 Bellman Equation은 다음과 같다. 단순히 여러번의 반복적인 작업을 진행했을 때, 그 상태에서 최적의 단계를 정하는 것이 바로 Bellman Equation 이었다. 하지만 Bellman Equation의 단점이 존재한다. Model (Reward Function, Trasnsition Probability Function)을 알아야한다. 최적의 지점을 찾았다면, 방향 선택에 대해서 확률은 최적의 지점에 대해서는 1, 아닌 지점에서는 0이기 때문에 반복된 작업이 이뤄질수록 항상 같은 선택만 할 것이다. 따라서 Model을 모를 경우, Bellman Equation 같은 경우의 단점을 없애기 위해, 방향 선택에 임의.. 2020. 9. 6.
RL : Dynaimc Planning [Model 알고있을 때] 앞서서 우리는 Dynamic Programming이 무엇인지에 대해 알고 있다. 2020/09/06 - [AI/RL] - RL : Dynamic Programming RL : Dynamic Programming 출처 : velog.io/@cyranocoding/%EB%8F%99%EC%A0%81-%EA%B3%84%ED%9A%8D%EB%B2%95Dynamic-Programming%EA%B3%BC-%ED%83%90%EC%9A%95%EB%B2%95Greedy-Algorithm-3yjyoohia5 동적 계획법(Dynamic Programming)과 탐.. mambo-coding-note.tistory.com next-state-value func.으로 present-state-value func.을 구하는 것을 .. 2020. 9. 6.
RL : Value Function & Model 이전 포스팅에서는 강화학습의 Element들을 살펴보고, 이들의 정의와 서로의 관계들을 포스팅하였다. 이번 포스팅에서는 가치를 정하는 Value Function과 실제로 agent가 행해야 할 방향과 보상을 어느정도로 할 것인지를 나타내는 Model에 대해 알아볼 것이다. Value Function 앞에서 Return은 어떤 policy들의 집합을 담당하는 한 의사결정단계의 가치를 평가하는 지표로 쓰인다고 했다. 그럼, 각 state의 가치는 어떻게 판단 할 수 있을까? 어떤 상태의 가치를 나타내기 위해 Value Function이라는 것을 사용한다. Value Function은 순전히 Reward를 계산하는 방법이다. Value Function은 V, Q 두 종류가 있다. 1. State-Value F.. 2020. 9. 6.
RL : Reinforcement Learning Element 이전 포스팅에서는 강화학습의 간단한 개념들을 압축해서 설명해놓았다. 지금 포스팅에서는 강화학습에서 중요한 Element들에 대해서 자세하게 정의와 관계들을 정리할 것이다. Markov Decision Process 위에서 MDP에 대한 내용이 굉장히 많이 나온다. 애초에 강화학습은 MDP의 구성요소를 차용한 것이다. MDP 정의 우선 Markov Decision Process라고 하는것은 어떤 Agent의 의사결정 과정을 확률적인 모델 혹은 결정된 모델을 이용하여 모델링하는데 사용된다. 마르코프 결정 과정(MDP, Markov Decision Process)는 의사결정 과정을 모델링하는 수학적인 틀을 제공한다. 이 때 의사결정의 결과는 의사결정자의 결정에도 좌우되지만, 어느 정도 임의적으로 주어진다. 마.. 2020. 9. 6.
RL : Dynamic Programming Dynamic Programming 정의 시간에 따라 변하는 대상을 여러 개의 process로 나누어 계획하는 것을 말한다. “전체 문제를 작은 문제로 단순화한 다음 점화식으로 만들어 재귀적인 구조를 활용해서 전체 문제를 해결하는 방식” 전체 문제를 작은 문제로 단순화한다. -> 부분 문제를 정의한다. 재귀적인 구조를 활용할 수 있는 점화식을 만든다. -> 점화식을 만든다. 작은 문제를 해결한 방법으로 전체 문제를 해결한다. -> 문제를 해결한다. 조건 Overlapping Subproblem란, 어떤 문제가 여러 개의 부분 문제로 나뉘는 문제를 말한다. 이는 위의 Dynamic Programming의 정의에서 이미 다룬 내용이다. Optimal Substructure란, 어떤 문제의 최선의 해결책이 그.. 2020. 9. 6.