👩‍💻LEARN : ML&Data/Lecture 35

[CS231n] Lecture11. Detection and Segmentation

Semantic Segmentation [개요] image를 입력해서 pixel별로 카테고리를 얻는 것 이미지 안에 있는 instance를 구분하지 않는다 (cow1,cow2가 있을 경우 그냥 묶어서 cow로 도출) [구현방법] 1. Sliding Window Full image에서 작은 이미지들을 추출한다 해당 작은 이미지를 CNN 네트워크에 입력시킨 후 픽셀의 카테고리를 산출한다 문제점 : 모든 이미지에 대한 작은 이미지를 추출하고 돌려야하기 때문에 비효율적 2. Fully Convolutional 모든 픽셀에 대한 분류를 진행하기 위해 왕큰 CNN을 만드는 것 방법 초반에는 activation map의 크기를 줄이는 형태로 downsampling을 진행한다. 이로 인해 연산이 효율적으로 되고 네트워..

[CS231n] Lecture10. Recurrent Neural Networks

RNN 자연어처리에만 쓰일줄 알았는데 CNN이랑 같이 사용하면 캡셔닝 task 수행할 수 있어서 같이 배워야...🥲 RNN 개요 다양한 입출력, 그리고 Sequence를 처리할 수 있는 신경망 순서가 없는 데이터여도 Sequential Process를 거치는 경우가 존재하는데 이 때에도 과정이 변화하는 경우이므로 사용가능 ex.숫자 이미지 인식할 때 이미지 부분을 차례대로 살펴보며 숫자를 판단 One to One : 일반적인 신경망으로 하나의 입력과 하나의 출력이 존재 One to Many : 하나의 입력을 주지만 출력을 여러개인 것. ex. Image Captioning (image -> sequence of words) Many to One : 입력은 여러개이지만 출력은 하나인 것 ex. Sentim..

[CS231n] Lecture9. CNN Architecture

CNN에서 유명한 모델 구조들을 살펴보자..! 주요 모델 위주로만 정리했다. (AlexNet,VGG,GoogLeNet,ResNet) AlexNet 최초의 Large scale CNN Norm layer를 사용함 (하지만 더이상 사용하지 않..) 이때는 GPU이슈로 모델을 2개로 나눠서 학습시킴 (모델 그림이 반으로 나눠져있는 이유) 모델이 2개다 보니 Conv1,2,4,5 레이어는 속한 모델(속한 GPU) 내에 있는 feature map 48개만 접근 가능했음 output volume size와 파라미터 수 구하는거 여기서 복습하고 가기 Output volume size = ((input N - filter F)/ stride)+1 ex. output of First layer = (227-11)/4 +..

[CS231n] Lecture8. Deep Learning SW - Pytorch

본래 cs231n 2017강의에서는 CPU,GPU의 차이와 딥러닝 프레임워크 TensorFlow, Pytorch에 대해 강의한다. 앞 부분은 스킵하고 Pytorch 요점만 간단하게 정리한다. 파이토치 주요 구성 요소 큰 맥락만 정리했으며, 파이토치는 워낙 업데이트가 잦아서 아래 내용이 이젠 다를 수도 있다. 1. Tensor ndarray(배열)! 그런데 GPU에서 연산이 가능함 dtype = torch.cuda.FloatTensor #GPU에서 돌리기 x = torch.randn(64, 100).type(dtype) #임의 숫자로 텐서 만들기 2. Variable 연산그래프에서의 노드라고 생각하면 됨. 데이터랑 gradient 저장 ...그런데 2021년 쯤 부터 tensor 에 variable의 성격..

[CS231n] Lecture6. Training Neural Networks 2

복습 Activation Functions ReLU, LeakyReLU, tanh, ELU, Maxout, Sigmoid ReLU가 기본 선택으로 가장 좋음 Weight Initialization 초기 값이 너무 작을 경우 : Activation, gradient 모두 0이 되어 학습이 되지 않음 초기 값이 너무 클 경우 : Activation이 폭발!(tanh)하고 gradient가 0이되어 학습이 되지 않음 Xavier, MSRA(He etal) 을 사용할 것 Xavier : W = np.random.randn(fan_in, fan_out) / np.sqrt(fan_in) MSRA (Xavier for ReLU) : W = np.random.randn(fan_in, fan_out) / np.sqrt(..

[CS231n] Lecture6. Training Neural Networks 1

Overview the Training One time Setup Activation functions Preprocessing Weight initialization Regularization Gradient Checking Training Dynamics Babysitting the learning process Parameter updates Hyperparameter optimization Evaluation model ensembles Activation Functions 역할 노드에서 합쳐진 wx+b의 sum에 대해 f(sum)하는 것 종류 [sigmoid] sig(x) = 1 / (1+exp(-x)) 입력 값들을 0~1 사이로 산출 문제점 Vanishing gradient Active reg..

[CS231n] Lecture5. Convolutional Neural Networks

복습 [Neural Networks] 지난 시간엔 선형 score 함수(10개로 분류)를 2개 레이어인 신경망에 적용시키는 신경망을 학습함 (f= W_2*max(0,W_1*x)) NN을 통해서는 mode 문제(최빈값)를 해결할 수 있음 다양한 자동차 모양을 분류할 수 있게 하기 위해, 중간 단계의 템플릿을 학습하게 하는 것이 가능함. 여러개의 템플릿을 합산해서 최종 class score를 계산하면 한가지 색의 자동차 뿐 아니라 다양한 색, 모양의 자동차를 분류할 수 있게 됨 Convolutional Neural Networks (앞의 히스토리는 생략) [ConvNet은 다양한 곳에 적용되고 있음] - 이미지 분류, 이미지 검색, Detection, Segmentation, 자율 주행, Kinetic de..

[CS231n] Lecture4. Backpropagation and Neural Networks

복습 Score function : 카테고리 분류 시 선형식을 통해 score를 계산함으로 이미지의 카테고리를 도출함 SVM Loss : SVM방식으로 해당 분류기의 성능을 확인하기 위해 오차를 계산함. SVM은 정답인 score가 safety margin을 두고 다른 score보다 높으면 되는 방식 Regularization : Data Loss만으로는 train set에 과적합될 수 있기 때문에 가중치 W에 페널티를 줘서 단순하게 만드려는 정규화를 추가함. 이 때 정규화는 L1, L2가 있으며 해결하고자 하는 문제와 데이터에 맞는 방식을 선택하면됨 이를 바탕으로 Loss를 최소화하는 가중치 W를 찾고자 할때 경사하강법을 사용함 경사하강법 사용 시 수치적 gradient는 간단하지만 연산에 시간이 걸리..

[CS231n] Lecture3. Loss Functions and Optimization

Loss Function Loss function(오차함수)란 classifier가 얼마나 잘 작동하는 지 보여줌 즉 모델이 나타내는 확률 분포와 데이터의 실제 분포 간의 차이를 나타내는 것 이는 해당 모델의 가중치 W가 얼마나 잘 작동하는지를 보여줌 일반적으로 모델이 나타낸 값과 실제 데이터의 값 사이 오차(다양한 공식 사용)를 샘플 수로 나눠서 사용함 1. Multiclass Support Vector Machine Loss Multiclass SVM 이미지 x, 라벨 y, 그리고 모델로부터 만든 점수 s를 활용 s = f(x_i,W)로 나타남 SVM Loss는 (1) 정답일 때의 score가 다른 score+1 보다 같거나 크면 0 (2) 그렇지 않다면 다른 score-정답 score +1 을 수행..

[CS231n] Lecture2. Image Classification Pipeline

Image Classification 이미지 input → 사전에 정해둔 label(category) 중 input 이미지에 적합한 label 도출 문제 : Semantic Gap 사람이 보고 판단하는 개념과 컴퓨터가 보고 판단하는 개념이 다름 (컴퓨터는 행렬 형태 0~255의 값으로 인식) Challenges Viewpoint variation : 카메라가 움직일 때 픽셀값이 바뀜 Illumination : 조명 문제 Deformation : 다양한 포즈(변형된 이미지) Occlusion : 객체가 숨거나 가려진 경우 Background Clutter : 바탕과 유사한 색상일 경우 Intraclass variation : 같은 class여도 그 안에서 다양한 형태로 존재함 → edge, corner간의..