합성곱 신경망 (CNN)
1. 개요
1. 개요
합성곱 신경망(Convolutional Neural Network, CNN)은 주로 그리드 형태의 데이터, 예를 들어 이미지나 시계열 데이터를 처리하도록 설계된 인공 신경망의 한 종류이다. 딥러닝 분야에서 컴퓨터 비전 작업의 핵심이 되는 아키텍처이며, 이미지 인식, 객체 탐지, 이미지 분할 등 다양한 분야에서 널리 활용된다.
전통적인 다층 퍼셉트론과 달리, 합성곱 신경망은 지역 연결과 가중치 공유라는 두 가지 핵심 개념을 바탕으로 한다. 지역 연결은 각 뉴런이 입력 데이터의 전체가 아닌 일부 지역(예: 이미지의 작은 패치)에만 연결되는 것을 의미하며, 가중치 공유는 동일한 가중치 집합(필터 또는 커널)이 입력 데이터의 모든 위치에 적용되는 것을 말한다. 이러한 구조 덕분에 파라미터의 수가 크게 줄어들고, 병렬 처리가 용이해지며, 데이터의 공간적 계층 구조를 효과적으로 학습할 수 있다.
합성곱 신경망의 기본 구성 요소는 합성곱층, 풀링층, 완전 연결층이다. 합성곱층은 여러 개의 학습 가능한 필터를 사용하여 입력 데이터의 특징을 추출한다. 풀링층은 특징 맵의 공간적 크기를 축소하여 계산량을 줄이고 과적합을 방지하는 역할을 한다. 마지막 단계의 완전 연결층은 추출된 고수준 특징들을 바탕으로 최종 작업(예: 분류)을 수행한다. 이러한 층들은 활성화 함수와 결합되어 네트워크에 비선형성을 부여한다.
합성곱 신경망은 LeNet과 같은 초기 모델에서 시작하여 AlexNet, VGGNet, ResNet, Inception과 같은 획기적인 아키텍처를 거치며 발전해왔다. 이 모델들은 ImageNet 대규모 시각 인식 챌린지(ILSVRC)에서 우수한 성능을 보이며 딥러닝의 부흥을 이끌었다. 현재는 컴퓨터 비전을 넘어 자연어 처리나 음성 인식과 같은 다른 분야에서도 그 응용 범위가 확대되고 있다.
2. 역사와 발전
2. 역사와 발전
합성곱 신경망의 개념적 기원은 1950년대 후반부터 1960년대 초반까지 거슬러 올라간다. 1959년, 데이비드 H. 허블과 토르스텐 N. 비셀은 고양이의 시각 피질에 대한 실험을 통해 뉴런이 시야의 특정 작은 영역(수용장)에만 반응하며, 이러한 뉴런들이 계층적으로 조직되어 점점 더 복잡한 시각 패턴을 인식한다는 것을 발견했다[1]. 이 생물학적 시각 처리 모델은 이후 합성곱 신경망 구조에 직접적인 영감을 제공했다.
1980년대에 이르러 컴퓨터 비전 연구자들은 이러한 생물학적 통찰을 기계 학습에 적용하기 시작했다. 1980년, 쿠니히코 후쿠시마는 네오코그니트론을 제안했는데, 이는 계층적 구조와 학습 가능한 합성곱 필터를 사용한 최초의 신경망 모델 중 하나로 평가받는다. 그러나 당시 컴퓨팅 자원의 한계와 효과적인 학습 알고리즘의 부재로 널리 활용되지는 못했다.
합성곱 신경망의 현대적 발전은 1990년대 얀 르쿤 등의 연구에서 비롯되었다. 1998년, 르쿤은 우편번호와 수표의 필기체 숫자를 인식하기 위해 LeNet-5 아키텍처를 개발했다. 이 모델은 합성곱층, 풀링층, 완전 연결층을 조합한 기본적인 구조를 확립했으며, 기울기 소실 문제를 완화하기 위해 쌍곡탄젠트 함수와 같은 활성화 함수를 사용했다. LeNet-5는 실용적인 성공을 거두었지만, 여전히 대규모 데이터셋과 고성능 하드웨어의 부재로 인해 딥러닝의 주류로 자리잡지는 못했다.
21세기 초반까지 합성곱 신경망은 컴퓨터 비전 학계의 틈새 분야에 머물렀다. 그러나 2012년, 알렉스 크리제브스키 등이 개발한 AlexNet이 ImageNet 대규모 시각 인식 챌린지에서 압도적인 성능 차이로 우승하면서 상황이 급변했다. AlexNet은 GPU를 활용한 병렬 처리, ReLU 활성화 함수의 도입, 드롭아웃 정규화 기법 등을 통해 깊고 복잡한 모델의 학습을 가능하게 했다. 이 사건은 딥러닝과 합성곱 신경망의 르네상스를 촉발하는 결정적 계기가 되었다.
AlexNet 이후, 합성곱 신경망의 발전은 네트워크의 깊이와 효율성을 높이는 방향으로 빠르게 진행되었다. 2014년 옥스퍼드 대학교의 VGGNet은 작은 크기의 필터를 깊게 쌓는 간단한 구조로 높은 성능을 보였고, 구글의 Inception 네트워크는 병렬적인 필터 연산을 통해 효율성을 높였다. 2015년 마이크로소프트 리서치의 ResNet은 잔차 학습과 스킵 연결을 도입하여 수백 개의 계층을 가진 네트워크의 학습을 가능하게 하면서 이미지 분류 정확도에서 인간 수준을 넘어서는 성과를 기록했다. 이러한 발전은 합성곱 신경망을 컴퓨터 비전의 핵심 도구로 확고히 자리매김하게 했다.
3. 기본 구조와 구성 요소
3. 기본 구조와 구성 요소
합성곱 신경망의 핵심 구조는 주로 합성곱층, 풀링층, 완전 연결층으로 구성되며, 각 층 사이에는 활성화 함수가 적용된다. 이러한 계층적 구조는 입력 데이터, 특히 이미지의 공간적 및 계층적 특징을 효율적으로 추출하고 학습하도록 설계되었다. 초기 층에서는 엣지나 색상 같은 저수준 특징을 감지하고, 네트워크가 깊어질수록 점점 더 추상적이고 복잡한 고수준 특징을 구성한다.
합성곱층은 네트워크의 가장 핵심적인 구성 요소이다. 학습 가능한 필터(또는 커널)를 입력 데이터 위를 슬라이딩시키며 합성곱 연산을 수행한다. 이 연산은 필터의 가중치와 입력의 국소 영역 간의 내적을 계산하여 특징 맵을 생성한다. 하나의 합성곱층은 여러 개의 필터를 사용하여 다양한 특징을 동시에 탐지한다. 주요 하이퍼파라미터로는 필터의 크기(예: 3x3), 스트라이드(이동 간격), 패딩(입력 가장자리 처리 방법) 등이 있다.
풀링층은 일반적으로 합성곱층 뒤에 배치되어 특징 맵의 공간적 크기를 축소한다. 이는 계산량을 줄이고 과적합을 방지하며, 특징의 위치에 대한 불변성을 어느 정도 부여한다. 가장 일반적인 방식은 최대 풀링으로, 지정된 영역(예: 2x2) 내에서 최댓값을 선택한다. 평균 풀링도 사용되지만 최대 풀링보다 덜 일반적이다. 풀링은 보통 스트라이드를 크게 하여 다운샘플링을 수행하지만, 학습 가능한 매개변수는 없다.
구성 요소 | 주요 역할 | 주요 연산/특징 | 출력 특성 |
|---|---|---|---|
합성곱층 | 특징 추출 | 필터를 이용한 합성곱 연산 | 다수의 특징 맵 |
풀링층 | 차원 축소 및 불변성 부여 | 최대값 또는 평균값 선택 (다운샘플링) | 축소된 특징 맵 |
완전 연결층 | 분류 또는 회귀 | 모든 뉴런 간의 연결, 행렬 곱셈 | 최종 출력(클래스 점수 등) |
활성화 함수 | 비선형성 도입 | 비선형 변환된 출력 |
여러 개의 합성곱층과 풀링층을 거쳐 평탄화된 특징은 하나 이상의 완전 연결층으로 전달된다. 이 층에서는 이전 계층의 모든 뉴런이 현재 계층의 모든 뉴런과 연결되어, 추출된 고수준 특징들을 바탕으로 최종 작업(예: 이미지 분류)을 수행한다. 네트워크의 말단에는 작업에 맞는 출력층(예: 소프트맥스 층)이 위치한다. 모든 합성곱층과 완전 연결층의 출력에는 활성화 함수가 적용되어 모델에 비선형성을 추가한다. 역사적으로 시그모이드 함수나 하이퍼볼릭 탄젠트가 사용되었으나, 기울기 소실 문제를 완화하는 ReLU 함수가 현대 딥러닝에서 가장 널리 채택된다.
3.1. 합성곱층 (Convolutional Layer)
3.1. 합성곱층 (Convolutional Layer)
합성곱층은 합성곱 신경망의 핵심 구성 요소로, 입력 데이터로부터 특징을 추출하는 역할을 한다. 이 층은 합성곱 연산을 통해 입력 데이터의 공간적 또는 구조적 정보를 보존하면서 지역적인 패턴을 감지한다. 입력으로 주어진 이미지나 특징 맵에 대해 필터 또는 커널이라는 작은 가중치 행렬을 슬라이딩하며 적용하여 새로운 특징 맵을 생성한다.
합성곱 연산의 주요 매개변수로는 필터 크기, 스트라이드, 패딩이 있다. 필터 크기는 커널의 높이와 너비를 결정하며, 일반적으로 3x3이나 5x5와 같은 정사각형 형태를 사용한다. 스트라이드는 필터가 입력 위를 이동할 때 한 번에 건너뛰는 픽셀 수를 의미한다. 패딩은 입력 데이터의 가장자리 주변에 0과 같은 값을 추가하여 출력 특징 맵의 크기를 조절하거나 경계 정보 손실을 줄이는 기법이다.
매개변수 | 설명 | 일반적인 값 예시 |
|---|---|---|
필터 크기 (Kernel Size) | 합성곱에 사용되는 가중치 행렬의 크기 | 3x3, 5x5 |
스트라이드 (Stride) | 필터를 이동시키는 간격 | 1, 2 |
패딩 (Padding) | 입력 가장자리에 추가하는 값의 유무 및 방식 | 'valid'(없음), 'same'(출력 크기 유지) |
이 연산의 결과, 각 필터는 특정한 시각적 특징(예: 모서리, 색상 변화, 질감 패턴)에 반응하는 특징 맵을 출력한다. 네트워크의 깊이가 깊어질수록 초기 층은 단순한 모서리나 색상을, 후기 층은 더 추상적이고 복잡한 객체의 일부를 감지하는 특징을 학습한다. 이렇게 다수의 필터를 사용함으로써 네트워크는 입력 데이터의 다양한 측면을 병렬적으로 분석할 수 있다.
3.2. 풀링층 (Pooling Layer)
3.2. 풀링층 (Pooling Layer)
풀링층은 합성곱 신경망의 특징 맵 크기를 축소하고 계산 복잡도를 줄이는 역할을 한다. 이 층은 합성곱층 다음에 위치하여, 합성곱층에서 추출된 특징의 공간적 차원을 다운샘플링한다. 주요 목적은 과적합을 방지하고, 특징의 위치 변화에 대한 불변성을 높이며, 네트워크의 계산 효율성을 향상시키는 것이다.
가장 일반적인 풀링 연산은 최대 풀링과 평균 풀링이다. 최대 풀링은 지정된 영역(예: 2x2) 내에서 가장 큰 값을 선택하여 출력한다. 이는 가장 두드러진 특징을 보존하는 데 효과적이다. 평균 풀링은 영역 내 값들의 평균을 계산하여 출력하며, 전체적인 특징 정보를 부드럽게 전달한다. 최대 풀링이 특징의 강한 활성화를 강조하는 반면, 평균 풀링은 모든 정보를 고려한다는 차이가 있다.
풀링층의 동작은 일반적으로 다음과 같은 파라미터로 정의된다.
파라미터 | 설명 | 일반적인 값 |
|---|---|---|
풀링 크기 (Pool Size) | 특징을 집계할 윈도우의 크기 | 2x2 |
스트라이드 (Stride) | 윈도우가 이동하는 간격 | 2 |
패딩 (Padding) | 입력 가장자리 처리 방식 | 'valid' (패딩 없음) |
예를 들어, 2x2 크기와 스트라이드 2를 사용하는 최대 풀링은 입력 특징 맵의 너비와 높이를 절반으로 줄인다. 이 과정은 공간적 계층 구조를 만들고, 네트워크가 점점 더 추상적이고 전역적인 특징에 집중하도록 돕는다. 풀링층은 학습 가능한 파라미터를 가지지 않으며, 단순한 결정론적 연산을 수행한다.
일부 최신 아키텍처에서는 풀링층 대신 스트라이드 합성곱을 사용하여 다운샘플링을 수행하기도 한다[2]. 이는 네트워크가 풀링 연산을 학습 가능한 방식으로 대체할 수 있게 한다. 그러나 풀링층은 여전히 계산 효율성과 실용성 때문에 많은 모델에서 널리 사용되는 핵심 구성 요소로 남아 있다.
3.3. 완전 연결층 (Fully Connected Layer)
3.3. 완전 연결층 (Fully Connected Layer)
완전 연결층은 합성곱 신경망의 후반부에 위치하며, 합성곱층과 풀링층을 통해 추출된 고차원의 특징 맵을 최종 분류나 회귀 결과로 변환하는 역할을 한다. 이 층은 다층 퍼셉트론과 구조가 동일하여, 한 층의 모든 뉴런이 다음 층의 모든 뉴런과 연결된다. 이러한 완전한 연결 구조 때문에 '밀집층'이라고도 불린다.
합성곱 신경망에서 완전 연결층의 주요 기능은 추상화된 특징을 기반으로 판단을 내리는 것이다. 앞선 합성곱층과 풀링층은 이미지의 지역적이고 계층적인 특징(예: 모서리, 질감, 객체의 일부)을 점진적으로 감지하고 압축한다. 완전 연결층은 이렇게 평탄화된 특징 벡터를 입력받아, 이러한 특징들의 복잡한 조합과 상관관계를 학습하여 최종적으로 '개', '자동차'와 같은 특정 클래스에 속할 확률을 출력한다.
일반적인 처리 과정은 다음과 같다. 먼저, 마지막 풀링층 또는 합성곱층의 출력인 3차원 특징 맵(높이×너비×채널)을 1차원 벡터로 평탄화한다. 이 벡터는 하나 이상의 완전 연결층을 통과하며, 각 층에서는 가중치 행렬과의 곱셈 및 편향 더하기 연산이 수행된 후, 활성화 함수가 적용된다. 최종 출력층의 뉴런 수는 일반적으로 분류할 클래스의 수와 동일하며, 소프트맥스 함수 등을 통해 각 클래스에 대한 확률 분포를 생성한다.
층 유형 | 주요 입력 | 주요 연산 | 출력 형태 | 역할 |
|---|---|---|---|---|
이미지/특징 맵 | 합성곱, 활성화 함수 | 3차원 맵 | 지역적 특징 추출 | |
특징 맵 | 다운샘플링(최대/평균) | 3차원 맵 | 공간적 크기 축소, 과적합 방지 | |
완전 연결층 | 평탄화된 벡터 | 행렬 곱, 활성화 함수 | 1차원 벡터 | 전역적 특징 결합 및 분류 |
완전 연결층은 강력한 표현력을 가지지만, 매개변수의 수가 매우 많아 계산 비용이 크고 과적합을 유발할 수 있다는 단점이 있다. 이를 완화하기 위해 드롭아웃 정규화 기법이 자주 적용되거나, 최근의 일부 아키텍처에서는 완전 연결층을 전역 평균 풀링으로 대체하는 경향도 나타난다[3]] 및 SqueezeNet 등의 네트워크에서 활용].
3.4. 활성화 함수 (Activation Function)
3.4. 활성화 함수 (Activation Function)
합성곱 신경망의 각 층에서 계산된 선형 변환 결과에 비선형성을 부여하는 함수이다. 신경망이 선형 함수만으로 구성될 경우, 여러 층을 쌓아도 결국 하나의 선형 변환으로 표현될 수 있어 복잡한 패턴을 학습하는 능력이 제한된다. 활성화 함수를 통해 비선형 변환을 도입함으로써 네트워크는 보편 근사 정리에 따라 복잡한 함수를 근사할 수 있는 능력을 얻게 된다.
주요 활성화 함수는 다음과 같다.
함수명 | 수식 | 특징 |
|---|---|---|
$f(x) = \frac{1}{1 + e^{-x}}$ | 출력값을 0과 1 사이로 압축. 기울기 소실 문제가 발생할 수 있음. | |
$f(x) = \tanh(x)$ | 출력값을 -1과 1 사이로 압축. 시그모이드보다 기울기 소실은 완화되지만 여전히 존재함. | |
$f(x) = \max(0, x)$ | $x>0$에서는 선형성을 유지하여 기울기 소실 문제를 크게 완화. 음수 입력에 대해서는 뉴런이 비활성화되는 죽은 렐루 문제가 발생할 수 있음. | |
$f(x) = \max(\alpha x, x)$ | 음수 영역에 작은 기울기 $\alpha$를 부여하여 죽은 렐루 문제를 완화함. | |
$f(x_i) = \frac{e^{x_i}}{\sum_{j} e^{x_j}}$ | 주로 출력층에서 다중 클래스 분류에 사용되며, 출력값의 합이 1이 되어 확률로 해석 가능함. |
합성곱층과 완전 연결층 뒤에 일반적으로 적용되며, 풀링층 뒤에는 적용되지 않는 경우가 많다. 현대 딥러닝에서는 계산 효율성과 기울기 소실 문제 완화 측면에서 렐루 계열의 함수가 가장 널리 사용된다. 특정 문제나 아키텍처에 따라 스위시 함수나 젤루와 같은 다른 함수들도 연구되고 적용된다.
4. 주요 아키텍처
4. 주요 아키텍처
합성곱 신경망의 발전은 여러 획기적인 신경망 아키텍처의 등장을 통해 이루어졌다. 초기 모델은 간단한 구조에서 시작하여, 계층의 깊이를 증가시키고, 새로운 구성 요소를 도입하는 방향으로 진화했다. 이러한 주요 아키텍처들은 이미지 인식 성능을 비약적으로 향상시키는 동시에, 딥러닝 연구의 방향성을 제시하는 중요한 이정표가 되었다.
초기 대표적인 모델로는 Yann LeCun이 개발한 LeNet-5가 있다. 이 모델은 손글씨 숫자 인식 문제를 해결하기 위해 설계되었으며, 합성곱층, 풀링층, 완전 연결층을 조합한 기본적인 CNN 구조를 확립했다. 이후 2012년 ImageNet 대회에서 혁명적인 성과를 낸 AlexNet은 ReLU 활성화 함수의 도입과 GPU를 이용한 병렬 학습, 드롭아웃 기법 적용 등을 통해 깊은 네트워크의 학습 가능성을 입증했다.
VGGNet은 2014년 등장하여, 작은 크기(3x3)의 합성곱 필터를 깊게 쌓는 단순하고 균일한 구조의 중요성을 보여주었다. 같은 해 Google 연구팀이 제안한 Inception 네트워크(GoogLeNet)는 네트워크 내부에 Inception 모듈이라는 복잡한 서브네트워크를 도입하여, 다양한 크기의 특징을 한 번에 추출하는 효율적인 구조를 선보였다. 2015년 ResNet은 잔차 학습과 스킵 연결 개념을 도입하여, 수백 개에 이르는 계층을 가진 초심층 네트워크의 학습을 가능하게 하며, 그래디언트 소실 문제를 효과적으로 해결했다.
이러한 아키텍처들의 발전은 단순히 성능 향상에 그치지 않고, 효율성과 실용성에도 주목했다. 아래 표는 주요 아키텍처들의 특징을 연대순으로 정리한 것이다.
모델 (연도) | 주요 기여 | 특징/의의 |
|---|---|---|
LeNet-5 (1998) | CNN의 기본 구조 정립 | |
AlexNet (2012) | 현대 딥러닝의 부흥 촉발 | |
VGGNet (2014) | 깊이의 중요성 강조 | 3x3 합성곱 필터의 반복적 사용으로 깊고 균일한 구조 제시 |
GoogLeNet (2014) | 네트워크 내 네트워크 구조 | 계산 효율성을 높인 Inception 모듈, 보조 분류기 사용 |
ResNet (2015) | 초심층 네트워크 학습 가능 |
이후에도 DenseNet, EfficientNet, Vision Transformer 등 다양한 아키텍처가 제안되며, 컴퓨터 비전 분야의 지형을 계속해서 변화시키고 있다.
4.1. LeNet
4.1. LeNet
LeNet은 합성곱 신경망의 초기 모델 중 하나로, 야안 르쿤과 그의 동료들이 1998년에 제안한 구조이다. 이 모델은 주로 손으로 쓴 숫자(MNIST 데이터셋)와 같은 흑백 이미지를 인식하는 데 사용되었으며, 은행에서 수표의 손글씨 숫자를 인식하는 실용적인 문제를 해결하기 위해 개발되었다. LeNet은 여러 개의 합성곱층과 풀링층을 쌓고, 마지막에 완전 연결층을 연결하는 현대적인 CNN 구조의 기본적인 틀을 확립했다는 점에서 역사적인 의미가 크다.
LeNet의 구체적인 아키텍처는 LeNet-5가 가장 잘 알려져 있다. 그 구조는 다음과 같은 계층으로 구성되어 있다.
계층 유형 | 설명 | 주요 파라미터/특징 |
|---|---|---|
입력층 | 흑백 이미지 입력 | 32x32 픽셀 |
합성곱층 C1 | 특징 맵 추출 | 6개의 5x5 필터, 활성화 함수로 시그모이드 함수 사용 |
평균 풀링층 S2 | 다운샘플링 | 2x2 영역, 평균값 계산 |
합성곱층 C3 | 특징 맵 추출 | 16개의 5x5 필터 |
평균 풀링층 S4 | 다운샘플링 | 2x2 영역, 평균값 계산 |
완전 연결층 F5 | 특징 통합 | 120개의 유닛 |
완전 연결층 F6 | 특징 통합 | 84개의 유닛 |
출력층 | 최종 분류 |
이 모델은 그래디언트 기반 학습 알고리즘인 역전파를 통해 효율적으로 학습될 수 있음을 보여주었다. 당시에는 계산 자원의 한계로 인해 GPU 가속을 사용하지 않았지만, 계층적 특징 추출의 효율성을 입증했다.
LeNet의 성공은 기계 학습과 패턴 인식 분야에 지대한 영향을 미쳤다. 이 모델은 합성곱 연산과 서브샘플링(풀링)을 결합하여 공간적 계층 구조를 학습하는 딥러닝 접근법의 가능성을 처음으로 실용적으로 증명했다. 이후 등장하는 AlexNet, VGGNet, ResNet과 같은 더 복잡하고 깊은 CNN 아키텍처들은 모두 LeNet이 제시한 기본적인 설계 철학을 바탕으로 발전하게 되었다.
4.2. AlexNet
4.2. AlexNet
AlexNet은 2012년 ILSVRC 대회에서 획기적인 성능을 보이며 합성곱 신경망의 현대적 부흥을 이끈 핵심적인 딥러닝 모델이다. 토론토 대학교의 알렉스 크리제브스키, 일리야 수츠케버, 제프리 힌튼이 개발했다. 이 모델은 당시 우승한 지원 벡터 머신 기반 방법보다 오류율을 약 10% 이상 낮추는 성과를 기록했으며, 이는 컴퓨터 비전 분야에서 딥러닝의 우수성을 입증하는 결정적 계기가 되었다.
AlexNet의 구조는 5개의 합성곱층과 3개의 완전 연결층으로 구성된다. 주요 혁신점은 ReLU 활성화 함수의 대규모 적용, 과적합을 방지하기 위한 드롭아웃 기법의 사용, 그리고 GPU를 활용한 병렬 학습이었다. 특히, 두 개의 GPU에 네트워크를 분산시켜 학습 속도를 크게 향상시켰다. 또한, 로컬 응답 정규화와 중첩 풀링 같은 기법을 도입하여 성능을 개선했다.
특징 | 설명 |
|---|---|
주요 성과 | |
핵심 기술 | |
구조 | |
입력 크기 | 224x224x3 (ImageNet 데이터) |
이 모델의 성공은 충분한 데이터(ImageNet), 강력한 연산 자원(GPU), 그리고 효과적인 정규화 기술이 결합되었을 때 심층 신경망이 극도로 복잡한 패턴을 학습할 수 있음을 보여주었다. AlexNet은 이후 등장하는 VGGNet, GoogLeNet, ResNet 등 수많은 심층 컨볼루션 신경망 아키텍처의 디자인에 직접적인 영감을 주었다.
4.3. VGGNet
4.3. VGGNet
VGGNet은 2014년 옥스퍼드 대학교의 비주얼 지오메트리 그룹(Visual Geometry Group) 연구팀이 개발한 합성곱 신경망 아키텍처이다. 이 모델은 ILSVRC(ImageNet Large Scale Visual Recognition Challenge) 2014년 대회에서 이미지 분류 부문에서 준우승을 차지하며 주목을 받았다. VGGNet의 가장 큰 특징은 작은 크기(3x3)의 합성곱층 필터를 깊게 쌓아 구성한 단순하고 균일한 구조에 있다.
네트워크는 총 16층(VGG16) 또는 19층(VGG19)으로 구성되며, 3x3 합성곱 필터와 2x2 최대 풀링 층이 반복적으로 배치된다. 작은 필터를 여러 층에 걸쳐 적용함으로써, 더 큰 수용 영역(예: 3개의 3x3 합성곱층은 하나의 7x7 합성곱층과 유사한 효과)을 가지면서도 매개변수 수를 줄이고 비선형성(ReLU)을 더 많이 적용할 수 있다는 장점이 있다. 이 깊고 규칙적인 구조는 다른 복잡한 아키텍처에 비해 구현과 이해가 상대적으로 용이하게 만든다.
VGGNet의 성능과 구조는 이후 많은 딥러닝 모델의 기초가 되었으나, 몇 가지 한계도 명확히 드러냈다. 매우 깊은 층과 많은 완전 연결층으로 인해 모델의 매개변수 수가 방대해져 계산 비용이 높고 메모리 사용량이 많다는 점이다. 예를 들어, VGG16 모델은 약 1억 3천 8백만 개의 매개변수를 가진다[4]. 이러한 비효율성은 이후 등장하는 Inception 네트워크나 ResNet과 같은 아키텍처가 더 효율적인 구조(예: 병목 계층, 잔차 연결)를 탐구하는 동기가 되었다.
4.4. ResNet
4.4. ResNet
ResNet은 2015년 마이크로소프트 리서치의 카이밍 허 등이 제안한 합성곱 신경망 아키텍처이다. 이 모델은 심층 신경망에서 발생하는 기울기 소실 문제를 해결하기 위해 잔차 블록이라는 혁신적인 구조를 도입했다. 기존의 깊은 네트워크는 층이 깊어질수록 학습이 어려워지고 성능이 포화되거나 오히려 저하되는 현상이 발생했는데, ResNet은 이를 극복하여 당시 이미지 인식 대회에서 획기적인 성과를 거두었다.
ResNet의 핵심 아이디어는 잔차 학습이다. 기존 네트워크가 입력 x에 대해 원하는 매핑 H(x)를 직접 학습하는 대신, ResNet은 잔차 함수 F(x) = H(x) - x를 학습한다. 이를 구현한 잔차 블록은 입력 x를 합성곱층을 통과시킨 특징 F(x)에, 원래의 입력 x를 스킵 연결을 통해 직접 더하여 출력 H(x) = F(x) + x를 생성한다. 이 간단한 덧셈 연산은 네트워크가 매우 깊어져도 정보의 흐름을 원활하게 하여 학습을 안정화시킨다.
ResNet은 깊이에 따라 여러 변종이 존재하며, 주로 사용되는 모델은 다음과 같다.
모델 이름 | 층 수 | 주요 특징 |
|---|---|---|
ResNet-18 | 18 | 비교적 가벼운 구조, 기본적인 잔차 블록 사용 |
ResNet-34 | 34 | ResNet-18보다 깊은 구조 |
ResNet-50 | 50 | 병목 잔차 블록 구조 도입으로 연산 효율성 향상 |
ResNet-101 | 101 | 매우 깊은 구조, 정교한 특징 추출 가능 |
ResNet-152 | 152 | 가장 깊은 표준 변종 중 하나 |
ResNet의 등장은 컴퓨터 비전 분야에 지대한 영향을 미쳤다. 네트워크의 깊이에 대한 한계를 크게 확장시켰을 뿐만 아니라, 스킵 연결이나 잔차 연결 개념은 이후 등장하는 수많은 딥러닝 아키텍처에 핵심 요소로 채택되었다. 이는 이미지 분류를 넘어 객체 탐지, 이미지 분할 등 다양한 비전 태스크의 기반 모델로 널리 사용되는 계기가 되었다.
4.5. Inception (GoogLeNet)
4.5. Inception (GoogLeNet)
인셉션 모듈은 합성곱 신경망의 핵심 구성 요소로, 네트워크 내에서 병렬적으로 다양한 크기의 필터를 적용하는 구조를 가진다. 이 모듈은 1x1, 3x3, 5x5 크기의 합성곱 연산과 최대 풀링 연산을 동시에 수행한 후, 그 결과를 깊이 차원에서 연결한다. 이러한 설계는 단일 층에서 다양한 수준의 특징을 추출할 수 있게 하여, 네트워크의 표현력을 높이는 동시에 파라미터 수와 계산 비용을 효율적으로 관리한다. 특히 1x1 합성곱은 차원 축소를 통해 계산 복잡도를 줄이는 '병목 계층' 역할을 수행한다.
GoogLeNet은 2014년 ILSVRC에서 우승한 모델로, 인셉션 모듈을 쌓아 구성된 22층의 깊은 네트워크이다. 이 아키텍처는 총 약 400만 개의 파라미터만을 사용하여 당시 6000만 개 이상의 파라미터를 가진 AlexNet보다 훨씬 효율적이었다. 네트워크 중간에 두 개의 보조 분류기를 삽입하여 그래디언트 소실 문제를 완화하고 규제 효과를 제공했다. 최종 출력은 세 분류기의 가중 평균을 통해 이루어졌다.
인셉션 모듈의 진화는 이후 여러 버전을 통해 이루어졌다. Inception-v2와 Inception-v3는 배치 정규화를 도입하고, 5x5 합성곱을 두 개의 3x3 합성곱으로 분해하는 등의 인수분해 기법을 적용하여 정확도를 높이고 계산 효율성을 개선했다. Inception-v4는 ResNet의 잔차 연결 개념과 결합하여 더욱 깊고 균일한 네트워크 구조를 제시했다.
5. 학습 과정
5. 학습 과정
학습 과정은 합성곱 신경망이 주어진 데이터를 통해 가중치와 편향과 같은 매개변수를 조정하여 원하는 작업을 수행하도록 훈련되는 절차이다. 이 과정은 크게 순전파와 역전파의 반복으로 이루어지며, 손실 함수와 최적화 기법이 핵심적인 역할을 한다.
순전파 단계에서는 입력 데이터(예: 이미지)가 네트워크의 각 층을 통과하여 최종 출력을 생성한다. 입력은 합성곱층과 활성화 함수를 거쳐 특징을 추출하고, 풀링층을 통해 차원이 축소된다. 이렇게 처리된 특징은 완전 연결층으로 전달되어 최종 분류 또는 예측 값을 출력한다. 네트워크의 예측값과 실제 정답 레이블 간의 차이는 손실 함수를 통해 계산되어 하나의 스칼라 값(손실)으로 나타난다. 일반적인 손실 함수로는 교차 엔트로피와 평균 제곱 오차가 널리 사용된다.
역전파 단계에서는 계산된 손실 값을 최소화하는 방향으로 네트워크의 모든 매개변수를 업데이트한다. 연쇄 법칙을 기반으로 한 기울기 계산을 통해 손실에 대한 각 매개변수의 기여도를 역방향으로 전파한다. 이렇게 계산된 기울기(경사)는 최적화 기법에 사용된다. 대표적인 최적화 알고리즘인 확률적 경사 하강법은 매개변수를 기울기의 반대 방향으로 조금씩 이동시킨다. 학습률, 모멘텀, Adam과 같은 고급 옵티마이저는 이 과정의 속도와 안정성을 높이는 데 기여한다.
학습 단계 | 주요 입력 | 주요 출력 | 핵심 연산 |
|---|---|---|---|
순전파 | 입력 데이터, 현재 매개변수 | 예측값, 손실 | 합성곱, 풀링, 활성화 함수 적용 |
손실 계산 | 예측값, 정답 레이블 | 손실 값 | 손실 함수(예: 교차 엔트로피) 계산 |
역전파 | 손실 값 | 각 매개변수에 대한 기울기 | 연쇄 법칙을 이용한 기울기 계산 |
매개변수 갱신 | 기울기, 현재 매개변수 | 갱신된 매개변수 | 옵티마이저(예: SGD, Adam) 적용 |
이러한 순전파와 역전파의 사이클은 미리 정해진 에포크 횟수만큼 또는 손실이 수렴할 때까지 반복된다. 효과적인 학습을 위해서는 적절한 배치 크기 설정과 과적합을 방지하기 위한 드롭아웃이나 정규화 기법의 사용이 중요하다.
5.1. 순전파 (Forward Propagation)
5.1. 순전파 (Forward Propagation)
합성곱 신경망의 학습 과정에서 순전파는 입력 데이터가 네트워크의 각 층을 통과하여 최종 출력을 생성하는 단계이다. 이 과정은 입력 이미지나 데이터가 합성곱층, 풀링층, 활성화 함수, 완전 연결층 등을 거치며 점진적으로 고수준의 특징을 추출하고 변환하는 흐름을 의미한다. 네트워크의 파라미터(가중치와 편향)는 이 단계에서 고정된 상태로 사용되며, 순전파의 결과로 얻은 예측값은 이후 손실 함수를 통해 정답 레이블과 비교되어 오차를 계산하는 데 활용된다.
구체적인 과정은 다음과 같다. 먼저, 입력 데이터(예: 픽셀 값의 행렬)가 첫 번째 합성곱층에 입력된다. 여기서 미리 정의된 여러 개의 필터(또는 커널)가 입력 데이터 위를 슬라이딩하며 합성곱 연산을 수행한다. 이 연산은 필터와 입력의 국소 영역 간의 내적 계산으로, 특징 맵을 생성한다. 생성된 특징 맵은 비선형성을 추가하기 위해 ReLU와 같은 활성화 함수를 통과한다. 이후, 풀링층(보통 최대 풀링)을 통해 특징 맵의 공간적 크기를 축소하고 주요 정보를 보존한다. 이 같은 합성곱-활성화-풀링의 단계는 네트워크 설계에 따라 여러 번 반복될 수 있다.
마지막 단계에서는 완전 연결층이 동작한다. 여러 번의 합성곱과 풀링을 거쳐 평탄화된 특징 벡터는 하나 이상의 완전 연결층에 입력된다. 이 층에서는 전통적인 다층 퍼셉트론과 동일한 방식으로 모든 입력 노드와 가중치의 선형 결합과 활성화 함수 적용이 이루어진다. 최종 완전 연결층의 출력 노드 수는 일반적으로 분류하려는 클래스의 수와 동일하며, 소프트맥스 함수 등을 통해 각 클래스에 속할 확률 값을 출력한다. 이 확률 벡터가 순전파 과정의 최종 결과물이다.
순전파의 계산 효율성은 네트워크의 실용적 성능을 결정하는 핵심 요소이다. 특히 합성곱 연산은 행렬 곱셈으로 효율적으로 구현될 수 있으며, GPU 가속을 통해 대규모 데이터에 대한 병렬 처리가 가능하다[5]. 순전파는 단순히 예측을 생성하는 추론 단계에서뿐만 아니라, 학습 중 오차를 계산하기 위한 필수 전제 단계로서도 기능한다.
5.2. 역전파 (Backpropagation)
5.2. 역전파 (Backpropagation)
역전파는 합성곱 신경망을 포함한 인공 신경망을 학습시키는 핵심 알고리즘이다. 이 과정은 네트워크의 출력에서 계산된 손실 함수의 값을 사용하여, 각 가중치와 편향이 손실에 기여한 정도를 계산하고 이를 조정한다. 구체적으로, 네트워크의 최종 출력과 정답 레이블 간의 오차를 각 층을 거슬러 올라가며(역방향으로) 분배하여 각 매개변수의 기울기를 구한다. 이 기울기는 이후 최적화 기법을 통해 가중치를 업데이트하는 데 사용된다.
합성곱 신경망에서 역전파는 완전 연결층뿐만 아니라 합성곱층과 풀링층에도 적용된다. 합성곱층에서는 필터(커널)의 가중치에 대한 기울기를 계산하기 위해 합성곱 연산의 역과정에 해당하는 전합성곱 연산을 수행한다. 풀링층은 일반적으로 학습 가능한 매개변수가 없지만, 역전파 시에는 다운샘플링된 값이 원본 특징 맵의 어느 위치에서 왔는지를 기억하여 기울기를 적절한 위치로 전파한다[6].
역전파 알고리즘의 효율적인 계산은 연쇄 법칙에 기반한다. 네트워크를 구성하는 각 연산(합성곱, 활성화 함수, 풀링 등)은 국소적인 기울기를 가지며, 이들을 연쇄적으로 곱함으로써 전체 네트워크에 대한 기울기를 얻을 수 있다. 이 과정은 현대 딥러닝 프레임워크의 자동 미분 기능을 통해 자동화되어 있다.
5.3. 손실 함수 (Loss Function)
5.3. 손실 함수 (Loss Function)
손실 함수는 신경망의 예측 출력과 실제 목표 값 사이의 차이를 측정하는 함수이다. 이 함수의 출력값, 즉 손실은 모델의 성능을 정량화하며, 학습 과정에서 모델의 가중치를 조정하기 위한 기준으로 사용된다. 손실 함수의 값을 최소화하는 방향으로 역전파 알고리즘이 작동하여 모델을 개선한다.
합성곱 신경망에서 주로 사용되는 손실 함수는 작업의 유형에 따라 달라진다. 이미지 분류와 같은 다중 클래스 분류 문제에서는 교차 엔트로피 손실이 가장 일반적이다. 이 함수는 모델이 예측한 클래스 확률 분포와 실제 레이블의 원-핫 인코딩된 분포 사이의 차이를 계산한다. 이진 분류 문제에서는 이진 교차 엔트로피 손실이 사용된다. 회귀 분석 문제, 예를 들어 객체의 위치를 예측하는 경우에는 예측값과 실제값의 차이의 제곱을 평균하는 평균 제곱 오차가 자주 활용된다.
작업 유형 | 대표적 손실 함수 | 주요 특징 |
|---|---|---|
다중 클래스 분류 | 예측 확률 분포와 실제 분포의 차이 측정 | |
이진 분류 | 두 클래스에 대한 예측 확률의 정확도 평가 | |
회귀 | 예측값과 실제값의 제곱 오차 평균 |
손실 함수의 선택은 모델 학습의 안정성과 최종 성능에 직접적인 영향을 미친다. 적절한 손실 함수는 기울기 소실이나 기울기 폭발 문제를 완화하고, 학습을 효율적으로 수렴시키는 데 기여한다. 또한, 객체 탐지나 이미지 분할 같은 복잡한 작업에서는 여러 손실 항을 결합한 복합 손실 함수를 설계하여 다양한 목표를 동시에 최적화하기도 한다[7].
5.4. 최적화 기법 (Optimization)
5.4. 최적화 기법 (Optimization)
최적화 기법은 합성곱 신경망의 학습 과정에서 손실 함수의 값을 최소화하는 모델 매개변수를 찾는 과정을 의미한다. 이는 경사 하강법을 기본으로 하며, 학습률을 조절하거나 모멘텀을 활용하는 등 다양한 변형 알고리즘이 개발되었다.
주요 최적화 알고리즘은 다음과 같다.
알고리즘 | 핵심 아이디어 | 주요 특징 |
|---|---|---|
확률적 경사 하강법 (SGD) | 매 반복마다 하나의 샘플 또는 미니배치를 사용해 경사를 계산하고 가중치를 갱신한다. | 구현이 간단하지만, 수렴 속도가 느리고 진동이 심할 수 있다. |
모멘텀 (Momentum) | 과거 경사 업데이트 방향의 관성을 현재 업데이트에 더한다. | SGD의 진동을 줄이고 골짜기를 따라 더 빠르게 이동하도록 돕는다. |
각 매개변수마다 학습률을 적응적으로 조정한다. 자주 업데이트되는 매개변수는 작은 학습률을 적용한다. | 학습률이 너무 작아져 후반 학습이 멈출 수 있다는 단점이 있다. | |
AdaGrad의 단점을 보완하여, 최근 기울기의 제곱에 대한 지수 이동 평균을 사용해 학습률을 조정한다. | 학습률이 급격히 감소하는 문제를 완화한다. | |
모멘텀과 RMSProp의 아이디어를 결합한다. 경사의 1차 모멘트(평균)와 2차 모멘트(분산)의 추정값을 모두 사용한다. | 현재 가장 널리 사용되는 최적화 알고리즘 중 하나로, 빠른 수렴과 강건한 성능을 보인다. |
이러한 알고리즘 외에도 학습률을 학습 중에 동적으로 감소시키는 학습률 스케줄링 기법이 필수적으로 결합된다. 단순한 고정 학습률 대신, 사전 정의된 스케줄에 따라 학습률을 점차 줄이거나 검증 손실이 개선되지 않을 때 감소시키는 방식이 일반적이다. 최적화 기법의 선택과 하이퍼파라미터 튜닝은 합성곱 신경망의 최종 성능과 학습 효율에 직접적인 영향을 미치는 핵심 요소이다.
6. 응용 분야
6. 응용 분야
합성곱 신경망은 주로 시각 데이터 처리에 특화되어 발전했으며, 그 핵심 원리를 바탕으로 컴퓨터 비전을 넘어 다양한 분야에 응용된다.
가장 대표적인 응용은 이미지 분류다. 입력된 이미지가 어떤 범주에 속하는지 판단하는 작업으로, ImageNet 대회를 통해 그 성능이 비약적으로 향상되었다. 이어서 단일 이미지 내에서 여러 객체의 위치와 종류를 찾아내는 객체 탐지 분야에도 널리 적용된다. R-CNN 계열의 모델이나 YOLO 같은 단일 단계 탐지기는 모두 CNN을 백본 네트워크로 활용하여 실시간으로 객체를 인식한다. 더 나아가 픽셀 수준에서 이미지를 이해하는 이미지 분할 작업에도 필수적이다. FCN이나 U-Net 같은 구조는 합성곱층과 전치 합성곱을 결합해 각 픽셀의 의미를 분류한다.
흥미롭게도 CNN의 응용은 시각 영역에 국한되지 않는다. 자연어 처리 분야에서는 단어나 문장을 일종의 1차원 시퀀스로 간주하여 텍스트 분류나 감정 분석에 활용된다. 또한, 의료 영상 분석을 통해 질병 진단을 보조하거나, 주식 시장의 시계열 데이터 분석, 그리고 자율 주행 자동차의 환경 인식 시스템의 핵심 구성 요소로도 사용된다.
응용 분야 | 주요 작업 예시 | 대표 모델/기법 |
|---|---|---|
사진 속 주체 식별 | ||
이미지 내 여러 객체 위치 및 종류 탐지 | R-CNN, Fast R-CNN, YOLO, SSD | |
픽셀 단위 의미 구분 (의료 영상, 자율 주행) | ||
텍스트 분류, 감정 분석 | 1D CNN을 활용한 모델 |
6.1. 이미지 분류 (Image Classification)
6.1. 이미지 분류 (Image Classification)
이미지 분류는 합성곱 신경망의 가장 대표적이고 기본적인 응용 분야이다. 주어진 입력 이미지가 미리 정의된 카테고리 중 어디에 속하는지 판단하는 작업으로, 지도 학습 방식으로 모델을 훈련시킨다. 훈련 데이터셋은 각 이미지와 그에 해당하는 정답 레이블(예: '고양이', '자동차', '비행기')로 구성된다. 모델은 이러한 데이터를 학습하여 보지 못한 새로운 이미지에 대해 정확한 카테고리를 예측하는 능력을 갖추게 된다.
이미지 분류를 위한 합성곱 신경망의 일반적인 파이프라인은 다음과 같다. 입력 이미지는 여러 개의 합성곱층과 풀링층을 거치며 계층적인 특징(예: 초기층에서는 엣지, 후기층에서는 객체의 일부)을 추출한다. 추출된 특징은 완전 연결층으로 평탄화되어 전달되고, 최종 출력층에서는 각 클래스에 대한 확률 분포를 생성한다. 이때 소프트맥스 함수가 최종 활성화 함수로 흔히 사용되어 확률값을 계산한다.
성능 평가는 주로 정확도 지표를 사용하지만, 클래스 불균형이 있을 경우 정밀도와 재현율, F1 점수 등을 함께 고려한다. 대표적인 벤치마크 데이터셋으로는 MNIST(손글씨 숫자), CIFAR-10, CIFAR-100(소형 컬러 객체), ImageNet(대규모 일반 객체) 등이 있다. 특히 ImageNet Large Scale Visual Recognition Challenge(ILSVRC)는 AlexNet, VGGNet, ResNet과 같은 획기적인 합성곱 신경망 아키텍처의 발전을 촉진하는 계기가 되었다.
이미지 분류 기술은 단순한 인식 작업을 넘어 다양한 실용 분야의 기초를 이룬다. 이 기술은 객체 탐지나 이미지 분할 같은 더 복잡한 컴퓨터 비전 태스크의 핵심 구성 요소로 작동하며, 의료 영상 분석, 자율 주행, 콘텐츠 기반 이미지 검색 등에 광범위하게 응용된다.
6.2. 객체 탐지 (Object Detection)
6.2. 객체 탐지 (Object Detection)
객체 탐지는 합성곱 신경망의 주요 응용 분야 중 하나로, 디지털 이미지나 비디오 프레임 내에서 특정 객체의 존재 여부를 판단하고, 그 위치를 바운딩 박스로 표시하는 작업을 의미한다. 이는 단순히 이미지 전체를 분류하는 이미지 분류보다 더 복잡한 문제로, '무엇이 어디에 있는지'를 동시에 파악해야 한다.
초기 객체 탐지 모델들은 주로 두 단계(two-stage) 방식을 따랐다. 첫 번째 단계에서는 이미지 내에서 객체가 있을 만한 후보 영역(Region Proposal)을 추출하고, 두 번째 단계에서 각 후보 영역을 합성곱 신경망을 이용해 분류하고 위치를 정교화했다. 대표적인 모델로는 R-CNN, Fast R-CNN, Faster R-CNN 시리즈가 있다. 이들은 높은 정확도를 보였지만, 후보 영역 생성과 분류를 순차적으로 수행해야 하므로 계산 비용이 크고 속도가 느리다는 단점이 있었다.
이러한 한계를 극복하기 위해 등장한 것이 단일 단계(one-stage) 탐지기이다. YOLO와 SSD가 대표적이다. 이들은 이미지를 한 번의 네트워크 통과(단일 단계)로 처리하여 객체의 종류와 위치를 직접 예측한다. 두 단계 방식에 비해 정확도는 다소 낮을 수 있지만, 처리 속도가 매우 빨라 실시간 응용 프로그램에 적합하다는 장점이 있다.
최근 객체 탐지 연구는 정확도와 속도의 균형을 개선하고, 다양한 크기와 종횡비를 가진 객체를 더 잘 탐지하는 데 집중되고 있다. 또한 트랜스포머 아키텍처를 기반으로 한 DETR과 같은 모델들이 등장하며, 기존 합성곱 신경망 기반 방법론에 새로운 패러다임을 제시하고 있다[8].
6.3. 이미지 분할 (Image Segmentation)
6.3. 이미지 분할 (Image Segmentation)
이미지 분할은 합성곱 신경망의 주요 응용 분야 중 하나로, 입력 이미지의 모든 픽셀에 대해 의미 있는 클래스(예: 사람, 자동차, 도로, 하늘)를 할당하는 작업이다. 이는 이미지 전체를 하나의 레이블로 분류하는 이미지 분류나 객체의 위치를 박스로 표시하는 객체 탐지보다 더 세밀한 이해를 요구한다. 분할의 결과는 각 픽셀이 어떤 객체나 영역에 속하는지를 나타내는 색상이 지정된 마스크 이미지로 표현된다.
이미지 분할은 일반적으로 의미론적 분할(Semantic Segmentation)과 실체 분할(Instance Segmentation)로 구분된다. 의미론적 분할은 동일한 클래스에 속하는 모든 객체를 구분 없이 동일한 레이블로 분류한다[9]. 반면, 실체 분할은 동일한 클래스 내에서도 각각의 개별 객체를 구분하여 식별한다[10]. 실체 분할은 객체 탐지의 정밀도를 픽셀 수준으로 높인 형태로 볼 수 있다.
초기 합성곱 신경망 기반 분할 모델은 완전 연결층을 사용하는 이미지 분류 네트워크를 변형한 Fully Convolutional Network가 기반이 되었다. 이후 등장한 U-Net은 인코더-디코더 구조와 스킵 연결을 도입하여 의료 영상 분석 등에서 높은 성능을 보였다. 더 복잡한 아키텍처로는 Mask R-CNN이 있는데, 이는 Faster R-CNN 객체 탐지 프레임워크에 분할 마스크를 예측하는 브랜치를 추가하여 실체 분할을 가능하게 했다.
이 기술은 자율 주행(도로, 보행자, 차선 인식), 의료 영상 분석(종양 또는 장기 영역 분할), 사진 편집(배경 분리), 위성 이미지 분석(토지 이용 분류) 등 다양한 분야에 활용된다. 분할 모델의 성능은 일반적으로 평균 정밀도(mAP)나 픽셀 단위의 교차 엔트로피 손실 함수로 평가하며, IoU와 같은 지표도 흔히 사용된다.
6.4. 자연어 처리 (Natural Language Processing)
6.4. 자연어 처리 (Natural Language Processing)
합성곱 신경망은 주로 컴퓨터 비전 분야에서 발전했지만, 자연어 처리 작업에도 효과적으로 적용된다. 텍스트 데이터는 1차원 시퀀스로 간주될 수 있으며, 합성곱층은 이 시퀀스에서 국부적인 특징 패턴(예: 문자 n-그램, 단어 묶음)을 추출하는 데 사용된다. 이는 문장 내에서 중요한 구문이나 단어의 조합을 감지하는 데 유용하다.
자연어 처리에서의 CNN은 일반적으로 단어 임베딩 벡터를 입력으로 받는다. 합성곱 필터는 여러 단어에 걸쳐 슬라이딩하며, 각 필터는 특정 유형의 지역적 문맥 의존성을 학습한다. 다양한 크기의 필터(예: 2, 3, 4개의 단어를 한 번에 보는 필터)를 병렬로 사용하여 서로 다른 길이의 특징을 포착하는 것이 일반적이다. 추출된 특징은 이후 풀링층을 통해 가장 중요한 정보를 선택하여 고정 길이의 벡터로 변환한 후, 분류나 예측을 위한 완전 연결층으로 전달된다.
작업 | CNN의 역할 | 주요 특징 |
|---|---|---|
문장이나 문서의 특징을 추출하여 범주(예: 감정, 주제)를 예측 | 다양한 길이의 n-그램 특징을 효율적으로 포착 | |
단어 시퀀스에서 사람, 장소, 조직 등의 이름을 식별 | 주변 문맥 정보를 활용하여 개체 경계를 판단 | |
문장 모델링 | 문장의 의미 표현을 생성 또는 문장 유사도 계산 | 지역적 구문 구조를 반영한 표현 학습 |
이러한 접근 방식의 장점은 위치에 상대적으로 강건한 특징을 학습하고, 순환 신경망에 비해 병렬 처리가 용이하여 학습 속도가 빠를 수 있다는 점이다. 그러나 매우 장거리 의존성을 모델링하는 데는 한계가 있어, 어텐션 메커니즘이나 트랜스포머 아키텍처와 결합되거나 대체되기도 한다.
7. 장점과 한계
7. 장점과 한계
합성곱 신경망은 이미지 처리 및 컴퓨터 비전 분야에서 압도적인 성능을 보여주며 널리 채택되었다. 그 주요 장점은 지역적 연결과 가중치 공유를 통해 완전 연결 신경망에 비해 훨씬 적은 수의 매개변수를 사용한다는 점이다. 이는 모델의 과적합 위험을 줄이고 학습 효율성을 높인다. 또한, 합성곱 연산 자체가 이미지의 공간적, 지역적 구조(예: 가장자리, 질감, 패턴)를 효과적으로 추출하도록 설계되어 있어, 특징 추출에 매우 적합한 인공 신경망 구조를 제공한다.
그러나 합성곱 신경망에는 몇 가지 명확한 한계도 존재한다. 첫째, 모델의 성능이 대규모의 레이블된 데이터에 크게 의존한다는 점이다. 충분한 양의 학습 데이터가 없으면 일반화 성능이 떨어질 수 있다. 둘째, 합성곱층과 풀링층의 작동 방식은 기본적으로 병진 불변성을 가정하지만, 회전이나 크기 변화에 대한 불변성은 제한적이다. 이는 데이터 증강이나 특별한 구조 설계를 필요로 한다.
아래 표는 합성곱 신경망의 주요 장점과 한계를 요약한 것이다.
장점 | 한계 |
|---|---|
대량의 레이블된 데이터에 대한 의존도가 높음 | |
이미지의 공간적 구조를 효과적으로 학습함 | 회전, 크기 변환 등에 대한 불변성이 제한적임 |
계층적 특징 추출이 가능함 | |
GPU를 이용한 병렬 계산에 매우 적합함 | 완전 연결층이 포함된 구조는 여전히 많은 계산 자원을 소모할 수 있음 |
또한, 합성곱 신경망은 내부의 복잡한 비선형 변환으로 인해 설명 가능한 인공지능 측면에서 어려움을 겪는다. 모델이 특정 예측을 내린 이유를 명확히 설명하는 것은 여전히 활발한 연구 주제이다. 이러한 장점과 한계를 인지하면서, 연구자들은 전이 학습, 데이터 증강, 신경망 구조 탐색 등의 방법을 통해 한계를 극복하고 성능을 지속적으로 개선하고 있다.
8. 최신 연구 동향
8. 최신 연구 동향
합성곱 신경망의 연구는 효율성, 해석 가능성, 그리고 새로운 응용 분야로의 확장을 중심으로 지속적으로 진화하고 있다. 한 가지 주요 흐름은 모델의 경량화와 효율성 향상이다. 모바일넷과 같은 경량 아키텍처는 적은 계산 자원으로도 모바일 및 임베디드 장치에서 실시간 추론을 가능하게 한다. 신경망 압축 기술, 예를 들어 가지치기, 양자화, 지식 증류 등의 방법은 대규모 모델의 크기를 줄이고 추론 속도를 높이는 데 기여한다[12].
또 다른 중요한 동향은 모델의 해석 가능성과 강건성에 대한 연구다. 시각화 기법을 통해 합성곱층이 학습한 특징을 이해하려는 시도가 계속되고 있으며, 적대적 공격에 대한 모델의 취약성을 분석하고 강건한 모델을 설계하는 연구도 활발하다. 이는 의료 진단이나 자율 주행과 같은 안전이 중요한 분야에서 필수적이다.
합성곱 신경망의 적용 범위도 계속 확장되고 있다. 전통적인 이미지 분류 및 객체 탐지를 넘어, 비전 트랜스포머 아키텍처가 도입되면서 자연어 처리와 컴퓨터 비전의 경계가 희미해지고 있다. 또한 의료 영상 분석, 과학적 발견, 생성 모델 등 다양한 분야에서 기존 CNN 아키텍처를 개조하거나 결합한 새로운 접근법이 등장하고 있다.
