입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer)
인공신경망(ANN)과 심층신경망(DNN)은 기본적으로 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer)이라는 구조를 갖고 있습니다. 각각의 층이 어떤 역할을 하는지 이해하는 것이 신경망의 작동 방식을 이해하는 데 중요한 요소입니다.

1. 입력층 (Input Layer)
입력층은 신경망이 데이터를 처음 받아들이는 부분입니다. 입력 데이터의 각 특징(feature)이 입력층의 노드(뉴런)로 전달됩니다. 예를 들어, 이미지 데이터를 처리하는 신경망의 경우, 각 픽셀 값이 입력층의 뉴런에 전달되고, 이 값들이 다음 은닉층으로 전달됩니다.
주요 역할
입력 데이터를 신경망에 전달
별다른 가공 없이 원본 데이터를 은닉층으로 넘김
입력 데이터의 차원 수에 따라 입력층의 뉴런 수가 결정됨
예시: 만약 28x28 픽셀의 흑백 이미지라면, 총 784개의 입력값이 발생하며, 입력층에는 784개의 뉴런이 존재하게 됩니다.
2. 은닉층 (Hidden Layer)
은닉층은 입력층에서 전달받은 데이터를 처리하고 변환하는 역할을 합니다. 신경망의 복잡성을 담당하는 부분으로, 은닉층의 뉴런들은 입력값과 가중치를 곱한 후 합산한 값을 활성화 함수(Activation Function)를 통해 비선형적인 출력값으로 변환합니다.
주요 역할
입력 데이터를 변환하고 패턴을 학습
각 은닉층의 뉴런은 앞층에서 전달된 값에 가중치를 곱한 후 활성화 함수를 통과하여 출력을 만듦
여러 은닉층을 쌓음으로써 복잡한 비선형 패턴을 학습할 수 있음
활성화 함수: 시그모이드, ReLU, Tanh 등 다양한 비선형 활성화 함수가 사용됩니다. 비선형성을 적용함으로써 더 복잡한 문제를 해결할 수 있습니다.
은닉층의 수: 단일 은닉층만 있으면 ANN, 여러 은닉층이 있으면 DNN으로 분류됩니다. 은닉층이 많아질수록 네트워크는 더 복잡한 패턴을 학습할 수 있지만, 동시에 더 많은 데이터와 연산 자원이 필요합니다.
3. 출력층 (Output Layer)
출력층은 신경망의 마지막 층으로, 최종 예측 결과를 산출하는 층입니다. 출력층에서 각 뉴런은 문제의 유형에 따라 다양한 형태의 출력을 반환합니다. 출력층의 뉴런 수는 예측하고자 하는 문제에 따라 달라집니다.
주요 역할
은닉층을 통해 처리된 데이터를 바탕으로 최종 결과 출력
예측 문제에서는 특정 범주로 분류하거나, 연속값을 예측
출력층의 뉴런 수는 문제의 특성에 따라 다름 (예: 분류 문제에서는 분류할 클래스 수와 동일)
예시:
이진 분류 문제: 출력층에 1개의 뉴런이 있으며, 0 또는 1을 예측하는 역할을 합니다.
다중 클래스 분류 문제: 출력층에 예측하고자 하는 클래스의 개수만큼 뉴런이 존재하며, 각 뉴런은 해당 클래스에 속할 확률을 반환합니다.
회귀 문제: 출력층에 1개의 뉴런이 있으며, 연속적인 값을 출력합니다.
층의 상호작용 과정
1. 입력층은 데이터를 받아 은닉층으로 전달합니다.
2. 은닉층은 가중치, 편향, 활성화 함수를 통해 데이터를 변환합니다.
3. 출력층은 은닉층의 출력을 바탕으로 최종 결과를 도출합니다.
정리
결론적으로, 입력층은 원본 데이터를 받아들이고, 은닉층은 데이터를 처리하며, 출력층은 최종 결과를 반환하는 구조입니다. 이 세 층이 협력하여 데이터를 학습하고 예측하는 것이 인공신경망의 핵심 메커니즘입니다.
'뭉성님을 위한 스마트교육 > 디지털 심화' 카테고리의 다른 글
머신러닝 모델의 일반화 성능 (4) | 2024.10.18 |
---|---|
지도학습과 비지도학습 (4) | 2024.10.17 |
심층신경망(Deep Neural Network, DNN) (3) | 2024.10.15 |
인공신경망(Artificial Neural Network, ANN) (3) | 2024.10.14 |
유료 VPN (9) | 2024.10.01 |