인공신경망, 그리고 딥러닝 1. 인공신경세포와 인공신경망 2. 퍼셉트론 예제 3. 쓸모 없고 느려터진 인공신경망 4. 딥러닝의 등장 4. 최신 딥러닝 동향 및 우리가 가져야 할 자세 1. AlphaGo (2016) 2. SRCNN (2014) 3. GNMT (RNN) (2016) 4. BEGAN (GAN) (2017) 5. 우리가 가져야 할 자세 인공신경망 매우매우 개론 – 0. 목차 쉬운 개념 설명을 위해 소개하는 알고리즘들에 많은 비약이 포함되어 있음을 미리 알려드립니다 쉬운게 좋잖아요? 헤헿 2 / 58
가능하대!! 낙관론 (규칙에 근거한) 미로찾기 문제 해결!!! (규칙에 근거한) 컴퓨터와의 대화 프로그램!!! (기초적인) 사람의 신경망을 인공적으로 만들어 볼 수 있어!!! (규칙에 근거한) 사람보다 뛰어난 체스 프로그램!!! 인공신경망 매우매우 개론 – 2. 빠른 역사 탐방 10 / 58
가겠어… (웃음)’ 60년 전 기계로 인공지능을 만들어볼까? 20년 안에 인간 같은 인공지능 가능하대!! 낙관론 30년 전 돈을 그렇게나 줬는데 성과가 없잖아! 게다가 너무 느리잖아! 때려쳐! 비관론 미로 정도야 규칙을 만들어 줄 수도 있지만… 그냥 규칙에 따라 대화하는 대화 친구는 싫어… 신경망? 그거 돌리기엔 컴퓨터가 너무 느리잖아 ㅋㅋㅋ 체스도 인간이 미리 설정해 준 규칙에 따라 하는 것 뿐이잖아.. 인공신경망 매우매우 개론 – 2. 빠른 역사 탐방 11 / 58
가겠어… (웃음)’ 60년 전 기계로 인공지능을 만들어볼까? 20년 안에 인간 같은 인공지능 가능하대!! 낙관론 30년 전 돈을 그렇게나 줬는데 성과가 없잖아! 게다가 너무 느리잖아! 때려쳐! 비관론 10년 전 어서와 딥러닝은 처음이지? (2006) 융전의 무서움을 보여주마! (2010) 2012 제프리 힌튼 연구팀 (불과 5년 전) 인공지능 숫자 추측 대회에서 딥러닝을 사용하여 ‘최고의 플레이 (다시 말해 1등)’ 달성 -> 딥러닝을 사용한 최초의 가시적 성과 ‘역시 내 길은 틀리지 않았어 (웃음)’ 인공신경망 매우매우 개론 – 2. 빠른 역사 탐방 바로 이 논문에서 새로운 세상이 시작되었다 G. E. Hinton et al., “A fast learning algorithm for deep belief nets,” Neural Comput, vol. 18, no. 7, pp. 1527–1554, Jul. 2006. 12 / 58
가겠어… (웃음)’ 60년 전 기계로 인공지능을 만들어볼까? 20년 안에 인간 같은 인공지능 가능하대!! 낙관론 30년 전 돈을 그렇게나 줬는데 성과가 없잖아! 게다가 너무 느리잖아! 때려쳐! 비관론 10년 전 어서와 딥러닝은 처음이지? (2006) 융전의 무서움을 보여주마! (2010) 현재 뭐야 이것들… 무서워… 인공신경망 매우매우 개론 – 2. 빠른 역사 탐방 2012 제프리 힌튼 연구팀 (불과 5년 전) 인공지능 숫자 추측 대회에서 딥러닝을 사용하여 ‘최고의 플레이 (다시 말해 1등)’ 달성 -> 딥러닝을 사용한 최초의 가시적 성과 ‘역시 내 길은 틀리지 않았어 (웃음)’ CNN 등을 이용한 알파고 (2016) 불과 1년 전!!! Boundary Equilibrium Generative Adversarial Networks (2017) 을 이용한 사람 이미지 학습 불과 4개월 전!!! Neural Machine Translation System (2016) 을 이용한 구글 한국어 신경망 번역 (2016) 불과 8개월 전!!! CNN 등을 이용한 이미지 해상도 복원 (2014) 불과 2년 전!!! 13 / 58
가겠어… (웃음)’ 60년 전 기계로 인공지능을 만들어볼까? 20년 안에 인간 같은 인공지능 가능하대!! 낙관론 30년 전 돈을 그렇게나 줬는데 성과가 없잖아! 게다가 너무 느리잖아! 때려쳐! 비관론 10년 전 어서와 딥러닝은 처음이지? (2006) 융전의 무서움을 보여주마! (2010) 현재 뭐야 이것들… 무서워… 인공신경망 매우매우 개론 – 2. 빠른 역사 탐방 2012 제프리 힌튼 연구팀 (불과 5년 전) 인공지능 숫자 추측 대회에서 딥러닝을 사용하여 ‘최고의 플레이 (다시 말해 1등)’ 달성 -> 딥러닝을 사용한 최초의 가시적 성과 ‘역시 내 길은 틀리지 않았어 (웃음)’ CNN 등을 이용한 알파고 (2016) 불과 1년 전!!! CNN 등을 이용한 이미지 해상도 복원 (2014) 불과 2년 전!!! Boundary Equilibrium Generative Adversarial Networks (2017) 을 이용한 사람 이미지 학습 불과 4개월 전!!! Neural Machine Translation System (2016) 을 이용한 구글 한국어 신경망 번역 (2016) 불과 8개월 전!!! 컴퓨터에게 ‘문제 해결 방법’을 가르친 적이 없다 컴퓨터로부터 ‘문제 해결 방법’을 알아낼 수 없다 14 / 58
가겠어… (웃음)’ 60년 전 기계로 인공지능을 만들어볼까? 20년 안에 인간 같은 인공지능 가능하대!! 낙관론 30년 전 돈을 그렇게나 줬는데 성과가 없잖아! 게다가 너무 느리잖아! 때려쳐! 비관론 10년 전 어서와 딥러닝은 처음이지? (2006) 융전의 무서움을 보여주마! (2010) 현재 뭐야 이것들… 무서워… 인공신경망 매우매우 개론 – 2. 빠른 역사 탐방 2012 제프리 힌튼 연구팀 (불과 5년 전) 인공지능 숫자 추측 대회에서 딥러닝을 사용하여 ‘최고의 플레이 (다시 말해 1등)’ 달성 -> 딥러닝을 사용한 최초의 가시적 성과 ‘역시 내 길은 틀리지 않았어 (웃음)’ CNN 등을 이용한 알파고 (2016) 불과 1년 전!!! CNN 등을 이용한 이미지 해상도 복원 (2014) 불과 2년 전!!! Boundary Equilibrium Generative Adversarial Networks (2017) 을 이용한 사람 이미지 학습 불과 4개월 전!!! Neural Machine Translation System (2016) 을 이용한 구글 한국어 신경망 번역 (2016) 불과 8개월 전!!! 아기에게 ‘문제 해결 방법’을 가르친 적이 없다 아기로부터 ‘문제 해결 방법’을 알아낼 수 없다 15 / 58
기계 학습)이란? -> 인공지능을, 사전에 지정한 규칙이 아니라 ‘학습’을 통해 구현하는 방법 그래서 인공신경망(Artificial Neural Network, ANN)이란? -> 머신 러닝의 방법 중에서, 인공적인 신경망을 통해 구현하는 방법 그래서 딥러닝(Deep Learning, 심층 학습)이란? -> 특별한 기술인 줄 알았다면 여러분은 속았음. 그냥 ‘딥러닝 = 심층 인공신경망’임. 인공신경망 매우매우 개론 – 3. 머신 러닝과 인공신경망, 그리고 딥러닝 인공지능 머신 러닝 인공신경망 딥 러닝 ★심층 인공신경망★ 16 / 58
유닛) 1. 전기 입력을 받아 2. 어떠한 처리를 한 후 (예: 모든 입력의 합이 역치값보다 큰가?) 3. 전기 출력을 내보낸다 - 인공신경세포 (인공신경망의 기본 유닛) 1. 숫자 입력을 받아 2. 어떠한 처리를 한 후 (예: 모든 입력의 합이 역치값보다 큰가?) 3. 숫자 출력을 내보낸다 - Symbolic AI vs Connectionist AI 인공신경망 매우매우 개론 – 3. 머신 러닝과 인공신경망, 그리고 딥러닝 17 / 58
처리, 출 력 과정 중에서 ‘처리’ 부분이 역치값 검사 인 것 1. 입력: 입력 신호 * 가중치 2. 처리: 입력 신호의 합이 0 이상인가? 3. 출력: 양수면 1, 음수면 0 인공신경망 매우매우 개론 – 3. 머신 러닝과 인공신경망, 그리고 딥러닝 1 0 1 초기 상태의 퍼셉트론 랜덤 가중치 랜덤 가중치 입력 신호 전부 더한 게 양수인 것이냐 (근엄) 출력 신호 (더해보니 양수였음) 1 랜덤 가중치 19 / 58
입력 신호의 가 중치를 변경 ※ 참고(몰라도 됨) - 새로운 가중치를 구하는 방법 -> 기존 가중치에 ‘오차 * 입력 신호’를 더함 - 따라서 예제에서 오차는 0-1 = -1 - 첫 번재 입력의 새로운 가중치는? - 기존 가중치 + ‘-1 * 1’ - 일반화하기: Gradient Descent Method 인공신경망 매우매우 개론 – 3. 머신 러닝과 인공신경망, 그리고 딥러닝 1 0 1 역전파로 학습하는 퍼셉트론 가중치 업뎃 가중치 업뎃 입력 신호 야 틀렸대;; 빨랑 바꿔;; 출력 신호 1 정답이 0ㅜㅜ 가중치 업뎃 20 / 58
- 인공신경세포 1. 전기 입력을 받아 2. 어떠한 처리를 한 후 3. 전기 출력을 내보낸다 왜 다시 인공신경망인가? 2. 퍼셉트론 예제 - 퍼셉트론 1. 전기 입력을 받아 2. 어떠한 처리를 한 후 (모든 입력의 합이 역치값보다 큰가?) 3. 전기 출력을 내보낸다 22 / 58
단층 신경망 - 아주 간단한 문제조차 해결 불가 인공신경망 매우매우 개론 – 3. 머신 러닝과 인공신경망, 그리고 딥러닝 1 0 1 초기 상태의 퍼셉트론 랜덤 가중치 랜덤 가중치 입력 신호 전부 더한 게 양수인 것이냐 (근엄) 출력 신호 (더해보니 양수였음) 1 랜덤 가중치 미안… 너희는 멍청해서 쓸모가 없어… 23 / 58
단층 신경망 - 아주 간단한 문제조차 해결 불가 2. 까다로운 다층(심층) 신경망 - 단층 신경망을 여러 층으로 쌓은 것 - 신경망 너머너머로 역전파를 할 수록 학습이 느려지고 이상해짐 3. 느린 컴퓨터 - Symbolic AI는 딱! 하면 딱! 나오는데 - 인공신경망은 딱! 하면 1개월 걸림ㅜㅜ 인공신경망 매우매우 개론 – 3. 머신 러닝과 인공신경망, 그리고 딥러닝 미안… 너희는 까다로워서 쓸모가 없어… 25 / 58
1. 멍청한 단층 신경망은 멍청해서 안 씀 2. 까다로운 다층(심층) 신경망 - 안 까다롭게 학습시킬 수 있는 방법이 발견됨 - ‘딥러닝 기술의 핵심’ 3. 느린 컴퓨터: 좀 많이 빨라짐 - 체스 챔피언 IBM 딥블루: 11 GFLOPS (1997) - 너네 집 컴퓨터 글래픽카드: GTX 1050 -> 1733 GFLOPS (2016) 인공신경망 매우매우 개론 – 3. 머신 러닝과 인공신경망, 그리고 딥러닝 20년 전 슈퍼컴 100대 = 너네 집 그래픽카드 26 / 58
왜 다시 인공신경망인가? 4. 킹갓엠페러 딥러닝의 등장 (심층 신경망의 부활) - 과적합을 어떻게 해결할까? 접근법을 둘러보자 1. 초기화 방법을 개선하기 (제프리 힌튼 형님) - 처음에 신경망을 완전히 랜덤으로 때려버리니까 멍 청한 거 아님? - 조금 미리 학습 방향이라도 추측해보면 안 됨?? - ★딥러닝의 시대의 시작★ (DBN) - … 그리고 나중에 ‘미리 학습 방향이라도 추측해보는 일’ 이 실제로 해당 문제의 정답 방향이라는 것이 증명됨; 어이어이… 우리는 이미 배.우.신.몸. 이라구? 이런 우리들이 모.이.면. 어떻게 될지 우리들도 무섭다구… 큭큭큭… 28 / 58
왜 다시 인공신경망인가? 4. 킹갓엠페러 딥러닝의 등장 (심층 신경망의 부활) - 과적합을 어떻게 해결할까? 접근법을 둘러보자 2. 신경망을 덜 복잡하게 하기 (CNN) - 증명사진 픽셀: 1024*731 = 748544개 인간은 사진의 특성을 어떻게 잡아내는가? 29 / 58
왜 다시 인공신경망인가? 4. 킹갓엠페러 딥러닝의 등장 (심층 신경망의 부활) - 과적합을 어떻게 해결할까? 접근법을 둘러보자 2. 신경망을 덜 복잡하게 하기 (CNN) - 증명사진 픽셀: 1024*731 = 748544개 - 픽셀 한 개 = 인공신경 한 개 - 3층만 쌓아도 계산할 것이 7485442 ∗ 2 = 1120636239872개?? 748544개 748544개 748544개 인공신경 사이를 전부 연결 30 / 58
왜 다시 인공신경망인가? 4. 킹갓엠페러 딥러닝의 등장 (심층 신경망의 부활) - 과적합을 어떻게 해결할까? 접근법을 둘러보자 2. 신경망을 덜 복잡하게 하기 (CNN) - 증명사진 픽셀: 1024*731 = 748544개 - 픽셀 한 개 = 인공신경 한 개 - 인접한 부분만 연결해서, 특징을 잡아내자! - ‘눈‘ 부분의 특징은 조그마한 영역에 집중되어 있음 - CNN: Convolution Neural Network 748544개 4 * 748544개 4 * 748544개 인공신경 사이를 전부 연결 31 / 58
왜 다시 인공신경망인가? 4. 킹갓엠페러 딥러닝의 등장 (심층 신경망의 부활) - 기타 컴공을 갈아 넣어 만들어진 괴상한 해결책들 예시 3. 역전파 할 때 오차를 좀 더 고급지게 반영해보자 - 오차 계산에 모멘트 개념 적용 - 지역해 탈출 \^o^/ ★드루와★ (목표) 33 / 58
Using Deep Convolutional Networks (2014) • SRCNN 을 이용 • 축복스러운 ワイフ2x(Waifu2x) 예제 ^^ http://waifu2x.udp.jp/index.ja.html 인공신경망 매우매우 개론 – 4. 최신 딥러닝 동향 및 우리가 가져야 할 자세 특징 잡기의 대가 CNN 42 / 58
(2016) • RNN 을 이용 인공신경망 매우매우 개론 – 4. 최신 딥러닝 동향 및 우리가 가져야 할 자세 문법 분석 영어 구문 변환 한국어 벡터 변환 영어 벡터 검색 한국어 기존 구글 번역기 (어법 + 사전 + 통계적 기법) 2016년 11월 15일 이후 구글 번역기 (스스로 문장을 이해) 43 / 58
• 기존 GAN 의 개선 • GAN?: 본격 생성기 vs 검사기 대결;; 인공신경망 매우매우 개론 – 4. 최신 딥러닝 동향 및 우리가 가져야 할 자세 지폐 위조범 진짜 화폐 가짜 화폐 경찰 으앙 깜빵 진짜 화폐 가짜 화폐 경찰 ㅎㅎ 지폐 위조범 ㅎㅎ 진짜 화폐 가짜 화폐 으앙 인플레 45 / 58
• 어 이거 그냥 만들어 본 건데 되네? • 우연에 의한 알고리즘 발견 • 어 이거 그냥 써 본 건데 좋네? • 산업계 현장에서 수학적인 증명의 어려움 • 되긴 하는데 왜 되는지 나도 모르겠어 ㅠㅠ • 작동 원리 설명이 매우 어려움 • 알파고가 이세돌한테 패배한 날, 구글 딥마인드 개발자들은 집에 가서 수십억개의 인공신경을 전부 살펴봤을까? 인공신경망 매우매우 개론 – 4. 최신 딥러닝 동향 및 우리가 가져야 할 자세 51 / 58
새로운 시대가 열렸지만, 여전히 전통적인 방법이 어울리는 경우 도 존재 • 처음에는 딥러닝 말고 간단한 알고리즘 으로 하자. 딥러닝은 좀 더 복잡한 구조 를 파악해야만 할 때 적합하다 인공신경망 매우매우 개론 – 4. 최신 딥러닝 동향 및 우리가 가져야 할 자세 올해 3월에 발표된 딥러닝 까는 논문과 뜨거운 외국 형님들의 반응 52 / 58
은 제가 지금 세미나 끝나고 집에 와서 쓰려고 하고 있는데 막상 찾아서 쓰려니까 너무 귀찮아서 도저히 못 쓰겠으니까 양해 좀 부탁드려요 ^^ 참조하면 좋은 사이트: ★★★ 스탠포드 대학교 CS231n: 이미지 인식을 위한 CNN 영어: http://cs231n.github.io/ 한국어: http://aikorea.org/cs231n/ -> 빠르고 넓게 쏟아지는 딥러닝의 바다에서 그나마 단계적이고 체계적으로 공부할 수 있게 도와주는 강의 56 / 58
사이트: ★★ [카카오AI리포트] 2017년 5월 기준 딥러닝 연구의 현재와 미래 https://brunch.co.kr/@kakao-it/65 -> 2017년 5월의 시점에서, 어떤 문제를 어떤 딥러닝 기술으로 풀 수 있는가? 총망라 되어 있음 ★ Sanghyuk Chun의 블로그: Deep Learning – RBM, DBN, CNN http://sanghyukchun.github.io/75/ -> DBN과 CNN의 수식적 표현 및 증명 ★ 딥러닝 관련 인용 Top 100 모음 https://github.com/terryum/awesome-deep-learning-papers 57 / 58