Ai

🖥️ Deep_Learning (Basic)

[DL] Perceptron (퍼셉트론)

Perceptron(퍼셉트론) 알고리즘은 신경망(딥러닝-DL)의 기원이 되는 알고리즘입니다. 그래서 Perceptron(퍼셉트론)의 구조를 배우는건 신경망, DL-딥러닝에 관한 개념 및 아이디어를 배우는데 도움이 됩니다. Perceptron(퍼셉트론) 이란? Perceptron(퍼셉트론)은 다수의 신호를 Input(입력)으로 받아 하나의 신호를 출력합니다. 여기서 신호는 전류나 강물처럼 흐름이 있는것을 생각하면 됩니다. Perceptron(퍼셉트론) 신호도 Flow(흐름)을 만들고 정보를 전달합니다. 다만, 신호는 '흐른다 / 안 흐른다 (1이나 0)'의 2가지 값을 가질 수 있습니다. Perceptron(퍼셉트론)의 동작원리 한번 Input(입력)으로 2개의 신호를 받은 Perceptron의 예시 그림..

📕 Natural_Language_Processing

[NLP] Transformer Model - 트랜스포머 모델 알아보기

이번 글에서는 Transformer 모델의 전반적인 Architecture 및 구성에 데하여 알아보겠습니다. Transformer: Attention is All You Need Transformer 모델은 2017년에 "Attention is All You Need"라는 논문을 통해서 소개되었습니다. 주요한 핵심 아이디어는 "Self-Attention" 이라는 매커니즘에 기반하여, 문장 내의 모든 단어들 사이의 관계를 한 번에 파악할 수 있다는 점에 있습니다. 이전의 설명했던 RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory)과 같은 순차적인 Model이 가진 순차적 처리의 한계를 극복했다는 특징이 있습니다. 그리고 현재 Transformer 모델..

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

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