juuuding

[캡스톤 A] 노코드 AI 블록 모델 생성 서비스 본문

컴퓨터공학/캡스톤 A

[캡스톤 A] 노코드 AI 블록 모델 생성 서비스

jiuuu 2024. 11. 28. 15:44

 

 Background

 

최근 AI 기술은 많은 사람들에게 관심을 받고 있지만, 이를 직접 구현하기 위해 필요한 프로그래밍 지식과 기술적 진입장벽은 여전히 높다. 특히, 비전공자나 AI에 입문하려는 사람들에게 복잡한 코드 작성은 큰 부담으로 다가온다. 이런 문제를 해결하기 위해 우리는 누구나 쉽게 AI 모델을 설계하고 학습할 수 있는 노코드 AI 블록 모델 생성 서비스, MuseLab을 개발하였다.

MuseLab은 사용자가 블록 코딩 방식으로 딥러닝 모델을 설계할 수 있는 직관적인 인터페이스를 제공한다. 뿐만 아니라, GPT API를 통해 설계한 모델을 코드로 변환하고, 실제 데이터로 모델을 학습시켜 결과를 확인할 수 있다. 이를 통해 사용자는 AI 모델 설계부터 학습까지의 과정을 쉽고 명확하게 이해할 수 있다.

 

 

 MuseLab의 주요 기능

 

블록 기반 모델 설계 MuseLab의 가장 큰 특징은 블록 코딩 방식으로 AI 모델을 설계할 수 있다는 점이다. 사용자는 Conv2D, MaxPooling2D, Dense와 같은 블록을 드래그 앤 드롭 방식으로 추가하고, 블록마다 필요한 매개변수를 설정할 수 있다. 이렇게 구성된 블록은 Keras 코드로 자동 변환되며, 복잡한 프로그래밍 과정을 대체한다.

사용자는 레이어를 추가할 때마다 시각적으로 모델의 구조를 확인할 수 있다. 이러한 방식은 AI 설계 과정을 단순화하고, 초보자도 직관적으로 모델을 이해할 수 있도록 돕는다.

예를 들어, Conv2D 블록을 추가하고 매개변수로 filters=32, kernel_size=(3,3), activation='relu'를 설정하면, MuseLab은 이를 다음과 같은 Keras 코드로 변환한다

model.add(Conv2D(filters=32, kernel_size=(3,3), activation='relu'))

 

데이터 전처리 블록 AI 모델 학습에서 데이터 전처리는 매우 중요한 단계이다. MuseLab은 Normalize, Resize, Grayscale과 같은 데이터 전처리 블록을 제공한다. 사용자는 필요한 전처리 과정을 선택해 데이터에 적용할 수 있으며, 이는 모델 학습에 자동으로 반영된다. 예를 들어, MNIST 데이터셋을 학습하려는 경우 Grayscale(흑백 이미지), Normalize(정규화) 블록을 추가하면, 데이터는 자동으로 다음과 같이 처리된다.

X_train, X_test = X_train / 255.0, X_test / 255.0

 

GPT API를 통한 코드 변환 MuseLab은 GPT API를 활용하여 생성된 Keras 코드를 검증하고 최적화할 수 있다. 사용자가 설계한 블록 기반 모델은 Keras 코드로 변환된 뒤, GPT API에 전달된다. GPT는 이를 분석하여 실행 가능한 형태로 수정하고, 최적화된 코드를 반환한다.이렇게 GPT와의 연동을 통해 사용자는 코드 작성 중 발생할 수 있는 오류를 쉽게 해결할 수 있다. 예를 들어, 사용자가 잘못된 매개변수를 설정하거나 필수 블록을 누락한 경우, GPT는 이를 자동으로 감지하고 다음과 같이 수정할 수 있다.

# 오류 수정 전
model.add(Dense(units=128))  # activation 매개변수 누락
# 오류 수정 후
model.add(Dense(units=128, activation='relu'))

 

모델 학습 및 결과 확인 MuseLab은 생성된 코드를 Colab 환경에서 실행하여 모델을 학습시킬 수 있다. 학습 중 로그는 Gradio UI를 통해 실시간으로 제공되며, 학습 완료 후 정확도와 손실 그래프를 확인할 수 있다.

 

또한, 모델 학습 결과를 시각적으로 표현하여 모델이 데이터를 어떻게 판단했는지 보여준다. 예를 들어, Class Activation Map(CAM)을 활용해 "모델이 이미지의 어느 부분을 보고 판단했는지"를 시각적으로 제공하며, 사용자는 모델의 학습 과정을 더 깊이 이해할 수 있다.

 

 기술적 구성 요소 (시연)

 

기말 시연을 위해서 사용한 기술 구성 요소들이다. 하지만 최종 결과물은 gradio가 아닌 다른 기술을 사용할 예정이다. 

  1. Gradio 기반의 사용자 인터페이스 MuseLab은 Gradio를 기반으로 사용자 친화적인 인터페이스를 제공한다. 사용자는 Gradio UI에서 블록을 추가하고 매개변수를 설정하며, 시각적으로 모델 구조를 확인할 수 있다. 이 UI는 드래그 앤 드롭 방식으로 설계되어 초보자도 쉽게 사용할 수 있다.
  2. GPT API 연동 OpenAI의 GPT API는 MuseLab의 핵심 기술 중 하나로, 사용자가 생성한 코드를 검증하고 최적화한다. GPT는 Keras 코드에서 발생할 수 있는 오류를 감지하고 수정하여, 사용자가 학습에 집중할 수 있도록 돕는다.
  3. Keras 기반의 딥러닝 모델 학습 MuseLab은 TensorFlow의 Keras를 기반으로 모델 학습을 수행한다. 생성된 모델은 MNIST와 같은 대표적인 데이터셋으로 학습되며, 학습 결과는 시각화되어 제공된다.
  4. 데이터 전처리 MuseLab은 Normalize, Resize와 같은 전처리 옵션을 제공하여, 데이터를 학습에 적합한 형태로 자동 변환한다. 전처리 과정은 모델 학습의 성능을 높이는 데 중요한 역할을 한다.