본문 바로가기

deep learning39

[선형대수] Norm (노름) References Deep Learning Book(https://www.deeplearningbook.org/) Contents \(L^1, L^2\) Norm Frobenius Norm Norm 벡터의 크기를 측정해야 할 때가 종종 있습니다. 일반적으로 머신러닝에서 벡터의 크기는 노름(norm)이라고 부르는 함수를 이용하여 측정합니다. \(L^p\)로 표기하는 노름의 정의는 다음과 같습니다. \[\left \| \boldsymbol{x} \right \|_p = (\sum_{i} |x_i|^p)^{\frac{1}{p}}\] 여기서 \(p \in \mathbb{R}, p \geq 1\)입니다. 일반적으로 노름은 벡터를 음이 아닌 값으로 사상(mapping)하는 함수입니다. 직관적으로 살펴보면, 벡터 .. 2022. 5. 13.
[선형대수] 일차종속과 생성공간 References Deep Learning (https://www.deeplearningbook.org/) Contents Linear Dependence Span \[\boldsymbol{Ax = b}\] \(\boldsymbol{A}^{-1}\)이 존재하려면, 모든 \(\boldsymbol{b}\)에 대해 위의 식에 정확히 하나의 해가 존재해야 합니다. 일부 \(\boldsymbol{b}\) 값에 대해서는 해가 하나도 없거나 무한히 많아도 역행렬이 존재할 수는 있습니다. 그러나 특정 \(\boldsymbol{b}\)에 대해 해의 개수가 2개 이상, 혹은 무한대 미만인 경우가 있어서는 안됩니다. \(\boldsymbol{x}\)와 \(\boldsymbol{y}\)가 둘 다 유효한 해라고 할 때, 임의.. 2022. 5. 12.
[실습] Neural Machine Translation with Attention 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 3) 3주차 실습 중의 하나는 Attention 모델이 포함된 Neural Machine Translation(NMT) 구현입니다. 이번 실습에서는 human-readable dates를 machine-readable dates로 변환하는 모델을 구현할 예정입니다. human-readable dates는 '25th of June, 2009'와 같이 영어와 숫자 등이 섞여 있는 형태이며, machine-readable dates는 '2009-06-25'와 같이 숫자와 '-' 대쉬가 섞여있는 형태입니다. 사용되.. 2020. 12. 29.
Sequence models & Attention mechnism / Speech recognition(CTC) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 3) Various sequence to sequence architectures [Basic Models] 이번 강의부터는 Sequence-to-sequence 모델에 대해서 배우게 된다. Basic model부터 시작해서 Beam search와 attention model에 대해서 알아보자. 'Jane viste l'Afrique en septembre'라는 프랑스어로 된 문장을 영어 문장으로 변환하고 싶다면, 프랑스어로 된 문장 시퀀스를 \(x^{}\)부터 \(x^{}\)까지 표시하고, \(y^{}\).. 2020. 12. 28.
[실습] Operations on word vectors - Debiasing 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 2) 2주차 첫번째 실습은 Word Embedding의 bias를 제거하는 방법을 직접 구현해보는 것입니다. 임베딩은 미리 학습된 GloVe 임베딩을 사용할 것이며, 이는 nlp.stanford.edu/projects/glove/ 에서 다운받을 수 있습니다. import numpy as np def read_glove_vecs(glove_file): with open(glove_file, 'r', encoding='utf-8') as f: words = set() word_to_vec_map = {} for.. 2020. 12. 26.
NLP and Word Embeddings: Word2vec & GloVe 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 2) [Learning word embeddings] 단어 임베딩(Word Embedding) 딥러닝 연구에서 초반에는 비교적 복잡한 알고리즘으로 시작했다. 그리고 시간이 지나면서, 훨씬 더 간단하고 단순한 알고리즘도 가능하고, 특히 큰 데이터셋에서 매우 좋은 결과를 얻을 수 있다는 것을 발견하게 되었다. 최근 가장 인기있는 몇몇의 알고리즘들은 너무 단순해서 마치 마법처럼 보일 수도 있을 정도이다. 단어 임베딩이 어떻게 동작하는지 직관적으로 이해하기 위해서 더 복잡한 알고리즘의 일부를 살펴보도록 하자. La.. 2020. 12. 26.
Introduction to Word Embeddings 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 2) - Introduction to Word Embeddings [Word Representation] 저번주 강의에서 RNN, GRU, LSTM에 대해서 배웠고, 이번주에서는 NLP에 어떤 아이디어들을 적용할 수 있는지 살펴보도록 할 것이다. NLP에서 중요한 아이디어 중의 하나는 Word Embedding(단어 임베딩)이다. 지난 주에 사용했던 1만개의 단어에 대해서 우리는 one-hot encoding을 통해서 단어를 표시했다. 즉, Man은 5391의 index를 갖고 있으며, 10000 dimen.. 2020. 12. 24.
[실습] Character-level Language Modeling 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 1) 1주차 두번째 실습은 Character-level language model을 구현해보는 것입니다. 주제는 공룡 이름 짓기이며, 기존 공룡 이름들로 학습해서 새로운 공룡 이름을 짓는 모델입니다. 기존 공룡 이름은 dataset을 참조바랍니다. 필요한 패키지들을 import하고 시작해보도록 하겠습니다. import numpy as np from utils import * import random import pprint utils에는 이전 실습에서 구현한 Simple RNN의 각 step 함수들과 초기화.. 2020. 12. 21.
[실습] Building a RNN step by step(Basic RNN, LSTM) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 1) RNN 1주차 실습은 Simple RNN, LSTM, GRU를 Step by step으로 구현해보는 것입니다. 그리고 다음 실습에서 이렇게 구현한 함수들을 통해서 Music generator를 구현해보도록 할 예정입니다. 실습에 들어가기 전에 Notation부터 설명하겠습니다. 위첨자 [l]은 \(l^{th}\) layer를 의미함 위첨자 (i)는 \(i^{th}\) sample data를 의미함 위첨자 는 \(t^{th}\) time-step을 의미함 아래첨자 i는 벡터의 \(i^{th}\) 요소를 .. 2020. 12. 21.
Recurrent Neural Networks 2 (GRU, LSTM, BRNN) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 1) [Gated Recurrent Unit(GRU)] 앞서 Basic RNN이 어떻게 동작하는지 살펴보았고, 이번에는 GRU라는 조금 더 긴 시퀀스를 잘 캡처(장기의존성 문제)하고, Vanishing Gradient 문제를 해소할 수 있는 GRU에 대해서 살펴보도록 하자. GRU는 다음에 나오는 LSTM과 유사하지만, 조금 더 간략한 구조를 가지고 있다. GRU를 간단하게 표현하면 위와 같다. 여기서 새롭게 나타나는 c는 memory cell을 의미하며 이전 정보들이 저장되는 공간이다. 이전 정보가 \(c.. 2020. 12. 21.