Deep Learning/CS231n 19

CS231n 9강 내용정리 - CNN 아키텍쳐(AlexNet, VGGNet, GoogleNet, ResNet)

CS231N Lecture9 | CNN Architectures ImageNet 챌린지에서 우승한 모델들로, 대표적인 CNN 모델들(AlexNet, VGGNet, GoogleNet, ResNet)을 살펴볼 것이다. 이외에도 잘 사용하진 않지만 역사적으로 중요한 모델이나, 흥미로운 모델, 최신(2017 기준) 모델들도 다룰 것이다. 앞으로 말하는 ‘네트워크가 깊다’는 것은 “학습 가능한 가중치를 가진 레이어”의 개수가 많은 것을 의미한다. 가령 conv layer나 FC layer를 말하고, 이때 pooling layer는 포함되지 않는다. 0. LeNet 실제로 성공적으로 사용된 최초의 conv net 숫자 인식에서 엄청난 성공을 거둠 1. AlexNet (2012) 최초의 large scale CNN으..

CS231n 1강 내용정리 - 컴퓨터 비전의 역사💻👓

CS231n 1강 컴퓨터 비전의 역사💻👓 0. Intro 무수한 센서(ex. 카메라)로부터 비롯된 엄청나게 많은 시각 데이터 → 이에 따라 visual data를 잘 활용할 수 있는 알고리즘의 중요성 증대 → 하지만 실제로 이들을 이해하고 해석하는 일은 상당히 어려운 일임 매분 약 500시간 이상의 동영상이 업로드 됨 (2020년 유튜브 통계자료) 1. Computer Vision 컴퓨터 비전은 학제적(interdisciplinary)인 분야로, 굉장히 다양한 분야와 맞닿아 있다. 물리학 - 광학, 이미지 구성, 이미지의 물리적 형성 생물학, 심리학 - 동물의 뇌가 어떤 방식으로 시각 정보를 보고 처리하는지를 이해 컴퓨터 과학, 수학, 공학 - 컴퓨터 비전 알고리즘을 구현할 컴퓨터 시스템을 구축할 때 필..

CS231n 12강 summary

Leture12. Visualizing and Understanding CNN의 내부는 어떻게 생겼을까? 네트워크의 중간과정을 확인할 방법은 없을까? 가장 만만하게 접근해 볼 수 있는 게 first layer를 시각화하는 방법! 1. Visualize First layer conv layer의 학습된 가중치들을 시각화해서 필터들이 무엇을 찾는지 알 수 있다. 엣지 성분과 다양한 각도와 위치에서의 보색이 나타난다. conv filter와 이미지의 일부영역과 내적한 결과가 첫번째 layer의 출력이다. 중간 레이어들도 시각화할 수 있긴 하지만, 필터들이 이미지와 직접 연결되어 있지 않기 때문에 가중치들을 시각화한다 해도 이를 해석하는 것은 쉽지 않다. 2. Visualize Last layer 1) Near..

CS231n 4강 summary

Lecture4. Backpropagation and Neural Networks 1. Computational graphs computational graph는 함수 식을 단순화하여 graph로 표현하는 방법이다 임의의 복잡한 함수에서 analytic gradient를 구할 때 computational graph를 이용한다 computational graph를 사용해서 함수를 표현한다 Backpropagation 사용 가능해진다 Gradient를 얻기 위해 computational graph 내부의 모든 변수에 대해 chain rule을 재귀적으로 사용한다 2. Backpropagation Backpropagation의 첫번째 단계는 함수 f를 computational graph로 나타내는 것이다 Ba..

CS231n 10강 summary

Lecture10. RNN 1. RNN이란? ◾️ Vanilla Neural Network - one to one 지금까지 배운 아키텍처의 모양 이미지 또는 벡터를 input으로 받고, hidden layer를 거쳐서 하나의 출력을 내보냄 ◾️ RNN(Recurrent Neural Networks) RNN은 가변 길이의 입/출력(데이터)을 다루기 위해 필요한 방법 RNN은 작은 "Recurrent Core Cell"를 가지고 있음 RNN은 내부에 hidden state를 가지고 있음 hidden state는 새로운 입력이 들어올 때마다 매번 업데이트 됨 RNN이 입력을 받는다. 모든 스텝마다 'Hidden state'를 업데이트한다. 출력값을 내보낸다. ◽️ one to many: Image Captio..

CS231n 9강 summary

1. AlexNet 최초의 large scale의 CNN 2012년 ImageNet Challenge의 winner 딥러닝의 부흥을 일으킨 모델 다양한 task의 transfer learning에 많이 사용되어 옴 conv-pool-norm 구조가 두번 반복됨 5개의 conv layer와 2개의 FC layer input 이미지의 크기는 227x227x3 첫번째 layer의 출력 사이즈: 55x55x96(width x height x 필터의 개수) parameter의 수: (11 * 11 * 3) * 96 = 35K개 두번째 layer의 출력 사이즈: 27x27x96(depth의 크기는 변하지 않음) pooling layer인 두번째 layer에 parameter는 없음 Details/restropect..

CS231n 7강 summary

1. Fancier Optimization 1) Problems with SGD SGD는 미니 배치에서 데이터 loss를 계산하고, gradient의 반대 방향으로 파라미터를 업데이트 하는 방법 지그재그 방향으로 loss가 최소인 점을 찾아가므로 convergence가 매우 느림 loss 함수에 local minima나 saddle point가 있는 경우 gradient descent가 멈춰버림 고차원에서는 saddle point가 더 일반적으로 일어남 2) SGD + Momentum SGD에서는 X를 직접 연산식에 포함하는 반면 momentum에서는 속도 변수 vx 도입 gradinet를 계산할 때 gradient 방향과 velocity를 모두 고려 rho는 friction과 같아 velocity가 너..

CS231n 6강 summary

** 이번 장에서는 cs231n의 강의자료와 제가 만든 발표자료의 이미지를 사용했습니다. ** 1. 활성화 함수 1) 활성화 함수란? 뉴럴 네트워크에서는 노드에 들어오는 값들에 대해 곧바로 다음 레이어로 전달하지 않고 활성화 함수(Activation Function) 를 통과시킨 후에 전달 언더피팅의 문제를 개선 활성화 함수는 특정 featur에 대해 이 정보를 얼마나 활성화할 것인지를 할 결정하는 역할 활성화 함수로 비선형 함수를 사용 -> non-linearity 제공 2) 활성화 함수의 종류 실전에서는... 디폴트로 ReLU를 사용하세요 Leaky ReLU/Maxout/ELU 시도해 보세요 tanh는 사용하더라도 기대는 하지 마세요 시그모이드는 더 이상 사용하지 마세요 2. 데이터 전처리 1) 평균..

CS231n 5강 summary

1. Neural Network의 역사 1) Perceptron(~1957) Mark1 Percetptron: 최초의 뉴럴 네트워크(하드웨어) binary step function이라 미분 불가능 backpropagation 개념이 나오기 전(어차피 미분 불가능이라 있어도 안 됨) 이후 1960~1980 첫번째 신경망 암흑기 2) Adaline/Madaline(~1960) 최초의 multi layer perceptron 네트워크(하드웨어) 3) Neocognitron(1980) sandwich architecture(simplecell-complexcell-simplecell-complexcell-...) 4) First time back-propagation(1986) 최초의 back propogati..

CS231n 3강 summary

1. Loss function(손실함수) Loss function은 classifier가 얼마나 잘 수행해내는지 알려줌 weight 값을 판단하는 기준이 됨 loss will be high, if we’re doing a poor job of classifying the training data 1) Multiclass Support Vector Machine loss (Hinge loss) (x_i, y_i)에서 x_i는 image, y_i는 (integer) label을 의미. 이때 scores vector: s=f(x_i, W) SVM loss는 다음과 같이 구한다 s_j는 잘못된 label의 score, s_yi는 제대로 된 label의 score 의미. 1은 safety margin s_j – ..

반응형