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

Image credit : https://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture4.pdf
위 그림에서 인공 신경망이 선형 데이터를 처리할 때의 모습을 볼 수 있다. 신호 가 input되고, 거기에 weight 가 곱해진 후 신호들이 모여서 bias term 가 더해진다. 여기에 활성화 함수 (activation function) 이 곱해지고, 이 값이 어떤 threshold를 넘어서면 output을 내놓게 된다.
* 활성화 함수 : 인공 신경망에서 input을 변환하는 함수로, linear한 layer를 non-linear하게 변환하는 등의 역할을 한다. sigmoid, tanh, ReLU 등의 함수를 이용한다.
cf) 퍼셉트론 (perceptron) : 인공 신경망의 한 종류로, 수용층, 연합층, 반응층으로 구성되어 있다. 가장 간단한 형태의 선형 분류기로 볼 수 있다.
이미지 분류 작업에서 인공 신경망이 작동하는 방식을 간단히 정리해보면 아래와 같다.
인공 신경망은 input부터 output 처리까지 하나의 프로세스로 처리하는 모든 과정을 포괄한다.
https://en.wikipedia.org/wiki/Neural_network_(machine_learning)
https://en.wikipedia.org/wiki/Perceptron
https://en.wikipedia.org/wiki/Activation_function