반응형

분류 전체보기 823

[PyTorch] Dice coefficient 을 PyTorch로 구현하기

안녕하세요, 이번 포스팅에서는 image segmentation 분야에서 자주 사용되는 metric인 Dice coefficient를 PyTorch로 구현해보겠습니다. 또한 이 dice coefficient를 loss로 활용하는 법도 살펴봅니다. Dice coefficient dice coefficient는 주로 medical image analysis에서 사용됩니다. 그리고 예측값과 gt 사이의 overlap area에 2를 곱하고 예측값과 gt 영역을 합한 것으로 나눠줍니다. 이는 IoU와 매우 유사합니다. Dice를 boolean data(binary segmentation map)에 적용할 때, Dice coefficient는 F1 score와 동일합니다. PyTorch 코드 아래 코드는 pred..

[논문 읽기] (2019) Learning Data Augmentation Strategies for Object Detection

안녕하세요, 오늘 읽은 논문은 Learning Data Augmentation Strategies for Object Detection 입니다. classification에서 사용하는 augmentation(horizontal flip, resize)을 object detection에 적용하는 것은 성능 향상에 한계가 존재합니다. 해당 논문은 Object Detection을 위한 data augmentation을 연구합니다. Method 최적의 augmentation 방법을 찾기 위해서 search space를 구성합니다. 여러개의 sub-policy를 생성하며, 각 sub-policy에는 2개의 operation이 적용됩니다. operation에는 2개의 hyper parameter가 존재합니다. (1..

[논문 읽기] PyTorch 코드로 살펴보는 Convolutional Sequence to Sequence Learning(2017)

안녕하세요, 오늘 읽은 논문은 Convolutional Sequence to Sequence Learning 입니다. 해당 논문은 rnn이 아닌 convolution 연산으로 번역을 수행합니다. seq2seq 구조인 encoder, decoder 구조를 갖고 있으며, 두 구조 모두 conv layer로 이루어져 있습니다. 이미지 task에서 사용하는 conv 연산을 어떻게 문자 task에서 활용할 수 있을 까요?? 1d convolution 연산은 filter 크기 만큼 1차원 벡터의 정보를 취합합니다. kernel_size=3인 1d conv 연산을 수행하면 3개의 입력값을 받아 filter 가중치를 거쳐서 1개의 값을 출력합니다. 입력값에 순서대로 conv filter를 적용하면, receptive ..

논문 읽기/NLP 2021.06.24

[딥러닝] Computer Vision과 NLP에서의 attention 함께 살펴보기

안녕하세요, 최근에 NLP를 공부하고 있는데, CV에서 사용하는 attention을 생각하고 NLP의 attention을 공부했더니 이해가 잘 안되더라구요 ㅎㅎ 두 분야의 attention을 함께 살펴보도록 하겠습니다. Computer Vision CV에서 attention은 피쳐맵에서 픽셀 또는 채널 간 중요한 요소를 계산하여 중요도에 따른 가중치 정보를 담은 attention vector를 생성합니다. 그리고 이 attention vector를 피쳐맵에 곱하여 가중치를 가하죠. 대표적으로 SENet, CBAM, SKNet이 있습니다. SENet을 잠시 살펴보면 피쳐맵에서 채널 간 가중치를 계산하여 이 가중치를 피쳐맵에 element-wise로 곱합니다. class SEBlock(nn.Module): ..

[논문 읽기] PointNet(2016), Deep Learning on Point Sets for 3D Classification and Segmentation

오늘 읽은 논문은, PointNet, Deep Learning on Point Sets for 3D Classification and Segmentation 입니다. PointNet은 3D point cloud data를 입력받아 3D shape classification, shape part segmentation, scene semantic parsing task을 수행합니다. Properties of Point Sets PointNet은 point cloud를 입력으로 취하며, 이 points 각각을 {x,y,z} 좌표로 나타내어 Euclidean 공간에서 다룹니다. Euclidean space에 존재하는 point들은 다음의 세가지 속성을 갖습니다. (1) Unordere point cloud는 ..

[논문 읽기] (2021) Knowledge distillation: A good teacher is patient and consistent

안녕하세요, 오늘 읽은 논문은 Knowledge distillation: A good teacher is patient and consitent 입니다. 논문을 직역해보자면 '지식 증류: 좋은 선생님은 참을성이 있고 일관성이 있다.' 입니다. 논문에서 하고 싶은 말이 논문 제목에 다 담겨져 있습니다. 참을성 = 오랜 시간 학습, 일관성 = teacher와 student 동일한 augmentation 적용하기 입니다. 해당 논문은 model compression을 목적으로 knowledge distillation을 사용합니다. knowledge distillation을 function matching으로 보는데, 해당 논문이 제안하는 function matching 방법으로 knowledge distill..

[논문 구현] PyTorch로 Knowledge Distillation(2014) 구현하기

안녕하세요, 이번 포스팅에서는 PyTorch로 Knowledge Distillation을 구현해보도록 하겠습니다. 작업 환경은 Google Colab에서 진행했습니다. 논문 리뷰는 아래 포스팅에서 확인하실 수 있습니다. [논문 읽기] PyTorch 구현 코드로 살펴보는 Knowledge Distillation(2014), Distilling the Knowledge in Neural Network 안녕하세요, 오늘 읽은 논문은 Distilling the Knoeledge in a Neural Network 입니다. 해당 논문은 Knowledge Distillation을 제안합니다. Knowledge Distillation은 teacher model이 갖고 있는 지식을 더 작.. deep-learning-..

논문 구현 2021.06.21

[논문 읽기] PyTorch 구현 코드로 살펴보는 Knowledge Distillation(2014), Distilling the Knowledge in Neural Network

안녕하세요, 오늘 읽은 논문은 Distilling the Knoeledge in a Neural Network 입니다. 해당 논문은 Knowledge Distillation을 제안합니다. Knowledge Distillation은 teacher model이 갖고 있는 지식을 더 작은 모델인 student model에 transfer 하는 것을 의미합니다. 사이즈가 큰 teacher model이 갖고 있는 지식을 사이즈가 작은 student model에 지식을 transfer한다면, model compression의 효과가 있습니다. 즉, 실제 모델을 배포할 때, 더 작은 모델을 사용하여 예측 속도도 높이고, 정확도도 높일 수 있습니다. 이 외에도 knowledge distillation은 model을 g..

[Geometry] 원뿔 곡선(Conics and dual conics)

Conics and dual conics conic은 평면에서 2차식으로 표현되는 곡선입니다. Euclidean geometry에서 conics은 3개의 유형이 있습니다. 쌍곡선(hyperbola), 타원(ellipse), 포물선(parabola)입니다. 일반적이로 이 conic의 세 가지 유형은 평면에 의해 생성된 원뿔 곡선(conic section)에 따라 생성됩니다. conic 방정식은 inhomogeneous coordinate으로 2차 다항식으로 표현합니다. 이를 homogeneous coordinate로 다음과 같이 표현합니다. 이차형식(quadratic form)에 의해 conic coefficient 행렬 C는 다음과 같이 주어집니다. conic 계수 행렬은 대칭입니다. 점과 선의 homo..

[논문 읽기] PyTorch 구현 코드로 살펴보는 Attention(2015), Neural Machine Translation by jointly Learning to Align and Translate

안녕하세요, 오늘 읽은 논문은 Neural Machine Translation by jointly Learning to Align and Translate 입니다. 해당 논문은 Seq2Seq 구조에서 Attention 매커니즘과 양방향 RNN(bidirectional RNN)을 제안합니다. Seq2Seq 구조는 Encoder와 decoder로 구성됩니다. encoder의 역할은 source sentence를 입력 받아, 고정된 벡터 크기로 반환합니다. 저자는 이 고정된 길이의 벡터가 긴 문장을 번역하는데 문제점으로 작용한다고 합니다. 따라서 decode가 어떤 source sentence에 집중해야 하는지 결정하도록 합니다. decoder를 attention 매커니즘으로 작동하게 함으로써, encoder..

논문 읽기/NLP 2021.06.19
반응형