전체 글
-
Knowledge distillation:A good teacher is patient and consistentpaper review 2022. 2. 13. 20:48
0. Abstract 매우 큰 SOTA 모델들과 실제 활용 가능한 수준의 모형 간 성능 불일치가 증가하고 있다. 본 논문에서는 그 격차를 좁힐 수 있는 방법에 대해 연구를 진행했다. KD를 활용하여 성능의 손실 거의 없이 실용적 크기의 model로 압축하는 방법을 소개한다. 추가로, 몇가지 디자인 방법들이 distillation 성능에 크게 영향을 주는 것을 밝혀냈다. 1. Introduction 최근 SOTA 모델들은 hardware의 한계치까지 사이즈가 커지고 있으나, 너무 사이즈가 커서 실제로는 쓸 수가 없다. 그래서 좋은 성능의 모형을 더 작게 압축하는 방법으로는 다음과 같은 두 가지 방법이 있다. model pruning: 적용하기에 문제가 많음 knowledge distillation: 적절 ..
-
Diversity Matters When Learning From Ensemblespaper review 2022. 1. 9. 09:34
1. Introduction Deep Ensemble (DE) [Lakshminarayanan et al., 2017]는 간단한 앙상블 방법이다. 동일한 모형을 random seed만 바꿔서 여러 번 학습하면 되기 때문이다. 그런데도 다양한 tasks에서 좋은 성능을 보여주고 있다. 몇몇 연구들은 DE의 효과성을 밝혀내려 했다. 그 중 한 이론은 DE가 Bayesian Model Average (BMA) 프로세스의 근사라는 것이다. 그런데 가장 복잡한 Bayesian inference 알고리즘들도 DE만큼의 파라미터 탐색력을 보여주지 못했다. DE는 학습하기 쉽지만, inference 시간 및 메모리 관리가 어렵다. 이를 해결하기 위한 방법 중 하나가 Knowledge Distillation (KD) 이..
-
헷갈리는 python 데코레이터Daily Log 2022. 1. 8. 14:14
파이썬 기본서에서 "데코레이터는 함수를 감싸고 반복되는 추가 기능을 쉽게 넣어준다" 까지 배우고 사실 한 번도 직접 만들어서 써 본 적이 없다. 마침 새롭게 짜는 코드의 함수들에 반복되는 로직이 있어 데코레이터를 써 볼 기회가 생겼다. 그런데 분명 개념은 쉬웠는데 막상 쓰려니 왜이리 헷갈리는지.. 남이 만든 것을 쓸 때는 편했는데.... 한참을 헤매고 나름의 정리를 해봤다. 1. 파라미터 없는 데코레이터 def deco(func): def wrapper(): print("inner wrapper") func() return wrapper @deco def myfunc(): print("out function") myfunc() # >> inner wrapper # >> out function 위의 코드는..
-
슬랙 webhook api 사용시 invalid_payload 에러 처리Daily Log 2022. 1. 7. 00:46
간단한 슬랙 알람 앱이 필요해서 webhook api를 가져다가 다음과 같이 코드를 작성했더니, 자꾸 invalid_payload 에러가 나는 것이다. 분명히 슬랙 공홈에서 payload 부분에 저렇게 값을 달라고 했는데 !! var mailbody = "내가 원하는 메세지"; // REQUEST OPTION var options = { 'method' : 'POST', 'payload': {'payload': {'text': mailbody}} }; 한 참을 헤매고 있었더니, 옆자리 선배님이 코드를 고쳐주셨다. var mailbody = "내가 원하는 메세지"; // REQUEST OPTION var options = { 'method' : 'POST', 'payload': {'payload': "{'..
-
데이터분석 민감도 특이도 그리고 진단키트Daily Log 2021. 12. 16. 10:35
코로나 진단키트 이야기를 하다가 민감도 특이도 이야기가 나왔다. 매번 헷갈리던 내용이라 다시 찾아봤다. 즉, 민감도는 실제 Positive Set 중에서 예측을 Positive로 잘 한 비율이고, 특이도는 실제 Negative Set 중에서 예측을 Negative로 잘 한 비율이다. 그렇다면 진단키트는 어떤 지표가 중요할까? 감염병 전파를 막기위한 보수적 스탠스라면, 양성인 사람을 하나라도 놓치면 안 된다. 그러므로 민감도가 100%에 가까워야 한다. 이제 다음과 같은 기사가 눈에 보인다 ㅎㅎ "신속항원진단키트로 입원 전 코로나 검사했더니 민감도 17.5%" https://www.docdocdoc.co.kr/news/articleView.html?idxno=2009532
-
ONCE-FOR-ALL: TRAIN ONE NETWORK AND SPE- CIALIZE IT FOR EFFICIENT DEPLOYMENT 리뷰paper review 2021. 11. 7. 02:36
0. Abstract 다양한 device의 제약조건 하에서 효율적으로 inference 하는 것은 쉽지 않은 문제. 전통적인 방법으로 네트워크를 디자인하는 것도 엄청난 연산량이 부담. 본 연구에서는 a once-for-all (OFA) 네트워크 학습법을 제안하며, OFA는 training과 search를 분리함으로써 다양한 환경을 지원. OFA 네트워크에서 추가적인 학습 없이 특화 sub-network를 빠르게 선택할 수 있음. 효율적으로 OFA 네트워크를 학습하기 위해, Progressive Shrinking (PS) Algorithm 도 제안함. PS는 보다 일반화된 pruning 방법으로, model size를 일반 pruning 방법보다 다양한 차원에 걸쳐 줄일 수 있음(depth, width, ..
-
Emerging Properties in Self-Supervised Vision Transformers (DINO) 논문 해석paper review 2021. 9. 26. 08:56
arXiv:2104.14294v2 [cs.CV] 24 May 2021 0. Abstract 본 논문은 "Vision Transformer(ViT)에 self-supervised learning를 적용하여 CNN에 버금가는 새로운 properties를 추출할 수 있을까?"라는 가설을 검증하고자 함. self-supervised를 ViT에 적용하며 다음과 같은 발견이 있었음 self-supervised ViT(ssViT) features는 이미지의 semantic segmentation에 대한 명확한 정보가 있지만 지금까지 드러나지 않음 또한, ssViT features는 훌륭한 k-NN 분류기가 될 수 있으며, ImageNet에서 78.3%의 top-1 accuracy를 보임 그리고 이번 연구에서 mome..
-
공공데이터포털에서 농촌진흥청 국립농업과학원 농업기상 관측데이터 API 활용하기기타 2021. 9. 3. 01:16
취미로 하는 분석에서 기상 데이터가 필요해졌다. 그래서 농업기상 관측데이터를 가져오기로 했다. 링크: https://www.data.go.kr/data/15078057/openapi.do 사이트에 들어가서 활용신청을 누르고, encodingKey를 얻었다. 프로젝트 디렉토리에 잘 저장을 해두고, 다음과 같이 불러온다. import requests from xml.etree import ElementTree import pandas as pd # get key encodingKey = '' decodingKey = '' with open("./personal/weather.txt", "r") as f: encodingKey = f.readline() decodingKey = f.readline() enco..