[Word2Vec] 연속 단어 모음
·
🗣️ Natural Language Processing
연속 단어 모음 접근 방식 연속 단어 모음(CBOW) 접근 방식에서는 주어진 단어들에 기초해서 그 중심 단어를 예측한다. 따라서 하나의 훈련 견본은 하나의 입력 단어와 다수의 출력 단어들이 아니라 다수의 주변 단어들과 하나의 중심 단어로 구성된다. 다수의 주변 단어들은 멀티핫 벡터로 표현한다. 이 멀티핫 벡터는 주변 단어들의 원핫 벡터들을 모두 합한 것이다. painted가 기대출력일 때 $W_{t-2}$ = Claude $W_{t-1}$ = Monet $W_{t}$ = painted $W_{t+1}$ = the $W_{t+2}$ = Grand 문서를 토큰화해서 얻은 주변 단어 멀티핫 벡터와 목표 단어 원핫 벡터의 쌍들로 이루어진 훈련 자료 집합으로 신경망을 훈련한다. 즉 목표 단어 $w_t$의 원핫 벡..
[Word2Vec] 스킵그램 접근 방식
·
🗣️ Natural Language Processing
스킵그램 접근 방식 스킵그램 접근 방식에서는 주어진 입력 다넝에 기초해서 일정 범위 이내의 주변 단어들을 예측하도록 모형을 훈련한다. painted 주변 단어를 예측하는 예시이다. painted에 대해 신경망은 claude, monet, the, grand 라는 주변 단어 스킵그램을 출력한다. skip gram은 skip 말그대로 painted를 시작해 Monet과 the 토큰을 건너 뛰고 claude. Grand를 예측하는 것이다. 주변 단어들을 예측하는 신경망의 구조는 신경망의 구조와 비슷하다. 스킵그램을 위한 신경망의 구조는 입력층과 은닉층, 출력층으로 이루어진 다층 신경망이다. 은닉층은 n개의 뉴런으로 구성되어있으며 여기서 n은 단어하나를 표현하는 벡터의 차원 수이다. 입력층과 출력층은 각각 M개..
Word2Vec 활용
·
🗣️ Natural Language Processing
이전에 LSA나 LDiA같은 축소 기법으로 사라진 단어의 희미한 의미를 복구하는 방법이다. 이전 차원 축소 방법은 단어 주변의 문맥을 그냥 무시했다. 단어 모음(bag-of-words) 자료 구조는 그냥 한 문서의 단어들을 통계적 문서에 집어 넣은 것 뿐이다. Word2Vec은 문서나 문장의 모든 단어가 아니라 한 단어의 이웃 단어 몇 개만으로 작은 단어 모음을 만든다. 이떄 그런 단어 모음이 문장들의 경계를 넘지는 않게 한다. 인접한 문장의 단어들로 하나의 단어 모음을 만들지는 않는다. 단어 벡터 훈련 과정이 문서 전체가 아니라 서로 관련된 단어들에 집중하게 된다. 단어 벡터 훈련 과정이 전체가 아니라 서로 관련된 단어들에 집중한다. 이런식으로 만들어낸 새로운 단어 벡터를 이용하면 동의어나 반의어를 식..
[Pytorch] Autograd
·
🐍 Python
Pytorch는 BackPropagtion을 구현할 때 Autograd 방식으로 쉽게 구현할 수 있도록 되어 있다. BATCH_SIZE = 64 INPUT_SIZE = 1000 HIDDEN_SIZE = 100 OUTPUT_SIZE = 10 BATCH 크기 64가 의미하는 것은 한 번에 들어가는 데이터의 양이다. INPUT의 크기는 학습 시킬 데이터의 양이다. OUTPUT은 말그대로 출력 데이터의 크기이다. x = torch.randn(BATCH_SIZE, INPUT_SIZE, device = DEVICE, dtype = torch.float, requires_grad = False) y = torch.randn(BATCH_SIZE, OUTPUT_SIZE, device = DEVICE, dtype = to..
GAN (Generative Adversarial Networks)
·
👾 Deep Learning
GAN GAN은 생성자(Generator)와 식별자(Discriminator)라는 신경망 2개가 서로 경쟁하면서 학습하는 생성 모델이다. 생성자(Generator)는 가짜 데이터를 만드는 모델이다. 식별자를 속이는 데 목적이 있다. 랜덤 노이즈를 입력해 가짜 데이터를 만들어 식별자가 이를 극복하지 못하도록 학습을 진행한다. 식별자(Discriminator)는 생성자가 만든 가짜를 식별한다는 목적이 있다. 원본 데이터와 생성자가 만든 데이터 모두를 훈련 데이터로 삼아 아주 작은 차이도 식별하도록 훈련한다. 이미지라면 생성자는 어떤 그림의 위작을 만들고 식별자는 위작인지를 감정한다. 생성자는 식별자가 속을 만한 진짜 그림을 그리려고 노력하고 식별자는 가짜 그림임을 알아내려고 노력한다. 이과정에서 점점 원본과..
역전파 (backpropagtion)
·
👾 Deep Learning
wiki.hash.kr/index.php/%EC%A0%9C%ED%94%84%EB%A6%AC_%ED%9E%8C%ED%8A%BC 제프리 힌튼 - 해시넷 제프리 힌튼(Geoffrey Hinton) 제프리 힌튼(Geoffrey Hinton)은 인공지능(AI) 분야를 개척한 영국 출신의 인지심리학자이자 컴퓨터 과학자이다. 오류 역전파 법과 딥러닝 연구에 기여하고, 힌튼 다이어그 wiki.hash.kr 힌튼은 하나의 목표변수에 대해 여러 개의 퍼셉트론을 동시에 사용하는 것이 기존의 신경망을 대체할 유일한 방법임을 확신하고 연구했다. 결국 다수의 퍼셉트론을 함께 사용한다면 비선형 문제 또한 해결할 수 있다는 것을 보였다. 병렬로 배치된 두 퍼셉트론에 같은 자료를 입력할 때, 두 퍼셉트론의 출력을 무엇으로 하든 그오차..
파이썬의 뉴런
·
👾 Deep Learning
퍼셉트론을 수학적으로 다룰 때는 출력을 f(x)로 표현한다. input*weights + bias_weights > 0.5 1? 0? -> 1 predict = 1 import numpy as np example_input = [1,.2,.05,.1,.2] example_weights = [.2,.12,.4,.6,.90] input_vector = np.array(example_input) weights = np.array(example_weights) bias_weights = .2 activation_level = np.dot(input_vector,weights)+(bias_weights * 1) activation_level # 0.684 # threshold threshold = 0.5 if a..
의미 기반 검색(semantic search)
·
🗣️ Natural Language Processing
전문 검색 특정 단어나 문구가 있는 문서를 검색하는 것을 전문 검색(full text search)이라고 한다. 검색 엔진이 하는 기능이다. 검색 엔진들은 문서를 여러 조각으로 나누고, 각 조각들이 문서에 있는지 역색인(inversed index)을 작성한다. 책 뒷면에 keyword를 정리해둔 페이지와 비슷한 역할이다. 의미 기반 검색(semantic search) 질의문을 구성하는 단어들의 의미를 고려해서 문서를 찾는다. LSA와 LDiA를 사용해 주제 벡터를 구하는 방법으로 찾는다. 이 기법이 BOW나 TF-IDF 벡터 같은 수치들의 '색인'을 이용한 의미 기반 검색을 가능하게 하는 방법이다. 그러나 BOW나 TF-IDF벡터와 달리 의미 벡터들의 테이블은 전통적인 역색인 기법들로 쉽게 이산화하고 색..
다했다
'분류 전체보기' 카테고리의 글 목록 (42 Page)