ML&DL/Basics11 [DL][Implementation] Numpy을 사용하여 CNN 구현하기 이번 포스팅에서는 numpy을 사용하여 간단한 cnn을 구현해본다. 모든 코드는 아래 repository에서 가져왔다.https://github.com/bohyunshin/deep-learning-with-pure-numpy GitHub - bohyunshin/deep-learning-with-pure-numpyContribute to bohyunshin/deep-learning-with-pure-numpy development by creating an account on GitHub.github.comchannel이 없는 2차원 데이터 (이미지)를 받아서 convolution 연산을 하고 max pooling, relu을 거쳐서 최종 클래스의 개수만큼의 logits을 반환하는 neural networ.. 2024. 8. 31. [DL][Implementation] Backpropagation in convolution 저번 포스팅에서는 numpy을 사용하여 mlp을 구현해보았다.https://steady-programming.tistory.com/88 [DL][Implementation] Numpy을 사용하여 MLP 구현하기backpropagation을 수식으로 공부하다가, pytorch로 쓱 하고 지나갈 개념이 아닌 것 같다는 생각이 들었다. 모든 딥러닝 문제에서는 gradient descent을 사용해서 optimal parameter을 찾고 그 과정에서 backpropagatsteady-programming.tistory.comlinear layer에서 weight, bias의 backpropagation을 직접 구현해보며 이해도를 높일 수 있었다. 이번 포스팅에서는 convolution neural networ.. 2024. 8. 31. [ML / DL] Backpropagation in softmax function 본 포스팅에서는 정말 많은 시간을 고민하고 검색한 주제를 다뤄볼까 한다. softmax에서 backpropagation을 어떻게 할까? 사실, 그렇게 쓸모 있는(?) 주제가 아닐 수도 있다. pytorch에서는 nn.CrossEntropyLoss 함수를 제공하고 이는 내부적으로 log softmax까지 해주기 때문에 softmax에서 계산되는 down stream gradient을 계산할 필요가 없기 때문이다. 이에 관한 내용은 아래 포스팅은 참고해주기 바란다.https://steady-programming.tistory.com/91 [Pytorch] nn.CrossEntropyLoss와 nn.NLLLoss분류 문제를 풀다보면 반드시 만나는 손실함수가 있다. 그것은 바로 cross entropy loss.. 2024. 8. 31. [ML / DL] Cross entropy loss function in classification problem 지난 포스팅에서 회귀 문제와 분류 문제에서의 loss function은 분포를 가정하고 세운 maximum likelihood function의 간단한 변형임을 살펴보았다.https://steady-programming.tistory.com/36 [ML / DL] Cost function과 Maximum likelihood estimation과의 관계서울대학교 딥러닝 기초 강의를 듣고 정리하였다. 딥러닝에서 파라미터를 근사하기 위해 필수적으로 세워야하는 cost function와 통계학에서 파라미터를 추정하기 위해 필수적으로 세우는 maximum listeady-programming.tistory.com간략하게 정리하면 회귀 문제에서의 mean squared error을 최소화하는 것은 error 항을 .. 2024. 7. 24. [DL][Implementation] Numpy을 사용하여 MLP 구현하기 backpropagation을 수식으로 공부하다가, pytorch로 쓱 하고 지나갈 개념이 아닌 것 같다는 생각이 들었다. 모든 딥러닝 문제에서는 gradient descent을 사용해서 optimal parameter을 찾고 그 과정에서 backpropagation은 반드시 들어가기 때문이다. 물론, pytorch에서 똑똑하신 분들이 성능 좋은 함수들을 구현해주셨으나, 이를 마음껏 활용하기 이전에 직접 backpropagation을 구현해서 도대체 어떻게 돌아가는지 피부로 직접 느껴보고 싶었다.Model architecture입력 차원은 4, hidden layer의 개수는 3, 깊어질수록 hidden node의 수는 1씩 줄어들도록 모델을 설계해보자. 그림으로 그려보면 아래와 같다.activation.. 2024. 7. 13. [DL / Paper review] Auto-Encoding Variational Bayes 논문 링크(26527회 인용) Summary probabilistic model에서 variational inference은 종종 사용되는데 closed form으로 업데이트를 하는 것이 아닌, elbow에 대한 gradient을 구해서 파라미터를 업데이트 하는 방법을 제시한다. niave monte carlo gradient estimator을 유도하고 이는 variance가 큼을 지적하며 reparameterization 기술을 통해 gradient estimator을 유도한다. 이는 objective function이 어떠한 형태이든, 적절한 reparameterization을 사용하여 미분 가능한 식으로 바꿔두면 어떠한 elbow에 대해서도 gradient을 구할 수 있기 때문에 꽤나 일반적이고 .. 2023. 5. 6. 이전 1 2 다음