AI For Everyone 노트
발생일: 2020.12.07
키워드: Coursera, Andrew Ng, Deep Learning, AI
문제:
코세라의 AI For Everyone 강의를 보고 정리한 노트 (강의 링크)
해결책:
- AI > 머신러닝 > 딥러닝 = Neural Network
- 딥러닝은 뉴런에서 영감을 받았지만, 사람의 뇌의 동작 방식은 알 수 없음
- 머신러닝의 대부분은 지도 학습(Supervised Learning)
- Input A 로 B를 매핑하는 것 (A to B mapping)
- 사람이 1초 안에 판단할 수 있는 것이라면 지도 학습으로 구현 가능
- AI 팀과 DS 팀은 다름
- AI 팀은 머신러닝을 활용한 자동화에 중점
- DS 팀은 데이터를 분석해서 인사이트를 얻는 것에 중점 (의사 결정, 프리젠테이션 등)
- 머그컵 판매 사업이라면,
- DS팀: 데이터를 분석해서 어떤 지역에서 판매가 잘 되는지 분석하고 전략에 도움
- AI팀: 머그컵 사진을 보고 불량품 파악 자동화
- 직업을 대체하는 것보다는 작업을 대체하는 것이 효율적임
- 비지니스 가치를 올릴 수 있는 곳에 AI를 적용하면 더 가치 있음
- 즉, 먼저 비즈니스에서 중요한 걸 파악하란 뜻
- 수용가능한 기준을 세워야 함
- 예: 성능 기준 95%
- 기술을 사는 게 나을까? 팀을 꾸리는 게 나을까?
- 일반적인 산업에서 필요한 기술(산업 표준)이라면 사는 게 나음
- 기차 앞에서 뛰지 마라: 산업 표준의 발전 속도가 더 빠르므로
- 우리 사업에 특화된 것이라면 팀을 꾸리는 게 나음
- AI는 구조적으로 100% 정확도를 달성하기 어렵다
- 비즈니스에서 의미있는 정확도를 설정해도 큰 도움이 됨
- 스마트 스피커 구현 예
- "헤이 구글, 10시에 알람 맞춰줘"
1. 호출 단어 인식: 오디오에서 '헤이 구글'이 있는지 없는지
2. 음성 인식: '10시에 알람 맞춰줘'를 텍스트로 변환
3. 의도 인식: 알람, 10시
4. 명령 실행
- 명령 만큼의 의도 인식 분류가 필요함
- 대부분 supervised learning
- 자율 주행 구현 예
- 역시 supervised learning
- 예:
1. 이미지/라이다/레이더 + GPS/MAP
2. 자동차 인식, 보행자 인식 (이후 방향 예측), 경로 인식, 신호등 인식, 장애물 인식 등...
3. 모션 플래닝 (가속, 핸들 등)
- Edge Deployment
- 유저 디바이스에 직접 배포하는 것
- 네트워크 비용 없이 빨리 응답
- 예: 자율주행 차량에 탑재, 스마트 스피커에 탑재
- AI 논문 사이트: Arxiv
- 규모가 있는 AI 팀의 구성
- Software Engineer
- Machine Learning Engineer
- Machine Learning Resercher
- Data Scientist: 데이터로 의사 결정에 도움
- Data Engineer: 데이터 구성, 접근 관리 등
- AI Product Manager: 어떻게 빌드할 건지, 구현 가능한지, 가치가 있는지 결정
- AI Transformation Playbook: 훌륭한 AI 회사를 만드는 법
1. 추친력을 얻기 위해 파일럿 프로젝트 진행
- 가치보단 성공 가능성에 집중해서 시작
- 일단 성공을 해서 한 팀에서 지지를 얻는 것이 중요
- 구글 브레인에서는 음성 인식 팀에 처음으로 딥러닝을 적용함(음성인식은 광고나 검색만큼 가치가 있진 않음)
- 여기서 성공한 후, 구글 맵 팀 등으로 연결됨. 이후에 온라인 광고까지 적용
- 파일럿 프로젝트는 단기(6-12개월)에 결과를 보여줘야 함
- 자체 팀도 좋지만, 처음엔 결과를 빨리 얻고 전문가의 경험을 얻을 수 있으니 외주여도 괜찮음
2. 자체 AI 팀 구성
- AI를 company-wide platform 으로 구축할 수 있게 CEO 직속(내지는 비즈니스 유닛과 평행하게) 구성하는 것이 좋음
- CEO, CTO, CIO 직속일 수도 있고, CAIO 직속일 수도 있음
- 비즈니스 펀딩을 위해 AI팀을 조직하는 것 아니라, AI 조직을 위해 펀딩을 받은 경우 더 성과가 좋았음
3. AI 이해를 위한 학습 전파 (Provide broad AI training)
- 임원 레벨은 4시간 이상, 리더는 12시간 이상 AI에 대해 학습하도록 하는 게 좋음
- AI 개발자를 채용하는 대신 내부에서 기르는 것도 좋은 방법 (100시간 학습)
- The smart CLO knows they should curate rather than create (CLO = learning)
4. AI 전략 수립 (Develop an AI strategy)
- 전략을 세우는 것이 첫 번째가 아닌 이유는, 먼저 AI를 우리 회사의 비즈니스에 적합하게 적용하는 것을 이해해야 하기 때문
- AI 선순환 구조를 만드는 것이 중요 (좋은 제품 > 많은 사용자 > 많은 데이터 > 좋은 제품)
- 검색 같은 것은 기존 업체와 경쟁하기 어렵지만, 스타트업이 새로운 분야에 진입할 때 큰 장점이 됨
- 양배추와 잡초를 구분하는 트랙터 사업 예
- 이렇게 하면 defensible company 를 만들 수 있음 (신규 사업자가 진입하기 어려운 구글 같은 회사)
- AI는 대부분 해당 사업군에 특화된 경우가 많기 때문에, 대형 기술 회사의 AI 기술과 견주어서 지레 겁먹을 필요가 없음
- 데이터 수집 전략를 세우는 것을 고려
- 데이터 수집 전략: 무료 에메일, 사진 서비스가 무료로 (광고도 없이) 서비스를 제공하는 이유
- 통합된 데이터 웨어하우스
- 네트워크 효과와 플랫폼의 장점을 고려
- 승자독식 구조의 산업에서는 AI가 큰 도움이 될 수 있음
5. 커뮤니케이션 (Develop an internal and external communications)
- AI는 회사와 제품에 변화를 줄 수 있음
- 투자자: AI 회사로서의 가치를 적합하게 평가할 수 있게
- 정부: 공익에 도움이 됨 (규제가 많았던 헬스케어, 자율주행 분야...)
- 소비자/사용자에게 교육해서 인식을 바꿔주는 것도 중요
- AI 성공 사례는 드물어서, 커뮤니케이션하면 채용에 도움이 됨
- 내부 커뮤니케이션도 중요: 직원들이 걱정하는 경우도 있어서 안심을 주는 것이 도움이 됨
- AI 팀을 만들려고 할 때 일반적인 위험 (Don't / Do)
- Don't: AI로 모든 걸 해결하려는 것
- AI의 한계를 인정하고~
- Don't: 머신러닝 개발자를 단독으로 2-3명 고용하는 것
- 비즈니스 전문가와 개발자 한 명의 쌍이 더 나음 (구현 가능 여부와 비즈니스 가치를 모두 고려할 수 있음)
- Don't: 첫 번째 시도로 AI 프로젝트가 동작할 거라고 기대
- 한 번에 되는 경우는 잘 없음. 반복된 시도로 성공할 수 있음
- Don't: 전통적인 방법으로 계획
- 타임라인과 마일스톤, KPI를 세울 때 AI 팀과 함께 논의
- Don't: 시작 전 AI 슈퍼스타가 필요할 지 고려
- 팀을 만들어서 시도해보는 게 좋음
- AI 팀 시작하기
- 스터디할 팀을 구성하고
- 브레인스토밍 프로젝트를 시작 (No project is too small)
- 도움이 필요하다면 ML/DS 엔지니어를 고용
- AI Leader (VP AI, CAIO, ...)를 고용하거나 임명. 최근엔 CAIO 라는 직급이 많이 생겼다고 함
- CEO와 AI 전환에 대해 논의 (Key Question: AI를 적용하면 회사의 가치가 높아지거나 효율적이 될까?)
- AI의 한계
- 성능 이슈 (많은 데이터가 필요함)
- 과정을 설명하기 어려움
- 가능한 경우도 있으나 대체로 판단한 과정을 설명하기 어려움
- 판단의 과정을 표현하는 것도 주요 연구 대상 중의 하나로 진행 중임
- 사람도 잘 설명하지 못함. (머그컵이 왜 머그컵인지 설명하는 것이 쉽지 않은 것처럼)
- 편향: 편향된 정보(인종 등)로 학습된 AI
- AI 시스템에 대한 공격: 일부러 공격하는 경우가 있음
- 편향이 중요한 이유
- 고용 도구에서 여성이 차별됨
- 얼굴 인식 도구는 흑인보다 백인을 더 잘 구별함
- 은행 대출 승인
- 고정관념에 의한 중독 효과가 발생함 (예: 검색 결과에서 CEO 결과는 항상 백인 남성)
- 편향을 피하는 방법
- 기술적인 방법
- 잘 사용되지 않는 단어는 0으로 처리 (이런 단어에서 주로 편향이 발생했음)
- 데이터가 편향되지 않게 (예: 성별/인종별로 비슷한 비중의 데이터를 사용)
- 검증 과정을 투명하게. 편향을 이 단계에서 제거할 수 있게
- 다양한 인종과 성별을 가진 직원으로 팀을 구성
- AI 시스템에 대한 공격
- 이미지 인식을 방해하는 방법
- 예: 토끼 이미지 픽셀을 몇 개 변경하면, 책상으로 분류됨
- 예: 바나나 이미지에 특정 스티커를 보여주면 토스터로 변경됨
- 사기 감지, 스팸 필터 같은 시스템에서는 특히 중요함
----
Supervised Learning 구현 기술 예
Computer Vision
- Image Classification/Object Recognition
- 이미지가 고양이 사진인지
- Face recognition, 사람 사진인지, 같은 사람의 사진인지 등
- Object Detection
- 사진에서 차량이나 보행자가 어디에 있는지(영역)
- Image Segmentation
- 차량과 보행자의 픽셀 단위까지 파악
- X-ray 사진에서 각 부위 파악
- Tracking
- 마라톤 비디오에서 사용자의 이동 위치 파악
- 동영상에서 새의 위치를 파악
Natural Language Processing
- Text classification
- 이메일 카테고리 분류 (스팸 or 정상)
- 제품 설명으로 카테고리 분류 (당근마켓 글 등)
- 감정(Sentiment) 분류 (레스토랑 리뷰를 별점으로 환산)
- Food was good -> 별점 4점
- Service was horrible -> 별점 1점
- Information retrieval (정보 반환)
- 검색 결과에 연관 문서 반환
- Name entity recognition (이름 인식)
- 문장에서 인물의 이름을 파악
- 회사 이름, 전화 번호, 지명 등등
- Machine translation
- 번역
- 자연어 처리의 다른 부분
- part-of-speech tagging (품사 태깅)
- parsing
- 파싱 예: 구문을 의미 단위로 연결
- [the cat] [on the mat]
Speech
- Speech recognition (speech-to-text)
- 시간에 따른 음파 분석
- 최근의 음성 인식 발전은 대부분 딥러닝 덕분
- Trigger word/wakeword detection
- 헤이 구글
- Speaker ID
- 화자가 누군지 분석
- Speech synthesis (text-to-speech, TTS)
- The quick brown fox jumps over the lazy dogs.
- 알파벳 26자가 다 있는 문장ㅎㅎ
Robotics
- Perception
- 주변 물체를 인지 (자율 주행차)
- Motion planning
- 이동할 경로를 찾음
- Control
General machine learning
- Unstructured data (Image, Video, Audio, ...)
- Structured data
---
Supervised Learning 외 구현 기술 예
Unsupervised learning
- Clustering
- 식료품점에서 감자를 사는 사용자군을 클러스터링
- 예: 낮은 가격의 칩을 많이 사는 사람들, 비싼 가격의 칩을 적게 사는 사람들
- 구글 팀에서는 유튜브 데이터로 비지도 학습을 시켰더니, 고양이 동영상이 많다는 결과를 냈다고 함
- 지도 학습의 단점은 데이터 라벨링
- 머그컵을 학습시키려고 아이들한테 머그컵 1,000개를 학습시키지 않으니까...
- 사람의 뇌가 동작하는 방식은 아직 알지 못하지만, 비지도 학습이 도움이 될 수도 있을 듯
- 현재는 지도 학습에 비해 경제적인 가치가 낮은 편
Transfer learning
- 이미 학습한 모델로 다른 분야를 학습
- 대규모 데이터로 학습한 자동차 인식 모델로 소규모 데이터가 있는 골프카트 인식 모델 학습
- 컴퓨터 비전 쪽에서 특히 많이 사용함
Reinforcement learning
- 행동에 보상을 주는 방식으로 학습
- 아주 많은 데이터가 필요함
- 미디어의 주목을 많이 받긴 했지만, 경제적 가치는 지도학습에 비해 미미함
GANs (Generative Adversarial Network)
- 이미지를 생성하는데 효과적임
- 예: 연예인 이미지를 학습해, 연예인처럼 생긴 이미지를 생성
Knowledge Graph
- 구글 검색 우측에 나오는 인물 정보 (자동으로 생성되는 거였다니..)
- 데이터로 인물 정보를 생성함
- 출생, 사망, 이력 등
- 영화, 연예인, 호텔, 공항 등의 정보 생성에 사용되고 있음
- 경제적 가치가 높은데 의외로 많이 연구되지 않고 있음