편하게 읽어주세요.
유전자 알고리즘은 인간의 유전자 전달 체계를 재현한거야.
신경망 알고리즘은 인간의 뇌 시넵스 구조를 재현한거야.
이 두가지 알고리즘으로 인간 진화에 대해서 어느정도 시뮬레이팅이 가능하다고 생각해.
우리는 자손을 낳고 싶다는 생각보단 이성에게 끌려서 성욕이 생기지. ( 이건 유전자 역할이지 조상으로 물려 받은 )
우리는 우리가 결정한것이라고 하지만,
( 이건 유전자를 바탕으로 학습된 정보로 쌓아온 신경망 회로(의사결정)의 결과물이야 )
여기 계시는분들 모두 다 기본적으로 이해하는 거잖아.
하지만 이것을 유전알고리즘과 신경망알고리즘 인공지능으로 비교해볼께.
주사위는 육면체잖아 유전자입장에서 보면
어떤 유전자는 돈이 5개고 명예가 1이지
어떤 유전자는 돈이 1개고 명예가 5이지
그럼 유전자 마다 왜 다 틀리냐고?
엄마 아빠가 붕가붕가 한녀석들이 만날 때
세상에 단 하나밖에 없는 유전자가 생성된다고.
하지만 우린 뇌가 있자나... 유전자의 본능대로 움직이지 않는다고 ( 그것도 유전자의 설계지만 ㅡㅡ )
뇌는 신경망으로 되어있어. 신경망은 가중치라는게 있지. 가중치는 언제 업데이트 되냐고?
초 간단하게 설명하자면 학습의 결과지. "잘했다 + ,못했다 - "
실험용 개에게 먹이를 줄 때마다 종소리를 들려주는 실험으로 유명하지.
나중엔 먹이를 주지 않고 종소리만 들려줘도
개는 종소리에 대한 가중치가 높아져서 저절로 침샘이 분비되버리는거 말이야.
( 의사결정에서 있어서 가중치가 진짜 높은 것이 있다면 그건 신념 수준까지 되버리니까 말이야 )
가령 내가 돈이 5이고 명예가 1인 주사위를 타고났지만,
살아오면서 명예에 가중치를 두었다면
주사위를 굴려서 돈(5)이 나와도, 다시한번 더 굴려보지... 또 돈(5)이 나올 확률이 크겠지 ㅡㅡ;
내가 명예에 대한 가중치가 높다면, 명예(1)라는 선택이 나올때까지 존나게 굴리는거야.
그리고 마침내 명예(1)라는 선택이 나와서 신념대로 명예를 택하지. ㅡㅡ;
하지만 신념까지 높은 가중치를 두는 일은 거의 드물고... ( 그지? 주변을 봐도.. )
대부분 유전자의 기본 확률을 따르게 되어있어.
어쨌든 유전자는 객체가 자손을 많이 남겨주면 고맙고,
한명이라도 자식을 남기지 않으면, 그건 재앙이 되는거지 ㅡㅡ;
유전자 입장에서는 종말이거든. 사형이야 사형.
100년동안 아무도 섹스를 하지 않아봐
100년 뒤엔 인류 멸종이야.
자, 그럼, 유전 알고리즘에 대해서 말해볼게.
유전자 알고리즘 그렇게 적응한 몇몇 개체들끼리 붕가붕가 시켜서 반쪽을 택해..
예를들면
미로 찾기가 있지.. 미로 찾기 뱡향은 4가지야. 오른쪽은 2진수로 표현해볼게
0 - 동 - 00
1 - 서 - 01
2 - 남 - 10
3 - 북 - 11
어떤 미로 찾기에서 답이 : 동동동동북서서
이진수로 나열해보면 : 00 00 00 00 11 01 01
자... 그럼 미로찾기 정답을 유전자들이 찾가 가보도록 해볼까?
엄마 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ( 그래.. 동동동.... 동동... 이야 )
아빠 : 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 ( 여기는 북북북... 북북.. 이야 )
A와 B가 서로 조합을 해... 유전 알고리즘의 핵심은 이 조합을 어떻게 하냐에 있어.
01 01 01 01 01 01 01 01 01 01 01 01 이런식으로 할 수도 있고...
10 01 10 01 10 01 10 01 10 01 10 01 요렇게해도 할꼬 뭐
00 11 00 11 00 11 00 11 00 11 00 11
지 멋대로야..
그리고 여기서 제일 중요한 것은, 이렇게 자식들의 코드 중에서 낮은 확률로 "돌연변이" 를 이르켜.
00 11 00 11 11(돌연변이) 11 11 00 11 돌연변이도 지 멋대로 줄 수 있지.
이렇게 만들어진 자식들로 미로를 탐험하게 하고
가장 짧은 시간에 도달 또는 가장 목적지에 가까이 도달한
자식들을 높은 순위로 보존시켜서 아빠 엄마가 될 기회를 높혀줘.
반대로 목표와 거리 멀거나 도달하더라도 시간이 오래 걸리는 코드들은
엄마 아빠가 못 되서 혼자 살다 소멸할 확률을 높혀주지.
여기선 프로그래머가 인위적으로 목적지에 빨리 도달한 것을 적응도를 높이 평가한거지.
대충 1000000000000000 만번 돌다 보면 답이 나오거든.
세대당 개체 수, 교합 방식, 돌연변이 빈도, 돌연변이 방식 등에 따라서
1000번 돌아도 되고... 세팅값에 따라서는 평생 돌아도 답이 안 나올 수 도 있지.
그리고 이 유전알고리즘의 가장큰 문제는 최적화에 가까운 답을 찾는데는 능하다는 거야.
최적값까진 아니지만 대부분 근처까진 쉽게 갈 수 있지.
신경망 알고리즘???
아 이거 또 언제 설명하나...
인간은 뉴런이 시넵스 구조로 이루어져 있잖아.
시넵스에 대해서 간단히 설명할께..
A -- B -- C
뉴런 [A,B,C]가 있고 시넵스[AB,BC]가 있어.
뉴런은 전달 받은 신호가 임계점(일정 수치)를 넘으면 다음 뉴런으로 전달하고
일정 수치 이하면 보내지 않아. 그리고 뉴런마다 일정 수치는 다 다르고.
자, B뉴런의 임계점이 0.5라고 치자.
A에서 B로 가는 신호의 세기가 0.3 이야.. 그럼 B는 C로 전달 안해.
반대로 신호가 0.7이였다면 C로 전달하지.
그리고 이 신호 세기는 가중치라는 것에 의해 변할 수 있어.
계속 0.7로 가다가 결과가 좋으면 다음 번에는 시넵스들의 연결이 강해져서
0.8 .. 다음번은 0.9 이런식으로 증가하는 거야.
당신이 뭔가 기억 했다면 시넵스 연결이 강하고
기억이 잘 안나면 시넵스 연결이 약해서 못 넘어가는 거지.
그래서 초콜릿이 생각안나다가 단거 하면서 생가나는게
단거와 초콜릿의 시넵스가 연결이 강해서 연상해 낼 수 있는거야.
자, 인터넷에 잘 찾아보면 신경망 알고리즘으로
논리 연산을 학습할 수 있는 예제가 있어.
내가 설명할라 했는데... 너무 길어 미안. ㅠㅠ
http://blog.naver.com/nicezic/90027893278
PPT 파일 읽어보면 도움이 될꺼야.
신경망 알고리즘이 우리가 사고하는 방식이고
우리가 학습하는 방식이지..
의사결정을 내리는 방식이고
근데, 신경망도 구조가 있어.
우리 카페 회원 가입할려고 하면
알파벳과 숫자 판독해서 적으라고 하잖아.
이 신경망 알고리즘으로 학습시켜서 판독이 가능하거든.
지문인식이나 사진인식 글자인식 등등...
패턴인식은 거의 다 신경망 알고리즘의 대세지.
잘 만들어진 신경망에서, 오래 학습할 수록 정확도는 높아져.
근데, 중요한건 신경망도 구조가 있다는거야.
신경망 구조는 개발자가 만들어줘야지.
근데 신경망 구조를 인위적으로 만든다는건 쉬운일이 아냐.
간단한 것은 구현 가능하긴 해.
근데, 신경망 구조까지도 랜덤으로 만들 수 있다는 거야.
바로, 유전 알고리즘과 신경망 알고리즘을 조합해서 말이야.
유전 알고리즘으로 어떤 신경망 알고리즘 만들어.
그리고 로봇 청소기 일을 시켜보는 거야.
제대로 된 신경망 알고리즘이 아니면
아무리 학습을 시켜도
로봇은 방을 제대로 돌지도 못해.
병신같은 로봇이야.
유전 알고리즘이 여러 세대에 거쳐서 신경망 알고리즘을 짝짖시 시키는거야
그래서 무수히 많은 신경망 구조체를 만들고 청로 로봇일을 테스트해보지.
적응도 높은 신경망들은 높은 확률로 짝짖기 시키고
적응도 낮은 신경망들은 낮은 확률로 짝짖기 시키고
가끔 돌연변이도 넣어주면서
10000000000000000000000000000만 번 쯤 돌다보면
정말 제대로 된 신경망 알고리즘이 나오게 되는거야.
제대론 신경망 알고리즘으로 로봇 청소를 시켜보면
어떤 다양한 구조의 방에서도 로봇 청소를 완료하지.
청소 로봇 입장에서 센서라곤 부딛혔다 안부딛혔다 하나 인데...
지도도 없이 말이야.
게다가, 같은 장소에서 청소를 하면 할수록 최적 루트를 찾아내지.
유전자 알고리즘으로 돌리고 돌리고 돌리고 돌린
가장 똑똑한 신경망으로 학습하니까...
무에서 유로... 뻗어나가는... 이 알고리즘... ( 유전 알고리즘 = 유전자 )
모름에서 앎으로 학습 하는 이 알고리즘... ( 신경망 알고리즘 = 뇌 )
공각기동대에서 이런 말을 하더라군.
( 내가 프로그램이기 때문에 생명체가 아니라고? )
"그렇다면, 당신네 DNA 또한 자기 보존을 위한 프로그램에 지나지 않는다.
생명이란 바다처럼 광할한 정보의 역사적 흐름 속에서 태어난 한 결접점과 같은 것이다.
종으로서의 생명은 유전자라는 기억 시스템을 가지고 사람은 오직 기억으로 인해 개인일 수 있다"
첫댓글 재미있게 설명은 해 주셨는데, 이 글이 굳이 덕하님 글의 답글로 달려야 할 이유가 있는건지...;;;
내용상 저쪽 "글쓰기(기타)"란이나 "짧은 글"란에 더 어울리는 글이 아닐까 싶네요.