인공지능이 무엇인지 개념 파악하기 위한 초간단 설명임.
전구가 4개 있다고 가정하자. 위 그림처럼 전구에 빨간 불이 랜덤하게 켜질 수 있는데, 빨간 불이 켜지는 상황에 따라 아래에 있는 전구 2개에도 파란 불이 켜지는 장치를 만들고자 한다.
규칙은, 빨간 불이 위쪽에 많이 켜지면, 파란불이 위쪽에. 그 반대이면 파란불도 그 반대쪽에 켜지는 규칙을 만족하는 장치라고 하자.
이런 장치를 만드는 건 사실 어렵지 않다. 하지만 어렵다고 가정하자. 그래야 이야기할 맛이 나잖아.
이 어려운 문제를 풀기 위해서 옛날에 어떤 과학자가 아래와 같은 장치를 고안했다.
오? 이게 뭐야? 어디서 많이 본 것 같다.
그렇다. 우리 몸에서 신경자극이 흘러가는 모양과 비슷하다. 우리 머리를 열어보면 저렇게 되어 있다.
그래서, 지금 인공지능(Artificial Intelligence)라고 부르는 걸 과거에는 '신경회로망(Neural Network)'이라고 불렀다.
인공지능이라고 좀더 폼나게 부르게 된 건 최근이다.
다시 본론으로 돌아가자.
위에 보인 신경회로망으로 어떻게 문제를 해결할 수 있을까? 공학적인 문제를 풀기 위해 수학을 사용하기로 하자.
일단, 전구가 켜지면 1이라 하고 전구가 꺼진 것을 0이라 하자. 그러면,
요렇게 생각할 수 있다.
그 과학자가 처음에 생각한 것은 이런 것이었다.
r0, r1, r2, r3은 0 또는 1의 값을 갖는다.
y0 = r0 x w00 + r1 x w10 + r2 x w20 + r3 x w30 + b0
w00, w10, ... 요 놈 값을 '아주 자아아아아알' 정하면 원하는대로 동작하는 장치를 만들 수 있지 않을까? 하는 생각을 했다.
b0 = y0 x t00 + y1 x t10 + ... + y5 x t40
그림을 간단하게 그려서 그렇지 사실은,
y1 = r0 x w01 + r1 x w11 + r2 x w21 + r3 x w31 + b1
y2 = r0 x w02 + r1 x w12 + r2 x w22 + r3 x w32 + b2
...
y5 = r0 x w05 + r1 x w15 + r2 x w25 + r3 x w35 + b5
가 된다. b도 마찬가지다.
오우, 예상외로 간단하다. 저렇게 선만 그어도 된다는 거지? 엄청 쉽네.
맞다. 그림 자체는 매우 간단하다.
하지만 저 시스템이 동작하려면 과학자가 처음 생각한 것처럼
wij 값을 '자 아아아아아알' 구해야 한다.
또한 슬그머니 들여온 b (바이어스 또는 편향이라고 함) 값을 구해야 한다.
인공지능 프로그램이란, 결국 w값과 b 값을 구하는 문제와 같다.
이 값을 잘 구하면 진짜 원하는 대로 장치가 동작한다.
사람의 수명이 수억년이라면, w와 b값을 마음껏 바꿔가며 테스트해볼 수 있지만
사람의 수명은 짧다. 더 스마트한 방법이 필요하다.
그래서 나온 방법은.....
w와 b를 변수로 두고 편미분을 써서 w와 b 값을 구하는 것이다.
대충 요정도만 감 잡으면 나머진 그냥 일반 인공지능 책보고 배우면 된다.
'인공지능' 카테고리의 다른 글
7.4.4 풀링 계층 구현하기 (0) | 2021.08.12 |
---|---|
인공지능 개념 파악하기 - 2/2 (0) | 2021.08.07 |
7.4.3 합성곱 계층 구현하기 (0) | 2021.08.04 |
7.4.2 im2col로 데이터 전개하기 (0) | 2021.08.04 |
7.4 합성곱/풀링 계층 구현하기, 7.4.1 4차원배열 (0) | 2021.08.04 |
댓글