반응형

분류 전체보기 823

[논문 읽기] Faster R-CNN (2015) 리뷰

이번에 읽어볼 논문은 'Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks' 입니다. Fast R-CNN과 R-CNN에서 region proposals는 selective search로 생성되었습니다. Faster R-CNN에서는 region proposals를 생성하는 작업과 object detection이 동일한 CNN에서 수행됩니다. 즉, region proposal을 생성하는 알고리즘과 detection 알고리즘이 하나로 통합된 신경망이 탄생된 것입니다. 이러한 설계 덕분에 detection 속도가 빨라지게 됩니다. Faster R-CNN은 region proposal를 생성하는 신경망인 RPN(region ..

[선형대수학] 6.3 구속 최적화(Constrained Optimization)

David C.Lay 의 Linear algebra and its application를 공부하면서 정리해보았습니다. 감사합니다. 6.3 구속 최적화(Constrained Optimization) 구속 최적화는 이차 형식(Qudratic Form)에 제약 조건을 준것입니다. 이차 형식의 최대값과 최소값을 전체 영역에서 찾는 것이 아니라 제약조건 내에서 찾는 것입니다. 이차 형식에 다음과 같은 제약 조건을 줍니다. 이는 Q(x) = $x^TAx$에서 $x^Tx$=1 을 의미합니다. 예시 문제 이차 형식과 제약 조건이 주어지고 최대값과 최소값을 찾는 문제입니다. 이차 형식 제약 조건 $x^2_2$와 $x^2_3$은 nonnegative이므로 다음이 성립합니다. 따라서 다음과 같이 됩니다. $x^Tx$ = 1..

[파이썬 알고리즘 인터뷰] 15. 역순 연결 리스트

이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다. 출처 : 파이썬 알고리즘 인터뷰 코드 출처 : 파이썬 알고리즘 인터뷰 깃허브 15. 역순 연결 리스트 리트코드 206. Reverse Linked List 문제입니다. leetcode.com/problems/reverse-linked-list/ 풀이 node가 node.next로 이동함과 동시에 node.next를 prev로 연결합니다. def reverseList(self, head): rev, node = None, head while node: rev, rev.next, node = node, rev, node.next return rev

Python/알고리즘 2021.02.15

[파이썬 알고리즘 인터뷰] 14. 두 정렬 리스트의 병합

이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다. 출처 : 파이썬 알고리즘 인터뷰 코드 출처 : 파이썬 알고리즘 인터뷰 깃허브 14. 두 정렬 리스트의 병합 리트코드 21. Merge Two Sorted Lists 문제입니다. 풀이 리트코드 디스커션에 직관적인 풀이가 있어서 가져와 봤습니다. 1. 반복문 풀이 def mergeTwoLists(self, l1, l2): dummy = cur = ListNode(0) while l1 and l2: if l1.val > l2.val: cur.next = l1 l1 = l1.next else: cur.next = l2 l2 = l2.next cur = cur.next cur.next = l1 or l2 return dummy.next 2. 재귀..

Python/알고리즘 2021.02.15

[파이썬 알고리즘 인터뷰] 13. 팰린드롬 연결 리스트

이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다. 출처 : 파이썬 알고리즘 인터뷰 코드 출처 : 파이썬 알고리즘 인터뷰 깃허브 13. 팰린드롬 연결 리스트 리트코드 234. Palindrome Linked List 문제입니다. 풀이 문제 난이도는 easy 이지만, 연결 리스트에 대한 이해도가 부족하면 풀이 방법을 떠올리기 어렵습니다. 책에서는 두 가지 풀이방법을 제시합니다. 첫 번째는 연결 리스트를 리스트로 바꿔서 펠린드롬을 확인하는 풀이입니다. 두 번째는 연결 리스트의 중앙값을 기준으로 역순 연결 리스트를 만들고 값을 비교하는 풀이입니다. # 1. 리스트 변환 def isPalindrome(self, head): q = collections.deque() node = head whil..

Python/알고리즘 2021.02.15

[PyTorch] CNN 신경망 구축하고 MNIST 데이터셋으로 학습하기

PyTorch Computer Vision Cookbook 을 공부하고 정리한 포스팅입니다. colab 환경에서 MNIST 데이터를 활용해 간단한 CNN 신경망을 구축하고 학습, 평가까지 진행해 보도록 하겠습니다! 이번 포스팅에서는 다음 순서로 진행됩니다. MNIST 데이터셋 불러오고 전처리 CNN 모델 구축 loss function과 optimizer 정의 학습 및 평가 모델 파라미터 저장 및 불러오기 데이터 전처리 우선 구글 colab에 마운트를 해줍니다. from google.colab import drive drive.mount('cookbook') CUDA를 확인하고 device를 지정합니다. import torch if torch.cuda.is_available(): device = torch..

[선형대수학] 6.2 이차 형식(Quadratic Forms)

David C.Lay 의 Linear algebra and its application를 공부하면서 정리해보았습니다. 감사합니다. 오랜만에 올려보는 선형대수학 포스팅입니다. 이차 형식(Quadratic forms) 이차 형식(Quadratic form)은 다음과 같이 정의됩니다. A는 nxn 크기의 대칭 행렬(symmetric matrix)이고 이차 형식의 행렬(the matrix of the quadratic form)이라고 불립니다. 대칭 행렬의 특징은 이전 포스팅에서 공부했었습니다. 간단히 요약하면, 대칭 행렬을 P와 D로 분해하면 P의 column이 A의 eigen vector로 이루어져 있고, 각 vector는 서로 직교한다는 것이었습니다. 그리고 이를 직교 대각화 가능이라고 불렀습니다. 이차 ..

[확률론] 이산형 확률분포 - 초기하 분포

고려대학교 김성범 교수님의 확률/통계 강의와 교재 'Sheldon Ross, A First Course in Probability (10th edition)' 를 공부하고 정리한 내용입니다. 초기하 분포(Hypergeometric Distribution) m개 흰색 공, N - m개 검은색 공으로 구성된 N개의 공을 포함하고 있는 항아리에서 비복원 추출로 n개 공을 꺼낸다고 가정하겠습니다. 확률 변수 X는 흰색 공이 뽑힌 수로 정의합니다. 초기하 분포의 확률질량함수는 다음과 같습니다. 파라미터는 n: 샘플링 수, N: 공의 수, m: 흰색 공의 수 3가지를 갖습니다. 그리고 초기하 분포는 품질에서 불량이 몇개 인지 파악하기 위해 많이 쓰입니다. 초기하 분포의 파라미터 초기하 분포는 N, n, m 3가지 ..

수학/확률론 2021.02.14

[논문 읽기] Fast R-CNN(2014) 리뷰

Fast R-CNN Fast R-CNN은 R-CNN과 SPPnet의 단점을 개선한 모델입니다. end-to-end learning이 가능하며, 2000개의 proposals이 모두 CNN에 통과하지 않도록 구조를 개선하여 detecting 속도를 높였습니다. R-CNN 단점 1. 학습이 여러 단계로 나뉘어져 있습니다. R-CNN은 3가지 단계의 학습 과정을 거쳐야 합니다. (1) CNN fine-tuning (2) SVM fine-tuning (3) learn bounding-box regression 2. 학습하는데에 시간이 오래 걸리고 메모리 공간도 많이 차지합니다. SVM과 bounding-box regression은 각 이미지에서 각 proposal로 추출된 특징으로 학습되기 때문입니다. 3. 느..

[자료구조] 이중 연결 리스트를 파이썬으로 구현하기

저번 포스팅에서는 단일연결리스트를 파이썬으로 구현해보았습니다. 이번에는 이중연결리스트를 파이썬으로 구현해보도록 하겠습니다. [자료구조] 연결 리스트를 알아보고 파이썬으로 구현하기 이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다. 출처 : 파이썬 알고리즘 인터뷰 연결 리스트(Linked List) 연결 리스트는 데이터 요소의 선형 집합으로, 데이터의 순서 deep-learning-study.tistory.com 이중 연결 리스트(Doubly Linked List) # Doubly Linked List Implement # define ListNode class ListNode: def __init__(self, x): self.val = x self.next = None self.prec..

Python/알고리즘 2021.02.13
반응형