AI 에 대한 이해
이번 포스팅은 멀티캠퍼스 융복합프로젝트를 진행하면서 AI, IoT, 빅데이터, 클라우드 공부를 한 학생들이 서로의 도메인에 대한 이해를 높이기 위해 조사한 글입니다. 프로젝트를 진행하면서 AI가 무엇을 할 수 있는지? 무엇이 필요한지? 어디에서 정보들을 찾을 수 있는지? 를 중점으로 정리한 글입니다.
인공지능 기술의 발전은 기존 프로그래밍과는 패러다임을 다르게 하여 개발자가 프로그램 규칙을 정해주는 것이 아니라, 데이터를 토대로 인공지능을 학습 시키면 스스로 규칙을 찾아냅니다. 거기에 더해 딥러닝 기술은 인간의 두뇌 작동방식을 모방한 인공신경망 입니다. 현재는 여러 유명한 신경망 알고리즘들이 있습니다. 이 종류에 따라 이미지 식별, 자연어 처리, 이미지 합성 등 정확도가 달라집니다. 예를 들면, 내가 쓴 손 글씨가 1, 2, … 9 인지를 파악하려면 CNN(Convolutional Neural Network) 알고리즘이 최적입니다. 또한, 실시간 물체 인식에는 YOLO v3 알고리즘에 데이터셋을 넣고 모델을 학습시키는 것이 일반적입니다.
어떤 종류의 데이터셋이 필요할까?
훈련하기를 원하는 데이터셋은 이미지로 예를 들면 사이즈가 일정하고, 특정 사물에 대한 다양한 상황과 무엇보다 양이 많아야 한다.
스마트 농장을 예로 들면, 토마토의 성장 과정을 새싹-잎-열매로 나누고 각 단계를 파악하기를 원한다면 최소 1만장 이상의 사진이 준비되어야 한다. 이는 IoT 카메라로 다양한 각도, 한 품종 다른 작물, 매시간 촬영해야한다. 말이 쉽지 훈련 이미지 데이터 클리닝 작업이 만만치 않을 것이다. 그 후, 데이터라벨링 작업을 수행하고, 훈련 셋과 검증 셋을 나누어 학습을 진행합니다.
대표적인 신경망 모델
CNN (이미지 분류 강세)
- ImageNet에 있는 Class 별 이미지 다운 (보통 1000장) 원하는 Class 없을 경우 이미지 크롤링 코드 작성 ImageNet
- 파이썬 라이브러리 중 하나인 google-images-download를 다운로드하여 원하는 이미지를 다운한다. 깃헙 주소
- 직접 찍는다.
RNN (패턴 인식 강세)
- 텍스트
- 시계열 데이터 (IoT 센싱 데이터), 온, 습도 실측치
- 음성 데이터
이 부분은 많은 응용이 가능하므로 더 알아보겠습니다.
AWS 에서는 어떤 서비스를 제공하고 있는가?
- AI 모델 학습을 위한 데이터 레이크 구축 (S3, Glue 활용)
- AWS SageMaker는 데이터 셋만 준비하면 다양한 알고리즘, 변수 등 설정 용이. 가장 큰 장점은 GPU 오토스케일링
정리
오늘은 간략히 AI 모델 학습을 위한 데이터셋 구축을 지원하기 위해 어떤 방법을 고려할 수 있는지 알아봤습니다. IoT를 활용하여 각종 센싱데이터를 RNN과 연동할수 있도록 데이터를 디자인하거나, 카메라 촬영 화상을 다각화하고 클렌징 방법이 고려되어야 할 것 같습니다. 이 부분은 앞으로 더 구체화 해도록 해보겠습니다.