👩‍💻LEARN : ML&Data 91

[파이토치 튜토리얼] #1. PYTORCH 소개

파이토치 한국커뮤니티가 워낙에 잘 되어있어서 튜토리얼 중 중요한 것들은 모두 번역이 되어 있다 🥹 부지런한 한국 사람들 최고... 아래 내용은 파이토치 한국 튜토리얼에 있는 내용을 따라하며 정리한 내용들이며, 추가적으로 부가 설명이 필요한 경우 (for me..!) 추가 서술이 되어있다. 1. Pytorch Tensor 파이토치에서 텐서는 기본적인 데이터 형태이다. 2017년 cs231n에는 텐서 외에도 다른 데이터 유형이 있었는데, 이를 모두 텐서로 병합했다. 가장 기본적인 자료 형태이니만큼 텐서의 종류엔 무엇이 있는 지, 무엇을 할 수 있을 지 알아보면 좋지만 이는 나중에 다른 글로 정리할 예정이다. 이번 정리에서는 간단하게 텐서 다루는 방법만 나온다. 텐서 생성 및 유형 확인 import torch..

[커리큘럼] Phase2. 대학원 입학 전 준비

#기본기 📚 책 1. Probabilistic Machine Learning - 일정 : 매일 #루틴 - 방식 : 3~5쪽 읽고 다음날 복습 @아이패드 2. 프로그래머를 위한 확률과 통계 - 일정 : 5/29 - 6/2 - 방식 : 매일 읽고 모르는 영역 정리하여 티스토리에 업로드 3. 자료구조와 알고리즘 - 일정 : 6/5 - 6/16 - 방식 : 매일 읽고 정리하여 티스토리 업로드 💻 영상 3. 선형대수 복습 - 일정 : 5/24-27 - 방식 : 총 2시간 가량이니 하루 안에 다 듣고 모르는 영역 정리하여 티스토리에 업로드 https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab #연구 1. CV Basic..

[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는 간단하지만 연산에 시간이 걸리..