2017년 10월 28일 토요일

#30. ROC 커브 (+ AUC, Precision, Recall)

Accuracy가 성능을 나타내는 전부는 아니란거 다들 알고 계시죠? 지난번엔 암환자 진단의 예를 통해 accuracy의 함정을 알아보고, precision과 recall에 대해서 설명을 했는데요,

이번에는 이와 함께 많이 쓰이는 개념 중 하나인 ROC curve에 대해서 알아보았습니다. 특히 메디컬 페이퍼에선 신뢰성 있는 판단을 위해 ROC를 많이 이용하는데요, ROC란 무엇이고 도대체 왜 쓰는 것일까요? ROC에 대해 한번 알아보시죠.



[비디오]



[슬라이드]


* 테리의 딥러닝 토크 
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/ 

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다. 
[facebook] http://facebook.com/trobotics 
[rss] http://t-robotics.blogspot.kr/feeds/posts/default

2017년 9월 13일 수요일

#29. Tensorflow vs. PyTorch

딥러닝 공부를 시작하시는 분들의 큰 고민 중 하나가 짜장면이냐 짬뽕이냐가 아니라 Tensorflow냐 Pytorch냐일텐데요, 두가지를 가볍게 비교해 보았습니다. 결론은? 뭐든 그냥 손에 착 달라붙고 좀더 끌리는걸 하세요~ 저는 개인적으로 무엇을 선택했을까요...?^^

[Reference] "PyTorch vs Tensorflow" https://medium.com/towards-data-science/pytorch-vs-tensorflow-spotting-the-difference-25c75777377b



[비디오]


[슬라이드]


* 테리의 딥러닝 토크 
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/ 

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다. 
[facebook] http://facebook.com/trobotics 
[rss] http://t-robotics.blogspot.kr/feeds/posts/default

2017년 9월 10일 일요일

#28. Understanding Black-box Predictions via Influence Functions

Tensorflow KR에서 진행하고 있는 논문읽기 모임 PR12에서 발표한 저의 네번째 발표입니다. 이번에는 ICML2017에서 베스트페이퍼상을 받은 "딥러닝의 결과를 어떻게 이해할 수 있는가"에 대한 논문을 리뷰해보았습니다.

딥러닝은 성능은 좋지만 왜 그게 잘되는지 모르는, 그야말로 "블랙박스"와 같은 모델인데요, 이 논문에서는 '만약 A라는 트레이닝 데이터가 없다면 어떤 변화가 일어날까?', 'B라는 테스트 이미지에 가장 결정적인 영향을 주는 트레이닝 데이터는 무엇일까?'와 같은 질문에 대해 influence function이라는 것을 도입해서 해결하려 하였습니다.

"Understanding Black-box Predictions via Influence Functions", Pang Wei Koh and Percy Liang, 2017
[Link] http://proceedings.mlr.press/v70/koh17a.html

[YouTube] https://www.youtube.com/watch?v=xlmlY8WHjkU&index=30&list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq
[Slides] https://www.slideshare.net/secret/1Bqa2zTPde1Uc4



[비디오]


[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

2017년 8월 13일 일요일

#27. Cross entropy와 KL divergence


혹시 "classification을 위해 cross-entropy를 loss function으로 사용합니다" 라든지, "분포의 차이를 줄이기 위해 KL-divergence를 최소화시킵니다"와 같은 이야기를 들어보신 적 있으신가요?

정보의 양을 따질 때, 혹은 확률 분포들의 차이를 따질 때 중요하게 사용되는 개념 중 하나가 바로 Entropy인데요, 오늘은 엔트로피란 무엇인지에 대해 쉬운 예제와 함께 살펴봤습니다.

결론을 말씀드리자면 "엔트로피는 정보를 최적으로 인코딩하기 위해 필요한 bit수이며, 각 label들의 확률 분포의 함수"입니다.



[비디오]


[슬라이드]


* 테리의 딥러닝 토크 
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq [facebook] https://www.facebook.com/deeplearningtalk/ 

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다. 
[facebook] http://facebook.com/trobotics 
[rss] http://t-robotics.blogspot.kr/feeds/posts/default

2017년 8월 5일 토요일

#26. 정보량을 나타내는 엔트로피 (Entropy)


혹시 "classification을 위해 cross-entropy를 loss function으로 사용합니다" 라든지, "분포의 차이를 줄이기 위해 KL-divergence를 최소화시킵니다"와 같은 이야기를 들어보신 적 있으신가요?

정보의 양을 따질 때, 혹은 확률 분포들의 차이를 따질 때 중요하게 사용되는 개념 중 하나가 바로 Entropy인데요, 오늘은 엔트로피란 무엇인지에 대해 쉬운 예제와 함께 살펴봤습니다.

결론을 말씀드리자면 "엔트로피는 정보를 최적으로 인코딩하기 위해 필요한 bit수이며, 각 label들의 확률 분포의 함수"입니다.



[비디오]


[슬라이드]


* 테리의 딥러닝 토크 
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq [facebook] https://www.facebook.com/deeplearningtalk/ 

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다. 
[facebook] http://facebook.com/trobotics 
[rss] http://t-robotics.blogspot.kr/feeds/posts/default

2017년 7월 23일 일요일

#25. Learning with side information through modality hallucination (2016)

Tensorflow KR에서 진행하고 있는 논문읽기 모임 PR12에서 발표한 저의 세번째 발표입니다. 이번에는 "다양한 재료들을 어떻게 학습에 사용할 수 있을까"에 대한 내용을 발표하였습니다.

전형적인 supervised learning setting에선 이미지와 레이블을 주고 그것의 매핑을 학습하는데요, 사실 이미지 말고도 우리가 줄 수 있는 정보가 더 많을 수도 있습니다. 예를 들면 Kinect를 이용한 depth image 처럼 말이죠.

하지만 문제는 depth image를 가지고 트레이닝을 할 경우 테스트 때 (런타임 때)도 depth image가 있어야지 prediction이 가능하다는 단점이 있습니다. 있는 재료를 활용하려다 더 불편함만 얻게되는 결과지요. 근데 그렇다고 트레이닝 때 더 있는 재료를 활용 안하는 것도 최선은 아닌 것 같고요...

이 논문은 이처럼 트레이닝 때 이용한 modality(인풋 소스)가 테스트 때는 모두 이용할 수 없을 때 이것을 할루시네이션처럼 "복사"함으로써 해결하는 방법을 제시했습니다. 수학도 없고 들어보시면 재밌으실 겁니다 ㅎㅎ 그럼 즐겁게 들어주세요~

"Learning with side information through modality hallucination",  J. Hoffman et al., 2017.
[Link] http://www.cv-foundation.org/openaccess/content_cvpr_2016/html/Hoffman_Learning_With_Side_CVPR_2016_paper.html

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.
[facebook] http://facebook.com/trobotics
[rss] http://t-robotics.blogspot.kr/feeds/posts/default


2017년 7월 8일 토요일

#24. Intra- / Inter-Class Variability

여러분들이 만약 classification(분류)을 머신러닝을 통해 하고싶다면, 그냥 데이터만 다 때려넣고 머신러닝을 돌리면 될까요? 아마도 데이터의 질에 따라 될 수도 있고, 안될 수도 있을텐데요, 그렇다면 데이터의 '질'이란 과연 무엇일까요?

Classification에서 나의 데이터 혹은 나의 피쳐의 상태를 가장 잘 표현해주는 단어는 아마도 '클래스 내부의 분산이 어떠냐(intra-class variability)', 그리고 '클래스 간 분신이 어떠냐(inter-class variability)'일 것입니다. 이게 뭐냐고요? 영상을 보시죠 ^^



[비디오]



[슬라이드]


* 테리의 딥러닝 토크 
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq [facebook] https://www.facebook.com/deeplearningtalk/ 

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다. 
[facebook] http://facebook.com/trobotics 
[rss] http://t-robotics.blogspot.kr/feeds/posts/default

2017년 6월 29일 목요일

#23. RNN & LSTM

딥러닝의 양대 축이라고 하면 Convolutional Neural Network (CNN)와 Recurrent Neural Network (RNN)를 꼽을 수 있을텐데요, 많은 분들이 RNN을 쓸 때 주로 이용되는 Long Short-term Memory (LSTM)의 이해에 어려움을 겪으시는 것 같습니다.

그래서 준비했습니다. RNN과 LSTM 이해를 위한 완벽가이드! 금쪽같은 블로그인 Colah의 블로그 내용을 기반으로 RNN과 LSTM의 내부 메커니즘과 수식을 설명해보았습니다. 그럼 즐겁게 들어주세요~

[Link] Colah의 블로그, http://colah.github.io/posts/2015-08-Understanding-LSTMs/



[비디오]


[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

2017년 6월 4일 일요일

#22. On Human Motion Prediction using RNNs (2017)

Tensorflow KR에서 진행하고 있는 논문읽기 모임 PR12에서의 저의 두번째 발표입니다. 이번에는 자연어에 대한 Seq2Seq (sequence-to-sequence) learning의 확장으로서 모션을 예측하는 motion forecasting에 대해 이야기해 보았는데요, 예를 들면 사람의 배트스윙 모션을 보고 그 다음의 모션들을 예측할 수 있는지에 대한 문제입니다. 아직은 1초 내외의 짧은 순간만을 예측하고 있네요. 그럼 즐겁게 들어주세요~!

"On Human Motion Prediction using Recurrent Neural Networks",  J. Martinez, M. J. Black and J. Romero, 2017.



[비디오]


[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

2017년 4월 16일 일요일

#21. Deformable Convolutional Networks

Tensorflow KR에서 진행하고 있는 논문읽기 모임 PR12에서 제가 deformable convolutional network에 대한 리뷰를 발표하였습니다. "고정된 형태의 convolution"을 깬 유연한 convolution으로의 진화에 대해 한번 들어보시죠. 더불어 object detection, semantic segmentation에 대한 다양한 "다음 읽을 논문"도 만나보실 수 있습니다. Spatial Transform Network (2014)를 포함해서요.

"Deformable Convolutional Networks",  J. Dai, H. Qi, Y. Xiong, Y. Li, G. Zhang, H. Hu, and Y. Wei, 2017.
[Link] https://arxiv.org/abs/1703.06211

[Slides] https://www.slideshare.net/TerryTaewoongUm/deformable-convolutional-network-2017


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.


2017년 4월 10일 월요일

#20. 딥러닝 핫 키워드의 변화

딥러닝의 돌파구가 생긴 2012년의 AlexNet 이후, 딥러닝계에도 많은 트렌드의 변화가 있었습니다. 딥러닝 모델의 변화부터, 최적화 방법의 변화, 딥러닝 라이브러리의 변화 등등~

이러한 변화들을 "키워드 언급 추이" 변화를 통해 Andrej Karpathy가 분석을 했는데요, 그 내용을 여러분께 전달해 드립니다.

Andrej Karpathy의 미디엄 글 : https://medium.com/@karpathy/a-peek-at-trends-in-machine-learning-ab8a1085a106



[비디오]


[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

2017년 3월 17일 금요일

#19. 꼭 딥러닝을 써야하나요?

많은 분들이 딥러닝을 배우고 계시고 이것을 현업에 적용하고 싶어 하십니다. 그래서 모두 건너뛰고 딥러닝만 파고 계시는 분들도 많죠.

하지만 딥러닝이 꼭 다른 머신러닝들보다 좋은 성능을 내느냐 하면 그건 아닙니다. 머신러닝엔 "더 좋은" 알고리즘이란건 없고 본인의 문제에 "더 적합한" 머신러닝이 있을 뿐이니까요.

"머신러닝은 프로그래밍이 아니라 디버깅이다."

이 말의 의미를 한번 알아보시죠.



[비디오]



[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

#18. Accuracy, Precision, Recall


머신러닝에서 '어떤 머신러닝 방법을 적용하느냐'보다 더 중요한 것이 어쩌면 '어떤 distance function / metric을 사용했느냐'일텐데요, 오늘은 distance / metric에 대해서 알아봤습니다.

구체적으로는 L1, L2, L-infinite와 같은 Lp norm을 쉬운 예로 설명해봤고요, 머신러닝 문제에 있어 representation 설정에 따라 distance가 달라짐을 보였죠. 그럼 즐겁게 들어주세요~



[비디오]


[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.



2017년 3월 8일 수요일

GAN 그리고 Unsupervised Learning

이 글은 테크M에 기고한 글을 백업한 글입니다. 

머신러닝 분야 세계 최고 학회중 하나인 NIPS에서 중국 바이두의  인공지능연구소장, 앤드류 응은 최근 머신러닝 트렌드를 이렇게 진단했다.
“이미지 인식, 음성 인식 등 이제까지 구글 같은 거대기업에 돈을 벌어 준 딥러닝 기술은 컨볼루셔널 신경망(CNN)이나 재귀신경망(RNN) 같은 지도학습 기술이었습니다. 하지만 올해 나온 많은 논문들이 보여주는 것처럼, 미래의 딥러닝을 이끌 기술은 생성적 적대신경망(GAN)과 같은 비지도 학습이 그 주인공이 될 것입니다.”
이러한 견해를 보이는 것은 응 교수만이 아니다. 많은 딥러닝 연구자들이 꾸준히 제기하고 있는 이야기이기도 하다. 지도학습은 많은 데이터의 지원을 받는 환경에서는  좋은 성능을 내지만, 그것은 미래 인공지능이 다뤄야 할 ‘경험의 진정한 이해’와는 큰 차이가 있다는 것이다. 
“내가 다시 창조할 수 없는 것은 내가 이해한 것이 아니다.”      (물리학자 리처드 파인만) 
많은 인공지능 전문가들이 미래를 이끌 것으로 전망하는 비지도 학습은 생성 모델(generative model)과 긴밀히 연결돼 있다. 기존의 CNN과 RNN은 이미지를 구별하고 음성을 인식하지만 이미지나 음성을 만들지는 못했다.
하지만 미래의 생성 모델을 활용하면 직접 이미지와 음성을 만들어낼 수 있다. 단순히 알아보기만 하던 것에서 한 발 나아가 직접 그림을 그릴 수 있는 것으로의 진보, 그 중심에는 2014년 처음 발표된 GAN이 있다.
GAN의 개발자이자 오픈AI의 수석연구원인 이안 굿 펠로우. 그는 캐나다 몬트리올대학 벤지오 교수의 애제자이기도 하다.
GAN의 개발자이자 오픈AI의 수석연구원인 이안 굿 펠로우. 그는 캐나다 몬트리올대학 벤지오 교수의 애제자이기도 하다.

2017년 3월 6일 월요일

#17. 가깝다, 멀다 - Distance / Metric의 개념


머신러닝에서 '어떤 머신러닝 방법을 적용하느냐'보다 더 중요한 것이 어쩌면 '어떤 distance function / metric을 사용했느냐'일텐데요, 오늘은 distance / metric에 대해서 알아봤습니다.

구체적으로는 L1, L2, L-infinite와 같은 Lp norm을 쉬운 예로 설명해봤고요, 머신러닝 문제에 있어 representation 설정에 따라 distance가 달라짐을 보였죠. 그럼 즐겁게 들어주세요~



[비디오]


[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

[rsshttp://t-robotics.blogspot.kr/feeds/posts/default

2017년 2월 21일 화요일

#16. 딥러닝을 위한 하드웨어 구성하기


원래 모든 것들이 다 '장비빨(?)'이 서야 할 맛이 나는 법이죠. 딥러닝을 공부하려는 분들 중 아마도 '나 컴퓨터부터 다시 사야겠어'라고 생각하시는 분들 많을 것 같은데요, 그래서 오늘은 딥러닝을 위해 컴퓨터를 구성할 때 무엇들을 고려해야하는지 부품 가이드를 만들어봤습니다. 이제 돈만 준비하시면 됩니다 ㅎㅎ

* 테리의 딥러닝 머신 (2016년 11월 블프 때 싸게 구매함)

TV겸 모니터 : Samsung 4K TV KU6270 40인치 (52만)
CPU : Intel i5 6600k 3.90Hz 6M cache (27만)
CPU쿨러 : Cooler Master Hyper 212 Evo (4.5만)
GPU : MSI GeForce GTX1070 8GB (52만)
메인보드 : ASUS Z170-A (16만)
메모리 : G SKILL DDR4 16GB (10만) SSD : Crucial MX300 750GB (14만)
파워 : Corsair CX750 750W (8.5만)
케이스 : Deepcool V2 ATX (7.5만)
스피커 : Logitech Z506 5.1ch 150W (7.5만)
키보드 : Corsair Strafe Mechanical, 체리 청축 (8.5만)
마우스 : Logitech M705 (3.5만)
=========================
총 211만원!



[비디오]


[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

[rsshttp://t-robotics.blogspot.kr/feeds/posts/default

2017년 2월 20일 월요일

#15. SNS로 딥러닝 소식 팔로우 하는 법

머신러닝 관련 최신 뉴스나 논문들을 귀신같이 접하고 페이스북 등에 공유하는 분들을 보면 '저 사람은 저런 소식을 어떻게 알았을까' 궁금증이 드는 경우가 많은데요, 사실 머신러닝 뉴스/논문 팔로우하기 그렇게 어렵지 않습니다. 제가 SNS로 머신러닝 소식 쫓는 법을 알려드리지요 ^^

* 오늘 소개해드린 사이트들
https://scholar.google.co.kr/
https://arxiv.org/
http://www.arxiv-sanity.com/
https://www.reddit.com/r/MachineLearning/
https://twitter.com/TerryUm_ML/
https://www.facebook.com/terryum.io/
https://github.com/terryum/awesome-deep-learning-papers/
https://www.fb.com/groups/TensorFlowKR/
https://www.fb.com/groups/AIKoreaOpen/
https://www.fb.com/deeplearningtalk/




[비디오]



*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

[rsshttp://t-robotics.blogspot.kr/feeds/posts/default

2017년 2월 18일 토요일

#14. 딥러닝 논문리스트로 레딧 1위한 썰, 뒷이야기


이번에는 강의가 아니고요, 제가 얼마전 "2012년~2016년 가장 많이 인용된 딥러닝 논문 탑 100"을 깃허브에 발표해 화제가 되었던 썰을 풀려고 합니다. 이 레포로 연구자들의 주목도 많이받고, 쩌는 연구자들에게 메일/메시지들도 많이 받고 했었죠 ㅎㅎㅎ "테리의 딥러닝 강의"가 아닌 "딥러닝 토크"답게 이런 썰도 종종 풀어보겠습니다 >.<

[GitHub] "The Most Cited Deep Learning Papers" by Terry
[Reddit] https://www.reddit.com/r/MachineLearning/


[비디오]


[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

[rsshttp://t-robotics.blogspot.kr/feeds/posts/default

2017년 2월 10일 금요일

#13. 딥러닝은 피쳐러닝이다.


지난번엔 딥러닝과 머신러닝의 차이에 대해 설명을 드렸는데요, 그 설명이 조금 어려우셨을 수도 있을 것 같아 다시한번 쉽게 설명해 보았습니다. 딥러닝은 머신러닝의 과정에서 '피쳐 생성(선택)' 부분까지도 데이터 학습에 맡긴 것이라고 볼 수 있겠죠. 더 자세한 내용은 영상을 참고해주세요~


[비디오]


[슬라이드]


*  테리의 딥러닝 토크
[youtube] https://www.youtube.com/playlist?list=PL0oFI08O71gKEXITQ7OG2SCCXkrtid7Fq 
[facebook] https://www.facebook.com/deeplearningtalk/

* T-Robotics의 글은 facebook과 rss reader로도 받아보실 수 있습니다.

[rsshttp://t-robotics.blogspot.kr/feeds/posts/default