목록AI (99)
우노

Sequence Model Sequence Model이란, 연속적인 입력(Sequential Input)으로부터 연속적인 출력(Sequential Output)을 생성하는 모델입니다. 예를 들어, 챗봇(Chatbot)과 기계 번역(Machine Translation)이 대표적인 예인데, 챗봇(Chatbot)은 입력 시퀀스와 출력 시퀀스를 질문과 대답으로 구성한것이며 기계 번역(Machine Translation)은 입력 시퀀스와 출력 시퀀스를 입력 문장과 번역 문장으로 구성한 것입니다. Sequence Data 여러 Sequence Model은 아래와 같은 Sequence Data들을 다룹니다. 위 그림을 통해, 다양한 종류의 Sequence Model들이 존재하며, 각 모델들은 여러가지 유형의 Sequ..

Neural Style Transfer Neural Style Transfer란, 두 이미지(Content Image & Style Image)가 주어졌을 때 Content Image의 형태는 유지하면서 Style Image와 유사한, 새로운 Image를 Generated 하는 것을 의미합니다. 위 그림에서는, 건축물을 Content Image로 주고, 화가의 작품을 Style Image로 주어, 건축물의 형태와 배치는 유지되면서 화풍만 유사한 새로운 Image가 생성된 것을 볼 수 있습니다. CNN 모델의 어느 Layer에서 특징(feature)를 추출할 것인가? Neural Style Transfer은 CNN 모델을 통해 동작하며, Content Representation과 Style Represen..

One Shot Learning One Shot Learning이란, 이미지 인식 분야에서 많이 사용되며 각 Class 에 따른 하나의 Training 이미지만으로, 이미지를 인식하고 분류하는 모델을 만드는 것을 말합니다. 보통의 얼굴 인식 시스템은 사용자의 사진이 한 장만 존재할 수도 있기 때문입니다. 하지만, 각 Class 에 따른 Training 이미지 수가 적다면, 이미지를 인식하고 분류하는 모델을 만드는 것은 어렵습니다. 물론 augmentation 과 같은 방법으로 샘플 수를 늘려서 해결할 수 있지만, 이 경우, 새로운 이미지가 데이터 베이스에 추가되었을 때, 모델을 새로 학습해야한다는 문제가 생깁니다. 즉, 실시간 시스템에 적합하지 않습니다. 따라서, 이러한 문제를 해결하기 위해, "입력 이..

Object Detection에는 여러가지 Algorithm이 존재합니다. Sliding Windows Detection YOLO Detection 하나하나 다뤄보겠습니다. Sliding Windows Detection 자동차 감지 알고리즘을 만들고 싶다고 가정해봅시다. 그렇다면, Sliding Windows Detection은 다음과 같은 순서로 진행됩니다. 1) 우선 X와 y로 Training Set를 만듭니다. 이 때, X는 자동차만 표현하도록 딱 맞게 자른 이미지입니다. 2) Training Set이 다 만들어졌다면, Training Set의 X를 Input으로 주는 ConvNet을 학습시킵니다. ConvNet은 y를 출력하며, y는 자동차인지 아닌지를 0 또는 1로 나타냅니다. 3) ConvNe..

Landmark Detecting 이미지가 주어졌을 때, 이미지 내 객체의 위치를 Bounding Box(bx, by, bh, bw)로 출력하는 방법을 Object Localization 이라고 합니다. 또한, 이미지가 주어졌을 때, 이미지 내 객체의 주요 지점을 X, Y 좌표로 출력하는 방법도 있습니다. 이를 Landmark Detecting이라고 합니다. Target Label y 예시 1 얼굴로부터 감정을 인식하고 싶다고 가정해봅시다. 또한, 이미지가 주어졌을 때, 눈의 가장자리, 코의 가장자리, 입의 가장자리, 턱의 가장자리 등 얼굴을 인식할 수 있는 64개의 지점, 즉 64개의 Landmark가 있다고 가정해봅시다. 이 때, 각각의 Landmark는 X, Y 좌표를 가질 것입니다. 첫 번째 La..

Object Detection을 구성하기 위해서는, 먼저 Object Localization을 알아야 합니다. 따라서, Object Localization이 무엇을 의미하는지부터 알아보도록 하겠습니다. Object Localization 위와 같이 이미지가 주어졌을 때, 이미지를 car라고 분류하는 것을 'Image classification'이라고 합니다. 이 때, car가 이미지 속 어디에 있는지까지 알아내는 것을 'Classification with localization'이라고 하며 localization을 사용해, 이미지에서 하나의 객체가 아닌 여러 객체를 인식하는 것을 'Detection'이라고 합니다. Classification with locali..

CNN의 Layer 유형은 다음과 같습니다. Convolution Layer Pooling Layer Fully Connected Layer 해당 포스트에서는 Convolution Layer와 Pooling Layer 중심으로 다뤄보겠습니다. Convolution Layer 컨볼루션이란, 원본 이미지에서 특징을 추출하는 수학적 연산을 의미하며 (n, n) 이미지에 (f, f) 크기의 필터를 적용해 특징을 추출하게 됩니다. 아래 그림에서, 녹색 (5, 5) 행렬은 원본 이미지, 노란색 (3, 3) 행렬은 필터입니다. 필터는 원본 이미지 위를 이동하며, 이미지 픽셀 값과 필터 픽셀 값의 내적의 합을 출력으로 나타내게 됩니다. 딥러닝에서는, 이미지에서 원하는 특징을 감지할 수 있도록 필터의 값을 학습하게 됩니..

CNN 종류는 다음과 같습니다. Classic Networks LeNet-5 AlexNet VGG-16 ResNet Inception(GoogLeNet) Network 들어가기 앞서, 입력 이미지 크기로부터 출력 이미지 크기를 추론하는 공식은 Convolution layer와 Pooling layer 모두 동일하며 아래와 같습니다. (n, n, c) 이미지에 대해 p 만큼 패딩한 후, c' 개의 (f, f, c) 필터 블록으로 s 씩 건너띄며 컨볼루션 한다면, 출력 이미지의 크기는 ((n+2p-f)/s+1, (n+2p-f)/s+1, c') 가 됩니다. (N+2p-f)/s + 1 가 실수라면 소수점 아래 부분은 버립니다. LeNet-5 LeNet-5은 손글씨 숫자를 인식하는 네트워크입니다. LeNet-5는..

기계학습에서 모델이나 패턴의 분류 성능 평가에 사용되는 지표들을 다루겠습니다. 어느 모델이든, 발전을 위한 feedback은 현재 모델의 performance를 올바르게 평가하는 것에서부터 시작합니다. 모델이 평가해야하는 요소와 그것을 수치화한 지표들, 그리고 관련 개념들에 대해서 다루도록 하겠습니다. 모델의 분류와 정답 모델을 평가하는 요소는 결국, 모델이 내놓은 답과 실제 정답의 관계로써 정의를 내릴 수 있습니다. 정답이 True와 False로 나누어져있고, 분류 모델 또한 True False의 답을 내놓습니다. 그렇게 하면, 아래와 같이 2x2 matrix로 case를 나누어볼 수 있겠네요. 이제 각 case별로 살펴보겠습니다. True Positive(TP) : 실제 True인 정답을 True라고..
Bayes error 달성할 수 있는 가장 낮은 예측 오차로써, 축소할 수 없는 오류와 동일하다. Training error 훈련 데이터의 에러를 말한다. Dev error 검증 데이터의 에러를 말한다. Avoidable bias bayes error와 training error의 차이를 말한다. Variance training error와 dev error의 차이를 말한다.