일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Artificial Intelligence
- 통계
- 김양재 목사
- c++
- 확률
- 딥러닝
- 빅데이터
- 빅데이타
- 김양재 목사님
- probability
- 몽고디비
- R
- Deep learning
- 인공지능
- node.js
- 빅 데이터
- data science
- 우리들교회
- WebGL
- 김양재
- 주일설교
- Statistics
- No SQL
- 데이터 과학
- nodeJS
- Big Data
- openCV
- 빅 데이타
- Machine Learning
- MongoDB
- Today
- Total
목록딥러닝 (34)
Scientific Computing & Data Science
Written by Geol Choi | Aug. 4, 2017 부제목: 인공신경망 처절하게 제대로 이해하기 지난 포스팅에서 R에서 딥러닝을 바닥부터(from scratch) 구현하는 방법에 대해 개괄적으로 살펴본 적이 있는데, 이번 포스팅에서는 코드를 자세하게 분석하면서 수학적으로 과정을 풀어보고자 합니다.1. 데이터 준비딥러닝 코드를 작성하기 위해 테스트 용도의 데이터로 iris 데이터셋을 사용할 것입니다. iris는 일종의 꽃을 꽃받침 및 꽃잎의 폭과 길이 등으로 분류한 데이터입이며, R의 기본 패키지에 포함이 되어 있습니다. 대략적인 데이터의 형태는 다음과 같습니다: > head(iris) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 ..
Written by Geol Choi | Jul. 31, 2017 [목차]1. 필요한 패키지 로딩2. MNIST 데이터세트 임포트3. 학습 파라미터 정의4. 네트워크 파라미터 정의5. placeholder 변수 설정6. 네트워크 변수 정의 및 초기화7. 네트워크 모델 구성8. 손실함수와 옵티마이저 정의9. 변수 및 세션 초기화10. 학습11. 학습된 모델 평가12. 정확도 계산13. 결과 그래프 출력14. 전체 코드15. 맺음말 이번 포스팅에서는 MNIST 손글씨 숫자(Hand-written Digits) 데이터세트를 활용하여 TensorFlow에서 Multilayer Perceptron(MLP) 또는 Feedforward Neural Networks를 구현하는 방법에 대해 알아보도록 하겠습니다. MLP..
Written by Geol Choi | Jul. 15, 2017 이번 포스팅에서는 회선신경망(Convolutional Neural Network; CNN)을 이용하여 손글씨 숫자를 학습시키는 코드를 Pytnon과 R 각각에 대하여 TensorFlow에서 어떻게 구현할 수 있는지 알아보도록 한다. [목차] 1. Python-TensorFlow 2. R-TensorFlow 2.1. 라이브러리 패키지 불러오기 2.2. 입력 데이터 준비 2.3. 파라미터 정의 2.4. weights & biases 변수 정의 2.5. placeholder 변수 정의 2.6. conv2d 함수 정의 2.7. maxpool2d 함수 정의 2.8. conv_net 함수 정의 2.9. 모델 세우기 2.10. 손실함수 및 Optimi..
by Geol Choi | Jul. 2, 2017 이번 포스팅에서는 회선신경망(Convolutional Neural Network; CNN)의 ConvNet 구조의 Conv 레이어 사이에서 이미지의 사이즈를 줄임으로써 파라미터 개수와 계산 시간을 줄이기 위한 방법으로 사용되는 풀링(Pooling)에 대해 알아보도록 한다. [이미지 출처: CS231n Convolutional Neural Networks for Visual Recognition] Theory특히 많은 양의 픽셀을 갖는 복잡한 딥러닝 문제에 있어 CNN의 계산속도를 향상시키기 위해 CNN 구조에 Pooling Layer를 포함시킨다. 풀링은 회선 레이어(Convolutional Layer)에서 이미지의 크기와 해상도를 점차 줄여나가면서 계산..
by Geol Choi | Jun. 26, 2017 이번 포스팅에서는 R에서 MXNet 딥러닝 프레임워크를 활용하여 간단한 Classification 문제를 풀어보도록 한다.만약 R에서 MXNet 개발환경을 처음으로 구축하고자 한다면 여기를 참고하도록 한다. MXNet 개발환경 설정이 모두 완료되면, MXNet 라이브러리를 로딩한다: 1234############################################################ load libraries###########################################################base::require(mxnet)Colored by Color Scriptercs 이제 데이터를 준비해야 하는데, R에 빌트인..
by Geol Choi | Jun. 22, 2017MXNet은 Caffe, CNTK, TensorFlow, Theano, Torch, H2O 등과 같은 딥러닝 프레임워크 중 하나이다.눈 여결 볼 것 중 하나는, AWS(Amazon Web Services)이 MXNet을 지원하게 되었는데 그 이유가 이 들 딥러닝 프레임워크 중 가장 확장 가능한(Scalable) 프레임워크라는 이유에서이다. 확장 가능하다는 것은, 계산 속도나 메모리 용량을 늘리기 위해 다중의 CPU 또는 GPU 활용하거나 컴퓨팅 머신을 자유자재로 늘릴 수 있다는 뜻이다. 또한 MXNet은 다양한 플랫폼을 지원하는데, 지원하는 플랫폼 종류에 대해서는 아래에 정리하여 살펴보도록 하겠다.딥러닝 프레임워크를 선택하는 기준?위에 언급한 딥러닝 프레..
by Geol Choi | Jun. 22, 2017이번 포스팅에서는 Windows OS 환경에서 R과 Python에 MXNet을 설치하는 방법에 대하여 알아보도록 한다.본 개발 환경은 필자가 구동하는 환경인 Windows 7 64 bit에서 구축한 것이지만, 동일한 방법은 Windows 8이나 10에서도 가능하리라 생각된다.R현재 MXNet은 CRAN 패키지를 제공하지 않는다. 하지만, MXNet 깃허브 페이지에 단 3줄의 코드로 설치 방법이 설명되어 있으며, 다른 언어들에 비해 R에서의 설치는 매우 쉬운 편이다.123install.packages("drat", repos="https://cran.rstudio.com")drat:::addRepo("dmlc")install.packages("mxnet")..
by Geol Choi | Jun. 3, 2017 이번 포스팅에서는 지난 포스팅에 이어 역전파(Backpropagation)에 대해 간단한 예제를 통해 좀 더 쉽게, 그리고 딥러닝 예제를 통해 실질적으로 어떻게 작동하는지 자세히 알아보도록 하겠다.Simple Example아래 이미지와 같은 실수값 회로(Circuit)이 있다고 가정해 보자. 입력(Input)은 x, y, z 인데 주어진 값은 각각 3, -1, 8이다. 함수 p, q, f는 각각 다음과 같다: \(p=x+y\), \(q=p+z\), \(f=\mathrm{exp}(q)\) 따라서, 이 회로에 의한 Forward-pass 과정은 다음과 같으며,(1) \(p \leftarrow x+y\)(2) \(q \leftarrow p*z\)(3) \(f ..
by Geol Choi | May 6, 2017이번 포스팅에서는 딥러닝 알고리즘에서 Weights를 업데이트하는 중요한 요소들 중 하나인 역전파(Backpropagation)에 대해 알아보도록 한다.개요다음과 같이 2-레이어 신경망(2-Layer Neural Network)를 예로 들어보자.그림 1. 2-레이어 신경망그림 1.은 Fully Connected 2-레이어 신경망의 예이며, x는 입력(Input), h는 은닉 레이어(Hidden Layer), y는 출력(Output)을 의미한다. 입력-은닉 레이어, 은닉 레이어-출력을 연결하는 선들은 가중치 합(Weighted Sum)을 위한 각각의 가중치, w를 의미한다. 또한 \(b_i\)는 Input → Hidden Layer의 바이어스(Bias)를, \..
by Geol Choi | Apr. 20, 2017Contents1. 소개 2. R의 딥러닝 패키지들 3. "MXNetR" 패키지 4. "darch" 패키지 5. "deepnet" 패키지 6. "H2O" 패키지 7. "deepr" 패키지 8. 패키지 비교 9. 결론 10. 참고 1. 소개딥러닝은 데이터를 고도의 비선형 모델링을 할 수 있는 머신러닝의 최신 트렌드이다. 지난 몇년간 딥러닝은 다양한 응용분야에서 막대한 모멘텀과 우세함을 얻게 되었다. 이러한 응용분야는 이미지와 음성 인식, 자율주행차, 자연어 처리 등 다양하다. 흥미롭게도 딥러닝의 대다수의 수학 컨셉은 수십년간에 걸쳐 알려져 왔다. 그러나, 이들은 딥러닝의 잠재력을 촉발시킨 최근의 발전에 의한 것이었다 (Nair and Hinton 2010;..