본문 바로가기
인공지능 기초

티처블머신으로 가위, 바위, 보 모델 만들기

by SwMaker_Jun 2023. 4. 19.
728x90
반응형

1. Teachable Machine (티처블머신)

     - 티처블머신(Teachable Machine)은 구글에서 개발한 머신러닝 모델을 쉽게 만들고 사용할 수 있도록 도와주는

       온라인 도구입니다.

       티처블머신을 사용하면 이미지, 소리, 자세 등의 입력 데이터를 학습시켜 컴퓨터 비전, 음성인식, 자세인식 등 다양한

       분야에서 사용할 수 있는 머신러닝 모델을 쉽게 만들 수 있습니다.

 

       티처블머신은 사용자가 웹캠으로 사물의 이미지나 자세를 촬영하거나, 마이크로 소리를 입력하여 머신러닝 모델을

       학습시킬 수 있습니다.

       학습된 모델은 텍스트, 이미지, 소리 등의 입력 데이터를 분석하고, 사용자가 지정한 클래스로 분류할 수 있습니다.

 

       예를 들어, 티처블머신을 사용하여 강아지와 고양이의 이미지를 학습시킨 후, 웹캠으로 찍은 동물의 이미지를 입력

       하면 학습된 모델이 강아지인지 고양이인지 자동으로 분류할 수 있습니다. 이와 같은 방식으로 티처블머신을 사용

       하면 비전, 음성, 자세 등 다양한 분야에서 머신러닝 모델을 쉽게 만들고 사용할 수 있습니다.

출처 : https://www.youtube.com/watch?v=T2qQGqZxkD0&t=67s 

티처블머신 소개 영상

2. 티처블머신 사이트 들어가기.

     https://teachablemachine.withgoogle.com/

 

Teachable Machine

Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required.

teachablemachine.withgoogle.com

 

"Get Started" 클릭하여 시작

 

3. Imge, Audio, Pose Project

    - imge, audio, pose 활용 모델 만들기

학습하여 모델을 만들고 싶은 project를 클릭

 

 

    - imge 프로젝트를 시작

    - 각 Class 에는 머신러닝 지도학습을 위한 데이터의 라벨이름을 정해준다.

    - 코로나19로 인하여 마스크 유무를 판단하는 인공지능 카메라를 만들어 보자

이미지 학습

 

※ 머신러닝에 대해 알아보고 가기.

    1. Machine Learning (머신러닝) 

        - 데이터를 학습하여 분류하거나 값을 예측하는 것.

          - 머신러닝 종류 지도학습, 비지도학습, 강화학습 

 

    2. Supervised Learning (지도학습) 

        - 예를 들어 고양이와 강아지 사진을 주고 사진데이터에 고양이, 강아지라는

          정답(label)을 주고 학습하는 방식.

          -  지도학습 분류 (classification), 회의 (regression)

           가. 분류 : 데이터를 하나의 분류로 나타냄.

           나. 회귀 : 데이터의 특징을 가지고 결과를 예측하는 것. 

   

티처블머신 --> 지도학습 --> 분류

 

 

     3. Unsupervised Learning (비지도학습)

        - 데이터에 따로 답(label)을 알려주지 않고, 컴퓨터 스스로 비슷한 데이터들을

          군집화 하는 것

        - 예를들어 고양이 사진데이터와 강아지사진데이터에 정답을 주지 않고 비슷한

          단위로 군집화

          - 사자의 사진을 입력했을때 비슷한 부류의 군집으로 예측하여 나타냄.   

 

    4. Reinforcement Learning (강화학습)

        - 상벌점제 처럼 보상과 벌을 통해 강화학습으로 최적의 예측을 얻어내는 것.    

 

 

 

4. 데이터획득

    - 인공지능에서 가장 중요한 부분은 바로 데이터

    - 양질의 데이터가 많으면 많을수록 인공지능 판단과 예측이 좋아짐.

    - 아래 Crop 버튼을 통해 학습하고자 하는 이미지를 확대하여 학습효과를 높여보자.

    - 컴퓨터는 배경을 포함한 모든 부분을 데이터 픽셀로 인식

가위-바위-보-none class 생성

 

    - 각 class에 label 이름을 붙여주고 100장 정도의 가위, 바위, 보 데이터를 수집하자

    - 이때 다양한 각도로 흔들리지 않은 데이터 사진을 획득할 것.

 

                                                                                         데이터 획득

 

 

    - 만약 데이터 사진중에 흔들리거나 잘못된 사진이 있을때는 삭제해 주어야 인공지능 인식률을 높일 수 있다.

 

    - 데이터 정제

      데이터 정제는 데이터를 수집하고 저장한 후, 분석이나 모델링을 할 때 데이터의 질을 향상시키기 위해 필요한 작업

      입니다.

      데이터 정제란 데이터의 누락, 오류, 중복, 이상치 등의 문제를 해결하여 데이터의 정확성, 일관성, 완전성을 보장하는

      과정입니다.

 

        일반적으로 데이터 정제는 다음과 같은 과정을 포함합니다.

         ㅇ 결측치 처리 : 데이터가 누락된 경우, 해당 부분을 다른 값으로 채우거나 삭제하는 작업입니다.

         ㅇ 이상치 처리 : 이상치는 전체 데이터 분포와 다른 값으로 데이터 분석에 방해가 될 수 있습니다. 이상치를 식별

                                    하고 수정하거나 제거하는 작업입니다.

         ㅇ 중복 데이터 처리 : 중복된 데이터는 분석 결과에 영향을 미칠 수 있으므로, 중복된 데이터를 찾아서 삭제하는

              작업입니다.

         ㅇ 데이터 형식 일치화: 데이터는 여러 형식으로 저장될 수 있으므로, 분석에 필요한 데이터 형식으로 통일시키는

              작업입니다.

       

      데이터 정제를 통해 데이터의 품질을 향상시키면 데이터 분석이나 모델링의 정확성이 향상됩니다.

 
무의미한 데이터 수집

    - 마지막 class에 가위, 바위, 보 이외에 다른 무의미한 의미없는 데이터를 수집하여 정확하게 가위, 바위, 보를 예측할 수

      있도록 한다.

    - 가위, 바위, 보 데이터 보다 더 많은 데이터를 수집하도록 하자 !

 

5. 모델링

    - Train Model 버튼을 눌러 데이터를 학습하여 모델을 만들어 보자.

    - Training 과정에서 Epochs, Batch Size, Learning Rate 값 설정을 볼수 있다.

    - 모델 평가로 데이터 학습이 잘 이루어 졌는지 확인해 보자.

각 데이터 사진의 갯수 확인 후 학습시작하기

 

모델평가

 ■ Epochs

     -  전체 데이터가 신경망을 통과하는 횟수

 ■ Batch Size

     -  데이터 사이즈, 메모리의 한계와 속도 문제로 대부분의 경우 한번의 epoch에서 모든 데이터를

         한꺼번에 신경망을 통과할 수 없어서, 데이터를 나누어서 실행     

 ■ Learning Rate (학습률)

     -  현재점에서 다음점으로 얼마나 이동할지 세세한 학습을 의미한다.

        ※ 예를 들면 빨강과 노랑의 경계점 ( 주황색을 어느정도를 빨강으로 인식할 것인가 )

 

 

 

6. 모델 활용 프로젝트

    - Export Model 버튼을 통해 학습된 모델을 3가지 형태로 사용할 수 있도록 모델을 제공

    - "Tensorflow.js" : 자바스트립트 머신러닝 라이브러리를 활용할 수 있도록 학습된 모델을 URL 주소로 업로드 해줌

    - "Tensorflow" : 파이썬을 활용할 수 있도록 모델파일과 label 파일을 다운받을 수 있음.

    - "Tensorflow Lite" : 어플리케이션 활용시

 

모델 내보내기를 통해 학습된 모델 활용 가능

 

 

Tensorflow -> keras 모델 다운로드 클릭

 

압축파일 다운로드 후 압축 풀기

 

 

    - 파이썬에서 Tensorflow keras 라이브러리를 활용하여 적용 가능.

    - keras_model.h5  : 데이터 학습으로 만들어진 모델

    - label.txt : 각 class 레이블 명이 적힌 텍스트 파일 

 

 

728x90
반응형