본문 바로가기

Deep Learning for Computer Vision

(19)
EECS 498-007 / 598-005 Lecture 12 : Recurrent Neural Networks 지금까지 강의에서 다룬 신경망 모델들은 단순히 하나의 입력을 받아 하나의 출력을 만들어내는 Feedforward Neural Network에 관해서 배웠다. 지금부터는 sequence, 즉 순서가 있는 시계열 데이터를 다루며 입력과 출력의 크기가 자유로운 Recurrent Neural Network (이하 RNN)에 관해서 배워볼 것이다. 먼저 RNN 모델은 세부적으로 Image Captioning으로 대표되는 'one to many'와 Video Classification으로 대표되는 'many to one', Machine Translation으로 대표되며 입력과 출력의 크기가 다른 'many to many', 마지막으로 Per-frame Video Classification으로 대표되며 입력과 출력..
EECS 498-007 / 598-005 Lecture 11 : Training Neural Networks (Part 2) 대충 1년 만에 다시 포스팅을 시작하게 되었다. 원래 이 정도로 미룰 줄은 몰랐는데 항상 그렇듯 한번 미루니 끝도 없이 미뤄지게 되었다 ㅋ 강의는 예전에 다 듣고 정리도 다 했지만 워낙 오래되어서 그냥 다시 듣고 정리도 다시 해서 포스팅할 계획이다. 그렇다 보니 지금 10강 넘게 남았는데 솔직히 2월 내로 모든 포스팅을 끝마칠 수 있을지는 모르겠지만 어쨌든 이번에는 미루지 않고 끝날 때까지 매주 2회 정도의 포스팅을 목표로 해서 꾸준히 해보고자 한다. . . . . . 강의 유튜브 https://www.youtube.com/watch?v=WUazOtlti0g&list=PL5-TkQAfAZFbzxjBHtzdVCWE0Zbhomg7r&index=11 강의 슬라이드 https://web.eecs.umich.ed..
빠르면 연말부터 이어서 포스팅할게요 ㅜㅜ 원래 3월 이전에 끝마치려고 했는데, 2월즈음부터 급격하게 바빠져서.... 한가해지면 다시 정리해서 올리겠습니다
EECS 498-007 / 598-005 Assignment #3-2 Assignment #3-1의 Fully Connected Network에 이어서 이제는 Convolutional Neural Network와 Batch Noramlization을 다룬다. 더보기 class Conv(object): @staticmethod def forward(x, w, b, conv_param): """ A naive implementation of the forward pass for a convolutional layer. The input consists of N data points, each with C channels, height H and width W. We convolve each input with F different filters, where each filte..
EECS 498-007 / 598-005 Assignment #3-1 드디어 미루고 미뤘던 Assignment # 3이다. 우선 Computational Graph에서 gradient를 계산하는 일종의 공식으로 쓰일 수 있는 각종 게이트부터 외우고 시작하자. 앞으로 과제 진행할 때 매우 매우 유용할 것이다. Assignment # 3는 먼저 Fully-Connected Neural Network와 Dropout을 구현하는 것부터 시작된다. 일단 Linear 레이어에서의 forward와 backward부터 구현하는데 더보기 @staticmethod def forward(x, w, b): """ Computes the forward pass for an linear (fully-connected) layer. The input x has shape (N, d_1, ..., d..
EECS 498-007 / 598-005 Lecture 10 : Training Neural Networks (Part 1) 강의 링크 https://www.youtube.com/watch?v=lGbQlr1Ts7w&list=PL5-TkQAfAZFbzxjBHtzdVCWE0Zbhomg7r&index=10 강의 슬라이드 https://web.eecs.umich.edu/~justincj/slides/eecs498/498_FA2019_lecture10.pdf 이번 시간부터는 신경망을 제대로 학습시키기 위해 해야 할 것들에 대해 알아볼 것인데, 이번 시간에는 위 3 가지 사항 중, 첫 번째 것만 강의하고 나머지 2개는 다음 강의에서 강의할 것이다. Activation Function은 신경망에 Non-Linearity를 추가해주는 매우 중요한 역할을 수행하는데 Activation Function으로는 여러 가지를 사용할 수 있다. 먼저 ..
EECS 498-007 / 598-005 Lecture 9 : Hardware and Software 이번 시간에는 딥러닝에서 쓰이는 하드웨어 - 소프트웨어 순으로 알아볼 것인데, 딥러닝에서의 연산은 CPU와 GPU를 주로 사용한다. 현재 대부분의 GPU는 NVIDIA와 AMD의 GPU가 쓰이고 있으며, 그중에서 딥러닝 분야에서는 NVIDIA GPU만이 딥러닝 관련 소프트웨어를 폭넓게 지원하고 있어 딥러닝에서의 GPU는 NVIDIA GPU를 뜻한다고 보면 된다. 위 슬라이드는 CPU와 GPU의 달러 당 GigaFLOPs를 나타낸 것인데, CPU와 GPU 모두 우상향 하지만 특히 GPU의 경우 2012년부터 급격한 증가를 보여주는 데, 이 때문에 AlexNet 이후부터 모델의 크기가 급격히 커질 수 있었다. CPU의 경우 적지만 강력한 코어를 가지고 있고, GPU의 경우 1개만 놓고 보면 성능이 좋다 하기..
EECS 498-007 / 598-005 Lecture 8 : CNN Architectures 이전 시간에는 Convolution Network의 구성 요소들에 대해서 배웠다. 이번 시간에는 이 구성 요소들을 어떻게 조합할지에 대한 것인 CNN 아키텍처에 대해서 배워볼 것이다. 먼저 CNN의 큰 발전을 이끈 ImageNet Classification Challenge를 따라가며 살펴볼 것이다. 대회의 초창기였던 2010년과 2011년 모두 신경망 모델이 아니라 임의로 조합하고 임의로 선정한 feature로 구성된 'rule'기반 다층의 레이어를 쌓고 마지막으로 Linear Classifier를 쌓은 모델을 사용했지만, 2012년 CNN 아키텍처인 AlexNet이 엄청난 격차를 보여주면서 Convolution Network는 컴퓨터 비전의 전면에 서게 되었다. AlexNet은 오늘날 딥러닝에서 쓰이..

728x90