2018년 5월 21일 월요일

#35. Deep Variational Bayes Filters (2017)

seqeunce나 time-series 데이터엔 RNN이나 LSTM이 참 효과적이죠? 하지만 그것만으로는 불만족스럽다고 하네요. "What's wrong with RNN?"

사실 비슷한 질문을 한적이 있었죠. "Autoencoder가 있는데 Variational Autoencoder는 도대체 왜 있는거죠?" 핵심은 Latent space에 있습니다. 사실 우리는 prediction만을 내뱉는걸 원하지 않고, 확률분포를 알기를 바라며, 더 정확히는 observation을 만들어내는 데이터가 "진짜로" 살고 있는 공간, latent space를 찾길 바라는거죠.

무슨 얘기냐고요? 이 발표를 들으시면 조금은 감이 잡히시지 않을까 싶습니다. VAE를 timeseries에 확장한, 혹은 칼만필터에 딥러닝을 첨가한 "Deep Variational Bayes Filters (2017)"이란 논문입니다.

2018년 4월 13일 금요일

#34. KL divergence, 순서가 중요할까요?

Kullback-Leibler Divergence (쿨벡-라이블러 다이버전스, 혹은 KL divergence) 많이 써보셨죠? 두개의 확률분포가 있을 때 둘 사이의 차이를 측정해주는 용도로 많이 쓰는데요, 아마 'KL Divergence는 거리처럼 쓰이지만 거리는 아니다'라는 얘기도 많이 들어보셨을 겁니다.

이유는 두 분포의 순서 중 어떤 것을 먼저 넣느냐에 따라 나오는 값이 달라지기 때문인데요, 즉 KL(P,Q) != KL(Q,P)라는거죠. 그렇다면... P(X)를 true, Q(X)를 predicted라고 했을 때 어떤 값을 먼저 넣어서 거리를 재야할까요? 순서에 따라 물리적 의미의 차이가 있을까요? 오늘은 KL-divergence에 대해 더 깊이 알아보았습니다.




[비디오]



[슬라이드]


* 테리의 딥러닝 토크 
[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

2018년 3월 25일 일요일

#33. On Calibration of Modern Neural Networks

딥러닝으로 classification을 하면 "클래스 확률"이라 믿어지는 softmax 아웃풋이 나오죠? 하지만 아웃풋 노드값이 0.9가 나왔다고해서, 그것이 90% 확률로 맞을 가능성이 있다는 뜻은 아니랍니다. 그렇다면 0.9가 실제 "90% 정확도"를 표현하게 만들려면 어떻게 해야할까요?

이러한 주제를 calibration이라고 하는데요, 이번에 PR-12 논문읽기 모임에서 발표한 "On Calibration of Modern Neural Networks"이란 논문은 단순히 상수로 나눠주는 것만으로 이 문제를 간단하게 해결하였습니다. 논문의 내용도 흥미롭지만, 문제를 설정하고 풀어나가는 과정도 연구자로서 볼만하네요. 그럼 즐겁게 들어주세요 ^^

2018년 2월 16일 금요일

#32. PCA의 이해

PCA라고 들어보셨나요? 보통 차원축소(dimensionality reduction)나 시각화(visualization), 그리고 특징 추출(feature extraction)을 할 때 많이 쓰는 방법인데요, 사실 PCA는 모든 dimensionality reduction 기법들의 기본이자 선형대수의 종합일 정도로 너무나 중요하고 꼭 숙지해야 할 기법입니다. 아름다울 뿐만 아니라 실용적이기도 하고요.

그래서 오늘은 PCA를 "수식없이" 살펴봤습니다. 내용이 중요하다보니 이야기가 좀 길어졌네요ㅎㅎ 영상을 보고 PCA에 대해 더 알아보실 분들은 저의 옛 블로그를 참고하시거나, 더 좋은 방법은 영어로 된 튜토리얼 문서를 한번 꼭 읽어보세요!

[Link] "PCA의 의미와 한계점" https://www.facebook.com/TRobotics/posts/796663103771140
[Link] "A Tutorial on PCA", Jonathon Shlens, https://arxiv.org/abs/1404.1100





[비디오]


[슬라이드]


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

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


2018년 1월 28일 일요일

#31. Deep Learning: A Critical Appraisal

이번에 리뷰한 논문은 논문이라기보단 칼럼에 가까운 글입니다. 딥러닝과 현재 딥러닝 연구들의 한계점들에 대해 이야기한 "Deep learning: A critical appraisal"이란 논문인데요, "왜 딥러닝을 이용해야하는가?", "딥러닝이 잘하는 것은 무엇이고 못하는 것은 무엇인가?", "인공지능은 얼마나 멀리있는가?" 등에 대해 이야기하려면 꼭 짚어봐야하는 내용들이죠.

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