개발 이야기/Machine learning

AI for Everyone Week1

가마뫼 2019. 3. 10. 22:20
AI-for-Everyone-week1-a4611943-749d-4acd-b210-1a2a373559cc

AI for Everyone week1

Introduction

  • 2030년까지 $13 trillion 가치
  • 소프트웨어 분야 뿐만 아니라 여행, 물류, 전장 사업 등 다양한 분야에 영향

  • ANI → 최근 몇 년간 많은 발전을 결과로 보여줌 (이미지 인식, 음성 합성 등)

ANI / AGI가 아니라 약 인공지능 / 강 인공지능으로 표현하는 경우도 있음

Machine learning

Supervised Learning

교과서나 튜토리얼 등에서 가장 흔하게 볼 수 있는 Machine learning의 유형!

입력 (A)를 출력 (B)로 가장 잘 설명할 수 있는 관계 (또는 함수)를 찾는 것

프로그래밍을 통해 명시적으로 관계를 만드는 것이 아니라 데이터를 통해서 관계를 찾음

// 프로그래밍을 통한 명시적 관계 매칭
if ( 붉은 색 ) return 소방차
else if ( 파란 색 ) return 경찰차
else return 알수 없음

Supervised learning 예제

  • 스팸 메일 분류: Email → Spam? (0/1)
  • 음성 인식: Audio → Text transcript
  • 기계 번역: English → Chinese
  • 온라인 광고: Ad, user info → Click? (0/1)
  • 자율주행차: Image, radar info → position of other cars
  • 외형 검사: Image of phone → defect? (0/1)

What is data?

dataset의 형태

  • 집의 크기와 침실의 갯수 (Input)로 가격 (Output)을 예측하는 모델
  • 가격 (Input)이 주어졌을 때 적절한 집의 크기 (Output)을 추천하는 모델
  • 풀고자하는 문제에 따라 데이터의 입력과 출력이 다를 수 있다

데이터셋을 얻는 방법

  1. 수작업으로 레이블링을 한다
  2. 패턴을 통해서 찾는다
  3. 공개된 데이터를 웹사이트 등에서 얻는

수작업으로 레이블링을 하는 방법은 어떻게보면 확실한 방법이지만, 시간과 자본이 든다는 단점이 있으며 수작업이기 때문에 발생하는 오차도 고려해야 한다.

패턴을 통해서 찾는 방법은 데이터 전처리 또는 수집을 위한 또 다른 통계 모델을 수반한다, 당연히 모델은 오류가 있을 수 있음

Use and mis-use of data

가능하면 모델링 (Data science) 팀과 커뮤니케이션을 활발하게 해서 피드백을 빠르게 받는 것이 좋다

데이터 Collecting 또는 Engineer 쪽에서 완벽하게 해서 주기 보다는 작은 단위에서 피드백을 받고 수정하는 과정이 더 적절함

데이터가 많다고 항상 그걸로 뭔가를 할 수 있다고 생각하지 말 것! 비지니스 모델에 따라서 그 데이터가 쓸모가 있을 수도, 없을 수도 있다

Data is messy

  • Garbage in, garbage out: 좋지 않은 데이터로는 좋지 않는 성능 (모델)이 나온다
  • Data problems (missing value, consistency): 현실 데이터는 깨끗하지 않다. 모순된 값 (양수가 보장되어야 하는 데 음수 값) 또는 결측값이 존재할 수 있음

Terminology of AI

Machine learning vs data science

위와 같은 데이터셋이 있을 때

입력 (집 크기, 침실 갯수, 샤워실 갯수 등)으로 가격을 예측하는 시스템 → Machine learning

비지니스 결정을 위한 insight를 찾는 작업 → Data science

What makes an AI company?

단순이 회사에서 딥러닝을 사용한다고 해서 AI company가 되는 것이 아님!

( Any company + deep learning ≠ AI company )

  • Strategic data acquisition
  • Unified data warehous
  • Pervasive automation
  • New roles (Machine learning engineer) and division of labor

AI Transformation

  1. 모멘텀을 얻기 위한 파일럿 프로젝트 진행
  2. 내부 AI 팀 구축
  3. AI 교육 제공 (엔지니어, 프로덕트 매니저 상관 없이)
  4. AI 전략 수립
  5. 내부 및 외부 커뮤니케이션 수립 (AI project)

Machine learning이 할 수 있는 것과 할 수 없는 것

고객 문의: 장난감이 이틀이나 늦게 와서, 조카의 생일에 맞게 줄 수 없었어요. 환불 가능할까요?

  • 출력 예제1: 환불 요청 ( 입력 문장에 대해서 환불 요청 / 배송 문의 / 기타에 대해서 분류하는 것은 충분히 할 수 있음!)
  • 출력 예제2: 배송이 늦어져서 유감입니다. 제 때 도착했다면 더 나은 생일이었을텐데 말이죠. 환불 절차를 도와드릴 수 있을 것 같아요! ( 입력 문장에 대해 이런 출력 문장을 만드는 것은 쉽지 않다 )

출력 예제2에 대해서 Cannot이라고 강의 중에는 설명했지만, 최근 NLP 연구의 QA 시스템이 이런 작업이 가능하게 하고 있고, 인간 수준에 도달한 결과도 발표되었음

ML system이 문제를 쉽게, 그리고 잘 풀게 하려면

  1. 가능하면 간단한 개념 ( 인간 기준으로 1초 내에 판별 가능한 문제, ex 사진은 고양이인가요? )
  2. 가능하면 많은 데이터

즉, 반대로

  1. 적은 데이터 셋에서 복잡한 개념을 학습하려고 하거나
  2. 전에 보지 못한 새로운 데이터에 대해서는

좋지 못한 성능을 보인다