뉴런 표현 및 연산 방법
생물학의 신경 세포를 단순화하여 모델링 한것이 뉴런입니다. 뉴런은 신경망의 기본 단위입니다. 뉴런은 여러 신호를 받아, 하나의 신호를 만들어 전달하는 역할을 합니다. 출력을 내기 전에 활성 함수(activation function)을 통해서 비선형 특성을 가할 수 있습니다.
뉴런 연산 방법은 다음과 같습니다.
- 두 벡터 가중치 weight와 입력 x의 내적을 구한 후 모두 합한다.
- 편향을 더합니다. 편향이 없으면, 추세선은 원점을 꼭 지나야 합니다.
- 활성 함수를 적용해 비선형 함수로 만듭니다.
두 벡터의 내적은 다음과 같이 표현할 수 있습니다.
두 벡터의 내적 |
FC(Fully Connected) Layer Matrix 곱셈 연산 표현 방법
뉴런이 모인 한 단위를 계층(Layer)라고 하며, 이전 계층과 다음 계층의 모든 뉴런이 서로 연결된 계층을 Fully-Connected Layer(Dense Layer)라고 합니다.
N개의 입력, M개의 출력이 있는 네트워크 예제입니다.
- 매트릭스 W의 w0는 (N*1)의 벡터이며, 이런 w0를 M개 나열되어 있습니다.
- 입력 x는 N개라 행렬로 표현하면 (N*1)로 표현됩니다.
- 가중치를 transpose하여 (M*N)*(N*1)을 연산하여 출력은 (M*1) 형태가 됩니다.
얕은 신경망 - Shallow Neural Network 구조
얕은 신경망 - Shallow Neural Network |
입력 계층(Input Layer)
- 아무런 연산 없이 은닉계층으로 값을 전달함.
- 계층의 크기=Node의 개수=입력 Scalar의 수=입력 Vector의 길이
x = [x0, x1, x2, ... ,xN-1]T
은닉 계층(Hidden Layer)
- 입력층과 연결된 계층
- 비선형으로 변환시키는 계층
h = ah(Whx + bh)
출력 계층
- 은닉층과 연결된 계층
- 출력 계층의 크기 = 출력의 Scalar수 = 출력 벡터의 길이
y = ao(Woh + bo)
심층 신경망 - Deep Neural Network (DNN)
심층신경망 - Deep Neural Network |
- 은닉계층 추가하여 특징의 비선형 변환 추가 - 히든 레이어를 추가할 때 마다 더 휠 수 있음
- 학습 매개변수의 수가 계층 크기의 제곱에 비례
- Sigmoid에 Gradient vanishing 문제로 ReLU(Rectified Linear Unit)를 사용
심층 신경망 수식 표현
심층 신경망은 합성 함수로 표현할 수 있습니다.감사합니다.
Reference
- Fast Campus
댓글
댓글 쓰기