이 글은 Artificial Neural Networks (ANN) Introduction 을 읽고 요약한 글입니다.
개발자이지만 AI와는 거리가 먼 업무를 하면서도 CNN(Convolutional Neural Networks), DNN(Deep Neural Networks) 같은 단어는 들어봤었다. 하지만 ANN이라는 단어는 처음 들어봤는데 얘네들의 할아버지? 같은 느낌이었다. 현재는ANN의 단점을 보완한 CNN 혹은 DNN 등을 더 많이 사용되는 듯 하다.
그렇다면 ANN이란 무엇일까?
ANN은 AI를 구현하고자 할 때 인간 뇌의 신경망을 본 따 만든 모델이다.
이 글에서는 손으로 쓰여진 숫자를 인식하는 예제를 들고 있다.
모델의 INPUT으로 손글씨 이미지가 들어가고,
모델의 OUTPUT으로 해당 이미지가 0~9 사이 어느 숫자인지가 출력된다.
그리고 INPUT과 OUTPUT 사이에 여러개의 층(Layer)가 존재한다.
각 층은 여러개의 뉴런(Neuron)으로 구성되어 있다.
글씨 이미지가 입력되면 모델을 구성하고 있는 각 층의 뉴런들 중 일부가 활성화된다.
이 활성화의 결과로 나온 OUTPUT이 우리가 의도한 숫자이면 모델이 잘 동작한다고 볼 수 있다.
어느 뉴런을 활성화할지가 관건인데 크게 두 가지로 나뉜다.
하나는 한 뉴런의 신호가 다른 뉴런의 신호에게 전달하는 가중치(Weight)값이고
다른 하나는 한 뉴런이 신호에 반응하는 최소(Minimum)값이다.
A 뉴런에서 B 뉴런으로 weight가 3이라는 말은 A가 활성화되었을 때 B가 받는 신호의 크기가 3이라는 이야기이다.
만일 B가 A뿐만 아니라 C, D에게서도 신호를 1씩 받았을 경우 B가 받은 총 신호의 합은 5(A의 3 + C의 1 + D의 1)이다.
B의 반응 Minimum값이 4이면 B도 활성화되지만 Minimum값이 6이면 B는 활성화되지 않는다.
'Data Analysis > Data' 카테고리의 다른 글
개선됨을 증명하고자 한다면 AB 테스트를 써보자 (0) | 2022.03.02 |
---|---|
CNN(Convolutional Neural Networks) (0) | 2022.02.14 |
데이터 분석의 고전 - PCA (Principal Component Analysis) (0) | 2022.02.08 |
전세계 회사의 딥러닝 모델은 어떻게 운용(Serving)되고 있을까? (0) | 2022.01.27 |
전세계 회사의 데이터 엔지니어는 무슨 일을 할까? (0) | 2022.01.27 |