Artificial Neural Networks(ANN): 인공 신경망
Components (인공신경망 구성요소)
1. 노드/유닛 (Node/Unit): 각 층(Layer)을 구성하는 요소
2. 층(Layer)
- 입력층(Inpur Layer): 데이터를 받아들이는 층
- 은닉층(Hidden Layer): 데이터를 한 번 이상 처리한 노드로 구성된 층
- 출력층(Output Layer): 최종 은닉층 또는 입력층에 가중치를 곱하고, 출력함수의 결과를 얻은 노드로 구성된 층
3. 가중치(Weight): 노드와 노드간의 연결강도를 나타내미
4. 합(Summation): 가중치와 노드의 곱을 합하는 것
5. 활성함수(Activation Function): 합을 처리해주는 함수로 은닉층 노드의 결과를 얻을 경우 활성함수로 표현
6. 출력함수(Output Function): 합을 처리해주는 함수로 출력층 노드의 결과를 얻을 경우 출력함수로 표현
7. 손실함수(Loss Function): 가중치의 학습을 위해 출력함수의 결과와 반응(Y)값 간의 오차를 측정하는 함수
Feedforard vs. Backpropagation
- Feedforward는 입력에서 출력까지의 정보 전달을 담당
- Backpropagation은 이러한 출력과 실제 값 간의 오차를 이용하여 네트워크를 학습시키는 데 사용
- Feedforward (순방향 전파):
- Feedforward는 입력 데이터가 네트워크를 통해 앞으로 전달되는 과정을 나타냅니다.
- 입력 데이터가 네트워크의 입력층으로 들어오고, 각 층을 통과하여 출력층까지 전달됩니다.
- 각 층에서는 입력에 대한 가중치와 편향을 사용하여 활성화 함수를 통해 출력이 계산됩니다.
- 최종 출력은 네트워크의 예측값을 나타냅니다.
- Backpropagation (역전파):
- Backpropagation은 네트워크의 출력과 실제 값 간의 오차를 사용하여 가중치를 업데이트하는 과정입니다.
- 우선 Feedforward로 전파된 예측값과 실제 값 사이의 오차를 계산합니다.
- 그런 다음, 오차를 역방향으로 전파하여 각 층의 가중치를 조정합니다.
- 역전파 과정에서는 경사 하강법과 같은 최적화 알고리즘을 사용하여 가중치를 조정하고 손실을 최소화합니다.
- 이 과정은 출력층에서 입력층까지 반복됩니다.
NN Structure
of hidden layers
• More layers, higher capacity
of hidden nodes
• More nodes, higher capacity
If # of hidden nodes and layers
are too many, the NN is overfitted
→ hidden(은닉층), output(노드개수)는 조절이 가능
NN Structure: Input Units
▪ Taking input data into network
# of nodes: # of input variables
# Activation: linear
* layer 개수: 1개, node: 입력 변수의 개수
Role of activation function in hidden unit
• If signal is sufficiently large, a hidden unit sends out a positive signal
• Nonlinear transformation(비선형 변환)
→ 큰 값이 들어오면 크게 나가고, 작은 값이 들어오면 작게 나감
Output Units (어차피 정해져 있음)
▪ Activation function for output units
• 2-class classification: Sigmoid units → 1개
→ output node의 개수, act function은 문제에 따라 정해줘야됨
- Activation function for output units : 3개의 class 확인
→ node의 개수 = class 수
NN Structure: Loss Function(손실 함수, 우리가 얼마나 못하고 있나 확인)
- Classification(분류): Minimize the cross-entropy / 교차 엔트로피 손실 함수는 분류 문제에서 네트워크가 예측한 확률 분포와 실제 레이블의 확률 분포 간의 차이를 계산하여 손실을 측정
딥러닝에서 분류 작업을 수행할 때 일반적으로 교차 엔트로피 손실 함수를 사용합니다.
이 손실 함수는 모델의 출력값을 확률로 해석하고, 실제 레이블과 예측한 확률 분포 간의 차이를 최소화하도록 네트워크를 학습합니다. 이렇게 함으로써 모델은 정확한 클래스에 대해 높은 확률을 출력하도록 학습되며, 손실 함수의 값이 작아지면서 모델의 분류 성능이 향상됩니다.
- Regression(회귀) : Minimize MSE
★ 중요 ★
1. 3클래스 문제다 확인
→ 정답은 맞췄지만, 0.47이 무엇을 의미하는지 말하기 어려움
예제2.
→ 정답이지만 45% 임
Backpropagation
Then, how to find an optimal weight values ?
• Gradient descent
Feedforward
• The feedforward operations consists of presenting a pattern to the input units and
passing (or feeding) the signals through the network in order to get outputs units
Learning
• The supervised learning consists of presenting an input pattern and modifying the
network parameters (weights) to reduce distances between the computed output and
the desired output
[참고자료]
Artificial Neural Network (인공신경망) (tistory.com)
Artificial Neural Network (인공신경망)
Artificial Neural Network (인공신경망) 인공신경망(ANNs; Artificial Neural Networks)은 인간 뇌의 신경망에서 영감을 받은 분석방법으로, 입력($X$)과 반응($Y$)을 모두 알고서 학습하는 지도 학습(Supervised Learnin
yjjo.tistory.com
Feedforward & Backpropagation
backpropagation
- 경사하강법(Gradient Descent) : 신경망의 가중치를 최적화하기 위해 사용되는 기본적인 알고리즘입니다. 이 과정은 신경망을 효과적으로 학습시키는 데 핵심적인 역할
경사하강법의 핵심 개념:
- 목표: 신경망의 오차(또는 손실)를 최소화하는 가중치를 찾는 것입니다. 이 오차는 일반적으로 실제 값과 모델의 예측 값 사이의 차이로 정의됩니다.
- 작동 원리: 신경망의 가중치에 대한 오차의 기울기(gradient)를 계산하고, 이 기울기가 가리키는 방향으로 가중치를 조정합니다. 기울기는 오차를 최소화하는 방향으로의 가장 가파른 하강 경로를 나타냅니다.
- 기울기 계산: 백프로파게이션을 통해 각 가중치에 대한 오차의 기울기를 계산합니다. 이는 신경망의 출력부터 입력 층까지 역방향으로 오차의 미분을 전파함으로써 이루어집니다.
- 경사하강법(Gradient Descent): 가중치(weight)를 반복적으로 업데이트하는 방법. 목표 함수(Objective Function)의 기울기(gradient)를 사용하여 목표 함수의 최솟값을 찾아나갑니다.
- 업데이트 결정:
- 방향 결정: 기울기의 부호에 따라 가중치를 증가시킬지 감소시킬지 결정합니다.
- 크기 결정: 학습률에 의해 가중치 변경의 크기를 조절합니다.
- 에러 역전파(Backpropagation): 신경망에서 출력층에서 발생한 오차를 역방향으로 전파하여 각 가중치에 대한 오차의 기울기를 계산합니다. 이를 통해 신경망을 최적화합니다.
- 다층 퍼셉트론(MLP) 훈련 with 역전파: 출력층에서 은닉층(hidden-to-output)으로, 그리고 은닉층에서 입력층(input-to-hidden)으로 가중치를 업데이트하는 규칙.
- 학습률(Learning Rate): 가중치 업데이트의 크기를 결정합니다. 큰 학습률은 더 큰 업데이트를, 작은 학습률은 더 작은 업데이트를 야기합니다.
- 로컬 옵티마 문제(Local Optima Problem): 신경망이 국소 최적해에 머무를 위험이 있습니다. 이를 피하기 위해 다양한 전략(예: 무작위 가중치 초기화, 조기 정지)을 사용할 수 있습니다.
- 신경망 알고리즘의 장단점 요약: 높은 성능, 이론적으로 모든 문제 해결 가능성, 일반화 모델의 장점과 높은 계산 비용, 과적합, 하이퍼파라미터 설정의 어려움 등의 단점.
'Deep Learning' 카테고리의 다른 글
7wk_Convolutional Operation for Multi-channel Inputs (0) | 2024.04.20 |
---|---|
5wk,6wk_Deep Neural Networks (0) | 2024.04.06 |
3wk_Machine Learning Basic (0) | 2024.03.23 |
2wk_Deep learning (0) | 2024.03.16 |
1wk_Early AI 와 Modern AI 차이 (0) | 2024.03.09 |