신경망 구조: CNN
ㅁ 신경망 구조
ㅇ 정의:
신경망 구조는 인공 신경망의 계층, 노드, 연결 방식 등을 설계한 구조를 의미하며, 데이터 처리 및 학습 효율성을 결정짓는 중요한 요소이다.
ㅇ 특징:
– 입력 데이터의 특성에 따라 구조를 설계해야 함.
– 각 계층은 입력을 받아 비선형 변환을 수행하고, 다음 계층으로 전달함.
– 과적합 방지를 위해 정규화 기법이나 드롭아웃을 적용할 수 있음.
ㅇ 적합한 경우:
– 데이터의 특성과 문제 유형에 따라 적절한 구조를 선택해야 함.
– 이미지, 텍스트, 시계열 데이터 등 다양한 유형의 데이터에 대해 설계 가능.
ㅇ 시험 함정:
– 신경망의 계층 수와 노드 수를 무작정 늘리면 성능이 개선된다고 생각하는 오류.
– 과적합 방지를 위한 기법에 대한 이해 부족.
ㅇ 시험 대비 “패턴 보기” 예시:
1) O: 신경망 구조 설계 시, 데이터 특성에 맞는 계층 설계가 중요하다.
2) X: 신경망 구조는 계층 수가 많을수록 항상 성능이 높아진다.
================================
1. CNN
ㅇ 정의:
합성곱 신경망(Convolutional Neural Network, CNN)은 이미지 처리에 특화된 신경망 구조로, 합성곱 계층과 풀링 계층을 포함하여 특징 추출과 학습을 수행한다.
ㅇ 특징:
– 입력 데이터의 공간적 구조를 유지하며 학습함.
– 파라미터 수를 줄여 계산 효율성을 높임.
– 합성곱 필터를 통해 지역적인 특징을 추출함.
ㅇ 적합한 경우:
– 이미지 분류, 물체 인식, 영상 처리 등 시각적 데이터 분석에 적합함.
– 음성 데이터의 스펙트로그램 분석에도 활용 가능.
ㅇ 시험 함정:
– CNN이 모든 유형의 데이터에 적합하다고 생각하는 오류.
– 합성곱 계층과 풀링 계층의 역할을 혼동하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
1) O: CNN은 합성곱 계층을 통해 지역적 특징을 추출한다.
2) X: CNN은 모든 데이터 유형에 적합하다.
================================
ㅁ 추가 학습 내용
1. 신경망 구조 설계 시 활성화 함수 선택의 중요성:
활성화 함수는 입력값을 비선형적으로 변환하여 신경망이 복잡한 패턴을 학습할 수 있도록 돕는 역할을 한다. 주요 활성화 함수의 특징과 적합한 사례는 다음과 같다:
– ReLU (Rectified Linear Unit): 입력값이 0보다 크면 그대로 출력하고, 0 이하일 경우 0을 출력한다. 계산이 간단하고 기울기 소실 문제를 줄여주며, 대규모 데이터셋과 깊은 신경망에서 효과적이다. 그러나 음수 입력에 대해 출력이 0으로 고정되는 “죽은 뉴런” 문제가 있을 수 있다.
– Sigmoid: 입력값을 0과 1 사이로 압축하며, 확률값을 출력하는 데 적합하다. 하지만 기울기 소실 문제가 발생할 수 있어 깊은 신경망에는 잘 사용되지 않는다.
– Tanh: 입력값을 -1에서 1 사이로 변환하며, Sigmoid보다 출력값의 중심이 0에 가까워 학습이 더 안정적이다. 하지만 기울기 소실 문제는 여전히 존재한다.
2. CNN의 주요 구성 요소:
– 합성곱 필터: 입력 데이터에 대해 작은 크기의 필터를 적용하여 특징을 추출한다. 수학적으로는 입력 데이터와 필터의 행렬 곱셈 및 합산 연산으로 표현된다. 필터 크기와 스트라이드, 패딩 설정에 따라 출력 크기가 결정된다.
– 활성화 함수: 합성곱 연산 후 비선형성을 추가하여 신경망이 복잡한 패턴을 학습할 수 있도록 돕는다. 주로 ReLU가 사용된다.
– 풀링 계층: 데이터 크기를 줄여 계산량을 감소시키고, 중요한 특징만 남기도록 한다. 평균 풀링(Average Pooling)과 최대 풀링(Max Pooling)이 주로 사용되며, 각각 지역 평균값과 최대값을 계산한다.
– 완전 연결 계층: 마지막 단계에서 모든 노드가 연결되어 입력 특징을 기반으로 최종 출력값을 생성한다. 주로 분류 작업에서 사용된다.
3. CNN의 주요 변형 모델의 특징과 차이점:
– ResNet (Residual Network): “스킵 연결”을 사용하여 이전 계층의 출력 값을 다음 계층으로 전달함으로써 기울기 소실 문제를 해결하고 매우 깊은 신경망을 효과적으로 학습할 수 있다.
– VGG (Visual Geometry Group): 단순하고 규칙적인 구조를 가지며, 작은 크기의 필터(3×3)를 사용하여 깊고 고정된 계층 구조를 설계한다. 계산량이 많아 학습 시간이 길지만 성능이 우수하다.
– Inception: 다양한 크기의 필터를 병렬로 사용하여 여러 스케일의 특징을 동시에 학습한다. “Inception 모듈”을 통해 효율적으로 계산량을 줄이고 성능을 향상시킨다.