본문 바로가기

Programmer Jinyo/Machine Learning

(25)
How to avoid machine learning pitfalls: a guide for academic researchers - 머신러닝을 하면서 함정에 빠지지 않는 방법에 대하여 https://arxiv.org/abs/2108.02497?fbclid=IwAR0OQcuP7WXvg2QQ1qgUYzCoqC7STeM0xalTLPkxTVE4P4F5RKdTFtbFMy4 How to avoid machine learning pitfalls: a guide for academic researchers This document gives a concise outline of some of the common mistakes that occur when using machine learning techniques, and what can be done to avoid them. It is intended primarily as a guide for research students, and focu..
MarioNETte 논문 리뷰 Few-shot Face Reenactment Preserving Identity of Unseen Targets 요번에 AAAI에 올라간 하이퍼커넥트의 '보이지 않는 타겟의 Identity를 보존하며 몇장의 얼굴 사진만으로 얼굴을 재연'하는 논문이다. 기존의 방법들의 경우, (특히 few-shot setting에서) target 이미지와 source 이미지가 identity가 다를 때에는 얼굴 재연에 있어서 심각한 품질 저하가 일어나고는 했다. 1. identity mismatch를 무시하는 경우에는 새로운 얼굴을 합성했을 때 target이미지와 비슷해지는 결함이 발생한다. (트럼프 얼굴에 다른 표정의 아이린을 target으로 주면 아이린과 닮은 트럼프가 나와버리는 상황 발생 가능) 2. compressed vector representation(AdaIn layer과 같은)의 capacity를 너무 줄일 경우 원..
Depthwise Separable Convolution 설명 및 pytorch 구현 Depthwise Convolution 우선 Depth-wise Seperable Convolution에 대한 설명을 하기에 앞서 Depth-wise Convolution에 대한 설명을 먼저 할까 한다. 기본적인 개념은 쉽다. 위 처럼 H*W*C의 conv output을 C단위로 분리하여 각각 conv filter을 적용하여 output을 만들고 그 결과를 다시 합치면 conv filter가 훨씬 적은 파라미터를 가지고서 동일한 크기의 아웃풋을 낼 수 있다. 또한 각 필터에 대한 연산 결과가 다른 필터로부터 독립적일 필요가 있을 경우에 특히 장점이 된다. 이를 파이토치에서 구현하려면 다음과 같이 하면 된다. class depthwise_conv(nn.Module): def __init__(self, ni..
MobileNets (모바일넷) 내용 정리 글 더보기 * 잊지 말자! Kernel size : conv filter의 width , height Depth-wise Convolution : 모바일 기기나 어플 등에서 성능이 낮은 환경에서도 사용할 수 있도록 효율성에 초점을 맞추어 설계된 모델이라고 한다. 작은 신경망을 만들기 위한 기술들은 아래와 같은 종류들이 있다. FC-Layer을 없애거나 Kernel 사이즈를 줄이거나 채널 수를 줄이거나 다운샘플링을 하거나 더보기 초반에 다운샘플링을 많이 하면 accuracy가 떨어지며 파라미터가 적어짐. 후반에 downsampling을 많이 하면 accuracy가 좋지만 파라미터가 많아짐. 이라고 설명이 써있는걸 봤는데, hmm.. 내생각엔 파라미터 수는 변함 없을 것 같고 GPU RAM 크기를 얼마나 먹냐,..
Tensorflow 튜토리얼 05 - Softmax Classifier 모두를 위한 딥러닝 영상을 참고하였음을 밝힙니다. 이번 글에서 다룰 내용이다. 우선, 샘플 데이터셋을 만들어놓자. y 데이터는 총 3개의 레이블로 되어있다. (one-hot encoding 형식으로 되어있음) softmax 함수는 다양한 class의 결과에 대한 확률을 output으로 받아볼 때 사용한다. (최종 합이 1이 되어야 한다.) 우선 xw + b는 곱해서 만들어서 결과를 만들어주고, tf.nn.softmax를 통해 softmax 연산을 진행 해 준다. tfe.Variable을 통해서 행렬을 만들어준다. tfe (tf eagar mode)는 기존의 graph 모드보다 실시간으로 결과를 손쉽게 받아볼 수 있게 한다. 그 값을 출력해주면 정상적으로 답이 나오는것을 볼 수 있다. 저 위의 값들을 보게..
Deep double descent 라는 paper 재밌다 원본링크 블로그 https://openai.com/blog/deep-double-descent/?fbclid=IwAR37q9qWw_XOcWZHJzmLXDRkqK07uevYc0dGGyjwMq0HVlsmyh2TTylZ-vw Paper https://arxiv.org/abs/1912.02292 resnet 기준으로 쫙 - 매우 - 오래 train 시켰을 때 일시적 test의 성능 하락이 발생하였으나 서서히 다시 test error가 떨어지는 현상을 발견했다고 한다. 데이터가 많을수록 더욱 train 시와의 차이가 적을 것이라고 예측되었으나 모델 사이즈에 대해서 일정 구간에서는 오히려 더 많은 데이터가 성능이 안좋기도 하다고;; (NLP 쪽 transformer 모델 임베딩 task로 실험) 트레이닝 epoch..
StarGAN V2, 무엇이 달라졌을까? 오 이런 포스트 제목 좀 뻔한데? 아무튼, 개인적인 이유로 사람들이 별로 안 읽은 논문을 흥미롭게 읽어서 발표해야 하는 일이 생겨서 StarGAN V2 논문을 읽게 되었다. 포스트 작성일 기준 3일전에 발표된 논문이니깐 다른 사람들이 그닥 많이 정보를 올려놓지는 않았으리가 믿으면서.. :) 윤제형이 처음 StarGAN 발표할 때만 해도 ㅇ우오아아.. 대박이다 했던게 엊그제같은데 벌써 V2가 나오고 그 사이에 다양한 논문들이 나오다니 지이이인짜 시간이 너무 빠르다. 후... 난 제발 취업좀;; 취업성공! StarGAN v2 , 어디에 써? StarGANv2 는 우선 새로운 이미지를 생성하는 GAN을 기반으로 만들어졌으며, 그렇기에 기존에 없던 새로운 이미지를 만들어내는 '생성모델'이다. 그리고 StarGA..
변환(Transrofmations)의 종류 Similarity Transformation : 유사 변환 변환 시킨 후 원래의 모양과 유사하게 되는 변환을 유사 변환이라고 한다. (?) 수학적으로 보자면 1. scale을 전체적으로 크게 하거나 줄게 하는 것. 2. 이동, 회전을 하는 것 (Rigid Transform 강체변환 / 형태는 유지하고 회전과 이동) 을 만족하는 변환을 의미한다. Linear transformation : 선형 변환 f(x+y) = f(x) + f(y) f(ax) = af(x) 를 만족하는 함수 f : V -> W 의 변환을 선형변환이라고 한다. (다시 말해 선형성(Linearity)을 유지해주는 변환) Affine Transformation : 아핀 변환 선형 변환과 유사 변환을 동시에 포함하는 변환을 아핀 변환이라고 ..