<div><br></div> <div><br></div><iframe width="560" height="315" src="https://www.youtube.com/embed/R56DdqdVDi0" frameborder="0"></iframe> <div><br></div> <div><br></div> <div><br></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">텐서플로우나 다른 라이브러리는 사용하지 않았고 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">오직 유니티(C샵) 으로만 비교적 쉽고 간단하게 구현했습니다. </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;"><br></span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">한 번의 세대에 130개의 자동차 개체를 동시에 플레이 시키고 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">1프레임 진행당 1점의 점수를 주어 한 판이 끝났을때 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">가장 높은 점수를 얻은 개체에 높은 가중치를 주어 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">비교적 간단한 교배, 변이 등의 유전 알고리즘을 사용하여 인공신경망을 최적화 했습니다. </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;"><br></span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">인공신경망의 입력값은 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">자동차의 노말라이즈된 Forward 벡터값 x,y,z 와 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">6방향의 라인센서의 충돌 거리값 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">이렇게 총 9개의 데이터 입력을 사용했고 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;"><br></span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">출력값은 좌측 회전, 우측 회전 2개의 값을 받아 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">이 둘 중 큰값이 0.5 이상이면 해당 방향을 선택하게 했습니다. </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;"><br></span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">자동차의 속도는 일정하고 가속이나 감속 또는 후진은 불가능하게 했습니다. </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;"><br></span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">유니티엔진으로 많은 수의 개체를 동시에 테스트하고 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">또한 플레이 속도를 최대 100배속까지(CPU만 빠르다면) 올릴 수 있는 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">테스트 환경을 만들었기 때문에 더욱 빠른 최적화가 가능합니다. </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;"><br></span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">동영상 마지막 부분에서 한자리에서 계속 회전하는 이유는 개체의 점수 책정을 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">오로지 오래 살아남으면 높게 나오게 처리했기때문인데 </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">어쩌면 저런 방식이 오래 살아남을 수 있는 최적의 해를 찾았다고 볼 수도 있습니다. </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">의도하지 않았는데 이 부분이 정말 재밌네요. </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;"><br></span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">실제로는 한 곳의 자리에서 계속 돌면 감점 처리를 해줘야 하는데 하지 않았습니다. </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;"><br></span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">시청해주셔서 감사합니다. </span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;"><br></span></font></div> <div><font color="#0a0a0a" face="Roboto, Arial, sans-serif"><span style="font-size:14px;white-space:pre-wrap;">혹시 궁금한 점 댓글 남겨주시면 답변드리겠습니다~! <br></span></font></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.