지능?
다세포 생물이 진화하는 과정에서 정보처리용 세포인 신경세포가 탄생했다.
신경세포 하나하나는 간단한 연산만 가능하지만 네트워크를 형성하면 고도의 정보를 처리할 수 있다.
약 1000억개의 신경세포가 집적된 뇌는 사람의 지능을 관장하고 체중의 2~3%에 불과하지만 25%의 열량을 소비한다.
예쁜꼬마선충
적은수의 체세포를 가진 다세포생물.
개체에 상관없이 발생 과정에서는 원래 1090개의 세포가 만들어지지만 그중 정확히 131개가 유전적으로 프로그래밍된 과정을 딱딱 밟아서 세포자살을 행해 사라져 959개(수컷은 1031개)가 된다. 이중 302개가 신경세포인데, 모든 신경세포의 연결상태가 밝혀졌다. (=커넥톰)
커넥톰 : 커넥톰은 뇌 속에 있는 신경 세포들의 연결을 종합적으로 표현한 뇌지도이다.
이 생물은 적은 수 의 신경세포를 가지고 있지만 좋아하는 온도를 찾아가는 점, 수컷이 배고플땐 음식을 찾아가고 배부를땐 짝짓기 상대를 찾아가는 점, 먹고 배아프면 그 먹이는 다시 안 먹는 점, 머리를 만지면 뒤로 도망가는 점, 주변 먹이가 별로 일땐 알을 덜 낳는 점, 한가지 냄새를 많이 맡으면 그에 적응하는 점 등 자체적인 프로그램을 가지고 있다.
꼬마선충의 커넥톰을 따로 알고리즘이 없는 로봇에 넣었을때 꼬마선충처럼 벽이 보이면 돌아가는등의 행동을 하게된다.
인공지능
종류 | 설명 |
머신러닝 | 컴퓨터상의 알고리즘이 학습하고 판단 |
유전 알고리즘 | 컴퓨터상의 유전자가 돌연변이를 일으키거나 서로 교배해서 더 좋은 결과가 나올때까지 반복, 채택 |
집단지능 | 생물체 집단을 모방하여 단순한 개체가 집단을 형성할때 고도로 지능적인 행동을 수행 |
퍼지(fuzzy) 제어 | 정답이 정해진게 아니라 사람의 경험법칙에 가까운 선택 예를들어 깨끗한물이라는것을 100% 깨끗한 물만 허용? 90%까지 허용? -> 정수기에서 사용 |
전문가 시스템 | 인간이 특정분야에 대하여 가지고 있는 전문적인 지식을 정리하고 표한하여 컴퓨터에 기억 시킴 X-ray를 주고 폐렴 환자인지 구분 |
머신러닝
인간의 학습능력을 컴퓨터상에서 재현하는 기술
방법 | 설명 |
강화학습 | '에이전트' 현재 상태를 인식하여 선택 가능한 행동들 중 '보상을 최대화하는 행동 또는 순서'를 선택한다. 진행할수록 AI가 강해진다. |
의사결정트리 | ![]() 트리구조로 데이터를 분류하고 트리를 학습시켜 데이터를 적절하게 예측할 수 있게 된다. |
서포트 벡터 머신 (SVM) | 다차원의 초평면(3차원 평면의 확장)을 학습하여 데이터를 분류. 딥러닝 나오고 사그라들었다. |
K최근접법 | 새로운 데이터가 들어왔을때 주변에 가장 가까운 K개의 점을 선택해서 가장 많이 발견된 데이터의 종류를 따라가는(다수결) 알고리즘. 가장 간단한 머신러닝 알고리즘 |
신경망 | 뇌의 신경세포 네트워크와 같이 하나의 뉴런(시그모이드)에는 다른 뉴런들로부터 여러개의 입력이 들어오고 그 입력을 통합적으로 처리하여 새로운 출력을 만들어내 다음 뉴런으로 전달한다. |
딥러닝
사람의 뇌 신경세포를 본따 만들었기 때문에 일부 분야에서 사람의 뇌와 비슷한 수준의 학습이 가능하다.
여러층으로 구성된 신경망에는 입력과 출력이 있고 신경망 각 파라미터(Hidden layer)를 최적화 하는 과정에서 신경망 자체가 학습이 되는것이다.
Input 하나하나는 많은변수(w1x1 +w2x2 ...)를 거친 시그모이드를 통해 얻은 결과값(0~1)이며 w는 각각의 변수의 정확도이기 때문에 시그모이드의 정확도이고 입력값이 서로 상호작용 하면서 Hidden layer를 통해 output이 어떤 값일지 하나하나 유추해내는것이다.
Hidden layer가 커지면 정확도는 늘어나지만 속도가 떨어지고 줄어들면 유추를 적게했기 때문에 정확도가 줄어든다.
딥러닝으로 이미지를 인식하는 방법
8을 넣으면 각각의 픽셀이 시그모이드 함수를 통해 적절한 값인지 유무를 체크하고, 학습이 완료된 신경망의 입력값으로 넣는다. 그후 Hidden layer에서 모든 입력값(픽셀)을 가지고 각각의 숫자일 확률을 추측 후 각 인덱스에 대한 판별점수를 출력으로 내놓는다.
판별점수를 가지고 가장 확률이 높은 숫자의 인덱스(00000 00010)를 만들어서 반환하는데 사용자가 인덱스를 가지고 숫자로 바꿔서 사용한다.
'프로젝트 > 게임 AI' 카테고리의 다른 글
인공지능을 위한 수학 : 로그의 유래 (0) | 2019.08.07 |
---|---|
인공지능을 위한 수학 level 1 : 변수와 상수 ~ 자연로그 (0) | 2019.08.06 |
딥러닝 선수지식 3 : 수학과 파이썬 (0) | 2019.08.05 |
딥러닝 선수지식 2 : 파이썬 기초 (0) | 2019.08.03 |