민서네집

[2016-10-05](수) Korea Supercomputing Conference 본문

세미나

[2016-10-05](수) Korea Supercomputing Conference

브라이언7 2016. 9. 7. 10:16


10월 5일(수)에 Korea Supercomputing Conference(KSC) 2016에 다녀왔습니다.


http://www.ksc2016.re.kr/sub3_2.html


Facebook에서 이 행사를 알게 되서 무료로 등록해서 다녀왔는데, 못 오신 분들을 위해서 간략하게 공유드리겠습니다.


저는 처음으로 참석한 Conference 였고, 다른 세션들은 슈퍼 컴퓨팅을 이용한 심오한 주제를 다루는 것 같은데, 저는 Deep Learning 세션만 다녀왔고, 유명한 분들이 발표는 해주셨는데, 내용은 딥러닝 입문자들을 위한 내용이라 잘 아시는 분들에게는 별 도움이 안 되었을 수도... (물론 저에게는 도움이 되었습니다.^^)


오전에는 곽동현 님 발표.


발표자료가 나중에 따로 공개될지는 모르겠지만, github에 공개된 jupyter notebook 내용에 발표 내용이 다 나옵니다.


https://github.com/bi-lab/deeplearning_tutorial/blob/master/Deep_RL_tensorflow/TensorFlow_Tutorial.ipynb



* sess = tf.Session(config=tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth =True)))

☞ session이 필요한 최소한의 자원만 할당해서 사용할 것을 강제하는 옵션

☞ 여러 명이 서버에 붙어서 프로그램을 실행하는 경우 반드시 이 옵션을 사용해야지 GPU 자원을 공유해서 사용할 수 있습니다.


* TensorBoard 설정하기

☞ 실시간 업데이트가 되지는 않고, 2분마다 업데이트가 된다고 합니다.


* Early Stopping 및 Index Shuffling

* Save & Load Parameters - 학습된 모델을 저장하고 불러오는 기능

* Load Pre-defined Computation Graph and Trained Parameters - Computation Graph를 불러오는 기능.


* TF learn 소개


Part 2. Deep Reinforcement Learning (강화학습 소개)



* 게임의 룰을 쉽게 바꿔가면서 강화학습시킬 수 있는 재밌는 예제를 소개해 주셨습니다.

☞ 녹색점을 먹으면 보상을 받고, 빨간점을 먹으면 페널티를 받는 재밌는 게임이네요. 

☞ 패널티의 점수를 바꿔보면 학습되는 양상이 바뀌는 것을 알 수 있습니다. 

☞ 패널티가 적으면 빨간점을 좀 먹더라도 녹색점을 많이 먹는 방향으로 움직이는데, 패널티가 크면 빨간점 근처에는 가지도 않으려 한다는 것이죠.



TensorFlow + Theano + Torch + Scikit-learn + Keras + Caffe 등 웬만한 머신러닝 라이브러리들을 셋팅해서 docker를 만들었으니 필요하신 분은 다운로드...

https://hub.docker.com/r/imcomking/bi_deeplearning/



Github의 "TensorFlow Models"을 참조하시면 좋은 예제가 많다고 하는군요.

https://github.com/tensorflow/models

프로젝트를 시작할 때 인터넷에 공개된 오픈소스 프로젝트를 clone해서 수정해서 사용하면 개발기간을 단축할 수 있다는 말에 공감이 갔습니다.


오후에는 최성준 님 CNN 발표

https://github.com/sjchoi86/face_recognition




* MNIST의 Gray 이미지가 아니라 Color 이미지를 resize 해서 간단히 학습시키는 예제입니다. 

* 학습 자체는 매우 단순했고, 학습 데이터 량도 작고, 작은 이미지로 resize 시켜서 모든 학습 데이터를 numpy data 형식(npz)으로 하나의 파일로 저장한 다음에 불러들입니다.


jupyter notebook으로 실습도 해보려고 했는데, 서버에 100명 이상이 붙어서 그런지 kernel이 죽어서 제대로 실습은 못했습니다.


Convolutional Neural Network를 이용한 요즘 Trend도 설명해 주셨는데, One by one convolution처럼 적은 수의 파라미터를 가지고 deep한 network를 만드는 추세라고 합니다.


전태균 님 RNN 발표

https://github.com/tgjeon/TensorFlow-Tutorials-for-Time-Series




RNN에 대한 대략적인 설명을 해 주셨고, MNIST를 RNN으로 돌려본 것과 RNN으로 전력가격을 예측했던 것을 설명해 주셨습니다.



MNIST를 CNN과 RNN으로 했을때 어떤게 더 좋냐고 제가 질문했었는데, RNN으로 하면 학습 속도도 느리고, 정확도도 94~95% 정도 밖에 나오지 않는다고 합니다.

2D 이미지인 것을 억지로 1D로 바꿔서 RNN으로 학습시키는 것이라서, 이미지는 CNN으로 학습시키는 것이 좋다는 답변을 들었습니다.


노영균 교수님의 기계학습 최근 동향도 들었고, 인터넷에 공개된 Deep Learning book이 좋다고, 책 출판되기 전에 보라고 하시더군요.

http://www.deeplearningbook.org





Comments