Data Science/머신러닝 & 딥러닝
이번 포스팅에서는 생성형 모델에 대해서 알아보려고 한다.생성형 모델은 주어진 데이터 분포를 학습하여 새로운 데이터를 생성할 수 있는 머신러닝 모델이다. 생성형 모델의 등장은 딥러닝 분야에서 매우 혁신적이었으며, 지금까지도 많은 분야에서 응용되어 사용되고 있다. 생성 모델의 개념과, VAE, GAN, Diffusion Model과 같은 생성형 모델의 대표적인 유형들의 개념에 대해서 살펴보고, 이를 Tensorflow에서 활용하여 이미지를 생성하거나 복원해보는 작업들을 해보자. 생성 모델 1. 정의 : 주어진 데이터를 바탕으로 새로운 데이터 샘플을 자동으로 생성할 수 있는 알고리즘을 설계2. 목적 : 데이터 세트의 기본 확률 분포를 이해하고 포착하여 유사한 통계를 가진 새로운 데이터 포인트를 생성하는 것3..
이번 포스팅에서는 Transformer 아키텍처에 대해서 알아보려고 한다.Transformer는 2020년대에 들어서서 매우 핫한 딥러닝 기반 모델이며, 뛰어난 퍼포먼스를 보이고 있다. ChatGPT를 만들 수 있었던 근간이기도 하며 특히 자연어 처리(NLP) 분야에서 혁신을 가져왔다. Attention 메커니즘은 Transformer의 중요한 알고리즘으로서 사용된다. 해당 메커니즘과 Seq2Seq에 대한 이해가 있어야 Transformer를 이해할 수 있어서 간단하게 설명해 두었지만, 혹시 이해가 안된다면 아래의 포스팅을 참고하면 좋을 것 같다. https://sjh9708.tistory.com/230 [딥러닝] 기계 번역 : Seq2Seq와 Attention (+ 모델 학습시켜 다국어 번역해보기)이..
이번 포스팅에서는 RNN 기반의 자연어 처리(NLP)를 위한 모델 중 번역을 위해 만들어진 Seq2Seq를 알아볼 것이다.그리고 Seq2Seq의 RNN 기반 모델의 문제점을 완화하기 위해 고안되었으면서, Transformer의 중요한 메커니즘으로 사용되는 Attention에 대해서 살펴보려고 한다. 마지막으로 Seq2Seq+ LSTM / Seq2Seq + Attention으로 번역기를 한번 만들어보자. 자연어 처리에 대한 기본적인 개념들이 사용되므로 아래의 포스팅을 참고해도 좋을 것 같다.https://sjh9708.tistory.com/227 [딥러닝] NLP : 자연어 처리 기본 (+ 영화 리뷰글 긍정/부정 판단해보기)이번 포스팅에서는 자연어 처리(NLP)에 대해서 알아보고 Transformer..
이번 포스팅에서는 자연어 처리(NLP)에 대해서 알아보고 Transformer 출연 이전 자연어 처리에서 널리 사용되었던 지난 포스팅에서 다루어 보았던 RNN 기반 모델을 활용한 NLP 기술들에 대해서 살펴보려고 한다. 해당 포스팅에서는 아래와 같은 내용들을 다룰 것이다.NLP(자연어 처리)의 개념NLP의 발전 과정모델 입력 형태 : Character Embedding과 Word Embedding, 그리고 Embedding VectorRNN 기반의 NLP영화 리뷰 데이터를 학습 -> 문장의 긍정 및 부정을 예측하는 모델 만들어보기 NLP (자연어 처리, Natural Language Processing) 컴퓨터가 인간의 언어를 이해하고 처리하며 생성할 수 있도록 하는 인공지능의 한 분야이다. 언어의 ..
이번에는 RNN의 개념과 이를 기반으로 하는 LSTM, GRU에 대해서 살펴보려고 한다. 해당 포스팅에서는 아래의 내용들을 다룬다.1. RNNRNN의 구조RNN의 활용 예시RNN의 등장 배경과 한계점2. LSTMLSTM의 등장 배경과 구조3. GRUGRU의 등장 배경과 구조4. 시계열 데이터 학습 실습 : RNN 기반 모델 비교 RNN(순환 신경망, Recurrent Neural Network) 과거의 정보를 사용해서 현재 및 미래의 입력에 대한 신경망의 예측 성능을 개선하는 인공 신경망 구조이다. 즉 순차적인 문맥을 파악하는 신경망이다.순차적 구성 요소가 복잡한 의미와 구문 규칙에 따라 상호 연관되는 단어, 문장 또는 시계열 데이터 등의 순차적 데이터의 처리에 강점을 가지고 있다. RNN의 구조 RN..
이전 포스팅에서 우리는 CNN의 개념과, LeNet5부터 시작해서 다양한 CNN 모델들을 알아보고, LeNet5 모델을 학습시켜서 MNIST 손글씨를 분류해보는 작업까지 해 보았었다.https://sjh9708.tistory.com/223 [딥러닝] CNN : 이미지 인식과 학습 (+ MNIST 손글씨 분류해보기)CNN(Convolutional Neural Network, 합성곱 신경망)CNN은 이미지 및 시각적 데이터 처리를 위해 개발된 신경망이다. CNN은 이미지의 패턴을 인식하고, 이미지 분류, 물체 인식, 얼굴 인식 등 다양한 과제에서sjh9708.tistory.com 이번 포스팅에서는 ResNet을 모델을 만들어서 동물 이미지를 분류해보도록 하자.1. Tensorflow로 ResNet34 모델..
CNN(Convolutional Neural Network, 합성곱 신경망)CNN은 이미지 및 시각적 데이터 처리를 위해 개발된 신경망이다. CNN은 이미지의 패턴을 인식하고, 이미지 분류, 물체 인식, 얼굴 인식 등 다양한 과제에서 뛰어난 성능을 발휘한다. 현대 시각 지능 기술의 핵심적인 기술로서 자리하고 있다. 해당 포스팅에서는 다음과 같은 사항들을 알아보려고 한다.1. 컨볼루션 연산2. 최초의 CNN : LeNet5- 세상에서 가장 간단한 도형 인식으로 CNN 이해하기- LeNet5의 구조3. 기존 DNN의 한계와 CNN의 등장 배경 및 특징4. 다양한 CNN 기반 모델 : AlexNet, ZFNet, VGGNet, GoogleNet, ResNet5. Tensorflow를 이용하여 LeNet5 모델..
심층학습의 시작 : 퍼셉트론과 MLP(Multi-layer Perceptron) 이번 포스팅에서는 기존의 전통적인 머신러닝의 단점을 극복하고 딥러닝의 시작을 알렸던 퍼셉트론 및 MLP에 대해서 알아보려고 한다. 1. 딥러닝의 역사 : 과거에서부터 현재까지 딥러닝이 어떻게 발전해 왔고 주요한 기술적 변화가 무엇이 있었는지 확인해보자2. 인공 신경망 : 기본적인 단층 퍼셉트론의 개념과 구조, 그리고 풀이할 수 있는 문제를 알아보려고 한다.3. MLP(다층 퍼셉트론) : MLP의 구조와 벡터 및 구성요소의 수학적 표현방법, 그리고 학습 과정에 대해서 알아보자4. Python에서 인공 신경망 모델 훈련시키기 : 우선 Numpy로 MLP를 직접 구현해보고, 이후에는 Tensorflow를 사용해서 모델을 훈련시켜볼..
포스팅된 글의 인용한 모든 이미지는 CCL 라이선스의 이미지만을 사용했으며, 출처를 밝힙니다. Boosting Boosting은 여러 개의 약한 학습기(Weak Learner)를 결합하여 강한 학습기(Strong Learner)를 만드는 앙상블 기법이다.여러 개의 Weak Learner를 순차적으로 결합하여 예측 성능을 향상하면서, 모델의 오류를 보정해나간다.순차적인 앙상블 모델이다.AdaBoost잘못 분류된 샘플에 가중치를 높여서 다음 모델을 학습시키는 방식Weak Learner의 결과에 가중치를 적용하여 Strong Learner를 생성한다.Gradient Boosting이전 모델의 예측 오차에 새로운 모델을 학습시켜 오차를 줄이는 방식. Gradient Descent를 사용하여 가중치 업데이트를 ..