👽 졸업 논문 ( 13 ) - 은하 병합 여부 판별 멀티모달 AI 아키텍처 설계
2025. 4. 8. 14:01ㆍ개발/👽 졸업 논문
Data
데이터의 조건
: 광학 데이터(이미지)와 분광학 데이터(수치)가 함께 있을 것
: 광학 데이터와 분광학 데이터가 매칭되어 있을 것 ( A 은하의 광학 / 분광학 데이터가 매칭 )
: 은하의 병합 여부가 라벨링되어 있을 것 (train data의 경우)
: 데이터양이 많을 것
[ 시뮬레이션 데이터 ]
Illustris TNG simulation data
: 은하의 시뮬레이션 이미지 데이터가 존재하며 시뮬레이션 후처리를 통해 분광학 데이터를 추출할 수 있다
- 분광학 데이터 추출 방법
: SKIRT를 사용한 광학/IR 모의 관측 결과 일부 제공
: Bruzual & Charlot (2003) 또는 FSPS (Flexible Stellar Population Synthesis) 등의 모델 사용
: CLOUDY, MAPPINGS, Nebular 같은 코드 활용 -> 강선(emission line) 스펙트럼 생성
[ 실제 관측 데이터 ]
- SDSS
- MaNGA
- Galaxy Zoo
멀티모달 AI 아키텍처
전체적인 흐름
[ Data Preprocessing : 데이터 전처리 ]
Image Data 벡터화
: 이미지에서 feature 추출하는 과정
Tabular Data(수치 데이터) 전처리
: 결측값 처리, 정규화/표준화, 피처 선택 등
[ 데이터 정렬 : 데이터를 잠재 공간에 넣어주기 ]
이미지 데이터를 벡터화하면 고차원의 데이터로 변환됨 (이미 공간적으로 정렬되어 있음)
이미지 데이터 : 높이 × 너비 × 채널의 형태
각 픽셀의 위치가 공간상 좌표(x, y)에 해당하며 이 자체가 공간적인 정렬임
예: (3, 3) 위치의 픽셀은 항상 그 위치에 있고, 그 위치에 의미가 있음. 즉, 순서를 따로 바꾸거나 정렬할 필요 없음
수치 데이터는 보통 feature_1, feature_2, ..., feature_n 처럼 열(column) 단위로 존재
하지만 열의 순서가 바뀌어도 의미가 동일함
그래서 Transformer 같은 모델에 넣을 땐, 어떤 feature가 어디에 있는지를 알려주는 positional encoding이나 column embedding이 필요
또는 정해진 순서로 정렬해서 넣어줘야 모델이 feature 간 관계를 배울 수 있음
[ 퓨전 : 서로 다른 데이터를 합쳐주기 ]
말그대로 데이터를 합쳐주는 것
fusion_input = torch.cat([image_features, tabular_features], dim=-1)
퓨전은 시기에 따라 Late, Early, Intermediate로 나뉨
[학습 / 예측 / 평가]
📊 데이터 벡터화
이미지 벡터화 툴
벡터화 방법 | 설명 | 장점 | 단점 |
statmorph | 은하 이미지에서 형태학적 수치(feature)를 추출해주는 패키지 (e.g., Gini, M20, Sersic index) | - 도메인 지식 기반 - 인간이 해석 가능한 feature 제공 - 작은 데이터셋에도 적합 |
- 자동 feature 학습 X - 이미지의 모든 패턴 반영 어려움 - 딥러닝에 비해 표현력 낮음 |
CNN | 이미지 특징을 추출하기 위해 합성곱 필터를 사용하는 신경망 구조 | - 시각 정보 추출에 특화 - 계산 효율 좋음 - 이미지 분류에서 기본 성능 좋음 |
- 전체 context 파악 어려움 - 위치 변화에 민감함 |
ResNet | CNN 구조에 Residual Connection (skip connection)을 도입한 딥러닝 모델 | - 더 깊은 네트워크 학습 가능 - 과적합/기울기 소실 문제 해결 |
- 계산량 많음 - 구조 복잡함 |
EfficientNet | 연산량 대비 정확도가 좋은 CNN 기반 네트워크. depth, width, resolution을 균형 있게 scaling | - 효율적 (accuracy vs. cost 우수) - SOTA 성능 가능 |
- 구조가 자동 튜닝되어 해석이 어려움 - 작은 데이터셋에선 과적합 가능 |
ViT | 이미지를 patch로 나눈 후 Transformer를 적용해 특징 추출 | - 전체 이미지 context 학습 가능 - 사전학습 모델과 결합 시 성능 좋음 |
- 데이터 많이 필요 - 연산 비용 큼 |
Swin Transformer | 이미지를 window 단위로 나눠 로컬 attention 적용하는 Vision Transformer 변형 | - 연산 효율 개선 - 지역/전체 정보 모두 포착 |
- 구조 복잡 - 최적화 난이도 높음 |
CLIP | 텍스트 + 이미지를 함께 학습한 멀티모달 모델 (OpenAI) | - 다양한 개념 인식 가능 - 라벨 없는 데이터에 강함 - zero-shot 분류 가능 |
- 사전 학습이 중요 - 특정 task에 최적화 필요 |
Timm 라이브러리 | 다양한 SOTA 모델들(ResNet, EfficientNet, ViT 등)을 제공하는 PyTorch 기반 라이브러리 | - 다양한 백본 손쉽게 사용 가능 - 코드 최적화 잘 돼 있음 |
- 라이브러리 자체는 모델 아님 - 모델 선택, 튜닝은 사용자 몫 |
Zoobot이 Timm 라이브러리를 사용해서 이미지 벡터화 툴을 선택할 수 있도록 함
from zoobot.pytorch.model import TimedModel model = TimedModel( model_name='resnet50', # timm에서 제공하는 모델 이름 num_classes=4, pretrained=True )
📊 데이터 정렬
Tabular Data 정렬 툴
모델 | 범주형 처리 | 연속형 처리 | 피처 간 상호작용 | 복잡도 | 성능 |
MLP | One-hot / Embedding | 그대로 사용 | 약함 | ★☆☆ | 보통 |
TabTransformer | Embedding + Self-Attention | 그대로 사용 | 강함 (범주형에 한정) | ★★★ | 좋음 |
FT-Transformer | Embedding 후 토큰화 | Embedding 후 토큰화 | 강함 (전 피처) | ★★★★ | 매우 좋음 |
📊 퓨전
퓨전 방식 | 설명 | 장점 | 단점 |
Early Fusion | 입력부터 같이 처리 | 복합 표현 학습 가능 | 스케일 민감, 결측 취약 |
Late Fusion | 각자 처리 후 마지막에 합침 | 모듈성 좋고 유연함 | modality 간 상호작용 학습 부족 |
Intermediate Fusion | 중간에 attention 등으로 교차 연결 | 상호작용 + 유연성 | 구현 복잡도와 연산량 |
- 데이터가 완전히 같이 들어오고, 상호작용이 중요하다면 → Early 또는 Intermediate
- 각 modality가 독립적이고 해석 가능해야 한다면 → Late
- Cross-Modality 관계가 핵심이라면 → Intermediate (Cross-Attention 짱짱)
Architecture
'개발 > 👽 졸업 논문' 카테고리의 다른 글
👽 졸업 논문 ( 15 ) - 서울대학교 김이곤, 이가인 연구원님 면담 (0) | 2025.05.04 |
---|---|
👽 졸업 논문 ( 14 ) - 서울대학교 황호성 교수님 면담 (0) | 2025.04.10 |
👽 졸업 논문 ( 12 ) - 경희대학교 문용재 교수님 면담 (0) | 2025.04.08 |
👽 졸업 논문 ( 11 ) - 서울대학교 Sascha Trippe 교수님 면담 (0) | 2025.04.08 |
👽 졸업 논문 ( 10 ) - 멀티 모달 논문 분석 : Multimodal Machine Learning:A Survey and Taxonomy (2) | 2025.04.07 |