티스토리 뷰
목차
컴퓨터 비전 분야에서 합성곱 신경망(CNN, Convolutional Neural Network)은
이미지 인식과 분류 작업의 핵심 기술로 자리 잡아 왔다.
하지만 CNN에도 한계가 존재하며, 이를 극복하기 위해 어텐션 기법과 비전 트랜스포머(ViT) 모델이 등장했다.
어텐션 기법은 비전 트랜스포머의 핵심 메커니즘으로, 두 기술은 밀접하게 연결되어 있다.
이 글에서는 CNN의 한계, 어텐션 기법의 개념과 역할, 그리고 비전 트랜스포머 모델의 특징을 차례로 설명한다.
CNN의 기본 원리와 한계
CNN의 기본 원리
CNN은 이미지를 처리하기 위해 합성곱 연산을 사용하는 신경망이다.
합성곱 연산은 작은 필터를 사용해 이미지의 특정 특징(예: 가장자리, 텍스처)을 추출한다.
CNN은 계층적으로 특징을 추출하며, 처음에는 저수준 특징을, 이후 계층에서는 고수준 특징을 학습한다.
주요 구성 요소:
- 합성곱 계층: 필터를 이용해 이미지의 공간적 특징을 추출한다.
- 풀링 계층: 특징 맵의 크기를 줄이고 계산량을 감소시킨다.
- 완전 연결 계층: 추출된 특징을 바탕으로 최종 출력(예: 클래스 확률)을 생성한다.
CNN의 한계
- 국소적 관점:
CNN은 작은 필터로 국소적인 특징을 추출한다. 이는 이미지의 전역적 관계를 이해하는 데 한계를 만든다. 예를 들어, 서로 멀리 떨어진 객체 간의 관계를 학습하기 어렵다. - 고정된 필터 크기:
CNN은 고정된 크기의 필터를 사용하기 때문에 다양한 스케일의 특징을 동시에 학습하기 어렵다. - 계층적 정보 손실:
풀링 계층에서 특징 맵의 크기를 줄이는 과정에서 세부 정보가 손실될 수 있다. - 긴 연산 시간:
대규모 이미지를 처리할 때 CNN은 많은 계산 자원을 요구한다. 이는 학습 속도와 실시간 응용에서 문제를 야기한다.
어텐션 기법의 등장
어텐션의 기본 개념
어텐션(attention)은 입력 데이터 중에서 중요한 부분에 더 많은 가중치를 부여하는 메커니즘이다.
인간이 특정 영역에 집중하는 것처럼, 어텐션 기법은 모델이 중요한 정보를 강조하도록 돕는다.
이는 비전 트랜스포머의 핵심 기술로 사용된다.
대표적인 어텐션 기법:
- Self-Attention: 입력 데이터 내에서 모든 요소 간의 관계를 학습한다.
- Scaled Dot-Product Attention: 쿼리(Query), 키(Key), 값(Value) 간의 내적(dot product)을 계산해 가중치를 할당한다.
여기서 쿼리, 키, 값은 데이터베이스에서 빌려온 개념으로, 어텐션 메커니즘에서 중요한 역할을 한다.
- 쿼리(Query): 현재 주목하고자 하는 데이터의 표현이다. 이를 통해 어떤 정보를 찾고 싶은지를 나타낸다.
- 키(Key): 데이터베이스의 색인처럼 각 데이터 요소의 특징을 나타낸다. 쿼리와 키의 유사도를 계산해 가중치를 결정한다.
- 값(Value): 실제로 반환하고자 하는 데이터이다. 가중치를 적용해 최종 출력을 생성하는 데 사용된다.
어텐션의 역할
- 전역적 관점 제공:
어텐션은 데이터의 모든 요소를 동시에 고려하므로, 멀리 떨어진 특징 간의 관계를 학습할 수 있다. 이는 CNN이 가지는 국소적 관점의 한계를 보완한다. - 정보 손실 감소:
CNN과 달리 어텐션은 특징 맵의 크기를 줄이지 않고 정보를 유지한다. - 비전 트랜스포머의 기반:
어텐션 메커니즘은 트랜스포머 모델, 특히 비전 트랜스포머에서 중요한 역할을 한다. 이미지의 모든 패치 간 관계를 학습하는 데 사용된다.
비전 트랜스포머 모델의 원리와 특징
비전 트랜스포머란 무엇인가
비전 트랜스포머(ViT)는 트랜스포머 아키텍처를 이미지 처리에 적용한 모델이다.
트랜스포머는 원래 자연어 처리(NLP)에서 개발된 모델로, 어텐션 메커니즘을 활용해 입력 데이터의 관계를 학습한다.
ViT는 CNN의 한계를 극복하고 어텐션의 강점을 활용해 이미지를 처리한다.
참고로 트랜스포머 아키텍처는 인코더-디코더 구조를 기반으로 설계되었다.
- 인코더: 입력 데이터를 처리하고 어텐션 메커니즘을 통해 중요한 특징을 학습한다.
- 디코더: 인코더에서 학습된 정보를 활용해 최종 출력(예: 번역 문장)을 생성한다.
비전 트랜스포머는 디코더를 생략하고 인코더만 사용해 이미지의 전역적 관계를 학습한다.
이는 이미지 분류와 같은 작업에서 효율적으로 작동한다.
비전 트랜스포머의 작동 방식
- 이미지 패치 분할:
이미지를 작은 패치(patch)로 나눈다. 예를 들어, 224x224 크기의 이미지를 16x16 패치로 분할하면 196개의 패치가 생성된다. - 패치 임베딩:
각 패치를 벡터로 변환한다. 이를 통해 패치를 트랜스포머가 처리할 수 있는 형태로 만든다. - 포지셔널 인코딩:
패치의 순서를 학습하기 위해 위치 정보를 추가한다. - 트랜스포머 인코더:
Self-Attention 메커니즘을 사용해 각 패치 간의 관계를 학습한다. 어텐션 메커니즘 덕분에 이미지를 전역적으로 이해할 수 있다. - 클래스 토큰 사용:
특수한 토큰(class token)을 추가해 최종 출력(예: 이미지 분류 결과)을 생성한다.
비전 트랜스포머의 장점
- 전역적 관계 학습:
어텐션 메커니즘을 통해 이미지의 모든 패치 간의 관계를 학습한다. - 효율성:
CNN에 비해 특징 추출 과정이 간소화되며, 대규모 데이터셋에서 뛰어난 성능을 보인다. - 어텐션의 이점 활용:
어텐션 기법을 사용함으로써 CNN의 국소적 관점 문제를 극복한다.
비전 트랜스포머의 한계
- 큰 데이터 요구:
ViT는 대규모 데이터셋이 없으면 일반적으로 CNN보다 성능이 낮다. - 높은 계산 비용:
Self-Attention 연산의 복잡도가 데이터 크기에 따라 급격히 증가한다.
CNN과 ViT의 비교
특징 | CNN | 비전 트랜스포머 (ViT) |
특징 추출 방식 | 국소적 특징 추출 | 전역적 관계 학습 |
데이터 요구량 | 상대적으로 적음 | 대규모 데이터 필요 |
계산 효율성 | 상대적으로 빠름 | 계산 비용 높음 |
전이 학습 성능 | 뛰어남 | 대규모 데이터가 있을 때 뛰어남 |
어텐션 사용 여부 | 제한적 사용 | 핵심 메커니즘 |
적용 가능성 | 이미지 중심 | 다양한 데이터 유형 가능 |
결론
CNN은 이미지 처리에서 오랜 기간 강력한 도구로 사용되어 왔다.
하지만 CNN의 한계를 극복하기 위해 어텐션 기법과 비전 트랜스포머가 등장했다.
어텐션은 전역적 관계 학습을 가능하게 했고, 비전 트랜스포머는 이를 이미지 처리에 성공적으로 적용했다.
두 기술은 서로 독립적인 것이 아니라, 어텐션 기법이 비전 트랜스포머의 핵심 기반을 이루고 있다.
ViT는 대규모 데이터에서 우수한 성능을 보이지만, 계산 비용과 데이터 요구량이 높다는 한계가 있다.
따라서 프로젝트의 목적과 데이터 특성에 따라 CNN과 ViT를 적절히 선택하는 것이 중요하다.
'ML+DL > Deep Learning' 카테고리의 다른 글
설명 가능한 AI(Explainable AI, XAI) (0) | 2024.04.13 |
---|---|
딥러닝 학습 방법: 지도학습부터 강화학습까지 (0) | 2024.04.13 |
전이 학습(Transfer Learning) (0) | 2024.04.12 |
딥러닝 모델 튜닝: 성능 향상의 기초와 전략 (0) | 2024.04.12 |
데이터 불균형 (0) | 2024.04.12 |
과적합과 그 방지법 (0) | 2024.04.11 |
- Total
- Today
- Yesterday
- RX100M5
- 야경
- spring
- 파이썬
- 리스트
- 세모
- 유럽여행
- 기술면접
- 맛집
- 세계일주
- 면접 준비
- Python
- a6000
- 자바
- BOJ
- 칼이사
- 세계여행
- 지지
- 백준
- java
- 알고리즘
- 동적계획법
- Backjoon
- 여행
- 유럽
- Algorithm
- 스트림
- 중남미
- 남미
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |