SK Networks Family AI bootcamp 강의노트

43일차 [ transformer / HF/ OCR/ GAN ]

HyunJung_Jo 2025. 3. 19. 16:48
늦지 않게 잘 도착하게 해달라고 빌면서 자고 일어나니 신기하게 8시 이전에 눈이 떠진다. 무려 두시반에 잤는데도...
이젠 진짜 늦지 않게 잘 다니고 싶다.
오늘은 스레드/인스타에 매몰 되지 않고 조금이라도 책을 더 읽고 공부에 조금이라도 더 집중하고 함부 프젝과 부족한 공부 채우는 데에 더 집중하겠다. 또한 수업 못따라가는 동기들을 위한 스터디 방안 같은 걸 매니저님과 이야기 해보겠다. 
  • transformer은 인코더와 디코더를 동시에 학습한다. 
  • 인코더:NLUnderstanding , 디코더: NLGeneration

https://colab.research.google.com/drive/1Snn1_6bpze9sR2hLvTvRarggkWN0m00W#scrollTo=wT9MBpb9Y5if

 

Google Colab Notebook

Run, share, and edit Python notebooks

colab.research.google.com

 

https://chatgpt.com/share/67da22fb-4b24-8009-8dd6-efab37b00494

 

ChatGPT - 어텐션과 트랜스포머 이해하기

Shared via ChatGPT

chatgpt.com

  • chat gpt: decoder만 씀
  • bert: input 데이터 구분, 감성 분석에 더 유리
  • gpt: 생성에 더 유리

Hugging Face

https://colab.research.google.com/drive/1dNuhMH8rxbyglejtnR5_kbuGHH5MDqA4#scrollTo=2RBTViZxrgOr

 

Google Colab Notebook

Run, share, and edit Python notebooks

colab.research.google.com

  • hugging face token: 나의 신분증 처럼 적용됨. 이게 있어야 hugging face모델에 접근 가능

OCR

https://colab.research.google.com/drive/11d0hHcHggPbojT_4XA-F59INbHAB9AHZ

 

Google Colab Notebook

Run, share, and edit Python notebooks

colab.research.google.com

  • ocr 쓰는 기업들은 약간 영세하다...
  • 그냥 돈 써서 솔루션 쓰는게 낫다

GAN

https://colab.research.google.com/drive/1X-t7pA7kNjXwLHw50p9N9SOVKLz9-xl_

 

Google Colab Notebook

Run, share, and edit Python notebooks

colab.research.google.com

 

네, 맞아요!
GAN(Generative Adversarial Network)의 최종 목표는 Generator(생성자) 모델이 만든 이미지가 실제(real) 데이터와 구별할 수 없을 정도로 정교해지는 것이에요.

GAN은 두 개의 신경망, **Generator(생성자)**와 **Discriminator(판별자)**가 서로 경쟁하며 발전하는 구조를 가지고 있어요.

  • Generator: 가짜 이미지를 생성하여 Discriminator를 속이려고 함.
  • Discriminator: 입력된 이미지가 진짜(실제 데이터)인지 가짜(Generator가 만든 것)인지 판별하려고 함.

이 둘이 경쟁하면서 학습이 진행되면, Generator는 점점 더 정교한 이미지를 만들어내고, 최종적으로는 Discriminator가 진짜와 가짜를 완벽하게 구분할 수 없을 정도의 품질을 갖는 것이 목표예요.

즉, GAN의 학습이 이상적으로 잘 진행된다면 Generator가 생성한 이미지가 실제 데이터와 거의 동일한 품질을 가지게 되는 거죠! 😊

 

GAN(Generative Adversarial Network)은 **강화학습(Reinforcement Learning, RL)**과는 다르지만, 경쟁하는 구조 때문에 개념적으로 비슷해 보일 수 있어요. 그러나 GAN은 **비지도 학습(unsupervised learning)**에 속하는 것이 일반적이에요.

🔹 GAN vs. 강화학습(RL)의 차이점

특징 GAN 강화학습(RL)

학습 방식 비지도 학습 (Unsupervised Learning) 보상(reward) 기반 학습
목표 Generator가 진짜 같은 데이터를 생성하도록 학습 에이전트(agent)가 최적의 행동을 선택하도록 학습
주요 구성 요소 Generator(생성자), Discriminator(판별자) 에이전트(agent), 환경(environment), 보상(reward)
학습 방법 Generator와 Discriminator가 서로 경쟁하며 발전 (적대적 학습) 에이전트가 보상을 최대화하는 방향으로 학습
예제 이미지 생성 (예: 딥페이크, 스타일 변환) 게임 플레이, 로봇 제어, 추천 시스템

GAN에서는 Generator가 Discriminator를 속이려 하고, Discriminator는 Generator의 가짜 이미지를 찾아내려는 적대적(Adversarial) 경쟁이 일어나지만, 강화학습처럼 명확한 "보상(reward)" 개념은 없어요. 대신 **손실 함수(loss function)**를 최소화하는 방식으로 학습이 진행돼요.

🔸 GAN과 강화학습의 연관성

GAN 자체는 강화학습이 아니지만, 강화학습의 개념을 GAN에 적용할 수도 있어요.
예를 들면, **Reinforcement Learning 기반의 GAN (RL-GAN)**에서는 보상 신호를 활용해서 Generator의 학습을 도울 수 있어요.

결론적으로, GAN은 강화학습과 다르고, 일반적으로 **비지도 학습(unsupervised learning)**으로 분류돼요. 하지만 GAN의 학습 과정이 경쟁적인 구조를 가지다 보니, 강화학습과 개념적으로 유사한 부분이 있다고 볼 수 있어요! 😊