-
Teachable machine 활용하여 수업 하기Experiences/Education technology 2025. 1. 9. 11:19
아래 내용에 관심 있으신 분들은 여기 폼을 답변해주세요. 구체적 방법을 안내하는 기회가 있을 때 먼저 연락드리겠습니다.
Teachable machine은 구글에서 기본적인 머신 러닝의 원리를 알려주기 위해 만들어졌다. AI를 이해하기 위한 가장 근본적인 접근으로서 "어떻게 머신러닝 모델은 서로 다른 것을 구분하는지"를 직관적으로 보여준다. 사진, 소리, 포즈라는 세 가지 데이터 종류를 넣을 수 있고, 서로 다른 것이 어떻게 다른 것인지 사용자가 클래스란 방식으로 구분하여 제공하면 모델은 그 내용을 반복적으로 저장하여 하나의 모델을 구성한다. 이제 이 모델은 새로운 데이터가 사용자가 구분한 클래스 중 어디에 해당하는지 확률로서 보여준다.
Teachable machine에 대한 설명 김푸름 선생님이 Teachable machine으로 만든 모델을 수업을 위한 웹 어플리케이션으로 구성하는 재미있는 수업 방식을 공유했고, 이곳에서도 재미있게 활용할 수 있겠다는 생각으로 알아봤다.
건강(Exercise for Physical Fitness)이라는 단원에서 활용할 예정이다. 기본적인 수업 흐름은 다음과 같다. 운동이 가진 기본적인 정의 (계획, 구조, 반복)를 배우고, 이를 안전하고 효과적으로 수행하는 동작의 중요성을 이해한다. 특정한 운동을 구성하고 그 안에 필요한 안전하고 효과적인 동작을 학습한다. 자신이 배운 동작을 바탕으로 teachable machine 모델을 만든다. 자신이 만든 모델을 어플에 넣어 활용해 본다. 자신의 모델을 활용하여 다른 사람들에게 자신의 운동 동작 및 효과적인 이유에 대해서 설명한다. 이를 통해 운동의 정의와 목적을 이해하고 효과적인 동작을 학습하는 방법을 배울 수 있다.
이를 위해서는 학생들이 만든 모델을 직접 넣어서 볼 수 있는 환경이 필요했다. Teachable machine 사이트에도 어느 정도 보이기는 하지만 좀 큰 화면으로 시간이 보이도록 만들 필요가 있었다. 김푸름 선생님이 했던 것 처럼 웹 어플리케이션을 구성했다. ChatGPT와 Claude를 활용해서 어플의 기본적인 코드를 구성했고, 나의 Github에 올려놓고 Render로 보내 웹 서비스를 발행했다. 무료 버전이라 처음 연결까지 속도가 느려서 Netlify에서도 같은 코드를 활용해 하나 더 발행해 두었다.
Pose Duration Tracker with Mr. Lee
mc25.netlify.app
Pose Duration Tracker with Mr. Lee
mc25.onrender.com
시행착오
Replit은 웹 발행을 하려면 돈도 들고 static site만 가능했다. teachable machine 모델을 다운로드하여 직접 올리는 기능을 실행하기 어려웠기 때문에 Render를 활용했다. 이를 위해 코드는 python으로 작성해야 했고, 파이선 파일 하나로 웹을 구현할 수 있는 라이브러리를 활용해 구성해야 했다. 이렇게 만들었지만, 나중에 살펴보다 보니 파일을 올리는 것을 학생들이 불편해할 수 있어서 링크로만 어플이 작동하게 수정했다. 이렇게 보면 결국 html로 작성이 되어 결국 Replit에서도 발행하는데 문제가 없을 것 같다.