인공 신경망

J. Hwang·2024년 8월 13일
0

인공 신경망 (artificial neural network) 은 생물의 신경망이 작동하는 방식을 차용한 알고리즘이다.

생물의 뉴런은 이전 뉴런으로부터 자극을 수용하여 (→ input) 축삭 돌기가 그 자극을 전달하고 축삭 말단에서 그 자극을 다음 뉴런으로 내보낸다. (→ output) 이러한 뉴런들이 복잡하게 연결되어 고차원적인 정보 처리를 가능하게 한다. 이를 그대로 컴퓨터로 구현한 인공 신경망은 보다 복잡한 문제까지 해결할 수 있게 된다.


Image credit : https://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture4.pdf

위 그림에서 인공 신경망이 선형 데이터를 처리할 때의 모습을 볼 수 있다. 신호 x0x_0가 input되고, 거기에 weight w0w_0가 곱해진 후 신호들이 모여서 bias term bb가 더해진다. 여기에 활성화 함수 (activation function) 이 곱해지고, 이 값이 어떤 threshold를 넘어서면 output을 내놓게 된다.

* 활성화 함수 : 인공 신경망에서 input을 변환하는 함수로, linear한 layer를 non-linear하게 변환하는 등의 역할을 한다. sigmoid, tanh, ReLU 등의 함수를 이용한다.

cf) 퍼셉트론 (perceptron) : 인공 신경망의 한 종류로, 수용층, 연합층, 반응층으로 구성되어 있다. 가장 간단한 형태의 선형 분류기로 볼 수 있다.

이미지 분류 작업에서 인공 신경망이 작동하는 방식을 간단히 정리해보면 아래와 같다.

  • 이미지에서 feature (zz) 를 추출한다. (featurization)
  • feature (zz)를 라벨과 매핑하는 함수 f(z)f(z) 를 만들어 훈련시킨다.
  • 이미지가 잘 분류되는지 테스트한다.

인공 신경망은 input부터 output 처리까지 하나의 프로세스로 처리하는 모든 과정을 포괄한다.


References

https://en.wikipedia.org/wiki/Neural_network_(machine_learning)
https://en.wikipedia.org/wiki/Perceptron
https://en.wikipedia.org/wiki/Activation_function

profile
Let it code

0개의 댓글