study

🖥️ Deep_Learning (Basic)

[DL] Matplotlib 라이브러리에 데하여 알아보기

What is Matplotlib? Matplotlib은 딥러닝 실험을 할때 그래프 그리기 및 데이터를 시각화 해주는 라이브러리입니다. Matplotlib을 사용하면 그래프 그리기, 데이터 시각화가 쉬워지고, 주로 데이터 분석을 할때 사용합니다. 대표적으로는 선, 막대 그래프, 산점도, 히스토그램 등을 만들수 있습니다. Matplotlib을 이용하여 그래프 그려보기 그래프를 그릴려면 Matplotlib 라이브러리의 Pyplot 모듈을 이용합니다. 한번 sin(사인) 함수를 그리는 예를 한번 살펴 보겠습니다. import numpy as np import matplotlib.pyplot as plt # 데이터 준비 x = np.arange(0, 6, 0.1) # 0부터 6까지 0.1 간격으로 생성 y = ..

📕 Natural_Language_Processing

[NLP] 합성곱, 순환신경망, Encoder, Decoder에서 수행하는 Self-Attention

전에 썼던 내용에 이어서 써보겠습니다. 합성곱 신경망 (CNN Model)과 비교한 Self-Attention CNN은 *Convolution filter(합성곱 필터)라는 특수한 장치를 이용해서 Sequence의 지역적인 특징을 잡아내는 모델입니다. 여기서 Convolution filter(합성곱 필터)는 합성곱 신경망을 구성하는 하나의 요소-필터는 데이터를 전체적으로 훑으면서 인접한 정보를 추출하는 역할을 합니다. 자연어는 기본적으로 Sequence(단어 혹은 형태소의 나열)이고 특정 단어 기준 주변 문맥이 의미 형성에 중요한 역할을 하고 있으므로, CNN이 자연어 처리에 널리 쓰이고 있습니다. 위의 그림은 CNN 문장의 Encoding 방식입니다. Convolution filter(합성곱 필터)가 ..

📕 Natural_Language_Processing

[NLP] Attention - 어텐션

1. Attention Attention은 CS 및 ML에서 중요한 개념중 하나로 여겨집니다. Attention의 매커니즘은 주로 Sequence Data를 처리하거나 생성하는 모델에서 사용됩니다. -> Sequence 입력을 수행하는 머신러닝 학습 방법의 일종 Attention의 개념은 Decoder에서 출력을 예측하는 매시점(time step)마다, Encoder에서의 전체의 입력 문장을 다시 한번 참고하게 하는 기법입니다. 단, 전체 입력 문장을 전부 다 종일한 비율로 참고하는 것이 아니라, 해당 시점에서 예측해야 할 요소와 연관이 있는 입력 요소 부분을 Attention(집중)해서 보게 합니다. 이 방법이 문맥을 파악하는 핵심의 방법이며, 이러한 방식을 DL(딥러닝)모델에 적용한것이 'Attent..

📕 Natural_Language_Processing

[NLP] Word Embedding - 워드 임베딩

1. Word Embedding? Word Embedding, 워드임베딩 이란? 텍스트 데이터를 수치형 벡터로 변환하는 방법입니다. 다른 의미로 말하면 Text내의 단어들을 컴퓨터가 이해할 수 있는 Vector의 형태로 변환하는것을 말합니다. 즉, 단어를 고차원 공간의 저차원 벡터로 변환하는 방법입니다. Word Embedding 과정을 거친 Vector는 단어의 의미(mean), 문맥(context), 유사성(similar) 등을 수치화 해서 표현할 수 있습니다. 워드 임베딩의 과정은 크게 보면 2가지의 방법으로 이루어집니다. 2. Word Embedding의 방법 Word Embedding의 방법은 크게 보면 2가지의 방법으로 이루어 진다고 했습니다. 하나는 Count기반 방법, 다른 하나는 예측 기..

📕 Natural_Language_Processing

[NLP] Word2Vec, CBOW, Skip-Gram - 개념 & Model

1. What is Word2Vec? Word2Vec은 단어를 벡터로 변환하는데 사용되는 인기있는 알고리즘 입니다. 여기서 단어는 보통 'Token' 토큰 입니다. 이 알고리즘은 단어(Token)들 사이의 의미적 관계를 Vector 공간에 잘 표현할 수 있는 방법을 학습하는 비지도방식(Unsupervised learning)으로 설계한 알고리즘 입니다. 주변 단어들(문맥)을 통해서 각 단어들을 예측하거나, 반대로 각 단어들을 통해 주변의 단어들을 보고 예측하는 방식으로 작동합니다. 비유 하자면 이미지를 학습하듯, 단어를 Vector로 보고 학습합니다. 이렇게 Word2Vec은 단어들 사이의 의미적인 관계를 파악합니다. 그리고, 위의 그림에 있는 문장을 이용해 모델을 학습 시키기 위해서 각 단어(Token..

📕 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(숨..

📕 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 (Basic)

[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)라고 합니다. 그리고 이 차이는 신경망의 성능을 측정하는 지표가 됩니다. 정리하..

📕 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에는 효과가 있지만, 긴..

📕 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의 다음 계산..

Bigbread1129
'study' 태그의 글 목록 (3 Page)