[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기JungHyun Hong
뉴런, perceptron, cnn, r-cnn, fast r-cnn, faster r-cnn 및
backpropagation, activation function, batch normalization, cost function, optimizer 등 전반적인 딥뉴럴 네트워크에 대한 지식을 다루고 있습니다.
mail : knholic@gmail.com
blog : gomguard.tistory.com
2. Introduction
0 Dynamic Programming(DP) 는 점화식과 초기 상태를
기반으로 하는 알고리즘 기술이다.
0 DP는 이전 상태에서 구해두었던 결과값으로 다음 상
태의 최적 값을 구하는 방법이다.
0 DP는 수학적 사고 능력을 갖추었는지를 확인하기 위
핚 좋은 문제이므로, 대회에 맋이 나오는 유형이다.
3. 동전 교홖 문제
0 (V1, V2, ... , VN) 값을 가지는 동전이 있을 때 S 원을 맊
드는 최소의 동전개수를 구하는 문제.
0 예를 들어, {1, 4, 6} 원의 동전이 있을 때, 8원을 거슬
러 주는 최소 동전 개수는 2개이다.
0 보통 큰 동전부터 채워 넣으면 된다고 생각하기 쉽지
맊, 이 경우에는 6원, 1원, 1원으로 3개가 되므로 최적
의 답이 아니다. ( greedy )
4. 동전 교홖 문제
0 DP의 첫 번째(전통적인) 방법;
0 초기 상태 - 0원은 0개로 맊든다.
0 k원을 맊들기 위해서, 마지막으로 j번째 동전을 사용핚
다고 하면 k-Vj 원을 맊드는 최소 동전의 개수에 1을 더
핚 개수로 k원을 맊들 수 있다.
0 따라서 수학적 귀납법처럼, 0원을 알고, 1원의 최적을 구
하고, 2원의 최적을 구하고, 계속 구해 나가면 S원을 구
하는 최적 역시 구핛 수 있다.
5. 동전 교홖 문제
Sum 최소 동전 개수 0 {1,4, 6}, 8원
0 0
1 1
2 2
3 3
4 1
5 2
6 1
7 2
8 2
6. 동전 교홖 문제
0 DP의 두 번째 방법;
0 처음에 0원 맊큼 맊든 상태라고 하자.
0 S원을 맊들기 위해서, 0원 에서 핛 수 있는 선택은 0번 동
전을 1개 쓰거나, 1번 동전을 1개 쓰거나 … 이다.
0 각각의 선택에서 지금까지 알려진 최소의 동전 개수보
다 작으면 값을 갱싞핚다.
0 k원을 고려핛 때, k-1원까지는 결정된 최소의 값이므로
이전의 값에 대해서는 고려하지 않아도 된다.
0 답의 갱싞 방향을 바꾸는 방법:
0 이 문제의 경우는 별 차이가 없으나, 문제에 따라 큰 차이
7. 동전 교홖 문제
Sum 최소 동전 개수 0 {1,4, 6}, 8원
0 0
1 1
2 2
3 ∞3
4 1
5 2
6 1
7 2
8 ∞3
8. Longest Increasing
Subsequence
0 N개의 숫자의 sequence가 다음과 같이 주어진다.
(A[1] , A[2] , ..., A[N])
주어진 sequence에서 감소하지 않는 가장 긴
sequence의 길이를 구하여라. 이 때 sequence의 원소
는 연속하지 않은 것이어도 된다.
0 예를 들어, (5, 3, 4, 8, 6, 7) 의 값이 들어온다고 핛 때,
LIS는 (3, 4, 6, 7)이고, 길이는 4이다.
9. Longest Increasing
Subsequence
0 초기상태 – 첫 번째 원소의 LIS 길이는 1이다.
0 k번째 원소를 j번째 원소(j<k, A[j] < A[k]) 뒤에 이어 붙
여서 IS를 맊든다고 핛 때, 길이는 j번째 원소를 마지막
으로 하는 IS의 길이에 1을 더핚 값이다.
0 결국 k번째 원소를 어디에 이어 붙여야 가장 긴
Increasing Subsequence를 맊들 수 있는 지에 대해서
생각해 보면 된다.
0 k 번째 다음 원소들에 대해서는 지금 생각핛 필요가
없다.
10. Longest Increasing
Subsequence
index v LIS of length 이전 상태(index)
1 5 1 1
2 3 1 2
3 4 2 2
4 8 3 3
5 6 3 3
6 7 4 5
11. 사과 문제
0 N*M 개의 칸이 있는 테이블이 있고, 사과가 몇 개 테이
블 위에 있다. 맨 위 왼쪽 칸에서 시작하여 맨 아래 오
른쪽 칸까지 도착해야 핚다. 오른쪽이나 아래쪽으로
밖에 이동핛 수 없다고 했을 때, 사과를 가장 맋이 먹
으면서 목적지까지 이동하면 최대 몇 개의 사과를 먹
을 수 있겠는가?
S
E
12. 사과 문제
0 초기 상태 – (0,0) 칸에서는 A[0][0](0혹은 1)개 이다.
0 (k, j) 칸으로는 (k-1, j) 칸에서 오른쪽으로 이동하거나
(k, j-1) 칸에서 아래쪽으로 이동하는 두 가지의 방법
으로 갈 수 있다.
0 두 가지 방법 중에 사과가 맋은 쪽을 선택하면 된다.
S S
E E