본문 바로가기

전체 글110

강화학습의 종류 바둑의 한 수는 그 즉시 평가되기 어렵다. 여러 선택이 모여 종국 되었을 때 계가를 해봐야 이겼는지, 졌는지에 대한 reward를 받을 수 있다. 따라서 현재의 행동을 결정할 때 미래의 가치도 판단해야 한다. 이때 미래 가치는 에피소드라 불리는 종료 시점까지 탐색하는 하나의 시나리오가 끝나야 알 수 있다. 마지막에서야 알 수 있는 그 미래의 가치를 평가해서 현재 택할 수 있는 최선의 행동을 찾아야 한다. 미래를 고려한 최선의 선택을 해야 하는 문제는 아주 많다. 미로 찾기를 대표적으로 예를 들 수 있다. 현재 미로의 입구에 서있고, 출구를 찾아 탈출하는 환경을 생각해보자. 이 같은 문제는 강화 학습을 하는 방법으로 가치기반 학습과 정책기반 방식을 사용할 수 있다. 가치 기반 학습 Q learning 현재.. 2019. 11. 3.
알파고의 원리와 그 버전들 알파고(AlphaGo)로 통칭되지만 실제 바둑 ai는 여러 버전이 있다. 이세돌을 이긴 알파고 lee, 타이젬 등 온라인 사이트에서 60연승 후 마지막 공식 대국으로 커제와 겨뤘던 알파고 master, 이 모든 걸 뛰어넘은 알파고 zero까지 있다. 각 버전이 등장하는 순간을 바둑을 좋아하는 개발자로서 실시간으로 목격하는 즐거움이 매우 컸다. 머신러닝은 잘 몰라서 알파고 실력에만 감탄하며 봤지만 이젠 익숙한 단어들도 조금씩 들려서 정리해봤다. 바둑 ai를 만든다고 생각해보자. 머신러닝 지식 없이 컴퓨터로 봇을 만든다면 모든 경우를 탐색해서 가장 좋은 한 수를 두겠지만 바둑도 그렇고 현실 세계에서는 모든 경우의 수를 다 해볼 수 없다. 다 할 수만 있다면 minimax 알고리즘으로 서로 최선을 다할 때 누.. 2019. 11. 3.
AWS VPC(Virtual Private Cloud) 구성 컴퓨터 하나를 빌려서 웹 서비스를 한다고 하면 복잡한 설정 없이 그냥 ec2 하나 빌리면 된다. 하지만 서비스가 복잡해지고, 각 서비스끼리 통신을 하고, 보안 규칙을 세우다 보면 복잡도가 매우 커지게 될 것이다. 이를 개선하기 위해 새로운 개념이 생기고, 새로운 기능이 생긴다. 한 번에 이해하기에는 헷갈릴 수 있으나 각 서비스의 등장 배경을 알면 쉽게 이해할 수 있기 때문에 서비스 하나씩 따라가 보자. 각 시나리오 별로 의도에 맞게 VPC를 구성하는 게 물론 중요하지만 큰 그림을 먼저 그려보기 위해 public / private subnet만 가지는 구성도를 그려보면 다음과 같다. 정확하진 않지만 각 서비스의 역할을 이해하는 데에는 문제없을 것이다. VPC 생성 VPC를 생성하려고 하면 CIDR 블록을 .. 2019. 10. 24.