목록Python/DL (37)
오답노트
N-gram N은 숫자를 의미하는데 문장에서 N개의 단어를 보고 다음에 나올 단어를 조건부확률으로 계산하는 방법이다. 1개의 단어를 선택하면 unigram 2개의 단어를 선택하면 bigram 3개의 단어를 선택하면 trigram 4개의 단어를 선택하면 4-gram 이고 4개 이상 단어는 숫자를 붙힌다. N이 너무 길면 다음 단어가 아예 없을 수 있다. N이 짧으면 다음 단어를 예측할 확률은 존재하지만 그게 원하는 예측값은 아닐 수 도 있다. 즉 적절한 N을 설정하는 것이 중요하다. N-gram 예시 I am a boy에서 am a 로 다음 단어를 예측하는 조건부 확률은 다음과 같다. P( w | am a) = count(am a w) / count(am a) w 에 boy를 대입 했을 때, 위 식을 풀어..

BERT BERT는 2018년에 구글에서 발표한 새로운 방식의 언어 학습 모델이다. 이는 NLP에서도 전이 학습이 가능하게 된 중요한 발전이된 모델인데, 논문 발표 이후 모델을 공개하여 누구나 사용 가능하도록 하였다. 전이학습은 미리 모델을 학습 시킨뒤 그 모델을 가져와 비슷한 다른 일을 하게하는 것이다. Pre - Training : 방대한 양의 텍스트로 부터 언어의 패턴을 학습하여 문법적, 의미적, 문장간의 관계성을 인코딩한다. Fine - Tuning : 다양한 일을 수행하기 위해 BERT의 pre-trained 모델 위에 Linear 레이어를 올린다. BERT 구조 BERT는 Encoder 여러개가 쌓여있는 형태로 되어있다. BERT는 크게 base 와 large 모델이 있다. base 는 12개..

http://jalammar.github.io/illustrated-transformer/ The Illustrated Transformer Discussions: Hacker News (65 points, 4 comments), Reddit r/MachineLearning (29 points, 3 comments) Translations: Arabic, Chinese (Simplified) 1, Chinese (Simplified) 2, French 1, French 2, Japanese, Korean, Russian, Spanish, Vietnamese Watch: MIT’s Deep jalammar.github.io Transformer Transformer는 RNN의 단점을 개선한 모델이다. Lo..

https://wikidocs.net/24996 1) 시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq) 이번 실습은 케라스 함수형 API에 대한 이해가 필요합니다. 함수형 API(functional API, https://wikidocs.net/38861 )에 대해서 우선 숙 ... wikidocs.net Sequence-to-Sequence (seq2seq) seq2seq 모델은 번역에서 많이 사용되는데, 시퀀스 입력 데이터에 대해 적절한 시퀀스 출력을 학습하기 위한 모델이다. 두 개의 RNN을 이용해 모델링되어 있는데 입력 문장을 받는 RNN 셀이 Encoder, 출력 문장을 출력하는 RNN 셀이 Decoder 이다. Encoder는 입력 문장의 모든 단어들을 순차적으로 입력 ..

https://wikidocs.net/22888 2) 장단기 메모리(Long Short-Term Memory, LSTM) 바닐라 아이스크림이 가장 기본적인 맛을 가진 아이스크림인 것처럼, 앞서 배운 RNN을 가장 단순한 형태의 RNN이라고 하여 바닐라 RNN(Vanilla RNN)이라고 합니다 ... wikidocs.net Long Short-Term Memory (LSTM) 기존 RNN의 문제점을 개선한 알고리즘이다. gradient의 소멸 및 폭주 현상 해소하고, 정보의 장거리 전달이 가능하여 기본 RNN에 비해 우수한 문제 처리 능력을 가지고 있다. RNN을 구성하는 기본 단위를 기존의 퍼셉트론에서 좀 더 복잡한구조로 바꾸는 방법을 사용하여, Cell State, Forget Gate, Input ..

https://wikidocs.net/22886 1) 순환 신경망(Recurrent Neural Network, RNN) RNN(Recurrent Neural Network)은 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델입니다. 번역기를 생각해보면 입력은 번역하고자 하는 ... wikidocs.net RNN (Recurrent Neural Network) RNN은 입력과 출력을 시퀀스 단위로 처리하는 시퀀스 모델이다. RNN은 은닉층에 hidden state를 이용하는 방법으로 다음 입력에 hidden state를 사용 하여 입력에 대한 새로운 hidden state를 계속 만들어낸다. RNN은 시퀀스 단위로 처리하기 때문에 품사태깅의 모호성을 해결할 수 있다. 현재 시점의 hid..

https://dhjkl123.tistory.com/270?category=966550 [DL] CNN (Convolutional Neural Network) 이미지 컴퓨터에서 표현하는 이미지는 픽셀 단위의 숫자로 되어 있다. 색이 없는 흑백은 1채널 색이 있는 RGB는 3채널로 이루어져 있다. CNN CNN 은 요약해서 말하자면 n*n 필터를 거쳐서 feature map을 dhjkl123.tistory.com CNN 기반 텍스트 분류 CNN은 문장의 위치 정보를 보존하면서 각 문장 성분의 등장 정보를 학습에 반영하는 구조이다. 워드 임베딩으로 단어를 벡터로 만든다. 벡터의 차원 * 같이 볼 단어의 개수 만큼의 커널로 합성곱을 계산한다. 2번에서 만들어진 값에 max pooling으로 최대값을 추출한다...

https://wikidocs.net/60851 09. 단어의 표현 방법 이번 챕터에서는 자연어 처리에서 필수적으로 사용되는 단어의 표현 방법인 원-핫 인코딩(One-hot encoding)과 워드 임베딩(Word Embedding)에 대해서 학 ... wikidocs.net 희소 표현 (Sparse Representation) 어떤 단어를 표현할 때, One-Hot Vector 형식으로 표현한 것을 희소 표현이라고 한다. One-Hot Vector는 단어가 100개가 있을 때, 99개의 0과 1개의 1로 표현하는 방법이다. 단점으로는 단어가 많아지면 차원이 많아져 공간 낭비가 있다. 밀집 표현 (Dense Representation) 희소표현은 단어의 개수만큼 차원이 많아졌지만, 밀집 표현은 사용자가 ..
텍스트 마이닝 대규모 텍스트 자료를 분석하여 가치있는 새로운 정보를 찾아내는 것을 텍스트 마이닝이다. 문서 클러스터링 문서 분류 문서 뷴류는 NLP에서 가장 중요한 분야중 하나로 다양한 NLP 응용 시스템에서 텍스트 분류 기술을 사용한다. 스팸 메일 분류 문서 카테고리 분류 감성 분석 의도 분석 문서 클러스터링 동질성이 있는 그룹으로 문서를 묶게된다. 문서 분류는 지도학습이지만 클러스터링은 비지도 학습이다. K-means Clustering : 주어진 데이터를 k개의 그룹으로 분할 하는 알고리즘이다. 중심 기반 분할 기법으로 유사한 데이터는 중심점과 가까이 분포할 것이라는 가정을 기반으로 동작한다. DBSCAN : 노이즈가 있는 대규모 데이터에 적용할 수 있는 밀도 기반의 클러스터링 알고리즘이다. 하지만..