Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

인공지능개론 (머신러닝 중심)

24,025 views

Published on

인공지능을 이해하기 위한 개론으로 머신러닝과 딥러닝의 개요를 포함한 슬라이드입니다.

Published in: Software

인공지능개론 (머신러닝 중심)

  1. 1. 인공지능 개론 (머신러닝 중심) 2017. 6. 강병호수석
  2. 2. I. 인공지능 개요 II. 인공지능의 역사 III. 머신러닝 개요 IV. 머신러닝 기초수학 V. 머신러닝 알고리즘 VI. 딥러닝 개요 및 사례 VII. 딥러닝 원리 VIII.신경망 종류와 프레임워크 Contents
  3. 3. 1. 인공지능이란? 2. 인지 컴퓨팅 3. 기계학습 4. 로봇과 자율주행차 5. 인간과의 게임 I. 인공지능 개요
  4. 4. 1. 인공지능이란? 인공지능(AI, Artificial Intelligence)이란 무엇인가? I. 인공지능 개요 인공지능이란 사람과 유사한 지능을 가지도록 인간의 학습능력, 추론능력, 지각능력, 자연어 이해능력 등을 컴퓨터 프로그램으로 실현하는 기술이다.
  5. 5. 1. 인공지능이란? 인공지능(AI, Artificial Intelligence)은 어떠한 기술로 구성되어 있나? I. 인공지능 개요 “인공지능은 지각, 학습, 추론의 기술을 바탕으로 다양한 Application을 만들어 낼 수 있다.” Artificial Intelligence 인지, 지각 학습,추론 행동  Natural Language Processing • Conversation • 기계번역 • 감정분석 • 내용분석  Speech Recognition • Speech to Text • Text to Speech  Computer Vision • 이미지 • 비디오  Machine Learning • Deep Learning  Robots  Autonomous Vehicle  AI Speaker  Chatbot
  6. 6. 가트너의 Hype Cycle는 기술의 관심, 유용성, 성숙도를 비교할 수 있으며 인공지능 Trend를 살펴 볼 수 있다. I. 인공지능 개요 [ Hype Cycle for Emerging Technology 2016 ] 1. 인공지능이란?
  7. 7. Cognitive Computing은 자연어 처리, 음성/영상 인식을 포함한 인공지능 전반에 관련된 기술 플랫폼이다. I. 인공지능 개요2. 인지 컴퓨팅 Natural Language  컴퓨터를 이용하여 사람 언어의 이해, 생성 및 분석을 다루는 인공지능 기술  자연어는 한 단어가 복수의 의미를 가졌거나, 단어와 단어가 상호 관계를 가지기 때문에 처리가 어렵다.  자연어를 이용한 대화, 기계 번역, 감정 분석, 내용 분석 등의 영역이 포함된다. Speech Recognition  컴퓨터가 마이크와 같은 센서를 통해 얻은 음향학적 신호(Acoustic speech signal)을 단어나 문장으로 변환시키는 기술 (Speech to Text)  그리고 문자를 바로 소리로 바꾸어 전달하는 기술(Text to Speech)을 포함한다. Computer Vision  컴퓨터가 이미지나 영상 정보를 받아들인 후 주변 물체와 환경 속성에 대한 이미지를 분석해 유용한 정보를 생성하는 기술
  8. 8. Deep Learning이 발전함에 따라 인지 컴퓨팅은 괄목할만한 성장을 진행하고 있음. I. 인공지능 개요2. 인지 컴퓨팅  인공 신경망 기반의 기계 번역  자율 주행에 필요한 Computer Vision 기술  음성 인식 분야의 성장
  9. 9. IBM Watson은 Cognitive Computing 서비스를 IBM Bluemix Cloud를 이용해서 제공한다. I. 인공지능 개요2. 인지 컴퓨팅  Watson은 인공지능 기술의 상용화 부분에 있어서 장점을 지니고 있다.
  10. 10. Google Cloud는 다양한 Machine Learning 서비스를 제공한다. I. 인공지능 개요2. 인지 컴퓨팅  Google은 사용자가 직접 Machine Leaning 모델을 수행할 수 있는 Ecosystem 구축에 강점이 있다.  Google은 6개의 상용화된 API 서비스를 제공한다. (17년 5월) [ Job Search and Discovery ] [ 비디오 분석 ] [ 이미지 분석 ] [ 음성 인식 ] [ 자연어 분석 ] [ 번역 ]
  11. 11. Microsoft Azure에서는 인공지능을 활용한 Cognitive 서비스를 제공 중이다. I. 인공지능 개요2. 인지 컴퓨팅  Azure에서는 Cognitive Service를 시각, 음성, 언어, 지식 등으로 알고리즘을 분류 후 서비스 한다.
  12. 12. 3. 기계학습 Deep Learning은 Machine Learning의 일종이고, Machine Learning은 인공지능의 일종이다. I. 인공지능 개요
  13. 13. 기계학습은 인공지능의 한 분야로 기계 스스로 대량의 데이터로부터 지식이나 패턴을 찾아 학습하고 예측을 수행하는 것이다  Arthur Samuel 명시적으로 프로그램을 작성하지 않고 컴퓨터에 학습할 수 있는 능력을 부여하기 위한 연구 분야  Tom Mitchell (카네기멜론대 교수) 만약 컴퓨터 프로그램이 특정한 태스크 T를 수행할 때 성능 P만큼 개선되는 경험 E를 보이면, 그 컴퓨터 프로그램은 태스트 T와 성능 P에 대해 경험 E를 학습했다라고 할 수 있다.  Machine Learning의 예 (y=3x)  학습데이터 (1,3), (3,9), (4,12), (6,18)  컴퓨터에 y=3x의 함수를 프로그래밍하지 않아도 앞의 학습데이터를 학습한 후 (8, ?) (10, ?)의 질문을 던져도 그 대답을 할 수 있게 만드는 것. 머신러닝, 데이터 마이닝과 무엇이 다를까? 분류, 예측, 군집 같은 기술, 모델, 알고리즘을 이용 데이터의 몰랐던 속성 발견에 집중 학습데이터 기반 예측에 집중 Machine Learning Data Mining 3. 기계학습 I. 인공지능 개요
  14. 14. 소형 물리적 작업 능력 Asus 젠보 Casio 로보혼 토요타 HSR BFR 버디 Jibo 지보 F.H COB4 S.B Pepper IPL Jini F.R Furo R.C Silbot Aka Musio Robotis Darwin 감성적 소통 능력 가정용,B2C 기업고객응대업무,B2BBiz 개인취미용,B2C 중형 대형 다양한 대형, 중형, 소형 Robot이 나오고 있으며 작업 능력과 소통능력을 기준으로 용도를 구별할 수 있음 4. 로봇과 자율주행차 I. 인공지능 개요
  15. 15. 1SoftBank Pepper (일본) 2Fraunhofer Care-O-Bot 4 (독일) 3Future Robot Furo – S (한국) 4Robocare Silbot 3 (한국) 120Cm/28Kg 감정인식, 양산형 158Cm/140Kg 강한 힘과 내구성, 양산준비 160Cm/88Kg 홍보/안내 적합, 주문형생산 115Cm/21Kg 오락/노인케어, 주문형생산 일본SoftbankRobotics개발 프랑스 Aldebaran 인수 Foxconn에서 로봇 양산 독일 Fraunhofer IPA 개발 ‘15 Unity Robotics 스핀오 프 독일 최고의 실용기술연구기관 2009년 설립, 대표 송세경 자본금 4.6억, 매출 22억 국내 서비스로봇 강자로, 세 계 50대 로봇기업에 포함 (로보틱스비즈니스리뷰, 2015) 2012년설립, KIST스핀오프 자본금 96억, 매출 11억 2015.12 GST 17억 투자 (총 주식의 39.4%) 연구 중심기업 로봇경험 풍부 “확산과 보급이 비교적 빠른 편” 대형 소셜 로봇은 무게 20Kg 이상 또는 키 100Cm 이상으로, 내구성과 물리적 작업성이 높아 B2B용으로 적합 4. 로봇과 자율주행차 I. 인공지능 개요
  16. 16. “제품 출시와 양산이 늦어지는 편” 1Asus Zenbo (대만) 2BlueFrog Robotics Buddy (프랑스) 3Keeker Team Keecker (프랑스) 4InGen Dynamics Aido (미국) 56Cm/10Kg(추정) 자가 학습, 다양한 표현 56Cm/5Kg 프로젝터 등 모듈확장 가 능 40Cm/8Kg 고품질프로젝터와 사운드 91Cm/8Kg 싱글볼 이동, 프로젝터 대만 최대 컴퓨터 생산기업 ‘89 설립, CEO Jerry Shen ‘15 매출 17조원 2011~2016 Best Laptop Top 10 전 CRIIF Association, head of R&D인 Rodolphe Hasselvander ‘07 설립 프랑스 자동화/IoT 연구기관인 CRIIF Spin-Off 전 구글 프로덕트매니저인 Pierre Lebeau 가‘14설립 ’14 Kickstarter 크라우드펀딩 성공 ($260K raised) 자동화 분야 전문가 Arshad Hisham 가 ’15 설립 Awarded "GameChanger" of ’16, the world's leading tech magazine (T3) 중형 로봇은 가정에서 가족을 위한 서비스를 제공하는 형태가 다수를 이룬다 4. 로봇과 자율주행차 I. 인공지능 개요
  17. 17. 1Sharp RoboHon n(일본) 2Aka Intelligence Musio (한국) 3Jibo Jibo (미국) 4Inno Play Lab Jini (한국) 로봇 형태의 스마트폰 2족 보행, 프로젝터 기계적 움직임 없는 인공 지능 특화 로봇 이동 없는 탁상형 로봇 사용자 식별 이동성이 강한 애완동물형태 IoT, 리모콘 , Cloud활용 일본의 가전 업체 최근 일본 홍하이그룹에 매각 ‘15 매출 26조원 Formation 8, SV Angel, Kesef Investments, Paypal 등 투자 유치 2015년 아카스터디가 웨어러블 스타트업 웰릿 인수, AKAintelligence로 사명 변경 MIT 출신 Cynthia Breazeal 박사가 설립, 현 CEO Steve Chambers 삼성벤처투자 200억 투자 LGT 20억 투자 자동화 분야 전문가 Arshad Hisham 가 ’15 설립 Awarded "GameChanger" of ’16, the world's leading tech magazine (T3) “양산과 보급 본격화” 소형 로봇은 개인비서 역할에 적합하며, 움직임이 적지만 휴대성을 강조하거나 인테리어 소품 역할 까지 하도록 디자인 4. 로봇과 자율주행차 I. 인공지능 개요
  18. 18. DARPA는 반 자동 로봇 경연대회 (DARPA Robotics Challenge, DRC)를 개최 【 DARPA Robotics Challenge 】 【 DRC Finals 2015 】  Mission : 위험하고 활동이 제한된 상황에서 도구들을 활용하며 복잡한 임무를 수행하는 반 자동 로봇 개발 * 반 자동 로봇 : 일정한 규칙에 따라 원격으로 로봇 조작  한 시간 내에 8개 임무 수행 (2015년)  로봇이 차를 주행하여 현장에 도착  차에서 내려 장애물 피해거나 치우고 지나가기  문 열고 실내로 들어가고 계단 오르기  도구를 사용하여 벽 뚫기  새고 있는 수도관 옆의 벨브 찾아 잠그기  소방호수를 수도관에 연결하고 벨브 열기  1위 : 대한민국 KAIST DRC-Hubo 2위 : 플로리다 인간&기계 연구소 Running Man 3위 : 카네기 멜론대 CHIMP 4. 로봇과 자율주행차 I. 인공지능 개요 *DARPA : Defense Advanced Research Projects Agency, 미국방위고등연구계획국
  19. 19. DARPA는 세계 최초로 자율 주행차 경주대회 (DARPA Grand Challenge, DARPA Urban Challenge)를 열었다. 【 DARPA Urban Challenge 】 【 자율주행차 운행의 합법화 】  2007년 캘리포니아 옛 공군 기지에서 진행된 무인 자 동자 경주 대회에 출전한 자동차  많은 종류의 센서와 위치 정보 시스템을 이용하여 운 행  2012년에 네바다, 플로리다, 캘리포니아에서 자율 주행 차 운행이 합법화  2014년 미시건, 워싱턴 D.C.가 추가로 합법화  2015년 미 운송업체 ‘프레이트라이너’가 상업용 대형 트럭 자율주행을 최초로 네바다에서 허가 받음. 4. 로봇과 자율주행차 I. 인공지능 개요
  20. 20. 5. 인간과의 게임 1997년 IBM Deep Blue는 세계 체스 챔피언을 이기고, 2011년에는 Watson이 Jeopardy 퀴즈 쇼에서 우승한다. 【 Deep Blue 】 【 Watson 】 I. 인공지능 개요  1996년 세계 체스 챔피언 Garry Kasparov 에게 도전했 으나 1승 2무 3패로 패배  1997년 재도전 : 2승 3무 1패로 승리  Champion급 체스 선수들은 약 10수 정도를 예측하는 데 Deep Blue는 12수를 예측할 수 있었음.  2011년 일반 상식 퀴즈 프로그램 Jeopardy 쇼에서 역대 최다 우승자(74회 연속)와 최고 상금 수상자 상대로 우승  4TB의 데이터를 오프라인으로 보유 (2억 페이지 정보)  다양한 비구조적인 많은 데이터를 종합적으로 처리.  수 많은 가설을 세우고 검증하는 일을 3초에 처리
  21. 21. 5. 인간과의 게임 2014년 구글은 DeepMind를 인수하고, 2016년 AlphaGo는 이세돌 9단을 4:1로 물리친다. 【 DeepMind 】 【 AlphaGo 】  2011년 설립된 Startup으로 Google 인수 전 12명의 Deep Learning 전문가로 구성.  2014년 4억 달러 (약 4,000억원)에 구글에 인수  인수조건으로 구글에 인공지능윤리위원회 설치 요구  강화학습(Reinforcement Learning) 분야 최고의 회사  알고리즘 버전 13 : 2015년 10월 유럽 바둑 챔피언 Fan Hui 2단을 5:0으로 승리  알고리즘 버전 18 : 2016년 3월 이세돌 9단을 4:1로 승리  5개월 간 100만 번 이상의 대국. 인간 기준으로 매일 한 번씩 대국을 한다면 2,700년을 훈련한 것과 같다.  두 대국의 컴퓨터 규모는 CPU 1,202개, GPU 176개로 동 일  2017년 5월 : 커제 9단을 3:0으로 승리  DQN(Deep Q-Network) 알고리즘 점수를 얻는 방법과 조이스틱을 조작하 는 요령만 교육 받음. https://youtu.be/Q70ulPJW3Gk I. 인공지능 개요
  22. 22. 5. 인간과의 게임 2016년 11월 ETRI (한국전자통신연구원) 에서 개발한 Exobrain(http://exobrain.kr/)은 EBS장학퀴즈에서 우승  Exobrain은 한국전자통신연구원에서 개발한 인공지능  지식 베이스를 중심으로 퀴즈를 풀어갈 때 정답의 일치 확률이 80%를 넘어가면 그 데이터를 답으로 제출  Exobrain은 미래창조과학부에서 2013년부터 추진 중인 SW분야 과제로 20개 기관이 연구개발에 참여.  핵심기술 : 자연어 이해, 지식축적 및 탐색, 자연어 질의 응답 I. 인공지능 개요
  23. 23. 1. 인공지능 연대표 2. Turing Test 3. 인공지능의 등장 4. 1st AI Winter 5. 인공지능의 재도약 6. 2nd AI Winter 7. 현재의 인공지능 8. 인공지능의 미래 II. 인공지능의 역사
  24. 24. 1. 인공지능 연대표 Alan Turing (1912~1954) 1950 1960 1970 1980 1990 2000 2010 Turing Test (‘1950) : 기계(컴퓨터)가 인공지능을 갖추었는지를 판별하는 실험 (‘1956) 인공지능 용어 등장 1st AI Winter 60년대 말 ~ 70년대 AI Boom (80년대 중반) 전문가시스템 전문가와 동일한 또는 그 이상의 문제 해결 능력을 가질 수 있도록 만들어진 시스템 2nd AI Winter 80년대 후반 ~ 90년대 초 AI Resurgence (부할) Deep Learning 2020 2040 2060 Artificial Super Intelligence  초 인공지능  모든 영역에서 가장 유능한 사람보다 뛰어난 능력을 보유 Artificial General Intelligence  강한 인공지능  인간의 수준의 지능을 보유하여 전반적인 문제 해결 가능 Artificial Narrow Intelligence  약한 인공지능  정해진 목적에 특화된 작업 수행  자율 주행차, 번역기 II. 인공지능의 역사
  25. 25. 2. Turing Test II. 인공지능의 역사 사람의 대화상대가 컴퓨터인지 사람인지 구분할 수 없다면 그 컴퓨터가 지능을 가지고 있다고 봐야 한다.  1950년 Alan Turing이 Computing Machinery and Intelligence 논문에 발표  후대 과학자가 인공지능의 대해 논의하고 연구하는 바탕이 됨  레딩대에서 Turing Test 방식 개발 (2014년)  심판은 5분 동안 각각 5회 대화 후 어느 쪽이 사람인지 판별  심판진의 1/3을 속이면 통과 Alan Turing  영국의 수학자  제2차 세계대전 당시 독일군의 암호 체계(에니그마)를 깨뜨려 연합군의 승리에 결정적으로 기여  1950년 흉내내기 게임 (Imitation Game, Turing Test)을 제안  1954년 자살
  26. 26. 2. Turing Test II. 인공지능의 역사 2014년 6월 Eugene Goostman이 최초로 Turing Test를 통과한다. 미리 정의된 주제 없음. 심판 33%가 인간으로 판단 유진은 우크라이나의 13살 소년인 척 소개 그럴싸한 대답을 하고 불리한 질문은 피함 “Eugene의 Turing Test 통과는 꼼수임”
  27. 27. 2. Turing Test II. 인공지능의 역사 CAPTCHA는 인터넷에서 특정 웹 페이지에 접속하고 있는 행위자가 사람인지 컴퓨터 인지 구별하기 위해 고안  CAPTCHA • Completely Automated Public Turing test to tell Computers and Humans Apart • 인터넷에서 특정 웹 페이지에 접속하고 있는 행위자가 사람인지 컴퓨터인지 구별 • 여기에서 컴퓨터 프로그램은 웹 페이지를 자동 방문하는 검색 엔 진, 제 3자 서비스를 제공하기 위한 프로그램, 악의적인 해킹 툴 등이 될 수 있다. • CAPTCHA는 기기가 사람을 대상으로 하는 테스트이므로 Reverse Turing Test라고 부르기도 한다. [ 보안문자를 입력하도록 하여 자동 프로그램을 통한 업무처리를 막을 수 있다. ] CAPTCHA 를 넘은 인공지능  비카리우스(Vicarious)라는 회사는 2013년에 CHAPCHA 이미지 를 인식하는 데 성공  Google, Yahoo, PayPal, Captcha.com 등의 CAPTCHA 이미지를 90% 성공률로 인식
  28. 28. 3. 인공지능의 등장 II. 인공지능의 역사 인공지능과 머신러닝의 등장과 최초의 인공신경망 Perceptron. John McCarthy (‘1927 ~ ‘2011)  1956년 John McCarthy가 Dartmouth 대학 Conference에서 최초로 인공지능 용어를 사용  1958년 LISP 프로그래밍 언어 개발 (인공지능용 프로그래밍 언어)  인공지능 연구에 지대한 영향을 미침 Arthur Samuel (‘1901 ~ ‘1990)  1959년 논문에서 Machine Learning 용어를 처음 사용 “명시적으로 프로그램을 작성하지 않고 컴퓨터에 학습할 수 있는 능력을 부여하기 위한 연구 분야”  2000년대 Deep Learning으로 기계학습의 비약적인 발전 Frank Rosenblatt (‘1928 ~ ‘1971)  1958년 인공신경망(ANN: Artificial Neural Network)을 실제로 구현한 Perceptron 이론을 발표  맥컬록과 피츠의 인공신경망 이론에 헵(Hebb)의 생물학적 신경망의 학습효과를 인공신경망에 적용  400여 개 빛 감지 센서와 512개의 증폭기, 40개 제어 부품으로 8개의 뉴런(Neuron, 신경세포)을 시뮬레이션 함.
  29. 29. 4. 1st AI Winter II. 인공지능의 역사 60년대 말, 70년대 초에 인공지능 분야에서 발생한 일련의 비관적인 사건들이 일시적인 인공지능 침체기를 불러오다.  Perceptron 이론의 한계 발견  Perceptron은 학습이 진행될수록 선형 분리(linear boundary)를 업데이트하면서 학습  하지만, 간단한 XOR문제에는 적용할 수 없는 한계가 발견  인공지능의 외면  프로젝트 실패와 연구비 중단 【 미국 】  57년 소련에서 최초로 인공위성은 스푸트닉 발사 후 러시아어 자동 기계 번역 프로젝트 진행하였으나 66년 연구 중단 (약 2천만 달러 사 용)  69년 이후 국방 연구 예산을 실무 적인 분야에 투자함으로 인공지능 연구자금 확보 어려움 【 영국 】  71년 James Lighthill 경의 영국 인 공지능 현황 분석 보고서  인공지능 기술이 현실적인 대규모 문제를 풀기에는 역부족이다.  연구비 중단 “AI work within the UK was unproductive”
  30. 30. 5. 인공지능의 재도약 II. 인공지능의 역사 1980년대 산업계의 전문가시스템의 도입과 정부 주도의 대규모 프로젝트로 새로운 전환기를 맞는다. 【 산업계 주도 】  전문가 시스템의 일련의 성공  산업계로 확산 【 정부 주도 】 추론 엔진은 베이즈 (Bayes) 기반 확률적 방법이나 퍼지 이론 (Fuzzy theory)을 활용  기업 내 데이터를 활용하는 Business Intelligence 활용 확대  Data Warehouse 및 Data Mining 기술 발달  [일본] 5세대 컴퓨터 (5th Generation of Computer) 개발  상업화에 실패  중단 도쿄 국립과학관에 보관되어 있는 PIM/m (Parallel Inference Machine)  [미국] 미 국방성 전략 컴퓨팅 계획  더욱 진화된 컴퓨터와 인공지능에 중점  새로운 칩 설계 및 생산, 컴퓨터 시스템 개발  인공지능 기술 개발  인공지능 가시적 성과 없음.  슈퍼 컴퓨팅 분야로 연 구 방향 전환 【 연결주의 (Connectionism) 】 【 기호주의 (Symbolism) 】  지능은 복잡하게 연결된 신경망에 의 해 이루어진다.  다층 퍼셉트론으로 선형 분리만 가능 한 단층 퍼셉트론 문제 해결  1970년대 중반부터 80년대 후반까지 인공지능의 핵심 접근법  기호를 통해 개념을 정의하고, 이 기호들을 가지고 일정 한 논리적 규칙에 따라 추론  전문가시스템으로 발전  인공지능의 발전 방향
  31. 31. 6. 2nd AI Winter II. 인공지능의 역사 실용성을 중시하는 정책이 주류를 이루면서 연구자금이 고갈되고, 전문가 시스템도 문제가 드러나면서 또 한번의 침체를 맞이함.  전문가 시스템의 실패  전문가 시스템의 성능 대비 높은 가격의 문제  높은 유지보수 비용  업데이트가 매우 어려움.  Desktop PC의 보급은 Lisp machine보다 더 강력 해 짐  정부 과학 정책의 변화  일본의 5세대 컴퓨터 프로젝트 실패  실용 중심의 정부 정책으로 정부 주도의 전략 과 제 부제
  32. 32. 7. 현재의 인공지능 II. 인공지능의 역사 인공신경망 기반의 Deep Learning, 폭발적 Data의 증가, Robotics 기술의 발전으로 인공지능은 괄목할만한 성장 중. 【 Deep Learning 】 다층 구조의 인공신경망의 문제  지나치게 긴 학습 시간  훈련데이터의 편중되어 일반성을 잃는 과적합 (Overfitting)  2000년대 중반부터 하나씩 해결 【 Big Data 】 【 Robotics 】 로봇산업의 발전 • 산업 로봇 : 공장자동화 • 전문 로봇 : 재난용, 물류운송, 군사용 • 개인 로봇 : 장애인/노인 도우미, 개인비서 로봇 AI Industries 개인비서 자율주행차 택배드론 번역 추천 인공지능 변호사 돌보미 로봇 챗봇
  33. 33. 8. 인공지능의 미래 II. 인공지능의 역사 인공지능의 수혜자는 인간이 될 것인가? Ray Kurzweil (‘1948 ~)  구글의 미래학자  80년대 부터 IT 발전 방향에 대한 예상을 적중  저서 “특이점이 온다 (Singularity is Near)”에서 2045년경 인공지능 기술이 완만하게 발전하다 가 급속하게 팽창하는 시점이 올 것으로 예측  인공지능과 인간의 두뇌가 자연스럽게 하나가 될 것이다. 강한 인공지능에 대한 경고  컴퓨터 스스로가 알고리즘을 개선할 수 있다면 인간이 제어할 수 있는 수준을 벗어 날 수 있다.  Elon Musk, Stephen Hawking, Bill Gates  Elon Musk는 안전한 인공지능 개발을 위해 1000만 달러 기부 최윤식 (‘1971 ~)  아시아를 대표하는 미래학자  저서 “미래학자의 인공지능 시나리오”에서 아주 약한 인공지능, 약한 인공지능, 강한 인공지능, 아주 강한 인공지능 4단계로 분류  인공지능이 선도하는 새로운 산업혁명이 시작되었다.
  34. 34. 8. 인공지능의 미래 II. 인공지능의 역사 인공지능 시대 사라질 직업과 탄생할 직업 (영국 내)  미래 아이들의 65%는 현재는 존재하지 않는 새로운 형태의 직업을 가질 것.  710만개의 일자리가 없어지고 200만개의 새로운 일자리 생길 것.  여성 일자리 수는 더 급격하게 줄어들 것.  Will a robot take your job? : http://www.bbc.com/news/technology-34066941
  35. 35. 8. 인공지능의 미래 II. 인공지능의 역사 인공지능이 인간 통제를 못하게 하도록 윤리지침이 필요 스티븐 호킹 (Stephen Hawking)  AI와 로봇이 급성장하며 사람의 힘으로 통제 불가능한 시 점이 빠르게 다가오고 있다.  세계 정부기관을 신설해 AI의 용도와 규제에 대한 법규를 만들어야 한다.  완전한 인공지능의 개발은 인류 멸망을 초래할 수 있다. 【 Asilomar AI Principles 】  17년 초 미국 캘리포니아 아실로마에서 수백 명의 AI 전문 가가 모여 회의를 열고 23개 조항의 아실로마 AI 원칙을 발 표 ( https://futureoflife.org/ai-principles/ ) • 살상 가능한 자율적 무기를 개발하기 위한 경쟁은 지양해 야 한다. • AI연구의 목적인 목적이 없는 지능을 개발하는 것이 아니 라 인간에게 유용하고 이롭고 혜택을 주는 지능을 개발하 는 것이다. • AI는 인간의 존엄성, 권리, 자유 및 문화 다양성의 이상과 양립되어야 한다. 【 유럽 결의안 】  17년 유럽의회는 AI 로봇의 법적 지위를 ‘전자 인간’으로 규정 하는 결의안을 통과 • 로봇은 인간에 도움이 주는 존재로 머물러야 한다. • 로봇이 인간에 반항하는 비상상황에 대비해 언제든 로봇의 움직임을 멈출 수 있는 킬 스위치를 달아야 한다.
  36. 36. 1. 머신러닝의 정의 2. 머신러닝의 분류 3. 지도학습 4. 비지도학습 5. 강화학습 6. 과적합 III. 머신러닝 개요
  37. 37. 1. 머신러닝의 정의 III. 머신러닝 개요 Machine Learning의 2가지 정의가 있는데, Arthur Samuel은 1959년 처음으로 Machine Learning이라는 용어를 사용하였다.  Arthur Samuel (1959) 명시적으로 프로그램을 작성하지 않고 컴퓨터에 학습할 수 있는 능력을 부여하기 위한 연구 분야 “The field of study that gives computers the ability to learn without being explicitly programmed”  Machine Learning의 예 (y=3x) • 학습데이터 (1,3), (3,9), (4,12), (6,18) • 컴퓨터에 y=3x의 함수를 프로그래밍하지 않아도 앞의 학습데이터를 학습한 후 (8, ?) (10, ?)의 질문을 던져도 그 대답을 할 수 있게 만드는 것. 머신러닝, 데이터 마이닝과 무엇이 다를까? 분류, 예측, 군집 같은 기술, 모델, 알고리즘을 이용 데이터의 몰랐던 속성 발견에 집중 학습데이터 기반 예측에 집중 Machine Learning Data Mining
  38. 38. 1. 머신러닝의 정의 III. 머신러닝 개요 Tom Mitchell은 1997년에 Machine Learning에 대해 현대적으로 재 정의를 하였다.  Tom Mitchell (Carnegie Mellon University, 1997) 만약 컴퓨터 프로그램이 특정한 태스크 T를 수행할 때 성능 P만큼 개선되는 경험 E를 보이면, 그 컴퓨터 프로그램은 태 스크 T와 성능 P에 대해 경험 E를 학습했다라고 할 수 있다. "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E."  문제) Suppose your email program watches which emails you do or do not mark as spam, and based on that learns how to better filter spam. What is the task T in this setting? ① Classifying emails as spam or not spam. ② Watching you label emails as spam or not spam. ③ The number (or fraction) of emails correctly classified as spam/not spam. T E P
  39. 39. 1. 머신러닝의 정의 III. 머신러닝 개요 순서나 이유를 명확하게 설명하지 못하는 일을 처리하기 위한 방법으로 기계 학습을 선택할 수 있다. 【 순차적 처리】 【 기계 학습 】  월별 매출 집계  종업원 개인 정보 관리  상품 재고 관리 Data Program 처리 결과 Data 학습모델 처리 결과  앞에 있는 과일을 보고 사과라고 인식한다.  오늘은 상대의 기분이 안 좋아 보인다.  한눈에 반해서 사랑에 빠진다.  Training Set (학습 데이터) Machine Learning이 학습 모델을 만들기 위해 사용하는 데이터 학습 데이터가 나쁘면 실제 현장의 특성을 제대로 반영하지 못하므로, 학습 데이터 확보 시 실제 데이터의 특성이 잘 반영되고 편향 되지 않는 학습 데이터를 확보하는 것이 매우 중요함.  Model (학습 모델) Machine Learning에서 구하려는 최종 결과물로 가설(Hypothesis)이라고도 부른다.  Inference (추론) 학습된 모델을 실제 현장에서 사용하는 과정
  40. 40. 2. 머신러닝의 분류 III. 머신러닝 개요 학습 데이터에 레이블(label)이 있는 경우와 그렇지 않은 경우에 따라 지도학습과 비지도학습으로 구분하고, 강화학습은 지도학 습 중 하나로 분류되거나 또는 독립적인 세 번째 머신러닝 모델로 분류하기도 한다. Types Tasks Algorithms 지도학습 (Supervised Learning) 분류 (Classification)  KNN : k Nearest Neighbor  SVM : Support Vector Machine  Decision Tree (의사결정 나무)  Logistic Regression 예측 (Prediction)  Linear Regression (선형 회귀) 비지도학습 (Unsupervised Learning) 군집 (Clustering)  K-Means Clustering  DBSCAN Clustering  Hierarchical Clustering (계층형 군집) 강화학습 (Reinforcement Learning)  MDP : Markov Decision Process 기계 학습 시 고려해야 할 사항은?  그 방법으로 문제를 풀 수 있는가?  그 방법을 적용할 경우 성능에 문제가 없는가?  그 방법을 적용하기 위해 데이터를 충분히 준비할 수 있는가?
  41. 41. 3. 지도학습 III. 머신러닝 개요 Label이 있는 학습 데이터(Training Set)를 이용해서 학습. 【 지도학습의 Training Set의 예】 분류 (Classification) 회귀 (Regression) 결과 학습데이터의 레이블 중 하 나를 예측 (discrete) 연속된 값을 예측 (Continuous) 예제 학습데이터가 A, B, C 인 경 우 결과는 A, B, C 중 하나다. 예) 스팸메일 필터 결과 값이 어떠한 값도 나올 수 있다. 예) 주가 분석 예측  분류와 회귀의 비교
  42. 42. 4. 비지도학습 III. 머신러닝 개요 Label이 없는 학습 데이터(Training Set)를 이용해서 학습. 【 비지도학습의 Training Set의 예】 분류 (Classification) 군집 (Clustering) 공통점 입력된 데이터들이 어떤 형태로 그룹을 형성하는지가 관 심사 차이점 레이블이 있다. 레이블이 없다. 예) 의학 임상실험 환자군 구별 예) 구매자 유형 분류  분류와 군집의 비교
  43. 43. 5. 강화학습 III. 머신러닝 개요 상과 벌이라는 보상을 통해 현재의 행위의 그 방향 혹은 반대 방향으로 행위를 강화화는 학습 방향  강화학습  시행착오 과정을 거쳐 학습하기 때문에 사람의 학습방식과 유사  Agent는 환경으로부터 상태를 관측하고 이에 따른 적절한 행동을 하 면 이 행동을 기준으로 환경으로부터 보상을 받는다.  관측 – 행동 – 보상의 상호작용을 반복하면서 환경으로부터 얻는 보상 을 최대화하는 태스크를 수행하기 위한 일련의 과정.  관측 – 행동 – 보상의 과정을 경험(Experience)이라고도 한다.
  44. 44. 6. 과적합 (Overfitting) III. 머신러닝 개요 학습 데이터에 너무 지나치게 맞추다 보면 일반화 성능이 떨어지는 모델을 얻게 되는 현상을 과적합(Overfitting)이라고 한다.  Under Fitting 적정 수준의 학습을 하지 못하여 실제 성능이 떨어지는 경우  Normal Fitting (Generalized Fitting) 적정 수준의 학습으로 실제 적정한 일반화 수준을 나타냄. 기계 학습이 지향하는 수준.  Over Fitting 학습 데이터에 성능이 좋지만 실제 데이터에 관해 성능이 떨어짐. 특히 조심해야 함.
  45. 45. 6. 과적합 (Overfitting) III. 머신러닝 개요 Overfitting을 피하는 다양한 방법 중 검증(Validation) 기법을 알아본다.  학습 데이터의 일부를 따로 떼어 내어 학습이 아닌 검증용으로 사용하는 기법 보유하고 있는 데이터셋을 Training set (50%~60%), Validation set (20%~25%), Test set (20%~25%) 으로 구분 (1) Training set 을 가지고 예측 혹은 분류 모델을 훈련시키고 (2) Validation set을 가지고서 훈련 중인 모델이 혹시 과적합(over-fitting)인지 검증, 감시를 하면서 최적의 적정 적합 (generalized-fitting) 구간을 찾아 모델을 선택한 후 (3) Test set을 사용해서 최종 모델(final model)에 대해서 평가  교차 검증 (Cross Validation) 학습 데이터를 용도별로 나누는 것은 같은데, 처음에 나눠진 데이터를 그대로 사용하는 것이 아니라 중간중간에 서로 다시 나눠 줌
  46. 46. 1. 머신러닝 기초수학 2. 통계학 3. 확률론 4. 선형대수학 5. 해석학 - 미분 IV. 머신러닝 기초수학
  47. 47. 1. 머신러닝 기초수학 IV. 머신러닝 기초수학 머신러닝을 이해하기 위해 필요한 수학의 분야  수학의 주요 분야 대수학 해석학 확률과 통계 선형대수학 (Linear Algebra) 미적분학, 벡터 미적분학, 미분방정식 통계학 확률론
  48. 48. 2. 통계학 IV. 머신러닝 기초수학 통계학에서는 자료를 수집, 분류, 분석, 표현해 어떤 현상의 인과관계를 설명하고, 나아가서는 미래에 벌어질 상황을 예측한다. 【 기술 통계】 【 추측 통계 】  관찰된 자료(전체 or 표본)를 수집 및 정리  자료 형태를 표현 (중심의 측정, 산포의 측정)  자료의 특성 값 도출 (대표 값 도출, 변동의 크기, 등)  모집단에서 추출된 표본 자료를 분석하여 특성 값 도 출 (단, 표본은 모집단을 잘 대표하여야 한다.)  확률 이론을 바탕으로 모집단의 특성을 파악  통계학은 크게 기술 통계학 (Descriptive Statistics)과 추측 통계학 (Inferential Statistics)로 구분된다.  데이터를 수집하고 분류하고 분석해 컴퓨터에 학습 시키는 과정에 주로 사용  새로운 입력 값에 대해 결과를 예측하는 과정에 주로 사용 통계학 (Statistics)의 어원은?  그리스 로마시대의 국가(State)의 통치 상태(Status)를 살피는 것에서 유래  과거 징세를 목적으로 인구수 조사와 지가 계산에서부터 시작  Statistics = State (국가) + Arithmetic (산술)  统计 = 모아서(统) 계산하다(计)
  49. 49. 2. 통계학 상관분석은 독립변수와 종속변수 간의 관계의 정도를 확인하고, 회귀분석은 변수들 간 인과관계를 설명한다. 【 상관 분석 】 【 회귀 분석 】  상관계수(𝑟) : 변수간의 관계 정도  -1 ≤ 𝑟 ≤ 1  측정된 변수들의 데이터로부터 관계를 함수식으로 설명  독립변수의 값에 의해 종속변수의 값을 예측  결정계수(𝑟2 ) : 독립변수를 가지고 얼마나 의미 있게 종 속변수를 예측할 수 있는지를 판별  0 ≤ 𝑟2 ≤ 1  일반적으로 𝑟2 ≥ 0.65 이면 의미 있는 회귀식으로 본다. 독립변수와 종속변수  종속변수 (dependent variable) : 우리가 알고 싶어하는 결과 값  독립변수 (independent variable) : 결과 값에 영향을 주는 입력 값 강한 음의 상관관계 음의 상관관계 있다 상관관계가 없다 양의 상관관계 있다 강한 양의 상관관계 믿을 게 못 되다 어느 정도 믿을 만 하다 믿을 만 하다 IV. 머신러닝 기초수학
  50. 50. 3. 확률론 확률은 어떤 사건이 일어날 수 있는 경우를 신뢰할 수 있는 정도를 규정하는 방법인데 이 방법에는 두 가지 큰 축이 있다. 【 빈도론자 (Frequentist) 】 【 베이지안 (Bayesian) 】  얼마만큼 빈번하게 특정한 사건이 반복되어 발생하 는 가를 관찰하고, 이를 기반으로 가설을 검증 즉, 사전 확률이 없다.  어떤 가설의 확률을 평가하기 위해 주관적으로 또는 임 의적으로 사전확률을 먼저 정하고 관찰된 데이터를 기 반으로 가능도를 계산해서 처음의 설정된 확률을 보정 데이터 확률 모델 가설 검증 확률 모델 가능도 가설 검증 데이터 사전 확률 [ 빈도론 접근 방법에 의한 추론 모델링 ] [ 베이지안 접근 방법에 의한 추론 모델링 ]  사건이 독립적이고 반복적이며, 그 확률 분포가 정규 분포를 보이는 문제에 잘 맞는다.  도박에서의 승률 계산  환경 변화에 따른 농작물 수확량 계산  보험금 계산  사전 관찰 지식이 없는 불확실한 상황 예측에 적합  관찰된 데이터를 가지고 조건부로 가설을 검정 IV. 머신러닝 기초수학
  51. 51. 4. 선형대수학 벡터와 행렬은 인경신경망을 이해하기 위한 기초 수학이다. 【 벡터 】 【 행렬과 벡터의 연산 】  행렬과 벡터의 곱셈은 일정한 규칙에 따라 계산하며 행 렬과 벡터의 크기에 따라 그 결과가 달라진다.  벡터는 방향과 크기의 의미를 모두 포함하는 수학으로 스칼라 값들을 순서대로 가진다.  선형대수학에서 n-차원 벡터  n개의 원소를 갖는 벡터로 열 벡터(Column Vector) 로 표현  열 벡터는 행 벡터(Row Vector)로 전치해서 표현하 기도 함  행렬은 원소들이 놓여지는 행과 열을 가진다.  2 x 3 행렬의 예  행 또는 열의 크기가 1이고, 다른 열 또는 행의 크기 가 1이 아닐 때, 그 행렬은 벡터로 볼 수 있다. 【 행렬 】 IV. 머신러닝 기초수학
  52. 52. 5. 해석학-미분 인공신경망의 알고리즘에 미분은 매우 중요한 개념이다. 【 미분 】 【 합성함수의 미분 및 편미분】  합성함수의 미분  합성함수란 함수 𝒈 𝒙 의 결과값이 다시 다른 함수 𝒇 𝒙 의 입력 값으로 들어가는 𝒇(𝒈 𝒙 )구조를 가진다.  합성 함수의 미분은 아래와 같이 표기 한다.  여러 번 함성된 함수의 경우도 동일한 규칙을 적용할 수 있으며, 인공신경망의 역전파 알고리즘에서 사용 하는 중요한 개념이다.  편미분  다변수 함수를 미분할 때 미분 대상 변수 외에 나머 지 변수를 고정시켜 상수처럼 생각하여 미분하는 방 식  다변수함수 𝒇가 독립변수 𝒙, 𝒚를 가지고 있을 때, 함 수 𝒇 를 𝒙 에 대해서 편미분한 것은 아래와 같이 표기 한다.  연속적이고 매끄러운 함수 (미분 가능한 함수)에서 특정 지점의 접선의 기울기는 그 점에서의 미분 값과 같다  점 Q가 점 P로 움직일 경우 직선 PQ의 기울기는 점 P 에서의 접선의 기울기와 같다.  미분 가능하지 않는 경우 IV. 머신러닝 기초수학
  53. 53. 1. 예측 문제 2. 분류 문제 3. 군집 문제 4. 강화 학습 V. 머신러닝 알고리즘
  54. 54. 1. 예측 문제 V. 머신러닝 알고리즘 Linear Regression은 독립변수와 종속변수의 관계를 설명하여 예측 문제를 해결하는 데 사용된다.  선형 회귀의 구분 단순 선형 회귀 (Simple Linear Regression) 다중 선형 회귀 (Multiple Linear Regression  𝒙 ∶ 독립변수 𝒚 ∶ 종속변수 𝜷 𝟎 : y절편 (bias) 𝜷 𝟏, 𝜷 𝟐 : 기울기 (weight) 𝒚 = 𝜷 𝟎 + 𝜷 𝟏 𝒙 𝒚 = 𝜷 𝟎 + 𝜷 𝟏 𝒙 𝟏 + 𝜷 𝟐 𝒙 𝟐…  독립변수 x가 하나  예) 키와 몸무게의 상관관계  독립변수 x가 하나이상  예) 수면시간, 운동시간, 라면 먹는 횟수가 몸무게에 미치는 영향 타당한 회귀식  잔차 (Residual) : 회귀분석에서 예측한 결과값과 실제 값의 차이 (Deviation, 편차라고도 함)  최소제곱법(method of least squares) : 잔차를 제곱해서 모두 더한 값이 최소가 되는 선 영 회귀식이 타당하다.  최소제곱법의 이해 : http://blog.naver.com/mykepzzang/220936552823
  55. 55. 2. 분류 문제 V. 머신러닝 알고리즘 kNN은 새로운 데이터가 어느 그룹에 속하는지 분류하기 위해 그 데이터에 가장 가까이에 있는 학습 데이터를 알아본다.  kNN (k-Nearest Neighbor) 원리  레이블된 학습데이터들의 특성을 정량화한 후 좌표 공간에 표현  만약 특성이 2개이면 2차원 평면에 각 학습 데이터가 표현  k=1 인 경우 가장 가까운 데이터가 속해 있는 그룹(레이블)로 분류  k=3 인 경우 가장 가까운 3개의 데이터 발견한 후 가장 많은 그룹으로 분류.  좌측 그림에서 k=3 인 경우 새로운 데이터 (★)는 ●로 분류 k=6 이면 새로운 데이터 (★)는 ●로 분류 된다. (*보통 특성이 2개 인 경우 k는 홀수 값을 선택한다.)  k 값의 선정 (예) 언더피팅 (underfitting) 노멀피팅 (normal fitting) 오버피팅 (overfitting) K=1 학습 에러율 높음 검증 에러율 높음  노이즈에 너무 민감하게 반응.  데이터를 판별할 수 있는 특성을 찾지 못함 K=9 학습 에러율 낮음 검증 에러율 낮음  데이터의 특성을 잘 대표하도록 학습 됨 K=25 학습 에러율 낮음 검증 에러율 높음  의사 결정 경계가 둔감하여 변별력 부족
  56. 56. V. 머신러닝 알고리즘 SVM은 두 범주를 갖는 데이터를 분류하는 방법으로 주어진 데이터들을 가능한 멀리 두 개의 집단으로 분리.  SVM (Support Vector Machine) 원리  Hyperplane : 데이터를 분류하는 선.  Support Vector와 Margin을 통해 두 클래스 사이를 분류하는 최적의 Hyperplane을 구한다.  Hard Margin 방법 : 매우 엄격하게 두 개의 그룹을 분리하는 경계식을 구 하는 방법으로 몇 개의 노이즈가 있으면 사용이 어렵다.  Soft Margin 방법 : Support Vector가 위치한 경계선에 약간의 여유 (Slack) 을 두는 방식  n차원 공간에서 hyperplane은 n-1차원 Support Vectors 2차원 공간에서 hyperplane은 선 3차원 공간에서 hyperplane은 면 비선형 SVM  선형 분류가 불가능한 현재 분포를 변환함수를 통해 선형 분류가 가능하게 되는 공간으로 변환 한 후 소프트마진 방법을 이용하여 분류 2. 분류 문제
  57. 57. V. 머신러닝 알고리즘 Decision Tree(의사결정 나무)는 학습 데이터를 이용하여 트리 모델을 생성 후 분류 및 예측을 한다.  Decision Tree 원리  Root Node : 맨 상위의 Decision Node  Attribute : green, red 같이 분기를 결정하는 값.  Root  Branch  Leaf 순서로 하향식 의사 결정  키가 작고 가지가 별로 없는 모델이 신속한 의사 결정이 됨으로 좋은 모델이 됨.  장점 : 학습 모델 이해가 쉽다. 단점 : 연속적인 속성의 처리의 문제가 있다.  Decision Tree 알고리즘 종류 설명 ID3 Iterative Dichotomiser 3, 가장 표준적인 Decision Tree 모델 C4.5 Successor of ID3, ID3 알고리즘을 보안, Pruning 기법 도입 C.5.0 C4.5 알고리즘을 보완 CART Classification And Regression Tree CHAID Chi-squired Automatic Interaction Detector MARS Multivariate Adaptive Regression Splines C-Tree Conditional Inference Trees 조건부 추론 트리 Pruning  ID3 알고리즘 기반으로 의사결정 트리 모델을 완성 한 후  의사결정 노드에 있는 줄기를 효율적으로 제거하고 합치는 기법 2. 분류 문제
  58. 58. 2. 분류 문제 V. 머신러닝 알고리즘 선형회귀의 종속변수는 일반적으로 연속적이지만, 만약 종속변수가 예/아니오, 종속변수가 구매/비구매 같은 범주형으로 표현 해야 한다면 로지스틱 회귀를 사용한다.  로지스틱 회귀(Logistic Regression) 분석의 활용 예  연속형 자료에 따른 범주형 자료의 영향력을 파악하기 위함  예) 정치참여도, 여당선호도, 야당선호도가 선거참여에 미치는 영향 독립변수 (연속형자료) : 정치참여도(5점 척도), 여당선호도(5점 척도), 야당선호도(5점 척도) 종속변수 (범주형자료) : 선거참여여부 (참여/비참여)  특히 예/아니오 처럼 종속변수가 2가지 범주에 속할 때는 이진형 로지스틱 회귀 모델이라고 한다. [ 선형회귀식과 로지스틱 회귀식 예측값의 범위 ] 0.5 로지스틱 곡선  Sigmoid 함수인 로지스틱 함수를 사용하면 종속변수는 항상 0과 1 사이에 있게 된다.  로지스티 회귀식에서는 𝜷 𝟎 + 𝜷 𝟏 𝒙 = 𝟎 이고 𝑥 = − 𝜷 𝟎 𝜷 𝟏 이면 p=0.5가 되므로 𝑥 = − 𝜷 𝟎 𝜷 𝟏 는 이진 분류의 기준점이 된다.  학습 모델을 생성 시 1차 목표는 𝜷 𝟎, 𝜷 𝟏를 구하는 것.  로지스틱 회귀식은 𝜷 𝟎, 𝜷 𝟏를 구하는 방법으로 최대가능 도법 (maximum likelihood method)를 사용한다.
  59. 59. 3. 군집 문제 V. 머신러닝 알고리즘 K-means clustering은 중심값을 선정하고, 중심값과 다른 데이터 간의 거리를 이용하여 분류를 수행하는 비지도 학습 (군집)  K-means clustering 알고리즘 수행 절차 Step 1  Cluster 수인 k를 정의  초기 k개 군집 중심 임의 지정 (initial centroid)  위 그림에서는 k=3 Step 2  모든 데이터들의 거리 계산 후 가장 가까운 Centroid로 Clustering Step 3  각 Cluster마다 계산하여 새로운 중심 계산 Step 4  Step 2, 3 을 반복  데이터가 자신이 속하는 Cluster를 변경하지 안으면 학습 완료  장/단점  직관적 알고리즘  데이터 계산이 빠르다.  볼록한 구형의 데이터 세트는 잘 적용  오목한 형태의 군집 모델은 적용 어렵다.  동떨어져 있는 데이 터나 노이즈에 민감  사전에 클러스터 수 잘못 지정하면 문제 발생 k-medoids clustering  k-means clustering과 유사하다.  차이점은 cluster의 중심을 임의의 점이 아니라 데이터 세트 중 하나를 선정한다.  장점 : 실 데이터를 중심점으로 함으로 노이즈 처리가 우수  단점 : k-means에 비해 계산양이 많다.
  60. 60. V. 머신러닝 알고리즘 DBSCAN에서 밀도 있게 연결돼있는 데이터 집합은 동일한 Cluster이다.  DBSCAN (Density Based Spatial Clustering of Application with Noise) 알고리즘  먼저 좌표 공간에 학습 데이터를 표시  밀도 : 반경 (𝜀, Epsilon) 안에 있는 다른 좌표 점의 수  MinPts : 어떤 좌표점이 Cluster를 형성할 수 있는 최소 좌표점 의 개수  A 점의 밀도가 MinPts 이상이면 Core, 미만이면 Noise 로 정의  Cluster 구성 후 이웃 점을 차례로 방문하면서 Core인지를 판단 (p1  p2  p3  p4, 즉 p1과 p4는 같은 Cluster이다) 𝜺 = 1.72, MinPts = 4  노이즈 식별에 강하다  군집의 수를 미리 정할 필요가 없다.  밀도 반경(𝜀)과 최소 이웃 수(MinPts)가 민감하게 작용  Cluster별 밀도가 서 로 다른 경우 적용 어려움  장/단점 3. 군집 문제
  61. 61. V. 머신러닝 알고리즘 Hierarchical Clustering 은 처음에 데이터 세트의 모든 점을 군집의 원점으로 시작해 유사한 Cluster로 합쳐 나간다.  Hierarchical Clustering 알고리즘 (agglomerative clustering, 병합적 또는 상향식 군집)  Step 1 : 모든 데이터를 단일 클러스터로 정의 한다.  Step 2 : 각 클러스터간 유사성을 계산한다.  Step 3 : 유사성이 높은 두 개의 Cluster를 합한다.  Step 4 : 2, 3단계를 전체 Cluster 수가 1이 될 때 까지 반복한다.  초기에 Cluster 개수를 정할 필요가 없다.  직관적 이해가 편하다  자료가 크기가 크면 복잡해져 적용하기 어렵다.  장/단점 divisive clustering  위에서 설명한 것은 Hierarchical Clustering 중 Agglomerative Clustering (병합적 군집) 이다  Divisive Clustering (분할적 군집) 은 위 방법과 반대로 전체를 하나로 묶은 후 유사성이 낮은 Cluster로 분리하는 방법이다.  분할적 접근은 잘못된 결정이 하위 클러스터로 파급되는 영향 도가 크다는 단점이 있다. 3. 군집 문제
  62. 62. 강화학습은 주어진 문제만 지도를 받고, 그 해결방법은 시행착오를 통해 스스로 찾아낸다.  강화학습과 연계된 학문 분야 Reinforcement Learning Artificial Intelligence 신경과학 Neuroscience 운용과학 Operations Research 행동심리학 Behavioral Psychology 제어이론 Control Theory Marvin Minsky (‘1927 ~ ‘2016)  인공지능 분야에 시행착오라는 행 동심리학 이론을 처음으로 적용  SNARC 설계 (쥐가 미로를 찾는 것 을 시뮬레이션하는 컴퓨터)  1961년 발표한 논문 “Step Toward Artificial Intelligence”에서 시행착오 이론 사용  강화학습에 영향 Richard Bellman (‘1920 ~ ‘1984)  동적시스템 (Dynamic System)의 최적화 문제 연구 : 시간의 흐름에 따라 각 과정별 최 적의 의사결정을 내리는 것  Markov Decision Process (MDP) 모델로 해결  강화학습은 결국 MDP 문제를 해결하는 효율적인 알 고리즘을 찾는 것. V. 머신러닝 알고리즘4. 강화 학습
  63. 63. 강화학습을 이해하기 위해서 Markov Process를 이해할 필요가 있으며, Markov Process는 상태와 상태변이확률로 표현된다. 【 Markov Property 】 【 Markov Process 】  𝑃[𝑆𝑡+1 | 𝑆𝑡] = 𝑃[𝑆𝑡+1 |𝑆1 … , 𝑆𝑡]  과거 상태 𝑆1 … , 𝑆𝑡 를 고려했을 때 상태 𝑆𝑡+1가 나타 날 확률과, 상태 𝑆𝑡 만을 고려했을 때 상태 𝑆𝑡+1 가 발 생할 확률은 동일하다. 현재 단계의 상태에서 예상되는 다음 단계의 상태는 과거의 사건과 무관하다. 즉, 지금 취할 행동에 영향을 주는 것은 과거가 아니 라 미래의 상태와 그에 따른 보상이다.  Markov Property(특성)을 띤 프로세스를 Markov Process 라 함.  Markov Process는 상태(State)와 상태변이확률(State Transition Probability)로 표현  𝑷 𝒔𝒔′ : 상태 𝑠에서 상태 𝑠′ 로 변이할 때의 확률 (𝑷 ∶ 확률 𝑆𝑡: 시간 𝒕 에서의 상태)  Markov Process 의 예  𝑃𝐹𝑎𝑐𝑒𝑏𝑜𝑜𝑘,𝐶𝑙𝑎𝑠𝑠1 = 0.1, 𝑃𝐹𝑎𝑐𝑒𝑏𝑜𝑜𝑘,𝐹𝑎𝑐𝑒𝑏𝑜𝑜𝑘 = 0.9  𝑃𝐶𝑙𝑎𝑠𝑠1,𝐹𝑎𝑐𝑒𝑏𝑜𝑜𝑘 = 0.5, 𝑃𝐶𝑙𝑎𝑠𝑠1,𝐶𝑙𝑎𝑠𝑠2 = 0.5  상태 변이 확률을 행렬로 표현 V. 머신러닝 알고리즘4. 강화 학습
  64. 64. Markov Process에 보상을 고려한 것이 Markov Reward Process 이다.  시나리오 별 미래 가치(Value) 의 계산 예 (𝒓 = 0.5) • 시나리오 1 : Class2  Sleep 의 가치 : 𝒗 𝟏 = −𝟐 + 𝟎 𝟏 𝟐 • 시나리오 2 : Class2  Class 3  Pass 의 가치 : 𝒗 𝟐 = −𝟐 − 𝟐 𝟏 𝟐 + 𝟏𝟎 𝟏 𝟐 𝟐 • 시나리오 3 : Class2  Class 3  Pub  Class3  Pass 의 가치 : 𝒗 𝟑 = −𝟐 − 𝟐 𝟏 𝟐 + 𝟏 𝟏 𝟐 𝟐 − 𝟐 𝟏 𝟐 𝟑 + 𝟏𝟎 𝟏 𝟐 𝟒 • … 각 𝑺𝒕𝒂𝒕𝒆 마다 𝑹𝒆𝒘𝒂𝒓𝒅를 추가 【 Markov Reward Process 】 【 미래가치(value)의 계산 】  상태가치함수(state value function) 𝒗(𝒔) : 어떤 상태 s에서 미래에 발생할 수 있는 상태의 보상 값을 모두 더한 값.  미래 보상을 현재 기준으로 어느 정도로 고려할까? 감쇄계수 (discount factor) 𝑟  0 ≤ 𝑟 ≤ 1  𝑟 = 0 : 미래 상태의 보상을 고려하지 않음  𝑟 = 1 : 미래 상태의 보상을 현재와 같은 비중으로 고려 V. 머신러닝 알고리즘4. 강화 학습
  65. 65. Markov Reward Process에 행동(A)이라는 의사결정을 추가하고 평가 방식을 조정한 것이 Markov Decision Process 이다.  벨만의 최적 방정식을 직접 풀기에는 너무 복잡함  이를 해결하는 알고리즘의 등장 【 Markov Decision Process 】  MRP에서는 상태 가치를 평가했다면 MDP는 행동 중심으로 가치 평가가 이루어진다.  Policy (정책) : 어떤 상태를 만나면 행동을 취하게 되는데, 각 상태에 따라 취할 수 있는 행동을 연결해 주는 함수 𝜋 𝑠, 𝑎  MDP의 목적은 가장 좋은 정책을 찾는 것이다.  벨만의 최적 방정식 최적 상태가치함수 𝒗∗ 𝒔 = max 𝑎 𝑅 𝑠 𝑎 + 𝑟 𝑃𝑠𝑠′ 𝑎 𝑣∗(𝑠′ )𝑠′𝜖𝑆 최적 행동가치함수 𝒒∗ 𝒔, 𝒂 = 𝑅 𝑠 𝑎 + 𝑟 𝑃𝑠𝑠′ 𝑎 max 𝑎 𝑞∗(𝑠′ , 𝑎′ )𝑠′𝜖𝑆 동적 프로그래밍 가치 반복법 (VI : Value Iteration) 정책 반복법 (PI : Policy Iteration) 몬테카를로 방법 시간차 방법 Q-Learning SARSA (State Action Reward State Action) 차원의 저주  Curse of Dimensionality  Richard Bellman이 처음 쓰 기 시작  차원이 늘어날 수록 데이터 양은 기하급수적으로 늘어난 다. Google DeepMind는 Q-Learning을 Convolution 신경망에 접목하여 DQN (Deep Q-Network)를 개발했다. V. 머신러닝 알고리즘4. 강화 학습
  66. 66. 1. 딥러닝 정의 2. 인공신경망 3. 딥러닝 역사 4. 딥러닝 성과 5. 기업별 활용사례 VI. 딥러닝 개요 및 사례
  67. 67. 1. 딥러닝 정의 VI. 딥러닝 개요 및 사례 컴퓨터가 스스로 학습할 수 있게 하기 위해 인공 신경망을 기반으로 하는 기계 학습 기술  딥러닝이란? 인간의 신경망(Neural Network) 이론을 이용한 인공 신경망 (ANN, Artificial Neural Network)의 일종으로, 계층 구조 (Layer Structure)로 구성되면서 입력층(Input Layer)과 출력층(Output Layer) 사이에 하나 이상의 은닉층(Hidden Layer)을 가지고 있는 심층 신경망(DNN, Deep Neural Network) 이다.
  68. 68. 2. 인공신경망 (ANN, Artificial Neural Network) VI. 딥러닝 개요 및 사례 인공신경망(ANN)은 인간의 뇌 구조를 모방하여 모델링 한 수학적 모델이다.  신경세포 (Neuron, 뉴런) Neuron의 입력은 다수이고 출력은 하나이며, 여러 신경세포로부터 전달되어 온 신호들은 합산되어 출력된다. 합산된 값이 설정 값(Threshold) 이상이면 출력 신호가 생기고 이하이면 출력 신호가 없다. 생물 신경망 인공 신경망 세포체 (Cell Body) 노드 (Node) 수상돌기 (Dendrites) 입력 (Input) 축삭 (Axon) 출력 (Output)  연결 : Synapse - Weight 다수의 Neuron이 연결되어 의미 있는 작업을 하듯, 인공신경망의 경우도 노드들을 연결시켜 Layer를 만들고 연결 강 도는 가중치로 처리된다. 생물 신경망 인공 신경망 Synapse 가중치 (Weight)
  69. 69. 3. 딥러닝 역사 VI. 딥러닝 개요 및 사례 딥러닝의 근간이 되는 시작된 인공신경망의 연구는 1950년대부터 시작되었다. Perceptron(1958) 1960 1970 1980 1990 2000 역전파 이론 (‘1981, ‘1986) • 폴 워보스가 74년에 적용, 81년에 발표 • 러멜하트, 제프리힌톤, 로날드윌리엄스가 역전파 학습모델 발표 (‘1986)  인공신경망 연구 활성화 다층 퍼셉트론 출현 (‘1968) 네오코그니트론(neocognitron) 모델 (‘1979) • 후쿠시마 쿠니히코가 발표 (일본) • 최초로 신경생리학이 융합된 인공신경망 (뇌가 시작정보를 처리하는 구조를 기반으로 모델 작성) • 현재 Convolution 신경망(CNN)과 매우 유사 순환신경망 (RNN, Recurrent Neural Network, ‘1992) • 장단기 기억법 (Long Short-Term Memory) 개발 (‘1991) : 출력증의 정보를 계속 메모리에 저장하여 역전파에 이용 • 순환신경망 개발 (‘1992) : 장단기 기억법을 개선 : 후에 심층신뢰망 (DBN, Deep Belief Network)에 영향 딥러닝 용어 등장 (‘2000) 손글씨 문자 인식 연구 (‘1998) • CNN을 활용하여 높은 정밀도의 손글씨 문자 인식 (LeCun 팀)
  70. 70. 3. 딥러닝 역사 VI. 딥러닝 개요 및 사례 2000년대 초 빙하기를 거치지만 2006년 부터 딥러닝 문제가 해결되면서 딥러닝이 부활되었다. 2000 2010 2020 딥러닝 부활 (‘2006) • 심층신뢰망 (DBN)  제프리 힌튼, 사이먼 오신데로, 이-화이테가 심층신뢰망 발표  RBM(Restricted Boltzmann Machine)이라는 사전학습(Pre-Training) 이용 • Auto-Encoder  벤지오 팀이 발표, DNN을 최적화하는 사전학습(Pre-Training) 방법  사전 학습을 통해 가중치 초깃값을 정하면 DNN이라도 학습이 잘 됨 Dropout 알고리즘 (‘2012) • Dropout 알고리즘 : 학습 시 오버피팅(overfitting)을 줄임 • Sigmoid 형 함수 대신 ReLU 형 함수 사용 GPU를 이용한 연산 풍부한 데이터 오픈 소스 개발 프레임워크 최근 DNN 최적화 어려움 엄청난 계산량 머신러닝알고리즘 발전 딥러닝 빙하기 (2000~2005)  Deep Learning은 왜 주목 받는가? Difficulties 해결 방안 학습 DNN 학습이 잘 안 됨. Unsupervised Pre-Training를 통한 해결 계산량 학습이 많은 계산이 필요함 H/W의 발전 및 GPU 활용 성능 다른 Machine Learning Algorithm의 높은 성능 Dropout 알고리즘 등으로 Machine Learning 대비 월등한 성능
  71. 71. 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례 이미지 인식 분야에서 성과 (MNIST)  MNIST(Mixed National Institute of Standards and Technology) 란? • 기계학습 분야에서 사용되는 손글씨 숫자 이미지 데이터 셋 • 실험용 데이터로 자주 사용된다. • 0부터 9까지 숫자 이미지로 구성되어 있다 • 각 이미지가 실제 의미하는 숫자가 Label되어 있다. • 훈련 이미지가 6만장, 시험 이미지가 1만장으로 준비되어 있다. • 각 숫자는 가로, 세로 각각 28 픽셀 크기의 흑백 이미지이다 • https://en.wikipedia.org/wiki/MNIST_database  기계학습 알고리즘에 사용된 예
  72. 72. 이미지 인식 분야의 성과 (ILSVRC) 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례  ILSVRC (ImageNet Large Scale Visual Recognition Challenge) • ImageNet이 주관하는 이미지 인식 콘테스트 (매년)  이미지넷이 보유한 레이블된 이미지를 학습데이터로 하여 1,000가지 종류로 분류하는 대회 • 2012년 CNN을 적용한 팀이 우승 후 2013년 부터 딥러닝을 이용해 참가한 팀이 급증 • 기존의 이미지 인식 기법인 BoF(Bag of Features)와 비교해 정밀도가 압도적으로 높아짐 • 2015년에는 오류율이 3.57%까지 낮춰졌음. 이는 일반적인 사람의 인식 능력을 넘어선 결과 임.
  73. 73. 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례 음성 인식 분야의 성과 (Speech Recognition)  음성 인식을 학습 • 학습데이터로 대량의 음성과 음성이 나타내는 텍스트를 쌍을 이용해서 학습 모델을 작성 • Deep Learning 이전에는 Machine Learning 알고리즘인 Hidden Markov Model (은닉 마르코프 모델)을 주로 이용 • Deep Learning을 음성 인식에 이용한 후, Hidden Markov Model 보다 정확성이 대폭 개선됨. • 음성 인식의 입력 데이터의 길이는 가변적임으로 순환 신경망 (RNN, Recurrent Neural Network)을 주로 이용  Baidu Deep Speech • Baidu의 Deep Speech는 은닉층으로 입력되는 값이 앞 층 뿐만 아니라 직후 층에도 입력되는 구조 즉, 양방향에서 입력된다는 의미로 Bidirectional Recurrent Neural Network (양방향 순환 신경망)를 사용했다. • 사람의 사용하는 말의 문맥이 있어서 이를 활용한다는 의미임. 음성 인식에서의 RNN 활용 Bidirectional Recurrent Neural Network
  74. 74. 딥러닝을 이용한 번역이 등장하면서 기계 번역이 훨씬 자연스러워 짐  Neural Machine Translation (NMT) • 기존의 통계 기반의 번역(SMT, Statistical Machine Learning)과는 달리 신경망 번역 문장 전체를 인식해서 번역한다. • NMT는 인공신경망 구조만 잘 결정해 주면 학습이 많을수록 더 자연스러운 번역이 가능해진다. • 인공신경망을 이용한 번역기 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례
  75. 75. 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례 Faster R-CNN을 이용한 사물 검출 (Object Detection)  사물 검출 • 이미지 속에 담긴 사물의 위치와 종류를 알아내는 기술  R-CNN (Regions with Convolution Neural Network) • 이미지 속에 담긴 사물의 위치와 종류를 알아내는 기술 • 입력 이미지에서 후보 영역을 추출(컴퓨터 비전 기술)한 후 CNN을 적용하여 종류를 구분함. • Faster R-CNN은 후보 영역 추출도 CNN으로 처리한 기술로 더 빨리 처리한다.
  76. 76. 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례 Segmentation이란 이미지를 픽셀수준에서 분류하는 문제이다.  Segmentation • 이미지 Segmentation을 위해서는 원본이미지와 픽셀단위로 객체마다 채색된 지도 데이터를 사용해 학습한다.  FCN (Fully Convolutional Network) • Convolution Layer만으로 구성된 Network • CNN에서는 마지막 출력은 1차원 벡터 였으나 FCN은 마지막에 공간의 크기를 확대 처리함.
  77. 77. 딥러닝을 이용한 이미지 주석 만들기  A neural image caption generator • Google의 Oriol Vinyals팀은 딥러닝을 이용해 이미지 주석을 만들어 내는 기술을 발표. • 처리는 크게 두 단계로 나누어지는 데 첫 단계는 이미지를 처리해 추상화 하는 부분(CNN 활용)이고, 두 번째 단계는 이미지 정보를 이용해 문장을 작성하는 부분(RNN 활용)이다. 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례
  78. 78. 딥러닝을 이용한 예술 - 그림 그리기  A neural algorithm of artistic style (2015) - https://arxiv.org/abs/1508.06576 • 독일 튀빙겐 대학교 연구팀에서 딥러닝(CNN)을 이용해 유명 화가의 화풍을 학습한 후 이를 이용하여 그림을 그리다. 원본 사진 윌리엄 터너 ‘수송선의 난파’ 에드바르 뭉크 ‘절규’ 이중섭 화풍 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례
  79. 79. 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례 DCGAN 기법으로 이미지 생성하기  DCGAN (Deep Convolutional Generative Adversarial Network) • 대랑의 이미지를 사용하여 학습 한 후, 학습 데이터에는 존재하지 않는 이미지를 생성 • DCGAN은 이미지를 생성하는 과정을 모델화 • DCGAN은 Generator(생성자)와 Discriminator(식별자) 2개의 신경망을 이용 • 생성자는 정교한 가짜 이미지를 생성 기술을 학습하고, 식별자는 생성자가 생성한 이미지가 진짜 인지 가짜 인지 판 별하는 학습을 진행. [ DCGAN이 생성한 이미지 ] [ DCGAN Generator 구조 ]
  80. 80. 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례 자율 주행을 위한 SegNet  SegNet • SegNet은 CNN 기반으로 주변 환경을 픽셀 수준으로 분할하여 인식함. [ SegNet Architecture ]
  81. 81. 딥러닝을 이용한 예술 - 음악 작곡  Kulitta - http://donyaquick.com/kulitta/ • 예일대 컴퓨터 사이언스 박사 Donya Quick이 개발한 인공지능 작곡 • 특정 장르의 음악에 대해 딥러닝을 통해 스스로 학습하고 비슷한 특성을 가진 창작곡을 내놓는 방식 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례
  82. 82. 딥러닝을 이용한 독순술  Lip Reading Sentences in the Wild - https://arxiv.org/pdf/1611.05358.pdf • 구글 DeepMind와 옥스포드대학 연구진이 딥러닝을 활용해 독순술 정확도를 대폭 끌어올린 시스템을 개발 • 훈련 데이터 : BBC 영상 5천 시간 분량으로 11만 8천여 개의 문장과 17,500여 개의 고유명사가 포함 • 테스트 결과 약 절반 수준을 인식 (참고, 독순술 전문가는 12.4% 인식) 인공지능이 독순술로 작성한 자막 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례
  83. 83. 딥러닝을 이용한 필기  Generating Sequences With Recurrent Neural Networks - https://arxiv.org/pdf/1308.0850.pdf • 토론토 대학에서 LSTM RNN (Long Short-term Memory recurrent neural netweork)를 이용하여 손글씨를 만드는 기 술 개발 • Demo 사이트 : https://www.cs.toronto.edu/~graves/handwriting.html Deep recurrent neural network prediction architecture 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례
  84. 84. 딥러닝을 사용한 강화학습으로 Deep Q-Network(DQN)이 있다. 4. 딥러닝 성과 VI. 딥러닝 개요 및 사례  Deep Q-Network • Q학습이라는 강화학습 알고리즘은 최적 행동 가치 함수로 최적 행동을 정함. • 이 최적 행동 가치 함수를 딥러닝(CNN)으로 비슷하게 흉내 내어 사용
  85. 85. 5. 기업별 활용 사례 VI. 딥러닝 개요 및 사례 인공지능 선두기업 구글 “Deep Learning 기술 확보 위한 파격적 투자” Demis Hassabis Geoffrey Hinton  2011년 Deep learning 기술 가능성 확인 후 본격적으로 인공지능 기술 투자 (Google Brain Project)  2013년 Geoffrey Hinton 교수 영입  2014년 DeepMind 인수  2015년 “TensorFlow” machine learning library 공개  2016년 “TPU (Tensor Processing Unit)” 공개  2017년 “Mobile first to AI first” 가 Google의 지향점
  86. 86. 5. 기업별 활용 사례 VI. 딥러닝 개요 및 사례 Google을 따라잡기 위한 Microsoft와 Baidu 【 Microsoft】 【 Baidu】  이미지 인식 데모 프로젝트 ‘Adam’ • ImageNet의 1,400만개 이미지를 22,000로 분류 • Google Brain 대비 30배 적은 컴퓨터로 50배 이상의 성 능향상 두 배의 정확도로 성공  Cortana : 음성인식 기반의 지능형 개인 도우미 앱 (11 개 국가에서 사용 중)  Skype Translator  Email 클러터 (스팸차단, 이메일 자동분류)  주로 음성인식과 자연어 처리 분야에 집중  2014년 앤드류 응 교수 영입 (Google Brain 프로젝트 리딩)  Deep Speech (‘2014) 발표 • 순환신경망(RNN) 활용 음성인 식 프로그램 • 소음이 심한 환경에서 소음 제 거에 탁월  Deep Speech 2 (‘2015) 발표 • 중국어 음성 인식 (동일한 음에 다른 의미)  앤드류 응 바이두 사임 (2017.3월) “Deep Learning의 모범” “Google에 대한 도전” Andrew Ng (‘2014)
  87. 87. 5. 기업별 활용 사례 VI. 딥러닝 개요 및 사례 디지털 영토 확장을 위한 딥러닝의 활용 : Facebook, IBM 【 Facebook 】 【 IBM 】  몬트리올 대 요수와 벤지오 교 수와 협업 (왓슨에 적용)  Jeopardy Show 우승 당시 (‘2011) 인공지능 기술 • 음성인식, 자연어처리 • 확률기반의 질의 응답 “사람을 더 많이 연결하기 위해 딥러닝 활용” “Watson에 Deep Learning 적용” Yoshua Bengio (‘2014)  얀 르쿤 영입 (‘2013)  DeepFace 시스템 발표 (‘2014) • 두 개 인물사진 비교 후 동일인 여부 판단 시스템 • 정확도가 97.25% (참고로 사람은 97.53%)  Facebook M (‘2015) • 개인비서 (식당예약, 스케줄관리, 항공편 예약 등)  Watson 상품화 • Watson에 딥러닝 기술 추가 • https://youtu.be/oTOAIdlqNi0
  88. 88. 5. 기업별 활용 사례 VI. 딥러닝 개요 및 사례 한발 늦은 애플과 여러 스타트업들 【 Apple 】 【 스타트업 】 “인공지능에 소극적이었던 애플의 변화” “딥러닝 기반 AI Startup들의 확산”  스타트업 시리 인수 (‘2010) • 인수 당시 혁신적인 서비스라고 평가 받음. • 최근 MS의 코타나나 구글보다 떨어진다는 평가  2015년 이후 인공지능 분야 투자 확대 • Perceptio인수 : 스마트폰에 저장된 이미지 자동분류 • VocalIQ인수 : 자연어 처리 전문 스타트업 • 인공지능 전문가 영입 지속 전 세계 인공지능 스타트업 투자규모 변화 (2011~2016) 분야 설명 회사 알고리즘 또는 프레임워크 다양한 산업 및 사용처에서 공 통적으로 필요한 알고리즘 및 개발 환경 기술 제공 Skymind, Nervana, MetaMind 컴퓨터 비전 컨볼루션 신경망을 이용한 컴 퓨터 비전 정확도 증가 Madbtis, Lookflow 자연어 처리 순환신경망(RNN) 활용한 자연 어처리 관련 스타트업 AlchemyAPI, Idibon 응용 서비스 헬스케어 같은 틈새시장 겨낭 Enlitic,, StocksNeural  분야별 스타트업 현황
  89. 89. 1. 최초의 인공신경망 2. 단층 퍼셉트론 3. 다층 퍼셉트론 4. 노드값의 전달 5. 활성화 함수 6. 신경망 학습방법 7. 경사 하강법 8. 역전파 9. 정밀 학습 방법 VII. 딥러닝 원리
  90. 90. 1. 최초의 인공신경망 VII. 딥러닝 원리 1943년 워렌 맥컬록(McCulloch)과 월터 피츠(Pitts)는 생물학적 신경망 이론을 단순화 해서 최초로 인공신경망 이론을 제시.  인공신경망(ANN, Artificial Neural Network) 최초의 인공신경망은 생물학적 신경망을 단순화 해서 논리, 산술, 기호 연산을 구현할 수 있게 하였는데 이것을 TLU (Threshold Logic Unit)라고 정의했다. 헵의 학습 (Hebb’s Learning)  생물학적 신경망에서 뉴런 사이에서 신호전달 시 반 복적 또는 지속적으로 신호가 자극됨. 이 결과로 뉴런 A에서 뉴런 B로 가는 경로인 시냅스 연결이 강화된다.  Hebb은 이것이 신경 레벨의 일종의 학습/기억의 과정 이라고 보고 인공신경망에 가중치 개념으로 도입했다.  이것이 헵의 규칙 또는 헵의 학습이라 한다. 𝒙 𝟏 𝒙 𝟐 Σ 𝜃 = 2 𝒚 McCulloch-Pitts 논문에 표현된 TLU  인공신경망 TLU를 AND 논리 연산에 적용한 예 입력 x1 입력 x2 출력 y 0 0 0 0 1 0 1 0 0 1 1 1 만약 𝜃=1이면 OR 연산이 적용된 TLU가 된다.
  91. 91. 2. 단층 퍼셉트론 (SLP, Single-Layer Perceptron) VII. 딥러닝 원리 로센블래트는 사람의 시각 인지 과정에 영감을 얻어 퍼셉트론 이론으로 인공적인 시각 인지 과정을 구현하는 데 적용했다.  단층 퍼셉트론 (Single-Layer Perceptron) McCulloch-Pitts TLU 이론 + Hebb의 가중치 이론으로 입력층과 출력층만으로 구성  활성화 함수 (Activation Function)  일정크기(Threshold 𝜃)이상의 신호가 올 경우 값을 전달  계단함수 대신 Sigmoid 함수나 tanh함수 또는 ReLU함수 를 사용.  AND / OR Perception 예  AND : 𝑦 = 0.6𝑥1 + 0.6𝑥2 이고 𝜃 = 1  OR : 𝑦 = 1.2𝑥1 + 1.2𝑥2 이고 𝜃 = 1  적당한 가중치를 알아내는 학습이 필요함. Widrow-Hoff Learning Rule  Widrow-Hoff Learning Rule (Delta Rule) 단층 신경망에서 적당한 가중치를 알아내기 위해 출력 층의 출력 값의 오차에 비례해 가중치를 조절하는 것.  델타 규칙은 신경망의 오차가 충분히 들어들 때 까지 학 습 데이터를 반복해서 재 학습해야 한다.  델타 규칙은 후에 역전파의 기본이론이 된다.  1960년 Bernard Widrow는 Perceptron과 유사한 ADALINE (Adaptive Linear Neuron) 단층 신경망 모델과 위드로-호프 학습규칙(Widrow-Hoff Learning Rule)을 공개
  92. 92. 3. 다층 퍼셉트론 (MLP, Multi-Layer Perceptron) VII. 딥러닝 원리 XOR 문제는 단층 퍼셉트론에서는 해결할 수 없는데, 입력층과 출력층 사이에 은닉층 수를 하나만 더하면 쉽게 해결할 수 있다.  2층 Perceptron을 이용한 XOR 판별식 𝒙 𝟏 𝒙 𝟐 Σ|𝜃=1 𝒚 Σ|𝜃=1 Σ|𝜃=1 입력 x1 입력 x2 은닉층 뉴런#1 은닉층 뉴런#2 y 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 𝑤1 = −1.2 𝑤2 = 1.2 𝑤1 = 1.2 𝑤2 = 0.6 𝑤2 = 1.2 𝑤1 = 0.6 [ 은닉층 뉴런#1은 AND연산, 은닉층 뉴런#2는 OR연산, 출력층은 XOR연산 ] 은닉층뉴런#1 은닉층뉴런#2  은닉층 (Hidden Layer)  Hidden Layer을 추가하면 선형분리 불가능 (linearly inseparable) 문제를 풀 수 있다.  하지만, 다층 퍼셉트론 발견 상시에는 다층 퍼 셉트론을 학습시킬 수학적 모델이 없었다.  은닉층의 개수가 늘어나면 더욱 복잡한 문제를 풀 수 있으나 컴퓨터 계산량이 늘어난다.  Hidden Layer의 역할  앞 단계에서 받은 데이터(신호)를 필터링해서 좀 더 구체화 한 후 다음 단계 층으로 전달  각 은닉층마다 몇 개의 뉴런(노드)이 최적인지 는 문제에 따라 다르다.  신경망 층에 따라 Decision Boundary는 더 정확 해 진다. [ 2차원 평면에 분포된 데이터 세트를 은닉층 개수에 따라 분리 비교 ]
  93. 93. 4. 노드 값의 전달 VII. 딥러닝 원리 신경망에서 정보의 흐름은 입력층  은닉층  출력층으로 진행되는데 이렇게 정보가 전방으로 전달되는 인공신경망을 Feedforward Neural Network 라고 한다.  Feedforward Neural Network (FNN)  Input Layer (입력층)  입력 데이터를 받아들인다.  입력층의 노드(뉴런) 수는 입력 데이터의 특성 개수와 일치 한다.  Hidden Layer (은닉층)  은닉층의 뉴런 수와 은닉층의 개수는 신경망 설계자의 직관과 경험에 의존  은닉층의 뉴런 수가 너무 많으면 Overfitting이 발생, 너무 적으면 충 분히 표현하지 못함.  은닉충의 개수가 너무 많으면 비효율적 (예, 은닉층 수를 2배로 늘리 면 컴퓨팅 시간은 400% 증가하지만 정확성은 10%로 증가함)  Output Layer (출력층)  해결하고자 하는 문제의 성격 (예, 필기체 숫자를 인식한다면 0에서 9 까지 10개 노드로 선정) 학습이란?  Feedforward 신경망에서 원하는 결과를 얻기 위해 뉴런 사이의 적당한 가중치 를 알아내는 것
  94. 94. tanh 함수 (Hyperbolic Tangent Function) Sigmoid 함수 ReLU 함수 (Rectified Linear Unit Function) 5. 활성화 함수 VII. 딥러닝 원리  활성화 함수 (Activation Function)  Synapse는 전달된 전기 신호가 최소한의 자극 값을 초과하면 활성화되어 다음 뉴런으로 전기신호를 전달한다.  활성화 함수는 이것을 모방하여 값이 작을 때는 출력 값을 작은 값으로 막고, 일정한 값을 초과하면 출력 값이 커지는 함수를 이용한다.  신경망에서 Node는 전달받은 데이터를 가중치를 고려해 합산하고, 그 값을 활성화 함수를 적용해 다음 층에 전달한다. 뇌 신경망에는 시냅스가 있는데 인공 신경망에서는 이런 방식을 모방한 활성화 함수를 이용한다.  은닉층에서 자주 이용되는 활성화 함수 𝑦 = tanh(𝑥) 𝑦 = 1 1 + 𝑒−𝑥 𝑦 = 0 𝑖𝑓, 𝑥 < 0 𝑦 = 𝑥 (𝑖𝑓, 𝑥 ≥ 0) • 예전에는 활성화 함수로 tanh함수나 Sigmoid함수를 자주 사용했으나 최근에는 ReLU 함수를 사용  ReLU 함수는 상대적으로 학습 속도가 빠르고 학습이 잘 됨.  Parametric ReLU 함수 • ReLU함수는 0보다 작은 값에서 경사가 0이다. • 그래서 이 부분에 작은 경사 값을 준 Parametric ReLU함수도 자주 이용된다.
  95. 95. 5. 활성화 함수 VII. 딥러닝 원리  Softmax 함수  출력 층에서의 Activation Function으로 자주 사용  인공신경망의 출력 값으로 확률 벡터를 얻고 싶을 때 사용 (출력 값의 해석을 용이하기 한다.) 출력 층에서는 출력 값으로 확률벡터를 얻기 위해 softmax 함수를 자주 사용한다.  Softmax 함수는 각 output node의 출력을 0~1로 제한  output node의 출력을 모두 합한 값은 항상 1  Softmax function의 수식  Softmax 함수 원리 𝒆 𝒚𝒊 : 지수함수 (exponential function)
  96. 96. 6. 신경망 학습방법 학습이란 신경망에서 원하는 결과를 얻기 위해 뉴런 사이의 적당한 가중치를 알아내는 것. 즉 가중치를 최적화 하는 것이다.  신경망에서 지도학습 a. 훈련 데이터 (Training Set) 준비 : 입력 데이터와 출력 데이터 b. 신경망에 데이터 훈련 : 출력층 값을 확인 c. 지도학습 데이터와 차이 (오차) 계산 d. 오차가 최대한 작도록 가중치를 최적화  가중치를 어떻게 최적화 할까요?  Gradient Method(경사하강법)를 이용한다.  Gradient Method에서 경사는 어떻게 계산하나요?  Back Propagation(오류 역전파)를 이용한다.  심층 신경망(Deep Neural Network)에서 더 정밀하게 최적화하는 방법은 무엇인가요?  Dropout 알고리즘을 이용한다.  심층 신경망(Deep Neural Network)에서도 학습이 잘 되게 하려면?  Pre-Training(사전학습)을 이용한다. VII. 딥러닝 원리
  97. 97. 7. 경사 하강법 (Gradient Descent Method) Gradient Descent Method의 최솟값을 계산하는 알고리즘을 이용해 신경망의 연결가중치를 최적화한다.  Gradient Descent Method 란? 수치 계산에서 함수의 최솟값을 계산할 때 사용되는 가장 보편적인 알고리즘 a. 먼저 변수의 초기값을 선정 b. 변수 값에 해당하는 함수의 경사도 계산 c. 변수를 경사 방향으로 움직여 다음 숫자값으로 설정 a~c를 반복하며 함수의 최솟값이 되는 변수값으로 근접해 나간다.  Gradient Descent Method를 신경망에 적용  제곱합의 총합을 계산하는 부분에서 훈련 데이터가 늘어날수록 시간이 많이 걸림. 𝒙𝒊+𝟏 = 𝒙𝒊 − ℰ 𝝏𝒇 𝝏𝒙 경사 하강법 신경망 변수 𝒙 각 연결의 Weight 함수 𝒇 훈련데이터의 훈련 결과와 실제 값의 차이를 제곱해서 더한 값 에 훈련 데이터의 개수만큼 반복 계산 함수의 경사 𝝏𝒇 𝝏𝒙 최소화하기 위해 어떻게 계산할까요? 움직임의 정도 ℰ 학습률 2차원에서의 Gradient Descent Method (Parameter가 하나인 경우) Parameter가 두 개인 경우 VII. 딥러닝 원리
  98. 98. 7. 경사 하강법 (Gradient Descent Method) 신경망의 지도학습에서 가중치를 갱신 값을 계산하는 방법(Gradient Descent Method)은 3가지가 있다.  Gradient Descent Method의 종류 종류 계산방법 Batch Gradient Descent (배치 경사 하강법) • 모든 데이터를 학습하고 오차를 이용하여 가중치 갱신 값을 계산한 다음, 가중치를 한 번에 갱신 • 단점 : 학습 데이터가 많으면 가중치 갱신 값 평균 계산 시 계산량 많음. SGD 대비 학습이 오래 걸림. • 단점 : 가중치 𝒙의 초기 설정에 따라 글로벌 최솟값(Global minimum)이 아닌 지역 최솟값(local minimum)을 수렴할 수 있다. Stochastic Gradient Descent (확률적 경사 하강법) • 하나의 학습 데이터마다 오차를 계산해서 신경망의 가중치를 바로 조절 • 한 개의 학습 데이터마다 매번 가중치를 갱신함으로 신경망의 성능이 들쑥날쑥 변함. • 단점 : 최적의 학습률을 구하기 위해 일일이 튜닝하고 수렴조건을 조정해야 함 • 단점 : 학습 데이터를 순차적으로 사용해야 함 (병렬 컴퓨팅 효과를 얻기 어려움) Mini-Batch Gradient Descent (미니배치 경사 하강법) • 훈련데이터에서 소량의 데이터를 적당히 선택해 학습 후 갱신 처리를 수행 • 장점 : 위 두 가지 경사 하강법의 단점을 보완하고 장점을 취함. • 장점 : GPU 기반의 효율적인 병렬 컴퓨팅이 가능해 진다. epoch • 전체 학습 데이터를 한 번씩 모두 학습 시킨 횟수 • 학습 시킨 데이터도 재 학습 시키면 신 경망이 개선 VII. 딥러닝 원리
  99. 99. 8. 역 전파 예측된 결과와 실제값의 차이인 에러의 역전파를 통해 가중치를 구한다. (Backward propagation of errors)  역 전파 알고리즘 (Back propagation algorithm) • Deep Learning의 대표적인 지도학습 알고리즘. • 역 전파 : 역방향으로 오차를 전파 • Back propagation 알고리즘은 Gradient descent rule과 결합되어 인공신경망 학습 알고리즘으로 많이 이용된다. • 학습된 출력 값과 실제 값과의 차이인 오차를 계산하여 Feedforward 반대인 역방향으로 전파(Propagation) 한다. • 전파된 오차를 이용하여 가중치를 조정한다. • 출력층의 오차 : 지도학습 데이터의 정답과 출력층의 출력값의 차이 • 은닉층의 오차 : 출력층의 오차가 가중치를 고려하여 역방향으로 전달 • 델타(𝜹)규칙 : 어떤 입력 노드가 출력 노드 의 오차에 기여했다면, 두 노드의 연결 가중 치는 오차에 비례해 조절한다. • 델타(𝜹) : 델타는 활성함수의 도함수 (derivatives)를 이용해 계산됨. 즉, 델타를 이용해 가중치를 조절(compute gradient)하고 앞 은닉 노드들의 델타를 계 산함. • 비용함수(cost function) : 오차를 계산하는 함수로 Cross Entropy 함수가 많이 사용  대부분의 딥러닝 오픈 프레임워크에는 역 전파 알고리즘이 구현되어 있음. VII. 딥러닝 원리
  100. 100. 8. 역 전파 신경망의 계층을 깊게 만들면 역 전파 알고리즘으로 심층 신경망을 학습 시킬 때 어려움을 겪는다.  Vanishing Gradient (기울기 소멸) 문제 • 역 전파 알고리즘으로 학습시킬 때 앞쪽의 은닉층으로 오차가 거의 전달 안됨 (즉, 학습이 잘 안됨) 학습 거의 안됨 학습 잘 됨 • 해결 방안: 은닉층 활성화 함수로 Sigmoid 함수 대신 ReLU(Rectified Linear Unit Function) 함수를 사용  간단한 구현 : 입력이 음수이면 0을 출력하고 양수이면 입력 값 그대로 출력  학습 속도가 Sigmoid 보다 빠르고 Vanishing Gradient 문제가 적어 학습이 잘 됨.  Over-fitting (과적합) 문제 • 신경망이 깊어지면 복잡한 모델이 되어 과적합에 취약 • Dropout 기법으로 해결  많은 계산량 문제 • 신경망이 깊어지면 가중치가 기하급수적으로 증가되고, 학 습 데이터도 많이 필요하고, 계산량이 급증함. • GPU의 활용과 배치 정규화(Batch Normalization, 2015년) 등의 알고리즘으로 개선 VII. 딥러닝 원리
  101. 101. Dropout은 신경망을 학습할 때 계산 과정에서 임의의 노드 몇 개를 생략해 학습하는 방법이다.  정밀 학습 방법 • Back Propagation으로 신경망 학습이 가능하지만 그것만으로는 신경망 학습이 잘 되지 않아서 더 정밀하게 최적화하 는 학습 방법이 지속적으로 나오고 있다. • 정밀 학습 알고리즘 : Dropout, Drop connect, Adaptive dropout, AdaGrad, AdaDelta, Adam  Dropout Algorithm • 2012년 Hinton 교수가 제안한 것으로 과적합 문제를 개선. • 신경망 학습 시 임의의 노드 몇 개를 생략해 학습하고, 다음 계산 시 또 다른 노드를 생략하고 학습 • 일반적으로 입력층에서 20%~25% 정도, 은닉층에서 50% 정도의 노드를 생략한다. • 효과 “학습 시 학습 데이터에 의해 연결의 weight가 동조화 되는 현상 (co-adaptation)을 피한다.” * Co-Adaptation : 노이즈에서 발생한 잘못된 특성이 모든 노드에 전파되어 의미 있는 특성을 선별하는데 부정적인 영향을 미치는 것 [ Dropout Algorithm ] [ Dropout 효과 ] VII. 딥러닝 원리9. 정밀 학습 방법
  102. 102. 9. 정밀 학습 방법 비지도 학습인 사전 학습(Unsupervised Pre-Training)을 통하면 신경망이 깊어도 학습이 잘 된다.  비지도 사전학습 (Unsupervised Pre-Training) • Deep Neural Network에서 지도학습만으로는 학습이 잘 이루어 지지 않는다. *기울기 소멸 문제 (Vanishing Gradient Problem) : 출력 층에서 이전 층으로 갈 수록 전달되는 오차가 줄어들어 학습이 안 되는 현상 • 2006년 Hinton이 DBN(Deep Belief Network)에서 비지도 사전학습을 소개 • Auto-Encoder를 이요한 비지도 사전학습으로 가중치를 초기화하면 학습이 잘 이루어 진다. [ Stacked Auto-Encoder ] VII. 딥러닝 원리 [ Deep Belief Network ]
  103. 103. 1. 신경망 종류 2. Convolution Neural Network 3. Recurrent Neural Network 4. 기타 신경망 5. 고속 연산 처리 6. 딥러닝 프레임워크 VIII. 신경망 종류와 프레임워크
  104. 104. 1. 신경망 종류 VIII. 신경망 종류와 프레임워크 다양한 종류의 DNN 구조가 존재하지만 대부분의 경우 몇 가지 구조에서 파생된 것이다.  Convolution Neural Network 계열 • Convolution Layer와 Pooling Layer를 포함하 는 신경망 • 이미지 처리에 좋은 성능을 보인다  Recurrent Neural Network 계열 • 재귀적 접속이 있는 은닉층을 사용한 신경망 • 가변적 길이의 데이터를 취급 • 자연어 처리나 음성 인식에 주로 이용.  기타 신경망 형태 • Deep Belief Network (DBN) : 계층 간에 연결 은 있지만 뉴런 간의 연결이 없는 형태로 비지 도 사전학습에 이용 • Auto-Encoder : 입력층과 출력층의 뉴런 수가 같은 신경망으로 비지도 사전학습에 이용
  105. 105. 2. Convolution Neural Network CNN은 Convolution Layer와 Pooling Layer를 포함하는 신경망으로 이미지 처리에 좋은 성능을 보인다.  Convolution의 이해 • 기존 영상처리에 잘 사용하는 기법으로 영상필터로 사용된 기술 • 가중치를 갖는 마스크(Convolution Filter, 커널)를 이용해서 특징 (Feature Map) 추출 • Convolution 의 결과 예 (Filter 수 만큼 Feature Map이 나온다.) • 필터의 값은 학습에 의해 바뀐다.  CNN은 Convolution과 Subsampling(Pooling)을 반복하면서 영상을 줄이고 특징을 추출한 후에 분류를 판별한다. VIII. 신경망 종류와 프레임워크
  106. 106. CNN에서 계층을 연결 방법은 크게 3가지로 구성된다. Fully Connected Layer Convolution Layer Pooling Layer  앞 층 노드와 자기 층 노드가 모두 연결  많은 계산량  앞 층 인접 노드 집합과 자기 층 노 드가 연결  이미지에서 특징을 추출할 때 주로 사용  앞 층 인접 노드 집합에서 결정된 값을 자기 층의 노드 값으로 취함  예를 들어 최대값을 자기 값으로 취함  계층의 형태  다른 타입의 층을 조합 (예, Deep Face Neural Network) VIII. 신경망 종류와 프레임워크2. Convolution Neural Network
  107. 107. CNN에서 Pooling은 통해 데이터의 크기를 줄이고 특징을 추출해 낸다.  Pooling(Subsampling) Max Pooling (최대 풀링) Average Pooling (평균 풀링) Stochastic Pooling (확률적 풀링) • 컨볼루션 데이터에서 가장 큰 것을 대표 값으로 취함 • 직관적이고 간편 • 최대값이 노이즈이면 Overfitting 유발 • 컨볼루션 데이터에서 모든 값의 평균을 취함 • 직관적이고 간편 • 낮은 활성화 값이 평균에 포함됨으로 특 성 대비율을 떨어뜨림 • 컨볼루션 데이터에서 임의의 확률로 한 개를 선정 취함 • 실행 방법이 단순 • 범위 내 동일한 값이 여러 개 있다면 확 률적으로 선택 가능성이 높아 대표성을 띰. [ Convolution후 Subsampling 처리 ] • Pooling 계층은 주위의 픽셀을 묶어서 하나의 대표 픽셀로 바꾼다. 즉 이미지의 차원을 축소한다. • 이미지의 인식 대상이 한 쪽으로 치우치거나 돌아가 있어도 어느 정도 보상을 해 줌. • 이미지 크기를 줄이고 과적합을 방지하는 데 도움이 됨 VIII. 신경망 종류와 프레임워크2. Convolution Neural Network
  108. 108. Convolution과 Pooling 후 나온 특징을 Fully Connected 신경망에 입력하여 최종적을 1차원 벡터 형태의 특성으로 압축한다.  특성의 추출 [1, 3, 1, 0, 0, 0, 0, 0, 0, 0] [6, 12, 15, 11, 0, 0, 0, 0, 0, 0] [10, 0, 0, 0, 0, 0, 0, 3, 4, 2] [0, 4, 9, 0, 0, 8, 21, 0, 0, 0] [ 편의상 10개의 특성이라고 가정 ]  Layer 의 수 • Layer가 많으면 계산량은 늘지만 학습 결과는 좋음 • Microsoft는 152개 Layer를 적용 • 옆의 그림에서 개와 고양이를 아 주 잘 골라 냄 VIII. 신경망 종류와 프레임워크2. Convolution Neural Network
  109. 109. 3. Recurrent Neural Network RNN은 은닉층에서 재귀적 접속이 있는 것으로 입력 데이터가 가변적인 것에 많이 사용된다.  RNN의 구조 • RNN은 좌측처럼 단순한 구조지만 학습 시에는 우측처럼 자기 순환하면서 학습한다. (신경망이 깊어진다.) • 주로 Time-series data (시계열 데이터, 시간의 흐름에 따라 변하는 데이터, 문장 및 음성 데이터)를 적용한다. • RNN 학습은 Back Propagation 알고리즘과 유사한 BPTT (Back Propagation Through Time) 학습 방법을 적용한다.  RNN 활용범위 • 언어 모델링과 텍스트 생성 : 언어 모델(Language model)은 주어진 문장에서 이전 단어들을 보고 다음 단어가 나올 확률 을 계산해 주는 모델이다. • 기계 번역 • 음성 인식 VIII. 신경망 종류와 프레임워크
  110. 110. RNN의 기본 모델의 여러 단점들을 보완하기 위해 변화를 준 RNN 모델들이 연구되고 있다.  LSTM (Long Short Term Memory) • RNN은 인공신경망이 너무 깊어서 오랜 시간 전의 데이터를 잊어버리는 현상 (Vanishing Gradient Problem)이 존재 • RNN 뉴런 대신 메모리 셀이라고 불리는 Long Short Term Memory (LSTM, 장단기 기 억)을 각 뉴런마다 배치하여 이 문제를 극복  기타 RNN [ Bidirectional RNN ] 이전 Step 외에 이후 Step의 입력 값도 영향을 받을 수 있다. [ Deep (Bidirectional) RNN ] 매 시간 Step 마다 여러 Layer가 있다. VIII. 신경망 종류와 프레임워크3. Recurrent Neural Network
  111. 111. 4. 기타 신경망 VIII. 딥러닝 학습 및 알고리즘 DBN은 입력층과 출력층으로만 구성되어 있는 RBM (Restricted Boltzmann Machine)을 쌓은 형태의 신경망이다.  RBM (Restricted Boltzmann Machine) • RBM은 여러 가지 형태의 레이블된 데이터 또는 레이블되지 않은 데이터를 확률적 방법으로 판별하는 생성모델(Generative Model) 이다. • 생성모델(Generative Model)은 기계학습에서 사용되는 확률적 분류 기법 중 하나이다. • RBM은 이러한 생성모델을 기반으로 하며 입력층과 은닉층 2개 층으로 구 성되어 있는 단층 신경망이다.  DBN (Deep Belief Network) • DBN은 RBM을 계속 층층이 쌓인 형태로 연결된 신경망이다. • DBN은 RBM을 기반으로 비지도 사전학습 (Pre-Training)을 통해 가중치를 어느 정도 보정 해 놓고, 마지막 튜닝 과정을 통해 최종 가중치를 계산한다. • 1단계 RBM 학습이 종료되면 1단계 결과를 2단계 RBM의 입력 값으로 이용한다. • 레이블된 데이터 세트가 충분하지 않은 경우 사용된다
  112. 112. 오토인코더는 입력층과 출력층의 뉴런 수가 같은 신경망으로 비지도 사전학습에 이용된다.  Auto-Encoder • 입력층과 출력층의 노드 수가 같은 신경망으로 입력 값과 출력 값이 가능한 같게 가중치를 최적화. • 은닉층 노드 수가 입력 층 보다 작음으로 입력 층 정보가 가능하면 손실되지 않게 정보를 압축 • 은닉층이 좌우대칭 되도록 복수로 하는 것도 가능  Stacked Auto-encoder Auto-Encoder Stacked Auto-Encoder 4. 기타 신경망 VIII. 딥러닝 학습 및 알고리즘 가중치초기화 #1 가중치초기화 #2  Auto-Encoder를 통한 사전학습 • 가중치의 초기값으로 난수 대신 Auto-encoder로 특성을 반영한 값을 초기값으로 선택 • 입력층부터 순차적으로 가중치를 초기화
  113. 113. 5. 고속 연산 처리 GPU를 이용한 병렬 계산은 고속 연산 처리가 가능해 딥러닝 활성화에 기여함.  GPGPU (General-Purpose computing on Graphics Processing Units) • GPU는 Graphic 처리에 특화되어 있는 H/W  단순하면서도 높은 병렬 처리가 요구됨  CPU보다 월등히 빠른 연산 능력 • GPGPU  GPU를 그래픽처리 외에 범용적인 용도로 사용할 수 있 도록 하자는 데서 출발  인공신경망에 적용하여 계산량 문제를 크게 개선 시킴  CUDA (Compute Unified Device Architecture) • 2006년 NVIDIA가 발표 • GPU에서 수행하는 병렬 처리 알고리즘을 C 프로그래밍 언어를 비롯한 산업 표준 언어로 작성 할 수 있게 함.  이전에는 OpenGL, Direct3D 같은 것을 이용했어야 함.  현재 Python, Perl, Java에서도 이용할 수 있도록 Wrapper도 제공  GPU가 범용적인 용도로 사용되는 것을 가능하게 함. • CUDA 개발정보 (CUDA Zone) : https://developer.nvidia.com/cuda-zone VIII. 신경망 종류와 프레임워크
  114. 114. 5. 고속 연산 처리 기계학습에 특화된 TPU (Tensor Processing Unit)  TPU (Tensor Processing Unit) • 기계학습에 최적화된 특수 목적 프로세서 • 정밀 연산도를 8bit로 낮추는 대신 상당히 많은 연산을 효과적으로 처리 • CPU대비 70배, GPU 보다 최대 30배 성능 우수 • 32Bit 고정밀 연산이 필요한 경우 사용이 불가능함으로 GPU와 같이 활용됨. • TensorFlow Research Cloud를 활용하면 1,000개의 Cloud TPU를 무료로 사용할 수 있음. VIII. 신경망 종류와 프레임워크
  115. 115. 5. 고속 연산 처리 인텔은 Nervana를 인수한 후, 인공신경망 기반 AI 학습 기술에 최적화된 차세대 프로세서의 개발을 진행 중.  Intel Nervana Platform • 2017년 “Lake Crest” 출시 예정 (‘5월 현재 아직 미 출시) • 2020년 “Knights Crest” 출시 목표 (현재 Processor 대비 100배 성능 향상) VIII. 신경망 종류와 프레임워크
  116. 116. 6. 딥러닝 프레임워크 딥러닝 오픈 프레임워크는 다양한 라이브러리와 사전학습 된 알고리즘을 포함하고 있다.  딥러닝 프레임워크 프레임워크 사이트 개발 지원언어 기타 Theano http://deeplearning.net/software/theano/ 몬트리올대학 Python 업데이트가 느림 Caffe2 https://caffe2.ai/ 페이스북 Python 기존 Caffe를 많이 개선 Torch http://torch.ch/ 뉴욕대학 Lua TensorFlow https://www.tensorflow.org/ Google Python, C++, Java, Go DeepLearning4J https://deeplearning4j.org/ Skymind Java MXNet http://mxnet.io/ 여러 대학과 회사 Python, Scala, R, Julia, C++, Perl 어떤 프레임워크를 선정해야 하는가?  컴퓨팅 환경을 고려 : 프로그래밍 언어, 운영체계, 하드웨어 플랫폼(PC/Cloud), GPU 사용여부  사용 목적을 고려 : 간단한 개념증명인가? 수업이나 간단한 프로젝트인가? 실제 서비스 인가?  응용 분야를 고려 : 이미지 분석인가? 음성인식인가? 자연어 처리인가? 강화학습인가? VIII. 신경망 종류와 프레임워크
  117. 117.  프레임워크 개요 • Google이 2015년에 공개한 Deep Learning Framework • Open-source software library for Machine Intelligence • C/C++로 개발된 엔진 위에 Python을 지원하는 구조 VIII. 신경망 종류와 프레임워크6. 딥러닝 프레임워크 Google은 TensorFlow를 기반으로 Machine Learning의 Ecosystem 구축에 많은 노력을 들이고 있다. [ TensorBoard ] Machine Learning 학습 과정을 시각화 하는 도구 [ TensorFlow Research Cloud ] TPU를 무료로 활용할 수 있는 Cloud [ Distributed TensorFlow ] Cluster를 구성하여 분산 병렬처리 가능 [ TensorFlow Serving] 기계 학습 모델을 운영 환경에 배포하는 것을 도와 줌 [ Google Cloud Machine Learning Engine ] TensorFlow로 작성한 모델을 지원하는 Cloud
  118. 118. • 내부적으로는 Theano와 TensorFlow가 구동되지만 복잡한 코드를 알 필요 없이 쉽게 딥러닝 모델을 구현 • Python 코드로 모델을 적용할 수 있는 상위 레벨의 라이브러리 VIII. 신경망 종류와 프레임워크 딥러닝을 더 쉽게 구현할 수 있도록 Keras, Pylearn2, Lasagne, Blocks 같은 상위 레벨 라이브러리가 있다.  Keras (https://keras.io/) • 모듈화  Keras 에서 제공하는 모듈은 독립적이고 설정 가능하며, 가능한 최소한의 제약사항으로 서로 연결될 수 있다  특히 신경망 층, 비용함수, 최적화, 초기화, 활성화 함수, 정규화는 모두 독립적인 모듈이며, 새로운 모델을 만들기 위해 이러 한 모듈을 조합할 수 있다. • 최소주의  각 모듈은 짧고 간결하다. 모든 코드는 한 번 보는 것으로도 이해 가능해야 한다  단 반복 속도와 혁신성에는 다소 떨어질 수가 있습니다. • 확장성  새로운 클래스나 함수로 모듈을 아주 쉽게 추가할 수 있다.  고급 연구에 필요한 다양한 표현을 할 수 있습니다. • Python 기반  Caffe 처럼 별도의 모델 설정 파일이 필요 없으며 Python 코드로 모델들이 정의  Keras 특징 6. 딥러닝 프레임워크
  119. 119. 참고문헌
  120. 120. The End 감사합니다. 강병호수석 (SK주식회사 통신개발2팀) medit74@sk.com

×