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
·
인공지능
BackgroundWRD2×D1, XRD1×N 에 대해 bias가 생략된 linear layer의 출력값 Z=WX,ZRD2×N가 있다고 하자.또한 L:RD2×NR은 최적화 하려는 object function이라고 하자. Chain Rule 에 따라 gradient를 다음과 같이 구할수 있다.LW=LZZW하만 ..
Cross Entropy Derivation
·
인공지능
Binary Cross Entropyy를 ground truth값, y^를 estimation값, p=P(y=1), p^θp를 parameterized한 함수라고 하자.그다음 y=0일때와 y=1일때 각각의 likelihood 함수를 구해보자. 1) y=0일때는 y=0인 샘플들만 있을 것이고 likelihood 함수는 다음과 같다.Lθ=1p^θ2) y=1일때 Lθ는 다음과 같다.Lθ=p^θ LθLθ를 합치고 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)=log2(p) 그래프로 나타내면 다음과 같다.즉, 확률이 1인 사건은 정보량이 0이고, 확률이 낮은 사건일수록 정보량이 크다. 이를 다음과 같이 생각해볼수도 있다.어떤 사건이 일어날 확률이 높다는 것은 그 사건을 예상하기 쉽다는 것이고, 예상과 일치한다는 것은 새로운 정보가 없다는것이니까 정보량도 낮다고 볼수 있다.  entropy어떤 확률변수 X에 대해 X의 엔트로피는 X의 정보량의 평균(기댓값)으로, 다음과 같이 정의된다.H(X=x)=p(xi)log2p(xi) 정보와 엔트로피의 단위는 log의 밑에 따라 다른데..
Optimizer 정리
·
인공지능
SGD (Stochastic gradient descent)wt+1=wtαJ(t)wt α : 학습률로 0.01, 0.001등의 작은 값을 사용한다. 가장 기본적인 형태의 optimizer로, (mini-)batch 단위로 경사하강법을 한다.기울기가 0이되면 업데이트가 일어나지 않는다는 문제점이 있다. Momentummt+1=βmt+(1β)J(wt)wtwt+1=wtαmt+1 m : 기존의 기울기에 지수 가중 평..
Convolutional Neral Network
·
인공지능
IntroductionCNN은 이미지나 시계열 데이터를 처리하는데 특화된 신경망 구조이다. 한번 이미지 classification 문제를 일반적인 MLP로만 해결한다고 해보자.그러면 먼저 이미지의 각 픽셀들을 모두 펴서 하나의 벡터로 만들게 되고, 이를 FC(fully connected layer)에 넣서 계산한다. 이러한 방식은 픽셀간의 위치 관계(예를 들면 이미지에서 가까운 두 픽셀은 서로 멀리 떨어진 픽셀보다 더 관련이 많다)등을 무시하고, 파라미터 양도 매우 많아서 이미지를 학습하기에는 비효율적이다.반면, CNN은 이러한 픽셀들의 공간적 구조를 고려해 더 효율인 신경망이다. CNN에서 각 레이어의 역할은 다음과 같다. 1. Convolutional Layer (Conv)- 이 레이어 에서는 edg..
zanzun