반응형 Data Science/NLP7 [NLP] Bag-of-Words, Classical NLP 본 글은 카이스트 최윤재 교수님의 Programming for AI (AI504, Fall 2020), Class 9: Recurrent Neural Networks를 바탕으로 정리한 글입니다. Handling Variable-Length Sequences 이미지를 다룰 때는 이미지의 resolution가 predefined 되어있으므로 따로 이미지의 크기를 몰라도 되지만, 문장에 대해서는 network를 train 하기 전에 길이를 define 할 수 없으므로 variable-length sequences를 handling 할 필요가 있습니다. Bag-of-Words variable length sentences/documents를 handling하는 classical 한 방법입니다. 토큰/단어의 순서.. 2022. 5. 23. [NLP] NLP briefing 본 글은 '파이토치로 배우는 자연어 처리(Natural Language Processing with PyTorch)'를 참고하여 정리한 글입니다. NLP 기술 훑어보기 말뭉치 고전이나 현대의 모든 NLP 작업은 말뭉치(corpus, 복수형 corpora)라 부르는 텍스트 데이터로 시작합니다. 말뭉치는 일반적으로 원시 텍스트(ASCII나 UTF-8 형태)와 이 텍스트에 연관된 메타데이터(metadata)를 포함합니다. 원시 텍스트는 문자(바이트) 시퀀스지만 일반적으로 문자를 토큰(token)이라는 연속된 단위로 묶었을 때 유용하고, 영어에서 토큰(token)은 공백 문자나 구두점으로 구분되는 단어와 숫자에 해당합니다. 메타데이터는 식별자, 레이블, 타임스탬프 등 텍스트와 관련된 어떤 부가 정보도 될 수 있.. 2022. 5. 4. [NLP] NLP Introduction 해당 포스팅은 '파이토치로 배우는 자연어 처리(Natural Language Processing with PyTorch)'를 참고하여 정리한 글입니다. NLP (Natural language processing) NLP는 언어학 지식에 상관없이 텍스트를 이해하는 통계적인 방법을 사용해 실전 문제를 해결하는 일련의 기술입니다. 텍스트의 이해는 주로 텍스트를 계산 가능한 표현으로 변환함으로써 이루어지고, 이 표현은 벡터, 텐서, 그래프, 트리같이 이산적이거나 연속적으로 조합한 구조입니다. 딥러닝 계산 그래프(computational graph)와 수치 최적화 기술을 사용해 데이터에서 표현을 효과적으로 학습하는 기술 파이토치 딥러닝 알고리즘을 구현하는 파이썬 기반의 계산 그래프 프레임워크 지도 학습 머신러닝에.. 2022. 5. 3. [NLP] Attention Mechanism 본 글은 카이스트 최윤재 교수님의 Programming for AI (AI504, Fall 2020), Class 9: Recurrent Neural Networks와 WikiDocs의 딥 러닝을 이용한 자연어 처리 입문을 바탕으로 정리한 글입니다. Attention Mechanism (어텐션 메커니즘) 인코더에서 입력 시퀀스를 컨텍스트 벡터라는 하나의 고정된 크기의 벡터 표현으로 압축하고, 디코더는 이 컨텍스트 벡터를 통해서 출력 시퀀스를 만들어낸 RNN에 기반한 seq2seq 모델에는 크게 두 가지 문제가 있습니다. 하나의 고정된 크기의 벡터에 모든 정보를 압축하려고 하니까 정보 손실이 발생합니다. RNN의 고질적인 문제인 기울기 소실(vanishing gradient) 문제가 존재합니다. 결국 이는.. 2022. 3. 28. [NLP] GRU (Gated Recurrent Unit) 본 글은 카이스트 최윤재 교수님의 Programming for AI (AI504, Fall 2020), Class 9: Recurrent Neural Networks와 WikiDocs의 딥 러닝을 이용한 자연어 처리 입문을 바탕으로 정리한 글입니다. GRU (Gated Recurrent Unit) 게이트 메커니즘이 적용된 RNN 프레임워크의 일종 기존 LSTM의 구조를 조금 더 간단하게 개선한 모델 LSTM의 장기 의존성 문제에 대한 해결책을 유지하면서, 은닉 상태를 업데이트하는 계산을 줄임 LSTM와 달리 출력 게이트가 없는 간단한 구조 마지막 출력값에 활성화 함수를 적용하지 않습니다. 성능 면에서는 LSTM과 비교해서 우월하다고 할 수 없지만 학습할 파라미터(가중치)가 더 적은 것이 장점 분설 결과가.. 2022. 3. 28. [NLP] LSTM (Long Short-Term Memory, 장단기 메모리) 본 글은 카이스트 최윤재 교수님의 Programming for AI (AI504, Fall 2020), Class 9: Recurrent Neural Networks와 WikiDocs의 딥 러닝을 이용한 자연어 처리 입문을 바탕으로 정리한 글입니다. 장단기 메모리 (Long Short-Term Memory, LSTM) 바닐라 RNN 이후 바닐라 RNN의 한계를 극복하기 위한 다양한 RNN의 변형이 나왔고, LSTM도 그중 하나입니다. LSTM은 RNN의 특별한 한 종류로, 긴 의존 기간을 필요로 하는 학습을 수행할 능력을 갖고 있습니다. Vanilla RNN의 한계 앞 챕터에서 바닐라 RNN은 출력 결과가 이전의 계산 결과에 의존한다는 것을 언급한 바 있습니다. 하지만 바닐라 RNN은 비교적 짧은 시퀀스.. 2022. 3. 28. [NLP] RNN (Recurrent Neural Network) 본 글은 카이스트 최윤재 교수님의 Programming for AI (AI504, Fall 2020), Class 9: Recurrent Neural Networks와 WikiDocs의 딥 러닝을 이용한 자연어 처리 입문를 바탕으로 정리한 글입니다. 순환 신경망 (Recurrent Neural Network, RNN) 입력과 출력을 시퀀스 단위로 처리하는 모델을 시퀀스 모델이라 하는데, RNN은 딥러닝에 있어 가장 기본적인 시퀀스 모델이고 자연어 처리(NLP)와 TimeSeries data에 활용됩니다. 용어는 비슷하지만 순환 신경망과 재귀 신경망(Recursive Neural Network)은 전혀 다른 개념입니다. 피드 포워드 신경망(Feed Forward Neural Network)은 은닉층에서 활.. 2022. 3. 28. 이전 1 다음 반응형