인공지능/공부

생성형 인공지능 입문 기말고사 간단 정리

이게될까 2024. 6. 16. 14:38
728x90
728x90

1주 차 - 인공지능이란 

Transformer : Self-Attention으로만 구현된 Pre-trained 모델로 Encoder(BERT)와 Decoder(GPT)로 구성되어 있으며 특정 Task에 대해 Fine-Tuning이 가능하다.

생성형 인공지능 : Encoder(입력 정보를 압축)과 Decoder(압축된 정보를 통해 생산)으로 구성되어 있고 이미지(GAN, AutoEncoder), 텍스트(RNN, Transformer), 비디오(3D CNN,GAN), 오디오(1D, GAN)을 통해 생성하며 데이터 품질 및 개수가 중요고 보안도 새로운 이슈이다.
Flow-based Model : Decoder가 Encoder의 역함수다. 

인지 인공지능: 컴퓨터가 주변 환경을 인지(컴퓨터 비전, NLP, 데이터 마이닝)하여 사고 과정(언어 이해, 추론, 지능적 의사 결정, 머신러닝)을 통해 사람처럼 행동(지식 표현)하는 것으로 지능형 고객 서비스, 검색, 번역, 이미지 분석, 자율 주행 등에 사용된다.

언어 생성(NLP의 한 분야)은 자연스러운(규범에 부합하는)텍스트를 생성하는 프로세스로 딥러닝 기반(자동으로 언어 법칙, 특징을 학습. 마르코프 체인, RNN, Transformer)으로 문맥 정보를 얻어 표현력이 풍부한 텍스트를 형성하여 챗봇, QA 시스템 등에 사용

이미지 생성은 데이터와 출력의 매핑 관계를 학습된 신경망(GAN : 판별자와 생성자, VAE : Latent space 분포를 기반으로 새로운 이미지 생성)혹은 통계, 규칙 기반으로 고품질 이미지를 생성한다.

언어 생성 방법 : 전처리(토큰화 -> 임베딩(벡터화)) -> 언어 모델(RNN, Transformer)에 따른 학습 -> 평가(난해성, BLEU, 주관적. 정성적, ROUGE)

 

2주 차 - 언어 처리 신경망

RNN은 ANN(독립적으로 구성되어 있다)과 달리 이전 데이터(Hidden state, 양방향으로 이루어지면 미래 정보도 받을 수 있다.)를 전달해주어 시계열 데이터(언어, 주가)를 처리할 수 있지만 장기적 의존성(Vanishing, Exploding Gradient)문제가 발생하여 LSTM(forget,input, output Gate, cell state), GPU(reset, update Gate)로 발전되었다.

Attention은 긴 시퀀스 처리가 어려운 RNN기반 모델(입력 시퀸스를 고정된 벡터 표현으로 인코딩)을 대신해 입력의 각 위치와 관련성을 타나내는 Score를 생성하여 문맥 정보를 얻을 수 있다. softmax{(Qw * Kw)/dk^0.5} * Vw 한 줄로 정리하긴 무리라... 
2024.04.11 - [인공지능/공부] - attention, Transformer 정리 1

 

attention, Transformer 정리 1

attention이 명확하게 정리되지 않아서 일단 다양하게 영상을 보고 정리를 시도해 보려고 합니다... https://youtu.be/6s69XY025MU?si=3vgHGAPVJINkCOl7 이번에도 시작은 이 영상 입니다.. 텐서 기본정보 1. 정보를

yoonschallenge.tistory.com

 

3주 차 - CNN

CNN은 Convolution(두 함수를 결합하여 세 번째 함수 생산하여 계층적 표현 만들어 패턴과 특징 감지), Pooling(공간적 차원을 줄여 feature 요약), Normalization(안정성과 수렴 향상), Dropout(overfitting 방지), Faltten(다 차원 -> 1차원) 등 다양한 딥러닝 기법이 적용되어 컴퓨터 비전(객체 감지,이미지 분류) 작업에 사용되지만 적대적 공격에 취약성, 이동 불변성, 부분과 전체의 관계가 약하다는 단점이 있다.

하이퍼 파라미터는 사용자가 수동으로 정해주는 파라미터로 신경망 동작에 영향을 끼치고, 학습과정에 중요한 요소로 overfitting, underfittng를 잘 고려하여 설정해야 한다. -Epoch, Batch size, Optimizer, Learning rate...

학습은 Loss function을 통해 구한 Error를 BackPropagation과 Optimization 통해 오차를 최소화하는 방향으로 weights를 업데이트합니다.

 

4주 차 - Transformer 1

임베딩은 단어를 고차원 백터 공간에서 밀도가 높은 벡터로 표현하는 기술(Word2Vec, GloVe, FastText, Contextual Word Embedding)로 문맥과 의미를 효율적으로 학습할 수 있게 도와주며 이전에는 통계적 기법(one-hot Encoding, Bag-of-word, TF-IDF : 의미론, 문맥적 관계가 부족하다.)이 사용되었다. 위치별(GPT), segment별(GPT, BERT) embedding도 추가되기도 한다.

Self-Attention은 입력 내 종속성과 관계를 계산하여 문장 내 단어간 관계, 장거리 종속성을 효과적으로 판단하여 Transformer(Decoder에서 Masked self-attention 활용) 모델에서 활용되어 NLP Task에서 활용된다. 

Multi-Head Self-Attention은 Query, Key, Value를 각 Head에 나눠 병렬적(연산속도 향상, 확장 가능성, 효율적인 하드웨어 활용, 유연성)으로 Attention을 진행하여 뚜렷한 패턴과 관계(Global, Local 종속성)를 얻어 문맥 정보(상황별 이해도 향상, 성능 향상)를 더 잘 얻는다.

Transformer의 Encoder는 Multi-Head Self-Attention과 Feed Forward(각 포지션별 표현을 독립적으로 변환)로 구성되어 있으며 각각 앞이나 뒤에 ADD & Norm(훈련 안정화 )이 붙어있어 요소 간의 문맥 정보를 뽑아낸다.

Transformer의 Decoder는 Masked Multi-Head Self-Attention(뒤에 내용이 관여하지 않도록)과 Multi-Head Encoder-Decoder Self-Attention(인코딩 입력을 넣어줘 문맥을 고려할 수 있도록 해준다.), Feed Forward와 각 레이어 사이사이에 ADD & Norm이 붙어있어 마지막에 Linear and Soft max에서 예측을 만든다.

 

5주 차 - Transformer 2

Image Patch Embedding은 이미지를 작은 패치 단위로 쪼개서 각 패치(입력 단위를 고정할 수 있고, 큰 이미지도 사용 가능하다.)를 embedding하여 Attention과 같은 장점(Global, Local 종속성)을 얻을 수 있는 방식으로 컴퓨터 비전 분야(ViT)에서 활용된다. 

ViT는 영상 classification에서 활용되며 패치 평탄화(패치로 나눠 벡터화 진행), 임베딩(class : 학습 가능하며 class token을 붙인다. Position : 패치에 위치정보 주입), Transformer encoder(Multi-Head Self-Attention + Normalization + Residual connection + Feedforward + GELU), MLP 헤드(class token만 취해서 Linear layer를 통해 출력을 만든다.)로 이루어져 많은 작업에서 좋은 성능(전이 학습 가능, Global, Local 종속성)을 보이고 있지만 계산 비용, 데이터의 양 및 크기, 이미지 크기, 공간 정보 손실(패치 단위로 나누기 때문), 패치와 모델 크기 조정, 초기 개발 단계 등 단점이 있다.

U-Net은 CNN모델로 Image Segmentation을 수행하며 Encoder(Latent space로 정보를 압축 및 공간 차원 감소), Decoder(디테일과 공간 차원을 복구한다.)와 Skip connection(정보 무손실 전달하여 세부 사항 복구에 용이)로 segmentation에 적합한 구조이고, U자형 구조(공간 정보를 보존하며 크기를 줄이고, feature 추출), 데이터 부족 문제 해결(적은 데이터 셋에서도 잘 작동), 다양한 응용 분야라는 장점이 있지만 채널 정보 제한(깊이가 깊어질수록 전체적인 특징 파악 어려움), 클래스 불균형 문제(특정 class 픽셀이 적으면 segment 어려움), 이미지 변환(회전, 크기 변경)에 민감한 문제가 있다.

 

6주 차 - LM

BERT는 Transformer Encoder(양방향 attention, embedding이 position, token에 segment까지 추가) model로 Pre-trained(MLM + NSP) 되어 다양한 task에 fine-tuning(QA, 분류, NER...)하여 뛰어난 성능을 보인다. 전이학습, 양방향 정보 이용(좌우 문맥을 모두 이해할 수 있어 더 깊은 문맥 파악 가능), 문장 레벨 이해(문장 단위로 입력을 처리 하기 때문에 연관성과 문맥 파악에 도움), 다양한 언어 지원이라는 장점이 있지만 큰 모델 크기, 추론 속도, 전이 학습 데이터 의존, 문장 길이 제한이라는 단점도 존재합니다.

GPT는 Transformer Decoder(단방향 Self-Attention) model로 ELMo(양방향 LSTM)와는 다른 단방향 트랜스포머이며 Pre-training(unsupervised learning으로 라벨이 없다. 다음 단어 예측), fine-tuning 및 강화 학습을 통한 지도 학습도 진행하였고, 대화영 인공지능 모델이다. 자연스러운 텍스트 생성, 대화형 응답 능력, 빠른 프로토타이핑, 크기 및 파라미터 수에 따른 조절, 높은 문맥 이해 능력, 전이 학습 가능성이라는 장점이 있지만, 무작위성 일관성 부족(확률적 방식으로 생성하기 때문), 문맥 파악의 제한성(문장이 길면 정확한 문맥 파악이 힘들다), 도메인 특화 어려움(데이터 부족과 전문적 지식의 어려움), 대화의 지속성 부족(이전 대화를 끌어내기 힘들다.), 편향성이라는 단점이 있다. 

fine-tuning은 pretrained 모델 선택, 데이터 준비, 데이터 전처리, 학습 진행, 하이퍼파라미터 튜닝, 모델 저장으로 이루어져 있으며 다양한 사례에서 사용하고 적은 데이터로 높은 성능, 일반화 능력 향상, 시간과 비용 절감, 다양한 언어 지원이라는 장점을 가지고, 과적합 가능성, 데이터 중요성(양과 질 모두 필요), 시간과 비용, 적합한 pre-trained 모델, 새로운 작업의 어려움(pre-trained와 관련이 있어야 한다.)이라는 단점이 있다.

Interactive GPT model은 사용자와 실시간으로 상호작용(프롬포트와 원하는 대답 데이터)하여 사용자의 요구를 만족시키기 위해 인간피드백(강화 학습 PPO)을 활용하는 CAHT GPT(고객 지원 챗봇, 가상 도우미, 언어 번역 및 학습, 콘텐츠 제작 및 아이디어 제안)와 같은 model이다. 주요 특징으론 실시간 상호작용, 사용자 중심, 인간 피드백, fine-tuning, 지속적인 개선이 있고 더 나은 대화 및 의사소통, 실시간 정보와 지원 제공, 콘탠츠 생성과 창작 지원, 교육과 자기학습 이라는 잠재력이 있다.

휴면 피드백(데이터 수집 -> 설명 -> 모델 업데이트)은 사람이 pre-trained model을 사용하면서 나온 피드백(모델 학습에 중추적 역할을 하며, 모델 최적화 유도, 정보에 근거한 의사 결정) 을 통해 모델을 다양한 방식(지도, 강화, 대화형)으로 학습하고, 인간 피드백 사이클(AI 모델 상효작용, 사람 피드백 입력, 피드백 반영, 모델 구체화, 지속적 학습)을 통해 역동적이고 반복적으로 진화를 주도하기도 한다. 다양한 장점(모델 성능 개선, 적응성 향상, 편향 감소, 다양한 업무 처리)과 단점(피드백의 편향성, 확장성, 주관성과 다양성, 데이터 수집 및 확인), 사례(언어 번역, 콘텐츠 생성, 로봇 공학, 의료 진단)들이 존재하는 기계 학습 모델을 향상하는 학습 접근 방식이다.

 

7주 차 - GAN

GAN은 경쟁 프로세스(두 네트워크가 반복적으로 기능 개선하도록 강요)에 참여하는 생성자(합성 데이터 인스턴스 생성하여 판별자 속이기)와 판별자(실제 데이터와 생성 데이터 구분하고 생성기에 피드백 제공)로 구성된 네트워크로 손실함수(생성 손실 함수와 판별 손실 함수를 통해 균형잡힌 행위를 만든다.)와 반복 훈련(데이터 생성, 판별자 평가, 생성자에 피드백 제공, 반복적인 개선)을 통해 다양한 작업에 사용되어 내쉬 균형(생성자, 판별자 모두 일방적 성능 향상 불가 상태로 GAN을 성공한 상태이다.)이나 여러 고려사항(모드 축소, 훈련 불안정, 복잡한 하이퍼파라미터 튜닝, 윤리적 문)을 만들었다. 노이즈의 첨가를 통해 AI모델이 제약에 벗어나 불규칙한 현실을 연상시키는 미묘한 변형을 포함하여 이미지 잠재력의 지평을 넓힐 수 있다.

잠재공간(Latent Space)는 데이터의 본질을 간결하게 캡슐화하는 추상화 차원으로 다양하고 의미 있는 이미지 생성을 할 수 있다. 실제 이미지를 잠재 공간으로 변환하는 작업을 Data Mapping이라고 하고, Latent Space은 원활한 전환이 가능하여 변수 조정을 통해 이미지 편집이 된 새로운 스타일의 이미지를 만들 수 있다. 

스타일 트랜스퍼는 서로 다른 두 이미지 중 한 개에서 스타일을 가져오고, 한 이미지에서 콘텐츠를 가지고와 혼합한 이미지를 생성하는 것으로 이런 이미지 생성에 평가 지표로는 인셉션 점수(생성 이미지와 실제 이미지와 일치도), FID(실제 이미지와 생성 이미지의 분포 차이), 인간 지각 평가가 있다.

여기는 더 이상 정리하는게 의미 없을 정도로 다양한 네트워크가 나와서..

https://yoonschallenge.tistory.com/604

 

생성형 인공지능 입문 6~7, 9 ~10 주 차 정리, 중간 고사, 퀴즈

6주 차 - LLM1차시 - BERTBERT - Bidirectional Encoder Representations from Transformer로 Google의 모델이다.대규모 텍스트를 통해 언어 표현을 Pre-trained 하여 언어 이해를 하고, 나중에 Downstream으로 학습한다.Pre-train

yoonschallenge.tistory.com

 

9주 차 - styleGAN

스타일 생성은 영상에 예술적 표현과 최첨단 기술을 결합하는 작업으로 그 중 CNN을 통해 콘텐츠와 스타일 정보를 분리하고 재결합하는 신경망 스타일 전환(Neural style Transfer)이 존재한다. styleGAN의 예시로는 예술적 랜더링(이미지를 화가 풍으로 바꾼다.), 맞춤형 브랜딩(브랜드 및 목적에 따라 고유한 스타일 생성) 등이 있고, 콘텐츠 보존(스타일과 콘텐츠의 균형), 스타일 일관성, 주관성이 과제로 남았다.

Cycle GAN은 페어링 되지 않은 이미지 간 도메인 전환을 위해 설계된 생성 모델로 영상간 직접적인 대응이 없는 두 도멩니간의 매핑을 학습하여 한 도메인으로 변했다가 다시 돌아올 때 원본 이미지로 만들도록 두 개의 생성기 네트워크와 두 개의 판별기 네트워크를 학습한다.

가짜 판별 네트워크는 실제 콘텐츠와 가짜 콘텐츠 모두에 존재하는 고유한 패턴과 특징을 식별하고 패턴을 분석하여 조작 또는 합성을 타내는 시각적 결함을 찾아내는 AI 네트워크 이다. GAN에서 판별자를 뜯오와서 훈련하거나 CNN-RNN을 활용하여 낮은 수준의 시각적 단서와 높은 수준의 의미론적 특징 점을 비교한다. 평가로는 정확도, 정밀도, 회수, F1-Score를 사용한다. 적대적 공격, 데이터 다양성 및 일반화(가짜 데이터도 많이 수집해야 한다.), 빠르게 발전하는 기법, 제로 데이 공격, 콘텍스트 이해(미묘한 조작을 탐지하는데 문맥이 중요한 역할), 데이터 프라이버시 및 권리라는 도전 과제와 한계가 있고, 개인 정보 보호 우려, 편견과 공정성, 오탐 및 부정탐지, 투명성과 설명 가능성, 검열과 표현의 자유, 의도하지 않은 결과라는 윤리적 고려 사항이 필요하다.

 

10주 차 - 영상 주석 달기 

영상에 대해 설명이 포함된 텍스트 캡션을 생성하는 작업으로 CNN으로 인코더(높은 수준의 embedding, Context Vector, Latent vector 추출)를 만들고 RNN이나 Transformer 로 Decoder(인코딩 정보를 통해 텍스트 설명 생성)를 만들어서 attention 메커니즘을 통해 텍스트 캡션을 생성하여 다양한 콘텐츠(시각 장애인 보조 도구, 색인 및 검색, SNS 콘텐츠 강화)에 사용된다. 평가 지표로는 BLEU, ROUGE가 사용된다. 과제론 정교한 물체 인식, 장거리 종속성, 모호성 처리가 남았다.

 

11주 차 - 언어 -> 영상

Language Encoder에서 언어가 embedding되고,  Visual Encoder에서 영상이 embedding되어 Transformer에서 두 feature가 별합되어 Visual-Language feature가 생성되고, Transformer Decoder에서 영상의 각 프레임을 생성하게 되며 Loss Function으로 MSE, 적대적 손실, feature 손실, KL 손실(생성 이미지가 원하는 분포에서 샘플링 되도록)을 사용하여 실제와 유사하게 생성되도록 학습한다.

여기도 너무 다양한 모델이 나와서 들어가서 슥 한번 보시는게...
https://yoonschallenge.tistory.com/605

 

생성형 인공지능 입문 11 ~ 14주 차 정리, 퀴즈

11주 차 - 언어 기반 영상 생성1차시 -  언어 기반 영상 생성 구조언어 명령 기반 영상 생성용 트렌스포머 아키텍쳐언어 처리 부분 - Language Encoder시각 정보 처리 부분 -Visual Encoder트렌스포머 인코

yoonschallenge.tistory.com

Diffusion은 기계 학습에서 사용되는 생성 모델의 한 종류로 데이터 내 정보나 노이즈가 확산되는 과정을 모방하는 개념에 기반하여 높은 품질의 샘플을 생성하고, 복잡한 데이터 분포를 다루며 forward(마르코프 체인을 따르며 Gussian 노이즈 추가)에서는 노이즈를 추가하며 backward(원래 데이터 분포로 돌아간다.)에서는 노이즈를 제거해 훈련 데이터 분포와 일치하는 영상을 생성한다. 노이즈 제거, 초고해상도, 보정, 합성에 사용되며, 무작위성 제어, 고품질 이미지 생성, 해석 가능성, 활용성의 장점이 있고, 계산 복잡성, 훈련 요구사항, 추정 시간, 모델 크기가 과제로 남아있다. 성능은 PSNR, SSIM(구조적 유사성. 1에 가까울수록 높다.), FID(분포의 차이를 측정하며 낮을수록 좋다.)로 한다.

 

12주 차 - Diffusion

Stable Diffusion은 Diffusion(노이즈 첨가), VAE Encoder(Latent space 생성), VAE Decoder(Latent Space를 통해 최종 이미지 생성), U-Net(노이즈 제거하여 안정적인 Latent space만들기)으로 구성되어있으며 컴팩트한 Latent Space를 활용하여 다양한 컨디셔닝 입력에 대한 유연성을 유지하면서 고품질 이미지를 효율적으로 생산하며 텍스트(CLIP : 이미지와 텍스트 쌍으로 훈련되어 context를 일치시켰다.)를 추가하여 Latent Space에 영향을 줘 원하는 이미지를 생성한다.

생성형 모델은 다양한 요구 사항과 계산 제약 조건에도 효율적으로 적응하면서 다양한 복잡성, 크기 or 해상도의 결과를 얻을 수 있는 기능을 갖춘 생성 모델 유형으로 해상도 유연성, 리소스 효율성, 적응력, 점진적 향상(복잡성 추가 가능), 규모에 따른 일관성, 애플리케이션 다양성, 리소스 인식, 멀티 스케일 표현을 가진다.

 

13주 차 - Transformer 기반 행동 생성 1

행동 생성은 특정 동작을 자율적으로 수행하거나 특정 유형의 출력(텍스트, 영상, 오디오, 움직임, 전략 등)을 생성할 수 있는 모델 또는 시스템을 만드는 컴퓨터 과학 분야의 기술(행동 트렌스포머, GAN, NLP)로 다양한 분야에서 활용되고 Chat GPT, 알파고, 자율주행 등에서 성공했으며 안전성과 법적 문제를 해결할 필요가 있다.

 

14주 차 - Transformer 기반 행동 생성 2

자율 주행 자동차는 미리 정의된 목표 뿐만 아니라 환경에 대한 인지된 정보를 바탕으로 적절한 행동계획을 수립하기 위한 연산과 의사결정을 의미하며 차량 주변 환경도 포함하여 행동생성(장애물 회피 및 안전, 의사 결정)한다. 부족한 데이터는 AIGC를 통해 알고리즘을 검증하고 기술적 개선, 감지 기술, 규제를 테스트해볼 수 있다.

728x90