본문 바로가기

활용

(6)
Image Processing 기본 개념 딥러닝에서 이미지를 처리할 때 CNN (Convolution Neural Network)을 많이 사용하고 있습니다. ImageNet 홈 페이지: http://www.image-net.org/ WordNet의 명사들과 관련된 이미지를 모아 두는 프로젝트입니다. WordNet은 단어 간의 관계를 트리 형태로 나타낸 프로젝트이므로, ImageNet 또한 트리 형태로 이미지가 분류되어 있습니다. 100만 장이 넘는 이미지로 되어 있어서 데이터 크기가 매우 큽니다. 따라서 ImageNet 데이터는 Transfer Learning에 사용되기도 합니다. ImageNet 데이터를 이용한 ImageNet Large Scale Visual Recognition Challenge(ILSVRC)라는 Image Cl..
TextCNN TextCNN CNN 모델을 이용해 Text의 feature 추출 및 classification에 사용할 수 있도록 한 모델입니다. 이미지 Classification 및 feature 추출에만 사용하던 CNN을 텍스트 처리에도 사용하게 되었습니다. 문장에 있는 단어를 Word2Vec 등을 이용해 하나의 vector로 변환한 뒤, 순서대로 위에서 아래로 나열합니다. filter의 폭은 단어 vector 크기인 n, 높이는 한 번에 보고 싶은 단어 수(필터 크기)로 합니다. 필터 크기는 3, 4, 5 등등 여러 개를 사용할 수 있습니다. Output layer는 activation function으로 softmax를 이용합니다. 참고 자료 TextCNN 논문 CNN으로 문장 분류하기 TextCNN 2D Co..
Natural Language Processing 기초 개념 Language understanding NLU (Neural Language Understanding)는 작성된 텍스트의 의미를 이해하는 것입니다. 즉, 텍스트를 의미 형태로 변환하는 것입니다. named-entity recognition, question answering, sentiment analysis 등이 있습니다. NLG (Neural Language Generating)은 특정한 입력을 조건으로 해서 텍스트를 생성하는 것입니다. 즉 의미 형태로 되어 있는 vector 등을 텍스트로 변환합니다. machine translation, conversational response generation 등이 있습니다. Language Model Language Model은 단어 시퀀스에 대..
Word2vec 만들어보기 관련글: Word2Vec 개념 Python을 이용해 한국어 Word2Vec을 만들어 보자. 대략적인 과정은 아래와 같다. 한국어로 된 글 모으기 형태소 분석 등 전처리하기 gensim을 통해 Word2Vec 만들기 아래 튜토리얼을 따라하려면 아래와 같은 것이 설치되어 있어야 한다. Python 2.7, 3.3 이상 python의 pip으로 필요한 라이브러리 설치 python -m pip install gensim konlpy 한국어로 된 글 모으기 웹 상에서 손쉽게 구할 수 있는 한국어로 된 글은 아래와 같다. Wikipedia: link pages-articles.xml.bz2 파일을 받으면 된다. (참고) 한국어판: 다운로드 나무위키: link 기타 등등.. Wikipedia Wikiepdia 덤프는..
Word2vec 1. Word2vec의 필요성 Naive Bayes를 이용한 문서 분류 같이, NLP (Natural Language Processing, 자연어처리) Task를 처리해 왔습니다. NLP (Natural Language Processing, 자연어처리) : 컴퓨터가 인간이 사용하는 언어를 이해하고 분석할 수 있게 하는 분야 ex) 'Naive Bayes'를 사용한 스팸 메일 분류기 성능 자체는 좋지만, 단어가 다른 단어와 어떤 차이점을 가지는지는 이해할 수 없다 -> 벡터화 고안 SVD 같은 통계 기반으로도 단어의 벡터화는 가능하다. 그러나 SVD는 O(n^3)이나 되는 무거운 알고리즘이라서, 수십, 수백만 단위의 어휘에 적용하기 어렵다. 학습 속도를 높이기 위해 Word2Vec 사용 2. One-hot..
Text Embedding Text Embedding은 사람이 이해할 수 있는 text를, 컴퓨터가 이해할 수 있는 vector 형태로 나태낸 것을 의미합니다. 본 포스트에선 통계 기반 단어 임베딩부터, Word2Vec 이전의 NNLM 모델을 거쳐 Word2vec까지 설명하겠습니다. 1. Word Embedding Word Embedding은 단어를 제한된 차원의 vector로 나타내는 방법입니다. One-hot encoding과 달리, 단어 벡터 간의 유사도를 코사인 유사도로 구할 수도 있고, 필요한 벡터 차원의 수도 적습니다. 근처에 나온 단어, 비슷한 단어일수록 벡터 간의 유사도가 높습니다. 벡터의 위치와 거리가 실제 단어 간의 관계를 반영합니다. 2. 통계 기반 단어 임베딩 2-1. 분포 가설(distributional h..