코딩을 하다보면 언제나 그 끝은 인공지능으로 귀결되는듯 하다.
아무래도 좀더 나은 프로그램을 짜려다 보면 점점 자동화되는 부분이 많아지고
이것은 결국, 모든것이 자동화되는 순간.. 인공지능이 되기 때문이다.
매번 이렇게 느끼면서도 막연히 "인공지능은 어려워.. 지금 내가 어떻게 만들어" 하며 미루기만 했는데
이젠 때가 된것 같았다.. 아니, 더이상 미룰수 없다는것을 알았다.
인공지능의 관심도가 극도로 높아진 지금이 개발의 적기이며 지금 안하면 앞서가기 힘들지 않을까 해서다.
마음은 급하지만 천리길도 한걸음부터이니.. 기초부터 탄탄히 다지는것이 필요해 정독할만한 교재를 찾았다. 인공지능의 전반적인 내용을 기초부터 담고 있을것 같아 이 책을 골랐다.
2개월에 걸쳐 끝까지 봤는데.. 솔직히, 절반의 절반도 이해 못했다. 아.. 내가 머리가 나쁘다는걸 또한번 확인했다. 어쩔수 없다.. 완벽히 이해할때까지 실제로 코딩을 해가며 몇번이고 계속 정독할수밖에..
인공지능은 탐색의 과정이다.
인간처럼 사고하고 판단하기 위해선 문제를 찾아내는 동시에 그 해답도 찾아쥐야 한다.
인간이 그동안 찾았던 수많은 문제와 해답을 인공지능이 알고 있다면?
인공지능은 그와 유사한 문제에 대한 해답도 찾아낼수 있을것이다.
이것이 바로 기계학습이다.
즉, 수천만개의 원인과 결과가 한쌍인 학습데이터를 알고리즘에 학습시키는 것이다. 그러면 원인과 결과의 관계식을 이끌어낼수 있고, 이 관계식을 유사한 문제와 답을 찾는데 이용한다.
보통 이러한 관계식은 신경망으로 구성한다.
우리 두뇌를 이루고 있다는 뉴런과 시냅스라는 구조를 본딴 신경망 구조이다.
시냅스란 뉴런 사이를 잇는 세포인데.. 뉴런 사이에서 신호를 전달하고 저장하는 역할을 한다.
시냅스는 무조건 신호를 전달하지는 않는다. 전달할때도 있고 그렇지 않을때도 있다.
수많은 시냅스가 신호 전달 여부를 Yes와 No로 간주하여 관계식을 만들어내는 것이다.
한편, 이러한 관계식은 굳이 원인과 결과라는 한쌍의 데이터가 없어도 만들수 있다.
예를 들어, 결과 데이터만 주어졌을때 특징이 될수 있는것들을 모두 뽑아내어 분류작업을 하거나, 다른 데이터와 합성을 하는등의 작업을 거치면 원인 데이터를 얻을 수 있다.
이것을 딥러닝이라 한다.
대표적인 딥러닝인 컨볼루션 신경망을 보자.
기본 아이디어는 데이터를 평면으로 표현할때 한점을 기준으로 주위의 점들이 얼마나 다른가를 살펴보는 것이다. 만약 임계치 이상으로 다르다면 특징 후보군이 되어 추출된다.
얼마나 다른가는 데이터 평면위에 조그만한 필터 평면을 하나 만들어 비교한다.
다시 말해, 데이터 평면위를 필터 평면이 돌아다면서 자신의 크기만큼의 데이터 평면과 합성하여 그 값을 전체적으로 비교한후 특징이 되는 부분을 찾아내는 것이다.
필터 평면을 여러층으로 구성한다면 더 정교한 신경망이 된다.
이 밖에도 여러가지 딥러닝이 소개되어 있고, 개념과 함께 구체적인 구현방법도 수학식으로 정리되어 있다. 선형대수학을 먼저 공부하고 봤더라면 좋을뻔 했다.
어잿든 설명은 이정도만 한다. 어렵기 때문이다ㅎㅎ
나머지는 좀더 공부한후 실제로 구현해 나가면서 코드로 올려볼 생각이다.
험난한 길이 될것 같다.
도움이 되셨다면~ 정성으로 빚은 저희 앱! 많은 이용 바래요:)
https://meorimal.com/index.html?tab=spaceship
https://meorimal.com/subway.html
'책' 카테고리의 다른 글
목적을 담자 그것도 확실히... 문서작성 최소원칙 (0) | 2019.05.26 |
---|---|
어림짐작인데 정확할거야... 생각에 관한 생각 프로젝트 (0) | 2019.04.08 |
인공지능 독학을 위한 예습복습... 머신러닝 쉽게 이해하기 (0) | 2019.02.07 |
유한하지만 끝이 없는... 시간의 역사 (3) | 2018.12.23 |
진짜를 찾아라... 워렌 버핏의 재무제표 활용법 (2) | 2018.10.20 |