TIL; 250110
제스처와 움직임 인식에서의 컴퓨터 비전 핵심 기술
Deep Dream & Style Transfer
AWS AI/ML 서비스
AI Services
- Amazon Rekognition
- Amazon Polly
- Amazon Lex
AI Platforms
- Amazon Machine Learning
- Amazon EMR
- Spark & Spark ML
AI Engines
- Apache MXNet
- TensorFlow
- Caffe
- Torch
- Theano
- CNTK
- Keras
Amazon Q : 해당 비즈니스에 맞게 조정할 수 있는 생성형 AI 기반 도우미
Amazon Bedrock : LLM, FM 및 생성형 AI 도구를 사용해 애플리케이션을 쉽게 빌드 및 확장
Amazon Transcribe : 실시간 및 녹화된 오디오 및 비디오 콘텐츠를 위한 풍부한 기능의 API를 통해 음성을 빠르고 정확하게 텍스트로 자동 변환 (STT)
Amazon Polly : 텍스트를 음성으로 변환하여 말하는 애플리케이션을 만들고 새로운 유형의 음성 지원 제품을 개발할 수 있도록 지원 (TTS)
Amazon Textract : 스캔한 문서에서 텍스트, 필기 및 데이터를 자동으로 추출 (OCR 기능 확장)
Amazon Rekognition : 사전에 훈련된 컴퓨터비전 및 사용자 지정 가능한 CV 기능을 제공해 이미지 및 동영상에서 정보와 인사이트 추출
Amazon Lex : 고급 자연어 모델을 사용해 애플리케이션에서 대화형 인터페이스를 설계, 구축, 테스트 및 배포
Amazon Translate : 합리적인 가격으로 고품질의 사용자 지정 가능한 언어 번역을 빠르게 제공하는 신경망 기계 번역 서비스
Amazon Personalize : 기계학습을 사용해 엄선된 권장사항 및 지능형 사용자 세분화를 대규모로 빠르게 구축하고 배포
Amazon Augmented AI : 기계학습 시스템에 대한 전문가 검토를 수행해 정밀도 보장
Amazon Comprehend : 기계학습을 사용해 텍스트에 있는 인사이트와 상관관계를 찾아내는 NLP 서비스
Amazon Fraud Detector : 잠재적인 사기 행위를 식별하고 더 많은 온라인 사기를 더 빨리 포착할 수 있도록 하는 완전관리형 서비스
Amazon Kendra : 기본 제공 커넥터를 사용해 다양한 콘텐츠 리포지토리에서 검색을 수행하는 데 도움이 되는 지능형 엔터프라이즈 검색 서비스
DeepDream
합성곱 신경망이 학습한 표현을 사용해 예술적으로 이미지를 조작하는 기법
구글이 카페(Caffee) 딥러닝 라이브러리를 사용해 구현
DeepDream에서는 특정 필터가 아니라 전체 층의 활성화를 최대화
-> 한꺼번에 많은 특성을 섞어 시각화
이미 가지고 있는 이미지를 사용
시각 품질을 높이기 위해 이미지를 여러 다른 스케일(옥타브)로 처리
DeepDream 작동 방식
1. 특정 레이어의 활성화를 선택
2. 선택한 활성화를 최대화하는 방향으로 입력 이미지 수정
3. 반복하여 패턴 증폭
Inception 모델 사용
Gradient Ascent 경사 상승법
Gradient Descent 경사 하강법
DeepDream 과정
1. 라이브러리 가져오기
2. 모델 가져오기
3. 이미지 입력 및 전처리
4. 모델 활성화
5. 손실 계산
6. Gradient Ascent
7. 이미지 생성
이미지를 배열로 변환했을 때, 이미지의 범위가 크면 문제가 발생(신경망 처리 비용 증가)하므로 정규화 작업 진행
데이터 정규화에 가장 많이 쓰이는 방법은 해당 범위를 0과 1 사이로 설정하는 것
InceptionNet에서는 범위에 해당하는 값을 -1에서 1로 변환
InceptionV3 신경망에서는 preprocess 함수를 사용하는 것이 중요
image = tf.keras.applications.inception_v3.preprocess_input(image)
신경망 구축을 통한 스타일 전이
Style Transfer
사전 학습된 CNN 모델 이용
네트워크의 가중치는 고정
이미지 변수 x값만 변경해 이미지를 변환
Stable Diffusion
텍스트 기반 이미지 생성 모델
디퓨전 모델의 일종
오픈소스
GAN(Generative Adversarial Network) 생성적 적대 신경망
두 개의 신경망이 서로 경쟁하며 학습하는 생성 모델
2014년 Ian Goodfellow에 의해 제안된 혁신적인 딥러닝 아키텍쳐
실제와 구분하기 어려운 가짜 데이터를 생성하는 능력
Generator vs Discriminator
Generator
VAE에서 decoder처럼 작동
목표: 진짜 같은 데이터 생성하기
Discriminator
전형적인 이미지 판별자
목표: 진짜와 가짜 데이터 구별하기
GAN 학습 과정
1. 랜덤 노이즈 생성
2. 가짜 이미지 생성 : Generator
3. 실제 + 가짜 이미지 생성
4. 판별자 학습 : Discriminator 실제 데이터와 가짜 데이터 구분 시도
5. 생성자 학습 : Generator 피드백을 바탕으로 자신의 성능 개선
GAN 응용
스타일 전이
Text to Image
초해상도
GAN 해결 과제
- 모드 붕괴: 생성자가 제한된 유형의 출력만 생성하는 문제
- 불안정성: 생성자와 판별자 간의 균형 유지 어려움
- 그래디언트 소실: 학습 과정에서 그래디언트가 사라지는 문제
GAN 실습
1. 데이터셋 로드
2. 생성자 구현
3. 구분자 구현
4. 손실 계산
5. GAN 학습
/ 추가 정리 필요