01. Neural Network의 구성
- 입력층(Input Layer)
- 신경망의 시작 부분, 외부에서 들어오는 데이터를 받는다.
- 각 입력은 뉴런이라 부리는 단위로 표현된다.
- 은닉층(Hidden Layer)
- 입력층과 출력층 사이에 있는 중간층
- 입력층의 데이터를 기반으로 복잡한 패턴이나 관계를 학습한다.
- 여러 개의 은닉층이 있을 수 있으며, 이 층들은 서로 다른 특징을 추출하고 학습한다.
- 출력층(Output Layer)
- 신경망의 최종 출력을 담당한다.
- 주로 문제의 유형에 따라 다르게 설계되어 있다. 분류 문제에서는 각 클래스에 대한 확률을 나타내는 노드가 있을 수 있고, 회귀 문제에서는 연속적인 값을 출력할 수 있다.
- 가중치(Weights) 및 편향(Bias)
- 가중치는 입력 데이터의 특정 특징에 대한 중요도를 나타내는 매개변수이다. 이 가중치는 학습을 통해 조정된다.
- 편향은 각 뉴런이 얼마나 쉽게 활성화되는지를 제어하는 매개변수이다.
- 활성화 함수(Activation Function)
- 각 은닉층과 출력층의 뉴런에서 계산된 값에 적용되는 함수이다.
- 이 함수는 모델이 비선형성을 학습할 수 있도록 해주며, 주로 시그모이드, 하이퍼볼릭 탄젠트, 렐루(Rectified Linear Unit, ReLU) 등이 사용 된다.
- 손실 함수(Loss Function)
- 모델의 출력이 실제 값과 얼마나 차이나는지를 측정하는 함수
- 모델이 학습 중에 이 손실을 최소화하도록 가중치와 편향을 조정한다.
- 역전파(BackPropagation)
- 학습 단계에서 모델의 출력과 실제 값 사이의 오차를 계산하고, 이 오차를 이용하여 각 층의 가중치와 편향을 조정한다.
- 역전파는 손실을 최소화하기 위해 가중치를 업데이트하는 과정을 반복한다.
02. Neural Network 분류
- 크게 3개 분류로 나눌 수 있다.
1. 선형 회귀 (Linear Regression)
2. 이진 분류 (Binary Classification)
3. 다중 분류 (Multi-Class Classification)
'JavaScript Dev. > Tensorflow.js' 카테고리의 다른 글
Neural Network 훈련 원리 (0) | 2023.11.21 |
---|---|
Visualization(시각화 도구) - tfjs-vis API (0) | 2023.11.20 |
04. Data Handling API (0) | 2023.11.16 |
03. Tensors (0) | 2023.11.14 |
01. Tensorflow.js의 기초 (0) | 2023.11.09 |