ML-Agents Crawler 환경을 stable-baselines3로 학습하기
·
인공지능
ML-Agents를 이용해서 환경을 만들고 이를 학습시키보던 중 신기한(?) 현상을 발견했다.모든 hyperparameter가 같음에도 불구하고 ML-Agents 알고리즘과 SB3(Stable-Baselines3) 알고리즘의 성능 차이가 너무 크게 났던 것이다. (ML-Agents PPO가 SB3 PPO보다 훨씬 우세했다.)ML-Agents와 SB3의 PPO 코드를 엄청 뜯어보고 고친 결과 SB3 PPO를 이용해 Crawler환경에서 ML-Agents PPO의 성능을 동일하게 재현할 수 있었다.따라서 이 글에서는 SB3 PPO로 ML-Agents PPO의 성능을 재현하는 방법을 써보려고 한다. ML-Agents Crawler 환경본론에 들어가기에 앞서, 테스트에 사용된 Crawler환경에 대해서 간략히 ..
Backpropagation Vectorization
·
인공지능
Background$W \in \mathbb{R}^{D_2 \times D_1}$, $X \in \mathbb{R}^{D_1 \times N}$ 에 대해 bias가 생략된 linear layer의 출력값 $Z=WX, Z \in \mathbb{R}^{D_2 \times N}$가 있다고 하자.또한 $L : \mathbb{R}^{D_2 \times N} \rightarrow \mathbb{R}$은 최적화 하려는 object function이라고 하자. Chain Rule 에 따라 gradient를 다음과 같이 구할수 있다.$$ \frac{\partial{L}}{\partial{W}} = \frac{\partial{L}}{\partial{Z}} \frac{\partial{Z}}{\partial{W}} $$하만 ..
Cross Entropy Derivation
·
인공지능
Binary Cross Entropy$y$를 ground truth값, $\hat{y}$를 estimation값, $p=P(y=1)$, $\hat{p}_\theta$는 $p$를 parameterized한 함수라고 하자.그다음 $y=0$일때와 $y=1$일때 각각의 likelihood 함수를 구해보자. 1) $y=0$일때는 $y=0$인 샘플들만 있을 것이고 likelihood 함수는 다음과 같다.$$L^{}_{\theta} = 1 - \hat{p}_\theta$$2) $y=1$일때 $L^{}_\theta$는 다음과 같다.$$L^{}_\theta = \hat{p}_\theta$$ $L^{}_\theta$과 $L^{}_\theta$를 합치고 log-likelihood를 구하면 다음과 같다.$$L_\theta =..
CS234 Notes - Lecture 2 번역본
·
인공지능
CS234 Notes - Lecture 2 를 번역해 보았다. Exercise나 쉬운 증명들은 다 생략했고, 중간에 어떤 증명(Theorem 3.4.)은 내방식대로 써놨다. 너무 힘들어서 다시는 안할듯.
RNN - Recurrent neural network
·
인공지능
What is RNN ?rnn은 이름에서도 알 수 있듯이 반복되는 구조의 신경망이다.즉, 한 rnn 유닛이 여러 time step를 가질 수 있어서, 임이의 길이의 정보를 처리할 수 있다.이때 한 rnn 유닛은 모든 time step에서 가중치를 공유한다.또 rnn은 이러한 구조 덕분에 시계열 데이터나 순차적인 데이터 처리를 잘한다. 주의해야될 점이 있는데 이는 rnn이 시간에 따라 측정된 데이터를 다 처리할 수 있다는 것은 아니다.rnn은 stationary한 데이터 즉, 시간에 따른 확률 분표의 변화가 (적거나)없는 데이터를 가장 잘 처리한다.rnn이 모든 time step에 대해 가중치를 공유하는 이유도 이러한 가정에 바탕을 둔 것으로 생각할 수 있다. 왜 굳이 mlp대신 rnn을 사용하는지 의문이..
머신러닝에 쓰이는 정보이론
·
인공지능
정보정보이론에서 정보란 예측 불가능한 정도를 나타내는 물리량이다.확률 $p$의 정보는 수식적으로 다음과 같이 정의된다.$$I(p) = -\log_2 (p)$$ 그래프로 나타내면 다음과 같다.즉, 확률이 1인 사건은 정보량이 0이고, 확률이 낮은 사건일수록 정보량이 크다. 이를 다음과 같이 생각해볼수도 있다.어떤 사건이 일어날 확률이 높다는 것은 그 사건을 예상하기 쉽다는 것이고, 예상과 일치한다는 것은 새로운 정보가 없다는것이니까 정보량도 낮다고 볼수 있다.  entropy어떤 확률변수 $X$에 대해 $X$의 엔트로피는 $X$의 정보량의 평균(기댓값)으로, 다음과 같이 정의된다.$$H(X=x) = - \sum p(x_i) \log_2 p(x_i)$$ 정보와 엔트로피의 단위는 $log$의 밑에 따라 다른데..
Optimizer 정리
·
인공지능
SGD (Stochastic gradient descent)$$w_{t+1} = w_{t} - \alpha \cdot \frac{\partial J(t)}{\partial w_{t}}$$ $\alpha$ : 학습률로 0.01, 0.001등의 작은 값을 사용한다. 가장 기본적인 형태의 optimizer로, (mini-)batch 단위로 경사하강법을 한다.기울기가 0이되면 업데이트가 일어나지 않는다는 문제점이 있다. Momentum$$m_{t+1} = \beta \cdot m_{t} + (1 - \beta) \cdot \frac{\partial J(w_{t})}{\partial w_{t}}$$$$w_{t+1} = w_{t} - \alpha \cdot m_{t+1}$$ $m$ : 기존의 기울기에 지수 가중 평..
Convolutional Neral Network
·
인공지능
IntroductionCNN은 이미지나 시계열 데이터를 처리하는데 특화된 신경망 구조이다. 한번 이미지 classification 문제를 일반적인 MLP로만 해결한다고 해보자.그러면 먼저 이미지의 각 픽셀들을 모두 펴서 하나의 벡터로 만들게 되고, 이를 FC(fully connected layer)에 넣서 계산한다. 이러한 방식은 픽셀간의 위치 관계(예를 들면 이미지에서 가까운 두 픽셀은 서로 멀리 떨어진 픽셀보다 더 관련이 많다)등을 무시하고, 파라미터 양도 매우 많아서 이미지를 학습하기에는 비효율적이다.반면, CNN은 이러한 픽셀들의 공간적 구조를 고려해 더 효율인 신경망이다. CNN에서 각 레이어의 역할은 다음과 같다. 1. Convolutional Layer (Conv)- 이 레이어 에서는 edg..
zanzun
'인공지능' 카테고리의 글 목록