티스토리 뷰

1. 허깅스페이스

- https://huggingface.co

 

2.models > task 별로 모델을 선택 할 수 있다. Trend를 쉽게 파악 할 수 있다.

 

3. 분야별 Task (나의 데이터와 문제에 맞는 task 찾는것이 중요)

구분 Task 설명
Multimodal
:다양한 유형의 데이터를 동시에 처리/통합해 학습
Audio-Text-to-Text 오디오 입력과 텍스트를 기반으로 텍스트 출력을 생성
Image-Text-to-Text 이미지와 텍스트를 입력받아 텍스트 출력을 생성
Visual Question Answering 이미지와 질문(텍스트)을 입력받아 질문에 대한 답변을 생성
Document Question Answering 문서와 질문을 입력받아 답변을 생성
Video-Text-to-Text 비디오와 텍스트를 입력으로 받아 텍스트를 생성
Any-to-Any 모든 유형의 데이터를 처리하여 다른 유형의 출력 데이터를 생성
Computer Vision
: 이미지와 비디오 데이터를 처리하고 분석하는 기술
Depth Estimation 이미지나 비디오에서 각 픽셀의 깊이 정보를 예측
Image Classification 이미지를 입력받아 해당 이미지가 속하는 카테고리를 예측
Object Detection 이미지에서 객체의 위치(바운딩 박스)와 종류를 예측
Image Segmentation 이미지를 픽셀 단위로 분할하여 객체나 영역을 구분
Text-to-Image 텍스트 설명을 기반으로 이미지를 생성
Image-to-Text 이미지에서 정보를 추출하여 텍스트로 변환
Image-to-Image 이미지 입력을 기반으로 새로운 이미지를 생성하거나 변환
Image-to-Video 이미지를 기반으로 동영상을 생성
Unconditional Image Generation 특정 조건 없이 랜덤하게 이미지를 생성
Video Classification 비디오 데이터를 입력받아 비디오의 카테고리를 예측
Text-to-Video 텍스트 설명을 기반으로 비디오를 생성
Zero-Shot Image Classification 사전 학습 없이 새로운 클래스에 대해 이미지를 분류
Mask Generation 이미지에서 특정 객체나 영역에 대한 마스크를 생성
Zero-Shot Object Detection 사전 학습 없이 새로운 클래스의 객체를 이미지에서 감지
Text-to-3D 텍스트 설명을 기반으로 3D 모델을 생성하는 기술
Image-to-3D 이미지를 기반으로 3D 모델을 생성하는 기술
Image Feature Extraction 이미지에서 중요한 특징을 추출하여 벡터 형태로 표현하는 작업
Keypoint Detection 이미지에서 특정 객체의 주요 점(관절 등)을 감지하는 작업
Natural Language Processing
: 텍스트 데이터를 분석, 처리, 생성
Text Classification 텍스트를 특정 카테고리로 분류하는 작업
Token Classification 텍스트 내 각 단어(토큰)을 분류하는 작업
Table Question Answering 테이블 데이터를 기반으로 질문에 답변하는 기술
Question Answering 텍스트 데이터를 기반으로 질문에 답변하는 기술
Zero-Shot Classification 사전 학습하지 않은 새로운 카테고리에 대해 텍스트를 분류
Translation 한 언어의 텍스트를 다른 언어로 번역
Summarization 텍스트 데이터를 요약
Feature Extraction 텍스트 데이터에서 중요한 특징을 추출
Text Generation 텍스트 데이터를 생성
Text2Text Generation 텍스트를 입력받아 텍스트를 출력하는 작업(번역, 요약 등)
Fill-Mask 텍스트에서 빈칸(마스크)을 채우는 작업
Sentence Silmilarity 두 문장의 유사도를 계산
Audio
:오디오 데이터를 처리하거나 생성
Text-to-Speech 텍스트를 음성으로 변환
Text-to-Audio 텍스트를 기반으로 다양한 오디오 출력을 생성
Automatic Speech Recognition 음성을 텍스트로 변환
Audio-to-Audio 오디오 입력을 기반으로 새로운 오디오 출력을 생성하거나 변환
Audio Classification 오디오 데이터를 특정 카테고리로 분류
Voice Activity Detection 오디오 데이터에서 음성이 포함된 구간을 감지
Tabular
: 구조화된 테이블 데이터를 처리
Tabular Classification 테이블 데이터를 특정 카테고리로 분류
Tabular Regression 테이블 데이터를 기반으로 연속적인 값을 예측
Time Series Forecasting 시간에 따라 변하는 데이터를 기반으로 미래를 예측
Reinforcement
Learing
:환경과 상호작용하며 보상을 최대화하는 방향으로 학습
Robotics 로봇 제어 및 학습을 위한 기술
Other Graph Machine Learning  그래프 데이터 구조를 처리하고 학습

 

4. Task 체험해보기 : 미디어파이프라인

- 텐서플로우 라이트 : 추론기(학습이 완료된 모델)를 사용하는 구글의 솔루션 (.tflite)

* OS별로 사용할 수 있게 추론기들이 있는데 확장자를 보면 알 수 있음, 추론기 표준: https://onnx.ai/

- 가벼운 모델로, 서버로 보내지 않고 온디바이스에서 작동

- MediaPipe Solutions guide  |  Google AI Edge  |  Google AI for Developers

 

* 참고) 객체감지는 EfficientDet-Lite0 (float 32)

- 백본(압축기)은 EfficientNet을 쓰고 헤드를 Detective

- int8이나 float16은 가볍게 압축한거(손실있음)

 

- 터미널(cmd)에서 패키지 설치

pip install mediapipe

 

- main.py 실행

# 필요한 이미지 다운로드
import urllib

IMAGE_FILENAMES = ['burger.jpg', 'cat.jpg']

for name in IMAGE_FILENAMES:
  url = f'https://storage.googleapis.com/mediapipe-tasks/image_classifier/{name}'
  urllib.request.urlretrieve(url, name)
  
  
# 다운로드 받은 이미지 확인
import cv2
# from google.colab.patches import cv2_imshow
import math

DESIRED_HEIGHT = 480
DESIRED_WIDTH = 480

def resize_and_show(image):
  h, w = image.shape[:2]
  if h < w:
    img = cv2.resize(image, (DESIRED_WIDTH, math.floor(h/(w/DESIRED_WIDTH))))
  else:
    img = cv2.resize(image, (math.floor(w/(h/DESIRED_HEIGHT)), DESIRED_HEIGHT))
#   cv2_imshow(img)
  cv2.imshow("test", img)
  cv2.waitKey(0)

# Preview the images.

images = {name: cv2.imread(name) for name in IMAGE_FILENAMES}
for name, image in images.items():
  print(name)
  resize_and_show(image)
  
  
# STEP 1: Import the necessary modules.
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python.components import processors
from mediapipe.tasks.python import vision

# STEP 2: Create an ImageClassifier object.
base_options = python.BaseOptions(model_asset_path='models\\efficientnet_lite0.tflite')
options = vision.ImageClassifierOptions(base_options=base_options, max_results=3) # 3등까지 출력
classifier = vision.ImageClassifier.create_from_options(options)

# STEP 3: Load the input image.
image = mp.Image.create_from_file('burger.jpg')

# STEP 4: Classify the input image.
classification_result = classifier.classify(image) # forward(), inference(), get() 등 추론하는 함수 이름 다양함

print(classification_result)
# STEP 5: Process the classification result. In this case, visualize it. 
top_category = classification_result.classifications[0].categories[0] # 1등만 출력
print(f"{top_category.category_name} ({top_category.score:.2f})")

 

5. 어떻게 산업에서 AI를 활용할까?

Real-world gen AI use cases from the world's leading organizations | Google Cloud Blog  

 

6. 노벨 물리학상 받은 컴퓨터과학자 제프리 힌턴이 보는 AI 전망

- https://www.youtube.com/watch?v=SN-BISKo2lE

 

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함