빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?Yongho Ha
클라우드라는 말이 들리더니, 어느새 빅데이터가 유행했습니다. 데이터가 중요하다는 것을 겨우 받아들일까 하는 판국에, 이제는 IoT라던가 머신러닝이 중요하다고 합니다. 이 많은 유행들은 그냥 일시적인 걸까요? 아니면 동시에 나타나게된 이유가 있는 걸까요? 이것들 뒤에 큰 흐름이 있지는 않을까요? 있다면 그것은 어디에서 시작되고 있을까요? numberworks.io
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?Yongho Ha
클라우드라는 말이 들리더니, 어느새 빅데이터가 유행했습니다. 데이터가 중요하다는 것을 겨우 받아들일까 하는 판국에, 이제는 IoT라던가 머신러닝이 중요하다고 합니다. 이 많은 유행들은 그냥 일시적인 걸까요? 아니면 동시에 나타나게된 이유가 있는 걸까요? 이것들 뒤에 큰 흐름이 있지는 않을까요? 있다면 그것은 어디에서 시작되고 있을까요? numberworks.io
사내 스터디용으로 공부하며 만든 발표 자료입니다. 부족한 부분이 있을 수도 있으니 알려주시면 정정하도록 하겠습니다.
*슬라이드 6에 나오는 classical CNN architecture(뒤에도 계속 나옴)에서 ReLU - Pool - ReLu에서 뒤에 나오는 ReLU는 잘못된 표현입니다. ReLU - Pool에서 ReLU 계산을 또 하는 건 redundant 하기 때문입니다(Kyung Mo Kweon 피드백 감사합니다)
Note (2017-07-12): a more recent version of this slide has been released. https://www.slideshare.net/ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
[기초개념] Recurrent Neural Network (RNN) 소개Donghyeon Kim
* 시계열 데이터의 시간적 속성을 이용하는 RNN과 그 한계점을 극복하기 위한 LSTM, GRU 기법에 대해 기본적인 개념을 소개합니다.
* 광주과학기술원 인공지능 스터디 A-GIST 모임에서 발표했습니다.
* 발표 영상 (유튜브, 한국어): https://youtu.be/Dt2SCbKbKvs
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) Yongho Ha
http://ga.yonghosee.com 에서 진행하는 구글 어날리틱스(google analytics) 에 대한 강의 슬라이드 입니다. 이 슬라이드는 샘플이지만, 초반부는 실재 강의 교재 그대로 입니다. 이것 자체로도 여러분이 GA를 이해하는데 좀 도움이 된다면 기쁘겠습니다^^ 감사합니다.
알파고의 작동 원리를 설명한 슬라이드입니다.
English version: http://www.slideshare.net/ShaneSeungwhanMoon/how-alphago-works
- 비전공자 분들을 위한 티저: 바둑 인공지능은 과연 어떻게 만들까요? 딥러닝 딥러닝 하는데 그게 뭘까요? 바둑 인공지능은 또 어디에 쓰일 수 있을까요?
- 전공자 분들을 위한 티저: 알파고의 main components는 재밌게도 CNN (Convolutional Neural Network), 그리고 30년 전부터 유행하던 Reinforcement learning framework와 MCTS (Monte Carlo Tree Search) 정도입니다. 새로울 게 없는 재료들이지만 적절히 활용하는 방법이 신선하네요.
사내 스터디용으로 공부하며 만든 발표 자료입니다. 부족한 부분이 있을 수도 있으니 알려주시면 정정하도록 하겠습니다.
*슬라이드 6에 나오는 classical CNN architecture(뒤에도 계속 나옴)에서 ReLU - Pool - ReLu에서 뒤에 나오는 ReLU는 잘못된 표현입니다. ReLU - Pool에서 ReLU 계산을 또 하는 건 redundant 하기 때문입니다(Kyung Mo Kweon 피드백 감사합니다)
Note (2017-07-12): a more recent version of this slide has been released. https://www.slideshare.net/ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
[기초개념] Recurrent Neural Network (RNN) 소개Donghyeon Kim
* 시계열 데이터의 시간적 속성을 이용하는 RNN과 그 한계점을 극복하기 위한 LSTM, GRU 기법에 대해 기본적인 개념을 소개합니다.
* 광주과학기술원 인공지능 스터디 A-GIST 모임에서 발표했습니다.
* 발표 영상 (유튜브, 한국어): https://youtu.be/Dt2SCbKbKvs
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) Yongho Ha
http://ga.yonghosee.com 에서 진행하는 구글 어날리틱스(google analytics) 에 대한 강의 슬라이드 입니다. 이 슬라이드는 샘플이지만, 초반부는 실재 강의 교재 그대로 입니다. 이것 자체로도 여러분이 GA를 이해하는데 좀 도움이 된다면 기쁘겠습니다^^ 감사합니다.
알파고의 작동 원리를 설명한 슬라이드입니다.
English version: http://www.slideshare.net/ShaneSeungwhanMoon/how-alphago-works
- 비전공자 분들을 위한 티저: 바둑 인공지능은 과연 어떻게 만들까요? 딥러닝 딥러닝 하는데 그게 뭘까요? 바둑 인공지능은 또 어디에 쓰일 수 있을까요?
- 전공자 분들을 위한 티저: 알파고의 main components는 재밌게도 CNN (Convolutional Neural Network), 그리고 30년 전부터 유행하던 Reinforcement learning framework와 MCTS (Monte Carlo Tree Search) 정도입니다. 새로울 게 없는 재료들이지만 적절히 활용하는 방법이 신선하네요.
This is the slide that Terry. T. Um gave a presentation at Kookmin University in 22 June, 2014. Feel free to share it and please let me know if there is some misconception or something.
(http://t-robotics.blogspot.com)
(http://terryum.io)
A brief summary of Lie group formulation for robot mechanics. For more details, please refer to the book, "A first course in robot mechanics" written by Frank C. Park from the follow link.
http://robotics.snu.ac.kr/fcp/files/_pdf_files_publications/a_first_coruse_in_robot_mechanics.pdf
(http://terryum.io)
Learning with side information through modality hallucination (2016)Terry Taewoong Um
Learning with side information through modality hallucination, J. Hoffman et al., CVPR2016
http://www.cv-foundation.org/openaccess/content_cvpr_2016/html/Hoffman_Learning_With_Side_CVPR_2016_paper.html
"On human motion prediction using recurrent neural networks", Julieta Martinez, Michael J. Black, Javier Romero. CVPR2017
https://arxiv.org/abs/1705.02445
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
발표 영상 : https://goo.gl/jrKrvf
데모 영상 : https://youtu.be/exXD6wJLJ6s
Deep Q-Network, Double Q-learning, Dueling Network 등의 기술을 소개하며, hyperparameter, debugging, ensemble 등의 엔지니어링으로 성능을 끌어 올린 과정을 공유합니다.
AI&BigData Lab 2016. Артем Чернодуб: Обучение глубоких, очень глубоких и реку...GeeksLab Odessa
4.6.16 AI&BigData Lab
Upcoming events: goo.gl/I2gJ4H
В докладе представлен обзор новых подходов к обучению глубоких и рекуррентных нейросетей. Обсуждаются ортогональная инициализация весов для сверточных и рекуррентных нейросетей и ее влияние на проблему исчезновения градиентов (vanishing gradient effect), нормализацию мини-пакетов (batch normalization), разностное обучение (residual learning).
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)Sangsu Song
[메일 주소 변경되었습니다.]
송상수 sssong@swedunet.org / https://www.facebook.com/gi.sik.in / swedunet.org
교육부에서 연구학교 교원 전체를 대상으로한
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing) 강의내용입니다.
언플러그드 컴퓨팅의 개론과 활동 사례가 제시되어 있습니다.
Searching for magic formula by deep learningJames Ahn
지난 삼성오픈소스 컨퍼런스에서 발표한 것으로
핀테크에 Deep Learning을 적용해 과연 기계에 의한 투자가 가능한지를 시험해 본 발표자료입니다.
첫시도에는 데이터를 무시하고 알고리즘에 전적으로 의존해 완벽한 실패로 끝났지만,
두번째 시도에서는 데이터를 이해하고, 이에 맞는 알고리즘의 적용으로 처참했던 첫번째 시도보다 훨씬 더 좋은 결과를 보여주었습니다.
역시 데이터를 가지고 무엇을 한다는 것은 데이터에 대한 이해가 처음이자 마지막이라는 것을 확실히 느끼게 되었습니다.
** 해당 자료는 외부 공유 인가 되었습니다.
1. 딥러닝의 동작 방식에 대한 기초 가이드
2. 네트워크를 통한 공간 변환 개괄
"다음을 꼭 기억하세요. 지금까지 딥러닝의 실제 성공은 연속된 기하학적 변환을 사용하여 공간 X 에서 공간 Y 로 매핑하는 능력에 기인합니다."
프랑소와 숄레, 케라스 창시자에게 배우는 딥러닝 가운데.
2023 체인지온@미디토리
<인공지능(AI)과 활동하는 삶>
[세션1] 위기는 인공지능에서 오지 않는다
-강연1. 생성 인공지능의 시대, 확장된 인문학의 대응 | 김재인
[세션2] 보이지 않는 노동, 가려지는 데이터들
-강연2. AI가 말하지 않는 것들 | 조경숙
-강연3. 나의 고독사 예방 대책에 AI가 없는 이유 | 권종호
[세션3] 인공지능의 미로에서 나침반 찾기
-강연4. 재난, 데이터셋 그리고 기계의 우화 | 최빛나
-강연5. 시민활동가가 인공지능 기술을 만났을 때 | 김재섭
3. 실제로는 …
입력값으로 부터 결과 값을 내는
함수를 만들어 내는 것
하드코딩 인공지능(?)
곱셈 인공지능(?)
4. 이런 함수는 어떻게 만들 수 있을까?
input =
비트맵 이미지를 입력 받아 무엇인지 출력하는 함수
5. 예를 들면 이렇게 해볼 수 있다
윤곽선 검출
Edge Detection 윤곽선 템플릿들
teapot
apple
bottle
윤곽선 템플릿을 겹쳐보았을 때 얼마나 잘
겹치는지를 비교하여 제일 잘 겹친 것을 선택!
30년 전이었으면 이 것으로 논문도 낼 수 있었음
6. 대학에서도 아직 가르치는 내용
컴퓨터 비전 교재입니다 앞 페이지에서 말한 내용을 포함한
각종 기하학적 전-후처리 동원
7. 성능 올리기가 쉽지 않다
반대로 돌아간 teapot은?
무늬가 있는 teapot은?
특이하게 생긴 teapot은?
배경과 섞여 있는 특이한 teapot은?
사람은?
고양이는?
https://www.wikiwand.com/en/Outline_of_object_recognition
선배들이 매우 다양한 방법을 사용해봤지만, 은탄환은 없었다
8. 다른 분야도 제각기 다양한 알고리즘 시도
자연어 처리
- 형태소 분석
- 구문 트리
- 기계 번역
- 키워드 추출
음성 인식
- 음성 검출, 퓨리에 변환
- 각종 음향학적 필터
- 음소 추출
- 은닉 마르코프 모델 (HMM)
9. 사람처럼 할 수 없을까?
• 제각각 다른 로직을 작성하는 것이 아니라,
• 배우면서 점점 잘하게 되는 만능 알고리즘?
– 엔지니어가 일일이 튜닝하지 않아도
– 수 많은 데이터들을 통해
– 내부 동작을 스스로 구성해가며
– 기존에 고안했던 방법론 이상의 성능을 내었으면…
10. 기계 학습 : 데이터로부터 임의의 함수를 도출해보자!
• 교사 학습 (supervised learning)
– 입력에 대한 정답값이 있음. 대조하며 학습
– backpropagation
• 비교사 학습 (unsupervised learning)
– 정답 없이 입력값들만 주어짐
– clustering, autoencoder
• 강화 학습 (reinforcement learning)
– 입력값(액션)에 대한 평가만 주어짐
– Q-learning
clustering
Q-learning
11. 다양한 기계 학습 방법론 등장
• 신경망: 인간의 뇌신경 흉내를 내보면 어떨까
• 유전자 알고리즘: 정보를 유전자로 인코딩하고 교배와 선택을 반복하면 진화하지 않을까
• 의사 결정 트리: 세상은 if-then의 반복이여
등등…
이 방법론이 수많은 역경을 딛고 현재 가장 고도화 됨
12. 신경망 모델 (1957년에 나왔음)
x0
x1 y0
x2
w0
w1
w2
y0 = act( x0*w0 + x1*w1 + x2*w2 )
활성 함수. 결과값 정규화를 위해 사용
(ex : 0보다 크면 1로 간주하고 0보다 같거나 작으면 0)
입력 노드
가중치(weight)들
출력 노드
x0는 상수 문턱값으로, -1 고정
w0~2는 -0.5 ~ 0.5로 랜덤 초기화
입력값에 대해 적절한 출력값을 내도록
w값들을 조정해보자 = 신경망 학습
x와 w 벡터 내적입니다. 참 쉽죠?
최근의 심층 신경망도 대부분의 연산은 벡터 내적입니다.
13. 신경망 모델
x0
x1 y0
x2
w0
w1
w2
OR AND
x1 x2 target x1 x2 target
0 0 0 0 0 0
0 1 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1
입력값을 넣었을 때 출력값이 타겟값과 다르면
출력이 타겟값에 가까워질 수 있도록 가중치를 조정한다
△wi = η(target – result)xi
학습률 (0 ~ 1)
기초적인 이진 논리를 배운다고 해봅시다
14. 이것이 단층 퍼셉트론
x0
x1 y0
x2
w0
w1
w2
수학적으로는 n 차원 선형 분리 함수(hyperplane)의 계수를 찾아내는 과정임
https://en.wikipedia.org/wiki/Perceptron
15. 그러나 문제 발생
어리석은 중생들아
신경망으론 XOR 학습이 안됨요 : 수학적으로 증명하심
문제 많으니 연구 그만하라
Perceptrons (1969)
심볼릭 AI의 거두였던 고 Minsky옹은
사술에 현혹되는 제자들을
두고 볼 수가 없어 논문을 썼다
https://en.wikipedia.org/wiki/Perceptrons_(book)
신경망은 그 뒤로 10년간 암흑기
AND, OR와 달리,
XOR는 선 하나로 분류할 수 없다
16. 다층 신경망 (MLP : Multi-Layer Perceptron) 1980~
• 다층 신경망을 학습시키는 새 알고리즘( Backpropagation )
으로 XOR 문제 돌파
– 하지만 노이즈에 취약
– 층을 여럿 쌓으면 학습이 잘 안됨
– 전처리가 필요 (edge detection… ㅜ.ㅜ)
– 어느 이상 성능이 안올라가네?
• 역시 안돼…
https://en.wikipedia.org/wiki/Vanishing_gradient_problem
잠깐 다시 유행했지만, 고도화된 다른 방법들을 능가하지 못했습니다
https://en.wikipedia.org/wiki/Backpropagation
17. 심층 신경망 (DNN : Deep Neural Network) 2010~
• 여러 층을 효율적으로 학습 시킬 수 있는 방법들이 등장!
• 빡세게 학습 돌릴 수 있는 방대한 트레이닝 데이터와
• 초 빠른 성능의 컴퓨터 (GPU)
전처리도 필요가 없다!
그러나 기존 다층 신경망의 한계를 2010년께 심층 신경망으로 돌파!
신경망 층이 깊어서 deep 입니다
18. 심층 신경망
심층 학습 방법의 예 : Autoencoder
중간층의 노드 수를 줄이면서도
입력값과 출력값이 같아질 수 있도록
가중치 값을 학습
비교사 학습 가능
이것을 반복해서 신경망 층을 쌓아갈 수 있다
입력(비트맵 이미지)과 출력(‘cat’) 사이의 큰 간극을
교사학습을 하지 않고도 채워나갈 수 있네?
19. 심층 신경망
• 입력에 가까운 노드는 저수준 개념을,
출력에 가까운 노드는 고수준 개념을 추상화함
21. 인간이 0.1초 (뉴런이 10번 동작하는 시간)
이내에 할 수 있는 것이면
(그게 무엇이든)
컴퓨터도 10단계 정도의
인공신경망으로 해낼 수 있다!
22. 이미지 인식 이외의 분야로 확장
음성 인식도 급격하게 에러율 내려감
http://deview.kr/2014/session?seq=26
AlphaGo (2016)
강화 학습으로 방대한 탐색 공간에 대한
고수준 전략을 수행할 수 있게됨
23. 단어 같이 입력 공간이 퍼져 있는 데이터?
고래
망치
서울
유황
오리
단어 종류 만큼의 차원이 필요?! 수십만 차원에 퍼져있는 데이터?
‘개념 차원’으로 프로젝션하여 처리
주변에 출현한 단어들을 고려한 클러스터링
word2vec (자세한 설명은 생략)
Sparse input space
24. Sequence to sequence
RNN / LSTM 신경망 모델 사용 (자세한 설명은 생략)
Recurrent NN
Long Short-Term Memory
번역 (text to text)
현재 구글 번역기
7월에 로이터가 언급했듯, 좌석 구성이 바로
최신 장치들 사이에서의 다툼의 연료가 되고 있다
딥뉴럴넷 번역
7월에 로이터가 언급했듯, 좌석의 구성이 바로
최신 비행기들 사이에서의 다툼을 벌이고 있는 분야이다
인간 번역
7월에 로이터가 언급했듯, 좌석 배치가 바로
최신 제트기들이 다툼을 벌이고 있는 분야이다
25. 심층 신경망들의 조합
이미지를 인식하는 DNN(Deep Neural Network) + 설명문 작성 DNN (image to text)
28. 아직 괜찮다! : 돌파구가 몇 번 더 필요
• 적은 데이터로도 학습할 수 있어야 함
알파고 초기 학습에 3천만개의 교사학습 데이터가 필요했고, 이후 매일 수십만번의 강화 학습 반복
그러나, 실세계에서 동작하는 로봇은 가동 시간과 공간의 물리적인 제약이 있고
시행착오 도중 고장날 수도 있다… $$$
29. 아직 괜찮다! : 돌파구가 몇 번 더 필요
• 부가 학습에 제약이 있다
성능은 꾸준히 올릴 수 있으나, 도중에 학습 방침을 변경하는 것은 곤란
인간은 기존 지식을 응용하여 적응하는 추가 학습을 빠르게 할 수 있으나
현재의 신경망은 처음부터 다시 학습해야 함
30. 아직 괜찮다! : 돌파구가 몇 번 더 필요
• 기본적으로는 복잡한 함수의 근사
인간의 사고는 다양한 신경망 컴포넌트의 공동 작업.
어떻게 각 컴포넌트의 결과를 취합하여 보다 고도의
지능 활동으로 연결할 수 있을까?
(아직 이런 것들은 인간이 휴리스틱하게 구성하고 있다)
‘관심’이란 무엇인가?
‘의식’이란 무엇인가?
‘의지’란 무엇인가?
최근엔 인지심리와 뇌과학의 성과를
신경망으로 모델화 하기 위해 노력중…
31. 일반인이 보는 인공지능으로 돌아가서…
날라리 10대 소녀 Tay
https://www.tay.ai/
셋 다 MS 것. 이 녀석들 의외로 덕후였습니다.
코타나 동생 微軟小冰
http://www.msxiaoice.com/
여고생 린나
http://rinna.jp/rinna/
자연어 처리가 가능한 인공 성격들
32. FAIL !
일반인들과의 대화를 통해 학습하도록 했더니
하루도 안되어 흑화함
범용적인 AI는 아직 걸음마 단계이며
보완해야 할 과제가 많이 남아 있다
하지만 우리 세대에
결국 초지능이 나올 확률이
매우 높으므로, 미리 대비해야함
https://www.ted.com/talks/nick_bostrom_what_happens_when_our_computers_get_smarter_than_we_are
33. 프로그래머는 안전할까?
• 프로그래밍도 Sequence (요구사항) to Sequence (코드) 작업
다만, 불완전한 요구사항으로부터 무결한 코드를 만들려면 다양한 사전 지식을 활용해야 함
일종의 번역
하스스톤 카드 설명을 보고 기능을 코딩하는 AI
: 정형화된 도메인에서는 이미 코드 자동 생성이 가능
Latent Predictor Networks for Code Generation
http://arxiv.org/pdf/1603.06744.pdf
34. AI에 지지 않기 위해 공부합시다
• Python + Theano(혹은 TensorFlow)가
요즘 딥러닝계의 Matlab
• 쉽게 딥러닝 테스트 해볼수 있는 유틸리티 라이브러리도
나와 있고 튜토리얼도 많이 있습니다
http://keras.io/
http://deeplearning.net/reading-list/tutorials/
37. 게임에 적용해볼 수 있을까요?
어떤 함수를, 어떤 방식으로 학습시킬 것인가? 를 고려해야 함
• 딥러닝 NPC AI ?
– 뭘 어째얄지… FSM이나 BT 같은 기존 방식을 통으로 대체하는 것은 허들이 높습니다.
– 챗봇? 타겟 셀렉션(어그로)을 신경망으로? 등 도메인을 좁혀서 접근합시다.
• 이상 행동 탐지 : 봇 탐지, 어뷰징 탐지
– 최근 N분간의 플레이이어 액션을 입력으로 하여, 이상 행동인지 판정
– 비교사학습으로 접근하는 것이 좋다
교사학습 하려면 이상 행동을 많은 예제를 통해 모델링 가능해야 함
• 동적인 레벨 디자인
– 플레이어의 만족 함수를 근사, 스테이지에서의 만족감을 극대화 할 수 있도록
난이도나 보상을 조정