1월, 2020의 게시물 표시

2019년 결산 및 2020년 계획 짜기

2019년 결산


나는 아직 학생이니까 방학과 학기 별로 정리해보았다.
겨울방학
우선 계절학기로 6학점을 들었다... 철학과 윤리, 인간언어란 무엇인가였는데 올출에 시험도 열심히 쳤는데 C+C+을 받았다. 흑흑... 잘은 모르겠는데 철학과 윤리 교수님께 듣기로는 일단 쓸데없는 문장이 너무 많아서 절반은 긋고 시작하셨다고 한다. 나름 열심히 써놓았는데 말이징...
그렇게 계절학기를 열심히 들으며 피아노 인 연세 정기연주회를 위해 점심마다 연습을 했다. 알찬 1월이었다고 생각한다.
2월에는 학과 엑스맨을 했다. 14학번이 19학번 입학하는데 엑스맨 했다는 괴담이 종종 돌곤 하지 않는가? 그게 나였던 것이다...! 사실 엑스맨은 굉장히 논란거리 중 하나다. 결국 속이는 것이 아닌가? 결국 놀고 싶어서 들어가는 것 아닌가? 사실 나도 엑스맨에 그렇게 긍정적인 의견을 가지고 있지는 않지만 일단 해보고 비판을 하던 옹호를 하던 하고 싶었다. 지금의 생각은 존재 자체는 부정적이나 왜 하는지 알겠다 정도?
그리고 생일은 태부와 함께 보내고 연구실에서 제주도로 IPIU를 갔다왔다. 인생 첫 피티도 시작했다.
1학기
학기가 시작하자마자 정기연주회를 했다. 피티와 태권도부 운동을 열심히 했다. 소종을 열심히하고 수업을 열심히 들었다.
졸업사진을 2번이나 찍었다. 복학하고 중앙동아리(피아노 인 연세), 체대동아리(태권도부), 공대동아리(풀씨)를 다 했더니 아는 사람이 생각보다 많았다. 집돌이에 아싸라서 잉여잉여할 줄 알았는데 아니었다.
여름방학
KCCV(Korean Conference for Computer Vision)이 우리 학교에서 열려서 교수님을 이것저것 도와드렸다. 밍쉔의 수업과 함께 대학원에 들어가기 직전, 학회, 컨퍼런스 그리고 저널에 대해서 이해하는 데 도움이 되었던 것 같다.
그리고 이것저것 일들을 좀 많이 벌리기 시작했다. 2학기에 쿠콰쾅했던 것의 시초가 된다. 선종이 소개로 승재형을 만나 창업도 하고, 이은이 교수님도 처음으로 뵙고, 이진호 교수님도 처음 뵙고, 버지…

Pytorch의 Autograd를 제대로 이해하기

이미지
들어가며

근래에 NAS(Neural Architecture Search)로 주제를 바꾸며 pytorch를 더 자유자재로 구현할 필요성이 생겼다.

그런데 공부를 하다가 autograd 관련 예제의 결과를 예측하는데 실패한 것들이 있어서 정리할겸 이 글을 쓴다.

우선 Autograd의 동작을 이해하고 싶다면 아래의 동영상을 추천한다.


이를 이해하고 나면 몇 개의 예제를 살펴보자.

예제1 - scalar value와 backward

위의 예제는 심플하다.

예제2 - chain rule + scalar backward

마찬가지로 크게 이해가 되지 않는 부분은 없다.
chain rule의 적용에 관련해서는 아래 계산을 첨부한다.


예제3 - vector backward

개인적으로 잘 이해가 되지 않았던 부분은 이 부분이다.

backward에 넣어주는 gradients가 무엇을 의미하는지, 그리고 x.grad의 결과값은 왜 저렇게 나오는지 이해하기가 어려웠다.

그래서 torch.autograd.backward - pytorch docs를 참조해보았더니 아래와 같이 설명이 나왔다.




Autograd and Jacobian Matrix

Jacobian Matrix는 m 차원에서 n 차원으로 가는 함수 f가 있다고 할 때 각각의 차원에 대해 모든 편미분 값을 모아놓은 matrix이다.

그리고 grad_tensors는 이 Jacobian Matrix에 곱해주는 어떤 값이라고 할 수 있다. 이는 여러 방향으로 응용될 수 있다.

learning_rate, chain rule 등등에 사용가능하기 때문이다.

결론

사실 블로그 글은 항상 시작할 때는 잘 써야지 하다가 마지막에 가면 그냥 대충 쓰게되는 것 같다.

이 요약 글을 보고 잘 이해가 안 되면 맨 처음의 동영상이나 참고자료를 잘 보면 될 것 같다.

참고자료
autograd - pytorch tutorialtorch.autograd.backward - pytorch docsPyTorch Autograd_Understanding the hear…