달력

05

« 2018/05 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
2018.02.07 15:19

유용한 사이트 모음 Tech/머신러닝2018.02.07 15:19

유용한 사이트 모음 


유재준님 : http://jaejunyoo.blogspot.com/2018/02/minimizing-negative-log-likelihood-in-kor.html


음성합성 손석희 : https://carpedm20.github.io/tacotron/


음향인식기 : http://cscp2.sogang.ac.kr/CSE5311/index.php/Tensor_Flow%EB%A5%BC_%EC%9D%B4%EC%9A%A9%ED%95%9C_%EC%9D%8C%ED%96%A5%EC%9D%B8%EC%8B%9D%EA%B8%B0_%EC%A0%9C%EC%9E%91


이홍규님 강좌 : https://medium.com/mathpresso/mathpresso-%EB%A8%B8%EC%8B%A0-%EB%9F%AC%EB%8B%9D-%EC%8A%A4%ED%84%B0%EB%94%94-11-cnn-convolution-neural-nerwork-1-8c3a77991c3a



강화학습 쿠키런 슬라이드 : https://www.slideshare.net/carpedm20/ai-67616630


http://aikorea.org/blog/

https://github.com/openai/gym

Posted by 멋지다마라송
2018.02.06 11:54

MNIST-CNN 강의 Tech/머신러닝2018.02.06 11:54

MNIST-CNN 강의 


https://medium.com/mathpresso/mathpresso-%EB%A8%B8%EC%8B%A0-%EB%9F%AC%EB%8B%9D-%EC%8A%A4%ED%84%B0%EB%94%94-11-cnn-convolution-neural-nerwork-1-8c3a77991c3a


Posted by 멋지다마라송

책 읽어주는 딥러닝 : DEVIEW 2017 by 김태훈



https://www.slideshare.net/carpedm20/deview-2017-80824162

Posted by 멋지다마라송

머신러닝에 자주 사용되는 수학 공식 정리 사이트 



http://parrt.cs.usfca.edu/doc/matrix-calculus/index.html


Posted by 멋지다마라송

Tensorflow-KR 캐글 음성인식 챌린지 후기 모임


2018년 02월 05일 18:00 ~ 22:00

음성인식 캐글 도전 10팀 후기 : 온오프믹스 : https://onoffmix.com/event/126475


모임 마감됨.


캐글 : 텐서플로우를 이용하여 말한 내용(음성인식)을 글자로 바꾸기

https://www.kaggle.com/c/tensorflow-speech-recognition-challenge


참고1 : https://research.googleblog.com/2017/08/launching-speech-commands-dataset.html

참고2 : http://cscp2.sogang.ac.kr/CSE5311/index.php/Tensor_Flow%EB%A5%BC_%EC%9D%B4%EC%9A%A9%ED%95%9C_%EC%9D%8C%ED%96%A5%EC%9D%B8%EC%8B%9D%EA%B8%B0_%EC%A0%9C%EC%9E%91

참고3 : http://solarisailab.com/archives/1925


Posted by 멋지다마라송

케라스 Keras 모델 저장, 재사용 


원본 : https://tykimos.github.io/2017/06/10/Model_Save_Load/ 에 있는 강좌를 정리했습니다.

이렇게 모델을 저장하고, 최초 실행하면

처음 로스 1.15 에서 시작. 최종 정확도는 0.906


모델 구조 확인하기. 뭐 이건 그냥 참고용.


모델을 불러와서 학습하고 평가후 저장.

이걸 실행하면 처음부터 로스 0.32 에서 시작. 최종 0.92


In [3] 이 셀만 계속 실행해보면 정확도가 계속 올라가는걸 볼 수 있다.


재사용 하려면 아래와 같이 모델을 불러와서 사용하면 된다.



모델 저장 소스코드 : 주피터 노트북용

Model.Save.ipynb


모델 재사용 소스코드 : 주피터 노트북용 

Model.ReUse.ipynb


Posted by 멋지다마라송

keras 실행 에러 - MKL_THREADING_LAYER=GNU


케라스 keras 따라하기 하는데 (버전 출력) 아래와 같이 에러가 난다;;


https://tykimos.github.io/2017/08/07/Keras_Install_on_Windows/



import scipy

import numpy

import matplotlib

import pandas 

import sklearn

import pydotplus

import h5py


import theano

import tensorflow

import keras


print ('scipy.'+scipy.__version__)

print ('numpy.'+numpy.__version__)

print ('matplotlib.'+matplotlib.__version__)

print ('sklearn.'+sklearn.__version__)

print ('h5py.'+h5py.__version__)


print ('theano.'+theano.__version__)

print ('tensorflow.'+tensorflow.__version__)

print ('keras.'+keras.__version__)



어쩌구저쩌구...

RuntimeError: To use MKL 2018 with Theano you MUST set "MKL_THREADING_LAYER=GNU" in your environement.


이런 에러가 난다면


(venv) D:\keras\test01>conda install mkl=2017


이렇게 mkl 버전을 명시해줘서 설치해야 한다. (명시 안하면 2018 최신버전이 설치되면서 에러가 난다.)





따라하기 중간에 아래와 같은 에러가 나면 pydot 을 설치해야 한다.

conda install -n venv pydot


     29         # pydot raises a generic Exception here,
     30         # so no specific class can be caught.
---> 31         raise ImportError('Failed to import pydot. You must install pydot'
     32                           ' and graphviz for `pydotprint` to work.')
     33 

ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.



그리고 GraphVIZ 설치, 

http://www.graphviz.org/download/

여기에서 다운받아 설치한다. 설치했는데도 에러가 난다면 환경변수 문제.

D:\ProgramData\Anaconda3\pkgs\graphviz-2.38.0-4\Library\bin\graphviz

여기를 PATH 잡아주고, 


아래 스샷처럼 사용자 변수에 추가.



jupyter notebook 재기동.


Posted by 멋지다마라송

KCD 2018 - 한국 커뮤니티 데이 - 케라스 이야기 


2018년 02월 24일 (토) 오후 1시 

https://tykimos.github.io/2018/02/24/Deep_Learning_Tool_in_Everyones_hands/


신청 : https://kcd2018.festa.io/


프로그램

  • 일시 : 2018년 2월 24일 오후 1시 ~ 오후 1시 40분
  • 장소 : 한국 마이크로소프트 11층
  • 내용 :
  • 목차 :
    • 케라스 이야기 : 케라스는 파이썬으로 구현된 쉽고 간결한 딥러닝 라이브러리입니다. 딥러닝 비전문가라도 각자 분야에서 손쉽게 딥러닝 모델을 개발하고 활용할 수 있도록 케라스는 직관적인 API를 제공하고 있습니다. 내부적으로는 텐서플로우(TensorFlow), 티아노(Theano), CNTK 등의 딥러닝 전용 엔진이 구동되지만 케라스 사용자는 복잡한 내부 엔진을 알 필요는 없습니다. 이러한 케라스에 대해서 간단한 소개를 할 예정입니다.
    • 케라스 코리아 그룹 : 케라스 코리아 그룹은 각 분야의 전문가분들이 딥러닝 기술을 쉽게 접목하거나 딥러닝 기술에 대해 입문하시고 싶은 분들에게 도움을 드리고 소통하는 것에 목표를 두고 있으며 또한 분야별로 어떤 문제에 어떻게 딥러닝을 접목하려는 지 또는 해본 경험을 토론하고자 분야별 모임(#케코x분야)을 가지고 있습니다. 어떤 모임들이 있는 지 살펴볼 예정입니다.
    • 케라스 활용 사례 : 태양에서 세포까지라는 주제로 케라스 기반의 딥러닝 모델을 여러 분야에 실제 접목한 사례에 대해서 소개합니다.
    • 모바일 활용 사례 : 딥러닝 모델을 모바일 앱에 탑재하여 인공지능 기반의 서비스를 구축한 사례를 살펴봅니다.

발표자 프로필

김태영

  • 케라스 코리아 운영진
  • (주)인스페이스 기술이사
  • ‘블록과 함께하는 파이썬 딥러닝 케라스 도서’ 저자

img

전미정

  • 케라스 코리아 운영진
  • Swift Korea Meetup 발표
  • iOS 개발자
  • img



케라스 이야기 : http://tykimos.tistory.com/1



Posted by 멋지다마라송

[정리] 모두를 위한 딥러닝 10 - ReLU & 초기값 정하기   by 김성훈 


강의 웹사이트 : http://hunkim.github.io/ml/

Lec = 강의 / Lab = 실습


시그모이드 결과값은 0<f(x)<1 이기 때문에 이를 체인룰에 따라 계속 곱하다보면 (레이어가 많으면) 

0.01 * 0.03 * 0.2 와 같은 형태가 되기 때문에 결국 한없이 0 에 가까워 진다. 

즉, 입력값 X 가 결과값 f(x), Y 에 미치는 영향이 거의 없게 된다.  

따라서 학습을 깊게 여러번 하면 에러가 커지는 현상이 일어난다. (이건 오버피팅과 다르다)


이를 극복하기 위한 함수가 렐루 ReLU 이다.

렐루는 0 이하는 0 으로, 그 이상값은 자기 자신의 값을 갖는다.


이 두가지 함수를 비교하기 위해 텐서보드 tensorboard 를 이용해보자.

텐서보드로 분석할 수 있도록 로그를 남긴 다음, 텐서보드를 띄워서 웹브라우저로 확인하면 된다.


1번 방법 = 시그모이드로 레이어 10개 사용하기.


2번 방법 = 렐루로 레이어 10개 사용하기.




초기값 잘 설정하기


RBM : Restricted Boatman (Boltzman) Machine

자비어 : xavier

MSRA



Posted by 멋지다마라송

[정리] 모두를 위한 딥러닝 09 - XOR 풀기  by 김성훈 


강의 웹사이트 : http://hunkim.github.io/ml/

Lec = 강의 / Lab = 실습


XOR 게이트는 한개의 리니어 함수로는 풀 수 없고, 여러개를 이용하면 풀 수 있다.


이렇게 3개로 연결해서 만들면 된다.


여기에서는 w1, b1 값이 주어졌는데, 이 값 말고도 다른 값도 찾을 수 있다.

이 슬라이드에서 주어진 5, -8 / -7, 3 / -11, 6 이런 값을 학습을 통해 찾아야 한다.


이를 위해 백 프로파게이션 기법을 이용한다.

출력으로 나온 에러 loss 를 다시 뒤에서부터 계산하는 방법이다. (편미분 사용)


아래 슬라이드에서 보면 빨간색 가장 위에 글자.

편미분 : w 가 f 에 미치는 영향. 이걸 봐보자. 

결국 입력값이 가장 마지막에 있는 f 에 미치는 영향.이 필요한건데, 아래와 같이 구할 수 있다.

w 가 f 에 미치는 영향 = g 가 f 에 미치는 영향 * x 가 f 에 미치는 영향 = 편미분 f/g * 편미분 g/x  = 1 * w


이렇게 편미분을 뒤에서부터 계산하면 아주 쉽게 이 값들을 구할 수 있다.

편미분들의 곱으로 전체를 나타내는 방법 = 백 프로파게이션 = 체인룰

특히 가장 마지막에 있는 함수 f 를 Activation Function 이라고 부른다.

자, 그런데 이 함수가 시그모이드 형태를 띄고 있다면 문제가 좀 있다.

1 또는 0 에 수렴하기 때문에 무조건 1 보다 작다.

그러니 f 결과값, 즉 액티베이션 함수의 결과값을 곱하면 (이런 로직이 생긴다) 0 보다 한없이 작아진다.

이걸 어째.. 다음번에 이걸 풀어보자.


참고로, 이렇게 그려지는 그래프를 텐서보드로 확인하는 방법 (소스 09-4)

D:\marasong\Workspace\DeepLearningZeroToAll-master>tensorboard --logdir=./logs/xor_logs_r0_01

실행한 다음 웹 브라우저로 확인.

Posted by 멋지다마라송


티스토리 툴바