반응형

원래 유전(진화) 알고리즘을 써서 AI를 만들어보고자 하였지만,

세대를 거듭한다고 해서 테스트 점수가 우상향하지 않는 것 같아서,

일단 지도학습을 통해 다시 시도해 보고 있다.

 

https://truemaxdh.github.io/2048-AI/

 

https://truemaxdh.github.io/2048-AI/

Training Evolution Algorithm Guided Training Verify Verify Results TestModel

truemaxdh.github.io

위 사이트 메뉴 중에서,

[Evolution Algorithm]은 일단 보류중이고,

[Guided Training]이 현재 활성화된 상태이다.

[Verify Results]는 나중에 구현할 계획이며,

[Test Model]은 [Guided Training]의 결과로 생성된 모델을 불러와서 테스트해 볼 수 있다.

 

지도학습 방법을 구현하면서,

먼저 시도했던 유전(진화) 알고리즘이 잘 안되던 이유도 몇가지 알게 되었고,

시행착오를 통해 배우게 된 것들도 있다.

  • 입력값, 출력값, 가중치의 초기값 설정 문제
    • 포화(saturation) 발생 방지를 위해, 적절한 범위의 값을 사용해야 함.
    • 타리크 라시드의 [신경망 첫걸음]이라는 책에 의하면, 가중치의 초기값은 다음 범위가 적절
      • 노드로 오는 연결노드의 갯수에 루트를 씌운 값의 역수
    • ReLU의 경우에는, x<0인 경우 f(x)=0이고, 이를 미분하면 기울기가 0이므로, 역전파에 의한 가중치 업데이트가 이루어지지 않아서 문제가 될 수 있다.
      • 이 문제의 해결을 위해 몇가지 방법이 있겠지만, 그중 한가지는 가중치의 초기값을 모두 양의 실수로 초기화하는 방법이 있다.
    • 입력값의 전처리도 중요하다. 이번 경우에는 입력값의 범위를 0.01 ~ 0.99로 조절하였다.
      • 입력 배열(4*4=16)의 수치를 0은0, 0보다 크면 2의 로그값으로 바꾸고,
      • 최대값을 구한 다음,
      • 각 요소를 최대값으로 나누어 주되, 0은 0.01로, 1은 0.99로 변환
    • 출력 노드는 Left, Up, Right, Down의 4개이며, 실제 움직인 방향의 출력값은 1로, 나머지 방향은 0으로 학습시킨다.

위의 원칙들을 적용해서 테스트중이다.

이렇게 해서 지도학습이 잘 진행된다면,

유전(진화) 알고리즘에도 위의 내용들을 적용해서 다시 시도해 보려 한다.

반응형

'머신러닝&인공지능' 카테고리의 다른 글

2048을 Play하는 AI 개발 - 2  (0) 2019.12.01
2048을 Play하는 AI 개발  (0) 2019.11.18
2048과 딥러닝  (0) 2016.08.13
ConvNetJS를 이용한 XOR 분류 테스트  (0) 2016.07.20
언어별 딥러닝 라이브러리  (0) 2016.07.15
반응형

'파인만'에 대해 처음 알게 된 것은, 

이광근 교수님의 '컴퓨터 과학이 여는 세계'를 통해서이다.

그 책 뒷면 서평에, 누군가가 책을 빗대어

'파이만의 물리학 강의' 같다고 말한 것을 통해

어려운 물리학을, 누구나 이해할 수 있는 언어로

쉽게 설명해 주는 물리학자가 있다는 것을 알게 되었다.

그래서 '파인만의 물리학 강의'라는 책을 읽고자 하였지만,

책이 너무 두꺼워서 일단 좀 얇은 책을 고른다고 고른 것이

'발견하는 즐거움'이라는 책이다.

이 책도 물리학에 대한 설명이겠거니 생각했는데, 그렇지는 않고

파인만의 인터뷰, 강연, 보고서, 연설 등을 몇가지 모아놓은 것이다.

전반적으로는 파인만의 세계관, 철학, 경험담 및 에피소드 등이 주된 내용이고

내용 중 일부는 물리학의 현재와 미래에 대해 논하는 부분도 있다.

전혀 몰랐던 위대한 물리학자에 대해 조금 알 수 있었다.

특히 인상적이었던 부분은, 아버지에 관한 이야기이다.

제복 사업을 하셨지만, 주변 자연과 사물에 대해 남의 말에 의지하지 않고

스스로 관찰하고 이해하여 남다른 방법으로 설명해 주면서

자연스럽게 아들이 과학자로서의 태도를 가지게 된 것 같다.

그밖에, 맨해튼 프로젝트에 합류하여 로스앨러모스에서 일하면서 겪었던 에피소드,

원자폭탄을 투하하고 나서 원폭개발에 참여한 과학자로서 느꼈던 감정등도 흥미로웠다.

그리고 그가 과학에 대해 가지고 있는 생각, 과학자로서 갖고 있는

세계관, 종교관, 철학 등도 엿볼 수 있었다.

세상의 불확실성이 불편한 사람들이 철학을 하고 종교를 찾지만,

과학적 방법으로 세상의 본질을 단숨에 밝혀내기는 어렵다.

따라서 누구나 무언가를 믿는 것은 자유이지만,

천동설이 지동설로 대체된 것과 같이 자신의 생각이 틀릴 수도 있다는 것을 염두에 두고

불확실성에 대해 열린 마음을 가지고, 불확실성 자체를 편안하게 느끼며 살아가는 것이

과학자의 자세라고 역설하는 것 같다.

또한, 요즘 화두가 되고 있는 양자컴퓨터에 대한 이야기도 나온다.

그걸 읽으면서, 양자컴퓨터에 대해 조금은 알수 있었던 것 같다.

그리고, 양자컴퓨터의 개념을 처음 제시한 사람이 바로 '파인만'이라고 한다.

 

모든 부분이 재밌고 공감되지는 않았지만, 그래도 재밌는 부분이 많았고

공감도 많이 되었다.

위대한 물리학자의 삶을 이런 식으로 바라보고 알아가면서,

내가 세상을 살아가는 방법을 배우고 돌아보고 반성하게 된다.

반응형
반응형
반응형

+ Recent posts