배팅랩: 분석을 지원하는 모델

0

공원을 걷다 보면 좋아하는 운동을 하는 아이들을 흔히 볼 수 있습니다. 그들은 종종 기술을 연마하기 위해 오랜 시간을 보냅니다. 그러나 혼자서는 무엇을 어떻게 해야 현재를 개선해야 하는지 파악하기 어렵습니다. 좀 더 나은 수준으로 향상하기 위해서는 무엇을 해야 하는지 가르칠 수 있는 코치를 고용하면 좋겠는데, 그렇게 하는 것은 비용이 많이 듭니다. 이럴 때 어떤 대안이 있을까요?

물론 있습니다! 야구를 배우려는 아이들의 배팅 연습을 돕기 위해 개발된 SAS The Batting Lab 을 소개합니다. 배팅 케이지의 개념을 기반으로 제작되었으며 내장 기술을 사용하여 배팅 능력을 향상시킵니다. 이와 함께 아이들은 데이터와 분석을 더 잘 이해할 수 있습니다. 이를 통해 SAS Batting Lab은 배팅 능력 향상, 분석과 데이터 활용 능력이라는 세 마리 토끼를 잡을 수 있습니다! 이 블로그에서는 이 혁신적인 기술의 안에서 사용되는 분석에 대해 설명하고자 합니다.

동기와 행동

연습 중에 아이들은 간단해 보이지만 대답하기는 어려운 질문을 할 수 있습니다. 물론 숙련된 휴먼 코치는 수천 시간의 노력과 훈련을 바탕으로 게임에 대한 깊은 이해를 가지고 있기 때문에 이러한 질문에 답할 수 있습니다.

이 블로그에서는 숙련된 코치도 아닌 인공지능 코치(SAS Batting Lab) 안에서 머신러닝 모델이 어떻게 인간의 눈으로 식별하기 어려운 스윙 단계에 대한 통찰력을 얻을 수 있는지에 대해 이야기하고 있습니다. 또한 이 코치는 아이들의 배팅 능력을 향상시키는 여러가지 질문에도 답할 수 있습니다. 그러나 인공지능이 코치 역할을 하려면 먼저 인공지능을 훈련시켜서 좋은 스윙이 어떤 모습인지 이해할 수 있도록 해야 합니다.

인공지능 훈련에 사용할 데이터로 노스 캐롤라이나 주립 대학의 야구와 소프트볼 팀의 선수들로부터 500개 이상의 스윙 비디오를 얻었습니다. 이 비디오는 선수들의 몸에 있는 19개의 관절을 트래킹합니다. 그리고 각 관절은 그 위치를 표시하기 위해 (x, y) 좌표로 표현됩니다. 각 비디오의 길이는 약 2초이고 약 100개의 프레임으로 구성되어 있습니다. 각 프레임마다 관절의 x 및 y 좌표가 있는 관측값을 얻을 수 있습니다. 데이터는 시간의 흐름에 따라 인덱싱되어 시계열을 생성합니다. 좌표는 플레이어마다 동일한 높이를 나타내도록 정규화(normalized)됩니다. [그림 1]은 비디오에서 관절을 추적하는 방법을 보여줍니다.

[그림 1] 관절의 좌표가 캡처된 비디오 프레임

모델 설정

최근 몇 년 동안 머신러닝은 매우 대중화되었으며 큰 발전을 이루었습니다. 이 머신러닝 알고리즘 중의 하나인 은닉 마르코프 모델(Hidden Markov Model; 이후 HMM)은 음성 인식, 표정 인식, 유전자 예측 등에 널리 적용되어 왔습니다. HMM은 해석 가능성 및 유연성과 같은 특별한 장점을 가지고 있기 때문에 Batting Lab에 필요한 일부 패턴 인식 작업에 특히 적합합니다.

[그림 2]는 HMM을 사용하여 각 관찰 가능한 프레임(Observable Frames) 뒤에 숨겨진 단계(Hidden Phases)을 찾는 방법을 보여줍니다.

[그림 2] 스윙 비디오에 은닉 마르코프 모델(HMM) 적용
HMM은 플레이어의 움직임을 일련의 그룹으로 분류하고 스윙 단계로 레이블을 지정합니다. 그리고 그 스윙 단계는 전이확률로 연결됩니다. 각 단계에서 매개변수 세트는 이 단계에서 데이터가 생성되는 방식을 결정합니다.

예를 들어, 가우스 HMM에서 이러한 매개변수는 평균 벡터와 공분산 행렬입니다. 이러한 프레임은 뒤에 숨겨진 단계  에 따라 관찰 가능한 데이터입니다. 각 숨겨진 단계에는 정확한 선수 스윙을 많이 관찰하여 학습한 모델이 추천하는 동작이 있습니다. 이러한 단계는 휴먼 코치가 야구 포지션(Stance, Load, Stride, Attack, Contact, Follow-through)을 요약하는 것과 같습니다. 모델 훈련의 목표는 모든 비디오에 맞는 를 찾는 것입니다.

[추가 정보] SAS Batting Lab의 비하인드 스토리 보기

여기서 HMM이 가지고 있는 큰 어려움은 차원이 높은 데이터는 로컬 최적값을 가지는 경우가 많다는 것입니다. 옵티마이저는 여기서 아주 중요한 역할을 하게 됩니다. 각 프레임의 관찰값에는 모든 관절에 대해 한 쌍의 좌표가 추출되는데, 19개의 관절은 38개의 변수를 생성하여 플레이어의 스윙 위치를 표시합니다. 가우스 HMM에는 모든 은닉 단계에 평균 벡터와 공분산 행렬이 있습니다.

이 모델 설정에서 평균 벡터에 대한 38개의 매개변수와 각 은닉 단계의 공분산 행렬에 대한 741개의 매개변수가 있습니다. 그리고 이 과정은 수십 개의 은닉 단계마다 있어야 하기 때문에 수천 개의 매개변수를 추정해야 합니다. 이때 기존 옵티마이저(예: Active Set 또는 Interior Point 알고리즘)나 기계 학습 최적화 알고리즘(예: Stochastic Gradient Descent) 대신 EM(Expectation-Maximization) 알고리즘을 사용하였습니다. 이 알고리즘은 잠재 변수와 높은 차원을 가진 모델에 특히 더 적합하기 때문입니다.

모델 선택

모델 훈련에는 두 가지 도전 과제가 있습니다. 첫 번째는 모델에서 은닉 단계의 수를 결정하는 것이고, 두 번째는 EM 알고리즘을 사용한 은닉 마르코프 모델의 최적화 결과가 초기 매개변수에 크게 의존한다는 문제를 해결하는 것입니다. 해결방안은 은닉 단계의 수와 랜덤 시드의 다른 조합으로 모델을 검색하는 것입니다. 그런 다음 모델을 선택하기 위해 정보 기준을 비교해야 하는데, 최소 모델(Minimal Model)이 선호되기 때문에 베이지안 정보 기준(BIC)이 모델을 선택하는 데 사용되었습니다. 이러한 기준으로 수천 개의 CPU에서 수십 시간 동안 계산한 결과 46개의 은닉 단계가 있는 모델을 챔피언으로 선택하였습니다.

[그림 3] 모든 스윙의 히스토그램
[그림 3]은 훈련 데이터의 모든 스윙에 대한 로그 우도(log likelihood)의 히스토그램을 보여줍니다. 여기서 X축은 플레이어의 프레임별 평균 로그 우도이고 Y축은 백분율입니다.

정확한 스윙은 플롯의 오른쪽(높은 점수)에 있고 잘못된 것은 왼쪽(낮은 점수)에 있습니다. 이 수치는 스코어 또는 우도를 의미하는데, 플레이어가 모델에 얼마나 적합한지 또는 플레이어의 움직임이 대부분의 플레이어와 얼마나 유사한지를 나타냅니다.

HMM은 각 비디오 뒤에 숨겨진 스윙 단계를 찾을 수 있습니다. 우리는 올바른 스윙이 은닉 단계와 어떻게 연관되는지에 관심이 있습니다. [그림 4]는 최적의 스윙(가장 높은 점수를 가진 스윙)의 은닉 단계의 플롯을 보여줍니다.

예를 들어 [그림 4]의 플레이어 데이터를 사용하여 모델은 최적의 스윙을 설명하기 위해 8개의 단계를 찾았습니다. 이 8개의 단계는 특정 비디오의 프레임과 관련되어 있습니다. 그러나 훈련 데이터에는 수백 개의 비디오에 있는 모든 움직임을 요약하는 46개의 은닉 단계가 있습니다. 수십만 개의 프레임을 46개의 은닉 단계로 모두 설명할 수 있는 것입니다. 이것이 바로 HMM을 사용하여 입증된 자동화된 학습의 힘입니다.

[그림 4] 올바른 스윙을 위한 은닉 단계

스코어링 시스템

모델 훈련 후 46개의 은닉 단계가 있는 머신러닝 모델은 SAS Batting Lab에 연결된 클라우드에 저장되어 스코어링을 준비합니다. 스윙에 대한 스코어링 시스템은 타격 케이지의 센서와 카메라를 사용하여 플레이어의 움직임을 캡처한 후 데이터를 클라우드로 스트리밍합니다. 마지막으로, 클라우드에 저장된 머신러닝 모델은 실시간으로 플레이어의 스윙을 스코어링하고 나서 SAS Batting Lab의 화면에 측정 결과와 피드백을 표시합니다. 이러한 과정을 통해 플레이어는 실시간으로 정보를 얻고 다음 라운드에서 스윙을 개선하기 위해 노력할 수 있습니다.

예를 들어 [그림 5]에서 어린 플레이어의 스코어는 모든 대학생 플레이어의 점수 왼쪽에 있습니다. 트레이닝 데이터에서 대학생 플레이어들의 평균 로그 우도는 119점인 것을 감안하면 어린 플레이어는 60점으로 스윙 실력 향상의 여지가 분명히 있음을 시사합니다.

[그림 5] 아이들의 스윙 스코어
스윙 개선에 대한 구체적인 피드백을 제공하기 위해 우리는 또한 각 프레임마다 스코어링을 하고 가장 낮은 스코어이고 가장 편차가 큰 프레임을 찾습니다. [그림 6]은 HMM이 권장하는 스윙 단계(오른쪽 사진)와 비교하여 가장 낮은 스코어를 받은 어린 플레이어의 프레임을 보여줍니다.

[그림 6] 스코어가 가장 낮은 프레임(왼쪽)과 권장 단계(오른쪽)
편차 프레임은 트레이닝된 모델의 스윙 단계와 비교하여 인공지능 코치는 플레이어의 스윙을 개선하는 방법에 대한 피드백을 제공합니다.

요약

트레이닝과 스코어링의 전체 프로세스는 HMM이 플레이어의 스킬을 향상시키고 실제 문제를 해결할 수 있는 가능성을 보여줍니다. 이 모델은 수십만 프레임을 성공적으로 학습하고 46개의 스윙 단계로 요약하여 훈련에서 초보자를 위한 스윙 스코어를 얻는 데 사용했습니다. HMM 모델은 성공적인 SAS Batting Lab 경험을 구축하는 데 필수적이었습니다.

프로그램을 시행한 후 6주가 지나자 모든 어린 플레이어들은 더 빠른 속도로 공을 치는 기술이 향상되었습니다. 그들 중 일부는 타격 속도가 50%나 향상되었고, 동시에 이들은 데이터와 분석의 힘에 대해 배웠습니다. 이러한 능력은 결국 미래의 직업으로서 분석에 대한 관심을 키우는 데 도움이 될 수 있습니다. 동일한 기술이 골프, 크리켓 또는 요가와 같은 다른 스포츠로 확장될 수 있는 큰 잠재력을 가지고 있습니다.

HMM 모델링에 대해 자세히 알아보려면 HMM 프로시저 help를 참조하십시오. 그리고 SAS Batting Lab 경험에 대한 자세한 내용은 "Taking a swing at data literacy: inside look at The SAS Batting Lab"을 참조하십시오.

※ 해당 블로그 컨텐츠는 원문을 참고하여 작성되었습니다.

Tags
Share

About Author

Byoung-Jeong Choi

Director, Advanced Analytics

Related Posts

Leave A Reply

Back to Top