EfficientNet의 후속작인 EfficientDet에 대해 리뷰하겠습니다. 혹시 EfficientNet을 읽어보지 않으셨거나, 기억이 안나시면 제 블로그에 있으니 찾아보시는 걸 추천 드립니다. 0.Abstact - SOTA detectors become too expensive - model efficiency becomes more important - both accuracy and efficiency 논문의 저자들은 SOTA 모델이 너무 비싸다, 모델의 efficiency 역시 중요하다. 정확도와 효율성 모두 잡은 모델은 없을까 고민하다가 EfficientDet을 고안해냈다. 1. Introduction - Question : Is it possible to build a detection a..
처음으로 릿코드 문제를 풀어보았다. 어떤 정수 배열이 주어졌을 때, 이 배열을 '합이 동일한 2개의 부분 집합으로 나눌 수 있는지' 를 판단하는 문제였다. dp를 이용해 풀었다. 아래 알고리즘은 직접 손으로 따라가며 풀면 금방 이해할 수 있을만한 코드이다. TIP! 배열의 합이 22일 때, 배열에 속한 몇가지의 수를 선택해 배열의 합의 절반인 11을 만들 수 있으면 자연스레 선택받지 못한 나머지 수들의 합도 11이 된다. (배열의 합이 짝수인 경우만 2개의 부분 집합으로 나눌 수 있기 때문!) 혹시 이런 문제가 백준에도 있다면 댓글 남겨주세요,, class Solution: def canPartition(self, nums: List[int]) -> bool: total = sum(nums) if tot..
-1. Before start 모델의 크기를 크게 만드는 3가지 방법 1. depth 증가 2. width 증가 (= filter 개수 증가) 3. 고해상도 이미지 사용 기존에는 3가지 방법을 수동으로 조절하였기에, 최적을 찾지 못하였다. EfficientNet은 이 3가지의 최적의 조합을 AutoML을 통해 찾아내고, 수식으로 만든 논문이다. 조합을 효율적으로 만들 수 있도록 하는 compound scaling 방법을 제안하며, NAS 구조 수정을 통해 더 작은 크기의 모델로도 SOTA를 달성한 논문이다. 일반적으로 모델을 scaling하는 방법이란, b,c,d방법을 적절히 조절하는 것을 의미한다. 0.Abstract - 한정된 자원으로 최대의 효율 - compound coefficient 방법 - 더..
https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 진짜 순수 구현문제다.. 방향벡터를 이용해야하는 정도?만 제외하면.. 오랜만에 푸는 문제라 많이 어지러웠지만, 그래도 풀었다..! 문제의 해결방법은 다음과 같다 1. 미세먼지가 확산한다. 2. 공기청정기가 작동한다. 3. 위 과정을 T번 반복한다. 사실 2번은 정말 노가다..라고 할 수 있다. 그냥 값들을 앞으로 옮기기만 하면 되는데, for문이든 while문이든 취향껏 골라서 풀면 된다. 이제..
Introduction - DETR의 후속작이다. - 느린 수렴(Convergence)과 작은 물체에 대한 낮은 성능에 대한 대안 - multi scale feature 사용 - deformable attention module 사용 Attention weight가 uniform하게 초기화되고 나서, 의미있는 위치에 focus 시키기 위해 학습하는 시간이 매우 길다. (uniform이란, 평균이 0이고 분산이 1인 분포) ex) key가 160개라면, 1/160으로 시작해서 gradient도 매우 작은 상태, query가 주어졌을 때 key는 이미지의 다른 모든 pixel이 되기 때문에 학습이 오래 걸림 + 작은 객체를 detection은 주로 high resolution feature map에서 이뤄지..
https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 독해 능력이 중요한 구현 문제이다 ㅋㅋ 읽어보면 알겠지만, 모든 가능한 할인율의 경우의 수를 전부 대입하여 풀어봐야한다. 즉 브루트 포스 + 백트래킹 구현 문제 정도로 생각할 수 있다. 문제 풀이는 다음과 같다. 1. 필요한 변수들을 선언해주고 dfs를 시작한다 2. 할인율의 경우의 수를 기록하는 배열을 sale_board라 할 때, 이 배열이 다 채워지면 cal() 함수를 호출해서 각 경..