OSError: [WinError 127] 지정된 프로시저를 찾을 수 없습니다. Error loading \\torch\\lib\\*_ops_gpu.dll or one of its dependencies.
·
👾 Deep Learning
해당 오류는 pytorch 버전을 1.5.1이하로 낮추면 해결된다. 버전별 설치 방법 pytorch.org/get-started/previous-versions/ PyTorch An open source deep learning platform that provides a seamless path from research prototyping to production deployment. pytorch.org
TFBertModel parameter
·
👾 Deep Learning
huggingface.co/transformers/model_doc/bert.html BERT — transformers 4.3.0 documentation past_key_values (tuple(tuple(torch.FloatTensor)), optional, returned when use_cache=True is passed or when config.use_cache=True) – Tuple of tuple(torch.FloatTensor) of length config.n_layers, with each tuple having 2 tensors of shape (batch_size, num_he huggingface.co vocab_size (int, optional, defaults to 3..
BERT (Deep Bidirectional Transformers for Language Understanding)
·
🗣️ Natural Language Processing
BERT는 2018년 구글에서 공개한 논문인 BERT: Deep Bidirectional Transformers for Language Understanding에서 제안된 모델로서 비지도 학습을 통해 딥러닝 모델 들어가기 전에 사전 학습을 진행하는 모델이다. 버트의 특징은 다른 사전 모델 기법인 GPT나 ELMo와 다르게 양방향성을 가지고 학습한다. 마스크 언어 모델을 학습하기 때문이다. 버트는 word2vec의 CBOW 처럼 주변단어를 통해 의미를 파악한다. 마스크 언어 모델이란 양방향성을 가지고 언어 모델을 학습하기 위한 방법으로 입력 문장이 주어진 경우 일부 단어들을 마스킹해서 해당 단어를 모델이 알지 못하도록 가린다. 그 후 모델을 통해 마스킹된 단어가 무엇인지 예측한다. 입력값으로 들어간 문장 ..
Softmax RuntimeWarning 해결
·
👾 Deep Learning
softmax 구현 def softmax(x): return np.exp(x)/np.sum(np.exp(x)) 수식을 잘 구현했지만 한 가지 문제가 있다. softmax([900,123,22]) # array([nan, 0., 0.] 900만 돼도 Runtimewarning 과 함께 nan 값이 나온다. 따라서 값을 집어 넣어 값에 영향을 주지않고 0으로 가지 않게 해야한다. 인풋의 최댓값을 값들에서 빼서 해결한다. def softmax(x): return np.exp(x-np.max(x))/np.sum(np.exp(x-np.max(x))) softmax([900,123,22]) # array([0., 0., 0.])
활성화 함수(activation function)
·
👾 Deep Learning
기초 input과 가중치(wi)의 곱들의 합이 threshold 문턱값을 넘었을 때 출력하는 hidden layer의 또는 output layer의 값을 말한다. 가장 많이 사용하는 시그모이드 함수느 0~1의 연속된 값을 갖도록한다. 시그모이드 함수에 앞서 계단함수를 구현해 본다. def step_function(x): if x>0: return 1 else: return 0 step_function은 x의 값이 0보다 크면 1의 값을 작거나 같으면 0의 값을 리턴해준다. 하지만 이 함수는 x의 값 하나만 받을 수 있다. 따라서 배열 형태의 input 값을 받을 수 있게 함수화 한다. x = np.array([-1.0,1.,2.]) y = x > 0 y # array([False, True, True])..
Batch Normalization
·
👾 Deep Learning
신경망에는 과적합과 Gradient Vanishing 외에 Internal Covariance shift 문제가 또 있다. Internal Covariance shift는 각 Layer마다 Input 분포가 달라짐에 따라 학습 속도가 느려지는 형상이다. Batch Normalization은 이런 것을 해결하기 위해 Input 분포를 정규화 시켜 학습 속도를 빠르게 진행 시킨다. $BN(h;\gamma,\beta) = \beta + \gamma\tfrac{h-E(h)}{\sqrt{(Var(h)+\epsilon)}}$
[Word2Vec] 구현 패키지 사용
·
🗣️ Natural Language Processing
다양한 기업에서 미리 훈련된 단어 벡터 모형을 공개했다. 그중 genism이 가장 인기가 있다. NLPIA 패키지를 통해 실습 from nlpia.data.loaders import get_data word_vectors = get_data('word2vec') gensim.models.utils_any2vec:loaded (3000000, 300) matrix load 어휘가 작으면 단어 벡터 모형의 위력도 그만큼 줄어든다. 해당 단어 벡터가 존재하지 않는 단어들을 포함한 문서에 대해서는 NLP 파이프라인이 좋은 성과를 내지 못한다. 따라서 단어 벡터 모형의 크기는 개발 도중에만 제한하는 것이 바람직하다. genism.KeyedVectors.most_similar() 메서드는 주어진 단어 벡터와 가장 ..
[Word2Vec] 계산
·
🗣️ Natural Language Processing
자주 나오는 바이그램 활용 함께 자주 등장하는 단어 조합이 있을 때, 예를 들면 '대한' 뒤에는 '민국'이 등장할 때가 많다. 이 둘은 하나의 바이그램(2-그램)을 형성한다. 대한 뒤에 민국을 예측하는 것은 당연한 결과임에 예측으로 얻는 것이 없다. 따라서 이 두 단어를 합쳐서 나타내어 2-그램, 3-그램을 형성해 word2vec에 포함한다. 2-그램, 3-그램들을 공둥 출현 횟수에 기초한 score을 이용해 식별한다. $ score(w_i,w_j)=\frac{count(w_i,w_j) - \sigma}{count(w_t) \times count(w_j)} $ 바이그램 score function 단어 $w_i$와 $w_j$의 바이그램 점수가 특정 threshold($\sigma$)보다 높으면 그 둘의 쌍..
다했다
'분류 전체보기' 카테고리의 글 목록 (39 Page)