[NLP] 인공 신경망 : Artificial Neural Network

KingU·2022년 5월 11일
0

NLP

목록 보기
4/14
post-thumbnail

인공 신경망 : Artificial Neural Network



정의

인공 신경망 Artificial Nerual Network는 두뇌의 신경세포인 뉴런을 수학적으로 모방한 모델

인공 신경망 뉴런에 들어온 입력값이 임계치를 넘어 활성화되면 다음 뉴런으로 출력값을 내보낸다.

뉴런의 출력의 수는 항상 1이며 입력의 수는 임의로 정할 수 있다.


수식을 제외하고 입력값(x)에 가중치(w)와 편향값(v)를 더해

y = (w0x0 + w1x1 + w2x2) + b






활성화 함수

가중치 계산 결과값 y가 최종적으로 어떤 출력값으로 내보낼지 결정



스텝 함수 : step function


그래프 모양이 계단과 유사
입력값이 0 보다 클 때는 1, 0 이하일 때는 0으로 처리 => 입력값이 양수일 때만 처리
결과를 너무 극단적으로 나누어 이분법에 사용

수식

h(x) = 0 (x ≤ 0)
	   1 (x > 1)




시그모이드 함수 : sigmoid function


스텝 함수의 극단적인 예시를 완화하여 계단 모양을 완만한 형태로 표현한 것

0에서 1까지의 출력값이 확률로 표현

시그모이드 함수의 분모에 exp 함수를 사용한다; exp: 연산 비용이 큼
최근에는 신경망을 여러 계층으로 구현하는 경우 잘 사용하지 않는다.

수식

S(t) = 1÷1+e^-t




ReLU : Rectified Linear Unit


입력값이 0 이상인 경우 기울기가 1인 직선이고, 0보다 작을 땐 결과값은 0

상대적으로 연산 비용이 크지 않아 학습 속도가 빠르고,
시그모이드의 단점을 완화하는 것에 효과적이라 활성화 함수로 자주 사용된다.

수식

f(x) = 0 (x < 0)
	   1 (x ≥ 0)








단층, 심층 신경망


신경망 모델로 해결할 때 1개의, 뉴런만 사용하지는 않는다.
문제가 복잡할수록 뉴런의 수가 늘어나며 신경망의 계층도 깊어진다.

  • 단층 신경망: 입력층, 출력층으로만 구성된 신경망 층

  • 얕은 신경망: 입력층과 1개의 은닉층, 출력층으로 구성된 신경망 층

  • 심층 신경망 Deep Neural Network, DNN: 입력층 1개 이상의 은닉층, 출력층으로 구성된 신경망 층

문제 복잡도에 비해 은닉층이 너무 깊어지거나 뉴런의 수가 너무 많으면
학습 비용이 높아지고 학습이 잘 안 되는 문제가 존재하기에
많은 실험을 통해 최적의 결과를 내리는 쪽으로 결정을 해야한다.






당신의 시간이 헛되지 않는 글이 되겠습니다.
I'll write something that won't waste your time.

profile
원하는 것을 창조하고 창조한 것을 의미있게 사용하자

0개의 댓글