본문 바로가기

분류 전체보기52

Metric Learning and Triplet Loss 1. Transfer Learning Transfer Learning 은 하나의 task 를 해결하기 위해 학습된 모델을 다른 task 해결을 위해 재사용 하는 것을 의미한다. 이는 사람이 새로운 지식을 습득하는 과정에서 기존에 습득한 지식들을 활용하는 것과 비슷한 개념이다. 참조 : https://towardsdatascience.com/a-comprehensive-hands-on-guide-to-transfer-learning-with-real-world-applications-in-deep-learning-212bf3b2f27a A Comprehensive Hands-on Guide to Transfer Learning with Real-World Applications in Deep Learnin.. 2021. 3. 28.
Few-Shot Learning 일반적인 딥러닝의 경우 데이터의 양이 많을수록 좋은 퍼포먼스를 보인다. 그러나 양질의 데이터를 확보하고 전처리하는 일련의 과정 자체가 많은 비용을 필요로 하는 작업이다. 때문에 작은 데이터를 사용하여서도 좋은 퍼포먼스를 보일 수 있는 방법에 대해 연구가 진행되었고, 그 과정에서 탄생한 것이 하나의 데이터를 통해서도 학습이 가능한 Few-Shot Learning 이다. Few-Shot Learning 에서는 데이터셋을 훈련에 사용하는 서포트 데이터와 테스트에 사용하는 쿼리 데이터로 구성한다. 서포트 데이터만을 사용하여 모델을 학습한 후, 쿼리 데이터를 통해 모델의 성능을 평가하게 된다. 출처 : https://neptune.ai/blog/understanding-few-shot-learning-in-com.. 2021. 3. 24.
SENet SENet 은 기존의 VGGNet, GoogLeNet, ResNet 등에 SE block 을 결합하여 성능 향상을 이끌어 내는 개념이다. 성능 향상을 위해서는 필연적으로 연산량의 증가가 수반되나, SENet 을 사용하는 경우 연산량은 크게 늘지 않으면서도 정확도를 높일 수 있다. 출처 : Squeeze-and-Excitation Networks, Jie Hu, Li Shen, Gang Sun; Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018, pp. 7132-7141 feature X 에 대해 convolution 을 처리한 feature U 를 생성한 뒤, U 에 대해 스퀴즈(squeeze.. 2021. 3. 22.
Bottleneck layer CNN 에서 연산의 효율성을 높이기 위해 분석 대상의 크기를 축소하는 것을 pooling 이라고 한다. 이러한 pooling 작업은 feature 의 특징을 추출한 데이터의 사이즈를 줄여 연산량을 줄이고 효율성을 높이기 위한 작업이다. 그러나 분석의 대상이 3차원 데이터라면 해당 feature는 Channel 값을 갖게 된다. Channel 값이 많아지는 경우 연산에 걸리는 속도도 그만큼 증가할 수 밖에 없는데, 이때 Channel 의 차원을 축소하는 개념이 Bottleneck layer 이다. 기본적인 Convolution 파라미터는 아래와 같은 사이즈를 갖는다. Convolution Parameters = Kernel Size x Kernel Size x Input Channel x Output Ch.. 2021. 3. 20.