AI 모델 개발: DNN 및 최신 모델

ㅁ DNN 및 최신 모델

1. ResNet

ㅇ 정의:
– Residual Network의 약자로, 딥러닝에서 매우 깊은 신경망 학습 시 발생하는 기울기 소실 문제를 해결하기 위해 ‘Residual Block’을 도입한 아키텍처.

ㅇ 특징:
– Skip Connection(잔차 연결)을 통해 입력을 다음 층 출력에 더해줌.
– 매우 깊은 네트워크(수백 층)에서도 학습이 가능.
– ImageNet 대회에서 우수한 성능을 기록.

ㅇ 적합한 경우:
– 이미지 분류, 객체 탐지, 세그멘테이션 등에서 깊은 네트워크가 필요한 경우.

ㅇ 시험 함정:
– Skip Connection이 파라미터 수를 늘린다고 착각하는 경우가 있음(실제로는 연산량과 파라미터 수에 큰 영향 없음).

ㅇ 시험 대비 “패턴 보기” 예시:
– O: ResNet은 잔차 연결을 통해 깊은 네트워크 학습의 기울기 소실 문제를 완화한다.
– X: ResNet은 잔차 연결로 인해 항상 얕은 네트워크보다 성능이 낮다.

2. Transformer

ㅇ 정의:
– Self-Attention 메커니즘을 기반으로 한 모델 구조로, 시퀀스 데이터를 병렬 처리하며 장기 의존성 문제를 해결.

ㅇ 특징:
– RNN 계열과 달리 순차적 처리 없이 전체 시퀀스를 한 번에 처리.
– Encoder-Decoder 구조를 가짐.
– NLP뿐만 아니라 비전, 음성 등 다양한 분야에 확장.

ㅇ 적합한 경우:
– 번역, 문서 요약, 질의응답, 이미지 캡셔닝 등 장기 의존성이 중요한 작업.

ㅇ 시험 함정:
– Transformer가 항상 RNN보다 메모리를 적게 사용한다고 착각.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: Transformer는 Self-Attention을 이용해 모든 토큰 간 관계를 동시에 계산한다.
– X: Transformer는 반드시 순차적으로 토큰을 처리해야 한다.

3. PyTorch Lightning

ㅇ 정의:
– PyTorch 기반의 고수준 프레임워크로, 모델 학습 코드 구조를 단순화하고 반복적인 코드를 줄여주는 라이브러리.

ㅇ 특징:
– 학습 루프, 분산 학습, 로깅 등을 자동 처리.
– 연구와 프로덕션 코드 간 전환이 용이.

ㅇ 적합한 경우:
– 실험 관리, 코드 재사용성, 분산 학습이 필요한 프로젝트.

ㅇ 시험 함정:
– PyTorch Lightning이 PyTorch와 완전히 다른 프레임워크라고 오해.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: PyTorch Lightning은 PyTorch 코드의 구조화를 돕는 래퍼 프레임워크이다.
– X: PyTorch Lightning은 PyTorch와 호환되지 않는다.

4. CNN

ㅇ 정의:
– Convolutional Neural Network의 약자로, 합성곱 연산을 통해 이미지나 시각 데이터를 효율적으로 처리하는 신경망 구조.

ㅇ 특징:
– 지역 수용 영역, 가중치 공유, 풀링 계층 사용.
– 이미지의 공간적 계층 구조를 잘 학습.

ㅇ 적합한 경우:
– 이미지 분류, 객체 탐지, 영상 분석 등.

ㅇ 시험 함정:
– CNN이 반드시 2D 데이터에만 적용된다고 생각하는 경우(1D, 3D CNN도 존재).

ㅇ 시험 대비 “패턴 보기” 예시:
– O: CNN은 가중치 공유를 통해 파라미터 수를 줄인다.
– X: CNN은 모든 입력 픽셀을 완전히 독립적으로 처리한다.

5. Vision Transformer

ㅇ 정의:
– Transformer 아키텍처를 이미지 처리에 적용한 모델로, 이미지를 패치 단위로 나누어 시퀀스처럼 처리.

ㅇ 특징:
– 이미지 패치를 토큰으로 변환하여 Self-Attention 적용.
– 대규모 데이터셋에서 높은 성능.

ㅇ 적합한 경우:
– 대규모 이미지 분류, 멀티모달 학습.

ㅇ 시험 함정:
– Vision Transformer가 CNN보다 항상 적은 데이터로 잘 학습된다고 착각.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: Vision Transformer는 이미지를 패치 단위로 나누어 Transformer에 입력한다.
– X: Vision Transformer는 픽셀 단위로만 입력을 처리한다.

ㅁ 추가 학습 내용

[시험 대비 정리]

1. ResNet
– Bottleneck 구조: 1×1 → 3×3 → 1×1 Conv로 채널 수를 줄였다가 복원하여 연산량 감소 및 효율적 학습 가능.
– Identity Mapping: 입력을 변형 없이 다음 블록에 더해줌으로써 기울기 소실 문제 완화, 깊은 네트워크 학습 안정화.

2. Transformer
– Positional Encoding: 순서 정보가 없는 Self-Attention에 위치 정보를 제공. 주로 사인/코사인 함수를 사용해 각 위치의 고유한 벡터 생성.
– Multi-Head Attention 장점: 서로 다른 부분 공간에서 병렬적으로 Attention 계산, 다양한 문맥 정보 추출 가능.

3. PyTorch Lightning
– Callback 주요 기능: 학습 중 특정 이벤트(에폭 종료, 검증 종료 등)에 맞춰 사용자 정의 동작 수행(모델 저장, 로깅, EarlyStopping 등).
– Trainer 옵션 주요 기능: GPU 사용 설정, 학습 에폭 수, 분산 학습, mixed precision 설정 등 학습 환경 제어.

4. CNN 변형
– Depthwise Separable Convolution: 채널별 Convolution 후 1×1 Pointwise Convolution 적용. 연산량과 파라미터 수 대폭 감소.
– Dilated Convolution: 커널 사이에 간격을 두어 receptive field 확장, 파라미터 수 증가 없이 넓은 문맥 정보 획득.

5. Vision Transformer(ViT)
– Pretraining: 대규모 데이터셋에서 사전 학습해 일반적 표현 학습.
– Fine-tuning: 다운스트림 태스크에 맞춰 가중치 미세 조정, 소규모 데이터셋에서도 높은 성능 확보.

6. 연산 복잡도 및 메모리 사용 비교
– ResNet Bottleneck: 연산량 감소, 메모리 효율적.
– Transformer: 시퀀스 길이에 따라 Attention 연산 O(n^2) 복잡도, 메모리 사용량 큼.
– Depthwise Separable Conv: 연산량 대폭 감소.
– Dilated Conv: 연산량 변화 적으나 feature map 크기에 따라 메모리 영향.
– ViT: 패치 수에 따라 Transformer와 동일한 복잡도 특성.

7. 실제 응용 사례 매핑
– NLP: Transformer 기반 모델(BERT, GPT 등).
– CV: ResNet, CNN 변형, ViT.
– 음성 처리: Transformer 기반 ASR, CNN 기반 음성 특성 추출.

[시험 대비 체크리스트]
– ResNet Bottleneck 구조의 단계별 구성과 목적 설명 가능 여부
– Identity Mapping이 학습 안정성에 미치는 영향 이해
– Transformer Positional Encoding의 원리와 구현 방식 숙지
– Multi-Head Attention의 병렬 처리 장점과 목적 설명 가능
– PyTorch Lightning Callback과 Trainer의 주요 옵션 기능 구분 가능
– Depthwise Separable Conv와 Dilated Conv의 차이점과 장단점 비교 가능
– ViT의 Pretraining과 Fine-tuning 전략 차이 이해
– 각 모델의 연산 복잡도와 메모리 사용 특성 비교 가능
– NLP, CV, 음성 처리 분야에서의 모델 적용 사례 매핑 가능

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*