2023 계 모각소 

AI스터디 

활동내용 및 발표자료

<팀원>

소프트웨어학과 김민준

사이버보안학과 김태휘

소프트웨어학과 이규석

사이버보안학과 최경주


<팀원별 활동내용>

김민준

pushup, squat, pullup 운동을 딥러닝으로 분류할 수 있는 모델을 개발하는 것을 목적으로 공부했다.

1주차에는 기초적인 다중 분류 관련 딥러닝 지식을 공부했다.

2주차에는 사람의 포즈를 추정해서 실시간으로 눈과 관절 등 랜드마크를 추출할 수 있는 프레임워크인 Google의 mediapipe를 사용해 랜드마크를 추출했다.

3주차에는 학습 및 테스트에 사용할 데이터를 구하기 위해 Kaggle 및 Youtube에서 영상이나 mediapip의 landmark 데이터셋을 수집하고 전처리를 해주었다.

4주차에는 분류를 하기 위한 기본적인 코드를 작성했다. 테스트를 위해 준비한 데이터셋을 모두 사용하지 않고 각 운동 당 약 5천개의 프레임을 사용했다. 

준비한 데이터셋 중 20퍼센트는 테스트 데이터셋으로 사용했다. 성능을 확인하기 위한 테스트 데이터셋에는 준비한 운동 외에 다른 운동도 추가하여 성능을 확인했다.

최종적으로 5주차에는 모든 데이터셋을 사용해 분류를 진행했다. 모든 데이터셋을 사용하여 학습과 테스트를 진행하였다. 

분류 성능을 확인하기 위해 약 13,000개의 프레임에서 추출한 랜드마크로 10번의 epoch으로 학습을 진행했다. 

또한, push up, squat, pull up 외의 다른 운동 영상으로도 성능을 측정했다. 

학습한 운동 외의 다른 자세가 감지되는 것을 방지하기 위해 softmax함수를 통해 각각의 확률을 구했고, 가장 큰 확률이 0.99를 넘지 못하면 감지하지 못한 것으로 분류했다.

김태휘

각 주차별로 인공지능 기반의 컴퓨터비전 분야에서의 기본 지식을 쌓았다. 

1주차에는 현재 딥러닝의 이미지 분류 및 인식에서 가장 기초가 되는 Convolutional Network와 이에 대한 Image Augmentation 기술인 Cutmix에 대해 학습했다.

2주차에는 Transformer를 이미지 인식에 활용한 ViT에 대해 학습하고, 이를 위한 핵심 기술인 Self-Attetention 메커니즘에 대해 정리했다.

3주차에는 2주차에서 학습한 내용을 실제로 코드로 구현하면서 직관적인 면이 부족한 Transformer 기반의 모델에 대한 기초를 다졌다. 

또한 이 과정에서 여러 개의 GPU를 동시에 사용하면서 모델을 학습할 수 있게 하는 DDP를 구현하였다.

4주차에는 이미지 분류에 그쳤던 이전 활동에서 이미지 속의 객체를 인식하는 Object Detection을 MMDetection 프레임워크를 기반으로 구현하고 실습해보았다.

5주차에는 딥러닝 모델의 신뢰성과 분석 가능성을 위해 예측 결과에 대한 분석을 진행할 수 있게 하는 여러 딥러닝 분석 도구(Grad-CAM, Fourier Analysis 등)을 

실제로 사용해보았다.

이규석

강화학습 기초적인 이론 및 알고리즘 학습

Sutton, Barto의 “Reinforcement Learning An Introduction” 같은 서적과 Q-learning, DQN, PPO, TRPO 와 같은 강화학습의 주요 알고리즘에 대한 논문과 자료를 통해 학습을 

진행했다. 특히 1주차에는 강화학습의 기초 중 하나인 Q-learning에 대해 MDP, value function, reward function 등 기본 이론을 학습하였다. 

2주차에는 Q-learning을 확장한 DQN(Deep Q-learning)에 집중했다. DeepMind의 논문과 자료를 통해 Deep Neural Network를 강화학습에 활용하는 방법이 

어떤 장점이 있는지 알 수 있었고, 간단한 “CartPole” 예제에서 학습을 시도해 보며 알고리즘을 잘 이해할 수 있었다. 

3주차와 4주차에는 Policy Gradient Method에 중점을 두어 학습을 진행했다. REINFOCE 알고리즘과 Actor-Critic method 같은 Policy Gradient Method가 어떻게 진행되고, 

각각 어떠한 장점과 단점이 있는지를 습득할 수 있었다. 5주차에는 PPO(Proximal Policy Optimization)에 집중하였다. 

PPO는 안정적인 성능 향상을 보장하는 알고리즘으로 관련된 TRPO(Trust Region Policy Optimization)가 가진 한계와 PPO의 장점을 알 수 있었다.

최경주

매 주마다 논문 리뷰를 진행하였고, 기존에 수강하고 있었던 네이버 부스트클래스 교육과 교내 프로그램인 ASDP 자격증 교육을 기록하였다.

1) 1주차

i) 논문 리뷰

a) Lift Yourself Up: Retrieval-augmented Text Generation with Self-Memory

b) Federated Learning of Gboard Language Models with Differential Privacy

ii) RAG 챗봇 모델 코드 작성

2) 2주차

i) 논문 리뷰 : S-LoRA

ii) 네이버 부스트 클래스 1주차 교육 수강

iii) ADsP 교육 수강

3) 3주차

i) 논문 리뷰 : Prompter: Zero-shot Adaptive Prefixes for Dialogue State Tracking Domain Adaptation

ii) 네이버 부스트 클래스 2주차 교육 수강

4) 4주차

i) 논문 리뷰 : Dim-Krum:Backdoor-Resistant Federated Learning for NLP with Dimension-wise Krum-Based Aggregation

ii) 네이버 부스트 클래스 4주차 교육 수강

5) 5주차

i) 논문 리뷰 : ParaAMR: A Large-Scale Syntactically Diverse Paraphrase Dataset by AMR Back-Translation

ii)네이버 부스트 클래스 5주차 교육 수강


<팀원별 최종성과>

김민준

학습한 모델을 통해 push up, squat, pull up을 분류할 수 있다. Macro-average를 사용하여 F1-score를 구해 성능을 측정했다. 

분류 모델의 성능 결과를 통해 모든 운동에 대해 높은 재현율을 보인다. 반면 squat와 pull up은 정밀도가 상대적으로 낮은 것을 알 수 있다. 

이러한 현상은 실제 운동을 정확하게 분류하는 데에는 문제가 없지만, squat와 pull up의 경우 다른 운동과 혼동될 가능성이 높다는 것을 의미한다.

이러한 차이는 운동 자세의 특성 때문에 발생할 수 있다. 예를 들어, push up은 신체가 가로로 누워있는 자세에서 수행되기 때문에 다른 운동과 구분이 비교적 쉽다. 

반면에, squat와 pull up은 앉아있거나 서서 진행되는 운동이기 때문에 다른 운동과 혼동될 가능성이 높을 수 있다.

김태휘

이미지 인식에서의 여러 분야들을 살펴보고, 논문을 읽으며 구현하는 과정을 통해 기존 학기에서 수행하던 내용에서 보다 깊고 넓은 내용을 학습할 수 있었다.

이규석

다양한 강화학습 이론과 알고리즘에 대한 이해를 얻을 수 있었다. 이론적인 부분에서 MDP, Bellman equation, value function 등의 강화학습을 파악하는데 필요한 

기초적인 것부터 Q-learning, DQN, REINFORCE, Actor-Critic method, PPO, TRPO 등의 주요 알고리즘들을 학습하며, 

알고리즘 각각의 진행방식이나 장점 및 단점을 알 수 있었다.

최경주

1주차 활동에서는 RAG 챗봇 모델을 직접 구현하고 streamlit 라이브러리를 통해 웹으로 상호 작용할 수 있도록 하였다. 

또한, 매 주마다 논문을 읽고 리뷰하여 NLP 분야에 대한 트렌드 및 도메인 지식을 함양할 수 있었다. 

네이버 부스트 클래스 교육을 수강하면서 부족했던 기초를 보완하고 프로젝트를 완료할 수 있었다.


<팀원별 향후계획>

김민준

실시간 운동 분류 네트워크와 더불어 실시간으로 운동 횟수를 측정할 수 있는 네트워크를 개발할 것이다. 

이를 통해 운동 동작의 정확한 인식과 횟수 측정이 가능해지면, 추후에 개인 맞춤형 운동 플랜을 구성하고 개선할 수 있다.

김태휘

다양한 분야에서 딥러닝 기술이 어떻게 쓰이는지 살펴보고, 추후에는 기존의 논문이나 방법론을 구현하는 것에 그치는 것이 아니라 

나만의 방법론을 개발하여 모델의 성능을 개선해보고 싶다.

이규석

이번에 진행한 모각소 활동을 통하여 강화학습의 이론적인 측면에 대해 많은 지식을 얻을 수 있었다. 

그러나 실제로 대다수의 알고리즘을 직접 구현해보지 못한 것이 한계로 다가왔다. 

이에 따라 향후에는 각 알고리즘을 실제로 코드로 구현해 보고 개선해 나가며 이론을 보다 실질적으로 이해해 나가고자 한다.

최경주

추후에는 논문 리뷰를 매 주마다 1개씩 정리할 예정이며, 

LLM 학습을 위해 낮은 리소스로도 학습 가능한 데이터 병렬 처리와 관련된 Fully Shard Data Parallel, DeepSpeed를 사용하여 코드 생성 모델을 구현할 계획이다.


<발표자료>