ANN 인공신경망
사람의 실제 신경망을 모델링해서 만든 네트워크다. 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성되며, 각 층은 뉴런(Neuron)으로 이루어져 있다. ANN에서 뉴런은 퍼셉트론(perceptron)이라고 한다. 하나의 층은 여러 개의 퍼셉트론으로 이루어져있고, 이 층이 여러 개로 이루어진 것이 인공신경망 ANN이다.
출력층 Output Layer
문제의 형태에 따라 출력의 형태도 달라져야 한다. 출력층을 하나로만 일관시켜 사용하면 이런 세분화된 문제를 해결하지 못하기 때문에 우리는 출력층부터 만들게 된다. 은닉층에서의 연산 결과를 원하는 출력으로 바꾸는 것이 출력층이다.
입력층 Input Layer
우리가 데이터를 사용할 때, 데이터가 사진인지 table인지 문자열인지 등 어떤 데이터가 들어오느냐에 따라 처리하는 방식이 다르기 때문에 이를 처리할 수 있는 층이 필요한 것이다. 입력층은 들어온 데이터를 은닉층으로 전달한다.
은닉층 Hidden Layer
연산을 처리하는 층이다. 입력층이 주는 데이터를 받아들여서 특징과 패턴, 규칙을 학습한다.
동작방식
1. 순전파 (Forward Propagation)
입력 데이터를 통해 각 층의 뉴런이 활성화되고, 최종 출력 값을 계산한다. 예를 들어, 입력으로 키와 몸무게를 전달해서 나이를 예측할 것이다. 은닉층은 키와 몸무게의 특징을 찾고, 이 통해 출력층을 바탕으로 나이를 예측한다.
2. 손실 계산 (Loss Calculation)
예를 들어, 예측한 나이가 실제 값과 다를 수 있는데, 이 때 예측 값과 실제 값의 차이를 손실 함수(Loss Function)로 계산한다. 이는 푸는 문제에 따라, 어떤 손실 함수를 적용하느냐에 따라 다양한 결과가 나온다.
3. 역전파 (Backpropagation)
손실 함수의 기울기를 출력층에서 입력층 방향으로 계산하고, 이를 바탕으로 가중치를 업데이트다.
파라미터 Parameter는 일반적으로 머신러닝 or 딥러닝에서, 업데이트하기 위한 가중치를 말한다.
출력레이어의 유형과 활용
출력 레이어는 신경망의 최종 예측 값을 출력하는 층으로, 문제의 유형에 따라 다양한 형태로 구성될 수 있다. 출력층은 우리가 원하는 출력값을 만들기 위해 사용한다.
1. 회귀 문제 (Regression)
1차원 값을 예측할 것이라면, 출력 레이어의 뉴런 수도 차원의 값과 동일하다. 활성화 함수로는 주로 선형 함수(linear function)를 사용한다.
2. 이진 분류 문제 (Binary Classification)
출력 레이어의 뉴런 수는 1로, 활성화 함수로는 시그모이드 함수(Sigmoid Function)를 사용한다.
3. 다중 클래스 분류 문제 (Multi-Class Classification)
출력 레이어의 뉴런 수는 예측하려는 클래스 수와 동일하다. 활성화 함수로는 소프트맥스 함수(Softmax Function)를 사용한다.
강의 외부에서 추가로 알게 된 내용
- 회귀 모델 (Linear regression)
최종 목표 : minimize cost(W,b) => 주어진 값들을 최소화하는 것.
- .join()
- 리스트나 튜플의 요소들을 하나의 문자열로 합칠 때 사용한다.
- 요소들은 반드시 문자열이어야 하고, 그 요소들 사이에 삽입될 구분자를 앞에 위치시켜 호출다.
- cost function = loss fuction = 손실 함수
우리가 예측한 값과 실제 값의 차이를 구하는 함수. 손실 함수로 계산한 결과 값은 클수록 안 좋고, 작을 수록 좋다.
즉, 코스트 값이 0에 가깝거나 0이 나오면 예측이 좋은 것. 맞은 것.
- learnig rate
- cost 함수 계산 시, 값이 줄어들지 않고, 커지거나 숫자가 아닌 값이 나온다면(=발산한다), learnig rate 값을 너무 크게 설정한 것.
- cost 함수 계산 시, 값이 거의 변하지 않거나 너무 조금 씩 변한다면, learning rate 값을 너무 작게 설정한 것.
- 따라서 우선 0.01로 계산해보고, 나오는 값에 따라 조정해나가는 것이 좋다.
'AI 부트캠프 > 챕터2(10.14~11.08)' 카테고리의 다른 글
TIL 20 (0) | 2024.10.23 |
---|---|
TIL 19 (1) | 2024.10.22 |
WIL 3 (0) | 2024.10.18 |
TIL 16 머신러닝 (0) | 2024.10.18 |
TIL 15 실무에 바로 쓰는 바닥부터 시작하는 머신러닝 (0) | 2024.10.17 |