예전.. 학부 시절에 ANN으로 번호판 인식하는걸 할 때 들던 생각인데.. <div>이게 정말 지능이라고 해야 할까? 싶었는데</div> <div>이게 인류 최고급의 바둑기사를 이기다니 참 신기한 세상이네요</div> <div><br></div> <div><br></div> <div>인공신경망은 사람의 두뇌속 시냅스를 흉내냅니다.</div> <div>시냅스 하나하나의 작동은 어떻게 될지 모르지만 <span style="font-size:9pt;line-height:1.5;">전기적으로 / 화학적으로 작동하며</span></div> <div>각 신호에 따라 시냅스에서 증폭이 되어 다른 시냅스로 전달되거나 감소하게 됩니다.</div> <div><br></div> <div>만약 입력받은 영상에서 숫자의 영역을 20x20 사이즈로 한다면</div> <div>총 400개의 입력이 있게 되고</div> <div>출력은 0~9 까지 총 10개로 수렴하게 됩니다.</div> <div><br></div> <div><div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201603/1457916117cIVjzMVjsEkdV9eI.png" width="205" height="246" alt="다운로드.png" style="border:none;"></div><br></div> <div>그리고 각각의 노드(원)에는 가중치가 있어 입력받은 값들을 곱해 값을 지니고 <span style="font-size:9pt;line-height:1.5;">또 곱해서 다음 노드로 단순하게 값을 전달 합니다</span></div> <div><span style="font-size:9pt;line-height:1.5;">위의 그림만 하더라도 노드별로 들어오는 화살표의 갯수를 보면 연산량이 적진 않음을 아실수 있을 겁니다.</span></div> <div><br></div> <div>즉, 노드의 숫자가 늘어 날수록 곱해야 하는 값들은 기하급수적으로 늘어나게 되기에</div> <div>제가 배우던 2000년 중반만 해도 cpu가 꽤 힘들어 했고</div> <div>숫자인식만 해도 학습이 몇시간 걸리곤 했었죠(망할 matlab 이 문제지만.. + 망할 pentium 4)</div> <div>거기다가 돌려보면 국소해(local minima)에 빠져서 그럴싸한 답이 나오지만 조금만 다른 값이 들어가면 <span style="font-size:9pt;line-height:1.5;">오답을 내기도 일수였구요.</span></div> <div><br></div> <div>아무튼, 그래픽 카드의 도움으로(얘네는 if는 드럽게 못하고 + - * / 는 겁나 잘하는.. 직진성과 물량빨로 밀어 붙이는 느낌?)</div> <div>저 수 많은 연산량을 CPU에서 덜어줌으로서 지금과 같은 유효한 시간 내에 적절한 답을 내주는 시스템이 구성되게 된 것이죠.</div> <div><br></div> <div><br></div> <div><br></div> <div>하지만 저걸 구현해보면서 느낀건</div> <div>단순하게 노드의 weight 값을 내가 만들어준 학습쌍(입력값-원하는 결과값)을 통해 수렴해 가면서</div> <div>원하는 일정 결과가 나오게 되지만, 프로그램을 한 사람 입장으로는 일종의 블랙박스로 밖에 보이지 않습니다.</div> <div>비슷한, 유사한 결과가 나오더라도 내부적으로는 노드의 값들이 모두 다를수도 있으니까요.</div> <div><br></div> <div>물론 인간의 뇌를 묘사하여 만든 알고리즘이기에 <span style="font-size:9pt;line-height:1.5;">저걸 또 부정하게 된다면.. </span></div> <div>인간의 전기/화학반응으로 발생하는 두뇌작용 역시 지능이 아니다 라고 해야 하는 문제가 발생하기에 <span style="font-size:9pt;line-height:1.5;">참.. 딜레마에 빠지게 되더군요</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div>머.. 간략하게 요약하자면</div> <div>알파고는 이런 1940년대 즈음의 인공 신경망에 기반을 두고 있으며</div> <div><a target="_blank" href="https://ko.wikipedia.org/wiki/%EC%9D%B8%EA%B3%B5%EC%8B%A0%EA%B2%BD%EB%A7%9D" target="_blank">https://ko.wikipedia.org/wiki/인공신경망</a></div> <div><br></div> <div>미친듯한 연산력을 바탕으로 (cuDNN)</div> <div><a target="_blank" href="https://developer.nvidia.com/cudnn" target="_blank">https://developer.nvidia.com/cudnn</a></div> <div><br></div> <div>빅데이터를 통해 사람이 수작업으로 예제 - 정답을 알려주지 않아도 되는(강화학습, q-learning)</div> <div><a target="_blank" href="https://en.wikipedia.org/wiki/Q-learning" target="_blank">https://en.wikipedia.org/wiki/Q-learning</a></div> <div><br></div> <div>DQN(Deep Q-learning Network)을 수행하는 프로그램일 뿐입니다만.. <span style="font-size:9pt;line-height:1.5;">그 수행 방식 자체는 인간을 모사했다는 점입니다.</span></div> <div><a target="_blank" href="https://deepmind.com/dqn.html" target="_blank">https://deepmind.com/dqn.html</a></div> <div><br></div> <div><br></div> <div>결론 : 그런거 없음. 걍 뿌직뿌직 글입니다.</div> <div><br></div> <div><br></div> <div>사족 : 돌고 돌면 서로 통한다지만... 컴퓨터를 배울수록 알게 되는건 인간이며</div> <div> 알아갈수록 알게 되는건 모른다는 점뿐 인 것 같습니다.</div> <div><br></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.