본문 바로가기

전체 글

(5)
spacy 설치 중 fileno에러 tokenizing과 pretrained된 NLP모델을 사용하기 위해 Spacy를 설치하는데 오류가 생겨 기록한다. 1. 기본적으로 spacy 홈페이지에서 자신의 환경에 맞춰 설치하면 된다. https://spacy.io/usage Install spaCy · spaCy Usage Documentation spaCy is a free open-source library for Natural Language Processing in Python. It features NER, POS tagging, dependency parsing, word vectors and more. spacy.io 내가 사용하는 환경에 맞춰 설치를 진행했다. 하지만 여기서 spacy가 fileno error를 일으키며 정상적으로 ..
LeNET-구현 - Gradient-Based Learning Applied to Document Recognition(Yann LeCun) http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf CNN이 나오면서 가장 처음 구현된 논문이다. 우리가 AI 입문으로 공부하는 CNN-Mnist 토이셋이 구현된 논문이다. LeNet은 이미 유명하기 때문에 따로 논문 리뷰 대신에 작성한 코드를 기초로 성능을 맛보기만 하자. 이번 포스팅하면서 주로 공부한 것은 Model을 학습하기 위해 일종의 모듈화를 했으며, WanDB를 이용해 실시간으로 Model의 성능을 평가했다. 또한 기존의 MLP모델과 성능을 비교했다. 1. LeNet LeNet is a convolutional neural network structure proposed by LeCun et al. in 1998,[1] . In general, LeNe..
RNN(vanilla에서 attention까지) (2) - RNN의 문제점과 lstm 오늘은 RNN의 문제점 지난번에 포스팅했듯이 RNN은 반복해서 기울기 값이 곱해지기 때문에 그 값이 1보다 클 경우 exploding문제가 생기고, 1보다 작을 경우 gradient vanishing 문제가 생긴다. exploding 할 경우 clipping 기법으로 해결 할 수 있지만, gradient vanishing문제는 쉽게 해결 할 수 없어 RNN의 구조를 바꾸기로 한다. 1. RNN의 back propagation과 gradient vanishing 문제 2. LSTM RNN 가. Forget gate Forget gate는 과거의 정보를 저정하는 gate로 sigmoid형태로 정보를 저장, cell state에 넘겨주게 된다. 나. Input gate lstm rnn은 activation f..
RNN(vanilla에서 attention까지) (1) RNN은 CNN과 더불어 가장 많이 연구된다. 흔히 Vision 연구를 하려면 CNN을 NLP 연구를 하려면 RNN을 주로 다룬다. 오늘은 RNN이 어떻게 탄생했고, 어떤 방향을 발전하고 있는 지 포스팅하겠다. Sequence data를 다루고 싶다 -> RNN의 등장 Backpropagation 중 문제가 생김(explode, gradient vanishing) -> LSTM,GRU의 등장 완전히 long-term dependency를 해결하지 못함 -> Attention 매커니즘의 등장 구조를 바꾸면 RNN이 아니라 다른 분야에서도 사용할 수 있다 -> Transformer의 등장 1. RNN(Recursive Neural Network) RNN은 순서(sequence)가 있는 데이터 처리에 특화되어..
Pytorch cuda 간단하게 GPU이용하기(1) ('22.08.28기준) Pytorch + cuda + cudnn => GPU 연산 Pytorch는 기본적으로 cuda와 ndvia에서 제공하는 cudnn을 통해서 gpu를 연산에 사용할 수 있다. GPU연산을 하게 되면, 규모가 큰 데이터에 대해서 비약적인 속도 향상을 보이기 때문에 어느정도 공부하다보면 자연스레 GPU연산에 관심을 갖게 된다. 대부분 pytorch가 깔린 환경에서 처음 gpu연산을 도전하기 때문에 프로그램 호환 문제를 겪는다. 따라서 가장 추천하는 방법은 새로운 가상환경을 만드는 것이다.(애초에 처음부터 다시 시작하자는 말이다.) 새로운 환경을 만든다고 기존에 작성한 코드를 사용하지 못하는 게 아니기 때문에 걱정하지 않아도 된다. 1. anaconda를 활용한 가상환경 만들기 anaconda를 활용하면 가상환..