Ai

📝 NLP (자연어처리)/📕 Natural Language Processing

[NLP] GRU Model - LSTM Model을 가볍게 만든 모델

1. GRU Model은 무엇일까? GRU (Gated Recurrent Unit)는 순환 신경망(RNN)의 한 종류로, 앞에서 설명한 LSTM(Long Short-Term Memory)모델의 단순화된 형태로 볼 수 있습니다. GRU Model은 LSTM Model과 비슷한 방식으로 작동하지만, 더 간단한 구조를 가지고 있습니다. LSTM Model의 장점을 유지하되, Gate(게이트)의 구조를 단순하게 만든 모델이 GRU Model 입니다. 또한 GRU, LSTM Model은 둘다 Long-Term Dependency(장기 의존성) 문제를 해결하기 위하여 만들어 졌습니다. LSTM Model을 설명한 글에서 설명했지만 LSTM Model은 "Cell State(셀 상태)"와 "Hidden state(숨..

📝 NLP (자연어처리)/📕 Natural Language Processing

[NLP] LSTM - Long Short Term Memory Model

1. LSTM Model은 무엇일까?LSTM은 Long Short-Term Memory의 약자입니다. RNN - Recurrent Neural Network (순환 신경망)의 문제인 Long-Term Dependency (장기 의존성) 문제를 해결하기 위해 제안된 모델입니다.기존의 RNN(순환 신경망)모델은 시간 & 공간적 패턴을 학습하고 예측하는데 유용합니다. 그래서 순차적인 데이터를 처리하는데에는 강점이 있는 모델입니다.다만 Long-Term Dependency(장기 의존성) 문제가 있어서 긴 Sequence의 데이터를 처리하는데 어려움이 있습니다.Long-Term Dependency(장기 의존성)에 대한 설명은 아래의 글에 적혀있으니까 참고해주세요. [NLP] Vanilla RNN Model, Lo..

🖥️ Deep Learning

[DL] Gradient Vanishing, Exploding - 기울기 소실, 폭팔

1. 신경망의 학습 과정 신경망의 학습 과정은 크게 2가지가 있습니다. 순전파(Forward Pass), 역전파(Backward Pass)가 있습니다. 먼저 이 학습 과정에 데하여 설명을 해보도록 하겠습니다. Forward Pass (순전파) Forward Pass (순전파)는 input(입력) data가 신경망의 각층을 차례대로 통과하면서 최종 output 까지 도달하는 과정입니다. 이 과정은 input layer(입력층)에서 output layer(출력층)까지 순차적으로 이루어지며, 최종적으로 손실함수 (loss function)을 통해 예측값과 실제값의 차이를 계산합니다. 이 차이를 손실(loss) or 오차(Error)라고 합니다. 그리고 이 차이는 신경망의 성능을 측정하는 지표가 됩니다. 정리하..

📝 NLP (자연어처리)/📕 Natural Language Processing

[NLP] Vanilla RNN Model, Long-Term Dependency - 장기 의존성 문제

1. 기본 RNN 모델 (Vanilla RNN Model)의 한계RNN부분을 설명한 글에서 기본 RNN Model을 알아보고 구현해 보았습니다.보통 RNN Model을 가장 단순한 형태의 RNN 이라고 하며 바닐라 RNN (Vanilla RNN)이라고 합니다.근데, Vanilla RNN 모델에 단점으로 인하여, 그 단점들을 극복하기 위한 다양한 RNN 변형 Model이 나왔습니다.대표적으로 LSTM, GRU 모델이 있는데, 일단 이번글에서는 LSTM Model에 대한 설명을 하고, 다음 글에서는 GRU Model에 대하여 설명을 하도록 하겠습니다.Vanilla RNN은 이전의 계산 결과에 의존하여 출력 결과를 만들어 냅니다.이러한 방식은 Vanilla RNN은 짧은 Sequence에는 효과가 있지만, 긴..

📝 NLP (자연어처리)/📕 Natural Language Processing

[NLP] RNN (Recurrent Netural Network) - 순환신경망

1. RNN 이란?RNN은 Sequence data를 처리 하기 위한 신경망 구조 입니다.주로 자연어처리(NLP)를 포함한 여러 Sequence Modeling 작업에서 사용됩니다.특징으로는 시간적, 공간적 순서 관계에 의하여 Context를 가지는 특성이 있습니다.💡 exampleI want to have an apple이 'apple'에 한번 주목해 보겠습니다.이 apple이라는 단어는 문맥이 형성하는 주변의 단어들을 함께 살펴봐야 판단할 수 있습니다.2. RNN에 대하여RNN의 특징은 어떤것이 있을까요?RNN은 은닉층(hidden layer)의 node에서 활성화 함수(activation function)을 통해 나온 결과값을 출력층 방향으로 보내면서, hidden layer node의 다음 계산..

📝 NLP (자연어처리)/📕 Natural Language Processing

[NLP] Seq2Seq, Encoder & Decoder

1..sequence-to-sequence 💡 트랜스포머(Transformer) 모델은 기계 번역(machine translation) 등 시퀀스-투-시퀀스(sequence-to-sequence) 과제를 수행하기 위한 모델입니다. sequence: 단어 같은 무언가의 나열을 의미합니다. 그러면 여기서 sequence-to-sequence는 특정 속성을 지닌 시퀀스를 다른 속성의 시퀀스로 변환하는 작업(Task) 입니다. 그리고 sequence-to-sequence는 RNN에서 many-to-many 모델을 사용하고 있는데, RNN은.. 추후에 설명하도록 하겠습니다. 💡 example 기계 번역: 어떤 언어(소스 언어, source language)의 단어 시퀀스를 다른 언어(대상 언어, target la..

📝 NLP (자연어처리)/📕 Natural Language Processing

[NLP] Pre-Trained Language Model - 미리 학습된 언어모델

Pre-Trained Language Model - 미리 학습된 언어모델 💡 언어 모델(Language Model) → 단어 시퀀스에 부여하는 모델 (단어 시퀀스를 입력받아 해당 시퀀스가 얼마나 그럴듯한지 확률을 출력으로 하는 모델) 문장에서 i번째로 등장하는 단어를 𝑤n 이렇게 표기하면 n번째로 등장하는 언어모델에 등장할 확률 (수식 1) ex) 난폭이라는 단어 등장후에 운전이라는 단어가 나타날 확률? → 조건부 확률 이라고 한다. 조건부 확률 표기시 결과가 되는 사건(운전)을 앞에, 조건이 되는 사건(난폭)은 뒤에 쓴다 조건이 되는 사건이 우변 분자의 일부, 그리고 우변 분모를 구성하고 있음을 볼 수 있음 = 이는 결과가 되는 사건(운전)은 조건이 되는 사건(난폭)의 영향을 받아 변한다는 개념을 내포..

📝 NLP (자연어처리)/📕 Natural Language Processing

[NLP} Tokenization - 토큰화하기

Tokenization - 토큰화하기 1단계: 코랩 노트북 초기화 패키지를 설치해줍니다. !pip install ratsnlp 구글 드라이브 연동하기 튜토리얼에서 구축한 어휘 집합을 저장해 둔 구글 드라이브를 연결합니다. from google.colab import drive drive.mount('/gdrive', force_remount=True) 2단계: GPT 입력값 만들기 GPT 모델 입력값을 만들려면 Byte-level Byte Pair Encoding 어휘집합 구축 결과(`vocab.json`, `merges.txt`)가 자신의 구글 드라이브 경로(`/gdrive/My Drive/nlpbook/wordpiece`)에 있어야 합니다. 아래 코드를 수행해 이미 만들어 놓은 BBPE 어휘집합을 포..

📝 NLP (자연어처리)/📕 Natural Language Processing

[NLP] Building a vocabulary set - 어휘 집합 구축하기

어휘 집합 구축하기 (Vocab) 1단계: 실습 환경 만들기 pip 명령어로 패키지를 설치합니다. !pip install ratsnlp 2단계: 구글 드라이브 연동하기 from google.colab import drive drive.mount('/gdrive', force_remount=True) 3단계: 말뭉치 다운로드 및 전처리 코포라(Korpora)라이브러리 를 활용해 BPE 수행 대상 말뭉치를 내려받고 전처리. 실습용 말뭉치는 박은정 님이 공개하신 Naver Sentiment Movie Corpus(NSMC)을 사용 데이터를 내려받아 `nsmc`라는 변수로 읽어들입니다. from Korpora import Korpora nsmc = Korpora.load("nsmc", force_download..

📝 NLP (자연어처리)/📕 Natural Language Processing

[NLP] Tokenization - 토큰화란?

Tokenization - 토큰화 1. 토큰화란? 💡 문장을 토큰 시퀀스로 나누는 과정 → 문자, 단어, 서브워드등 3가지 방법 토근화를 수행하는 프로그램을(Tokenizer)라고 한다. 토근화 방식에는 여러가지가 있음 → 단어(어절), 문자, 서브워드(Subword) 단위 단어 단위 토큰화 공백으로 분리 장점: Tokenizer를 사용하면 어휘 집합이 커지는거 완화 💡 Example 은전한닢으로 토큰화 → 그렇다고 은전한닢 같은 Tokenizer 사용해요 어휘집합 크기가 커지는건 막기 어려움 (어휘 집합 크기가 커질수록..) 문자 단위 토근화 💡 문자 단위 → 모든 문자를 어휘 집합에 포함함으로 미등록 토큰 문자로부터 자유롭다. 미등록 토큰: 어휘 집합에 없는 토큰 - 신조어등 에서 발생 단점: 각 문..

Bigbread1129
'Ai' 태그의 글 목록 (6 Page)