[Aiffel] 아이펠 20일차 개념 정리 및 회고
1. 딥러닝 개념 정리
1) 신경망과 퍼셉트론
-
신경망
인간의 뇌에 복잡하게 얽혀 있는 1000억 개에 가까운 신경계 뉴런 -
퍼셉트론
뇌의 신경망 구조에서 착안된 형태를 띔. 이를 연결한 형태를 인공신경망(Artificial Neural Network)라고 부름
2) 퍼셉트론
- 2개의 레이어로 된 퍼셉트론(노드와 노드를 연결하는 부분 생각하기)
- 은닉층엔 H개의 노드가, 출력층엔 K개의 노드가 존재함.
- parameter(=weight, 단 weight는 bias도 포함함): 입력층과 은닉층, 은닉층과 출력층 사이에는 존재하는 행렬
✔✔✔🤔
Neural network에서 bias의 역할 (bias와 가중치 구분할 것..)
출처
- bias은 입력층, 은닉층에 존재.
- bias가 없을 경우 activation 함수의 steepness가 변형될 수 있다. bias가 있는 경우엔 activation 함수가 변형없이 좌표상의 위치를 옮길 수 있도록 해준다.
- linear function(y = ax + b)에서의 b의 역할과 비슷하다고 이해하면 쉬움
3) 활성화 함수와 손실 함수
- 활성화 함수
보통 비선형 함수를 사용함. 비선형 함수를 MLP 안에 포함시키면 모델의 표현력이 상승함.
레이어 사이에 비선형 함수가 포함되지 않을 경우 한 개의 레이어로 이뤄진 모델과 MLP의 차이가 없어진다.
-
종류 사진 출처
-
sigmoid
✔✔✔🤔 참고
자연 상수의 제곱np.exp(-x)
- ReLU보다 쓰임이 적다.
- vanishing gradient 현상이 발생
- exp 함수 사용 시 비용이 큼
- ReLU보다 쓰임이 적다.
-
Tanh
- 함수의 중심값을 0으로 옮김. sigmoid가 최적화 과정에서 느려지는 문제를 해결함
- 여전히 vanishing gradient 문제 존재
-
ReLU (Rectified Linear Unit)
- sigmoid, tanh에 비해 학습이 빠름
- 연산 비용이 크지 않고 구현이 간단함
-
- 손실 함수
정답과 활성화 함수를 가진 은닉층으로부터 얻은 정보 사이 차이를 계산하는 데에 사용되는 함수
(차이를 계산하고 파라미터를 조정하는 것이 딥러닝의 전반적인 학습 방법)
- 종류
- 평균제곱오차(Mean Squre Error)
- 교차 엔트로피(Cross Entropy)
- 평균제곱오차(Mean Squre Error)
4) 경사하강법
오차를 구한 후 오차를 줄이기 위해 시행하는 방법. 각 단계에서의 기울기를 구해 해당 기울기가 가리키는 방향으로 이동하는 방법이다.
- 학습률 Learning Rate
경사를 내려갈 때 기울기 값에 곱해주는 값
- step이 클 경우: overshooting을 방지하기 위해선 값을 잘 정해줘야함
- step이 작을 경우: 시간 소요가 커짐
- 계산 방향성
파라미터 W의 변화와 맞물리는 오차 L의 변화량을 구하려고 함. 이때 오차 기울기가 커지는 방향의 반대 방향으로 파라미터를 조정하면 됨. 이때 learning rate는 지나친 조정을 막는 역할을 할 수 있음.
5) 오차역전파법(Backpropagation)
출력층의 결과와 target 사이의 차이를 구함. 여기서 구한 오차값을 각레이어를 지나며 역전파해가며 각 노드가 가진 변수를 갱신하는 방법을 사용함.
2. 회고
이제까지 배운 딥러닝 알고리즘을 numpy로만 구현해서 원리를 알아보는 시간을 가졌다. 문제는 numpy에 익숙하지 않아서 이것도 이해를 잘 못한 거 같다. 그래도 딥러닝을 이해하는 데에 있어서 꼭 필요한 개념을 숙지할 수 있는 기회가 되었다. 앞으로 모델을 구축하는 데 있어서 어느 부분에서 오류가 났을지 생각해보는 과정이 조금은 더 수월해질 거 같다.
Author And Source
이 문제에 관하여([Aiffel] 아이펠 20일차 개념 정리 및 회고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gongsam/aiffel20저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)