본문 바로가기
무모한 도전-주식 인공지능 만들기

새로운 방식으로 강화학습을 시도해 보기-2-

by 인터넷떠돌이 2019. 4. 24.
반응형

안녕하세요?

 

오후의 포스팅에서 어떻게 전반부 내용을 이야기 했다면, 지금의 포스팅에서ㅕ는 후반부의 내용을 이야기 하기 위해서 이 블로그에 글을 올립니다. 이번 포스팅에서는 이전 데이터의 평균 현재가를 구한 다음, 현재의 결정이 득점인지 감점인지를 따져 보고자 합니다.

 

이제 같은 작업을 매도와 관망해도 해주어야 하는데, 여기서 관망에는 아무런 액션도 취하지 않기 때문에 그냥 추가되는 보너스 값을 0으로 설정을 해 주었습니다.

 

그리고 나서 위 스크린샷과 같이, 그냥 delay_reward에 대입하는 것으로 하면, 그대로 값이 변해버리고 끝나기 때문에, 새로 추가된 값을 위 스크린샷과 같이 붙여주는 작업을 해 보아야 합니다.

 

일단 여기까지는 yellow operation을 작동시켜 보았을 때는 별 무리없이 돌아가는 것을 중간에 확인할 수 있었습니다. 다만......... 왜인지 모르게 loss의 값이 너무 커진것이 아닌가 하는 생각이 들었습니다.

 

 

그런데 그냥 잘 되는 것이 아니라, 위 스크린샷처럼 일종의 새로운이라고 해야 할까요? 기존에도 있던 에러가 새로이 나오는 것을 확인할 수 있었습니다.

 

그래서 가지가지 시행착오 끝에 위 스크린샷과 같은 os.path.isdir()이라는 함수를 이용해서 실제로 디렉토리가 있는지 없는지 체크를 한 다음에, 디렉토리가 없으면 생성하라는 명령을 내려 주도록 합니다.

 

이렇게 해서 작업을 이어서 3분에 가까운 시간이 걸리고 10에포크의 시험작동이 성공하는 것을 확인할 수 있었습니다. 이제 본격적인 실전에 들어가 보려고 할 차례입니다.

 

그전에 위 스크린샷처럼 제대로 되지 않은 비교 연산자를 바꾸도록 하고, 다음으로 실패했을 경우에만 실점을 크게 하도록 만들어 주도록 합니다.

 

당연하다면 당연하게도 매도에도 같은 조작을 가해 주도록 합니다. 여기서는 당연하게도 현재가가 평균보다 더 커야 한다는 것을 전재로 하고서 이야기를 하고 있습니다.

 

그리고 나서 10 에포크로 되어 있는 강화학습의 갯수도 한번 1000으로 늘려서 본격적인 작업에 들어가 보도록 합니다. 

 

모든 파일을 일단 구글 드라이브에 업로드 하고, 이 글을 작성하고 있는 현재-정확히 저녁 9시가 아니라 예약발행을 하는 전날 밤인데, 이 시점에서 막 들어가서 언제 작업이 구글 코랩에서 끝날지는 알 수 없습니다. 다만, 이 결과에서 다소간에 큰 변화가 나올 수 있으리라 예상이 됩니다.

반응형