인공지능 14강 - 딥러닝(1)
심층 신경망에서 발생하는 경사 소멸·과적합·계산량 문제와 이를 개선한 딥러닝 기술을 살펴본다. 이어서 합성곱 신경망의 생물학적 배경과 합성곱층·풀링층·완전연결층의 구조, 출력 크기와 학습 파라미터 계산 방법을 학습한다.
심층 신경망과 딥러닝
심층 신경망(deep neural networks)은 입력층과 출력층 사이에 많은 수의 은닉층이 연결된 신경망이다. 여러 층을 거치면서 데이터의 단순한 특징에서 점차 복잡한 패턴을 추출할 수 있어 높은 표현력을 갖지만, 층이 깊어질수록 학습이 어려워지는 문제도 나타난다.
첫째, 경사 소멸(vanishing gradient)은 오차역전파 과정에서 출력층의 오차가 입력층 방향으로 전달될수록 경사가 매우 작아지는 현상이다. 경사하강법은 손실함수의 경사를 이용해 연결 가중치를 조정하므로, 앞쪽 층에 도달한 경사가 거의 0이 되면 해당 층의 가중치가 제대로 학습되지 않는다.
둘째, 과적합(overfitting)은 모형이 특정 학습 데이터 집합에 지나치게 의존적으로 학습되는 현상이다. 훈련 손실은 낮지만 새로운 데이터에 대한 일반화 성능이 떨어질 수 있다. 셋째, 심층 신경망에는 많은 데이터가 필요하고, 층과 연결이 늘면서 계산량이 폭발적으로 증가한다.
딥러닝(deep learning, 심층학습)은 심층 신경망을 학습할 때 발생하는 이러한 문제를 개선할 수 있는 학습 기술을 가리킨다. 경사 소멸에는 개선된 활성함수와 적절한 가중치 초기화를, 과적합에는 드롭아웃과 규제를, 방대한 계산에는 GPU·TPU와 같은 대단위 병렬처리를 활용한다.
| 문제 | 의미 | 대표적 개선 방향 |
|---|---|---|
| 경사 소멸 | 입력층 방향으로 역전파될수록 경사가 작아짐 | ReLU 계열 활성함수, 적절한 가중치 초기화 |
| 과적합 | 훈련 데이터에 지나치게 의존해 일반화 성능 저하 | 드롭아웃, 가중치 감쇠, ℓ1·ℓ2 규제 |
| 계산량 증가 | 많은 층·뉴런·연결로 연산량 급증 | GPU·TPU 기반 병렬처리 |
시험 핵심: 심층 신경망은 구조 자체를 뜻하고, 딥러닝은 심층 신경망의 학습 문제를 개선하며 실제 학습을 가능하게 한 기술적 방법까지 포함한다.
딥러닝 모델과 실행 도구
딥러닝의 발전과 함께 데이터의 성격에 맞는 다양한 신경망이 개발되었다. 영상 처리에는 합성곱 신경망(CNN)이 대표적으로 사용되며, 순차 데이터에는 LSTM·GRU와 같은 순환 신경망(RNN)이 사용된다. 트랜스포머(transformer)는 또 다른 주요 딥러닝 모델이다.
대규모 연산을 병렬로 수행하기 위해 GPU를 활용하는 CUDA, OpenCL 등의 기반 기술이 사용된다. 모델 구성과 학습을 지원하는 프레임워크로는 텐서플로(TensorFlow), Keras, 파이토치(PyTorch) 등이 있다. 이러한 도구는 복잡한 신경망의 연산과 가중치 갱신을 효율적으로 구현하도록 돕는다.
모델 종류와 실행 도구는 역할이 다르다. CNN·RNN·트랜스포머는 신경망 구조이고, CUDA·OpenCL은 병렬 연산 활용 기술이며, TensorFlow·Keras·PyTorch는 딥러닝 프레임워크다.
경사 소멸을 줄이는 활성함수
시그모이드 함수는 입력의 절댓값이 커질수록 출력이 0 또는 1 부근에서 포화된다. 포화 영역에서는 미분값이 매우 작기 때문에 여러 층의 미분값이 연쇄적으로 곱해지는 역전파 과정에서 경사가 빠르게 감소할 수 있다.
이를 개선하기 위해 ReLU와 그 변형을 사용할 수 있다.
| 활성함수 | 정의 | 특징 |
|---|---|---|
| ReLU | f(x)=max(0,x) | 양수 구간에서 선형으로 증가하며 시그모이드의 포화 문제를 줄임 |
| Leaky ReLU | f(x)=max(ax,x), a는 작은 양수 | 음수 구간에도 작은 기울기를 남김 |
| GELU | f(x)=xΦ(x) | 표준정규분포 누적분포함수 Φ(x)를 이용한 매끄러운 비선형 함수 |
가중치의 초기값도 경사의 안정적인 전달에 중요하다. 심층 신뢰망을 이용한 사전학습, 뉴런의 팬-인과 팬-아웃에 따라 초기값 범위를 정하는 자비에르 글로로트 초기화, ReLU 유형에서 팬-인을 고려하는 카이밍 초기화 등이 제시된다. 적절한 초기화는 학습 결과가 올바르게 수렴하도록 돕고 경사 소멸을 완화한다.
시험 핵심: ReLU는 f(x)=max(0,x), Leaky ReLU는 음수 구간에도 작은 기울기를 허용한다. 활성함수 개선과 가중치 초기화는 모두 경사 소멸을 줄이는 방법이다.
과적합을 줄이는 규제와 드롭아웃
모델의 복잡도가 너무 낮으면 학습 데이터의 패턴을 충분히 표현하지 못하고, 너무 높으면 훈련 손실은 계속 줄어도 일반 손실이 다시 커질 수 있다. 최적의 복잡도 부근에서 새로운 데이터에 대한 성능이 가장 좋다. 따라서 심층 신경망이 지나치게 복잡해지는 것을 억제하는 규제(regularization)가 필요하다.
대표적인 방법으로 가중치 감쇠, ℓ1 규제, ℓ2 규제와 드롭아웃이 있다. 가중치에 제약을 주면 특정 연결에 지나치게 의존하는 것을 줄이고 모델을 단순화하는 효과를 얻을 수 있다.
드롭아웃(dropout)은 훈련하는 동안 정해진 확률에 따라 뉴런을 무작위로 선택해 일시적으로 제거하는 방법이다. 매 반복마다 서로 다른 부분 신경망이 학습되는 효과가 생겨 뉴런 사이의 과도한 공동 적응을 줄인다. 그러나 학습을 마친 뒤 추론할 때는 제거하지 않고 모든 뉴런을 사용한다.
드롭아웃은 신경망에서 뉴런을 영구적으로 삭제하는 구조 변경이 아니다. 훈련 중에만 확률적으로 일시 제외하고, 학습 완료 뒤에는 모든 뉴런을 사용한다.
합성곱 신경망의 개념과 생물학적 배경
합성곱 신경망(Convolutional Neural Networks, CNN)은 동물의 시각 피질 원리를 바탕으로 설계된 신경망 모델이다. 시각 피질의 신경세포는 수용야(receptive field)라는 제한된 감각 영역에 반응한다. 서로 다른 신경세포의 수용야가 부분적으로 중첩되면서 전체 시야를 포괄하며, 특정 신경세포는 특정한 시각 패턴에만 반응한다.
CNN도 한 뉴런이 입력 전체와 연결되는 대신 작은 국소 영역을 관찰하고, 같은 필터를 여러 위치에 적용해 특정 패턴이 어디에 나타나는지 탐지한다. 이러한 성질 때문에 영상 인식과 비디오 처리 등 컴퓨터 비전 응용에 적합하다.
대표적 CNN인 LeNet-5는 합성곱층과 서브샘플링층을 반복한 뒤 완전연결층과 출력층으로 이어진다. 일반적인 CNN의 주요 구성요소도 합성곱층, 활성함수층(ReLU), 풀링층, 완전연결층으로 정리할 수 있다.
합성곱층과 필터의 작동
합성곱층(convolutional layer)은 필터 마스크를 입력의 작은 영역에 적용해 특징맵(feature map)을 만든다. 필터가 입력 위를 이동하면서 각 위치의 입력값과 필터 가중치를 대응해 연산하고 하나의 출력값을 생성한다.
필터링은 상위층 뉴런 하나가 필터 크기에 해당하는 하위층의 국소 영역과 연결되는 것으로 볼 수 있다. 동일한 필터를 모든 위치에서 공유하므로 상위층 각 노드에 대한 연결 가중치 벡터도 같다. 이에 따라 학습할 파라미터 수는 입력 공간의 전체 위치 수가 아니라 필터의 규격과 필터 수에 의해 결정된다.
스트라이드와 출력 크기
스트라이드(stride)는 필터가 한 번에 이동하는 간격이다. 패딩이 없을 때 입력 한 변의 크기를 Sin, 필터 크기를 Sf, 스트라이드를 s라고 하면 출력 크기는 Sout=⌊(Sin−Sf)/s⌋+1이다.
예를 들어 14×14 입력에 3×3 필터를 스트라이드 2로 적용하면 한 변의 출력 크기는 ⌊(14−3)/2⌋+1=6이므로 6×6 출력이 된다. 28×28 입력에 5×5 필터와 스트라이드 2를 적용하면 ⌊(28−5)/2⌋+1=12이므로 출력은 12×12다.
패딩과 출력 크기
패딩(padding)은 입력의 가장자리에 값을 덧붙여 필터가 경계 부근에도 적용되게 하는 방법이다. 패딩 크기가 P이면 출력 크기는 Sout=⌊(Sin−Sf+2P)/s⌋+1이다.
14×14 입력, 3×3 필터, 스트라이드 1, 패딩 1이면 출력도 14×14다. 또한 28×28 입력, 5×5 필터, 스트라이드 2, 패딩 2이면 ⌊(28−5+4)/2⌋+1=14이므로 14×14 출력이 된다.
시험 핵심: 스트라이드가 커지면 출력의 공간 크기는 작아지는 경향이 있고, 패딩은 경계 정보를 활용하면서 출력 크기의 감소를 조절한다.
입력 채널과 합성곱 파라미터
입력 채널이 여러 개이면 필터 하나도 입력 채널마다 하나의 2차원 필터를 갖는다. 예를 들어 RGB 영상은 3채널이므로 3×3 필터 한 개는 채널별 3×3 가중치를 가져 총 27개의 가중치를 가지며, 바이어스 하나를 포함하면 필터 하나의 파라미터는 28개다.
입력 채널 수를 C, 필터 한 변의 크기를 F, 필터 수를 K라고 할 때 바이어스를 포함한 파라미터 수는 (F×F×C+1)×K로 계산할 수 있다. 필터 하나가 하나의 출력 특징맵을 만들므로 출력 채널 수는 필터 수 K와 같다.
LeNet-5 합성곱층 계산
첫 번째 합성곱층은 32×32×1 입력에 5×5 필터 6개를 패딩 없이 스트라이드 1로 적용한다. 출력은 6개의 28×28 특징맵이며, 파라미터 수는 (5×5×1+1)×6=156개다.
두 번째 합성곱층은 14×14×6 입력에 5×5 필터 16개를 적용한다. 출력은 16개의 10×10 특징맵이며, 파라미터 수는 (5×5×6+1)×16=2,416개다. 이 계산에서 입력 채널 수와 각 필터의 바이어스 하나를 빠뜨리지 않아야 한다.
특징맵의 공간 크기는 입력·필터·스트라이드·패딩으로 정하고, 특징맵의 개수는 필터 수로 정한다. 파라미터 수는 출력 공간의 가로·세로 크기와 직접 곱하지 않는다.
풀링층과 완전연결층
풀링층
풀링층(pooling layer)은 입력을 서브샘플링해 공간 크기가 축소된 출력을 만든다. 풀링 필터의 크기와 스트라이드, 한 영역에서 어떤 값을 선택할지를 정해야 한다. 영역 안의 최댓값을 선택하는 최대 풀링(max pooling)이 많이 사용된다.
강의 예처럼 6×6 입력에 2×2 필터와 스트라이드 2로 최대 풀링을 적용하면 서로 겹치지 않는 각 2×2 영역의 최댓값을 뽑아 3×3 출력이 된다. 풀링은 특징의 존재를 요약하면서 후속 층의 공간 크기와 계산량을 줄인다.
완전연결층
합성곱층과 최대 풀링층이 여러 차례 반복된 뒤에는 완전연결층(fully connected layer)이 고수준 추론과 최종 분류를 담당한다. 다차원 특징맵은 플래튼(flatten) 층에서 1차원 벡터로 변환된 뒤 일반적인 피드포워드 완전연결층으로 전달된다.
마지막 완전연결층에는 클래스당 하나의 출력 뉴런이 필요하다. 예를 들어 0부터 9까지 숫자를 분류하려면 10개의 출력 뉴런을 두고, 소프트맥스로 입력 패턴이 각 클래스에 속할 확률을 계산할 수 있다.
MNIST 합성곱 모델 구성 예
강의에서는 28×28×1 크기의 MNIST 필기숫자 입력을 다음 구조로 분류하는 예를 제시한다.
| 단계 | 연산 | 출력 형태 |
|---|---|---|
| 입력 | 28×28 흑백 영상 | 28×28×1 |
| 합성곱 1 | 3×3 필터 32개, ReLU | 26×26×32 |
| 풀링 1 | 2×2 최대 풀링 | 13×13×32 |
| 합성곱 2 | 3×3 필터 64개, ReLU | 11×11×64 |
| 풀링 2 | 2×2 최대 풀링 | 5×5×64 |
| 합성곱 3 | 3×3 필터 64개, ReLU | 3×3×64 |
| 플래튼 | 다차원 특징맵을 1차원화 | 576 |
| 완전연결 | Dense(64), ReLU | 64 |
| 출력 | Dense(10), Softmax | 10개 클래스 확률 |
이 모델은 합성곱층에서 국소 특징을 추출하고, 풀링층에서 공간 크기를 줄이며, 완전연결층에서 축적된 특징을 종합해 숫자 클래스를 판단한다. 마지막 소프트맥스 출력은 0부터 9까지 각 클래스의 확률을 나타낸다.
핵심 개념 정리
- 심층 신경망은 입력층과 출력층 사이에 많은 은닉층을 두며, 복잡한 패턴을 표현할 수 있지만 경사 소멸·과적합·계산량 증가 문제가 있다.
- ReLU 계열 활성함수와 적절한 가중치 초기화는 경사 소멸을 개선하고, 규제와 드롭아웃은 과적합을 줄인다.
- 드롭아웃은 훈련 중 뉴런을 확률적으로 일시 제외하며, 학습 완료 뒤에는 모든 뉴런을 사용한다.
- CNN은 국소 수용야와 부분적 중첩이라는 시각 피질의 원리를 바탕으로 영상의 공간적 특징을 학습한다.
- 합성곱층의 출력 크기는 입력 크기·필터 크기·스트라이드·패딩으로 결정되며, 출력 특징맵 수는 필터 수와 같다.
- 합성곱 필터의 파라미터 수는 입력 채널을 포함해 (F×F×C+1)×K로 계산한다.
- 풀링층은 공간 크기를 줄이고, 플래튼과 완전연결층은 추출된 특징을 종합해 최종 분류를 수행한다.
이번 강의는 ‘깊은 신경망을 안정적으로 학습시키는 방법’과 ‘영상의 구조를 효율적으로 처리하는 CNN’의 두 축으로 정리할 수 있다. 경사 소멸에는 활성함수와 초기화, 과적합에는 규제와 드롭아웃을 대응시키고, CNN에서는 합성곱으로 특징 추출, 풀링으로 축소, 완전연결과 소프트맥스로 분류하는 흐름을 출력 크기·파라미터 계산과 함께 이해해야 한다.
예상문제 20선
1. 심층 신경망에 대한 설명으로 가장 적절한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
심층 신경망은 입력층과 출력층 사이에 다수의 은닉층을 배치해 복잡한 특징을 학습한다.
2. 경사 소멸이 발생하면 나타나는 현상은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
오차역전파가 여러 층을 거치면서 경사가 감소하면 앞쪽 층의 가중치가 거의 갱신되지 않는다.
3. 과적합에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
과적합은 훈련 자료에 과도하게 의존하여 일반화 성능이 낮아지는 현상이다.
4. 딥러닝의 대규모 계산을 처리하는 데 활용되는 장치는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
GPU와 TPU는 대단위 병렬처리를 통해 심층 신경망의 방대한 연산을 처리한다.
5. ReLU 함수의 정의는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
ReLU는 음수 입력에는 0, 양수 입력에는 입력 자체를 출력한다.
6. Leaky ReLU가 일반 ReLU와 구별되는 특징은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
Leaky ReLU는 f(x)=max(ax,x)로 정의하여 음수 입력에서도 작은 기울기를 유지한다.
7. 드롭아웃의 적용 방식으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
드롭아웃은 훈련 중에만 뉴런을 일시 제외해 과적합을 줄이며, 훈련 후에는 모든 뉴런을 사용한다.
8. 합성곱 신경망의 설계에 영향을 준 생물학적 개념은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
CNN은 제한된 감각 영역에 반응하고 부분적으로 중첩되는 시각 피질의 수용야 원리를 바탕으로 한다.
9. 합성곱층에서 동일한 필터를 입력의 여러 위치에 적용하는 것의 의미는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
합성곱층은 한 필터의 가중치를 모든 위치에서 공유하여 같은 종류의 국소 패턴을 찾는다.
10. 패딩이 없을 때 합성곱 출력 한 변의 크기를 구하는 식은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
패딩이 없으면 필터가 입력 안에서 이동할 수 있는 위치 수를 이 식으로 계산한다.
11. 14×14 입력에 3×3 필터를 스트라이드 2, 패딩 없이 적용할 때 출력 크기는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
⌊(14−3)/2⌋+1=5+1=6이므로 출력은 6×6이다.
12. 합성곱의 패딩에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
패딩은 입력의 경계 주위에 값을 추가하여 가장자리 정보와 출력 공간 크기를 조절한다.
13. 입력 채널 수 C, F×F 필터 K개일 때 바이어스를 포함한 합성곱 파라미터 수는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
필터 하나는 F×F×C개의 가중치와 바이어스 하나를 가지며, 이를 K개 필터에 적용한다.
14. 32×32×1 입력에 5×5 필터 6개를 패딩 없이 스트라이드 1로 적용한 LeNet-5 첫 합성곱층의 출력은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
공간 크기는 32−5+1=28이고 출력 채널 수는 필터 수 6과 같다.
15. 위 LeNet-5 첫 합성곱층의 학습 파라미터 수는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
(5×5×1+1)×6=26×6=156이며 필터마다 바이어스 하나가 포함된다.
16. 최대 풀링의 동작으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
최대 풀링은 정해진 영역에서 가장 큰 값을 대표값으로 선택해 공간 크기를 축소한다.
17. 플래튼 층의 역할은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
플래튼은 합성곱층에서 나온 다차원 특징맵을 펼쳐 완전연결층이 처리할 벡터로 만든다.
18. 0부터 9까지 필기숫자를 분류하는 최종 출력층에 필요한 뉴런 수는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
0부터 9까지는 10개 클래스이므로 클래스당 하나씩 10개의 출력 뉴런이 필요하다.
19. CNN의 일반적인 처리 흐름으로 가장 적절한 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
CNN은 합성곱과 활성함수로 특징을 추출하고 풀링으로 축소한 뒤 완전연결층에서 최종 판단한다.
20. 딥러닝의 문제와 개선 방법의 연결로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
활성함수와 초기화는 경사의 전달을 개선하고, 규제와 드롭아웃은 모델의 과도한 적합을 억제한다.
댓글
댓글 쓰기