본문 바로가기

Open Lecture Review/Deep Learning for Computer Vision

(13)
Lecture 20: Generative Models 2 이해할 점! * VAE와 Autoencoder는 다르다는 것을 이해하자!! * MLE를 직접적으로 사용하지 않고 간접적으로 사용하는 이유를 이해하자!! Variational Autoencoders : 데이터가 생성되는 과정, 즉 데이터의 확률분포를 학습하기 위한 두 개의 뉴럴네트워크로 구성되어 있다. VAE는 잠재변수 (latent variable) z를 가정하고, encoder에서 Input data X를 받아서 잠재변수 z를 만들어 내어 decoder에서는 encoder에서 만든 z를 활용해 x를 복원해내는 역할을 한다. 그렇다면 여기에서 잠재변수 z는 어떤 의미일까요? 만약 X에 고양이 사진이 주어졌다고 하면, 사람들은 고양이 사진을 픽셀 단위로 자세히 보고 판단하는 것이 아니라, 털 색깔, 눈 모..
Lecture 19: Generative Models 1 Supervised vs Unsupervised Learning Supervised Learning Data : (x,y) x is data, y is label Goal : Learn a function to map x -> y ex) Classification, regression, object detection, semantic segmentation, image captioning etc. Unsupervised Learning Data : x Just data, no labels! Goal : Learn some underlying hidden structure of the data ex) Clustering, dimensionality reduction, feature learning, den..
Lecture 14: Visualizing and Understanding ① L2 Nearest neighbors in feature/pixel space ② Dimensionality Reduction 4096 차원 -> 2 차원 : PCA, t-SNE, UMAP Maximally Activating Patches Run many images through the network -> record values of chosen channel -> Visualize image pathes that correspond to maximal activations Which Pixels Matter? Saliency via Occlusion Make part of the image before feeding to CNN, check how much predicted probabilit..
Lecture 13: Attention 1 Seq2Seq + Attention 모델 - 2014년에 발표된 모델이지만 최근 10년 동안의 자연어 처리 연구 중에 가장 영향력이 컸던 3가지 중 하나로 뽑힘 - 기계번역, 문서 요약, 그리고 이미지 캡셔닝 등의 문제에서 아주 큰 성공을 거둔 딥러닝 모델 - 글자, 단어, 이미지의 feature 등의 아이템 시퀀스를 입력으로 받아 또 다른 아이템의 시퀀스를 출력한다. Seq2Seq Model Seq2seq 모델은 하나의 encoder와 하나의 decoder로 이루어져 있습니다. encoder는 입력의 아이템을 처리하여 거기서 정보를 추출한 후 하나의 벡터(Context Vector)로 만들어 냅니다. encoder는 context를 decoder에게 보내고 decoder는 출력할 아이템을 하나씩 선택합..
Lec12_Recurrent Neural Networks 1. one-to-many : image 값을 입력했을 때 그를 설명하는 단어들을 만들어내는 image captioning에서 많이 쓰인다. 2. many-to-one : 연속적인 단어들을 입력했을 때 감정을 추출해내는 sentiment classification에서 많이 사용하는 방식 3. many-to-many : 문장을 넣었을 때 문장을 다시 추출할 수 있는 번역모델에서 많이 쓰인다. 4. many-to-many : video classification on frame level에서 많이 사용되는 방식인데 실시간으로 영상을 분류할 때 사용 RNN은 CNN과 달라 sequential processing을 바탕으로 만들어졌기 때문에 문장, 비디오와 같이 sequential한 data를 주로 잘 처리할 ..
Lecture 11_Training Neural Networks 2 Traininig dynamics Q) 어떤 learning rate가 가장 좋은가? A) 높은 값으로 진행되고, 시간이 갈수록 줄어드는 learning rate 1. Learning Rate Decay : Step - 특정 step에서 0.1 곱해서 사용 2. Learning Rate Decay : Cosine - 길게 학습할수록 좋은 편 - step보다 적용하기 쉬움 - Computer vision에 주로 사용 3. Learning Rate Decay : Linear - 큰 규모의 NLP에서 사용 4. Learning Rate Decay : Inverse Sqrt - 이 방법의 포인트는 모델을 학습할 때 high learning rate는 긴 시간을 적용할 필요가 없다는 것이다. 5. Learning..
Lec10_Training Neural Networks 1 1. Activation Functions ① Sigmoid 출력값을 0에서 1사이의 확률값으로 나타낸다. [단점] (Saturation problem) Input x가 매우 크거나 작으면 기울기가 0에 가까워져 gradient vanishing 문제가 일어나게 된다. (not zero-centered problem) Input x가 모두 양수이거나 모두 음수이면, Gradient W의 값도 항상 양수이거나 음수값이 된다. 이는 gradient W가 항상 같은 방향으로 움직인다는 것을 의미하고, 결국 비효율적으로 최적해를 탐색하게 된다. ② Tanh 출력값을 -1에서 1로 나타내어 zero-centered 문제를 해결해준다. [단점] (Saturation Probelm) 여전히 saturation 구간이..
Lec8_CNN Architectures 1. AlexNet [구조] 일부가 max-pooling layer가 적용된 5개의 convolutional layer와 3개의 full-connected layer로 이루어져 있다. [특징] ReLU Nonlinearity 활성화 함수로 ReLU를 적용했다. 논문에서는 saturating nonlinearity (tanh, sigmoid)보다 non-saturating nonlinearity(ReLU)의 학습 속도가 몇배는 빠르다고 나와 있다. 4층의 CNN으로 CIFAR-10을 학습시켰을 때 ReLU가 tanh보다 6배 정도 빠르다. Training on Multiple GPUs network를 2개의 GPU로 나누어서 학습했다. 이를 GPU parallelization이라고 한다. 논문에서는 2개의..