[FCN] Fully Convolutional Networks for Semantic Segmentation
·
Paper Review
Semantic SegmentationSemantic Segmentation은 이미지 내에 있는 물체들을 의미 있는 단위로 분할하는 것입니다.더 정확하게는 다음 그림처럼, 이미지의 각 픽셀(Pixel)이 어느 클래스에 속하는지 예측하는 것입니다.FCN (Fully Convolution Netwroks)기존의 분류 문제에서 자주 쓰이는 모델인 AlexNet, VGGNet, GoogLeNet 들은 일반적으로 Convolution Layer와 Fully Connected Layer로 구성되어 있습니다.이러한 모델들은 Convolution Layer에서 Fully Connected를 통과하는 과정에서 모든 노드들이 서로 곱해진 후 더해지는 연결 때문에 이미지의 위치 정보를 잃어버리게 됩니다.또한 Dense La..
Transfer Learning & Knowledge distillation
·
ML & DL/기초 이론
Transfer Learning 이하 전이 학습이란, 한 데이터셋으로 사전 훈련된(pre-trained) 모델을 다른 데이터셋 혹은 다른 문제(Task)에 적용시켜 푸는 것을 의미한다. 특히 컴퓨터 비전(Computer Vision)의 분야에서 전이 학습으로 모델을 학습시키면 더 좋은 성능을 이끌어낼 수 있어 가장 많이 사용하는 방법 중 하나입니다. 왜냐하면, 전이 학습을 사용하지 않은 모델에 비해 비교적 빠르고, 정확한 성능을 이끌어내기 때문입니다. 이러한 아이디어는 한 데이터셋에서 모델은 다음 그림과 같이 다양한 이미지의 보편적인 특징(Feature)들을 학습하여, 다른 데이터셋에서도 이 보편적인 특징(Feature) 사용할 수 있는 경우가 많지 않을까? 라는 가정으로 접근했다고 합니다. 그러면 어떻..
CNN Architectures
·
ML & DL/Deep Learning
AlexNet 8개의 레이어 (5 Convolution Layer, 3 Fully Connected Layer)로 구성 해당 논문에서 그림에는 Input Image Size가 224x224x3 으로 나와있지만, 잘못된 표기로 227이 맞습니다. ReLU 사용 Drop out 적용 Overlapping Pooling Local Response Normalization (LRN) Data Augmentation 파라미터 계산 방법 더보기 \(O\) : Output Size, \(I\) : Input Size, \(S\) : Stride, \(P\) : Padding Size, \(K\) : Num Kernels, \(P_s\) : Pooling Size Convolution Layer \(O = \frac{..
[프로그래머스] / [Level 3] / [Python] 최고의 집합
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n, s): answer = [] """ 1. 각 원소의 합이 S가 되는 수의 집합 2. 위 조건을 만족하면서 각 원소의 곱이 최대가 되는 집합 """ # 중간에 있는 값들이 젤 곱이 큼 -> 나누기 n while s > 0: if s//n == 0: return [-1] answer.append(s//n) s -= s//n n -= 1 return answer
[프로그래머스] / [Level 2] / [Python] 괄호 변환
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(p): answer = '' def is_correct(s): q = deque() isCorrect = False for s_ in s: if s_ == '(': q.append('(') elif len(q) == 0: isCorrect = False break else: q.popleft() else: if len(q..
[프로그래머스] / [Level 2] / [Python] [3차] 파일명 정렬
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(files): answer = [] an = [] for file in files: s = [] for idx, i in enumerate(file): if i.isdigit(): s.append(idx) elif len(s) > 0 and i.isdigit()==False: break head = file[:s[0]] number = file[s[0]:s[-1]+1] et..
Pytorch 버전 기록
·
끄적 끄적
Local GPU : GTX 1660 Ti PyTorch Install $ pip3 install torch==1.10.1+cu102 torchvision==0.11.2+cu102 torchaudio===0.10.1+cu102 -f https://download.pytorch.org/whl/cu102/torch_stable.html Server GPU : GTX 3090 PyTorch Install $ pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html CUDA & CUDNN -- base cuda_11.1.0_455.23.05_linux.run cudnn-11..
[Transformer] Attention Is All You Need (2)
·
Paper Review
Attention Is All You Need해당 글과 그림의 출처는 lllustrated Transformer과 lllustrated Transformer(번역)을 참고하였습니다.Positional Encoding을 이용해서 Sequence(시퀀스)의 순서 나타내기RNN이 자연어 처리에서 유용했던 이유는 단어의 위치에 따라 단어를 순차적으로 입력받아서 처리하는 RNN의 특성으로 인해 각 단어의 위치 정보(Position Information)를 가질 수 있다는 점에 있었습니다.하지만 Transformer 모델에서는 입력 문장에서 단어들의 순서에 대해서 고려하고 있지 않으므로 단어의 위치 정보를 다른 방식으로 알려줄 필요가 있습니다.  이를 위해서, Transformer 모델은 각각의 입력 embeddi..
욱근욱
개미는 오늘도 열심히 일을하네