1학년 공학부 학생들에게 MATLAB을 사용한 딥러닝 및 IoT 소개
작성자: Chao Wang, Arizona State University
American Society for Engineering Education Corporate Member Council의 최근 설문조사에 따르면, 업계의 수요를 충족하기에 공학부 졸업생들의 준비가 미비한 두 분야는 AI(인공 지능)와 IoT(사물 인터넷)인 것으로 나타났습니다.
ASU(Arizona State University)의 Ira A. Fulton Schools of Engineering에서는 공학부 학생들에게 입학 초기에 AI 및 IoT 개념을 소개함으로써 이러한 기술 격차를 해소하려 합니다. 구체적으로 저는 학생들이 MATLAB®을 사용하여 실습 AI 및 IoT 연습문제를 완료할 수 있는 새로운 학습 모듈을 1학년 공학 개론 교육과정에 추가했습니다. 이러한 연습문제에서 학생들은 딥러닝 신경망으로 영상 분류를 수행하고 분류 결과를 ThingSpeak™ IoT 분석 플랫폼으로 전송하여 집계 및 분석을 수행합니다. 이 모듈은 사전 MATLAB 프로그래밍 경험을 요하지 않으며 학생은 추가적인 하드웨어 없이 본인의 랩탑, 태블릿, 웹캠을 사용할 수 있습니다. 이 모듈의 또 다른 중요한 점은 MathWorks 엔지니어가 연습문제를 설계하고 구현했으며 검증했으므로 강사는 준비 과정을 최소화할 수 있습니다. ASU에서 저는 교육과정에서 모듈을 사용할 준비를 단 몇 시간 만에 마칠 수 있었습니다.
의미 있는 연습문제로 학생의 동기 부여
공학 개론은 모든 ASU 1학년 공학부 학생의 필수 교육과정입니다. 따라서 다양한 공학 분야에 관심을 가진 학생들이 수강합니다. 또한 학생들의 사전 프로그래밍 경험 수준도 다양합니다. 교육과정에서 소개하는 모든 연습문제는 이러한 다양성을 고려해야만 합니다. 구체적으로 말하자면 연습문제는 균형 있게 출제하여야 합니다. 학생이 계속 흥미를 느끼고 동기 부여를 받기에 충분할 만큼 까다로우면서도 의지를 꺾을 정도로 어려워선 안 되는데, 특히 학생의 관심 분야와 직접적으로 관련되지 않는 연습문제에선 더욱 그러합니다.
이러한 요구사항을 고려할 때 AI 및 IoT 모듈은 이 교육과정에 적합했습니다. 이 모듈은 한 번의 강의만으로 완료할 수 있고, 모듈의 연습문제도 학생이 커리큘럼에서 수 년 후에야 접할 수 있는 두 가지 개념인 AI와 IoT에 대한 의미 있는 실습을 소개하고 있습니다. 저는 이 교육과정을 가르칠 때, 이 교육과정에서 배우는 기법을 비롯한 여러 머신러닝 및 AI 기법이 기계, 항공우주, 화학, 전기 등 미래의 모든 공학 분야에 점점 더 깊이 통합될 것이라고 학생들에게 강조합니다.
MATLAB Onramp로 준비
제가 AI 및 IoT 콘텐츠를 교육과정에 추가하기 전에 공학 개론에는 학생들에게 MATLAB을 사용한 데이터 분석 및 시각화를 소개하는 3회 분량의 강의 모듈이 있었습니다. 이 모듈이 중요한 이유는 신호 처리 교육과정 등 학생들이 앞으로 수강할 여러 상위 교육과정에서 과제, 실습 및 프로젝트를 완수하려면 MATLAB에 대한 기본적인 이해가 필요하기 때문입니다.
저는 새로운 딥러닝 및 IoT 모듈을 일정에 넣기 위해 3회의 기존 MATLAB 강의를 2회로 압축했습니다. 전 2시간 안에 완료할 수 있는 무료 입문 튜토리얼인 MATLAB Onramp를 강의 전 과제로 제공하여 강의 횟수를 줄일 수 있었습니다. 학생들은 브라우저에서 튜토리얼을 완료하면 자동 평가 및 즉각적인 피드백이 제공되는 연습문제를 통해 MATLAB의 기초를 익히게 됩니다.
MATLAB Onramp를 완료한 학생은 MATLAB에 이미 친숙한 상태로 이 3회 분량의 강의를 듣게 됩니다. 첫 번째 강의에서 저는 학생들이 배운 기초를 빠르게 요약 정리하고 학생들 각자 MATLAB을 사용하여 스크립트를 작성 및 실행하고, 스칼라, 벡터, 행렬 변수를 정의 및 액세스하며, 텍스트 파일로부터 가져온 데이터에서 2차원 플롯을 생성하는 방법을 연습하도록 합니다. 시리즈의 두 번째 강의에서 학생들은 MATLAB을 사용하여 다양한 공학 분야의 문제를 풀게 됩니다. 예를 들어, 저는 학생들에게 파일에서 실험 데이터를 가져오고 플롯을 생성하여 입력 변수와 출력 변수 사이의 관계를 시각화해 보도록 합니다(그림 1). 그리고 곡선 피팅, 보간, 외삽 등 모든 공학 분야에 필요한 데이터 분석 기술을 연습하도록 지도합니다.
딥러닝 및 IoT 모듈 소개
학생이 MATLAB 명령과 스크립트에 대한 기본적인 이해를 얻었다면 이제 세 번째 강의의 딥러닝 및 IoT 모듈로 넘어갈 준비가 된 것입니다. 모듈의 첫 번째 연습문제에서 저는 학생들에게 카메라가 장착된 랩탑이나 태블릿 및 분류 작업에 사용할 과일과 같은 물체를 준비하도록 주문하였습니다.
시작 전에 먼저 AI, 머신러닝, 딥러닝에 대한 간략한 소개를 제공하였습니다. 그 후에는 학생들에게 다운로드나 설치가 필요 없는 MATLAB Online(그림 2)을 사용하여 MATLAB 스크립트를 검토하고 실행하도록 지도합니다. 이 스크립트는 MathWorks에서 이 모듈을 위해 제공하는 3가지 스크립트 중 하나로, 학생의 기기에 장착된 카메라로 사진을 촬영한 후에 사전 훈련된 딥러닝 모델인 AlexNet을 사용해 영상을 분류합니다.
스크립트를 실행한 후에 학생은 촬영된 물체의 AlexNet 분류 결과 및 신뢰 점수(그림 3)를 검토할 수 있습니다.
다음 연습문제를 시작할 때 저는 일반적인 응용 분야와 이점을 비롯하여 IoT에 대한 개요를 학생들에게 소개합니다. 이후 학생들은 MATLAB을 사용해서 딥러닝 모델로부터 얻은 분류 레이블을 공개 ThingSpeak 채널로 보냅니다. 모듈의 세 번째이자 마지막 연습문제에서는 MATLAB을 사용하여 전체 수강생들의 집계된 분류 데이터를 ThingSpeak에서 실시간으로 읽은 후 히스토그램(그림 4)을 플로팅하여 데이터를 시각화합니다.
학생 평가 및 다음 단계
딥러닝 및 IoT 모듈을 마친 후에 저는 학생들에게 SIMS(상황적 동기 척도) 설문조사에 응답하여 자기 결정과 동기 부여를 평가하도록 주문했습니다. 이 설문조사에서는 두 가지 결과가 눈에 띄었습니다. 첫째, 새로운 모듈에 대한 자기 결정 지수는 평균 5.85점으로, 지난 몇 년간 학생들이 이수한 교육과정 활동의 평균 점수인 5.47점보다 높았습니다. 둘째, 여학생이 남학생보다 더 높은 자기 결정 지수를 보였습니다. 제가 공학 개론을 가르치기 시작했을 때는 여학생의 수가 거의 없었습니다. 지금은 여학생이 수강 인원의 약 1/4에 달합니다. 여학생들의 흥미를 끄는 것으로 보이는 딥러닝 및 IoT 모듈 같은 활동은 이들이 공학 프로그램을 계속할 자신감을 심어 줄 것으로 보입니다. 이는 결국 저와 여러 동료들이 오랫동안 중요하게 여겨 온 사안인 프로그램 내 학생들의 다양성 증진에 도움이 될 것입니다.
저는 설문조사 외에도 모듈에 대한 학생들의 의견을 비공식적으로 받았습니다. 이들은 모듈이 즐겁고 학습에 유용하다고 했지만, 일부는 AlexNet에서 제공한 분류가 몇몇 경우에 부정확했다는 점을 들어 의문을 표했습니다. 저는 이 기회를 통해 분류 오차와 그 원인, 그리고 이러한 오차가 실제 응용 사례에 미치는 영향에 대해 이야기했습니다. 앞으로 저는 사전 훈련된 다른 신경망을 모듈에서 실험하여 다른 신경망이 더 정확한 분류를 제공할 수 있는지 알아볼 계획입니다. 또한 데이터 사이언스 및 데이터 분석 연습문제를 MATLAB 강의에 더 많이 추가해서 1학년 학생들에게 이 개념에 대한 소개를 제공할 계획도 있습니다.
2022년 기고