Artificial Intelligence/Deep Learning
-
[RNN] Vanila RNN을 이용한 SPAM Filter구현Artificial Intelligence/Deep Learning 2020. 4. 19. 00:30
지난 [SPAM FILTER] 간단한 스팸 분류기 포스팅에서는 Scikit-learn 라이브러리와 RandomForest Classifier를 사용해서 간단한 스팸 필터(스팸 분류기)를 만들어보았습니다. 이 스팸 필터의 경우 98%에 가까운 정확도를 보여주었지만, 이는 과대적합의 가능성도 있을 뿐더러(포스팅 당시에는 과대적합여부를 따로 판단하지는 않았습니다.) 단어 사이의 문맥이나 연관 관계를 고려하지 않고, 스팸 메일에 속할만한 단어가 많으면 스팸 메일로 판단할 가능성이 높아지는 방식을 택한다는 한계점이 있었습니다. 따라서 RNN(Recurrent Neural Network)을 이용한 이번 포스팅과 LSTM(Long-Short-Term-Memory)를 이용한 다음 포스팅을 통해서 이를 점진적으로 개선해..
-
Principal Component Analysis(PCA)Artificial Intelligence/Deep Learning 2020. 4. 2. 23:20
Overview 머신러닝 혹은 딥러닝으로 모델을 학습시키다 보면, 엄청난 양의 행렬 연산이 요구되는 경우가 다반사입니다. 컴퓨터는 이미지, 데이터 분포등의 정보를 벡터들로 구성하여 인식하는 경우가 많기 때문에 대부분의 전처리된 Input Data는 벡터의 모습을 띄게 됩니다. 하지만 때때로 이 전처리된 벡터의 크기는 굉장히 커서, 딥 러닝 모델에 과도한 부하를 주고 학습의 효율을 떨어뜨립니다. 벡터를 구성하는 모든 차원(크기가 n인 벡터라고 할 때 n차원)의 정보가 의미있는 것은 아니며, 의미있는 부분들만 추려내어 차원을 축소시킬 수 있다면, 이는 데이터의 형태(분포)를 유지하면서 데이터의 크기를 줄여 학습의 효율을 높일 수 있을 것입니다. 예를 들어 아래 그림에서 데이터는 3차원 분포를 나타내지만, 실..
-
KNN Algorithm with Data-Driven k ValueArtificial Intelligence/Deep Learning 2020. 4. 1. 21:29
KNN Algotirhm with Data-Driven k Value (2014) Debo Cheng, Shichao Zhang. et al 을 리뷰한 포스팅임을 서두에 밝힙니다. Abstract KNN 알고리즘이란, 머신러닝이나 딥러닝 분야에서 주어진 Sample을 분류(Classification)할 때 사용하는 방법입니다. 기존에 가지고 있던 테스트 샘플들과의 거리를 측정(L1 norm, L2 norm등 거리를 측정하는 다양한 방법이 있음)하여, 거리가 가장 가까운 K개의 샘플을 선택하고 그 K개의 샘플중에서 가장 많은 샘플이 속한 클래스의 레이블을 주어진 Sample의 레이블로 결정하는 방법입니다. ( 더 자세한 내용은 KNN에 대한 포스팅을 참고해주세요 ) 기존의 KNN알고리즘은 모든 테스트 케이..
-
KNN (K-Nearest Neighbor)Artificial Intelligence/Deep Learning 2020. 3. 29. 22:01
본 포스팅은 cs231n의 강좌를 정리한 글임을 서두에 밝힙니다. 캡쳐된 일부 강의 자료들은 CS231n에서 제공하는 PPT 슬라이드를 참조하였습니다. Definition 이전 포스팅에서 컴퓨터 비전 분야의 주된 과제 중 하나가 Image Classification 이라고 설명하였습니다. Image Classification 모델은 컴퓨터에게 인풋 이미지를 제공하면 그 이미지가 가지고 있는 개체의 이름(Label)을 출력합니다. 이를 수행하기 위해 다량의 데이터를 이용하여 컴퓨터를 학습시키는 "Data-Driven Approach"가 주로 사용되는데, KNN은 그 방법 중의 하나입니다. KNN은 굉장히 간단한 알고리즘입니다. KNN이라는 이름의 뜻 자체가 (K - Nearest Neighbor)이라는 뜻..
-
Image Classification PipelineArtificial Intelligence/Deep Learning 2020. 3. 28. 20:00
본 포스팅은 cs231n의 강좌를 정리한 글임을 서두에 밝힙니다. 캡쳐된 일부 강의 자료들은 CS231n에서 제공하는 PPT 슬라이드를 참조하였습니다. Image Classification 딥 러닝에 대한 연구가 가장 활발히 이루어지고 있는 분야 중 하나가 바로 컴퓨터 비전 분야입니다. 컴퓨터 비전(Computer Vision)이란, 기계의 시각에 해당하는 부분을 연구하는 연구 분야로, 카메라 등의 센서들을 이용해 얻은 데이터들을 식별하는 데에 주 목적을 두고 있습니다. 인간의 시각이 담당하는 중요한 기능 중의 하나가 이미지를 보고 그 이미지를 식별하는 것이라 할 수 있습니다. 마찬가지로 컴퓨터 비전 분야의 핵심 과제 중의 하나도 이와 같다고 말할 수 있는데, 이를 Image Classification이..
-
-
Generative Adversarial Network(GAN)Artificial Intelligence/Deep Learning 2020. 3. 20. 23:06
본 포스팅은 cs231n의 강좌를 정리한 글임을 서두에 밝힙니다. 캡쳐된 일부 강의 자료들은 CS231n에서 제공하는 PPT 슬라이드를 참조하였습니다. Definition GAN은 'Generative Adversarial Network' 의 줄임말로, 궁극적으로 실제 이미지와 유사한 가짜 이미지를 생성해 내기 위해 제안된 네트워크 모델입니다. 이 모델은 Ian Goodfellow가 2014년에 논문에서 제시한 모델로, 딥러닝 분야에서 최근 10년간 가장 혁신적인 아이디어로 평가받고 있습니다. "Generative" 라는 용어에서 확인하실 수 있듯이, GAN은 '생성 모델'입니다. 생성모델이란, 그럴듯한 가짜 이미지를 생성해 내는 모델이라는 의미로, 실제로는 존재하지 않으나 그럴듯해 보이는 사람 얼굴 이..
-
Image Style Transfer Using Convolutional Neural NetworksArtificial Intelligence/Deep Learning 2020. 3. 17. 00:07
Image Style Transfer Using Convolutional Neural Networks, Gatys et al. 논문을 참조하여 정리한 글임을 서두에 밝힙니다. Style Transfer Abstract 신경망을 이용한 스타일 전이(Neural Style Transfer)는 2015년 이 논문('Image Style Transfer Using Convolutional Neural Networks')에 소개된 방법으로, 원본 이미지 (natural image)에서 Style과 Content를 분리해내고 이들을 재조합하여 새로운 이미지를 만들어내는 것에 대한 아이디어를 소개하고 있습니다. 위 사진에서 확인할 수 있는 것처럼 하나의 이미지(호숫가와 집이 있는 그림)에서 Content를 추출하고 ..