제가 공부하고 정리한 내용을, 나중에 다시 보기 위해서 쓰는 공간입니다. Anormaly Detection, Novelty Detection, Outlier Detection 의 차이와 Unary classification(One class classification)에 대해서 글을 쓰기 위해 조사를 하다가, 너무 깔끔하게 잘 정리된 글이 있어서 그냥 그 글의 링크를 남겨두기로 결정했습니다. 수아랩의 이호성님의 글입니다. http://research.sualab.com/introduction/review/2020/01/30/anomaly-detection-overview-1.html
이 글은 제가 공부한 내용을 정리하는 글입니다. 틀린 내용이 있다면 댓글로 지적 부탁드립니다. 감사합니다. Weight decay 설명과 이해 모델을 학습하다보면 Overfitting(과적합)이 발생할 수 있다. 이 경우 가장 단순하게 해결하는 방법은 학습 데이터의 수를 늘리는 것이다. 하지만 문제에 따라서 학습 데이터를 구하기가 매우 어려울 수 있다. 예를 들어 치매환자의 뇌 MRI 영상 같은 경우 영상 하나를 만들기 위해 건당 수십만원의 비용이 소모된다. 출처[1] Overfitting 문제를 해결하기 위해서 여러가지 방법이 쓰일 수 있는데, 그 중 한가지가 Weight decay이다. Loss function이 작아지는 방향으로만 단순하게 학습을 진행하면 특정 가중치 값들이 커지면서 위 첫번째 그림..
이 글은 제가 공부한 것을 정리한 글입니다. 잘못된 내용이 있다면 댓글로 지적 부탁드립니다. 감사합니다. Coarse-grained classification 과 Fine-grained classification 의 차이 Coarse-grained 의 사전적 정의는 "결이 거친", "조잡한" 입니다. 곡식을 낱알로 분리하는 작업을 "grain" 이라고 할 수 있는데, 이를 거칠고 큼직큼직하게 할지, 곱고 세밀하게 할지에 따라서 Coarse 와 Fine 으로 나누어 표현한다고 이해할 수 있습니다. Coarse-grained classification Coarse-grained classification 은 Cifar10, Cifar100, MNIST 등의 데이터셋을 사용해 classification 하는 ..
이 글은 제가 공부한것을 정리한 글입니다. 잘못된 내용이 있다면 댓글로 지적 부탁드립니다. 감사합니다. Classification 과 Authentication 의 차이에 대해 알고 싶은데 검색을 해봐도 도통 마땅한 글이 없어서 정리해봅니다. Classification Classification 은 이전에 작성해둔 두 글로 설명을 대신합니다. Classification 과 Regression 딥러닝 객체 검출 용어 정리 Deep learning Object detection terminology Authentication Face Recognition 을 통해 Authentication 을 설명하겠습니다. Classification 과 Authentication 은 각각 Closed-set face re..
이 글은 제가 공부한 내용을 정리하는 글입니다. 따라서 잘못된 내용이 있을 수도 있습니다. 잘못된 내용을 발견하신다면 리플로 알려주시길 부탁드립니다. 감사합니다. Knowledge distillation 이란? Knowledge distillation 은 NIPS 2014 에서 제프리 힌튼, 오리올 비니알스, 제프 딘 세 사람의 이름으로 제출된 "Distilling the Knowledge in a Neural Network" 라는 논문에서 제시된 개념입니다. Knowledge distillation 의 목적은 "미리 잘 학습된 큰 네트워크(Teacher network) 의 지식을 실제로 사용하고자 하는 작은 네트워크(Student network) 에게 전달하는 것" 입니다. 이 목적을 풀어서 설명하면 ..
제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. 일반적인 pooling 은 한 채널 안에서만 이루어지지만, Cross-Channel Pooling 은 이름 그대로 pooling 을 채널을 넘어 하겠다는 것입니다. 위 그림처럼 3개의 채널에 첫번째 값이 각각 1,7,5 일 경우 Cross Channel Pooling 을 Max 조건으로 하게 되면 오른쪽 같이 가장 큰 값 한개만 취하게 되는 것입니다. Cross Channel Pooling 을 하면 feature map 의 크기는 변하지 않고, 채널 수만 줄이는 dimension reduction 의 효과를 볼 수 있습니다. 이 외에도 Dimension reduction 을 위해서 사용할 수 있는 방법은 Poin..
제가 공부한 내용을 정리하는 글입니다. 제가 보려고 쓰는 글이기 때문에 아래는 작성의 편의상 반말로 작성했습니다. RMSProp 이전 AdaGrad 설명에서 언급했듯이 AdaGrad 는 최소값에 도달하기 전에 학습률을 0에 수렴하게 만들 수도 있다. AdaGrad 가 간단한 convex function 에선 잘 동작하지만, 복잡한 다차원 곡면 함수를 (상대적으로)잘 탐색하도록 설계되지 않기도 했고. 기울기의 단순한 누적만으로는 충분하지 않은 셈이다. RMSProp 은 기울기를 단순 누적하지 않고 지수 가중 이동 평균 Exponentially weighted moving average 를 사용하여 최신 기울기들이 더 크게 반영되도록 하였다. 이전 AdaGrad 의 h 에 새로운 hyper parameter..
제가 공부한 내용을 정리하는 글입니다. 제가 나중에 다시 보기 위해 작성하는 것이므로 본문은 편의상 반말로 작성했습니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. Momentum Momentum 은 Gradient descent(이하 GD) 기반의 optimization algorithm 이다. 수식으로 표현하면 아래와 같다. L : loss function value W : weights η : learning rate α : 가속도 같은 역할을 하는 hyper parameter, 0.9 등 1 이하의 값을 취함. 자세한 것은 아래에 설명. v 는 일종의 가속도(혹은 속도) 같은 개념으로 생각하는 것이 이해에 더 도움이 될 것 같다. v 의 영향으로 인해 가중치가 감소하던 (혹은 증가하던)..
제가 공부한 내용을 정리하는 글입니다. 작성의 편의를 위해 아래는 반말로 작성하였습니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. Batch Normalization 배치 정규화의 목적 Batch normalization 을 설명하기 전에 Nomalization 이 무엇인지 먼저 이해해야 한다. Normalization 에 대한 설명은 아래 링크로 대체한다. Normalization 설명 글 링크 위 글에선 입력 데이터를 왜 정규화해야 하는지 설명했다. 딥러닝 모델의 구조를 단순화하여 설명하면 흔히들 입력층 → 은닉층 → 출력층으로 묘사한다. 입력층의 입력 데이터는 쉽게 normalization 할 수 있지만, 입력층을 지나서 만나게 되는 layer 들의 입력은 normalization 하기..
제가 공부한 내용을 정리한 글입니다. 제가 나중에 다시 볼려고 작성한 글이다보니 편의상 반말로 작성했습니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. MGD(Mini-batch gradient descent), SGD(stochastic gradient descent)의 차이에 대해 설명하기 위해선 먼저 배치 Batch 가 무엇인지 알아야 한다. 배치 Batch 배치의 사전적 의미는 (일괄적으로 처리되는)집단이다. 배치는 한번에 여러개의 데이터를 묶어서 입력하는 것인데, GPU 의 병렬 연산 기능을 최대한 효율적으로 사용하기 위해 쓰는 방법이다.(GPU 의 병렬연산에 대한 설명 링크) 배치는 Iteration 1회당 사용되는 training data set 의 묶음이며, Iteration 은..
이 글은 제가 공부한 내용을 하나씩 정리하는 글입니다. 주로 제 기준에서 기초적인, 제가 까먹지 않을 만한 부분은 자세하게 쓰지 않습니다. 이러한 부분은 틈틈이 내용을 추가할 예정입니다. 예를들어 이 글의 현재 버전에서는 최소제곱법의 계산 방법등은 기술하지 않았습니다. 내용 중 잘못된 부분이 있다면 지적해주시길 부탁드립니다. 감사합니다. 기계학습 문제는 Classification(분류) 와 Regression(회귀) 로 나뉩니다. Classification(분류) Classification 은 이전 글인 딥러닝 용어 정리에 나름 잘 정리되어 있다고 생각합니다. Image classification 을 예로 들어 간단히 한줄로 요약하면 Image 안에 존재하는 객체 Object 의 종류를 구분하는 것입니다..
제가 공부한 내용을 정리한 글입니다. 제가 나중에 다시 볼려고 작성한 글이다보니 편의상 반말로 작성했습니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. Normalization Data Normalization 은 데이터의 범위를 사용자가 원하는 범위로 제한하는 것이다. 이미지 데이터의 경우 픽셀 정보를 0~255 사이의 값으로 가지는데, 이를 255로 나누어주면 0~1.0 사이의 값을 가지게 될 것이다. 위의 예를 수식으로 간단하게 쓴다면, (정규화하고자 하는 값 - 데이터 값들 중 최소값) / (데이터 값들 중 최대값 - 데이터 값들 중 최소값) 이다. 다른 방법으로는 (정규화하고자 하는 값 - 데이터의 평균) / 데이터의 표준편차 가 있다. 두번째 경우는 Standardization 이라..
제가 공부한 내용을 정리한 글입니다. 제가 나중에 다시 볼려고 작성한 글이다보니 편의상 반말로 작성했습니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. Validation Cross Validation 을 이해하려면 먼저 Validation 을 이해해야 합니다. Model 을 학습시킨 뒤 평가할 때 Test 와 Validation 이라는 2가지의 Phase 가 있습니다. Test 는 Unseen data 가 입력되었을 때, 학습결과와 유사한 결과가 나오는지 확인하는 과정입니다. Generalization(일반화) 성능을 평가한다고 할 수 있죠. Model 이 Overfitting(과적합) 되었는지 확인한다고 할 수 있습니다. Validation 은 Model 의 Hyper parameter(사..
제가 공부하고 정리한 것을 나중에 다시 보기 위해 적는 글입니다. 제가 잘못 설명한 내용이 있다면 알려주시길 부탁드립니다. 사용된 이미지들의 출처는 본문에 링크로 나와 있거나 글의 가장 마지막에 쓰여 있습니다. 감사합니다. L1 Regularization 과 L2 Regularization 을 설명하기 위한 글입니다. 결론부터 얘기하자면 L1 Regularization 과 L2 Regularization 모두 Overfitting(과적합) 을 막기 위해 사용됩니다. 위 두 개념을 이해하기 위해 필요한 개념들부터 먼저 설명합니다. 이 글의 순서는 아래와 같습니다. 1. Norm 2. L1 Norm 3. L2 Norm 4. L1 Norm 과 L2 Norm 의 차이 5. L1 Loss 6. L2 Loss 7...
제가 공부한 내용을 정리한 글입니다. 제가 나중에 다시 볼려고 작성한 글이다보니 편의상 반말로 작성했습니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. 원본 이미지 위에 Bounding box 를 추가하여 아래 설명에 대한 이해를 돕고자 한다[1]. Recall Recall 은 인식/탐지 기술의 분야에서 학술적으로 검출율을 의미한다. 맨 위의 이미지로 예를 들자면, 이미지 안에는 총 6마리의 동물이 존재하지만, 객체(object) 로서 검출(detected) 된 것은 3마리 뿐이다. 직관적으로 recall 은 검출율(detection rate) 라고 이해할 수도 있다. 즉 recall 은 객체들을 얼마나 빠뜨리지 않고 잘 찾아내는가에 대한 평가 지표이다. recall = tp / (tp + f..
공부를 하다 보면 용어의 정의에 대해서 정확히 알아야 할 필요가, 그리고 정리해두어야 할 필요를 느끼게 됩니다. 잘 정리해서 저장하고 저와 같은 필요를 느낄 분들의 불편함도 줄이고자 블로그에 정리합니다. 아래 사용되는 이미지들은 포스트 최하단에 출처를 표시하였고, 용어들은 필자가 알고 있던 내용들을 바탕으로 작성하였습니다. 혹시 오류가 있다면 리플로 알려주시기 바랍니다.모든 용어는 처음 사용시 한글과 영어를 혼용하여 읽는 이를 돕고, 이후 재사용시 한쪽 언어만 사용하였습니다. 다만 한글로 번역을 모르는 경우는 영어로만 표기하였습니다. 이하는 작성의 편의상 반말로 썼습니다. Classification, Localization, Object Detection, Semantic segmentation[1] C..
제가 공부한 내용을 정리한 글입니다. 제가 나중에 다시 볼려고 작성한 글이다보니 편의상 반말로 작성했습니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. CPU CPU(central processing unit)란 입력 받은 명령을 해석 / 연산 한 후, 이를 통해 결과 값을 출력 장치로 전달하는 컴퓨터의 주요 부품이다. CPU의 성능 지표는 아래 세가지이다. 1.클럭(동작속도)의 수치2.코어(핵심 회로)의 수 3.캐시 메모리(임시 저장소)의 용량 클럭 수치가 높으면 단일 작업을 빠르게 처리하는 데 유리하며, 코어의 수가 많으면 멀티 태스킹 (다중작업)을 하거나 멀티코어 연산에 최적화된 프로그램을 구동하는데 이점이 있다. 그리고 캐시 메모리가 넉넉하면 덩치가 큰 프로그램을 구동하거나 자주 하는 ..