인공지능/공부

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

이게될까 2024. 6. 13. 00:43
728x90
728x90

6주 차 - LLM

1차시 - BERT

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

Pre-training 모델
ELMo - 양방향 LSTM
BERT - 양방향 Attention
GPT - 단방향 Attention

Embedding
Token Embedding : 단어 벡터를 이용해 후속 분류 작업 시행
Segment Embedding : 임의의 두 문장을 구분하는데 사용([SEP] 토큰도 있지만 서로 보완해 준다.)
Position Embedding : 트랜스포머와 달리 trigonometric 기반이 아니다.

더보기

Trigonometric Embeddings in Transformers

트랜스포머 모델에서는 포지셔널 인코딩을 위해 삼각함수(trigonometric functions) 기반의 임베딩을 사용합니다. 이는 입력 시퀀스의 위치 정보를 임베딩 벡터에 추가하는 방식입니다. 각 위치 ( pos )에 대해, 각 차원 ( i )에 대해 다음과 같이 계산됩니다:
[ PE(pos, 2i) = \sin \left( \frac {pos}{10000^{\frac {2i}{d_{model}}}} \right) ]
[ PE(pos, 2i+1) = \cos \left( \frac{pos}{10000^{\frac{2i}{d_{model}}}} \right) ]
여기서 ( d_{model} )은 모델 차원의 크기입니다. 이 방법은 위치 정보를 주기적인 함수로 인코딩하여, 모델이 시퀀스의 순서 정보를 학습할 수 있게 합니다.

BERT의 포지셔널 인코딩

BERT는 포지셔널 인코딩을 위한 방식으로 트랜스포머와 유사한 삼각함수 기반 포지셔널 인코딩을 사용합니다. 그러나 BERT는 다음과 같은 특징을 가지고 있습니다:

  • 포지셔널 인코딩: BERT는 트랜스포머의 기본 구조를 따르므로 삼각함수 기반의 포지셔널 인코딩을 사용합니다.
  • 컨텍스트: BERT는 양방향 인코더로, 입력 시퀀스의 모든 단어를 동시에 고려하여 각 단어의 문맥적 의미를 학습합니다.

따라서, "트랜스포머와 달리 trigonometric 기반이 아니다"라는 설명은 정확하지 않습니다. BERT도 트랜스포머와 동일하게 삼각함수 기반의 포지셔널 인코딩을 사용합니다. 차이점은 BERT가 양방향 인코더라는 점입니다. BERT는 입력 시퀀스의 앞뒤 문맥을 모두 고려하여 단어의 의미를 학습하는데 비해, 트랜스포머의 디코더는 일반적으로 단방향으로 작동합니다.

BERT의 Pre-training = MLM + NSP
Masked Language Model : 표준 언어 모델은 마르코프 체인을 사용하는 단방향 인코딩과 달리 양방향 인코딩을 통해 양쪽 문맥을 모두 파악하고 더 나은 성능을 발휘할 수 있다.
Completion Mechanism : 단어 15% 무작위 마스킹 뒤 예측하도록 한다. 이를 통해 예측 병목 현상을 피할 수 있다.
최소화 방법 : MASK로만 바꾸는 것뿐만이 아니라 임의의 단어로 바꾸거나 바꾸지 않는 방식도 사용
문맥을 유지하면서 mask가 아닌 단어도 확인하여 수정해야 되기 때문 

2024.06.03 - [인공지능/자연어 처리] - 자연어 처리 11강 - Named Entity Recognition (NER) + BERT

 

자연어 처리 11강 - Named Entity Recognition (NER) + BERT

이 단어가 회사인지, 기관인지, 나라, 시설 등 다양한 개체, 대명사, 이름 중에 무엇인지 맞추는 작업이다. 위키에 페이지로 존재하는 명사로 생각하면 편하다.  이름이 너무 길거나, 모든 이름

yoonschallenge.tistory.com

fine-tuning
1. 단일 문장/ 문장 쌍 분류 작업 : [CLS]의 숨겨진 상태를 직접적으로 사용하여 예측을 수행
2. QA 작업 : 질문과 답변 segment를 연결하고, 마지막 답변 segment의 hidden state vector를 사용하여 한 단어가 답변의 시작과 끝일 확률을 계산뒤 다음 예측을 수행
3. 시퀀스 태그 작업 : 시퀸스의 모든 토큰을 마지막 hidden state를 분류 레이어에 직접 입력 
문장 : 실제 언어 문장이 아닌 연속된 텍스트의 임의의 범위
시퀸스 : BERT에 입력되는 토큰 시퀀스로, 단일 문장일 수도 있고, 두 문장이 함께 묶여 있을 수도 있다.
토큰 : [CLS]로 시작하여 문장 사이에는 [SEP] 토큰을 삽입하고, 단어 조각을 단어에 대한 토큰 임베딩으로 사용
임베딩 : 각 토큰이 속만 문장을 나타내기 위해 학습된 segment embedding을 추가 

BERT 장점 및 성능
전이 학습의 장점 : 사전 훈련을 통해 문맥과 의미를 이해하는 언어 모델이며 다양한 task에서 적은 양의 fine-tuning 만으로도 뛰어난 성능을 보여줌 
양방향 정보 이용 : 양방향 트랜스포머를 기반으로 하며, 문맥을 좌우 모두 이해할 수 있어 단방향 모델보다 더 깊은 문맥을 파악할 수 있도록 해주어 다양한 task에 유리
문장 레벨의 이해 : 문장 단위로 입력을 처리하기 때문에 전체의 의미를 이해할 수 있으며, 문장의 연관성과 문맥을 파악하는데 도움이 되며, 감정 분석, 의도 파악과 같은 작업에서 유리
다양한 언어 지원 : 다국어 모델로 확장할 수 있어 사전 훈련된 모델이 다른 언어로 전이되는 형태로 이용될 수 있다.

BERT의 단점 및 한계
큰 모델 크기 : 파라미터의 양이 많으며 이로 인해 큰 용량과 계산 리소스가 필요 -> 모바일 기기 적용 제한
추론 속도 : 크기 때문에 추론 속도가 느릴 수 있어 경량화 모델이나 하드웨어 가속 기술을 사용
전이 학습 데이터의 의존성 : Pretrain 때 사용된 대규모 데이터에 의존적이므로 특정 도메인이나 작업에 관련된 데이터가 적은 경우 추가 학습 필요
문장 길이 제한 : 512 토큰을 초과하는 문장은 잘라내는 방식을 사용함으로써 긴 문장을 처리하는데 한계 존재

2024.06.04 - [인공지능/자연어 처리] - 자연어 처리 12강 - Question Answering + BERT

 

자연어 처리 12강 - Question Answering + BERT

QA 모델에서는 의도파악, NER, 문서 검색, 정보 추출, 정답 생성 등 다양한 기능이 필요하고, 질문의 의도 파악이 중요하다.CHAT GPT도 하나의 QA챗봇으로 지금 시대의 검색이다.QA SOTA 모델은 대부분 p

yoonschallenge.tistory.com

 

 

 

2차시 - GPT 모델 

GPT : 생성형 pre-trained transformer 구조를 기반으로 한 대화형 인공지능 모델
텍스트 생성, 번역, 요약 등 다양한 task를 하는 NLP모델로 텍스트 데이터의 패턴과 의미를 이해하고 생성하는 데 사용
수억 개의 주어진 문맥에서 자연스러운 텍스트를 생성하고 이해함 

Pre-training : Unsupervised Learning - 코퍼스를 정제는 하되 라벨링 하진 않는다.
Fine-Tuning : Supervised Learning
Reinforcement learning에 의한 supervised learning 

ELMo -주어진 토큰을 이용해 양방향 LSTM(forward, backward)를 이용해 단어를 예측
GPT - Decoder를 사용해 단방향 Self-Attention(forward) 마스킹을 사용해 단어를 예측 
BERT - Incoder를 사용 

GPT model 구조
decoder layer - Masked Multi-Head Attention + Feed Forward + Normalization Layer
mapping - 각 시간 단계에 예측된 확률 분포와 실제 레이블 간 cross entropy loss를 계산하는 작업
목표는 Gradient descent를 사용하여 모델의 weights를 조정하여 loss를 최소화 
입력 표현 : 텍스트 데이터로 구현되며 문장, 단락 or 여러 문장으로 구성된 글
토큰단위로 분할되어, 각 토큰은 단어, 문장 부호, 띄어쓰기 등과 같은 텍스트의 최소 단위 
embedding 된 백터 형태로 모델에 제공하여 토큰의 의미와 관계를 수치화 
출력 표현 : 입력에 대한 응답 또는 생성된 텍스트로 구성, 입력에 기반하여 다음 단어 예측, 누락 부분 채우기, 전체 문장을 생성하는 작업을 수행할 수 있다. 출력도 토큰 단위로 생성되고, 임베딩된 벡터 형태로 표현된다.

GPT 장점
자연스러운 텍스트 생성 : 입력 문맥을 잘 이해하고 자연스러운 텍스트를 생성하는 능력을 가져 다양한 문학적 작업에 활용
대화형 응답 능력 : 실시간 대화를 주고받을 수 있는 챗봇과 같은 역할 수행 가능하며, 입력에 따른 응답 생성 및 대화를 유지할 수 있어 실제 상호작용과 유사한 경험 제공
빠른 프로토타이핑 : 특정 작업에 필요한 대화형 시스템을 상대적으로 빠르게 프로토타이핑할 수 있으며, 추가적 훈련 없이도 일반적인 자연어 이해와 생성 능력을 활용 가능 

GPT 성능
크기 및 파라미터 수에 따른 조절 : 크기와 파라미터 조절에 따라 성능을 조절할 수 있는 유연성을 가짐. 큰 모델은 복잡한 문제에서 높은 성능을 제공할 수 있지만, 작은 모델도 많은 task에서 효과적으로 사용될 수 있다.
높은 문맥 이해 능력 : 매우 긴 문맥을 이해하고 처리할 수 있고, 긴 문장이나 대화를 이해하고 생성하는데 뛰어난 성능
전이 학습 가능성 : 다른 Task에 Transfer learning 하여 사용될 수 있으며 특정 도메인에 맞게 모델을 fine-tuning 하면 해당 도메인에서 우수한 성능을 달성할 수 있다.

GPT 단점
무작위성과 일관성 부족 : 확률적 방식으로 텍스트를 생성하기 때문에 같은 입력에 대해 다른 결과 생성 가능하여 일관성 부족 및 원치 않은 응답이 생성될 수 있다. (코퍼스에 기반한 출력으로 감정, 자아가 있는 것이 아니므로 일관성 부족)
문맥 파악의 제한성 : 긴 문맥을 처리할 때 제한이 있을 수 있다. 문장이 길면 정확하게 문맥을 파악하지 못해 부적절한 응답 생성 가능

GPT 한계
비즈니스 도메인 트고하의 어려움 : 일반적인 언어의 이해와 생성 능력은 있지만 특정 도메인에 특화된 지식을 확보하는 것은 어려울 수 있고, 전문적인 지식을 모델에 통합하기 어려울 수 있다.
대화의 지속성 부족 : 지속성을 유지하기 어려워, 긴 대화에서 이전 대화 내용을 적절히 기억하거나 활용하지 못할 수 있다.
발생 가능한 편향성 : 데이터에 포함된 편향성을 학습하여 성별, 인종, 문화적 편향성이 담긴 응답을 생성할 가능성이 있다.

 

3차시 - fine tuning

fine tuning은 pre-trained 모델을 특정 task에 맞게 새로운 data로 추가 학습하는 기술. transfer Learning의 한 형태
적은 데이터로도 뛰어난 성능을 얻을 수 있고, 다양한 NLP task에 효율적으로 적용 가능 

fine-tuning 단계
1, pre-trained 모델 선택
2. 데이터 준비
3. 데이터 전처리
4. fine-tuning 진행 
5. Hyperparameter 튜닝
6. 모델 저장 
적절한 모델 선택과 data가 중요. 하이퍼 파라미터 튜닝과 검증 데이터를 통해 높은 성능의 모델을 얻을 수 있다.

fine tuning 사례
감정 분석 (Sentiment Analysis) : 감정 출력 계층을 추가하여 감정 분류. 감정 데이터 셋에 대해 학습한다.
텍스트 분류 (Text Classification) : 여기도 출력 계층을 추가하고 fine tuning 하여 불일치를 최소화한다.
개체명 인식 (NERT) : 택스트의 단어 또는 하위 단어에 각각의 엔티티 레이블을 태그 하는 추가 출력 레이어로 확장하여 실시 
질의응답(QA) : 질문이 콘텍스트에서 예측된 답변 범위와 실제 답변 범위 간의 차이를 최소화한다.
텍스트 생성(Text Generation) : 예시가 포함된 데이터 세트를 통해 fine-tuning. 원하는 스타일, 톤, 구조를 준수하도록 weight 조정 

fine-tuning 장점
적은 데이터로 높은 성능 : 적은 양의 레이블 데이터로 높은 성능 달성
일반화 능력 향상 : 모델이 가진 일반화 능력을 특정 task에 적용 가능, 새로운 작업에서도 좋은 성능을 보이고, 다른 유사한 작업에서도 일반화될 수 있다.
시간과 비용 절감 : 특정 task에 필요한 레이블 데이터를 수집하는데 드는 시간과 비용 절감 가능하며 모델을 처음부터 학습하는 시간에 대비하여 학습시간도 단축
다양한 언어 지원 : 다양한 언어에 대해 효과적으로 적용할 수 있으며, 다국어 NLP에 유용, 새로운 언어로 확장하는 데에도 비교적 쉽게 적용 가능

fine-tuning 단점
과적합 가능성 : 적은 data를 사용하기 때문에 훈련 data에 overfitting 될 수 있고, 새로운 데이터나 다른 작업에서 성능이 나빠질 수 있다.
fine-tuning 데이터의 중요성 : fine-tuning 데이터 품질과 양에 많이 의존, 충분히 다양하고 대표적인 데이터를 사용하지 않으면 task에 대해 일반화 능력을 효과적으로 갖추기 어려울 수 있다.
fine-tuning 시간과 비용 : 일반적인 모델보다 큰 경우가 있으며, 큰 모델을 사용하거나 데이터가 많으면 리소스 소모가 커진다.
작업에 적합하지 않은 pre-trained 모델 : task에 적합하지 않을 수 있고, task에 맞지 않은 모델을 사용하면 성능 제한 가능 
새로운 작업에 적용 어려움 : 비슷한 도메인이나 task에 적용되는 것이 유리하고, 다른 task에 대해선 적응하기 어려울 수 있으며, 완전히 새로운 task에 적용하는 것은 상당히 노력을 필요로 할 수 있다.

 

4차시 - Interactive GPT model

interactive GPT model == Chat gpt 
사용자와 실시간 상호작용을 통해 모델 개선, 사용자의 요구를 충족시키기 위해 인간 피드백을 활용한다.
다양한 응용 분야에서 사용자와 더 나은 상호작용을 할 수 있도록 설계되었다.
주요 특징 : 실시간 상호작용, 사용자 중심, 인간 피드백, 모델 업데이트 및 fine-tuning, 실시간 응답, 지속적인 개선 

동작 
초기 모델은 fine-tuning을 사용하여 학습, 학습을 위한 데이터 세트는 인간으로부터 제공, 프롬포트와 원하는 응답이 포함
모델은 프롬포트에 따라 여러 가지 응답을 생성, 사람이 최상의 응답부터 최악의 응답까지 출력의 순위를 매기며 보상 모델을 학습하는 데 사용
새로운 프롬포터를 사용하여 강화 학습 중 PPO를 사용하여 fine-tuning 하고
출력에 따른 보상이 계산 -> PPO를 사용하여 모델을 업데이트 

Interactive GPT 응용
고객 지원 챗봇 : 대화형 기능을 활용하여 개인 맞춤형 지원을 제공하여 고객 서비스 효율성과 만족도를 올림
가상 도우미 : 양방향 대화에 참여하여 작업 수행 및 명령에 따른 정보를 제공하는 비서 역할. 자연어 이해 및 생성을 활용하여 직관적이고 상황에 맞는 풍부한 상호 작용을 통해 일상 활동을 간소화, 편의성 향상
콘텐츠 제작 및 아이디어 제안 : 상황에 맞는 다양한 텍스트 생성, 아이디어 브레인스토밍, 창의적 콘셉트 제안, 다양한 매체에서 매력적인 도창적 콘텐츠 개발을 지원함으로써 작가 및 크리에이터를 지원하는 다목적 도구로 사용됨
언어 번역 및 학습 : 실시간의 정확한 언어 번역을 촉진하여 서로 다른 언어를 사용하는 화자 간의 원활한 의사소통을 가능하게 함으로써 중추적 역할을 하며, 다양한 학습 도움을 지원함으로써 언어 습득과 문화 간 이해를 증진 

Interactive GPT Model 잠재력과 가능성
더 나은 대화 및 의사소통 : 사용자와 자연스럽고 의미 있는 대화를 이어나갈 수 있으면, 의사소통의 품질 향상 가능, 다양한 분야에서 유용하게 활용 가능
실시간 정보와 지원 제공 : 실시간으로 사용자의 질문에 응답하거나 정보를 제공하는 역할 수행, 사용자가 필요한 정보를 얻을 수 있도록 한다.
콘텐츠 생성과 창작 지원 : 다양한 창작 분야에서 창작 과정을 지원할 수 있으며, 모델을 활용하여 새로운 아이디어를 얻거나 콘텐츠를 생성할 수 있다.
교육과 자기 학습 : 교육 분야에서 학습자들의 궁금증을 해결하거나 지식을 전달하는데 활용 가능

실제 예시 
CHAT GPT: 대화 목적의 GPT 모델로 context가 풍부한 대화에 참여할 수 있으므로 고객 지원, 콘텐츠 제작, 브레인스토밍 등에 적합하다.
레플리카 : 의미 있고 매력적인 대화를 나눌 수 있도록 설계된 AI 챗봇. 사용자가 상호작용할 수 있는 가상의 친구 or 동반자를 만들어 공감형 응답, 대화추적, 개인화 기능을 제공
AI 던전 : GPT 모델로 구동되는 인터랙티브 텍스트 기반 어드벤처 게임. AI가 플레이어의 텍스트에 반응하여 역동적이고 창의적인 내러티브를 생성하여 플레이어가 스토리의 방향을 설정할 수 있다.

 

5차시 - 휴먼 피드백 학습 

인간의 피드백을 활용하여 기계학습 모델을 향상하는 학습 접근 방식.
이는 모델이 처음에는 사전 훈련 데이터로 학습하고, 그 후 사용자의 지시, 평가, 교정 등의 피드백을 통해 모델을 개선하는 프로세스
즉 사람이 model의 출력이 정확한지 판단하는 것 
주요 단계 : Pre-training, 인간 피드백 수집, fine-tuning, 평가 및 검증 

사람 피드백 이해
학습 과정을 개선하고 안내하는 중요한 메커니즘
인간 전문가 또는 사용자가 AI 시스템에 제공하는 입력, 안내 및 평가가 포함되고, 피드백은 모델이 다양한 작업과 과제를 이해하고 적응하는데 도움이 된다.
명확한 사용자 피드백 : 명확한 목표를 가지고 모델을 학습시키는데 모움이 되는 주석, 레이블, 평가, 수정을 포함한다.
ex) 객체 인식을 위한 이미지에 라벨을 지정하거나 기계 생성 텍스트를 수정할 수 있다.
암묵적인 인간 피드백 : 사용자 상호작용, 행동 및 선호도에서 파생되며, 클릭, 체류 시간 또는 참여 패턴을 통해 관찰되며, 암시적 피드백은 사용자 경험, 개인화 및 추천시스템을 개선하는데 유용하다.

더보기

명확한 사용자 피드백 (Explicit Human Feedback)

명확한 사용자 피드백은 사용자가 직접 제공하는 구체적인 평가나 수정 제안입니다. 예를 들어:

  • 평가: "이 답변은 정확하지 않습니다."
  • 수정 제안: "이 질문에 대한 올바른 답변은 다음과 같습니다..."

암묵적인 인간 피드백 (Implicit Human Feedback)

암묵적인 인간 피드백은 사용자의 행동을 통해 유추할 수 있는 간접적인 피드백입니다. 예를 들어:

  • 클릭률: 사용자가 특정 결과를 클릭하는 빈도.
  • 체류 시간: 페이지에서 사용자가 머무는 시간.
  • 검색 행동: 사용자가 입력하는 검색어 수정.

Interactive Learning

Interactive Learning은 모델이 학습하는 동안 인간과 상호작용하는 과정을 통해 성능을 향상하는 방법입니다. 이는 사용자가 실시간으로 피드백을 제공하고, 모델이 이를 즉시 반영하여 개선하는 방식입니다.

예시: Interactive GPT 모델의 학습 과정

  1. 초기 출력 생성: GPT 모델이 질문에 대한 초기 답변을 생성합니다.
  2. 피드백 수집: 사용자가 답변에 대해 명확한 피드백을 제공하거나, 암묵적인 피드백을 통해 모델의 출력을 평가합니다.
  3. 모델 업데이트: 수집된 피드백을 바탕으로 모델이 업데이트되어 더 나은 출력을 생성하도록 학습합니다.
  4. 반복 학습: 이 과정을 반복하여 모델의 성능을 지속적으로 개선합니다.

이런 방식으로, Interactive GPT 모델은 더 인간 친화적이고 정확한 답변을 생성할 수 있게 됩니다.

종류와 예시
지도 학습 : 레이블을 제공하여 모델이 학습하는 것
강화 학습 : 모델이 환경과 상호작용하며 행동을 결정하고, 결과에 따라 보상을 받아 학습하는 방식
대화형 학습 (Interactive Learning) : 모델과 사용자 간의 대화를 통해 지속적을 모델을 개선하는 방식. 사용자 피드백을 통해 모델을 조정하고 개선 

AI 학습에서 사람 피드백의 역할
모델 학습에 중추적인 역할을 하며, 모델의 성장과 적응력, 성능향상에 기여하며, 사람의 인사이트와 전문 지식을 활용하여 시스템은 이해력과 의사 결정 능력 개선 가능 
모델 최적화 유도 : 모델이 더 나은 정확도와 관련성을 갖도록 유도. 주석 및 수정과 같은 명시적 피드백을 통해 모델은 원하는 결과에 맞게 매개변수를 조정할 수 있으며, 사용자 상호 작용에서 파생된 암시적 피드백은 향상된 예측 및 조치를 위해 알고리즘을 미세 조정하는데 도움이 됨 
정보에 근거한 의사 결정 : 복잡하고 미묘한 상황에서 시스템이 정보에 입각한 결정을 내리는 데 도움이 되며, 사람의 피드백은 올바른 응답과 잘못된 응답의 예를 제공함으로써 모델이 맥락, 의도, 적절한 행동을 파악하여 보다 정확하고 맥락에 맞는 결과를 도출할 수 있도록 지원할 수 있다.

인간 피드백 학습의 문제점 
사람 피드백의 편향성 : 사회, 문화 또는 개인의 관점을 반영하여 편견을 불러일으킬 수 있고, 이런 편견은 모델을 통해 전파되고 증폭되어 왜곡되거나 불공정한 결과를 초래할 수 있으며, 편향성을 해결하려면 세심한 주의와 다양한 입력, 철저한 분석이 필요하다.
확장성 : 복잡성과 사용량이 증가함에 따라 대량의 사용자 피드백을 관리하는 것이 어려워지고 있다. 다양한 상황에서 피드백을 일과되고 적절하게 수집, 처리, 통합하려면 확장 가능한 인프라와 효율적 프로세스가 필요하다.
주관성과 다양성 : 사람의 피드백에는 개인 선호도와 해석으로 인해 주관적 요소가 포함되는 경우가 많아 모델에 가변성을 초래하므로 다양한 관점을 수용하는 것과 일관성을 유지하는 것 사이에서 균형을 유지하는 것이 중요하다.
데이터 수집 및 확인 : 정확하고 대표성을 지닌 사람의 피드백을 수집하는 것은 매우 중요, 피드백 데이터의 품질과 관련성을 보장하기 위해서는 엄격한 검증 필요세스가 필요, 일관성을 유지하고 오류를 최소화하려면 피드백 제공자를 위한 적절한 문서와 지침이 필요하다.

인간 피드백 사이클 - 모델의 진화를 주도하는 역동적이고 반복적인 프로세스, 지속적인 학습과 개선 촉진
AI 모델 상호작용 : 순환은 모델이 사용자 또는 작업과 상호작용 하여 이해도를 기반으로 출력을 생성
사람 피드백 입력 : 전문가 또는 사용자가 명시적 주석, 또는 암시적 상호 작용을 통해 모델의 강점과 약점을 나타내는 피드백제공
피드백 반영 : 수신된 피드백을 통합하여 매개변수와 의사 결정 프로세스를 사람의 지침에 맞게 조정 
모델 구체화 : 모델이 발전함에 따라 사람의 피드백을 통해 얻은 인사이트를 바탕으로 개선된 결과물 생성, 점점 더 정확하고 맥락에 맞는 응답을 생성하는 방법을 학습 
지속적 학습 : 순환은 여러 주기에 걸쳐 반복되며, 매번 새로운 피드백을 통합하여 모델의 기능 향상

인간 피드백 학습 구현
데이터 수집 : 실제 상호 작용에서 관련 데이터를 수집하여 모델 학습 및 검증을 위한 기초가 된다.
설명 : 인간 전문가가 데이터에 주석을 달아 모델의 이해와 동작을 안내하는 레이블 
수정 또는 등급을 제공하며, 주석이 달린 데이터는 원하는 결과를 위한 로드맵을 생성 
모델 업데이트 : 모델의 파라미터를 미세 조정하여 사람의 피드백을 통합 가능, 가중치, 편향성, 알고리즘을 조정하여 피드백에 맞게 조정하고 성능 최적화

인간 피드백 학습의 장점
모델 성능 개선 : 정확도, 관련성 및 전반적인 효율성을 향상, 실제 인사이트를 통합함으로써 사용자의 기대에 부합하는 더욱 정확한 결과물을 생성
적응성 향상 : 적응력이 뛰어나 변화하는 시나리오와 요구사항에 신속하게 적응하고, 피드백 순환의 반복적 특성으로 인해 모델이 최신의 관련성을 유지할 수 있다.
편향 감소 : 사람의 피드백은 다양한 관점에서 제공하고 모델을 공정하게 유도함으로써 AI 모델의 편견을 완화하는 데 도움이 되고, 이를 통해 의사 결정에서 공평하고 편향되지 않은 결과를 기대할 수 있다.
다양한 업무 처리 : 다양한 작업과 과제를 해결할 수 있으며, 피드백을 통해 얻은 인사이트를 통해 모델은 지식을 일반화하고 진화하는 상황에서 효과적으로 수행할 수 있다.

실제 적용 사례
언어 번역 : 번역 정확도와 문맥을 개선하여 모델을 향상, 미묘한 언어 뉘앙스에 적응하기 위해 피드백을 활용하여 도욱 정확하고 자연스러운 번역 보장
콘텐츠 생성 : 글쓰기, 마케팅, 크리에이티브 아트 전반에 걸쳐 콘텐츠 생성을 개선, 피드백을 통해 스타일, 일관성, 관련성을 개선하여 AI가 생성한 콘텐츠가 인간의 표준에 가깝게 맞춰질 수 있도록 함
로봇 공학 : 로봇 시스템을 훈련하는데 중요한 역할, 로봇은 사람의 안내를 통해 학습하여 환경 탐색, 복잡한 작업을 수행하며 사람과 안전하게 상호작용하여 로봇 공학 및 자동화 분야 발전
의료 진단 : 사람의 피드백을 통해 정확성과 신뢰성을 높일 수 있으며, 전문가의 의견을 통합하여 질병 감지 및 분석을 개선함으로써 의료 전문가를 지원 

 

퀴즈

더보기

1. 다음 문제 중 올바르지 않은 것을 고르시오.


GPT의 장점이 아닌 것은?

 

하나를 선택하세요.
1.자연스러운 텍스트 생성
2.문맥 파악의 다양성
3.대화형 응답 능력
4.빠른 프로토타이핑

음 4번...? 빠르진 않은 거 같은데

 

2번이었네요...? LLM이라서 엄청 느릴 줄 알았는데

GPT(Generative Pre-trained Transformer)의 주요 장점 중 하나는 자연스러운 텍스트 생성, 문맥 파악의 다양성, 대화형 응답 능력입니다. 이 모델은 다양한 자연어 처리 작업에서 뛰어난 성능을 보이며, 특히 대규모 데이터셋을 바탕으로 사전 학습된 후 특정 태스크에 대해 미세 조정될 수 있기 때문에, 자연스러운 언어 생성, 문맥에 기반한 이해, 대화 응답 등에서 강력한 성능을 발휘합니다.

그러나 "빠른 프로토타이핑"은 GPT의 장점으로 보기 어렵습니다. GPT와 같은 대규모 언어 모델은 대량의 데이터에 대한 학습이 필요하며, 높은 컴퓨팅 자원을 요구합니다. 이로 인해 모델 학습 및 미세 조정 과정이 상당한 시간과 자원을 소모할 수 있습니다. 따라서, GPT를 사용한 프로젝트는 빠른 프로토타이핑보다는 상당한 준비와 자원이 필요한 경우가 많습니다.

정답은 4. 빠른 프로토타이핑입니다.

CHAT gpt 또한 4번이라고 하는...

 

2. 다음 문제 중 올바르지 않은 것을 고르시오.


미세조정(Fine-Tuning)의 단점이 아닌 것은?

하나를 선택하세요.
1.다양한 언어 미지원
2.과적합 가능성
3.Fine-tuning 데이터의 중요성
4.작업에 적합하지 않은 사전 훈련 모델

음 1번....?

1번이네요 ㅎㅎ


미세조정(Fine-Tuning)의 주요 단점으로는 과적합의 가능성, 특정 작업에 적합하지 않은 사전 훈련 모델의 선택, 그리고 Fine-tuning을 위한 데이터의 중요성이 있습니다. 미세조정 과정에서는 사전에 학습된 모델을 특정 작업에 최적화하기 위해 추가 학습을 시키는데, 이때 작업에 충분하고 적합한 데이터가 없거나 모델이 해당 작업에 부적합할 경우, 성능이 기대만큼 나오지 않을 수 있습니다. 또한, 너무 작은 데이터셋으로 미세조정을 할 경우 과적합의 위험이 존재합니다.

하지만 1. 다양한 언어 미지원은 미세조정의 단점으로 보기 어렵습니다. 사실, 미세조정의 단점과는 별개로 대규모 언어 모델은 여러 언어를 지원하는 경우가 많으며, 특히 최근에는 다양한 언어에 대한 지원을 목표로 하는 모델들이 개발되고 있습니다. 다양한 언어 지원 여부는 미세조정의 단점이 아니라 사전 훈련된 모델의 특성이나 범위와 관련이 있습니다.

따라서, 1. 다양한 언어 미지원이 미세조정(Fine-Tuning)의 단점이 아닌 것입니다.

 

3. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.


 휴먼 피드백 학습은 인간의 피드백을 활용하여 _______ 모델을 향상하는 학습 접근 방식을 나타내며, 이는 _______ 모델”

하나를 선택하세요.
1.인공지능
2.기계학습
3.예측
4.행동적응

인공지능 모델을 향상하는 거니까.....

오 기계학습...... 문제를 진짜....................

계속 이렇게 나오면 기말 잘 볼 자신 없는데

“휴먼 피드백 학습은 인간의 피드백을 활용하여 인공지능 모델을 향상시키는 학습 접근 방식을 나타내며, 이는 인공지능 모델”

이 문장에서는 인간의 직접적인 피드백을 통해 인공지능(AI) 모델의 성능을 향상시키는 접근 방식을 설명하고 있습니다. 휴먼 피드백 학습은 인공지능 모델의 예측, 결정, 행동 등을 개선하기 위해 인간의 평가, 지시, 수정 등의 입력을 받아 모델을 조정합니다. 이러한 접근 방식은 인공지능 모델이 더 정확하고 신뢰할 수 있는 출력을 생성하도록 돕습니다.

따라서 정답은 1. 인공지능입니다.

4. 다음 문제 중 올바르지 않은 것을 고르시오.


Bert의 임베딩이 아닌 것은?

하나를 선택하세요.
1.토큰 임베딩
2.세그먼트 임베딩
3.포지션 임베딩
4.알고리즘 임베딩

읭 알고리즘 임베딩이요

BERT 모델에서 사용되는 임베딩 종류에는 토큰 임베딩(Token Embeddings), 세그먼트 임베딩(Segment Embeddings), 그리고 **포지션 임베딩(Position Embeddings)**이 있습니다. 이들은 입력 토큰의 의미, 문장 구분, 문장 내 위치 정보를 모델에 제공하는 역할을 합니다.

4. 알고리즘 임베딩은 BERT 모델에서 사용되는 임베딩의 유형이 아닙니다. 따라서 올바르지 않은 선택지는 4번입니다.

 

5. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.


“ Interactive GPT Model은 사용자와의 실시간 ______을 통해 모델을 개선하고 _______를 더 효과적으로 충족시키기 위해 인간 피드백을 활용하는 기계 학습 모델”

하나를 선택하세요.
1.연결작용, 속도 요구
2.상호작용, 사용자 요구
3.감정작용, 기대요구
4.정보작용, 효율성 요구

오.... 상호작용, 사용자 요구! 2번!

Interactive GPT Model은 사용자와의 상호작용을 통해 진행되며, 이를 통해 모델의 개선과 사용자의 요구사항을 더 효과적으로 충족시킬 목적으로 설계되었습니다. 따라서 빈칸에 들어갈 가장 적절한 단어는 2. 상호작용, 사용자 요구입니다.





어우

 

 

 

 

7주 차 - GAN

1차시 - GAN 원리

Generative Adversarial Network - 경쟁 프로세스에 참여하는 생성자와 판별자로 구성된 머신러닝 프레임워크
생성기는 이미지나 텍스트 같은 합성 데이터 인스턴스 생성
판별 기는 실제 데이터와 생성된 데이터 구분
이미지 생성, 스타일 전송, 데이터 증강 등 다양한 작업에 널리 사용되어 인공지능, 크리에이티브 애플리케이션 발전에 기여 

듀얼 네트워크 아키텍서
Generator와 Discriminator로 구성된 적대적인 프로세스는 두 네트워크가 반복적으로 기능을 개선하도록 강요
생성자 역할 : 무작의 노이즈를 의미 있는 표현으로 변환하여 합성 데이터 샘플을 실제 사례와 유사하게 생성, 판별자를 속이는 것을 목표
판별자 역할 : 데이터 샘플을 평가하여 실제 인스턴스와 생성된 인스턴스를 구분, 생성기에 피드백을 제공함으로써 생성기의 개선을 유도 
생성자와 판별자 간의 이런 역동적인 상호 작용은 진정한 고품질 합성 데이터를 생성하는 GAN의 핵심 능력 

적대적 과정 - 훈련 과정을 통해 혁신과 개선을 촉진하는 적대적 훈련 
생성기와 판별기 : 생성자의 실제와 구별할 수 없는 합성데이터 생성과, 판별자의 구분을 가지고 역동적인 대결을 조율 
속임수와 반복 : 생성자는 진짜처럼 보이기 위해 노력, 판별자는 진짜와 가짜를 구별하는데 더 능숙해지면 생성자에게 점점 더 까다로운 피드백 제공, 이 반복적인 루프를 통해 지속적으로 성능을 개선 
상호 개선 : 적대적 경쟁은 진화를 촉진하여 설득력 있는 합성 데이터를 생성, 다양한 영역에서 사실적인 콘텐츠를 생성할 수 있는 GAN의 역량을 판단 

반복 훈련
데이터 생성 : 생성자가 무작위 노이즈로 합성 데이터 샘플을 생성하며, 훈련이 진행됨에 따라 품질 향상
판별자 평가 : 실제 데이터와 생성된 데이터가 합계 공급되어 판별자가 각 샘플을 진짜인지 가까인지 판단
생성기에 피드백 제공 : 판별자의 평가는 생성기에 대한 피드백 역할을 하여 생성자가 파라미터를 조정해 판별자를 속이는 데이터를 생성하는 능력을 향상한다.
반복적인 개선 : 생성자와 판별자의 적대적 프로세스는 반복을 통해 적응하고 성능을 향상한다.
훈련이 진행됨에 따라 생성자의 출력은 점점 더 정확해지고, 판별자는 실제 데이터와 생성된 데이터를 구별하는데 점점 더 발달 

손실 함수 - Loss function은 GAN의 기본 구성 요소로 훈련 역학(?)을 형성하고 개선을 주도 
손실 함수 활용 : 생성된 데이터의 품질을 정량화, 학습을 위한 지침을 제공
생성 손실 함수 : 생성자는 판별자가 실제 데이터로 분류하는 데이터를 생성하여 손실을 최소화하는 것을 목표로 하며, 생성자는 시간이 지남에 따라 점점 더 설득력 있고 사실적 데이터를 생성하도록 유도 
판별 손실 함수 : 정확하게 구분하는 능력을 측정하며, 손실을 최소화하려고 한다.
균형 잡힌 행위 : 훈련 과정에는 생성자와 판별자 손실 함수 사이에 섬세한 균형을 찾는 과정이 포함, 이 균형이 적대적 경쟁과 반복적 개선을 주도 

실질적으로 원하는 대로 생성하는 것은 어렵다.

내쉬 균형 - Nash Equilibrium 개념은 고품질 데이터 생성을 달성하는데 중요한 역할을 한다.
개념 : 생성자나 판별자 어느 쪽도 일방적으로 성능을 향상할 수 없는 상태 == 적대적 프로세스에서 안정된 지점
평형 달성 : 생성자가 매우 설득력 있는 합성 데이터를 생성하여 판별자가 실제 데이터와 생성된 데이터를 구분할 수 없을 때 발생
품질 기준 : 내쉬 평형을 달성하면 GAN 성공의 특징이며, 생성자가 생성하는 데이터가 고품질 합성 콘텐츠를 생성하게 되었음을 의미한다.

과제 및 고려 사항
모드 축소 : 다양성과 창의성 부족한 상태에서 제한 데이터 변형을 생성하면 붕괴를 겪을 수 있으며, 대상 분포의 복잡성을 완전히 파악하는데 방해가 될 수 있다.
훈련 불안정 : 훈련은 불안정할 수 있어 생성자와 판별자 성능 간의 수렴과 진동에 어려움을 겪을 수 있으며, 최적의 결과를 얻으려면 훈련 프로세스를 미세 조정하는 것이 필수적
하이퍼파라미터 튜닝 : 복잡한 하이퍼파라미터 튜닝을 수반하므로 시간이 많이 소요될 수 있고, 생성자와 판별기 기능 간 적절한 균형을 맞추기 위해 전문 지식이 필요 
윤리적 문제 : 딥페이크와 편향된 콘텐츠 생성의 맥락에서 윤리적 문제를 제기하며, 생성된 콘텐츠가 오용될 가능성이 있으므로 책임감 있는 개발과 배포가 필요하다.

 

2차시 - 영상 생성 원리 

생성모델은 데이터 분포를 파악, 원본과 유사한 새로운 데이터 포인트를 생성하는 것을 목표, 하긋ㅂ 데이터와 동일한 맥락에 맞는 새로운 콘텐츠를 생성함으로써 창의력을 치울 수 있다.
데이터를 분류하거나 라벨을 붙이는데 중심을 두는 판별 모델과는 다르며, 생성 모델은 완전히 새로운 데이터 인스턴스를 생성하여 이미지 생성, 텍스트 합성, 데이터 증강과 같은 작업에 기여하는 경우가 많다.

데이터 표현
이미지를 수치 데이터로 표현하는 것은 이미지 생성의 기본적 측면, 이미지에 존재하는 시각적 정보를 컴퓨터와 알고리즘이 이해하고 조작할 수 있는 형식으로 변환하는 작업이 포함 
이미지 구성 요소 : 픽셀 및 그리드, 컬러 채널, 이미지 크기, 채널 깊이, 정규화 및 스케일링 

영상 생성 모델 : 이미지를 생성하는 알고리즘과 아키텍처를 제공하며, 기존 데이터를 학습하고 유사한 이미지를 생성
ex) GAN, VAE, Diffusion Model
새로운 상상의 이미지를 창조할 수 있는 Diffusion 모델 

노이즈를 전략적으로 도입하면 AI모델이 결정적 제약에 벗어날 수 있다.
결과적으로 생성된 이미지는 현실을 연상시키는 미묘한 변형을 포함, 이를 통해 AI의 창의력을 키우고, 이미지 잠재력의 지평을 넓힐 수 있다.
노이즈의 통합은 현실 세계의 불완전함을 에뮬레이션에 반영하여 실제 이미지와는 본질적으로 미묘한 차이와 불규칙성을 지니고 있기 때문에 그에 반해, 현실을 효과적으로 모방하는 노이즈 통합을 통해 생성되는 이미지는 인간의 인식과 조화를 이루는 사실감을 높일 수 있다. 

더보기

문장 설명 및 에뮬레이션

원문

"노이즈의 통합은 현실 세계의 불완전함을 에뮬레이션에 반영하여 실제 이미지와는 본질적으로 미묘한 차이와 불규칙성을 지니고 있기 때문에 그에 반해, 현실을 효과적으로 모방하는 노이즈 통합을 통해 생성되는 이미지는 인간의 인식과 조화를 이루는 사실감을 높일 수 있다."

설명

이 문장은 노이즈(noise)를 통합하여 생성되는 이미지가 현실 세계의 불완전함을 반영함으로써 더 사실적으로 느껴지게 하는 방법에 대해 설명하고 있습니다.

  1. 노이즈의 통합: 노이즈를 추가하는 것은 현실 세계의 불완전함과 유사한 특성을 에뮬레이션(모방)하는 것을 의미합니다.
  2. 현실 세계의 불완전함: 실제 이미지는 항상 약간의 불규칙성과 차이를 포함합니다.
  3. 사실감 증가: 이러한 노이즈를 통합하면 생성된 이미지가 더 자연스럽고 현실적으로 보이게 됩니다.

에뮬레이션 (Emulation)

에뮬레이션은 특정 시스템이나 환경을 모방하여 다른 시스템에서 동일한 동작을 수행하도록 만드는 과정을 의미합니다. 즉, GAN에서는 노이즈를 통해 현실 세계의 특성을 에뮬레이션 하여 생성된 이미지가 실제 이미지처럼 보이도록 합니다.

종합 설명

노이즈를 GAN에 통합함으로써 현실 세계의 미세한 불규칙성을 모방합니다. 이러한 에뮬레이션은 생성된 이미지가 더 자연스럽고 인간의 인식과 일치하는 사실적인 이미지를 만들어내는 데 중요한 역할을 합니다.

Latent Space - 데이터 본질을 간결하게 캡슐화하는 추상적 차원, 다양하고 의미 있는 이미지 생성을 촉진
Data Mapping - 실제 이미지를 잠재 공간 표현으로 변환하는 작업으로 이미지를 잠재 변수로 단순화함
변수 조정 : 잠재 변수를 조정하여 생성 모델은 이 공간을 탐색하며, 이를 통해 독특한 스타일과 테마를 가진 새로운 이미지가 만들어진다.
원활한 전환 : 잠재 공간은 연속적이므로 이미지 간에 매끄럽게 전환할 수 있으며, 이를 통해 표현식이나 스타일 간 전환과 같이 기능 간 점진적인 변경이 가능하게 함 

조건부 이미지 생성 : 특정 조건에 따라 이미지를 생성할 수 있도록 지원하여 창의적 잠재력 확장
제어 속성 : 이미지 합성 프로세스를 안내하기 위해 텍스트, 레이블 또는 참조 이미지 형태로 정보를 추가로 요구하여 수신함
조건부 이미지 생성을 활용하여 특정 요구 사항이나 창의적 비전에 부합하는 콘텐츠 제작함으로써 창의적이고 실용적인 애플리케이션에서 기능을 강화한다. 

스타일 트랜스퍼 : 이미지의 예술적 스타일을 다른 이미지의 콘텐츠와 혼합하여 시각적으로 매력적인 구도를 만들어내는 기술
스타일 이미지의 시각적 속성을 분석하여 원래 구조를 유지하며 이러한 특성을 다른 이미지의 콘텐츠에 적용할 수 있다.
두 개의 서로 다른 이미지가 조화롭게 혼합되어 창의적이고 때로는 초현실적인 시각적 결과물이 만들어짐 

텍스트 이미지 합성 : 텍스트 설명을 시각적으로 변환 
GAN과 VAE와 같은 딥러닝 기술을 통해 프롬프트에 따라 이미지를 생성할 수 있다.
언어와 시각적 콘텐츠 사이의 간극을 메워 인간의 의도와 창의적인 비전에 부합하는 시각적 콘텐츠를 생성할 수 있는 새로운 방법을 제공 

이미지 편집 : 전체적인 맥락을 유지하며 이미지의 특정 속성이나 요소를 수정하는 프로세스
제어된 조건이나 지침을 제공하면 AI가 이미지를 조작하여 원하는 결과를 얻을 수 있다.
크리에이터에게 복잡한 수동 편집 없이도 이미지를 향상할 수 있는 효율적이고 혁신적인 도구 제공

평가 측정 지표
인셉션 점수 : pre-trained 신경망을 사용하여 이미지 품질과 다양성을 평가, 생성된 이미지가 실제 이미지와 얼마나 잘 일치하는지 측정, 점수가 높을수록 품질과 다양성이 우수함을 나타냄
프리쳇 인셉션 거리(FID) : 인셉션(inception) 네트워크의 특징공간에서 실제 이미지 분포와 생성된 이미지 분포 사이의 차이를 정량화하며, FID가 낮을수록 실제이미지와 더 유사하므로 생성 성능이 더 우수하다는 것을 의미 
인간의 지각 평가 : 이미지 품질, 사실감, 호소력을 판단, 인간의 지각을 활용하여 자동화된 지표가 놓치는 미묘한 차이를 포착 가능 

 

3차시 - 생성형 네트워크 구조 

영상 생성형 네트워크 - Auto Encoder, VAE, GAN, Diffusion model
언어 생성형 네트워크 - GPT, BERT

생성형 네트워크 : 주어진 데이터의 분포를 학습, 이 분포를 기반으로 새로운 데이터를 생성하는 모델
주어진 데이터를 분석하고 이를 토대로 새로운 데이터를 생성하거나 변환하는 기능을 갖춤, 주로 확률적인 방식으로 작동, 이를 통해 다양한 종류의 데이터 생성이 가능해짐 

AutoEncoder = Encoder + Decoder 
데이터 압축부터 창의적 이미지 생성까지 다양한 작업을 위한 다용도 도구로 사용된다.
Encoder - 입력 데이터를 저 차원 잠재 공간 표현으로 매핑하여 데이터를 효과적으로 압축
Decoder - 압축된 표현에서 원본 입력 데이터를 재구성함
이미지 노이즈 제거 - 시나리오에서 원본 이미지의 필수 특징과 구조를 보존하면서 노이즈를 제거
깨끗한 이미지의 기본 패턴을 학습함으로써 관련 특징을 추출하고 학습 단계에서 발생하는 노이즈를 억제할 수 있으며, 이 과정을 통해 오토 인코더는 보이지 않는 새로운 이미지의 노이즈를 효과적으로 제거할 수 있다.

변형 자동 인코더 
오토 인코더 구조를 정교하게 확장한 것으로 확률적 차원을 통합한 것이 특징
기본 데이터 특징을 연속적으로 표현하는 역할을 하는 잠재 변수의 개념을 활용, 잠재 변수를 통해 훈련 데이터 내에 존재하는 복잡한 변형을 포착할 수 있으므로 보다 미묘한 생성 프로세스 수행 가능
다양한 표정을 가진 사람의 얼굴을 생성 가능 => 표정 사이에 있는 새로운 표정을 탐색하고 생성
잠재 공간에서 부드럽고 연속적인 분포를 적용하여 잠재 공간에서 샘플링된 한 지점에서 다른 지점으로 이동할 때 생성된 이미지가 한 표현에서 다른 표현으로 점차 전환되며, 이를 통해 중간 표정을 가진 새로운 얼굴을 생성할 수 있어 애니메이션과 같은 부드러운 효과를 낼 수 있다.

GAN = 생성자 + 판별자 
적대적 훈련 과정을 통해 작동.
생성자 = 판별자 속일 데이터 생성
판별자 = 실제 데이터 구별하기
내쉬평형이라고 알려진 평형상태에 도달하면 실제 데이터와 거의 구분할 수 없게 되는 상태가 된다.
비디오 게임 환경을 위한 고해상도의 사실적인 인공 풍경 이미지를 생성한다. 생성과 판별 상호작용으로 실제 풍경의 자연 요소, 조명 조건, 질감을 포착하여 높은 수준의 사실감을 보여주는 이미지 생성 가능 

확산 모델 - 입력 데이터 분포를 원하는 출력 분포로 점진적으로 변환하는 과정 
데이터 분포에 작고 제어된 변경 사항을 반복적으로 적용하여 점차 목표 분포와 유사하게 만드는 방식 
컴퓨팅 리소스 및 시간이 많이 소요된다.
색상, 질감, 패턴이 독특하게 혼합된 고품질의 일관된 예술적 이미지를 생성
다양한 예술적 스타일과 변형을 만들어 낼 수 있으며, 순차적 특성으로 인해 생성된 이미지의 특정 측면을 미세 조정하고 다듬을 수 있어 최종 결과물을 더 잘 제어할 수 있다.

 

 

4차시 - GAN 응용 1 

이미지 생성 
DCGAN : Deep Convolutional GAN으로 FCN과 pooling을 최대한 배제하고 strided Convolution과 Transposed Convolution으로 네트워크 구조를 구성
생성자와 판별자에 배치 정규화를 사용하여 입력 데이터가 치우쳐져 있을 경우 평균과 분산을 조정, 역전파를 시행했을 때 각 레이어에 제대로 전달되도록 하여 학습이 안정적으로 이루어지는데 중요한 역할을 한다.
생성자는 마지막 레이어를 제외하고 모든 레이어에 RELU함수를 사용하고 마지막 레이어엔 Tanh 함수를 사용하였다.
판별자는 모든 레이어에 LeakyReLU를 사용하였다.

더보기

네, 맞습니다. DCGAN(Deep Convolutional Generative Adversarial Network)에서 생성자(Generator)와 판별자(Discriminator) 모두 배치 정규화(Batch Normalization)를 사용합니다. 이를 통해 학습을 안정화시키고 학습 속도를 향상합니다.

DCGAN에서의 배치 정규화

  1. 생성자(Generator):
    • 배치 정규화는 각 레이어의 출력이 다음 레이어로 전달되기 전에 평균과 분산을 조정합니다.
    • 이를 통해 생성된 이미지의 품질을 향상시키고, 더 빠른 학습을 가능하게 합니다.
  2. 판별자(Discriminator):
    • 배치 정규화를 사용하여 각 레이어의 출력을 정규화함으로써 모델의 안정성을 높입니다.
    • 이는 판별자가 더 일관되게 진짜와 가짜 이미지를 구분할 수 있도록 도와줍니다.

배치 정규화의 장점

  • 학습 안정화: 각 레이어의 입력 분포를 정규화하여 학습 과정의 변동을 줄입니다.
  • 학습 속도 향상: 학습률을 높일 수 있어 빠른 수렴을 돕습니다.
  • 일반화 성능 향상: 과적합을 방지하여 테스트 데이터에서도 좋은 성능을 보입니다.

예제 코드 (생성자와 판별자에서 배치 정규화 사용)

import torch
import torch.nn as nn

class Generator(nn.Module):
    def __init__(self, nz, ngf, nc):
        super(Generator, self).__init__()
        self.main = nn.Sequential(
            nn.ConvTranspose2d(nz, ngf * 8, 4, 1, 0, bias=False),
            nn.BatchNorm2d(ngf * 8),
            nn.ReLU(True),
            nn.ConvTranspose2d(ngf * 8, ngf * 4, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ngf * 4),
            nn.ReLU(True),
            nn.ConvTranspose2d(ngf * 4, ngf * 2, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ngf * 2),
            nn.ReLU(True),
            nn.ConvTranspose2d(ngf * 2, ngf, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ngf),
            nn.ReLU(True),
            nn.ConvTranspose2d(ngf, nc, 4, 2, 1, bias=False),
            nn.Tanh()
        )

    def forward(self, input):
        return self.main(input)

class Discriminator(nn.Module):
    def __init__(self, nc, ndf):
        super(Discriminator, self).__init__()
        self.main = nn.Sequential(
            nn.Conv2d(nc, ndf, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ndf),
            nn.LeakyReLU(0.2, inplace=True),
            nn.Conv2d(ndf, ndf * 2, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ndf * 2),
            nn.LeakyReLU(0.2, inplace=True),
            nn.Conv2d(ndf * 2, ndf * 4, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ndf * 4),
            nn.LeakyReLU(0.2, inplace=True),
            nn.Conv2d(ndf * 4, ndf * 8, 4, 2, 1, bias=False),
            nn.BatchNorm2d(ndf * 8),
            nn.LeakyReLU(0.2, inplace=True),
            nn.Conv2d(ndf * 8, 1, 4, 1, 0, bias=False),
            nn.Sigmoid()
        )

    def forward(self, input):
        return self.main(input)

이와 같이, DCGAN에서 생성자와 판별자는 배치 정규화를 사용하여 학습의 안정성과 속도를 높이며, 더 나은 결과를 얻을 수 있도록 합니다.

판별자랑 생성자가 베치 정규화를 사용하는 게 아니라.... 판별자와 생성자에 배치 정규화를 사용한다고... 응...

얼굴 생성
StyleGAN : A Style-Based Generator Architecture for Generative Adversarial Network 
생성자는 Style-based generatir를 사용
판별자와 loss는 PGGAN의 구조를 그대로 사용한다.
스타일 벡터를 활용하여 다양한 속성을 제어할 수 있으며, 생성자는 잠재 벡터로 시작하여 여러 매핑 레이어를 거쳐 스타일 벡터를 계산하고, 특징 맵을 업 스케일링 및 변환하여 이미지를 생성
판별자는 여러 convolution레이어를 통해 이미지의 사실성을 평가 

이미지- 이미지 변환 - Cycle GAN
이미지 데이터셋을 사용하여 input 이미지와 output이미지를 매핑하는 것을 목표로 하는 생성모델의 한 분야
흑백 이미지에 컬러를 입힌다든지, 낮 사진을 밤사진으로 만든다는지 등 다양한 것 이 가능
인공지능 채색, 사진 복구, 그림체 변형 등의 어플에서 자주 사용하는 분야
CycleGAN : 판별자로는 PatchGAN을 쓰고 생성자로는 LSGAN을 사용
서로 경쟁하는 구조는 동일하지만 Cycle라는 개념을 사용 

 

5차시 - GAN 응용 2

음악 생성 
MuseGAN : 미디어 파일과 같은 음악을 생성하는데 적합, 멜로디와 하모니를 작사하는 데 사용
생성자가 음악을 생성하고, 판별자가 진위여부를 평가하는 GAN 프레임워크를 활용
기존 음악 작곡의 데이터 세트를 학습하으로써 MuseGAN은 학습된 음악 스타일과 유사한 새로운 멜로디와 하모니를 생성하는 방법을 학습 
생성자는 LSTM 네트워크를 사용해 생성하고, 노이즈 벡터를 입력으로 받아 시간에 따른 음표를 생성하며, 양방향 LSTM을 통해 과거와 미래의 문맥을 모두 캡처하여 생성된 음악의 일관성과 구조를 향상할 수 있다.
판별자는 실제 음악과 생성된 음악을 구분하는 것을 목표로 생성된 음악의 품질에 대한 피드백을 제공하여 생성기의 학습 과정을 안내

자연어 생성
TextGAN - 자연어 텍스트 기반 콘텐츠 생성. 생성자는 단어 또는 문장 생성, 판별자는 진위 여부 평가
목표는 생성자가 사람이 쓴 텍스트처럼 일관성 있고, 문맥에 맞는 텍스트를 생성하도록 훈련
생성자는 RNN, LSTM, GRU와 같은 변형을 사용하여 구성되는 경우가 많다. 무작위 노이즈 벡터 or 초기 시드 문장을 입력바다 단어나 문자를 순차적으로 생성하여 텍스트 시퀀스를 효과적으로 생성하며, 초기 입력에 따라 생성자를 조절함으로써 관련성 있고 일관된 텍스트 출력 생성하도록 생성 프로세스를 안내
판별자의 역할은 실제 데이터와 생성자가 생성한 텍스트를 구별하는 것

SeqGAN - TextGAN의 종류로 생성자는 판별자 모델에 의해 보상이 주어지는 정책 그라에디션을 사용하여 학습
다양한 가능한 경로를 탐색, 점수 메트릭에 따라 더 일관되고 정확한 시퀸스를 선택하여 고품질 시퀸스를 생성하는데 몬테카를로 검색을 사용 

LeakGAN : 강화 학습 결합을 목표로 생성자는 판별자를 속이는 도잇에 강화 학습 설정에서 기대되는 보상을 극대화하는 것을 목표로 하고, 훈련 중에는 실제 데이터 토큰을 입력으로 받지만 나중에는 자체적으로 생성한 토큰을 입력받도록 전환되어 노출 편향 문제를 완화, 생성자가 보다 정확하고 일관된 텍스트를 생성하도록 유도한다.

 

퀴즈

더보기

1. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

 

“ 생성적 적대 신경망(GAN)은 경쟁 프로세스에 참여하는 두 개의 신경망, 즉 _______와 ________로 구성된 머신 러닝 프레임워크”

하나를 선택하세요.

1. 생성자, 판별자

2. 학습자, 평가자

3. 분류자, 회귀자

4. 최적화자, 표준화자

생성자랑 판별자가 동시에 학습하는 형태이죠!

정답은 1. 생성자, 판별자입니다.

설명:

  • 생성적 적대 신경망(GAN)은 두 개의 신경망으로 구성된 구조입니다. 하나는 생성자(Generator) 로, 새로운 데이터 인스턴스를 생성하는 역할을 합니다. 다른 하나는 판별자(Discriminator) 로, 생성자가 만든 데이터와 실제 데이터를 구별하는 역할을 합니다. 생성자와 판별자는 서로 경쟁하면서 학습을 진행하게 되는데, 이 과정을 통해 생성자는 점점 더 현실적인 데이터를 생성하게 됩니다.

2. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

 

“ LeakGAN은 ______과 ________결합을 목표로 하며, 생성자는 기존 GAN처럼 판별자를 속이는 동시에 강화 학습 설정에서 기대되는 보상을 극대화하는 것을 목표로 함”

하나를 선택하세요.

1. 이미지 생성, 픽셀 레벨 최적화

2. 자연어 처리, 문맥적 적합성과 일관성

3. 순차적 데이터 생성, 단기 및 장기 의존성

4.GAN, 강화 학습

GAN과 강화학습!

정답은 4. GAN, 강화 학습입니다.

설명:

  • LeakGAN은 생성적 적대 신경망(GAN)과 강화학습을 결합한 모델입니다. 이 모델에서 생성자는 기존 GAN의 목적인 판별자를 속이는 것뿐만 아니라, 강화학습을 통해 보상을 극대화하면서 보다 효과적인 학습을 추구합니다. 이로써 생성자는 효과적으로 문맥에 적합하고 일관성 있는 데이터를 생성하도록 훈련됩니다.

다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

 

“ CycleGAN의 판별자(Discriminator)는 _______을 쓰고, 생성자(generator)로는 _________을 사용한다 ”

하나를 선택하세요.

1.CNN, U-Net

2.ResNet, GAN

3.PatchGAN, LSGAN

4.Leaky ReLU 활성화 함수, Autoencoder

흠 3번이라고 본 것 같은데 이런 암기로 나올 줄은.........

정답은 3. PatchGAN, LSGAN입니다.

설명:

  • CycleGAN의 구조에서 판별자는 일반적으로 PatchGAN 아키텍처를 사용하여 입력 이미지의 각 부분이 진짜인지 가짜인지를 판단합니다. 이는 이미지의 일부 영역(patch)을 기반으로 진위 여부를 결정하며, 이를 통해 효과적으로 질감과 세부 사항을 검출할 수 있습니다.
  • 생성자는 LSGAN (Least Squares GAN) 방식을 활용하여 더 안정적인 그래디언트를 제공하고, 모드 붕괴 문제를 완화시키는 데 도움을 줍니다. 이 방식은 평균 제곱 오차를 최소화하여 진짜와 가짜의 차이를 좁히는 방식으로 작동합니다.

4. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

 

“ 생성 모델(Generation model)은 데이터 세트의 _______를 파악하고 원본과 유사한 새로운_____를 생성하는 것을 목표”

하나를 선택하세요.

1. 특징, 샘플

2. 기본분포, 데이터 포인트

3. 구조, 정보

4. 패턴, 결과

흠...? 분포라고 생각했는데 특징이랑 샘플인가...?

정답은 1. 특징, 샘플입니다.

설명:

  • 생성 모델은 데이터 세트의 특징을 학습하여 이를 바탕으로 원본 데이터와 유사한 새로운 샘플을 생성하는 것을 목표로 합니다. 이는 데이터의 내재된 분포를 모델링하여 새로운 데이터 인스턴스를 생성할 수 있게 하는 과정을 포함합니다.

GPT도 특징 샘플이라지만 우리 교안은 기본분포랑 데이터포인트라고 했으니....

제발 애매한 문제는 안 냈으면...

5. 다음 문제 중 올바르지 않은 것을 고르시오.

 

생성형 네트워크의 예가 아닌 것은?

하나를 선택하세요.

1. 오토인코더

2. 변형 자동 인코더

3.UI/UX

4. 확산모델

UI/UX는 완전히 다른 내용 아닌가...?

정답은 3. UI/UX입니다.

설명:

  • 오토인코더(Autoencoder), 변형 자동 인코더(Variational Autoencoder, VAE), 그리고 확산 모델(Diffusion Model) 모두 생성형 네트워크의 예로, 데이터의 잠재적 분포를 학습하여 새로운 데이터를 생성하는 데 사용됩니다.
  • UI/UX (User Interface/User Experience)는 사용자 인터페이스 및 사용자 경험 디자인과 관련된 용어로, 생성형 네트워크와는 관련이 없습니다.

 

중간고사

더보기

언어 모델을 생성할 때 필요한 기본 단계 중 하나가 아닌 것은 무엇입니까?

하나를 선택하세요.

a. 데이터셋 선택

b. 입력 텍스트 사전 처리

c. 모델 평가

d. 인터페이스 디자인

인터페이스는..... 일단 언어모델 다 만들고 합시다.

언어 모델을 생성할 때 기본적으로 필요한 단계에는 데이터셋 선택, 입력 텍스트의 사전 처리, 그리고 모델 평가가 포함됩니다. 이 세 가지 단계는 모델이 언어를 어떻게 이해하고 생성할지를 결정하는 데 중요한 역할을 합니다.

a. 데이터셋 선택: 모델이 학습할 데이터를 결정합니다. 이 단계에서는 대량의 텍스트 데이터를 수집하고, 해당 데이터가 모델의 용도에 적합한지 평가합니다.

b. 입력 텍스트 사전 처리: 텍스트를 모델이 처리할 수 있는 형태로 변환합니다. 이 과정에는 텍스트를 토큰화하거나, 필요 없는 정보를 제거하는 등의 작업이 포함될 수 있습니다.

c. 모델 평가: 학습된 모델의 성능을 평가합니다. 이를 통해 모델이 언어를 얼마나 잘 이해하고 생성하는지 확인하고, 필요한 경우 조정을 할 수 있습니다.

d. 인터페이스 디자인: 이 단계는 언어 모델을 직접 생성하는 과정에는 필수적이지 않습니다. 인터페이스 디자인은 사용자가 모델을 어떻게 사용할지에 대한 인터페이스를 구현하는 것과 관련이 있으며, 주로 최종 제품이나 서비스의 사용자 경험을 개선하는 데 초점을 맞춥니다.

따라서, 언어 모델을 생성할 때 필요한 기본 단계 중 d. 인터페이스 디자인은 필수적이지 않습니다.

 

RNN 인코더-디코더 모델에서 주의(Attention) 메커니즘의 필요성이 대두된 이유는 무엇입니까?

하나를 선택하세요.

a. 인코더의 출력이 너무 복잡하기 때문

b. 긴 입력 시퀀스를 처리하는 데 어려움이 있음

c. 디코더의 속도가 느림

d. 출력 시퀀스의 정확도가 낮음

RNN에서는 Longterm dependency가 있었죠.. 그리고 병목 현상도 있었고! -> b

고정된 입, 출력에서 가변적인 입력이 가능하게 되었죠 

RNN 인코더-디코더 모델에서 주의(Attention) 메커니즘의 필요성이 대두된 주된 이유는 b. 긴 입력 시퀀스를 처리하는 데 어려움이 있음입니다.

RNN 인코더-디코더 구조에서 인코더는 입력 시퀀스를 처리하여 고정된 길이의 벡터로 변환합니다. 이 벡터는 디코더가 출력 시퀀스를 생성하는 데 사용되는데, 이 과정에서 모든 입력 정보를 단일 벡터에 압축해야 하므로 정보의 손실이 발생할 수 있습니다. 특히 입력 시퀀스가 길어질수록 이 문제는 더욱 심각해집니다. 긴 입력 시퀀스에서는 시퀀스의 초기 부분에 있는 중요 정보가 뒷부분에서 잃어버릴 가능성이 높으며, 이는 디코더가 전체 입력에 걸쳐 균등하게 정보를 활용하지 못하는 문제로 이어집니다.

주의(Attention) 메커니즘은 이 문제를 해결하기 위해 도입되었습니다. Attention 메커니즘을 통해 디코더는 인코더의 모든 출력에 접근할 수 있게 되어, 각 단계에서 출력 시퀀스의 생성에 가장 유용한 입력 부분에 집중(주의)할 수 있습니다. 이로 인해 모델은 전체 입력 시퀀스를 더 잘 이해하고, 특히 긴 시퀀스를 처리할 때 성능을 크게 향상할 수 있습니다.

 

컨볼루션 신경망(CNN)에서 컨볼루션 레이어의 주요 역할은 무엇입니까?

하나를 선택하세요.

a. 이미지의 색상 조정

b. 이미지에서 특징 추출

c. 이미지 크기 조정

d. 이미지의 감정 분석

필터를 거치면서 중요한 feature들이 추출된다! -> b 특징 추출!

컨볼루션 신경망(CNN)에서 컨볼루션 레이어의 주요 역할은 b. 이미지에서 특징 추출입니다.

컨볼루션 레이어는 이미지의 로컬 패턴을 인식하기 위해 설계되었습니다. 이 레이어는 입력 이미지에 여러 필터를 적용하여 이미지의 주요 특징을 감지하고 추출합니다. 이 과정에서 필터(또는 커널)는 이미지를 스캔하면서 각 위치에서의 픽셀 값들과의 합성곱을 계산하며, 이렇게 계산된 값들이 특징 맵(feature map)을 형성합니다. 이 특징 맵은 이미지의 중요한 정보를 요약하여, 다음 레이어가 이를 바탕으로 더 복잡한 패턴을 인식할 수 있도록 돕습니다.

이러한 과정을 통해 CNN은 이미지 내의 객체, 모서리, 질감 등 다양한 시각적 요소를 효과적으로 인식할 수 있습니다.

 

CNN에서 패딩(padding)의 주요 목적은 무엇입니까?

하나를 선택하세요.

a. 이미지의 대비를 향상하기 위함

b. 이미지의 밝기를 조절하기 위함

c. 입력 특징 맵의 경계 정보 손실 방지

d. 이미지의 해상도를 높이기 위함

패딩을 통해 activation map의 크기를 줄이지 않을 수 있고, 가장자리 부분이 조금만 읽히는 것도 해결할 수 있죠!

CNN에서 패딩(padding)의 주요 목적은 c. 입력 특징 맵의 경계 정보 손실 방지입니다.

패딩은 입력 이미지 또는 특징 맵의 주변에 추가적인 픽셀을 삽입하는 기법입니다. 컨볼루션 연산 과정에서는 필터를 이미지의 각 위치에 적용하는데, 이때 이미지의 경계 부분에 있는 픽셀들은 중앙이나 다른 부분보다 적은 횟수로 필터에 의해 처리됩니다. 이로 인해 경계 부근의 정보가 손실될 수 있습니다.

패딩을 사용하면 이런 문제를 방지할 수 있습니다. 특히 'same' 패딩을 사용하면 출력 특징 맵의 크기를 입력과 동일하게 유지할 수 있어, 이미지의 경계 부분 정보가 손실되지 않고 모델이 이를 효과적으로 학습할 수 있게 됩니다. 이는 네트워크의 깊이가 깊어질수록 중요해지는데, 정보의 손실 없이 여러 레이어를 통과할 수 있기 때문입니다.

 

워드 임베딩(Word Embedding)의 주요 목적은 무엇입니까?

하나를 선택하세요.

a. 단어를 고차원 벡터 공간에서 밀도가 높은 벡터로 표현

b. 단어를 이미지로 변환

c. 단어의 긍정/부정 감정 분석

d. 단어의 철자 오류 수정

워드 임베딩이란 단어를 컴퓨터가 읽을 수 있는 숫자로 변환하는 거죠! 그렇게 하여 원핫 인코딩 방식에서 워드 임베딩을 거쳐서 스파스 백터가 밀집됩니다 

워드 임베딩(Word Embedding)의 주요 목적은 a. 단어를 고차원 벡터 공간에서 밀도가 높은 벡터로 표현하는 것입니다.

워드 임베딩은 자연어 처리 분야에서 단어를 저 차원의 연속적인 벡터로 표현하는 기술입니다. 이렇게 벡터로 표현된 단어들은 단어 간의 의미적 유사성을 수학적으로 표현할 수 있게 하며, 이 벡터들은 기계 학습 모델이 더 효과적으로 단어의 의미를 처리하고 이해할 수 있도록 돕습니다. 워드 임베딩은 단어의 문맥적 유사성을 기반으로 하며, 이를 통해 문장이나 문서에서 단어들의 의미를 더 잘 파악할 수 있습니다.

b, c, d와 같은 옵션들은 워드 임베딩의 주요 목적과는 직접적인 관련이 없습니다.

 

Self-attention 메커니즘의 주요 기능은 무엇입니까?

하나를 선택하세요.

a. 입력 시퀀스의 모든 부분에 주의를 기울여 종속성 및 관계를 설정

b. 입력 데이터의 색상 조정

c. 입력 데이터의 크기 조정

d. 입력 데이터의 감정 분석

self attention은 입력으로 들어온 것을 query, key, value로 모두 사용해서 각각 단어의 순서도 생각하고, 단어 간의 문맥도 생각해서 종속성을 부여한답니다~ 

Self-attention 메커니즘의 주요 기능은 a. 입력 시퀀스의 모든 부분에 주의를 기울여 종속성 및 관계를 설정하는 것입니다.

Self-attention 메커니즘은 입력 시퀀스 내의 각 요소가 시퀀스의 다른 모든 요소와 어떻게 상호작용하는지를 학습하는 데 사용됩니다. 이를 통해 모델은 각 요소의 중요성을 평가하고, 다양한 부분 간의 복잡한 종속성과 관계를 파악할 수 있습니다. 이 메커니즘은 특히 긴 거리의 의존성을 처리하는 데 효과적이며, 자연어 처리뿐만 아니라 다른 많은 시퀀스 기반 작업에서도 널리 사용됩니다. 이러한 방식으로, 모델은 문맥에 따라 각 단어나 요소의 중요성을 조정하며, 보다 정확하고 유연한 예측을 할 수 있게 됩니다.

 

Vision Transformer(ViT) 모델에서 이미지는 어떻게 처리됩니까?

하나를 선택하세요.

a.
이미지를 크기별로 정렬

b.
이미지를 여러 패치로 분할

c.
이미지의 색상을 변환

d.
이미지를 단일 픽셀로 축소

이건 기억이 안 나더라고요... 다 외우고 다니는 건 아니라... 그런데 인공지능 활용면에서 생각해 보면 b밖에 안 남습니다.

Vision Transformer(ViT) 모델에서 이미지 처리의 핵심 단계는 b. 이미지를 여러 패치로 분할하는 것입니다.

Vision Transformer는 이미지를 입력받을 때, 전통적인 CNN 모델들과는 다르게 이미지를 여러 개의 작은 패치로 나눕니다. 이렇게 분할된 각 패치는 트랜스포머 모델에 입력되기 전에 일련의 벡터로 변환되며, 이 벡터들은 트랜스포머의 인코더를 통해 처리됩니다. 트랜스포머 내부에서는 이 패치들 간의 관계를 학습하며, 이를 통해 이미지 내의 다양한 특징과 콘텍스트를 파악하게 됩니다. 이 과정은 이미지 분류, 객체 감지 등 다양한 비전 태스크에서 뛰어난 성능을 보여줍니다.

 

U-Net 모델의 특징 중 하나가 아닌 것은 무엇입니까?

하나를 선택하세요.

a. 인코더-디코더 구조

b. 각 픽셀마다 클래스를 할당하는 이미지 인식

c. 높은 처리 속도

d. 바로 가기 연결을 통한 객체의 세부 사항 더 잘 복구

u net은 인코더, 디코더 모델로 이루어져 있으며 인코더에서 skip connection(바로가기 연결)을 통해 디코더에 정보를 주입합니다. -> 공간정보 등 다양한 정보 제공합니다.
C는... 아마 더 느릴 것 같네요

여긴 빠르다네...............................

U-Net 모델의 특징 중에서 c. 높은 처리 속도는 U-Net 모델의 특징으로 적절하지 않습니다.

U-Net은 주로 의료 이미징과 같은 분야에서 사용되는 인코더-디코더 구조의 신경망입니다. 이 모델의 특징은 다음과 같습니다:

a. 인코더-디코더 구조: U-Net은 인코더와 디코더 구조를 통해 입력 이미지에서 특징을 추출하고, 이를 사용해 세분화된 출력을 생성합니다.

b. 각 픽셀마다 클래스를 할당하는 이미지 인식: 이 모델은 이미지의 각 픽셀에 대한 세밀한 분류를 수행하는 능력이 있으며, 특히 의료 이미지 분석에서 세포나 조직의 경계를 정확하게 식별하는 데 유용합니다.

d. 바로 가기 연결을 통한 객체의 세부 사항 더 잘 복구: U-Net의 주요 특징 중 하나는 인코더에서 디코더로의 바로 가기(스킵) 연결입니다. 이 연결은 인코더의 각 레벨에서 추출된 특징을 디코더의 해당 레벨에 직접 전달함으로써, 이미지의 상세한 정보와 콘텍스트를 보다 잘 보존하고 복구할 수 있게 해 줍니다.

따라서, U-Net은 특히 높은 처리 속도를 목적으로 설계된 모델은 아닙니다. 그 목적은 주로 정밀한 이미지 세분화와 특징 복구에 있습니다. 이로 인해 c. 높은 처리 속도는 U-Net 모델의 특징이라고 보기 어렵습니다.

 

BERT 모델에서 'Next Sentence Prediction (NSP)'의 핵심 역할은 무엇입니까?

하나를 선택하세요.

a. 두 문장 사이의 연관성 예측

b. 문장의 길이 측정

c. 문장 내 단어의 개수 계산

d. 문장의 주제 분류

이것도 뭔가 기억이 난다기보다는 보기 중에 소거하다 보면 인공지능이 할 만한 것은 a밖에 안 남더라고요

BERT 모델에서 'Next Sentence Prediction (NSP)'의 핵심 역할은 a. 두 문장 사이의 연관성 예측입니다.

Next Sentence Prediction (NSP)는 BERT 훈련 과정의 일부로 사용되며, 모델이 두 문장 A와 B를 받았을 때, B가 A의 직접적인 후속 문장인지 여부를 예측하는 과제입니다. 이 과정은 모델이 문맥상의 연관성을 이해하고, 두 문장 사이의 관계를 파악하는 능력을 개발하는 데 도움을 줍니다. 이러한 특성은 문서 내에서 정보가 어떻게 구성되어 있는지 이해하고, 문장 간의 논리적인 흐름을 인식하는 데 중요합니다. 이 기능은 특히 질의응답 시스템, 자연어 이해 작업 등에서 중요한 역할을 합니다.

 

GAN(생성적 적대 신경망)에서 Latent Space 대한 설명으로 맞는 것을 고르세요.

하나를 선택하세요.

a.
latent space는 인코더를 통해 추출된 비주얼 특징을 간직한 것이다.

b.
디코더를 이용해 원래 영상을 그대로 복원할 수도 있다.

c.
추가 가공을 통해 새로운 영상을 만들 수도 있다.

a, b는 Autoencoder에서의 latent vactor 특징이라고 봐야겠네요

생성적 적대 신경망(GAN)에서 Latent Space에 대한 설명으로 가장 적합한 것은 c. 추가 가공을 통해 새로운 영상을 만들 수도 있다입니다.

GAN에서 Latent Space(잠재 공간)는 생성자(generator)가 입력으로 사용하는 일종의 내부 표현 공간을 의미합니다. 이 공간에서의 점들은 무작위로 샘플링되거나 특정 방식으로 조정될 수 있으며, 이러한 점들을 생성자가 받아 실제 데이터와 유사한 새로운 데이터(예를 들어 이미지)를 생성하는 데 사용합니다. 이 과정에서 잠재 공간의 다른 점들을 탐색하면서 다양하고 새로운 형태의 출력을 만들어낼 수 있습니다.

a와 b는 주로 오토인코더(autoencoder) 모델의 설명에 더 가까워서, GAN의 잠재 공간 설명으로는 부적합합니다. 오토인코더는 인코더를 통해 입력 데이터에서 중요한 특징을 추출하고, 이를 다시 디코더를 통해 원래의 데이터로 복원하는 구조를 가지고 있습니다. GAN은 이와 다르게 생성자와 판별자(discriminator)의 적대적 관계를 통해 작동합니다.

 

 

9주 차

1차시 - Style generation 

스타일 생성 - 여상에 예술적 표현과 최첨단 기술을 결합하는 작업
비주얼에 다양한 예술적 스타일을 불어넣는 것으로 지각, 창의성, 미적 감각을 재구성한다.
유명 아티스트, 역사적 사조 or 맞춤형 디자인을 모방하여 이미지 생성에 새로운 차원을 더하는 작업

스타일 전환 - 스타일 영상이라고 하는 한 영상 내의 예술적 특성을 다른 영상의 콘텐츠와 병합하는 기술
한 영상의 콘텐츠와 다른 영상 스타일 특성이 결합된 새로운 영상이 생성된다.
이 과정은 단순한 블렌딩을 넘어 스타일 영상의 시각적 스타일과 유사하도록 콘텐츠 영상을 변형하는 작업도 포함

신경망 스타일 전환 - 심층 신경망을 활용해 매우 세밀하고 미묘한 결과를 얻을 수 있다.
NST는 CNN을 사용해 콘텐츠와 스타일 정보를 분리하고 재결합
콘텐츠 특징과 스타일 특징에 맞게 콘텐츠 영상을 최적화한다.

CuycleGAN - 페어링 되지 않은 이미지 간 전환을 위해 설계된 생성 모델의 한 유형
쌍을 이루는 데이터가 필요한 기준 GAN과 달리 CycleGAN은 영상 간에 ㅈ기접적이 대응이 없는 경우에도 두 도메인 간의 매핑을 학습 가능
사이클 일관성을 도입하여 한 도메인에서 다른 도메인으로 변환된 이미가 원본 이미지와 유사해야 한다는 것을 보장함으로써 달성됨 
두 개의 생성기 네트워크, 두개의 판별기 네트워크
생성기 - 한 도메인에서 다른 도메인 영상으로 변환
판별자 - 실제 이미지와 생성 이미지 구분
핵심은 사이클 일관성 손실로 도메인 간 변환이 양방향을 적용될 때 일관성을 유지해야 한다.

예술적 랜더링 - 스타일 생성을 사용해 사진을 유명 아티스트의 작품과 유사한 예술 작품으로 변환 
브러시 스트록, 색상 팔레트, 질감을 모방하여 사진을 명작으로 재탄생
사진과 예술의 융합은 사실성과 예술적 매력이 완벽하게 조화를 이루는 이미지를 생성 

맞춤형 디자인 - 스타일 생성을 활용하여 브랜딩 및 주제별 목적에 따라 고유한 스타일 적용
비주얼을 브랜드 미학에 맞추고 로고, 광고 및 홍보 자료에 적용
브랜드 정체성을 강화하고, 커스터마이징의 잠재력을 이벤트 테마로 확장 

과제 
콘텐츠 보존 : 스타일과 콘텐츠 사이의 섬세한 균형이 필요하며, 시각적으로 만족스러운 결과물을 얻으려면 균형을 유지하는 것이 필수적이다.
스타일 일관성 : 영상의 다양한 부분에 걸쳐 조화로운 스타일을 유지하는 것은 단일 구도 내에서 시각적 요소가 단절될 수 있기 때문에 복잡하고, 이미지 전체에 걸쳐 스타일 요소를 일관성 있게 통합하는 것이 지속적으로 추구해야 할 과제이다.
주관성 : 사용자 지정 옵션이나 대화형 컨트롤을 제공하면 AI가 생성한 스타일과 개인화된 스타일 간 조화로운 균형을 유지하여 다양한 선호도를 수용, 창의적인 참여를 향상할 수 있다.

 

2차시 - 예술 작품 생성 실습 

예술 작품을 만들기 위해 신경망을 사용해 예술적 스타일을 콘텐츠와 병합하는 기술인 뉴럴 스타일 전송
콘텐츠와 스타일이라는 두 가지 거리를 설정하는 것이 아이디어이며, 입력 이미지가 변형되어 콘텐츠와 스타일이 입력 이미지 자체와의 거리를 최소화 

목표 : 콘텐츠와 스타일 손실을 최소화

 

3차시 - 유명 인물 생성 실습 

DCGAN을 사용해 합성 연예인 얼굴 이미지를 생성하는 방법

CelebA - 유명인 얼굴 데이터 세트
얼굴 속성 인식, 얼굴 인식, 얼굴 감지, 랜드마크 로컬라이제이션, 얼굴 편집/ 합성과 같은 다양한 컴퓨터 비전 작업에 사용됨 

DCGAN의 생성기 
생성기 G는 latent vector(z)를 데이터 공간의 영상으로 변환
정규화, ReLU, 2D Convolution layer를 사용하여 수행 
생성기 출력은 -1 ~ 1의 데이터 범위에 맞도록 tanh 함수를 사용하여 조정됨 

DCGAN의 판별기
3*64*64 이미지를 받아 Conv2 d, BatchNorm2 d, LeakyReLU 레이어를 통해 처리
마지막 layer에서 Sigmoid를 통해 결정 확률을 산출 

손실 함수 = binary Cross entropy loss 
판별기 생성기 모두 BCE 손실이 사용되며 학습 방식은 일반 GAN과 동일하다.

판별기 학습
분류할 가능성을 높이는 것, D(x) 1-D(G(z))를 동시에 향상하는 것
1. 실제 샘플을 D를 통과하면 손실 D(x)가 생성되고, 이후 역전파 중에 기울기를 계산할 수 있다.
2. 생성기 G를 통해 합성 샘플 배치를 만들어 D에 통과시키면 손실 1-D(G(z))를 계산하고, 역전파를 통해 기울기를 누적하며 실제 배치와 가짜 배치의 기울기를 결합하여 판별기의 최적화를 사용하여 단계를 실행 

생성기 학습
D(G(z))를 최대화하고자 한다.
1. 판별자를 사용하여 출력을 평가
2. 정답을 기준으로 G loss를 계산한다.
3. 역전파를 통해 G의 기울기를 계산한다.
4. 최적화를 통해 G의 파라미터를 업데이트한다.
손실 함수의 기준값으로 실제 레이블을 사용하는 것이 직관적이지 않은 것처럼 보일 수 있지만, 이를 통해 BCELoss의 log(x) 부분 대신  log(1-x)을 활용할 수 있으므로 목적에 부합한다.

학습 손실
생성기와 판별기 손실을 모두 최소화하는 것이다.
생성기 손실이 판별기 손실보다 높지만 가능한 한 비스샇고 낮게 유지되기를 기대한다.

eopch 수를 늘리거나 손실이 매우 낮아질 때까지 최적화를 변경하여 이미지 품질 향상 가능
모델을 변경하거나 고품질 이미지를 사용해 품질 향상이 가능 

 

4차시 - fake detection network 1

가짜 식별 네트워크는 진짜와 가짜 콘텐츠를 구분할 수 있는 AI 네트워크
가짜 동영상, 변경된 사진, 가짜 텍스트와 같은 문제를 푼다.

작동 원리 - 실제 콘텐츠와 가짜 콘텐츠 모두에 존재하는 고유한 패턴과 특징을 식별하도록 훈련
조작 또는 합성을 나타내는 시각적 결함, 불일치, 불규칙성, 이상 징후 등을 포착한다.
추출된 특징과 패턴을 분석하여 진짜 가짜 여부 판단
추론은 학습 데이터에서 네트워크가 학습한 연관성을 기반으로 한다.

특징 추출 - 실제, 가짜 콘텐츠 모두에 존재하는 고유한 특징과 패턴 분석
네트워크가 이해하고 비교할 수 있는 작은 구성 요소로 콘텐츠를 세분화하는 작업이 포함
Real 랜드마크는 얼굴의 진위 여부를 평가할 수 있는 주요 기준점을 제공하여 딥페이크 감지에 사용
알고리즘은 원본 얼굴과 조작 가능성이 있는 얼굴 사이의 랜드마크 분포와 움직임을 비교하여 딥페이크를 나타낼 수 있는 불일치를 감지 

가짜 탐지를 위한 GAN 
가짜 콘텐츠를 식별할 수 있는 판별자 모델을 GAN에서 뜯어온다.
적대적 훈련을 통해 실제 미디어와 가짜 미디어를 구별하도록 판별자를 훈련한다.
조작되거나 합성된 콘텐츠와 관련된 미묘한 패턴과 불일치를 식별한다.

가짜 탐지용 CNN
딥 레이어는 낮은 수준의 시각적 단서와 높은 수준의 의미론적 특징 점 비교
CNN-RNN 네트워크를 사용하여 가짜 동영상을 탐지
1. 전처리를 위해 얼굴 감지, 자르기, 정렬을 사용
2. 각 프레임을 CNN에 공급하여 이미지 특징을 얻음
3. RNN이 시간적 특징을 가져온 다음 CNN에 전달하여 동영상이 가짜인지 진짜인지 분류 

Metric for Fake Decetcion (평가)
정확도 : 전체 샘플 중 올바르게 분류한 샘플의 비율 - 기본적인 지표지만 불균형 데이터를 처리할 땐 충분하지 않다.
정밀도(precision) : 예측 양성 샘플 중 올바르게 예측한 양성의 비율 - 노탐 예측을 최소화
회수(민감도, recall) : 실제 양성 중 올바르게 예측한 양성의 비율 - 오탐률을 최소화
F1-score : 정밀도와 민감도의 조화평균으로 둘의 균형을 맞춰야 하는 곳에서 사용 

 

 

5차시 - Fake detection network 2 

영상 조작 탐지 - 조작된 이미지를 탐지하여 시각적 콘텐츠의 무결성 보장
얼굴의 표정 변경, 물체 제거, 배경 변경 등 디지털 변조와 관련된 불일치를 찾아낼 수 있다.

비디오 변조 감지 - 변조된 비디오 세그먼트 또는 변경된 프레임 탐지
비디오 조작을 타나 내는 시간적 불규칙성이나 시간적 인공물을 찾을 수 있다.

콘텐츠 진위 판별 : 미디어 콘텐츠가 배포되기 전 진위를 검증하여 잘못된 정보의 확산을 억제, 디지털 신뢰 강화

도전 과제와 한계
적대적 공격 : 콘텐츠를 교묘하게 조작하여 판별자를 속여 네트워크 효율성을 무너뜨리는 것을 목표로 하는 것
네트워크의 취약점을 악용하여 가짜 콘텐츠를 만드는 사람과 탐지 방법을 개발하는 사람 사이의 교양이 와 쥐 게임
데이터 다양성 및 일반화 : 일반화를 위해 다양한 종류의 가짜 콘텐츠로 네트워크를 훈련시켜야 한다.
제한적이거나 편향된 학습 데이터는 새로운 조작 기법에 직면했을 때 성능 저하로 이루어 짐
빠르게 발전하는 기법 : 조작 기법이 발전함에 따라 탐지 기술도 빠르게 적응해야 한다.
제로 데이 공격 : 경험해보지 못한 새로운 조작을 식별하는데 어려움을 겪을 수 있다.
콘텍스트 이해 : 미묘한 조작을 탐지하는데 문맥은 중요한 역할을 하며, 문맥을 이해하는 네트워크의 능력은 고급 자연어 이해와 시각저 컨텍스트 처리를 필요로 하는 과제이다.
데이터 프라이버시 및 권리 : 데이터 수집 및 사용은 데이터 프라이버시 및 윤리적 고려 사항에 대한 우려를 불러일으키며, 강력한 모델의 필요성과 개인의 권리를 존중하는 것 사이의 균형을 맞추는 것은 지속적인 딜레마이다.

윤리적 고려 사항
개인 정보 보호 우려 : 합법적인 목적을 위해서라도 개인의 프라이버시를 침해할 수 있고, 가짜 콘텐츠에 대한 보호와 개인 정보 보호 사이의 균형을 맞추는 것은 강력한 윤리적 프레임워크가 필요하다.
편견과 공정성 : 학습 데이터에 존재하는 편향을 물려받을 수 있고, 특정 그룹이나 콘텐츠에 대한 불평등한 대우로 이어져 부정확한 탐지로 이어질 수 있고, 공정성을 보장하고 편견을 완화하는 것은 매우 중요한 윤리적 의무다.
오탐 및 부정 탐지 : 진짜를 가짜로 식별하는 것과 가짜를 못 맞추는 것은 심각한 결과를 초래할 수 있어 최소화하기 위해신중한 보정이 필요하다.
투명성과 설명 가능성 : 설명 불가능한 AI의 결정을 이해할 수 있는 능력과 투명성에 대한 우려를 불러일으키며, 설명 가능하고 투명한 모델을 개발하는 것은 신뢰를 구축하는데 매우 중요하다.
검열과 표현의 자유 : 합법적인 콘텐츠를 억압하거나 표현의 자율을 위축시킬 수 있으며, 가짜 콘텐츠와의 싸움과 열린 담론 보존 사이에 균형을 맞추는 것은 윤리적 과제
의도하지 않은 결과 : 의도하지 않은 결과를 초래해 탐지 회피 콘텐츠를 배포하면 더욱 정교한 조작 기술이 발전할 수 있다.

 

퀴즈

더보기

1. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

 

“스타일 전송은 _______라고 하는 한 이미지의 예술적 특성을 다른 이미지의 콘텐츠인 ________와 병합하는 이미지 생성 내의 기술이며, 그 결과 한 이미지의 콘텐츠와 다른 이미지의 스타일 특성이 결합된 새로운 이미지가 생성함”

하나를 선택하세요.

1. 스타일소스, 콘텐츠 타깃

2. 스타일 패턴, 콘텐츠 이미지

3. 스타일 이미지, 콘텐츠 이미지

4. 스타일 요소, 콘텐츠 형태

이 문장에서는 한 이미지의 예술적 특성(스타일)을 다른 이미지의 콘텐츠와 병합하는 과정을 설명하고 있습니다. 이때 사용되는 표현으로 적합한 것은 '스타일 이미지'와 '콘텐츠 이미지'입니다. 따라서 문장을 완성하기에 가장 적합한 선택지는 다음과 같습니다:

“스타일 전송은 스타일 이미지라고 하는 한 이미지의 예술적 특성을 다른 이미지의 콘텐츠인 콘텐츠 이미지와 병합하는 이미지 생성 내의 기술이며, 그 결과 한 이미지의 콘텐츠와 다른 이미지의 스타일 특성이 결합된 새로운 이미지가 생성함”

따라서 정답은 3. 스타일 이미지, 콘텐츠 이미지입니다.

2. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

 

“가짜 식별 네트워크는 진짜와 합성 또는 가짜 콘텐츠를 구분할 수 있는 _______도구이며, 가짜 동영상, 변경된 사진, 가짜 텍스트와 같은 문제에서 이러한 네트워크는 큰 역할을 함”

하나를 선택하세요.

1.AI 기반

2. 분석적

3. 생성적

4. 통합적

ai기반 말고는 다른 것이 없네요

가짜 식별 네트워크는 진짜와 합성된 또는 가짜 콘텐츠를 구분하는 기술을 말합니다. 이러한 네트워크는 주로 인공지능, 특히 머신 러닝과 딥러닝 기술을 활용하여 진행되므로 "AI 기반"이라는 표현이 문맥상 가장 적절합니다. 이 기술들은 다양한 데이터(이미지, 비디오, 텍스트 등)에서 가짜 콘텐츠를 식별하기 위해 사용됩니다.

따라서 문장은 다음과 같이 완성됩니다:

“가짜 식별 네트워크는 진짜와 합성 또는 가짜 콘텐츠를 구분할 수 있는 AI 기반 도구이며, 가짜 동영상, 변경된 사진, 가짜 텍스트와 같은 문제에서 이러한 네트워크는 큰 역할을 함”

정답은 1. AI 기반입니다.

3. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

 

“예술 작품을 만들기 위해 신경망을 사용하여 예술적 스타일을 콘텐츠와 병합하는 기술인 _________을 사용할 것임”

하나를 선택하세요.

1. 심층 학습

2. 컴퓨터 비전

3. 패턴인식

4. 뉴럴 스타일 전송

문장에서 설명하고 있는 기술은 신경망을 사용하여 예술적 스타일을 콘텐츠와 병합하는 것으로, 이는 "뉴럴 스타일 전송"이라고 불리는 과정을 가리킵니다. 뉴럴 스타일 전송(Neural Style Transfer)은 컨볼루션 신경망을 이용해 하나의 이미지의 스타일을 다른 이미지의 콘텐츠에 적용하는 기술을 의미합니다. 이 기술은 이미지 처리 및 생성에서 예술적 스타일을 모방하는 데 많이 사용됩니다.

따라서 문장은 다음과 같이 완성됩니다:

“예술 작품을 만들기 위해 신경망을 사용하여 예술적 스타일을 콘텐츠와 병합하는 기술인 뉴럴 스타일 전송을 사용할 것임”

정답은 4. 뉴럴 스타일 전송입니다.

4. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

 

“판별기 훈련의 목표는 입력을 진짜와 가짜로 정확하게 분류할 가능성을 높이는 것이며, 우리의 목표는 로그_____와 로그______를 동시에 향상하는 것”

하나를 선택하세요.

1. 로그 오류, 로그 정확도

2.(D(x)), (1-D(G(z)))

3. 로그 가능성, 로그불가능성

4. 로그확률, 로그비확률

이 문장은 판별기가 진짜와 가짜를 분류하는 과정을 설명하고 있습니다. GAN(Generative Adversarial Network)에서 판별기의 목적은 실제 이미지에 대해서는 높은 확률값을 출력하고, 생성된 이미지에 대해서는 낮은 확률값을 출력하는 것입니다. 이를 수학적으로 표현하면, 판별기 (D)가 진짜 이미지 (x)를 진짜로 인식할 확률 (D(x))와 가짜 이미지 (G(z))를 가짜로 인식할 확률 (1-D(G(z)))를 최대화하는 것을 목표로 합니다. 이 두 표현은 판별기의 성능을 로그 확률로 나타내는 것과 관련이 있습니다.

따라서 문장은 다음과 같이 완성됩니다:

“판별기 훈련의 목표는 입력을 진짜와 가짜로 정확하게 분류할 가능성을 높이는 것이며, 우리의 목표는 로그 (D(x))와 로그 (1-D(G(z)))를 동시에 향상하는 것”

정답은 2. 로그 (D(x)), 로그 (1-D(G(z)))입니다.

4. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

 

“딥페이크 탐지: 가짜 식별 네트워크는 한 사람의 모습을 다른 사람의 모습으로 그럴듯하게 대체하는 조작된 _________이나 _______인 딥페이크를 식별하는 데 중추적인 역할”

하나를 선택하세요.

1. 동영상, 이미지

2. 그래픽, 데이터

3. 사진, 음성

4. 이미지, 오디오

1번!

 

10주 차 - AutoEncoder

1차시 - 인코더 디코더 구조

인코더 디코더 구조는 두 부분으로 구성되어 있다.
인코더 - 입력의 표현 또는 컨택스트(embedding)를 생성
디코더 - 문맥에 따라 출력을 생성 
컨택스트의 유형(영상 or 텍스트)에 관계없이 데이터를 표현하는 것이므로, 입력 유형과 수행하고자 하는 작업에 따라 인코더 또는 디코더 부분을 교체할 수 있다.

영상 인코더
입력된 영상을 처리하여 필수 시각적 특징 추출하여 고정된 크기의 임베딩 벡터(embedding, latent vetor)로 표현
영상 인코딩에 일반적으로 사용되는 네트워크는 CNN
ViT가 영상을 표현하는 데 더 많이 사용되며 이는 아키텍처가 트랜스포머를 기반으로 한다.

영상 디코더
고정된 크기의 숫자 표현(embedding, latent space)을 입력받아 전체 해상도 이미지 생성
작업에 따라 기술이 다르며, 영상 생성, 영상 복원, 이상 감지 등이 있다.
인코더와 마찬가지로 가장 많이 사용되던 네트워크는 CNN(VAE, GAN)이며, 최근 아키텍처는 트랜스포머나 디퓨전을 사용

언어 인코더
일련의 단어 또는 토큰을 처리하여 숫자 표현으로 변환, 문맥 정보를 캡처하여 고정 크기의 임베딩 생성
LSTM, GRU, RNN -> Self-attention

언어 디코더 
초기 상태를 받아 문맥과 입력 정보를 기반으로 단어 또는 토큰의 시퀀스를 생성한다.
RNN은 한 번에 하나씩 순차적으로 처리되며, 입력과 hidden staten에 따라 생성한다.
Transformer는 토큰을 병렬로 처리하여 효율적 계산이 가능하고, 이전 토큰 정보를 통합하는 내부 상태를 계속 유지한다.

인코더와 디코더의 다양한 결합
이미지 캡션 : 영상 인코더 + 언어 디코더
텍스트 프롬프트를 사용한 영상 생성 : 언어 인코더 + 영상 디코더 
시각적 질 분 답변 : 영상, 언어 인코더 + 언어 디코더 

 

 

2차시 - 인코더 디코더 동작 원리 

특징 추출 - Feature Extraction
차원을 줄이고, 노이즈를 제거하며, 데이터의 가장 변별력 있는 측면을 강조하여 후속 분석 또는 머신러닝 작업을 용이하게 한다.
영상 내 Edge, 질감, 모양 또는 기타 의미 있는 시각적 요소를 감지해 눈에 띄는 특징 집합으로 압축하는 작업을 포함
자연어 처리에서 텍스트를 숫자 표현으로 변환하여 단어 간의 의미 관계를 포착하는 단어 임베딩과 같은 기술 

콘텍스트 벡터 생성
컨텍스트 벡터 - 관련 정보를 간결하게 요약한다.
global mean pooling : 인코더가 공간 차원에 걸쳐 생성한 모든 feature map의 평균을 취하는 것. 중요한 세부 정보를 유지하며 정보를 압축하는데 도움이 된다.
Flatten : 다차원 feature map을 1차원 벡터로 변환하는 데 사용. 모든 feature를 선형 방식으로 쌓아 디코더에서 추가 처리할 수 있도록 표현이 단순화

영상 콘텍스트 디코딩
1. GAN or VAE와 같은 생성 모델 설정
2. 컨텍스트 벡터는 생성기의 출력을 안내하는 데 사용
3. 생성된 이미지가 제공된 콘텍스트와 일치하고, 원하는 시각적 특성을 나타내도록 보장
4. 생성기는 컨텍스트 벡터와 가장 일치하는 이미지를 생성하여 컨텍스트 인식 이미지를 생성할 수 있다.

언어 컨텍스트 디코딩
1. RNN or Transformer 기반 모델을 사용한다.
2. 디코더는 각 단어를 한 번에 하나씩 예측한다.
3. 디코더는 시퀀스에서 이미 생성된 단어에 대한 예측을 조건으로 한다.?
4. 단어 생성 프로세스는 생성된 텍스트가 일관성 있고 문맥과 연관성을 유지하도록 보장 

조건부 정보 : 일부 작업에서는 class label, 텍스트 설명 or 기타 콘텍스트와 같은 추가 정보에 따라 디코더를 조건부로 설정할 수 있고, 이러한 조건은 생성 프로세스를 안내하고, 출력이 특정 기준이나 제약 조건에 부합하도록 보장

attention 메커니즘의 역할
정보 흐름 향상 :
어텐션은 인코더- 디코더 구조에서 동적 정보 필터 역할을 한다.
디코드는 인코더 출력의 특정 부분에 선택적으로 attention 하여 작업과 가장 관련성 높은 정보 강조 가능 

시퀀스 간 작업 개선 :
attention 메커니즘은 기계번역, 이미지 캡션, 텍스트 요약과 같은 시퀸스 간 작업에서 특히 유용하다.
소스와 타깃을 효과적으로 정렬하여 번역 정확도를 개선하고, 문맥에 맞는 캡션을 생성하는데 도움이 될 수 있다.

동적 콘텍스트화 :
attention 메커니즘은 디코딩 프로세스 중에 초점을 동적으로 조정하여 디코더가 각 출력 요소에 대해 입력의 다른 부분에 집중할 수 있도록 한다.
이런 동적 콘텍스트는 장거리 종속성을 포착하고, 일관성 있고 콘텍스트가 풍부한 출력을 생성하는 능력을 향상할 수 있다.

Loss function
Cross Entropy Loss - 단어에 대한 모델의 예측 확률 분포와 실제 기준값 분포 간의 차이를 정량화할 수 있다.
GAN or VAE와 같은 이미지 생성 작업에서는 MSE를 사용하며 픽셀 불일치를 최소화하여 시각적으로 유사한 이미지를 생성할 수 있다.

학습의 목표 
최대 가능성 추정(MLE) : 모델이 기초 데이터 분포에 따라 가능성이 높은 시퀀스를 생성하도록 장려, 이는 기준 데이터 시퀸스를 생성할 가능성을 최대화하는 것을 목표로 한다.
적대적 훈련 : 실제 이미지와 구별할 수 없는 이미지를 생성하도록 생성기를 훈련하여 이미지 사실성 향상 

평가
언어 - BLEU, ROUGE를 사용해 대상 텍스트와 비교해 생성된 텍스트의 유사성과 품질 평가
영상 - 인셉션 스코어, FID르 사용해 실제 이미지와 비교해 생성 이미지의 시각적 품질과 다양성 측정 

 

 

3차시 - 영상 주석 생성 1

영상에 대한 설명이 포함된 텍스트 캡션을 생성하는 작업
CNN과 같은 이미지 인코더를 사용해 영상 캡션을 만듦
RNN or Transformer와 같은 디코더를 사 옹해 해당 영상의 텍스트 캡션 생성 

주요 구성 요소
영상 인코더 : 입력 영상을 처리하고 시각적 정보를 캡처하는 높은 수준의 feature of embedding 추출
언어 디코더 : 인코딩 된 영상 정보를 가져와 텍스트 설명을 생성
콘텍스트 벡터 : 영상 콘텐츠를 요약하는 고정된 크기의 숫자 표현 
어텐션 메커니즘 : 디코더가 캡션의 각 단어를 선택할 때 영상의 다른 부분에 attention 할 수 있도록 하여 이미지 캡션 프로세스를 향상
어휘 및 언어 모델 : embedding과 함께 사전 정의된 단어 or 토큰 어휘로, 모델이 일관성 있고 문맥과 관련된 텍스트를 생성하는데 도움이 된다.
평가 지표 : BLEU 및 ROUGE와 같은 메트릭은 참조 캡션과 비교하여 생성된 캡션의 품질을 평가하는 데 사용

시각 장애인을 위한 시각 보조 도구 : 인코더 디코더 이미지 캡션이 접근성을 향상, 풍부한 텍스트 설명을 제공하여 시각적 콘텐츠를 인식하고 이해할 수 있도록 도와줌

이미지 기반 콘텐츠 색인 및 검색 : 이미지의 효율적인 색인 및 검색을 용이하게 해 줌, 이미지에 대한 설명 캡션을 생성함으로써 콘텐츠 인덱싱 시스템이 관련 키워드를 이미지와 연결하여 텍스트 기반 검색을 통해 검색할 수 있도록 하였다.

소셜 미디어 콘텐츠 강화 : 사용자가 생성한 콘텐츠를 더욱 풍부하게 만들며, 캡션을 자동 생성하여 사용자 경험을 개선하고 접근성과 몰입도를 높일 수 있다.

이미지 캡션의 과제
정교한 물체 인식 : 복잡한 장면이나 추상적인 개념을 다룰 때 이미지 내의 세밀한 물체와 세부 사항을 인식하고 정확하게 설명하는 데 어려움을 겪는 경우가 많다.
장거리 종속성 : 장거리 종속성을 잘 캡처해야 하는데, 반복 모델은 이 작업에 어려움을 겪을 수 있고, transformer에는 적절한 positional encoding이 필요하다.
모호성 처리 : 이미지는 본질적으로 모호할 수 있으며 하나의 이미지에 대해 여러 개의 유효한 캡션이 존재할 수 있으며, 캡션 모델은 이러한 모호성을 처리하고 일관성 있게 맥락에 맞는 설명을 생성할 수 있다.

 

4차시 - 영상 주석 생성 2 

이미지 캡션의 경우 이미지 인코더와 텍스트 디코더에 모두 Transformer를 사용
훈련 시 텍스트 임베딩을 이미지 임베딩과 연결하여 self attention 메커니즘을 훈련한다.

 

 

5차시 - 네트워크 응용 

이미지 캡션 - 이미지에 대한 텍스트 설명으로 자동으로 생성하여 이밎 콘텐츠에 대한 이미지를 높인다.

의료영상 - 의료 이미지에 대한 보고서 또는 설명을 자동으로 생성하여 의료 전문가를 지원함으로써 진단 및 환자 치료를 도울 수 있다.

교육용 콘텐츠 - 이미지에 대한 설명 텍스트가 포함된 교육자료를 만들어 더욱 유익하고 접근하기 쉽게 만듦

자동 감시 - 보안 카메라에 대한 설명을 자동으로 생성하여 위협 탐지 및 사고 분석을 지원함으로써 감시 시스템을 강화할 수 있다. 

시각적 질문 답변 (VQA) - 시각적 이미지에 대한 질문에 답변하고, 챗봇, 가상 비서, 고객 지원 시스템을 개선할 수 있도록 지원한다.

 

퀴즈

더보기

1. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

“특징 추출의 목표는 __을 줄이고, __를 제거하며, 데이터의 가장 변별력 있는 측면을 강조하여 후속 분석 또는 머신 러닝 작업을 용이하게 하는 것”

하나를 선택하세요.

  1. 차원, 노이즈
  2. 컴퓨터용량, 오류
  3. 뉴럴 스타일 전송
  4. 패턴인식

나머지들이 너무 아니라.... 1번

다음 문장의 빈칸에 들어갈 가장 적절한 단어는 "차원, 노이즈"입니다.

문장을 완성하면:
"특징 추출의 목표는 차원을 줄이고, 노이즈를 제거하며, 데이터의 가장 변별력 있는 측면을 강조하여 후속 분석 또는 머신 러닝 작업을 용이하게 하는 것"

특징 추출은 데이터의 복잡성과 불필요한 정보를 줄여서 효과적인 머신러닝을 가능하게 만드는 과정입니다.

2. 다음 중 틀린 것을 고르시오.

트랜스포머 네트워크 응용이 아닌 것은?

하나를 선택하세요.

  1. 이미지캡션
  2. 자동화된 보고
  3. 교육용 콘텐츠
  4. 의료해부

의료 해부에 들어가나...? 해부는 텍스트가 아니니까...?

트랜스포머 네트워크는 주로 자연어 처리(NLP) 및 컴퓨터 비전 작업에 활용되는 기술입니다. 이를 고려할 때, 제시된 옵션 중에서 트렌스포머 네트워크 응용이 아닌 것을 선택해야 합니다.

  1. 이미지캡션 - 트렌스포머 네트워크는 이미지 캡셔닝에 사용될 수 있습니다. 이미지의 내용을 분석하여 자연어 설명을 생성하는 작업입니다.
  2. 자동화된 보고 - 텍스트 기반 데이터를 기반으로 보고서를 자동 생성하는 데 트렌스포머 네트워크를 사용할 수 있습니다.
  3. 교육용 콘텐츠 - 교육용 콘텐츠 생성은 트렌스포머 네트워크를 활용할 수 있으나, 주로 교육적 텍스트 생성이나 어댑티브 러닝 시스템에 사용됩니다.
  4. 의료해부 - 이것은 주로 생물학적 해부학 및 의학적 절차에 관련된 실질적인 해부학적 지식을 필요로 하는 영역입니다. 이는 트렌스포머 네트워크의 전형적인 응용 범위와는 다소 거리가 있습니다.

위의 설명을 기준으로 볼 때, "의료해부"가 트렌스포머 네트워크 응용이 아닌 것으로 가장 적절합니다.

3. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

“고정 크기 임베딩 벡터를 ____또는 _____이라고 함”

하나를 선택하세요.

  1. 코드, 키
  2. 식별자, 토근
  3. 임베딩, 잠재 표현
  4. 표현, 특징

latent vector(space)라고도 하죠!

그러니까 3번

다음 문장의 빈칸에 들어갈 가장 적절한 단어는 "임베딩, 잠재 표현"입니다.

문장을 완성하면:
“고정 크기 임베딩 벡터를 임베딩 또는 잠재 표현이라고 함”

임베딩 벡터는 고정된 크기의 벡터로서 데이터를 수치적으로 표현한 것으로, 잠재 표현(latent representation)이라고도 합니다. 이러한 벡터 표현은 단어, 이미지, 문서 등 다양한 데이터를 수치적으로 나타내는 데 사용됩니다.

4. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

“Hugging Face는 트랜스포머 모델을 포함한 딥 러닝 모델을 업로드하고 공유하는 대규모 커뮤니티이며, 이 프레임워크는 ___ _____를 모두 지원하므로 AI 프로젝트를 더 빠르게 개발할 수 있음”

하나를 선택하세요.

  1. 파이토치, 텐서플로
  2. 파이썬, 자바
  3. 자바, C++
  4. 텐서플로, 케라스

인공지능의 워크플로우에는 파이토치와 텐서플로우가 있죠!

다음 문장의 빈칸에 들어갈 가장 적절한 단어는 "파이토치, 텐서플로"입니다.

문장을 완성하면:
“Hugging Face는 트랜스포머 모델을 포함한 딥 러닝 모델을 업로드하고 공유하는 대규모 커뮤니티이며, 이 프레임워크는 파이토치 텐서플로를 모두 지원하므로 AI 프로젝트를 더 빠르게 개발할 수 있음”

Hugging Face는 다양한 딥러닝 프레임워크를 지원하여 AI 개발자들이 자신에게 익숙한 환경에서 프로젝트를 효율적으로 진행할 수 있도록 돕습니다.

5. 다음 문장의 빈칸에 들어갈 가장 적절한 단어를 고르시오.

“이미지 캡션은 이미지에 대한 설명이 포함된 ____을 자동으로 생성하는 컴퓨터 비전 및 자연어 처리 작업”

하나를 선택하세요.

  1. 그래픽
  2. 텍스트 캡션
  3. 코드
  4. 사진

이미지 캡션은 텍스트를 생성하니까! 2번!

다음 문장의 빈칸에 들어갈 가장 적절한 단어는 "텍스트 캡션"입니다.

문장을 완성하면:
“이미지 캡션은 이미지에 대한 설명이 포함된 텍스트 캡션을 자동으로 생성하는 컴퓨터 비전 및 자연어 처리 작업”

이미지 캡션은 이미지의 내용을 이해하고 이를 설명하는 텍스트를 자동으로 생성하는 작업입니다. 컴퓨터 비전과 자연어 처리가 결합된 이 분야는 이미지 이해 및 언어 생성 기술을 함께 사용합니다.

728x90