[백준] / [Python] / [10709] 기상캐스터
·
Coding Test/백준
https://www.acmicpc.net/problem/10709문제JOI시는 남북방향이 H 킬로미터, 동서방향이 W 킬로미터인 직사각형 모양이다. JOI시는 가로와 세로의 길이가 1킬로미터인 H × W 개의 작은 구역들로 나뉘어 있다. 북쪽으로부터 i 번째, 서쪽으로부터 j 번째에 있는 구역을 (i, j) 로 표시한다.각 구역의 하늘에는 구름이 있을 수도, 없을 수도 있다. 모든 구름은 1분이 지날 때마다 1킬로미터씩 동쪽으로 이동한다. 오늘은 날씨가 정말 좋기 때문에 JOI시의 외부에서 구름이 이동해 오는 경우는 없다.지금 각 구역의 하늘에 구름이 있는지 없는지를 알고 있다. 기상청에서 일하고 있는 여러분은 각 구역에 대해서 지금부터 몇 분뒤 처음으로 하늘에 구름이 오는지를 예측하는 일을 맡았다.각..
[YOLO v1] You Only Look Once: Unified, Real-Time Object Detection
·
Paper Review
YOLO v1해당 논문이 발표되기 이전에는 2 stage object detection 방법이 일반적이였습니다. 2 stage object detection은 각각의 stage를 순차적으로 처리하기 때문에 속도가 느리다는 단점이 있었습니다. YOLO v1은 이를 통합한 1 stage object detection 방법을 제안하며 더욱 빠른 처리 속도를 제공합니다.Preview2 stage object detectionYOLO v1이 나오기 이전 R-CNN과 같은 기존의 object detection 모델은 2 stage로 동작했습니다.첫 번째로, 입력 이미지를 Region Proposal 과정을 거쳐 "물체가 있을 법한" 위치를 찾아냅니다.두 번째로, 찾아낸 이미지들을 CNN에 넣어 Feature를 추출..
[ViT] Vision Transformer, AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE
·
Paper Review
ViT (Vision Transformer)Transformer 구조는 NLP 분야에서 놀라운 성과를 보이며 사실상 표준으로 사용하고 있습니다.이에 따라 CV 분야에서도 Transformer를 적용하려는 시도는 있었지만, 여전히 CNN 기반 모델들에 비해 성능이 떨어졌습니다. (Stand Alone Self Attention)하지만, ViT는 새로운 접근 방식으로 이를 극복하고 CV분야에 성공적으로 적용시켰습니다. ArchitectureViT의 전체적인 구조는 위 그림과 같습니다. 그림의 아래 부분의 입력 이미지를 Encoder에 넣어주기 전에 Transformer가 연산할 수 있도록 데이터를 변화해주는 작업( Input Embedding)을 진행합니다. Embedding 된 이미지는 Encoder에 들..
[백준] / [Python] / [1205] 등수 구하기
·
Coding Test/백준
https://www.acmicpc.net/problem/1205문제태수가 즐겨하는 디제이맥스 게임은 각각의 노래마다 랭킹 리스트가 있다. 이것은 매번 게임할 때 마다 얻는 점수가 비오름차순으로 저장되어 있는 것이다.이 랭킹 리스트의 등수는 보통 위에서부터 몇 번째 있는 점수인지로 결정한다. 하지만, 같은 점수가 있을 때는 그러한 점수의 등수 중에 가장 작은 등수가 된다.예를 들어 랭킹 리스트가 100, 90, 90, 80일 때 각각의 등수는 1, 2, 2, 4등이 된다랭킹 리스트에 올라 갈 수 있는 점수의 개수 P가 주어진다. 그리고 리스트에 있는 점수 N개가 비오름차순으로 주어지고, 태수의 새로운 점수가 주어진다. 이때, 태수의 새로운 점수가 랭킹 리스트에서 몇 등 하는지 구하는 프로그램을 작성하시오..
[백준] / [Python ] / [9017] 크로스 컨트리
·
Coding Test/백준
https://www.acmicpc.net/problem/9017문제크로스 컨트리 달리기는 주자들이 자연적인 야외의 지형에 만들어진 코스를 달리는 운동 경기이다. 경주 코스는 일반적으로 4에서 12 킬로미터이며, 숲이나 넓은 땅을 통과하는 풀과 흙으로 된 지면과 언덕과 평평한 지형을 포함한다. 이 경기는 주자들의 개인성적을 매기고, 이를 가지고 팀의 점수를 계산한다. 한 팀은 여섯 명의 선수로 구성되며, 팀 점수는 상위 네 명의 주자의 점수를 합하여 계산한다. 점수는 자격을 갖춘 팀의 주자들에게만 주어지며, 결승점을 통과한 순서대로 점수를 받는다. 이 점수를 더하여 가장 낮은 점수를 얻는 팀이 우승을 하게 된다. 여섯 명의 주자가 참가하지 못한 팀은 점수 계산에서 제외된다. 동점의 경우에는 다섯 번째 주..
[EfficientNet] Rethinking Model Scaling for Convolutional Neural Networks
·
Paper Review
EfficientNetAbstract이 논문에서는 네트워크의 깊이(Depth), 너비(Width), 이미지의 해상도(Resolution)을 "균형있게" 조절(Scaling)하면 성능이 향상된다는 것을 파악했습니다.깊이, 너비, 해상도를 compound coefficient를 사용하여 균일하게 확장하는 새로운 스케일링 방법을 제시하였고, 이를 사용하여 훨씬 적은 파라미터로 뛰어난 정확도와 효율성을 달성하였습니다. Introduction기존의 Convolution Network들은 일반적으로 깊이, 너비, 이미지의 해상도 중 하나만 스케일링하여 성능을 개선했습니다.논문의 저자는 네트워크의 너비, 깊이, 이미지의 해상도를 균형있게 일정한 비율로 조정한다면 높은 성능을 낼 수 있다는 것을 파악했습니다. 따라서,..
[SENet] Squeeze and Excitation Networks
·
Paper Review
SENet기존의 네트워크들은 깊이(Depth)를 늘리거나 층(Layer)의 관계를 수정하여 성능을 끌어올리는 방법을 생각했습니다.SENet은 채널 간의 상호작용(Channel Relationship)에 초점을 맞추어 성능을 끌어올린 모델입니다. 즉, 채널 간의 특징을 파악하고 채널 사이의 상호 종속 특징들을 명시적으로 모델링하면서 그에 맞게 재조정하는 과정을 거칩니다.이를 위해 새로운 형태의 Architecture Unit인 SE Block을 이 논문에서 소개합니다.SE BlockSE Block은 Squeeze와 Excitation으로 크게 2단계를 거쳐 채널 간의 상호작용을 고려하게 됩니다.Squeeze는 "짜내다"라는 뜻으로 많은 양의 정보를 압축하는 의미가 있으며, 논문에서는 Global Infor..
[MobileNet] Efficient Convolutional Neural Networks for Mobile Vision Applications
·
Paper Review
MobileNetMobileNet은 경량화에 집중하였습니다. 그 이유는 핸드폰이나 임베디드 시스템 같이 저용량 메모리환경에서 딥러닝을 사용하기 위해서입니다. MobileNet의 경량화 비결을 알기 위해선 Depthwise Separable Convolusion의 이해가 필요합니다.ArchitectureDepthwise Separable ConvolutionDepthwise Separable Convolution은 위 그림과 같이 Depthwise Convolution과 Pointwise Convolution의 두 개의 별도 단계로 분리하여 계산 효율성을 크게 향상시키는 기법입니다.Standard Convolution$$ D_K \cdot D_K \cdot M \cdot M \cdot D_F \cdot D..
욱근욱
개미는 오늘도 열심히 일을하네