
24-1 팩맨 프로젝트로 다뤘던 인공지능 에이전트들을 기억할 것이다. 나는 프로젝트에서 강력한 인공지능 알고리즘을 만들었고 이는 충분히 효과적이었다. 하지만 이를 머신러닝이라 부를 수는 없을 것이다. 이는 전통적인 인공지능 알고리즘 제작에 해당한다.
그렇다면 머신러닝이란?
머신러닝이란 인공지능의 하위 집합으로, 많은 양의 데이터를 제공하여 명시적으로 프로그래밍하지 않고 신경망과 딥 러닝을 사용하여 시스템이 자율적으로 학습하고 개선할 수 있게 해줍니다. (Google Cloud 발췌)
즉, 머신러닝의 핵심은 데이터를 바탕으로 모델을 학습시키는 것인데, 이 때 학습과정에 인간이 개입하지 않는 것을 의미한다고 할 수 있다. 여기서 모델이란 파라미터 계수들을 의미한다.
다시 24-1 팩맨 프로젝트를 생각할 때, 기본 팩맨 에이전트들은 몇가지 파라미터를 가지고 있었다. 우리가 에이전트를 개선하기 위해서 할 수 있는 일은 파라미터를 추가하거나, 파라미터 계수를 조정하는 것이었다. (나는 스켈레톤 코드를 무시까고 아예 다르게 알고리즘을 짰지만..) 이때 파라미터를 추가한다는 것의 의미는, 에이전트가 신경쓰는 사건들이 증가함을 의미한다. 파라미터 계수를 조정함은, 에이전트가 받아들이는 방법을 의미한다. 파라미터 계수를 조정하기 위해 우리는 시뮬레이션으로 데이터를 모아야 한다… (데이터를 모아서 자율적으로 학습하게까지 해야 우리는 이를 머신러닝이라 부르게 될 것이다.)