Convolutional Neral Network
·
인공지능
IntroductionCNN은 이미지나 시계열 데이터를 처리하는데 특화된 신경망 구조이다. 한번 이미지 classification 문제를 일반적인 MLP로만 해결한다고 해보자.그러면 먼저 이미지의 각 픽셀들을 모두 펴서 하나의 벡터로 만들게 되고, 이를 FC(fully connected layer)에 넣서 계산한다. 이러한 방식은 픽셀간의 위치 관계(예를 들면 이미지에서 가까운 두 픽셀은 서로 멀리 떨어진 픽셀보다 더 관련이 많다)등을 무시하고, 파라미터 양도 매우 많아서 이미지를 학습하기에는 비효율적이다.반면, CNN은 이러한 픽셀들의 공간적 구조를 고려해 더 효율인 신경망이다. CNN에서 각 레이어의 역할은 다음과 같다. 1. Convolutional Layer (Conv)- 이 레이어 에서는 edg..
Mo's Algorithm
·
PS
Introduction Mo's Algorithm은 구간 쿼리들을 적절한 순서로 배치해 쿼리들을 빠르게 계산하는 테크닉 입니다. 다만, 쿼리들의 순서가 바뀌다 보니, 업데이크 쿼리가 없을때만 사용 가능합니다. 이 알고리즘은 Sqrt Decomposition과 비슷한 개념이 쓰임으로, 이를 알고 보시면 좋습니다. Algorithm se를 각 쿼리의 구간 시작부분과 끝 부분이라고 할 때, 쿼리들을 (sN,e)에 대한 사전순으로 정렬 (N은 전체 구간의 길이)하고 순서대로 쿼리들을 계산해주시면 됩니다. (단, 두개의 포인터로 구간의 시작과 끝을 이동시키는 방식으로 계산해야됩니다) (아래 코드를 보시면 쉽게 이해가 되실겁니다.) Time Complexity 1. ..
Sqrt Decomposition
·
PS
Introduction Sqrt Decomposition이란 구간을 n개의 bucket으로 나눠 쿼리를 O(n) 만에 처리하는 테크닉이다. 물론 세그먼트 트리를 이용하면 O(logn)만에 구간 쿼리를 계산할 수 있지만, Sqrt Decomposition 은 Mo's Algorithm에 기반이 된다고 하니 배워보자. 코드 아래의 코드는 이 문제를 기준으로 작성되었다. #include #include #include using namespace std; const int MAX = 1000000001, MIN = 0; struct Ele { int min, max; }; int n, m, sqr; Ele arr[100001], bucket[400]; inline E..
zanzun