전체 글 보기
-
이번 단원에서는 CNN 내부에서 어떠한 일이 벌어지는 것인지 이해하기 위한 내용을 포함하고 있다. 현재 딥러닝이 가지고 있는 큰 문제점 중 하나는 내부에서 어떠한 일이 벌어지는지 명확하게 설명하기 힘들다는 점이다. 따라서 이러한 측면에서 중간에서 어떠한 일이 벌어지는지 규명하기 위한 노력 정도로 이 단원을 이해해주면 된다. First Layer Weight vector와 나란할 때 input값과의 inner product의 값이 최대가 된다. 즉, activation이 maximize하기 위해서는 input과 weight는 동일하다. 이를 통해 해당 filter가 어느 부분을 보고 있는지를 추정할 수 있다. 그림에서 볼 수 있는 것처럼 architecture의 종류와 data의 종류와 무관하게 first..
[CS231n] Lecture 12이번 단원에서는 CNN 내부에서 어떠한 일이 벌어지는 것인지 이해하기 위한 내용을 포함하고 있다. 현재 딥러닝이 가지고 있는 큰 문제점 중 하나는 내부에서 어떠한 일이 벌어지는지 명확하게 설명하기 힘들다는 점이다. 따라서 이러한 측면에서 중간에서 어떠한 일이 벌어지는지 규명하기 위한 노력 정도로 이 단원을 이해해주면 된다. First Layer Weight vector와 나란할 때 input값과의 inner product의 값이 최대가 된다. 즉, activation이 maximize하기 위해서는 input과 weight는 동일하다. 이를 통해 해당 filter가 어느 부분을 보고 있는지를 추정할 수 있다. 그림에서 볼 수 있는 것처럼 architecture의 종류와 data의 종류와 무관하게 first..
2021.08.17 -
이전까지는 Image Classification을 하기 위한 방법을 살펴보았었다. Input image가 주어졌을 때, CNN이나 RNN 등의 방법을 활용하여 주어진 이미지가 어떠한 클래스에 속하는지를 판단하는 작업을 수행하였다. Computer Vision에게 주어진 과제는 그외에도 여러가지가 존재하는데 크게 보면, 4가지 task가 존재한다. Semantic Segmentation 첫번째로는 Semantic Segmentation이다. 해당 작업은 이미지를 받아 모든 pixel를 Category label에 대응시키는 작업이라고 할 수 있다. 각 pixel을 단순히 category에 대응시키는 것이므로, 동일한 category에 존재하면서 다른 object의 경우는 구분하지 못한다. 이를 수행하는 방..
[CS231n] Lecture 11이전까지는 Image Classification을 하기 위한 방법을 살펴보았었다. Input image가 주어졌을 때, CNN이나 RNN 등의 방법을 활용하여 주어진 이미지가 어떠한 클래스에 속하는지를 판단하는 작업을 수행하였다. Computer Vision에게 주어진 과제는 그외에도 여러가지가 존재하는데 크게 보면, 4가지 task가 존재한다. Semantic Segmentation 첫번째로는 Semantic Segmentation이다. 해당 작업은 이미지를 받아 모든 pixel를 Category label에 대응시키는 작업이라고 할 수 있다. 각 pixel을 단순히 category에 대응시키는 것이므로, 동일한 category에 존재하면서 다른 object의 경우는 구분하지 못한다. 이를 수행하는 방..
2021.08.15 -
Approach 이 문제를 물론 네트워크 플로우를 활용해서 풀 수는 있는데, 그리디를 활용한 방법으로 접근해보자. 문제를 정확히 이해해보면, reordering 성질을 만족하는 것을 쉽게 파악할 수 있다. 예를 들어 다음과 같은 행렬이 있다고 하자. $$\begin{pmatrix} 1 &1 & 0 & 1 \\ 1 &0 &1 &1 \\ 1 &1 &1 &1 \\ 1&1 &1 &1 \end{pmatrix}$$ 행과 열의 합을 유지한 상태로 1로 표시된 2개의 element의 위치를 변경할 수 있다. 예를 들어, 첫번째 row vector의 2번째 element대신 3번째 element를 1로 만든 뒤 두번째 row vector의 2번째 element를 1로 만들고 3번째 element를 0으로 만든다. 즉, ..
[백준 1960번] [그리디] 행렬만들기Approach 이 문제를 물론 네트워크 플로우를 활용해서 풀 수는 있는데, 그리디를 활용한 방법으로 접근해보자. 문제를 정확히 이해해보면, reordering 성질을 만족하는 것을 쉽게 파악할 수 있다. 예를 들어 다음과 같은 행렬이 있다고 하자. $$\begin{pmatrix} 1 &1 & 0 & 1 \\ 1 &0 &1 &1 \\ 1 &1 &1 &1 \\ 1&1 &1 &1 \end{pmatrix}$$ 행과 열의 합을 유지한 상태로 1로 표시된 2개의 element의 위치를 변경할 수 있다. 예를 들어, 첫번째 row vector의 2번째 element대신 3번째 element를 1로 만든 뒤 두번째 row vector의 2번째 element를 1로 만들고 3번째 element를 0으로 만든다. 즉, ..
2021.08.13 -
Recurrent Neural Networks input과 output 사이의 관계를 표현해보면 총 5가지의 구조로 다양하다. one to many의 대표적인 예시는 Image Captioning이다. 하나의 이미지를 넣으면 여러개의 단어를 출력해야하는 상황이라고 할 수 있다. many to one의 대표적인 예시는 Sentiment Classification이다. 여러 개의 단어를 주고 감정을 출력하는 상황이라고 할 수 있다. many to many의 대표적인 예시는 Machine Translation이다. 대표적으로 여러 개의 단어를 여러 개의 단어로 변환시키는 상황으로, 다른 언어로 변환하는 상황을 들 수 있다. 위 사진은 맨 마지막 분류에 해당하는 것으로, frame level에서 video cl..
[CS231n] Lecture 10Recurrent Neural Networks input과 output 사이의 관계를 표현해보면 총 5가지의 구조로 다양하다. one to many의 대표적인 예시는 Image Captioning이다. 하나의 이미지를 넣으면 여러개의 단어를 출력해야하는 상황이라고 할 수 있다. many to one의 대표적인 예시는 Sentiment Classification이다. 여러 개의 단어를 주고 감정을 출력하는 상황이라고 할 수 있다. many to many의 대표적인 예시는 Machine Translation이다. 대표적으로 여러 개의 단어를 여러 개의 단어로 변환시키는 상황으로, 다른 언어로 변환하는 상황을 들 수 있다. 위 사진은 맨 마지막 분류에 해당하는 것으로, frame level에서 video cl..
2021.08.09 -
대강 읽기는 했는데, 다시 검토해볼 것 https://kangbk0120.github.io/articles/2018-01/identity-mapping-in-deep-resnet 참고 Identity Mappings in Deep Residual Networks 리뷰 Identity Mappings in Deep Residual Networks 강병규 안녕하세요 오늘 리뷰할 논문은 Identity Mappings in Deep Residual Networks(He et al)입니다. 전체적으로 기존에 나왔던 Residual Network(이하 ResNet)이 왜 좋은 성능이 나 kangbk0120.github.io 결국 skip connection이 identity mapping이면 좋고, activat..
ResNet "Identity mapping" 효용성 논증 논문대강 읽기는 했는데, 다시 검토해볼 것 https://kangbk0120.github.io/articles/2018-01/identity-mapping-in-deep-resnet 참고 Identity Mappings in Deep Residual Networks 리뷰 Identity Mappings in Deep Residual Networks 강병규 안녕하세요 오늘 리뷰할 논문은 Identity Mappings in Deep Residual Networks(He et al)입니다. 전체적으로 기존에 나왔던 Residual Network(이하 ResNet)이 왜 좋은 성능이 나 kangbk0120.github.io 결국 skip connection이 identity mapping이면 좋고, activat..
2021.08.09 -
Approach 자기보다 아래에 있는 트리에 물이 채워지면 현재 자신이 위치한 트리의 높이만큼의 물이 채워지는 방식이다. 따라서, 해당 위치에 얼마나 물이 채워져있는지는 자기 자신을 루트 노트로 가지는 subtree안에 속한 구간할을 구하면 된다. 따라서 트리의 구간합을 구하는 방식이므로 오일러 투어 테크닉(ETT)를 생각해주면 된다. 따라서 노드 i안에 있는 물의 양은 다음과 같다. $$query[dfs\_in[i], dfs\_out[i]] * depth[i]$$ 이해가 안된다면 다음 블로그 글을 참고하도록 하자. https://thekeykim.github.io/posts/BOJ_18227/ [백준] 18227 - 성대나라의 물탱크 C++ 문제링크 18227 - 성대나라의 물탱크 문제 성대나라에는 각..
[백준 18227번] [세그먼트 트리 / 오일러 투어 테크닉] 성대나라의 물탱크Approach 자기보다 아래에 있는 트리에 물이 채워지면 현재 자신이 위치한 트리의 높이만큼의 물이 채워지는 방식이다. 따라서, 해당 위치에 얼마나 물이 채워져있는지는 자기 자신을 루트 노트로 가지는 subtree안에 속한 구간할을 구하면 된다. 따라서 트리의 구간합을 구하는 방식이므로 오일러 투어 테크닉(ETT)를 생각해주면 된다. 따라서 노드 i안에 있는 물의 양은 다음과 같다. $$query[dfs\_in[i], dfs\_out[i]] * depth[i]$$ 이해가 안된다면 다음 블로그 글을 참고하도록 하자. https://thekeykim.github.io/posts/BOJ_18227/ [백준] 18227 - 성대나라의 물탱크 C++ 문제링크 18227 - 성대나라의 물탱크 문제 성대나라에는 각..
2021.08.03 -
Approach 각 세그먼트의 노드에서 가장 최댓값, 그 다음 최댓값을 가지고 있으면 해당 쿼리에서의 최댓값과 그 다음 최댓값을 쉽게 도출할 수 있다. 다만, 2개의 value를 핸들링해야하는 상황이므로 pair도 뭐 가능하긴한데 class를 활용해주었다. Code #include #define fastio ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0) using namespace std; class max_store{ public: int max_1; int max_2; max_store(){ max_1 = -1; max_2 = -1; } max_store(int a){ max_1 = a; max_2 = -1; } max_store(int a, int ..
[백준 17408번] [세그먼트 트리] 수열과 쿼리 24Approach 각 세그먼트의 노드에서 가장 최댓값, 그 다음 최댓값을 가지고 있으면 해당 쿼리에서의 최댓값과 그 다음 최댓값을 쉽게 도출할 수 있다. 다만, 2개의 value를 핸들링해야하는 상황이므로 pair도 뭐 가능하긴한데 class를 활용해주었다. Code #include #define fastio ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0) using namespace std; class max_store{ public: int max_1; int max_2; max_store(){ max_1 = -1; max_2 = -1; } max_store(int a){ max_1 = a; max_2 = -1; } max_store(int a, int ..
2021.08.03 -
Approach Subtree에 대한 정보를 가지고 이야기를 하고 있으므로, 오일러 투어 테크닉(ETT)를 활용하면 서브트리에 대한 정보를 쿼리 정보로 바꿔서 처리할 수 있다. 또한 추가적으로 쿼리에 대한 특정 수보다 작거나 크고 k번째 수의 경우는 머지 소트 트리를 활용해서 쉽게 풀 수 있다. 즉, 오일러 투어 테크닉(ETT)와 Mergesort Tree를 활용하면 쉽게 풀 수 있다. 느낌 자체는 https://viyoung.tistory.com/245 [백준 14287번] [세그먼트 트리 / 오일러 투어 테크닉] 회사 문화 3 Approach 가장 원초적으로 생각할 수 있는 풀이는 dfs로 계속 타고 내려가면서 계속 업데이트를 해주면 된다. 다만, 이 경우에는 시간복잡도가 $O(NM)$으로 시간이 초..
[백준 15899번] [머지소트 트리 / 오일러 투어 테크닉] 트리와 색깔Approach Subtree에 대한 정보를 가지고 이야기를 하고 있으므로, 오일러 투어 테크닉(ETT)를 활용하면 서브트리에 대한 정보를 쿼리 정보로 바꿔서 처리할 수 있다. 또한 추가적으로 쿼리에 대한 특정 수보다 작거나 크고 k번째 수의 경우는 머지 소트 트리를 활용해서 쉽게 풀 수 있다. 즉, 오일러 투어 테크닉(ETT)와 Mergesort Tree를 활용하면 쉽게 풀 수 있다. 느낌 자체는 https://viyoung.tistory.com/245 [백준 14287번] [세그먼트 트리 / 오일러 투어 테크닉] 회사 문화 3 Approach 가장 원초적으로 생각할 수 있는 풀이는 dfs로 계속 타고 내려가면서 계속 업데이트를 해주면 된다. 다만, 이 경우에는 시간복잡도가 $O(NM)$으로 시간이 초..
2021.08.02