본문 바로가기

Hello MLop/DL

(13)
Stable Diffusion 230221 ✨ Stable Diffusion ✨ 2022년 8월 Stability AI에서 오픈소스 라이선스로 배포한 text-to-image 인공지능 모델이다. text2img에 주로 사용되지만 inpainting, outpainting과 같은 다른 작업에도 적용 가능 하다. 가장 큰 강점은 Open AI의 Dall-e나 구글의 Imagen과 같은기존 text-to-image와 다르게 컴퓨터 사용 리소스를 대폭 줄여8GB 이상의 VRAM을 가진 컴퓨터에서도 돌릴 수 있고 오픈소스. 즉, 무료다. 🔥 Model Architecture Stable Diffusion은 LDM(Latent Diffusion Model)이라고 하는 확산 모델(DM)의 일종을 사용한다. 💡 Latent Diffusion 이미지..
NLP_Transfomer 20230130 Attention is all you need 2017년 Google에서 발표한 transformer 하면 떠오르는 대표적인 논문이다. 논문은 제목부터 연구의 내용을 독자에게 던진다. 'Attention Is All You Need' '어텐션은 네가 필요로 하는 전부이다.' '어텐션이면 충분해'라는 내포된 의미도 가지고 있다고 개인적으로 생각한다. 왜 어텐션이면 충분하다는 제목을 붙여 나왔을까? 바로 Transformer의 핵심 포인트인 Seq2Seq 기반의 Attention Mechanism만을 사용한 모델이기 때문이다. 이게 무슨 말인지 Transformer의 구조를 보자. 가장 먼저 눈에 띄는 점은 Recurrent 모델이 사라졌다는 점이다. # RNN, LSTM, GRU... 그리..
NLP_어텐션 메커니즘(Attention Mechanism) 20230123 언제나 그렇듯 새로운 모델은 늘 기존 모델의 단점에서 시작된다. 앞서 포스팅한 Seq2Seq 모델은 인코더에서 입력 시퀀스를 Context vector라는 하나의 고정된 크기의 벡터 표현으로 압축하고 디코더는 Context vextor를 통해 출력 시퀀스를 만들었다. 여기서 두 가지 문제점이 발견된다. 🚨 seq2seq 모델의 한계 1. 하나의 고정된 크기의 벡터(Context vector)에 모든 정보를 압축하려고 하니 정보 손실이 발생함. = 병목 현상 (= bottle neck) 2. RNN계열의 고질적인 문제 기울기 소실(Vanishing gradient) 문제 존재. 즉, 입력 시퀀스가 길면 출력 시퀀스의 품질이 떨어지는 현상 발생. 이를 해결하기 위해 나타난것이 Attentio..
NLP_RNN을 이용한 Encoder-Decoder 2023.01.18 RNN에서 다 대 일(many-to-one) 구조로 텍스트를 분류할 수 있고 다 대 다(many-to-many) 구조로는 개체명 인식이나 품사 태깅과 같은 문제를 풀 수 있었다. 이번에 포스팅할 내용은 하나의 RNN은 인코더, 하나의 RNN은 디코더로 연결해서 사용하는 인코터-디코더 구조이다. 인코더-디코더 구조는 주로 입력 문장과 출력 문장의 길이가 다를 경우에 사용하는데 대표적인 분야로 번역기, 텍스트 요약이 있다. 즉, 영어 문장을 한국어로 번역할 때 당연히 입력 문장과, 출력 문장의 길이가 다르다. 텍스트 요약은 당연히 요약이기 때문에 입력 문장이 길고 출력 문장이 짧을 것이다. ✨ Auto Encoder ✨ auto encoder는 비지도 학습(unsupervised lear..
MLop_DL_LSTM 실습 20221124 37일차 LSTM(Long Short-Term Memory) 장단기 메모리 시계열 데이터, 순서가 있는 데이터를 학습시키면서 우리는 한가지 불편함을 느끼게 된다. 한가지 예를 들어보겠다. "꽃이 화려하게 피어있는 마당은 내일 일기예보에서 말한대로 비가 올것입니다." 이 문장을 RNN모델에 학습시켜 문장속에서 날씨 정보를 획득하고 싶다. 즉, 내가 원하는건 "내일 비가 올것입니다" 이 세가지 인데 불필요한 문장이 사이사이 많다는것이다. 즉, 순환 구조를 이용해 순서대로 학습하는 RNN모델은 불필요한 데이터 까지 학습해 가중치가 불필요하게 부여된다는 한계를 보여주는 것이다. 💡 = 기울기소실문제를 야기한다. ⭐⭐⭐⭐⭐ 이와 같은 시퀀스 계열의 데이터의 학습에서 LSTM은 단계별 선별을 하는 ..
MLop_DL_RNN 실습 20221123 36일차 RNN(Recurrent Neural Network) 입력과 출력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델이다. RNN하면 시계열데이터, 시퀀스 이 두 단어가 자주 등장하는데, 우선 두 단어에 대해 알아보고 넘어가자. 💡 시퀀스(Sequence) 시퀀스의 단어 뜻은 수열이다. 수열이란? ▶ 수 또는 다른 대상의 순서 있는 나열이다. 순서가 있다는 의미는 어떤 구분이 있다는 의미이고, 그 구분을 시간으로 정한게 바로 시계열이다. 💡 시계열(time series) 일정 시간 간격으로 배치된 데이터들의 수열을 말한다. 시계열 예측(time series prediction) 주어진 시계열을 보고 수학적인 모델을 만들어서 미래에 일어날 것들을 예측하는 것을 뜻한다. 결론적으..
MLop_DL_U-Net 실습 20221122 35일차 오늘 해볼 실습은 U-Net 신경을 이용한 사진의 피사체 특징 추출(분할)이다. image의 annotation만 있는 사진과 image가 있는 사진들을 다운받았다. U-Net 설명에 앞서 왜? 라는 질문으로 글을 시작하려 한다. 지금까지 우리는 원하는 이미지를 구별하는 과정을 실습해보았다. 이미지를 컴퓨터에게 학습 시키는 러닝의 궁극적인 목표는 결과의 실사화가 아닐까란 생각을 한다. 이미지의 해상도가 점점 발전해가고 있는 시대에서 우리는 보다 정확한 데이터를 가져오기위해 조금 더 정확한, 조금 더 세밀하게, 조금 더 원하는 범위라는 욕심이 생겼을 것이다. 예를 들어 핏줄 하나하나, 털 한가닥 한가닥, 표면의 재질, 멀리 찍혀있는 꽃 하나하나 같은 좀 더 실용적이고, 가치가 있는..
MLop_DL_ResNet 실습 20221121 34일차 오늘 해볼 실습은 ResNet(CNN) 신경망 이다. 중간에 프로젝트가 있어 조금 밀렸지만 다시 열심히 해보겠다. ResNet(Residual neural network)? 사전적 의미는 잔차 신경망이다. # Residual : 어떤 과정이 끝나고 난 뒤에 남은, 잔여[잔류]의 왜 생겨났을까? 딥러닝에서 사용하는 여러 신경망중 이미지 처리를 할때는 CNN(Convolutional Neural network)이 주로 사용되고 자연어 처리를 할때는 RNN(Recurrent Neural network)가 주로 사용된다. 이 두 신경망은 훌륭한 학습 결과를 자랑하지만 아쉬운점은 신경망의 레이어가 깊어지면 vanishing gradient problem 때문에 error가 증가한다는 단점..