일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 모두의 딥러닝
- c++
- Pytorch Lecture
- matlab 영상처리
- pytorch
- object detection
- 김성훈 교수님 PyTorch
- 가우시안 필터링
- C언어 공부
- 팀프로젝트
- 컴퓨터 비전
- 딥러닝
- c언어 정리
- 파이토치 강의 정리
- MFC 프로그래밍
- 딥러닝 스터디
- pytorch zero to all
- 모두의 딥러닝 예제
- 케라스 정리
- c++공부
- c언어
- 영상처리
- 딥러닝 공부
- 해리스 코너 검출
- TensorFlow
- tensorflow 예제
- 파이토치
- 골빈해커
- 미디언 필터링
- 파이토치 김성훈 교수님 강의 정리
- Today
- Total
목록DeepLearning/Pytorch_ZeroToAll (10)
ComputerVision Jack
Advanced CNN 저번시간 교수님께서 강의해주신 CNN 모델의 architecture입니다. 하지만 여기서 우리는 의문점이 생깁니다. 이미지에서 Kernel을 통해 feature를 추출할 경우, kernel size를 1 x 1 or 3 x 3, 5 x 5으로 선택해야하기 때문입니다. 교수님은 여기서 Inception Module을 설명해주셨습니다. 즉, 모든 연산을 다 집어 넣으면서 basic은 1 x 1로 시작하는 방식입니다. Why 1 x 1 convolution? 1 x 1 convolution을 토대로 3 x 3, 5 x 5, pooling까지 확장해 나아갑니다. 그럼 왜 1 x 1 convolution을 진행할까요? 1 x 1 convolution의 경우 이미지의 손실이 발생하지 않습니다..
CNN 이번 시간엔 이미지 데이터에서 특징을 추출하여 학습을 진행하는 CNN 모델을 설명해주셨습니다. cnn 모델은 convolution layer를 통해서 이미지의 feature을 추출하고 해달 추출된 모델을 분류기에 넣어 진행하는 방식입니다. 따라서 전 시간에 배운 MNIST 이미지 데이터에 대해 간단한 CNN 모델을 만들어 보겠습니다. Simple convolution layer (stride : 1 x 1) 우선 컨볼루션 레이어의 연산에 대해 살펴보겠습니다. 이미지와 w(필터)가 곱 연산으로 진행됩니다. 1 2 3 4 5 6 7 8 9 위의 그림처럼 3 x 3 이미지가 존재하고 해당 이미지의 픽셀 값은 각각 1~9까지 존재한다고 생각하면됩니다. 여기에 2 x 2필터를 적용하여 layer를 추출해보..
MNIST input 이번 시간엔 MNIST (숫자 그림 자료)데이터로 각각 해당 숫자에 맞게 분류하는 시간이었습니다. MNIST 데이터는 딥러닝을 공부할 때 기본이 되는 데이터로, 가로 28p 세로 28p 컬러값 1인 숫자 이미지 파일입니다. 지난 시간 저희는 간단하게 다변수에 대한 이진 결과를 예측하는 모델(logistic regression)을 만들었습니다. 이번엔 다변수에 대한 결과를 각각해당 class에 맞게 분류하는 모델을 만들려고합니다. 10 outputs 예전 모델을 생각해본다면 X -> Linear -> Activation Function -> Y_pred 입니다. 따라서 선형 모델에서 x_data의 shape이 (n, 2) 이라면 w의 shape은 (2, 1)되어 y의 shape은 자동..
Batch(Batch size) 앞에 저희가 처리했떤 당뇨 데이터인 경우 데이터의 사이즈가 그리 크지 않습니다. 하지만 딥러닝을 적용할 경우 데이터의 용량이 거대해지는 경우가 발생합니다. 이럴 경우 Batch와 Dataloader를 통하여 해결할 수 있습니다. Epoch 에폭의 경우 반복을 이용하여 데이터 전체를 한번 학습 시킨것을 지칭합니다. batch size batch size경우 해당 데이터셋을 사용자가 지정한 만큼 자른 것을 의미합니다. 따라서 1000개의 데이터가 존재할때 batch size를 500으로 한다면 1 Epoch을 적용할 경우 2번의 반복을 돌아야합니다. DataLoader 시퀀스적으로 보면 해당 데이터가 들어오면 셔플 적용여부를 선택하고 큐에 데이터가 들어갑니다. 그 다음 각각 ..
이번 장에선 전 시간에 배운 logistic regression 네트워크를 깊고 넓게 구성하는 방법에 대해 설명해주셨습니다. 우선 설명해주신 예제로 풀어보겠습니다. HKUST PHD Program Application GPA(a) Admission? 2.1 0 4.2 1 3.1 0 3.3 1 만약 데이터가 이런식으로 제공되어 있다면 우리가 알고있는 logistic regression으로 처리하면 됩니다. GPA (입력) -> Linear -> Sigmoid -> y^ 식으로 접근이 가능합니다. How about experience and other GPA(a) Experience(b) Admission? 2.1 0.1 0 4.2 0.8 1 3.1 0.9 0 3.3 0.2 1 해당 데이터에 대해 Exper..
Linear model logistic regression을 학습하기에 앞서, 앞에서 배운 선형 모델에 대해 우선적으로 복습을 해주셨습니다. x_data -> Linear Model -> y_data 경우 Hours(x) Points 1 2 2 4 3 6 4 ? 우리는 쉽게 8로 예측을 할수 있습니다. 선형 모델이기 때문이죠. Binary prediction (0 or 1) is very useful! 이번엔 문제 접근 방식을 조금 바꿔보겠습니다. 결과가 특정한 value로 수렴하지 않고 0과 1의 두가지 결과만 초래 한다고 생각해 봅시다. 때때로 이런식의 이분법적인 결론은 우리 사회에서 많이 직면할 수 있습니다. 이렇게 이분법적인 결과를 도출하기 위해선 우리는 선형 함수 결과에 활성화 함수(Sigmoi..
PyTorch Rhythm 이번 강의에선 파이토치를 통해 선형 모델 학습을 진행하셨습니다. 파이토치 또한 tensorflow 라이브러리 처럼 학습 관련한 데이터와 모델을 정의하고, 손실 함수를 최적화 시키면서 학습을 진행 시키는 방향으로 나아갑니다. Design your model using class with Variables Construct loss and optimizer Training cycle [05.Linear_regression.py] from torch import nn import torch from torch import tensor # torch 관련한 라이브러리를 import 합니다. network와 tensor 사용을 위한 과정입니다. x_data = tensor([[1.0],..
Computing gradient in Simple Network 단순히 x -> Linear Model -> y 관계에서 추출된 cost(loss)에 대한 기울기 값은 dloss / dw (미분)을 통하여 알 수 있습니다. 코드 적으로 본다면 전에 작성 했던 gradient(x, y) 함수의 return 값 2 * x * (x * w - y) 입니다. 하지만 이런 복잡한 네트워크 상황에서 dloss / dw (미분)의 값을 우리는 예측하기 쉽지 않습니다. Chain Rule 따라서 이런 복잡한 네트워크 상황에 대해 우리는 체인 룰 방식을 적용하여 그 값을 역 추적해 나아갑니다. 김성훈 교수님이 강의해주신 내용을 바탕으로 체인룰을 적용해보겠습니다. 우선 f 로 표시 되어 있는 원은 퍼셉트론으로 생각하시면..