Tag

RL

snakegame 강화학습 도전기

스네이크 게임은 정해진 그리드 격자 배열 안에서 뱀을 움직이면서 1개 이상의 아이템을 먹으면서 몸을 키우는 게임이다. 아이템을 먹으면 몸이 1칸 늘어나게 된다. 자기 몸에 박거나 벽에 박게 되면 게임이 종료된다.

Woodoku/BlockPuzzle 게임 강화학습 도전기

Woodoku는 특정 게임의 이름입니다. 좋은 이름이 떠오르지 않아 환경 또한 Woodoku로 이름지었습니다. 비슷한 게임이 여럿 있는 것으로 알고있지만 어떤 게임이 원조인지는 모릅니다. Woodoku 이름 관련하여 문제가 있을 경우 왼쪽 프로필의 이메일로 연락 주시길 바랍니다.

2048 게임 강화학습 도전기

2048 게임을 정복하기 위해 gym-game2048 강화학습 환경을 만들고 그것을 정복하기 위해 시도한 시행착오를 적어놓은 일지이다.

강화학습 문답

유용하다 생각했던 강화학습 관련 Q&A를 정리하는 글이다. 답변자의 신뢰도는 고려하지 않으니 참고할 때 유의하기 바란다.

Dueling DQN

Dueling Network Architectures for Deep Reinforcement Learning, Wang et al, 2015. Algorithm: Dueling DQN.

gym Wrappers 정리

gym이 gymnasium으로 바뀌었으나 서술의 편의를 위하여 gym으로 서술하겠다.

강화학습의 환경 요약

강화학습 논문들에서 검증수단으로 활용되는 환경들에 대해서 설명한다. 게임의 경우 공략법보다는 간단한 특징에 주목한다.

강화학습 코드/환경 구현시 팁

강화학습 알고리즘/논문 구현시 겪었던 고충들을 늘어놓고 해결할 때마다 업데이트 하기 위한 글이다. 지속적으로 업데이트 할 예정이다.

DQN, 심층 Q 네트워크

DQN은 $Q$함수를 근사하는 가치 기반 시간차(value-based temporal difference (TD)) 알고리즘이다. 학습된 $Q$ 함수를 이용하여 행동을 선택한다. DQN은 이산적 행동 공간을 갖는 환경에만 적용할 수 있다. SARSA와 달리 최적 $Q$ 함수를 학습...

REINFORCE

좋은 결과를 초래한 행동이 더 높은 확률로 선택되도록 에이전트를 학습시켜야 한다. 행동 확률이 정책 경사(policy gradient)를 따라 변하기 때문에 REINFORCE는 정책 경사 알고리즘으로 알려져 있다.

강화학습에서 stationary와 deterministic

스터디 중 stationary 관련하여 설명하였다, 그런데 설명 후 그것은 deterministic이라는 지적을 받았다. 생각해보니 그 두개를 혼재하며 사용하고 있었다는 것을 느껴 관련하여 정리하기 위하여 이 글을 쓴다.

강화학습 공식 정리

n-step TD $G_{t:t+n} \doteq R_{t+1}+\gamma R_{t+2}+ \cdots + \gamma^{n-1}R_{t+n}+\gamma V_{t+n-1}(S_{t+n})$

맨 위로 이동 ↑

python

파이썬 복습

1. namedtuple 1-1. 기본 설명 namedtuple 인스턴스는 일반 튜플과 마찬가지로 메모리 효율적이다. 인스턴스마다 딕셔너리를 포함하고 있지 않기 때문이다. 각 namedtuple은 namedtuple() 팩토리 함수를 사용해 생성되는 자신의 클래스로 표현할 수 있다...

맨 위로 이동 ↑

Sutton

맨 위로 이동 ↑

단단한 강화학습

맨 위로 이동 ↑

cpp

맨 위로 이동 ↑

c++

맨 위로 이동 ↑

list

맨 위로 이동 ↑

new

맨 위로 이동 ↑

delete

맨 위로 이동 ↑

sql

SQL 복습

1 WHERE 절에서 = NULL 이 아니라 IS NULL로 찾아야 한다. 반대는 IS NOT NULL

SQL 자료형 복습

문자 데이터 고정 길이 문자열 1 char(20) /* fixed-length */ 공백으로 오른쪽이 채워지고 항상 동일한 수의 바이트를 사용

SQL 명령어 복습

Login / LogOut 1 mysql -u root -p 루트 계정을 사용하여 로그인

맨 위로 이동 ↑

gym

gym Wrappers 정리

gym이 gymnasium으로 바뀌었으나 서술의 편의를 위하여 gym으로 서술하겠다.

맨 위로 이동 ↑

PPO

snakegame 강화학습 도전기

스네이크 게임은 정해진 그리드 격자 배열 안에서 뱀을 움직이면서 1개 이상의 아이템을 먹으면서 몸을 키우는 게임이다. 아이템을 먹으면 몸이 1칸 늘어나게 된다. 자기 몸에 박거나 벽에 박게 되면 게임이 종료된다.

Woodoku/BlockPuzzle 게임 강화학습 도전기

Woodoku는 특정 게임의 이름입니다. 좋은 이름이 떠오르지 않아 환경 또한 Woodoku로 이름지었습니다. 비슷한 게임이 여럿 있는 것으로 알고있지만 어떤 게임이 원조인지는 모릅니다. Woodoku 이름 관련하여 문제가 있을 경우 왼쪽 프로필의 이메일로 연락 주시길 바랍니다.

2048 게임 강화학습 도전기

2048 게임을 정복하기 위해 gym-game2048 강화학습 환경을 만들고 그것을 정복하기 위해 시도한 시행착오를 적어놓은 일지이다.

맨 위로 이동 ↑

jax

맨 위로 이동 ↑

DQN

DQN, 심층 Q 네트워크

DQN은 $Q$함수를 근사하는 가치 기반 시간차(value-based temporal difference (TD)) 알고리즘이다. 학습된 $Q$ 함수를 이용하여 행동을 선택한다. DQN은 이산적 행동 공간을 갖는 환경에만 적용할 수 있다. SARSA와 달리 최적 $Q$ 함수를 학습...

맨 위로 이동 ↑

gymnasium

맨 위로 이동 ↑

algorithm

맨 위로 이동 ↑

RL Paper Review

Dueling DQN

Dueling Network Architectures for Deep Reinforcement Learning, Wang et al, 2015. Algorithm: Dueling DQN.

맨 위로 이동 ↑

torch

맨 위로 이동 ↑

flax

맨 위로 이동 ↑

upbit

맨 위로 이동 ↑

confusion matrix

맨 위로 이동 ↑

f1 score

맨 위로 이동 ↑

f beta score

맨 위로 이동 ↑

pr-curve

맨 위로 이동 ↑

roc-curve

맨 위로 이동 ↑

auc

맨 위로 이동 ↑

RMSE

맨 위로 이동 ↑

MAE

맨 위로 이동 ↑

sigmoid

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

tanh

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

xavier

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

glorot

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

kaiming

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

weight initialization

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

relu

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

prelu

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

rrelu

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

leaky relu

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

elu

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

selu

딥러닝 활성화 함수, Activation Function

활성화 함수의 필요성 활성화 함수는 비선형성(non-linearity)라고도 부른다. 활성화 함수가 없다면 Dense층은 선형적인 연산인 점곱과 덧셈 2개로 구성된다

맨 위로 이동 ↑

배치 정규화

배치 정규화, Batch Normalization

배치 정규화 정규화는 머신 러닝 모델에 주입되는 샘플들을 균일하게 만드는 광범위한 방법이다. 이 방법은 모델이 학습하고 새로운 데이터에 잘 일반화되도록 돕는다. 데이터 정규화의 일반적인 형태는 다음과 같다.

맨 위로 이동 ↑

Batch Normalization

배치 정규화, Batch Normalization

배치 정규화 정규화는 머신 러닝 모델에 주입되는 샘플들을 균일하게 만드는 광범위한 방법이다. 이 방법은 모델이 학습하고 새로운 데이터에 잘 일반화되도록 돕는다. 데이터 정규화의 일반적인 형태는 다음과 같다.

맨 위로 이동 ↑

BN

배치 정규화, Batch Normalization

배치 정규화 정규화는 머신 러닝 모델에 주입되는 샘플들을 균일하게 만드는 광범위한 방법이다. 이 방법은 모델이 학습하고 새로운 데이터에 잘 일반화되도록 돕는다. 데이터 정규화의 일반적인 형태는 다음과 같다.

맨 위로 이동 ↑

CG

맨 위로 이동 ↑

DCG

맨 위로 이동 ↑

NDCG

맨 위로 이동 ↑

RecSys

맨 위로 이동 ↑

추천 시스템

맨 위로 이동 ↑

CE

맨 위로 이동 ↑

Cross Entropy

맨 위로 이동 ↑

BCE

맨 위로 이동 ↑

Binary Cross Entropy

맨 위로 이동 ↑

Bagging

배깅, 부스팅 그리고 스태킹: Bagging, Boosting and Stacking

앙상블 방법은 예측기가 가능한 한 서로 독립적일 때 최고의 성능을 발휘한다. 다양한 분류기를 얻는 한 가지 방법은 각기 다른 알고리즘으로 학습시키는 것이다. 이렇게 하면 매우 다른 종류의 오차를 만들 가능성이 높기 때문에 앙상블 모델의 정확도를 향상시킨다.

맨 위로 이동 ↑

Boosting

배깅, 부스팅 그리고 스태킹: Bagging, Boosting and Stacking

앙상블 방법은 예측기가 가능한 한 서로 독립적일 때 최고의 성능을 발휘한다. 다양한 분류기를 얻는 한 가지 방법은 각기 다른 알고리즘으로 학습시키는 것이다. 이렇게 하면 매우 다른 종류의 오차를 만들 가능성이 높기 때문에 앙상블 모델의 정확도를 향상시킨다.

맨 위로 이동 ↑

Stacking

배깅, 부스팅 그리고 스태킹: Bagging, Boosting and Stacking

앙상블 방법은 예측기가 가능한 한 서로 독립적일 때 최고의 성능을 발휘한다. 다양한 분류기를 얻는 한 가지 방법은 각기 다른 알고리즘으로 학습시키는 것이다. 이렇게 하면 매우 다른 종류의 오차를 만들 가능성이 높기 때문에 앙상블 모델의 정확도를 향상시킨다.

맨 위로 이동 ↑

adaboost

배깅, 부스팅 그리고 스태킹: Bagging, Boosting and Stacking

앙상블 방법은 예측기가 가능한 한 서로 독립적일 때 최고의 성능을 발휘한다. 다양한 분류기를 얻는 한 가지 방법은 각기 다른 알고리즘으로 학습시키는 것이다. 이렇게 하면 매우 다른 종류의 오차를 만들 가능성이 높기 때문에 앙상블 모델의 정확도를 향상시킨다.

맨 위로 이동 ↑

gradientboosting

배깅, 부스팅 그리고 스태킹: Bagging, Boosting and Stacking

앙상블 방법은 예측기가 가능한 한 서로 독립적일 때 최고의 성능을 발휘한다. 다양한 분류기를 얻는 한 가지 방법은 각기 다른 알고리즘으로 학습시키는 것이다. 이렇게 하면 매우 다른 종류의 오차를 만들 가능성이 높기 때문에 앙상블 모델의 정확도를 향상시킨다.

맨 위로 이동 ↑

lightgbm

LightGBM

XGBoost는 매우 뛰어난 부스팅 알고리즘이지만 XGBoost에서 GridSearchCV로 수행시간이 너무 오래 걸려서 많은 파라미터를 튜닝하기에 어려움을 겪을 수밖에 없다.

맨 위로 이동 ↑

gradient descent

맨 위로 이동 ↑

optimizer

맨 위로 이동 ↑

momentum

맨 위로 이동 ↑

nesterov

맨 위로 이동 ↑

AdaGrad

맨 위로 이동 ↑

RMSProp

맨 위로 이동 ↑

Adam

맨 위로 이동 ↑

Nadam

맨 위로 이동 ↑

Boltzmann machine

맨 위로 이동 ↑

Q Learning

강화학습 공식 정리

n-step TD $G_{t:t+n} \doteq R_{t+1}+\gamma R_{t+2}+ \cdots + \gamma^{n-1}R_{t+n}+\gamma V_{t+n-1}(S_{t+n})$

맨 위로 이동 ↑

Sarsa

강화학습 공식 정리

n-step TD $G_{t:t+n} \doteq R_{t+1}+\gamma R_{t+2}+ \cdots + \gamma^{n-1}R_{t+n}+\gamma V_{t+n-1}(S_{t+n})$

맨 위로 이동 ↑

NLP

자연어 처리 개요

『텐서플로2와 머신러닝으로 시작하는 자연어 처리』 책을 보고 정리하기 위해 쓴 글이다.

맨 위로 이동 ↑

텐서플로2와 머신러닝으로 시작하는 자연어 처리

자연어 처리 개요

『텐서플로2와 머신러닝으로 시작하는 자연어 처리』 책을 보고 정리하기 위해 쓴 글이다.

맨 위로 이동 ↑

stationary

강화학습에서 stationary와 deterministic

스터디 중 stationary 관련하여 설명하였다, 그런데 설명 후 그것은 deterministic이라는 지적을 받았다. 생각해보니 그 두개를 혼재하며 사용하고 있었다는 것을 느껴 관련하여 정리하기 위하여 이 글을 쓴다.

맨 위로 이동 ↑

deterministic

강화학습에서 stationary와 deterministic

스터디 중 stationary 관련하여 설명하였다, 그런데 설명 후 그것은 deterministic이라는 지적을 받았다. 생각해보니 그 두개를 혼재하며 사용하고 있었다는 것을 느껴 관련하여 정리하기 위하여 이 글을 쓴다.

맨 위로 이동 ↑

REINFORCE

REINFORCE

좋은 결과를 초래한 행동이 더 높은 확률로 선택되도록 에이전트를 학습시켜야 한다. 행동 확률이 정책 경사(policy gradient)를 따라 변하기 때문에 REINFORCE는 정책 경사 알고리즘으로 알려져 있다.

맨 위로 이동 ↑

UCB

맨 위로 이동 ↑

pytorch

맨 위로 이동 ↑

distribution

맨 위로 이동 ↑

Categorical

맨 위로 이동 ↑

Normal

맨 위로 이동 ↑

Experience Replay

DQN, 심층 Q 네트워크

DQN은 $Q$함수를 근사하는 가치 기반 시간차(value-based temporal difference (TD)) 알고리즘이다. 학습된 $Q$ 함수를 이용하여 행동을 선택한다. DQN은 이산적 행동 공간을 갖는 환경에만 적용할 수 있다. SARSA와 달리 최적 $Q$ 함수를 학습...

맨 위로 이동 ↑

Catastrophic forgetting

DQN, 심층 Q 네트워크

DQN은 $Q$함수를 근사하는 가치 기반 시간차(value-based temporal difference (TD)) 알고리즘이다. 학습된 $Q$ 함수를 이용하여 행동을 선택한다. DQN은 이산적 행동 공간을 갖는 환경에만 적용할 수 있다. SARSA와 달리 최적 $Q$ 함수를 학습...

맨 위로 이동 ↑

Target Networks

맨 위로 이동 ↑

Double DQN

맨 위로 이동 ↑

Prioritized Experience Replay

맨 위로 이동 ↑

Importance Sampling

맨 위로 이동 ↑

openai

맨 위로 이동 ↑

pettingzoo

맨 위로 이동 ↑

Queue

맨 위로 이동 ↑

deque

맨 위로 이동 ↑

pop

맨 위로 이동 ↑

gymnaisum

gym Wrappers 정리

gym이 gymnasium으로 바뀌었으나 서술의 편의를 위하여 gym으로 서술하겠다.

맨 위로 이동 ↑

wrappers

gym Wrappers 정리

gym이 gymnasium으로 바뀌었으나 서술의 편의를 위하여 gym으로 서술하겠다.

맨 위로 이동 ↑

Dueling DQN

Dueling DQN

Dueling Network Architectures for Deep Reinforcement Learning, Wang et al, 2015. Algorithm: Dueling DQN.

맨 위로 이동 ↑

PER

맨 위로 이동 ↑

multithreading

맨 위로 이동 ↑

multiprocessing

맨 위로 이동 ↑

distributions

맨 위로 이동 ↑

categorical

맨 위로 이동 ↑

2048

2048 게임 강화학습 도전기

2048 게임을 정복하기 위해 gym-game2048 강화학습 환경을 만들고 그것을 정복하기 위해 시도한 시행착오를 적어놓은 일지이다.

맨 위로 이동 ↑

wandb

맨 위로 이동 ↑

Woodoku

Woodoku/BlockPuzzle 게임 강화학습 도전기

Woodoku는 특정 게임의 이름입니다. 좋은 이름이 떠오르지 않아 환경 또한 Woodoku로 이름지었습니다. 비슷한 게임이 여럿 있는 것으로 알고있지만 어떤 게임이 원조인지는 모릅니다. Woodoku 이름 관련하여 문제가 있을 경우 왼쪽 프로필의 이메일로 연락 주시길 바랍니다.

맨 위로 이동 ↑

BLockPuzzle

Woodoku/BlockPuzzle 게임 강화학습 도전기

Woodoku는 특정 게임의 이름입니다. 좋은 이름이 떠오르지 않아 환경 또한 Woodoku로 이름지었습니다. 비슷한 게임이 여럿 있는 것으로 알고있지만 어떤 게임이 원조인지는 모릅니다. Woodoku 이름 관련하여 문제가 있을 경우 왼쪽 프로필의 이메일로 연락 주시길 바랍니다.

맨 위로 이동 ↑

책리뷰

맨 위로 이동 ↑

bisect

맨 위로 이동 ↑

insort

맨 위로 이동 ↑

sort

맨 위로 이동 ↑

deepcopy

맨 위로 이동 ↑

list comprehension

맨 위로 이동 ↑

module

맨 위로 이동 ↑

package

맨 위로 이동 ↑

Pytorch

맨 위로 이동 ↑

Tensorflow

맨 위로 이동 ↑

str

맨 위로 이동 ↑

auto diffrentiation

맨 위로 이동 ↑

computationn graph

맨 위로 이동 ↑

snakegame

snakegame 강화학습 도전기

스네이크 게임은 정해진 그리드 격자 배열 안에서 뱀을 움직이면서 1개 이상의 아이템을 먹으면서 몸을 키우는 게임이다. 아이템을 먹으면 몸이 1칸 늘어나게 된다. 자기 몸에 박거나 벽에 박게 되면 게임이 종료된다.

맨 위로 이동 ↑

TRPO

맨 위로 이동 ↑

우수학술도서

맨 위로 이동 ↑

invalid action masking

맨 위로 이동 ↑

Policy Gradient

맨 위로 이동 ↑