티스토리 뷰
신경과학에 대한 간단한 설명(시스템 레벨의 뇌 연구)
시냅스나 피질자체의 구체적인 작동원리 보다는 뇌가 사용하는 알고리즘, 개념의 묘사, 종합적 구성의 계층적 시스템보다 상위 수준에서 일어나는 뇌의 계산 원리에 더 관심이 많다
이유: 뇌를 새로운 알고리즘을 디자인 할 수 있는 씨앗으로 보는 것이 중요하다고 생각하기 때문.
그 알고리즘이 실리콘 재질인 컴퓨터에서 구현되는 방법이 두뇌에서 응용되는 방법과는 다를것이다.
그렇기에, 뇌의 세부적인 동작 하나하나를 그대로 모방하는 접근 방법은 좋지 않다고 생각 한다.
딥마인드 팀이 신경과학에서 연구하는 분야는 기억,주의,추상적 지식과 같은 개념, 계획, 네비게이션
그리고 상상력에 관한 것들..
뇌에서 해마(Hippocampus)는 여기에 언급한 많은 기능들과 매우 중요한 연관성을 갖고 있었다.
(참고로 데미스 하사비스는 대학원에서 해마에 관한 연구를 진행했었습니다.)
해마는 피질과는 아주 다른 구조를 갖고 있었다.
6겹이 아닌 3겹이고 훨씬 더 고전적인 구조를 갖고 있었다. (모든 포유류가 갖고 있다.)
해마가 뇌의 기능에 어떤 기여를 하는가에 대한 연구는 아주 흥미롭다. (딥마인드는 인공해마를 만들고 싶어 하는 것 같습니다.)
알파고를 만든 이유: 딥러닝과 강화학습이 장기적 전략 수립에 합쳐질 수 있다고 생각했기 때문
이런 면에서, 바둑은 최적의 검증 환경을 가졌다. (바둑은 직감이 아주 중요하면서, 계획과 계산도 많이 해야하기 때문)
-
바둑판에서 배치가능한 경우의 수는 10의 170제곱으로 그 수가 우주 속 원자보다 많다.
-
바둑으로 둘 수 있는 총 경우의 수는 10의 700제곱
-> 경우의 수를 따지는 것 자체가 불가능 (10의 170제곱이라는 복잡성 때문에 직접적으로 수를 계산하는것은 불가능 하다.)
-> 이를 구현하기 위해서는 패턴인식 기능과 전략수립이 결합되어야 한다.
인공지능 바둑 프로그램을 만드는데 가장 어려운 점 두가지
1. 검색할 대상을 실행 가능한 규모로 줄이는 것
2. 어느 특정한 상황에서 어느 쪽이 이기고 있는지 형세 판단을 하기가 힘들다는 점
체스의 경우는 각 상황에서 평균적으로 20개 정도의 움직임이 가능 하다 .
즉, 다시말해 체스의 분기 계수는 대략 20개 이다.
바둑에서는 상대적으로, 각 상황에서 평균적으로 200개 정도의 움직임이 가능하다. 즉 분기계수가 열 배 큰 200개이다. 그렇기에 탐색트리의 복잡성이 굉장히 크다.
바둑은 주로 직감에 많이 좌우되는 게임이다.
이러한 직감과 무의식은 평생의 배움과 경험을 바탕으로 나온다.
그것은 그들이 의식적인 계산을 통해 얻은 결론이 아니다.
(체스 선수가 왜 그런수를 두었는지 설명 가능한 것과는 다름)
형세 판단 기능을 만드는 것이 힘든 다른 한가지 이유로는
바둑에는 점수 체계 개념이 없기 떄문이다.
(체스의 경우 말마다 점수가 있다. -> 말들의 점수를 합하면 어느정도의 형세가 판단 가능 )
바둑은 모든 돌이 동일한 중요성을 갖고 있고 게임 중반까지는 어느구역이 누구의 땅이 될지 알 수 없음
어떻게 이러한 두가지 문제를 극복했는가?
심층 신경망과 딥러닝 사용
두가지 신경망 구축
1. 인터넷에서 다운받은 10만개정도의 상급 아마추어 수준 기보를 넣었다.
정책 네트워크라고 명명한 첫번째 신경망을 지도학습 방법(supervised learning)으로 훈련
인간 바둑기사가 둔 기보의 자리를 바탕으로 정책네트워크로 하여금 다음 수를 예상하도록 만들었다.
예측 실력이 좋아졌을 때, 이 정책 네트워크가 스스로 자신과 수천,수백만번 게임 하도록 만들었다.
아마추어 바둑기사를 단순히 흉내내는것에 그치는것이 아니라, 강화학습을 이용해 아마추어 수준의 바둑인보다 더 잘하도록 만드는게 목표였다.
자신과 시합을 할 때 그냥 따라하는것이 아닌 승률을 높이도록 최적화 시켰다.
정책 네트워크 입력은 바둑판 위에 돌들의 위치정보를 입력으로 받아들이고,
정책 네트워크의 출력은 그 상황에서 가장 가능성이 높은 착지점들을 예측하는 확률 분포이다.
초록색 기둥들은 알파고가 가능성이 높은 착지점들을 표기해 놓은것들
기둥들이 높을 수록 개연성도 높은 것이다.
가치 네트워크 역시 바둑판 위에 돌들의 위치를 입력으로 받아들이며, 여기서 아웃풋은 0부터 1 의 단일 숫자이다.
-
0은 백돌이 이기고 있음
-
1은 흑돌이 이기고 잇음
-
0.5는 동률
이 두개의 신경망을 몬테카를로 탐색법과 롤아웃 기법으로 통합하고 최종 알파고 시스템을 만든다.
트리를 형성할때 현 상황에 가능한 모든 착수점을 고려하진 않는다, 정책 네트워크가 지정하는 가장 확률이 높은 서너개의 착수점만 고려한다. 이렇게하면 탐색트리의 크기를 현저하게 줄일 수 있다.
트리가 커진 후 두번째 신경망인 가치네트워크를 불러내 현재 트리에서 새롭게 형세 판단을 한다.
롤아웃 기법을 접목해, 게임을 끝까지 두었을 때 양측에 몇번의 승과 패가 있었는지의 통계를 내고 우선도가 낮은 경우를 롤아웃 한다.
즉, 가치네트워크는 착수점을 즉각적으로 평가하고
롤아웃 기법은 통계를 이용하는 평가를 한다.
정책 네트워크는 트리의 폭을 잘라내 줄이는 역할이다. 즉, 200개정도의 착수점을 보는것이 아니라 가장 높은 서너개의 착수점만 보는 것!
가치 네트워크의 일은 깊이를 줄이는 일, 게임의 맨 마지막 까지 보면서 누가 이기고 지는가를 몇백만번 하는것이 아니라 어느 선에서 길이를 줄이고 가치 네트워크를 불러내서 알파고가 얼마나 잘하고 있는지 형세를 판단해 줄 수 있는 것 이렇듯, 두개의 신경망을 결합해 탐색의 범위를 처리 가능한 범위 까지 줄이는 것이다.
<딥블루와 알파고의 차이점>
-
방법의 차이
딥블루는 체스마스터와 프로그래머에 의해 수작업된 지식을 사용
알파고는 전문가들의 게임 자체로 직접 플레이하면서 발전
딥블루는 모든 경우의 수를 탐색
알파고는 신경망을 사용해서 아주 선택적인 탐색
데미스 하사비스는 미국 잡지와의 인터뷰에서 다음과 같은 말을 했다고 한다.
" 내성적인 소년이었습니다. 항상 뭔가를 생각하고 있던것 같습니다". 그는 어린 시절을 이렇게 회상한다. " 나의 뇌는 도대체 어떻게 말의 움직임을 생각해 낸 것일까. 자연스럽게 그런 의문을 갖기 시작했습니다. 그렇게 해서 나는, "생각 "에 대해 생각하기 시작했습니다." (미국IT잡지 Wired 인터뷰中)
그는 확실히 사고하는 방식이 보통의 사람들과 다르며, 비범하고 정말 똑똑한 사람이라는 생각이 들었다.
(너무 당연한 얘기지만??!)
'머신러닝' 카테고리의 다른 글
입문자 초보자를 위한 텐서플로 기초 API (0) | 2020.02.06 |
---|---|
머신러닝 입문자, 초보자를 위한 내용 정리 (+Tensorflow) (0) | 2020.02.05 |
TensorFlow 2.0 에서 TensorFlow 1.0 , 1.x 버전 코드 실행하기 (0) | 2020.02.05 |
머신러닝 기초 (간단한 용어 및 개념 정리) (0) | 2020.02.04 |
데미스 하사비스 - 인공지능과 미래 강연 정리(1) (0) | 2020.02.03 |