AI19 Word2Vec 앞서 말한 희소표현에선 단어의 유사도를 계산할 수 없었다. 모든 단어를 길게 늘어뜰인 벡터로 고차원의 벡터로 만들 뿐 단어와 단어가 어떻게 연결되어 있는지 파악할 수 없다. 그렇기에 단어간의 유사성을 계산하고자 나온 것이 분산표현이다. 분산 표현(Distributed Representation) 분산 표현은 분포가설의 가정하에 만들어진 표현방법이라 한다. 비슷한 위치에 등장하는 단어는 비슷한 의미들을 가진다. 라는 가정이라는데, 간단히 말해 강아지하면 떠오르는게 귀엽다, 사랑스럽다 일 것이다. 이 강아지는 귀엽다와 사랑스럽다와 비슷한 의미를 가진다고 볼 수 있다. 즉 강아지라는 단어가 있을 때, 귀엽다와 사랑스럽다라는 단어의 분포가 많을 것이므로 이는 같은 의미라고 여겨지는 것 같다. 이러면 분포를 표현.. 2021. 11. 22. Word Embedding 1. 희소 표현(Sparse Representation) 희소표현은 대부분 0으로 표현되는 방법이다. 대표적인 예로 원-핫 벡터가 있다. 예를 들어 원-핫 벡터로 표현된다 하면 'hi, my name is gildong.'의 hi는 [1,0,0,0,0]이 된다. my는 [0,1,0,0,0]이 된다. 이처럼 단어가 길어지면 길어질수록 차원이 한없이 커진다는 단점을 가지고 있다. 즉 문장의 단어가 만개면 차원도 만개가 된다. 또한 한개의 단어에만 1을 표시하고 나머지 단어는 0을 표시하므로 메모리의 불필요함이 증가된다. 또한 원-핫 벡터는 단어의 의미를 담지 못한다고 한다. 그저 단어를 자르고 그 위치 기준으로 1을 표시하기 때문이다. 즉 단어간의 유사도를 계산할 수 없다. 2. 밀집 표현(Dense Rep.. 2021. 11. 22. 자연어처리-추가예정 보호되어 있는 글 입니다. 2021. 11. 22. Pytorch(tutorial)- MNIST 데이터 분류 CNN을 하면서 MNIST 데이터셋은 거즘 튜토리얼 같은 것이다. 이전에도 MNIST로 몇 번 공부해 봤는데, 현재 공부하고 있는 책인 '파이토치 딥러닝 프로젝트 모음집'에서도 튜토리얼로 나와있어 복습할 겸 다시 따라해봤다. 1. 모듈을 불러온다. import torch import torch.nn as nn # 딥러닝 네트워크의 기본구성 요소를 포함한 모듈 import torch.nn.functional as F import torch.optim as optim # 가중치 추정에 필요한 최적화 알고리즘 from torchvision import datasets, transforms from matplotlib import pyplot as plt %matplotlib inline 2. 분석환경을 설정한.. 2021. 10. 4. pretrained된 가중치 불러오기 보통 pretrained된 가중치를 불러올 때 checkpoint로 불러온다. model = TheModelClass(*args, **kwargs) optimizer = TheOptimizerClass(*args, **kwargs) checkpoint = torch.load(PATH) model.load_state_dict(checkpoint['model_state_dict']) optimizer.load_state_dict(checkpoint['optimizer_state_dict']) epoch = checkpoint['epoch'] loss = checkpoint['loss'] model.eval() # - or - model.train() 1. 먼저 인스턴스 모델을 가져와준다. 2. checkpo.. 2021. 9. 1. Pix2Pix, CycleGan 실습 Pix2Pix 실습 Gan이기 떄문에 학습 시간이 오래걸림. 반드시 GPU로 하길바람 input이 추상적인 이미지이고 Ground Truth도 같이 넣어서 pix2pix로 만드는 것을 목표로 함. 그리고 데이터셋을 이 URL에서 가져옴. 이 파일을 얻은 다음에 path를 잡음 이미지를 로드하는 함수를 만듬. 이미지를 로드해서 읽어오고 jpeg은 영상이기 때문에 이미지로 decoder를 한다. 그런데 이 shape가 있는데 w= width를 나타내고, w//2를 해서 real_image와 input_image에 넣는 이유는 이 image안에는 input Image와 Ground Truth 이미지가 같이 붙어 있음. 그래서 따로 떨어지게 해서 변수에 할당해준다. 이제, 정수형 타입인데 계산을 하다보면 실수가.. 2021. 8. 14. GAN - Pix2Pix, ConditionalGAN, CycleGAN 보호되어 있는 글 입니다. 2021. 8. 10. DCGAN 실습 tensorflow.org 밑에 tutorials 세션이 있음. 다양한 분야의 인공지능을 만들어 놓음. 처음 시작은 tensorflow.org에서 배우는게 좋은 생각이 듬. Run in colab을 클릭하면 colab으로 열리고 이 코드를 드라이브에 사본 저장하면 됨. 처음 부분은 GAN이 무엇인지... mnist dataset처럼 숫자들을 생성하는 코드임 우리는 필요한게 train에 대해서만 필요함. train_image를 4차원으로 바꿔줌. 늘 convolution 함수에 들어가게 되면 4차원이여야 함(영상의 갯수, height, width, 채널) 타입을 실수로 변경하고 normalize 진행 생성자(Generator)를 만드는 함수. Conv2DTranspose함수는 진행할수록 영상사이즈가 더 커.. 2021. 8. 9. Image Segmentation 실습 지난번 옥스포드 pets영상을 사용하기로 함. 지난 번 6개 라인(헤더)은 제거하고 나머지에 대해서 라인을 읽음 image_file은 원본영상이고, mask_file은 segmantic된 영상이 있는 파일이다. 데이터셋은 numpy로 바꿔준 다음에 split을 한 후 리턴해줌. load_oxford_pets_2()란 함수를 정의를 했음. x_train과 x_test는 기존 데이터셋에 0~1사이의 값으로 normalize해서 넣어준다. y_train에선 1: 배경 2:object 3:boundry 픽셀을 -1로 해서 0,1,2로 해줌 train dataset은 5880개, test dataset은 1469개 상이즈는 128x128 채널은 RGB 3개의 채널 y_train은 채널이 한개짜리 라벨 마스크 3개.. 2021. 8. 9. 이전 1 2 3 다음