- Deep Q network(이하 DQN)와 그 Variants(DoubleDQN, DuelingDQN)를 구현해보았다.
-
그런데 DQN과 같은 계열의 방법은 RL에서 Value-Based Method라서 Policy에 대한 직접적인 학습이 아니다.
-
게다가 Value가 약간만 바뀌어도 Policy가 금방 변한다.
-
학습과정이 불안정하게되어 수렴자체가 불안정해진다. (Bias가 높다.)
# Thanks for 주찬웅 | |
# References: | |
## 1) https://github.com/jcwleo/Reinforcement_Learning/blob/master/Breakout/ | |
## 2) http://pytorch.org/tutorials/ | |
## 3) https://github.com/transedward/pytorch-dqn | |
## My codes is very very dirty... | |
## I want to your idea and advice that improves this codes. | |
import argparse |
# 2) RNN model 생성---------------- | |
## Refer : https://github.com/hunkim/DeepLearningZeroToAll/blob/master/lab-12-5-rnn_stock_prediction.py | |
library(tensorflow) | |
library(reticulate) | |
contrib <- tf$contrib | |
tf$reset_default_graph() | |
# train Parameters |
## Convex Optimization in R using CVXR | |
## from : https://rviews.rstudio.com/2017/11/27/introduction-to-cvxr/ | |
## load CVXR | |
if (!require(CVXR)){ | |
install.packages("CVXR") | |
} else{ | |
require(CVXR) | |
} |
# from : https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/graph_editor/examples/edit_graph_example.py | |
import numpy as np | |
import tensorflow as tf | |
from tensorflow.contrib import graph_editor as ge | |
# create a graph | |
g = tf.Graph() | |
with g.as_default(): |
# References: | |
import argparse | |
import torch | |
import torch.nn as nn | |
import torch.optim as optim | |
import torch.nn.functional as F | |
from torch.autograd import Variable | |
import torchvision.transforms as T |
import tensorflow as tf | |
from tensorflow import layers | |
from tensorflow.contrib.layers import xavier_initializer | |
import gym | |
import numpy as np | |
from collections import deque | |
from collections import namedtuple |
# 스타워즈 시리즈들의 유사도를 등장인물들을 통해 계산하고 시각화 하는 문제 | |
# From : https://github.com/R-Korea/weekly_R_quiz/blob/master/201808/1.movie_similarity/movie_similarity_quiz.Rmd | |
library(dplyr) | |
library(data.table) | |
library(ggplot2) | |
library(scales) | |
rm(list=ls()) | |
raw.data <- |
// From : https://www.edwith.org/datascience/lecture/33888/ | |
// edwith에서 한글자막을 달아놓은 MIT의 Data Science 강좌중 첫번째 챕터입니다. | |
// 위 링크에서 파이썬 버전의 코드를 받아보실 수 있습니다. | |
// 칼로리가 제한될 때, 음식을 선택하는 문제를 탐욕 알고리즘으로 푸는 문제입니다. | |
// 파이썬 코드를 Golang으로 변환했습니다. | |
package main | |
import ( | |
"flag" |
package main | |
import ( | |
"fmt" | |
"github.com/kniren/gota/dataframe" | |
tf "github.com/tensorflow/tensorflow/tensorflow/go" | |
"github.com/tensorflow/tensorflow/tensorflow/go/op" | |
"os" | |
) |