6. 윤상웅
그전엔…
바이오지능 연구실 (장병탁 교수님)
• Bayesian optimization
• Decision making under uncertainty
• Active learning
• Artificial neural networks, especially RNN/LSTM
주식회사 해줌
태양광 발전 x 머신러닝
IT사업실 머신러닝팀
7. 머신러닝 수업에서 하지 않는 이야기
Toy Dataset에서 성능지표 찍어보는 것 너머
실제 문제에 머신러닝이 적용되는 전체 프로세스
55. • 1024x1024 (한반도), 5 channel
• 약 15분에 한번씩 촬영
• 결측(missing)이 빈번함
• 2011년부터 존재
• Pixel값 물리량(알베도, 온도 등) 변환필요
데이터 스펙
56. 천리안 기상위성 - 전처리
파일 읽기 (gzipped binary)
• gzip / bitstring
이미지 축소
• scipy.misc.imresize
• bicubic
• 1024 x 1024 256 x 256
데이터 저장
• HDF5 format : h5py
• (T, 256, 256, 5)
분산처리
• joblib
Python으로 다 할 수 있어요!
57. I. 머신러닝 문제 만들기
천리안 기상위성의 다음 프레임 예측
풀 수 있을 것 같고, 풀었을 때 이득이 있다
천리안 기상위성의 ��거 프레임들을 알고 있을 때
58. I. 머신러닝 문제 만들기
예측 문제를 잘 정의하는 것이 중요하다
꼭 머신러닝을 써야만 하는 문제인가?
풀 수 있으면서, 의미있는 문제 남이 안 푸는 문제
64. Baseline
상상할 수 있는 모델 중 가장 간단하고 못 하는 모델
절대 버그를 낼 수 없 버그를 금방 고칠 수 있는 모델
65. Scikit-Learn
굳이 바퀴를 다시 발명할 필요없다
극도로 깔끔한 API
새 모델 구현할 때도 Scikit-Learn의 BaseEstimator를 상속받아서 만드는 것을 추천
Baseline 만들 땐..
그밖에도 여러 도우미 함수들을 많이 제공
GridSearchCV, Preprocessing, train_test_split
66. 그치만 우리 문제는 일반적이지 않은 유형
Scikit-Learn으로 해결 안 됨
그래도 소개해 드릴게요
모든 pixel을 regression
84. 멋진 ML 알고리즘은
많은 Hyperparameter를 가지고 있다
새로운 데이터셋에 대해 좋은 hyperparameter 설정을 찾으려면
시간과 노력이 많이 든다
예) Learning rate, hidden neuron 수, activation function, regularization, …
85. 알고리즘이 동작하지 않았을 때 의사결정이 어려움
Hyperparameter가 잘못된 건가
이 알고리즘이 이 문제에 맞지 않는 건가
알 수가 없다
93. 특이사항 - TensorFlow
Queue : 사용하지 않음
• placeholder와 feed_dict사용
• 언제나 예상치 못한 ��력을 사용하게 됨
• GPU Utilization 나쁘지 않았음 (~90%)
keras, tf.slim: 사용하지 않음
• 모델 구조를 어떻게 지지고 볶을지 모름
• 하지만 좀 더 일반적인 task(e.g. classification)였다면 추천!
119. 효과
여러 다른 모델이 통일된 API를 가질 수 있음
모델 앙상블 쉬움
협업/분업 가능
예측모형의 버전 관리 – 진보의 측정
120. 로직과 패턴에 대한 고민과 공유가 더 필요
힘을 합쳐요!
머신러닝은 보통 백엔드 중에서도 가장 숨겨져 있음
121. III. 머신러닝 시스템 만들기
태양광
발전소
마이크로서비스 A
마이크로서비스 B
마이크로서비스 C
Django
PostgreSQL
PostGIS
Scikit-Learn
TensorFlow
Jenkins
Sunspot
Django
RestFramework
연구용 환경
Jupyter Notebook
Pandas
Scikit-Learn
R
Sunspot
머신러닝 서버
122. III. 머신러닝 시스템 만들기
학습과 예측의 분리
자체 라이브러리를 통한 코드 싱크
머신러닝 모델을 위한 클래스 구조 고안